SCC Tools Version History

Components of SCC Tools (bold means changed by latest update):

CCADJ
VersionDateChanges
2.8January 7, 2005
  • Added -m argument to multiply against all timecodes.
2.7.2January 2, 2004
  • Updated e-mail and web addresses
2.7.1August 13, 2003
  • Fixed rounding bug in timecode conversions introduced by 2.7.
2.7August 11, 2003
  • Fixed bug in timecode conversions introduced by 2.6.
2.6July 27, 2003
  • Fixed logic for drop-type timecodes (hopefully once and for all).
2.1February 13, 2003
  • Thanks to Dan Wilson, I have corrected a basic misunderstanding concerning the definition of "non-dropframe" vs. "dropframe" timebases. This led to corrections to the internal calculations of all six tools, the addition of a -td argument to set the timebase to dropframe, and the ability to read and output dropframe timecodes (which change the last colon into a semicolon: HH:MM:SS;FF).
2.0February 9, 2003 (No change)
1.3January 19, 2003
  • Fixed another bug in -o that wouldn't allow negative offsets.
1.2October 13, 2002
  • Able to handle double-spaced SCC files now.
  • Fixed bug in -o that wouldn't allow negative offsets.
  • Clarified usage note for negative timecodes.
1.1August 24, 2002
  • Fixed bug of invalid timecodes (such as 00:08:11:30).
  • Added check for timecodes that are out of order.
1.0April 13, 2002
  • Initial release
CCASDI
VersionDateChanges
3.5May 5, 2005
  • Fixed numerous XDS bugs, including using the wrong filler byte (0x80 instead of 0x40). Fixed XDS page to match. Also replaced xds.bin file in sample directory. Thanks to Ji-Liang Song for spotting this problem.
3.4February 25, 2005
  • Fixed character set comparison (was always using ITV set).
3.3.1January 27, 2005
  • Bug fix to catch lines dropped by 3.3.
3.3January 25, 2005
  • Fixed subtitle output to only include one channel.
3.2October 23, 2004
  • Fixed spacing problem for CCD->SCC conversion
3.1September 4, 2004
  • Fixed subtitle export to handle roll-up and paint-on captions properly.
  • Swapped definitions of single right and single left quotation marks ({rsq} and {lsq}).
3.0March 17, 2004
  • Numerous fixes to XDS format, causing CCD format to go to 1.2:
    • Fixed definition of XDS class bytes and added continuation class bytes (all but Current were wrong).
    • Added support for interrupted and resumed XDS packets.
    • Changed beginning of XDS checksum from C to \C.
    • XDS ST, MD, TD, IC and CH fields re-arranged to allow interruption.
    • XDS ST, MD, TD, TM and IC Tape Delay character changed from D to T.
    • XDS ST, MD, TD and IC No Leap Day character changed from N to A.
    • XDS PR system change: CE=0x18, CF=0x38 for byte 3, no byte 4 change.
    • XDS AR changed 16:9/4:3 to A/_.
    • XDS MD and NC split Call Letters with space to get Channel Number.
  • Added definitions for Channel 3 and 4 codes, where they differ from Channel 1/2.
  • Added remaining channels to -c option
2.10February 15, 2004
  • Added subtitle export format of Adobe Encore, which is set by using a file extension of .txt.
2.9January 2, 2004
  • Updated e-mail and web addresses
  • Added support for the following codes: {CSS}, {CSD}, {CS1}, {CS2}, {CSC}, {CSK}, and {CGU}.
  • Added support for the following XDS types: PD and MD (for Current and Future classes); TS (for the cHannel class); CP, CH and CM (for the Miscellaneous class); and WB and WM (for the Public Service class).
2.8October 7, 2003Fixed the following formatting bugs with -s output:
  • A line with italics or underline in the middle would lose the part before the formatting.
  • Color codes did not reset italics and underline formatting like they should.
  • End of italics or underline formatting was not being output.
  • Entire lines that were italicized or underlined were not having each line separately formatted.
  • Formatting codes (colors, italics, and underline, on or off) are supposed to insert a space.
