Commit Graph

59 Commits

Author SHA1 Message Date
Carlos Fernandez
3d18b38c32 Revert "Merge pull request #1912 from Rahul-2k4/final"
This reverts commit 2a6d27f9ff, reversing
changes made to 74e64c0421.
2026-01-18 13:28:15 -08:00
Rahul Tripathi
2bdcd20115 cleanup: Remove temporary debug, test, and tool artifacts from final branch
Remove 186 unwanted files including:
- Debug logs and diagnostic output (debug_*.log, debug_output/, diagnosis_output/)
- Test artifacts and binaries (linux/alltests_*, test_output/, test_split_verification/)
- Tool state files (.agent/, .claude/, .ralph/, .mcp.json, etc.)
- Root-level scripts and temporary Python utilities
- Working notes and temporary documentation (DVB_SPLIT_*.md, progress.json, etc.)
- Unfinished MCP server (tools/mcp-ccextractor/)
- Project-specific working notes (CLAUDE.md)

Update .gitignore to prevent re-adding unwanted artifacts.

Result: final branch now contains only DVB-split feature implementation
and core project files, matching upstream structure while preserving
all functional changes.
2026-01-16 16:18:02 +05:30
Rahul Tripathi
e36d81c237 Git Cleanup: Update .gitignore and untrack build artifacts 2026-01-07 21:38:36 +05:30
Carlos
dfd7101f54 chore: Remove plan file from repo and add plans/ to .gitignore
- Move PLAN_PR1618_REIMPLEMENTATION.md to local plans/ folder
- Add plans/ to .gitignore to keep plans local

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-31 14:18:13 +01:00
Carlos Fernandez
25162fe40a chore: Add build directories to .gitignore
Add build_*/ pattern and linux/build_scan/ to ignore various build
output directories (build_ocr/, build_ocr_asan/, etc.)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-29 21:11:51 +01:00
Carlos Fernandez Sanz
42885caedd fix(dvb): Multiple fixes for DVB subtitles - timing, OCR quality, memory access bugs (#224) (#1826)
* fix(dvb): Multiple fixes for DVB subtitle extraction from Chinese broadcasts (#224)

This commit addresses multiple issues with DVB subtitle extraction reported in #224:

1. **PMT parsing crash fix** (ts_tables.c):
   - Added minimum length check (16 bytes) to prevent out-of-bounds access
   - Added bounds check before memcpy to prevent buffer overflow when section > 1021 bytes

2. **Negative subtitle timing fix** (general_loop.c):
   - For DVB subtitle streams, properly initialize min_pts from audio/subtitle PTS
   - This fixes the issue where all timestamps were negative (~95000 seconds off)

3. **OCR improvements** (ocr.c):
   - Fixed ignore_alpha_at_edge() which could create invalid crop windows
   - Added image inversion for DVB subtitles (light text on dark background)
     to improve Tesseract OCR accuracy
   - Added contrast normalization to further improve character recognition
   - Fixed nofontcolor check to respect --no-fontcolor parameter
   - Added iteration safety limit in color detection loop

4. **--ocrlang parameter fix** (Rust files):
   - Changed ocrlang from Language enum to String to accept Tesseract language
     names directly (e.g., "chi_tra", "chi_sim", "eng")
   - Added case-insensitive matching for --dvblang parameter
   - Added better error messages for invalid language codes

Tested with 12GB Chinese DVB broadcast file:
- Timing: All timestamps now positive (0.235s, 2.594s, etc.)
- OCR: ~80-90% accuracy with chi_tra traineddata (improved from ~70%)
- No crashes during full file processing

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix(ocr): Fix crashes in DVB subtitle color detection

Two issues fixed in the OCR color detection code:

1. Tesseract crash during iteration:
   - The color detection pass used raw color images without preprocessing
   - Tesseract expects dark text on light background, but DVB subtitles
     have light text on dark background
   - Added grayscale conversion, inversion, and contrast enhancement
     (same preprocessing as the main OCR pass)

2. Heap corruption in histogram calculation:
   - The histogram loop had no bounds checking on array accesses
   - Tesseract could return invalid bounding boxes causing buffer overflows
   - Added validation of bounding box coordinates before processing
   - Added safe index checking for copy->data and histogram arrays

Also added skip_color_detection label for clean error handling and
proper cleanup of the preprocessed image.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix(dvb): Fix zero-duration subtitles and overlaps during PTS jumps

Add start_pts field to cc_subtitle struct to track raw PTS values
independent of FTS timeline resets. Modify end_time calculation in
dvbsub_handle_display_segment() to cap duration at 4 seconds when
PTS jumps cause timeline discontinuities, preventing zero-duration
and overlapping subtitles.

Also update .gitignore to exclude plans/ directory and temp files.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-14 20:03:55 -08:00
Deepnarayan Sett
4b5f68a6a4 [FEAT] Remove share module (#1737)
* replaced nanomsg with nanomsg_sys

* feat: Share Module - squash commits

* Share Module: Added Documentation

* Share Module: Removed Sharing Service

* Share: formatting issues

* Share: failing CI

* Share: failing CI

* Share: Removed protobuf

* Share Module: Update CHANGES.txt

* Share Module: Update Cargo.lock

* Share Module: Update CHANGES.txt

* Share Module: Update Cargo.toml

* Share Module: Update Cargo.toml
2025-08-24 23:23:44 +05:30
Prateek Sunal
9340cc7df6 [rust] add parser (#1619)
* feat: unpack gpac

* fix: linux ci

* fix: mac build

* fix: remove unused [no ci]

* fix: ignore config.h [no ci]

* temp commit, will drop this soon

* fix: install gpac

* fix: gpac

* fix: formatting

* fix: preproccessor directive

* fix: comment display version for now

* fix: display dlls code

* fix: bundle vcruntime in hardsubx windows

* fix: again

* fix: erros in ci

* fix: ci

* fix: add vcruntime in additional dependencies

* fix: try to copy vcruntime after build

* fix: space in runtime library

* fix: remove for now [no ci]

* fix: things in vcxproj

* fix: ci for leptonica sys

* fix: docs

* fix: copy dlls on post build event

* fix: copy vcruntime after build

* feat: add arguments through clap

* fix: type of some arguments

* fix: "-" and "--" in comments

* fix: format files

* fix: add argument parsing till mkvlang

* fix: one todo item

* chore: lint fixes

* fix: nocodec value

* fix: for nocodec

* fix: add cfg feature for hardsubx

* feat: complete till startcreditstext

* fix: add more notes, args: option affect processed

* feat: port all till network stuff

* fix: complete almost all argument parsing

* fix: error free code

* fix: complete params port

* fix: hardsubx erros

* feat: clean up main function

* fix: pr reviews

* fix: make input,output function better

* fix: variant not used warning

* fix: warnings

* fix: all clippy warnings

* feat: add tests

* feat: add tests

* chore: lint fixes

* fix: move unit tests to correct folder

* fix: remove unncessary files

* fix: make function for parse_args

* fix: review changes

* fix: Impl CcxOptions whenever I could

* fix: try to convert rust to c

* chore: push c code

* fix: add more rust to c conversions

* fix: use set methods for bitfield

* fix: errors

* fix: arguments parsing

* fix: all issues

* fix: many errors

* chore: lint fix

* fix: err

* fix: unsafe function error

* fix: unsafe warning

* fix: safety lint

* chore: add docs

* fix: windows build

* fix: function

* fix: dependencies

* fix: set_binary_mode

* chore: lint fix

* fix: set_binary_mode for windows

* fix: error

* fix: undefined reference error

* chore: remove comment

* fix: output field

* chore: fix lint

* fix: ru1, ru2, ru3

* fix: undef before

* fix: parameter and update deps

* chore: update vcpkg

* feat: add release-with-debug profile

* fix; uncomment code

* fix: update visual studio to 2022

* chore: update docs

* fix: use default vcpkg

* fix: caching logic on release ci

* fix: vcpkg caching

* fix: add setup vcpkg

* chore: remove unneccesary formatting

* fix: Always write 2 bytes for UTF-16BE

* fix: formatting

* feat: add rest of the notes to bring continuity

* fix: remove extra line

* fix: add hardsubx note

* fix: source code format error

* chore: lint fixes acc to rustfmt

* feat: add unit test ci

* fix: conversion of strings, add file queue handling

* fix: decoder cfg

* fix: update dependencies

* chore: lint fix

* chore: add safety doc

* fix: default value for CcxOptions

* fix(rust): default value for teletext

* fix: leptonica version for windows

* fix: format errors

* fix: workflow

* Revert "fix: leptonica version for windows"

This reverts commit 461ef55e7b.

* fix: pin ffmpeg to 6 for mac

* fix(parser): default values and unwrap's

* fix(parser): hardsubx fixes

* chore(parse): lint fixes

* fix(windows): switch back to sdk 2019

* fix(workflow): windows workflow revert

* fix(windows): revert to old files which were working before

* fix(workflow): pin vcpkg packages

* chore(rust): downgrade leptonica

* fix(windows): move vcpkg.json to correct place

* fix(windows): improve vcxproj

* fix(windows): workflow

* fix(windows): workflow

* fix(windows): workflow clone from vcpkg everytime

* fix(workflow): error

* fix(workflow): don't skip building vcpkg

* fix: remove depth from vcpkg

* temporary commit

* fix(windows): pin gpac and use local vcpkg manifest properly

* fix(windows): install vcpkg dependencies manually

* fix(windows): update dll names

* fix(windows); dependencies copy

* fix(windows): don't continue on error for release

* fix(macos): build ffmpeg for mac workflow

* fix: move ffmpeg to current workspace

* fix: re-add profile for windows

* fix: pkg config for mac

* fix(mac): use ffmpeg@6 from brew

* fix(macos): there is no ffmpeg_prebuilt

* fix(macos): specify ffmpeg pkg config

* fix(macos): globally define pkg config

* fix(macos): add ffmpeg include and libs dir

* fix(macos): include ffmpeg headers in makefile

* fix: include ffmpeg libraries and include directories

* fix: try to manually specify ffmpeg header in rust

* fix: also include leptonica headres

* fix: leptonica name

* fix: test

* fix: string null when output_filename is empty

* fix: error

* fix: remove cflgas

* fix(mac): disable cmake ocr hardsubx

* chore: update gitignore

* fix: null if string is empty

* fix: allow --in

* chore: bump version to 1.0 in rust

* chore: add space to trigger sp

* fix: don't panic with rust

* fix: add double dashes to indicate parameters

* chore: update CHANGES.txt

* fix: test

* fix(workflow): update workflow name

* fix(rust): linux output_filename in sampleplatform

* fix(rust): parser default values

* fix(rust): exit with MalformedParameter instead of panic

* fix(decoder): revert always write 2 bytes

* chore(rust): format

* chore: update lock file

* fix(test): test lib_ccxr and rename to test

* fix(mac): remove failing cmake_ocr test

* fix: ci errors

* fix: feature related changes

* fix: trim down default features

* fix: don't check clippy for all features
2024-08-10 12:55:21 +02:00
Ishan Grover
f12f12b916 [FEAT] Create lib_ccxr and libccxr_exports (#1621)
* create lib_ccxr and libccxr_exports

* chore: Fix bindgen crate version

* chore: Fix rsmpeg crate version

* docs: Add PR info in Changelogs

---------

Co-authored-by: Elbert Ronnie <elbert.ronniep@gmail.com>
2024-07-03 10:31:39 -07:00
Prateek Sunal
aa4a76a941 [FEAT] Use system gpac library instead of vendoring gpacmp4 (#1535)
* feat: unpack gpac

* fix: linux ci

* fix: mac build

* fix: remove unused [no ci]

* fix: ignore config.h [no ci]

* temp commit, will drop this soon

* fix: install gpac

* fix: gpac

* fix: formatting

* fix: preproccessor directive

* fix: comment display version for now

* fix: display dlls code

* fix: bundle vcruntime in hardsubx windows

* fix: again

* fix: erros in ci

* fix: ci

* fix: add vcruntime in additional dependencies

* fix: try to copy vcruntime after build

* fix: space in runtime library

* fix: remove for now [no ci]

* fix: things in vcxproj

* fix: ci for leptonica sys

* fix: docs

* fix: copy dlls on post build event

* fix: copy vcruntime after build
2023-08-17 20:03:03 +00:00
Prateek Sunal
0264e7da2b [IMPROVEMENT] Update Rust and fix windows build (#1480)
* fix: bump leptonica-sys to 0.4.3 and update Cargo.lock

* fix: bump rust version to 1.57.0 and build vcpkg for window hardsubx builds

* fix: add Bcrypt dependency

* fix: switch to rust stable

* chore: bump package versions

* fix: try to remove i686 to fix error

* fix: install tesseract and lint fixes

* fix: try using ffmpeg the third

* fix: include headers

* fix: add rsmpeg

* fix: switch default triplet to static md

* fix: import errors

* fix: directory path

* fix: pre build commands

* fix: update vcxproj

* fix: linux ci

* fix: ci fixes

* chore: lint fixes

* fix: error

* fix: copy include files

* fix: ci error

* fix: link swresample lib

* fix: some errors

* fix: include directory path and include all libraries

* fix: try to add library directories

* fix: fixes in libraries

* fix: formatting ci

* fix: mflat errors

* fix: libcurl

* fix: preprocessor definitions

* fix: add libcrypto

* fix: remove lib_hash to fix conflicts (we have libcrypto already)

* fix: add avcodec and avformat dependencies on windows

* fix: add remaining deps that may fix the build

* fix: add crypt depdency

* fix: rename conflicting names

* Revert "fix: remove lib_hash to fix conflicts (we have libcrypto already)"

This reverts commit f57ff716ed.

* fix: prefix with CC_

* fix: post build actions

* fix: ocr error

* Revert "fix: ocr error"

This reverts commit 92599454b6.

* fix: xcopy error

* fix: generated file name for x64

* fix: ocr error

* fix: add item group at top to see if it works

* fix: remove unwanted headers, removed \\ from VCPKG_ROOT, remove unwanted includes in vcxproj

* fix: add libpng for non hardsubx, comment the broken ocr code again

* fix: libpng path

* feat: add lib png headers in ClCompile

* fix: png.h not found

* fix: last try for ocr fix

* fix: libpng not found

* fix: cl compile headers

* fix: libpng and ocr

* fix: libpng error

* fix: redefinition error

* fix: zlib for non hardsubx

* fix: lib names

* fix: zlib.h not found
2023-03-12 13:45:21 -07:00
Shashwat Singh
689d92ab59 put generated files of the rust project in the .gitignore (#1441) 2022-06-07 19:50:35 +00:00
Aditya Pratap Singh
c3fc323150 [IMPROVEMENT] Deprecated the --with-gui flag for linux/configure and mac/configure (#1415)
* Deprecated the --with-gui flag for linux/configure and mac/configure

* Update docs/CHANGES.TXT

Co-authored-by: Willem <github@canihavesome.coffee>

Co-authored-by: Willem <github@canihavesome.coffee>
2022-03-07 13:20:11 +01:00
Carlos Fernandez Sanz
fa8b0a3023 Build with Bazel (#1316)
Initial Bazel build files

Co-authored-by: Willem <github@canihavesome.coffee>
Co-authored-by: Divyam Ahuja <39771050+DivyamAhuja@users.noreply.github.com>
2021-04-04 16:07:12 -07:00
Samuel Deng
7b4bf0b15a **[FIX]** Fix typos; **[IMPROVEMENT]** Update .gitignore for Visual Studio databases (#1052)
* Fix many typos

* Ignore Visual Studio temporary project files

* Log previous 2 commits in CHANGES.TXT
2018-12-11 12:29:21 -08:00
Anshul Maheshwari
e0b909a67e Correct compilation guide for ocr 2018-10-28 13:27:45 +05:30
Sourav Sahoo
393fbd30b0 [IMPROVEMENT] Corrected the tags file format of ctags in .gitignore (#908)
* Added tags file and removed the previosly wrongly writtern file

* Added .vscode to visual code section

* Added the .tags in .gitignore

* Changed *.tags to *.tags*
2018-02-23 11:36:59 -08:00
Shivam Kumar Jha
6e2ce11b26 Upgrade code to be compatible with Python 3 (#925) 2018-02-09 12:57:09 -08:00
thealphadollar
2116c4a964 Modify git-ignore 2018-01-22 21:28:22 +05:30
Mayank Gupta
4573f5e8f6 [IMPROVEMENT]Modify Autoconf scripts to generate mac compatible tarball (#798)
* Modify Autoconf scripts to generate mac compatible tarball

* Update list of GSoC 2017 students
2017-10-18 17:33:58 -07:00
Mayank Gupta
fc3f505189 Add GUI for CCExtractor (GSoC 2017) (#794) 2017-10-11 14:11:39 -07:00
AlexBratosin2001
59c0de46e2 Fix Windows project files (#782) 2017-10-02 11:58:15 -07:00
Saurabh Shrivastava
d19f471352 Correctly handle return codes. (#763)
Return code after parameter parsing were incorrectly handles leading to errors such as `Error: Invalid option to CCextractor Library`.
2017-08-21 14:11:19 -07:00
Diptanshu8
de5fcf27f3 adding .pyc to gitignore 2017-07-06 23:34:08 +00:00
Diptanshu8
7839403266 adding .so to .gitignore 2017-07-04 09:07:14 +00:00
Carlos Fernandez
735f4392dd Merge branch 'pr/n742_saurabhshri' 2017-06-05 13:22:21 -07:00
Saurabh Shrivastava
51d936bc90 Fix CMake build for windows.
Thank you linker flags for eating my 3+ hours.
2017-06-03 22:32:15 +05:30
Mayank Gupta
bc361a2e86 Add ocr, hardsubx and autotools support for mac 2017-05-11 06:19:16 +03:00
Mayank Gupta
f2755ae5bb Add .rpm package generation script 2017-04-18 16:20:15 +05:30
Abhinav Baid
83704e306f Update gitignore for pkg.tar.xz files 2017-04-10 17:33:29 +05:30
Mayank Gupta
3ecacd3fa9 Updated .gitignore and configure.ac 2017-03-19 23:25:06 +05:30
Mayank Gupta
cb42a5fc2a gitignore packages created from package creation scripts 2017-03-17 23:58:47 +05:30
Mayank Gupta
6fdd4b75e8 Updated .gitignore, README.md, added checks in configure.ac, updated package creation scripts 2017-03-17 23:18:26 +05:30
Saurabh Shrivastava
e9dd3d5845 Ignore CMake Build Stuff 2017-02-26 23:26:22 +05:30
Carlos Fernandez
883d5ccc77 Added windows/enc_temp_folder to .gitignore 2017-01-30 12:59:39 -08:00
Willem
de958c9383 Delete .DS_Store files and add it to .gitignore file 2017-01-28 18:03:22 +01:00
maxkoryukov
f23beab07e Fix error with uninitialed sbs_handled_len. Free sbs_buffer on dinit_encoder_context
* more debug for SBS
2017-01-15 22:37:51 +05:00
cfsmp3
c75fc7f1eb Readded the old windows directories to .gitignore to avoid crap being committed by mistake. 2016-12-22 19:59:55 +01:00
Evgeny
4b80441164 Renamed OCR to Full and copy ffmpeg DLLs to folder 2016-12-22 18:19:42 +03:00
Carlos Fernandez
e3ca2c3fbc Merge branch 'pr/n537_maxkoryukov' 2016-12-16 10:06:18 -08:00
maxkoryukov
66393a80f2 Break incoming subs into sentences (through a buffer), and remove duplicates 2016-12-15 20:21:43 +05:00
Carlos Fernandez
5c3e1d06c0 Merge branch 'pr/n530_Izaron' 2016-12-14 10:18:12 -08:00
Izaron
161b98ef43 Added Vagrantfile 2016-12-13 14:32:35 +03:00
canihavesomecoffee
f3faaf06f8 Add VC.db file to gitignore
Also moves the folders to the correct place
2016-12-10 08:38:43 +01:00
AlexBratosin2001
ce15155956 Updated GPAC library to v0.6.2 (#500)
Replaced GPAC.
2016-12-09 13:47:54 -08:00
bigharshrag
f778beaafd Merge branch 'master' into dvd_subtitles 2016-08-23 01:48:48 +05:30
canihavesomecoffee
b002d58259 Updates git ignore for new file
Add a git ignore for the "real" dynamic header file, remove the ignore
for the other one.
2016-07-05 17:57:47 +02:00
bigharshrag
4cafcc053e Fixes to reading PES header 2016-06-16 02:29:13 +05:30
canihavesomecoffee
04be7be06b Add OCR build support
Adds OCR build support by creating two new build configs (one debug, one
release) and some instructions about what VS expects on those configs.
2016-06-08 02:25:13 +02:00
canihavesomecoffee
410c39986b Gitignore remove blank line
-
2016-05-25 21:06:37 +02:00