Version history for CCExtractor
Changes for v0.85b - v0.87
- New: Upgrade libGPAC to 0.7.1.
- New: mp4 tx3g & multitrack subtitles.
- New: Guide to update dependencies (docs/Updating_Dependencies.txt).
- New: Add LICENSE File (#959).
- New: Display quantisation mode in info box (#954).
- New: Add instruction required to build ccextractor with HARDSUBX support (#946).
- New: Added version no. of libraries to --version.
- New: Added -quant (OCR quantization function).
- New: Python API now compatible with Python 3.
- Fix: linux/builddebug: Added non-local directories to the incluye search path so we don't
- require a locally compiled tesseract or leptonica.
- Fix: Correct -HARDSUBX Bug In CMake, allow build with hardsubx using cmake (#966).
- Fix: possible segfaults in hardsubx_classifier.c due to strdup (#963).
- Fix: Improve the start and end timestamps of extracted burned in captions (#962).
- Fix: Update COMPILATION.md (#960).
- Fix: Fixed crash with "-out=report" and "-out=null".
- Fix: -nocf not working with OCR'ing (#958).
- Fix: segfault in add_cc_sub_text and initialize to NULL in init_encoder (#950).
- Fix: ccx_decoders_common.c: Copy data type when creating a copy of the subtitle structure.
- Fix: Implicit declaration of these functions throws warning during build (#948).
- Fix: ccx_decoders_common.c: Properly release allocated resources on free_subtitle().
- Fix: Added a datatype member to struct cc_subtitle - needed so we can properly free all
- memory when void *data points to a structure that has its own pointers.
- Fix: dvb_subtitle_decoder.c: When combining image regions verify that the offset is
- never negative.
- Fix: Updated traivis.yml to fix osx build (#947).
- Fix: Add utf8proc src file to cmake, updated header file (#944).
- Fix: Added required pointers on freep() calls.
- Fix: Removed dvb_debug_traces_to_stdout and used the usual dbg_print instead.
- Fix: Additional debug traces for DVB.
- Fix: Fix minor memory leak in ocr.c.
- Fix: Fix issue with displaying utf8proc version.
- Fix: Fix failing cmake due to liblept/tesseract header files.
- Fix: Added missing n in params.c.
- Fix: builddebug: Use -fsanitize=address -fno-omit-frame-pointer.
- Fix: ccx_decoders_common.c: Removed trivial memory leak.
- Fix: ccx_encoders_srt.c: Made sure a pointer is non-NULL before dereferencing.
- Fix: dvb_subtitle_decoder.c: Initialize pointer members to NULL when creating a structure.
- Fix: lib_ccx.c: Initialize (memset 0) structure cc_subtitle after memory allocation.
- Fix: Added verboseness to error/warnings in dvb_subtitle_decoder.c.
- Fix: dvb_subtitle_decoder.c: Work on passing invalid streams errors upstream (plus some
- warning messages) so we can eventually recover from this situation instead of crashing.
- Fix: telxcc.c: Currently setting a colour doesn't necessarily add a space even though the
- specifications mandate it. (#930).
- Fix: dvb_subtitle_decoder.c: Fix null pointer derefence when region==NULL in write_dvb_sub.
- Fix: DVB Teletext subtitle incomplete.
- Fix: replace all 0xA characters within startbox with 0x20.
- Fix: DVB Teletext subtitle incomplete (#922).
- Fix: Add missing return value to one of the returns in process_tx3g().
- Fix: Typos and other minor bugs.
- Fix: Tidy CMakeLists & vcxproj (#920).
- Fix: Added m2ts and -mxf to help screen.
- Fix: Added MKV to demuxer_print_cfg.
- Fix: Added MXF to demuxer_print_cfg.
- Fix: "Out of order packets" error had wrong print() parameters.
- Fix: Updated Python documentation.
- Fix: Fix incorrect path in XML (#904).
- Fix: linux build script (non-debug): Don't hide warnings from compiler.
- Fix: linux build script (debug): Display what's step of the build script we're in.
- Fix: Make the build reproducible (#976).
- Fix: Remove instance of o1 and o2 from help.
- Fix: Colors of DVB subtitles with depth 2 broken due to a missing break.
- Fix: CEA-708: Caption loss due to CW command (#991).
- Fix: CEA-708: Update patch for windows priority with functions (#990).
Changes for v0.78 - v0.79
- - Support for Grid Format (g608)
- - Show Correct number of teletext packet processed
- - Removed Segfault on incorrect mp4 detection
- - Remove xml header from transcript format
- - Help message updated for Teletext
- - Added --help and -h for help message
- - Added --nohtmlescape option
- - Added --noscte20 option
Changes for v0.76 - v0.77
- - Fixed bug in capitalization code ('I' was not being capitalized).
- - GUI should now run in Windows 8 (using the include .Net runtime, since 3.5 cannot be installed in Windows 8 apparently).
- - Fixed Mac build script, binary is now compiled with support for files over 2 GB.
- - Fixed bug in PMT code, damaged PMT sections could make CCExtractor crash.
Changes for v0.74 - v0.75
- It includes lots of new things, such as an OCR to export DVB to text. The Windows package includes the OCR and its support files - that's why it's so large now.
Changes for v0.64 - v0.65
Changes for v0.63 - v0.64
- Changed Window GUI size (larger).
- Added Teletext options to GUI.
- Added -teletext to force teletext mode even if not detected
- Added -noteletext to disable teletext detection. This can be needed for streams that have both 608 data and teletext packets if you need to process the 608 data (if teletext is detected it will take precedence otherwise).
- Added -datapid to force a specific elementary stream to be used for data (bypassing detections).
- Added -ru2 and -ru3 to limit the number of visible lines in roll-up captions (bypassing whatever the broadcast says).
- Added support for a .hex (hexadecimal) dump of data.
- Added support for wtv in Windows. This is done by using a new program (wtvccdump.exe) and a new DirectShow filter (CCExtractorDump.dll) that process the .wtv using DirecShow's filters and export the line 21 data to a .hex file. The GUI calls wtvccdump.exe as needed.
- Added --nogoptime to force PTS timing even when CCExtractor would use GOP timing otherwise.
Changes for v0.62 - v0.63
- Telext support added, by integrating Petr Kutalek's telxcc. Integration is still quite basic (there's equivalent code from both CCExtractor and telxcc) and some clean up is needed, but it works. Petr has announced that he's abandoning telxcc so further development will happen directly in CCExtractor.
- Some bug fixes, as usual.
Changes for v0.58 - v0.59
- More AVC/H.264 work. pic_order_cnt_type != 0 will be processed now.
- Fix: Roll-up captions with interruptions for Text (with ResumeTextDisplay in the middle of the caption data) were missing complete lines.
- Added a timed text transcript output format, probably only useful for roll-up captions. Use --timedtranscript or -ttxt. Output is like this:
- 00:01:25,485 | HOST: LAST NIGHT THE REPUBLICAN
- 00:01:29,522 | HOPEFULS INTRODUCE THEMSELVES TO
- 00:01:30,623 | PRIMARY VOTERS.
- XDS parser. Not complete (no point in dealing with V-Chip stuff for example), but enough to extract program and station information.
- Input streams can now come from standard input using - (just an hyphen) as parameter.
- Added a new output format called 'null' (use -null or -out=null). This format means "Don't produce any file", and is useful to have CCExtractor process the stream (for XDS messages, debugging, etc) without actually generating anything.
- Updated Windows GUI.
- Added -quiet => If used, CCExtractor will not write any message.
- Added -stdout => If used, the captions will be sent to stdout (console) instead of file. Combined with -, CCExtractor can work as a filter in a larger process, receiving the stream from stdin and sending the captions to stdout.
- Some code clean up, minor refactoring.
- Teletext detection (not yet processing).
Changes for v0.53 - v0.54
- Add -nosync and -fullbin switches for debugging purposes.
- Remove -lg (--largegops) switch.
- Improve syncronization of captions for source files with jumps in their time information or gaps in the caption information.
- [R. Abarca] Changed Mac script, it now compiles/link everything from the /src directory.
- It's now possible to have CCExtractor add credits automatically.
- Added a feature to add start and end messages (for credits). See help screen for details.
Changes for v0.52 - v0.53
- Force generated RCWT files to have the same length as source file.
- Fix documentation for -startat / -endat switches.
- Make -startat / -endat work with all output formats.
- Fix sync check for raw/rcwt files.
- Improve timing of dvr-ms NTSC captions.
- Add -in=bin switch to read CCExtractor's own binary format.
- Fix problem with short input files (smaller 1MB).
- Clean up regular and debug output.
- Add --no_progress_bar switch to help readability of redirected output.
- Add -out=bin switch to write RCWT data.
- Remove -bo/--bufferoutput switch and functionality.
- [Volker] Added new generic binary format (RCWT for Raw Captions With Time). This new format allows one file to contain all the available closed caption data instead of just one stream.
- Added --no_progress_bar to disable status information (mostly used when debugging, as the progress information is annoying in the middle of debug logs).
- The Windows GUI was reported to freeze in some conditions. Fixed.
- The Windows GUI is now targeted for .NET 2.0 instead of 3.5. This allows Windows 2000 to run it (there's not .NET 3.5 for Windows 2000), as requested by a couple of key users.
Changes for v0.50 - v0.52
- Removed -autopad and -goppad, no longer needed.
- In preparation to a new binary format we have renamed the current .bin to .raw. Raw files have only CC data (with no header, timing, etc).
- The input file format (when forced) is now specified with -in=format such as -in=ts, -in=raw, -in=ps ...
- The old switches (-ts, -ps, etc) still work. The only exception is -bin which has been removed (reserved for the new binary format). Use -in=raw to process a raw file.
- Removed -d, which when produced a raw file used a DVD format. This has been merged into a new output type "dvdraw". So now instead of using -raw -d as before, use -out=dvdraw if you need this.
- Removed --noff
- Added gui_mode_reports for frontend communications, see related file.
- Windows GUI rewritten. Source code now included, too.
- [Volker] Dish Network clean-up
Changes for v0.49 - v0.50
- [Volker] Fix in DVR-MS NTSC timing
- [Volker] More clean-up
- Minor fixes
Changes for v0.46 - v0.49
- [Volker] Major MPEG parser rework. Code much cleaner now.
- Some stations transmit broken roll-up captions, and for some reason don't send CRs but RUs... Added work-around code to make captions readable.
- Started work on EIA-708 (DTV). Right now you can add -debug-708 to get a dump of the 708 data. An actually useful decoder will come soon.
- Some of the changes MIGHT HAVE BROKEN MythTV's code. I don't use MythTV myself so I rely on other people's samples and reports. If MythTV is broken please let me know.
- Added new debug options.
- Other minor bugfixes and changes.
Changes for v0.4.5 - v0.46
- Added support for live streaming, ccextractor can now process files that are being recorded at the same time.
- [Volker] Added a new DVR-MS loop - this is completely new, DVR-MS specific code, so we no longer use the generic MPEG code for DVR-MS. DVR-MS should (or will be eventually at least) be as reliable as TS. Note: For now, it's only ATSC recordings, not NTSC (analog) recordings.
Changes for v0.44 - v0.4.5
- Added autodetection of DVR-MS files.
- Added -asf to force DVR-MS mode.
- Added some specific support for DVR-MS files. These format used to work correcty in 0.34 (pure luck) but the MPEG code rework broke it. It could work as it used to.
- Updated Windows GUI to support the new options.
- Added -lg --largegops from the help screen: Each Group-of-Picture comes with timing information. When this info is too separate (for example because there are a lot of frames in a GOP) ccextractor may prefer not to use GOP timing. Use this option is you need ccextractor to use GOP timing in large GOPs.
Changes for v0.4.3 - v0.44
- Added an option to the GUI to process individual files in batch, i.e. call ccextractor once per file. Use it if you want to process several unrelated files in one go.
- Added an option to prevent duplicate lines in roll-up captions.
- Several minor bugfixes.
- Updated the GUI to add the new options.
Changes for v0.42 - v0.4.3
- Fixed a bug in the read loop (no less) that caused some files to fail when reading without buffering (which is the default in the linux build).
- Several improvements in the GUI, such as saving current options as default.
Changes for v0.40 - v0.4.1
- Default output is now .srt instead of .bin, use -raw if you need the data dump instead of .srt.
- Added -trim, which removes blank spaces at the left and rights of each line in .srt. Note that those spaces are there to help deaf people know if the person talking is at the left or the right of the screen, i.e. there aren't useless. But if they annoy you go ahead...