2.7.2September 17, 2003
  • Fixed bug that dropped odd captions during the -s conversion when there was no gap between captions.
2.7.1August 13, 2003
  • Fixed rounding bug in timecode conversions introduced by 2.7.
2.7August 11, 2003
  • Fixed bug in timecode conversions introduced by 2.6.
  • Changed -s function to output subtitles. Default is SubRip format (changing extension from .SCC to .SRT). By providing the name of an output file with the appropriate extension, the subtitles can also be in MicroDVD format (.SUB), SAMI format (.SMI), PowerDivX format (.PSB), Sub-Station Alpha format (.SSA) or Advanced Sub-Station format (.ASS). My thanks to Gabest for posting the source code of his VobSub tool online for me to study, since this routine is basically his code translated from C++ to Perl.
2.6July 27, 2003
  • Fixed logic for drop-type timecodes (hopefully once and for all).
  • Undocumented XDS formats will now be input/output as hex-dumps without crashing the program, as it appears that at least one DVB format uses them.
2.1February 13, 2003
  • Thanks to Dan Wilson, I have corrected a basic misunderstanding concerning the definition of "non-dropframe" vs. "dropframe" timebases. This led to corrections to the internal calculations of all six tools, the addition of a -td argument to set the timebase to dropframe, and the ability to read and output dropframe timecodes (which change the last colon into a semicolon: HH:MM:SS;FF).
2.0February 9, 2003
  • With the exception of CCADJ, all tools are now able to handle leaving off the output file argument, by making a reasonable guess based on the input name (for example, running CCASDI with an argument of "captions.scc" will produce an output file of "captions.ccd"). If you want an output name different than the default, you can still provide it as the last argument.
  • First version to create CCD version 1.1 (which can handle ITV and XDS codes).
  • Yet another try at the negative timecodes problem. Hopefully, this will fix the problem.
  • The "timecodes out of order" error message now reports the line number of the input file where the problem was found.
  • The program now assumes that the channel is 1, which allows it to handle XDS codes.
1.3January 19, 2003
  • Fixed another bug in -o that wouldn't allow negative offsets.
1.2.1November 19, 2002
  • Corrected mis-naming of the -a flag (incorrectly named -p in 1.2).
1.2October 13, 2002
  • Made SCC output file double-spaced to conform with SCC specification (CCD files remain single-spaced).
  • Fixed translation of box corner extended characters.
  • Fixed bug with SCC->CCD when first timecode is 00:00:00:00.
  • Added -a flag to adjust display times to start times (CCD to SCC) and start times to display times (SCC to CCD).
  • Fixed bug in -o that wouldn't allow negative offsets.
1.1August 24, 2002
  • Fixed bug of invalid timecodes (such as 00:08:11:30).
  • Added check for timecodes that are out of order.
1.0April 13, 2002
  • Initial release
RAW2SCC
VersionDateChanges
2.10February 25, 2005
  • Channel changes in the raw file now force a new line.
2.9September 22, 2004
  • Trimmed 8080 (null) codes off the end of SCC lines.
  • A line break will now be added whenever two or more null codes are found in a row in the middle of a line. This limit can be changed with the new -l parameter (-l8 to increase it to 8 null codes in a row, for example).
2.8March 17, 2004
  • Added in new Channel 3 & 4 codes for line-splitting.
2.7.2January 2, 2004
  • Updated e-mail and web addresses
2.7.1August 13, 2003
  • Fixed rounding bug in timecode conversions introduced by 2.7.
2.7August 11, 2003
  • Fixed bug in timecode conversions introduced by 2.6.
2.6July 27, 2003
  • Fixed logic for drop-type timecodes (hopefully once and for all).
  • Added ability to extract Field 2 from DVD-style input files.
  • Put each XDS sequence on its own line in the SCC output.
2.1February 13, 2003
  • Thanks to Dan Wilson, I have corrected a basic misunderstanding concerning the definition of "non-dropframe" vs. "dropframe" timebases. This led to corrections to the internal calculations of all six tools, the addition of a -td argument to set the timebase to dropframe, and the ability to read and output dropframe timecodes (which change the last colon into a semicolon: HH:MM:SS;FF).
2.0February 9, 2003
  • With the exception of CCADJ, all tools are now able to handle leaving off the output file argument, by making a reasonable guess based on the input name (for example, running CCASDI with an argument of "captions.scc" will produce an output file of "captions.ccd"). If you want an output name different than the default, you can still provide it as the last argument.
  • When parsing data, a new line will be started if the mode is switched, for example from pop-on captions to text captions.
1.3January 19, 2003
  • Fixed another bug in -o that wouldn't allow negative offsets.
1.2October 13, 2002
  • Made SCC output file double-spaced to conform with SCC specification.
  • Removed 40-code (80-character) line limit, so each SCC line will now always be the start of a caption or a caption clear.
1.1August 24, 2002
  • Fixed bug of invalid timecodes (such as 00:08:11:30).
1.0April 13, 2002
  • Initial release
SCC_RIP (no longer being maintained)
VersionDateChanges
3.0March 17, 2004
  • Improved DVD 0xff, 0xff algorithm in case pattern is not 0x80 (thanks to Keith Hui).
  • Added in Channel 3 & 4 codes for SCC line-splitting.
2.8.1February 17, 2004
  • Fixed open file handle for DVD-format output.
  • Swapped documentation for ReplayTV 4000 & 5000 models (this change was invisible to the user).
2.8February 11, 2004
  • Added ability to handle DVD-style captions with 0xff, 0xff pattern (produced by Hauppauge WinTV-250 and Panasonic DMR E-50, among others).
  • fixed major bug with DVD format that would lead to empty output
2.7.2January 2, 2004
  • Updated e-mail and web addresses
  • Tool made obsolete by CCExtract, which does the same job a lot faster.
2.7.1August 13, 2003
  • Fixed rounding bug in timecode conversions introduced by 2.7.
2.7August 11, 2003
  • Fixed bug in timecode conversions introduced by 2.6.
  • Added ability to rip captions from MPEG's produced by the 5000 series of ReplayTV receivers (previous code only supported 4000 series).
2.6July 27, 2003
  • Fixed logic for drop-type timecodes (hopefully once and for all).
  • Added ability to extract Field 2 from those formats that support it (DVD and ReplayTV).
  • Put each XDS sequence on its own line in the SCC output.
2.5May 17, 2003
  • New name for DVB2SCC.
  • Added logic to rip captions from DVD MPEG files.
  • Fixed DVD file creation logic so output works with CCParser.
  • Added -td flag to output dropframe timecodes.
  • Set to exit without creating the SCC file if no captions are found.
DVB2SCC
VersionDateChanges
2.4May 10, 2003
  • Added more binmode statements where needed, which should fix the problem of the program terminating early.
2.3May 8, 2003
  • DishTV: Figured out that captions were being transmitted in GOP, not chronological order. Captions are now output in the correct order.
  • DishTV: Fixed incorrect repeating of caption codes (the repeat code should only apply to commands, not character pairs).
2.2April 13, 2003
  • Added tool to package (support for ReplayTV captions, with DishTV not working).
SCC2RAW
VersionDateChanges
2.7.2January 2, 2004
  • Updated e-mail and web addresses
  • Changed default output file extension from .dat to .bin.
2.7.1August 13, 2003
  • Fixed rounding bug in timecode conversions introduced by 2.7.
2.7August 11, 2003
  • Fixed bug in timecode conversions introduced by 2.6.
2.6July 27, 2003
  • Fixed logic for drop-type timecodes (hopefully once and for all).
  • Added ability to insert Field 2 data into DVD-style output.
  • Changed -s parameter to -o, to match the other tools.
2.1February 13, 2003
  • Thanks to Dan Wilson, I have corrected a basic misunderstanding concerning the definition of "non-dropframe" vs. "dropframe" timebases. This led to corrections to the internal calculations of all six tools, the addition of a -td argument to set the timebase to dropframe, and the ability to read and output dropframe timecodes (which change the last colon into a semicolon: HH:MM:SS;FF).
2.0February 9, 2003
  • With the exception of CCADJ, all tools are now able to handle leaving off the output file argument, by making a reasonable guess based on the input name (for example, running CCASDI with an argument of "captions.scc" will produce an output file of "captions.ccd"). If you want an output name different than the default, you can still provide it as the last argument.
  • Changed argument list to resemble that of the other tools.
  • The "timecodes out of order" error message now reports the line number of the input file where the problem was found.
1.2October 13, 2002
  • Able to handle double-spaced SCC files now.
  • Fixed rounding error in timecodes.
1.1August 24, 2002
  • Initial release
SUBRIP2SCC
VersionDateChanges
2.9February 14, 2004
  • Added logic to convert "*" to note character and -k option to not do it.
  • Moved display line timecodes up by 2 frames to fix timing problem.
  • Fixed logic for positioning of clear code in middle of display line.
2.8.1January 2, 2004
  • Updated e-mail and web addresses
2.8October 7, 2003
  • Fixed handling of subtitles with no gap between them so that the resulting output would work with SCC2RAW.
2.7.1August 13, 2003
  • Fixed rounding bug in timecode conversions introduced by 2.7.
2.7August 11, 2003
  • Fixed bug in timecode conversions introduced by 2.6.
2.6July 27, 2003
  • Fixed logic for drop-type timecodes (hopefully once and for all).
2.2May 6, 2003
  • Fixed a problem with line numbering that was putting bottom rows too high on the screen.
  • Fixed a problem where processing would stop if a space were found at position 32 in a line.
  • Clarified the error message that displays if a 3-line subtitle is found.
2.1February 13, 2003
  • Thanks to Dan Wilson, I have corrected a basic misunderstanding concerning the definition of "non-dropframe" vs. "dropframe" timebases. This led to corrections to the internal calculations of all six tools, the addition of a -td argument to set the timebase to dropframe, and the ability to read and output dropframe timecodes (which change the last colon into a semicolon: HH:MM:SS;FF).
2.0February 9, 2003
  • Added tool to package.
  • With the exception of CCADJ, all tools are now able to handle leaving off the output file argument, by making a reasonable guess based on the input name (for example, running CCASDI with an argument of "captions.scc" will produce an output file of "captions.ccd"). If you want an output name different than the default, you can still provide it as the last argument.
VOBSUB2SCC
VersionDateChanges
3.1September 26, 2004
  • The tool now remembers which of two packets with the same timestamp had captions, and repeats that choice for all-null packets until the next caption packet is found. This fixes a timing issue that occurs when you select the same all-null packet each time.
3.0September 22, 2004
  • Completely re-wrote parsing algorithm to handle duplicate captions (method used in 2.8 and 2.9 was wrong).
  • Dropped -1 and -2 parameters, as duplicate captions can now be detected and removed without user intervention.
  • Fixed file naming for .sub.cc.raw files (i.e. VTS01.sub.cc.raw will now generate VTS01.bin and VTS01.scc instead of VTS01.sub.bin and VTS01.sub.scc).
2.9September 21, 2004
  • Added in Channel 3 & 4 codes for SCC line-splitting (from RAW2SCC 2.8).
  • Trimmed 8080 (null) codes off of end of SCC lines (from RAW2SCC 2.9).
  • Broke SCC line anytime more than 2 null codes in a row are found (this limit can be changed with the new parameter -l (see RAW2SCC version 2.9).
  • Changed -d1 and -d2 parameters to -1 and -2 parameters (to be consistent with other tools in the package).
2.8September 21, 2004
  • Added ability to remove duplicate captions, controlled by the new parameters -d1 and -d2.
2.7.2January 2, 2004
  • Updated e-mail and web addresses
2.7.1August 13, 2003
  • Fixed rounding bug in timecode conversions introduced by 2.7.
2.7August 11, 2003
  • Fixed bug in timecode conversions introduced by 2.6.
2.6July 27, 2003
  • Fixed logic for drop-type timecodes (hopefully once and for all).
  • Put each XDS sequence on its own line in the SCC output.
2.1February 13, 2003
  • Thanks to Dan Wilson, I have corrected a basic misunderstanding concerning the definition of "non-dropframe" vs. "dropframe" timebases. This led to corrections to the internal calculations of all six tools, the addition of a -td argument to set the timebase to dropframe, and the ability to read and output dropframe timecodes (which change the last colon into a semicolon: HH:MM:SS;FF).
  • The output of this tool was not including tab characters between the timecodes and the content.
2.0February 9, 2003
  • Added tool to package.
  • With the exception of CCADJ, all tools are now able to handle leaving off the output file argument, by making a reasonable guess based on the input name (for example, running CCASDI with an argument of "captions.scc" will produce an output file of "captions.ccd"). If you want an output name different than the default, you can still provide it as the last argument.
CC_MUX
VersionDateChanges
1.0March 2, 2004
  • Added tool to package.
DVR2SCC
VersionDateChanges
1.0February 17, 2004
  • Added tool to package.
PAS2SCC
VersionDateChanges
1.0February 14, 2004
  • Added tool to package.
CCExtract
VersionDateChanges
2.0August 27, 2004
  • Re-wrote entire procedure using General Parser sample code so that caption code is aware of picture type (required by ATSC format).
  • Added DSS-SD captions (as documented in video.bdl).
  • Added PES.bdl to the CCExtract.gp project. This improves the ability of CCExtract to handle program streams. Unfortunately, it also hurts the ability to parse certain problematic files, so I created a new project file called CCExtract_VES.gp that does not include PES.bdl.
1.4August 21, 2004
  • Added ATSC format generated by Pinnacle MediaStream.
1.3March 17, 2004
  • Improved ff ff DVD format handling to use pattern flag (thanks to Keith Hui)
1.2February 29, 2004
  • Swapped field output for both ReplayTV 4000 and 5000 formats.
  • Swapped identification of ReplayTV 4000 and 5000 formats (this change was invisible to the user).
1.1February 11, 2004
  • Handle special case of DVD format with ff xx xx ff yy yy pattern (produced by Hauppauge WinTV-250 and Panasonic DMR-E50H, among others).
1.0January 2, 2004
  • Added tool to package (module for General Parser to rip captions from MPEG files). Should have same capabilities as SCC_RIP tool (which is now obsolete).
Documentation (versions match CCASDI)
VersionDateChanges
3.0March 17, 2004
  • Completely re-wrote XDS document to be easier to read (as well and being factually accurate for the first time).
  • Revised codes and characters documents to include Channels 3 and 4.
  • Added "Connect to Remote Graph" tip for GraphEdit.
  • Abandoned ideal of keeping all tool versions in sync and re-organized this version page accordingly.
  • Revised DVD caption format section of the Caption Format page to include observed variations.
2.9January 2, 2004
  • Added descriptions of missing codes ({CSS}, {CSD}, {CS1}, {CS2}, {CSC}, {CSK}, {CGU}) and XDS types (PD and MD [for Current and Future classes]; TS [for the cHannel class]; CP, CH and CM [for the Miscellaneous class]; and WB and WM [for the Public Service class]). The codes all belong to a group called Closed Group Codes, while the XDS types are filed under their respective classes.
  • Documented DVD caption format in detail on the Caption Format page.
  • Added documentation for how to use the General Parser tool to rip captions from MPEG files a lot faster than SCC_RIP did.
  • Rewrote VCD sections of main document to cover what I've learned in the last few months about VCD closed captions.
2.6July 27, 2003
  • Fixed mistakes in the Characters page (switched {rsq} and {lsq}) and Codes page (extra character in some CCD codes).
  • Added documentation of undocumented packets in the XDS page.
2.0February 9, 2003
  • Corrected most references of "field" to "channel".
  • Added a page explaining what Line 21 Closed Captions are and how they are transmitted, including explanations of eXtended Data Service (XDS) and Interactive TeleVision (ITV).
  • Moved Version History to its own page, with only the latest change retained on the main page.
  • Added new pages for XDS and ITV.
1.2October 13, 2002
  • Brought HTML up to strict 4.01.
  • Added Version History section.
1.1August 24, 2002
  • Added note that Dump filter must be used in GraphEdit instead of FileWriter filter.
  • Filled in missing Word shortcuts in CCD Character document.
1.0April 13, 2002
  • Initial release
SCC & CCD Formats
VersionDateChanges
1.2March 17, 2004 Debut of version 1.2 of the Closed Caption Disassembly format (with a header of SCC_disassembly V1.2). All tools from this point will be backward-compatible with earlier formats except for XDS, which was so completely wrong in version 1.1 that CCASDI can not be trusted to handle it correctly. If you have the original .SCC file with the XDS codes, run CCASDI on it to get a workable .CCD file.
  • XDS single-character class codes are now two-character, to differentiate between start and continue codes (ex. F for Future class has been split into Fs and Fc for Future start and Future continue classes.
  • In accordance with XDS requirements, all XDS packets can now be split at any byte-pair boundary. Currently, the code only allows a maximum of one split per packet.
  • Many XDS packets had their data re-arranged in CCD format in order to allow the data to be split (see CCASDI changes for 3.0).
  • A few values were changed to prevent confusion. For example, in the TD type packet, "D" meant both "Daylight Savings Time" and "Tape Delay", so the code for the latter was changed to "T". The complete list of changes can be found under CCASDI's 3.0 entry.
  • Changed beginning of XDS checksum from C to \C.
  • The CHANNEL keyword can now be used to change the channel to 3 or 4. It must be 3 for XDS.
1.1February 9, 2003 Debut of version 1.1 of the Closed Caption Disassembly format (with a header of SCC_disassembly V1.1). All of the tools from this point on are designed to be able to read either 1.0 or 1.1, but will only write in 1.1.
  • The FIELD at the top of the file has been changed to CHANNEL. I had gotten my terms mixed up. The documentation now goes into great detail about the difference between them.
  • The revised CHANNEL command can also be used in the body of the CCD file to switch the channel at will. The command must be on a line by itself, and can only be followed by 1 or 2 to set the channel.
  • Added support of codes to change the background color. These commands are only used in text mode, and they are documented in the Codes page.
  • I've added support for eXtended Data Service (XDS) and Interactive TeleVision (ITV) commands, both of which are transmitted via Line 21/284. I've documented both of these in great detail here and here, and also added appropriate sample files to the distribution. I'm fairly sure that both of these services are only used by broadcast channels and not for DVD's.
  • Changed the invalid character from "*" to "£". This was because ITV uses the "*" character.
  • The SCC files produced by all of the tools from this date have a tab character between the timecode and the rest of the line. This makes the SCC files produced by SCC Tools 100% compliant with the file format as described in the Scenarist documentation. To be backwardly-compatable, the tools will still be capable of reading SCC files with spaces between the timecodes and the caption data.
1.0April 13, 2002
  • Debut of version 1.0 of CCD format

Return to SCC Tools Documentation.