home *** CD-ROM | disk | FTP | other *** search
/ PC World 2007 March / PCWorld_2007-03_cd.bin / audio-video / autogk / AutoGordianKnot.2.40.Setup.exe / DGMPGDec / Changes.txt < prev    next >
Text File  |  2006-07-20  |  30KB  |  740 lines

  1. --------------------------
  2. DGMPGDec 1.4.8
  3. Changes from version 1.4.7
  4. --------------------------
  5.  
  6. 1. For streams that specify 1088 as the vertical height for
  7. both the encoded and display sizes, a pop-up appears once on file
  8. loading (not done for CLI invocation) asking if the video should be
  9. treated as if it has a height of 1080.
  10.  
  11. 2. Completely rewrote the PAT/PMT parser. Syntactically, it now
  12. a) correctly handles sections that cross transport packet boundaries,
  13. or that start in the middle of a transport packet following a previous
  14. section, b) correctly handles streams with multiple PAT sections, and
  15. c) correctly handles streams that put all the program information on
  16. one PMT PID. The parser is now fully correct syntactically. Semantically,
  17. it now a) correctly labels private stream video, b) labels all scrambled
  18. streams so that user can avoid crashing DGIndex by selecting a scrambled
  19. stream, and c) properly distinguishes between AC3 audio streams and
  20. Teletext streams.
  21.  
  22. 3. When showing the film versus video percentage, DGIndex always now
  23. shows film percentage if it is greater than or equal to 50%, or
  24. video percentage if it is greater than 50%. Of course the sum is 100%.
  25.  
  26. 4. Fixed a problem with playback speed control. E.g., if you are running
  27. in slow motion and hit Pause, wait a while, and then hit Resume, the video
  28. would go real fast for a while until it "caught up".
  29.  
  30. 5. DGIndex now supports "Open With" operation. E.g., you can double click
  31. a VOB file and have it open right up if your association is correct. Or you
  32. have a shortcut to DGIndex on your desktop and then highlight a bunch of VOBs
  33. and drop them all on the shortcut; they are opened in sorted order. (It always
  34. irritated me that you couldn't do that.)
  35.  
  36. 6. DGIndex can now automatically set the transport PIDs to the first program
  37. when a stream is opened. This happens when a new file is opened with the PIDs
  38. set to reserved (0x02). The PIDs are set to reserved when DGIndex is started,
  39. so PID setting will happen when a transport stream file is opened after starting
  40. DGIndex. Thereafter, the Set PIDs dialog is controlling.
  41.  
  42. 7. A new option under the file menu was added: Demux Audio Only. This is
  43. intended for demuxing the audio from streams that do not contain video.
  44.  
  45. --------------------------
  46. DGMPGDec 1.4.7
  47. Changes from version 1.4.6
  48. --------------------------
  49.  
  50. 1. This version allows the user to specify different AVS templates
  51. for AVS script generation (or to disable AVS script generation). 
  52.  
  53. 2. Made transport stream detection more robust 
  54.  
  55. 3. The Parse D2V log now includes the running time of the video. 
  56.  
  57. 4. The quants log now includes the frame numbers at which the
  58. matrices appear. 
  59.  
  60. 5. Fixed garbage in file list caused when hitting the Up button
  61. with an empty list. 
  62.  
  63. 6. Added a new option called Use Full Paths. When enabled, behavior
  64. is as it always has been. When disabled, only file names (not full paths)
  65. are used as references in the D2V and generated AVS files. This makes it
  66. easier to move project files. This new option was contributed by
  67. Christian Eberl. Thank you, Chris! 
  68.  
  69. 7. Changed the exception handling in DGIndex. Previously an exception
  70. would abort the entire preview or save project operation. Now only the
  71. current picture decoding is aborted. 
  72.  
  73. 8. Added an option to enable/disable use of the DirectDraw overlay. 
  74.  
  75. 9. Added an option to dump the audio and video PTS/DTS timestamps. 
  76.  
  77. 10. DGIndex now supports demuxing DTS audio from transport streams. 
  78.  
  79. 11. Added an option to force proper parsing of audio when the stream
  80. is not DVD-structured (i.e., when there is no audio substream number
  81. and associated DVD header). For example, AC3 audio could not be processed
  82. from MPG files captured by a FusionHDTV RT Gold 5 card. 
  83.  
  84. 12. Fixed problem that made it impossible to demux MPEG1 video from
  85. transport streams. 
  86.  
  87. 13. Fixed a problem that caused a long delay before a play or preview
  88. operation begins for some transport streams. 
  89.  
  90. 14. Fixed the issue of DGMPGDec using the coded picture size (always
  91. a multiple of 16) instead of the stream declared display size. This
  92. caused 1080i streams to be treated as 1088i, for example. 
  93.  
  94. 15. Improved the Luminance and Cropping filters in DGIndex.
  95.  
  96. 16. Corrections and addition to documentation.
  97.  
  98. --------------------------
  99. DGMPGDec 1.4.6
  100. Changes from version 1.4.5
  101. --------------------------
  102.  
  103. 1. Fixed a bug in indexing for some field structure streams. 
  104.  
  105. 2. The 'This I picture starts a new GOP' flag in the D2V file was not
  106. being set correctly. This flag is not used by DGDecode, so the impact
  107. was only to the diagnostics produced by Parse D2V. 
  108.  
  109. 3. The D2V file format version number was bumped to 12. (This should have
  110. been done for version 1.4.5; better late than never.) 
  111.  
  112. 4. Fixed a problem in DGDecode that could cause a lockup when navigating
  113. on the timeline with some unusual field structure streams. 
  114.  
  115. 5. Increased the maximum number of input files from 256 to 512. 
  116.  
  117. 6. Incorporated fix to DGVfapi (by 'tritical') that prevents a failure
  118. when a large number of VFAPI-served files are opened at once. 
  119.  
  120. 7. Changed DGIndex/DGDecode so that when DGDecode sets the frame rate in
  121. Avisynth, it uses the exact fractional representation for
  122. fps_numerator/fps_denominator (changes by 'tritical'). 
  123.  
  124. This way, e.g., NTSC clips get the exact 24000/1001, 30000/1001,
  125. or 60000/1001 rate instead of 23.976, 29.970, or 59.94. 
  126.  
  127. DGIndex was actually getting the framerate correct, but when it wrote
  128. the d2v file, it would multiply the floating point value up by 1000 and
  129. then save it. Then DGDecode would use that value for the numerator and
  130. 1000 for the denominator. Now, when DGIndex gets the fps value from the
  131. lookup table it also gets numerator/denominator values from a lookup table.
  132. Then in the d2v file it writes, e.g.: 
  133.  
  134. Frame_Rate=29970 (30000,1001) 
  135.  
  136. with numerator and denominator in parentheses. DGDecode then uses those
  137. values when setting the frame rate in Avisynth. 
  138.  
  139. This change bumps the D2V file format version number to 13. 
  140.  
  141. 8. The message box that pops up for transport streams when no data is found
  142. has been clarified to direct the user to use the Stream menu to set the PIDs. 
  143.  
  144. 9. Fixed a hang when the CLI -HIDE option is used and the input file cannot
  145. be opened. 
  146.  
  147. 10. The video overlay is now not claimed when the -HIDE or -MINIMIZE
  148. CLI options are used. 
  149.  
  150. 11. File version properties were added for DGIndex, DGDecode, and DGVfapi.
  151. If you right click on the EXE, DLL, or VFP files and select properties,
  152. you can now obtain file version information. 
  153.  
  154. 12. The DGIndex Information dialog now shows an overall average bitrate for
  155. the entire previewed video in addition to the windowed value. The windowed value
  156. now reports every 32 frames instead of every 64 frames. 
  157.  
  158. 13. DGVfapi's handling of audio from avisynth scripts was fixed. It didn't
  159. set values for dwBlockAlign and dwReadedSampleCount, and it should be converting
  160. the output to 16-bit integer if it isn't already in that format. Changes by
  161. 'tritical'. 
  162.  
  163. 14. The old "Fix D2V" tool is back in a new guise: the "Correct Field Order"
  164. option. Refer to the manual for details. 
  165.  
  166. 15. Fixed truncation of last few bytes of the demuxed M2V file.
  167.  
  168. 16. Fixed a problem that limited the number of files that could be opened
  169. at once from the File Open Dialog (drag-and-drop to the DGIndex window
  170. was OK). It should now be possible to open up to 512 files at once
  171. via the open dialog.
  172.  
  173. --------------------------
  174. DGMPGDec 1.4.5
  175. Changes from version 1.4.4
  176. --------------------------
  177.  
  178. 1. Fixed major bug in random access when multiple elementary streams
  179. are loaded.
  180.  
  181. --------------------------
  182. DGMPGDec 1.4.4
  183. Changes from version 1.4.3
  184. --------------------------
  185.  
  186. 1. If a CLI D2V creation is invoked on a transport stream with the wrong pids
  187. specified, when you enter the right PIDs, a bug caused an invalid filename
  188. to be generated for the D2V file (".d2v"). This has been repaired.
  189.  
  190. 2. Audio 48KHz -> 44.1KHz and Normalization have been fixed (they were
  191. badly broken but Pre-Scale Decision was OK).
  192.  
  193. 3. The __src__ AVS template macro was changed to __vid__ and an
  194. __aud__ macro was added. Refer to the DGIndex manual for details.
  195.  
  196. 4. The Audio menu options are enabled/grayed based on the selected audio
  197. output method.
  198.  
  199. 5. AVS script file generation was added to the DGIndex manual.
  200.  
  201. 6. A complete and definitive account of the undocumented audio options was
  202. added to the DGIndex user manual. I hope it may dispel some confusion and
  203. misconceptions.
  204.  
  205. 7. Fixed a bug that stopped AVS script creation when -EXIT was used in the CLI.
  206.  
  207. 8. Added -MINIMIZE and -HIDE options to the CLI.
  208.  
  209. 9. The DGIndex INI file is now always loaded from, and saved to, the same
  210. directory that contains DGIndex.exe.
  211.  
  212. 10. The error message for bad D2V opening has been broken into four to
  213. make it easier to troubleshoot: D2V file is empty, DGIndex/DGDecode
  214. mismatch, cannot open one of the source files listed in the D2V file, and
  215. source stream has no sequence header.
  216.  
  217. 11. Fixed an indexing bug in DGIndex that caused incorrect random frame
  218. access in DGDecode in some rare cases.
  219.  
  220. 12. Fixed a problem that caused stepping backward by GOP in DGIndex to fail
  221. in some cases.
  222.  
  223. 13. Added "m1v" to the open dialog "Files of type" string.
  224.  
  225. 14. Increased from 100 to 500 the maximum number of PIDs that can be
  226. displayed when performing Detect PIDs: Raw.
  227.  
  228. 15. "Decode AC3 to WAV" was totally broken for tracks 2-8 (1 was OK). This
  229. has been repaired.
  230.  
  231. 16. A deficiency in the implementation of pulldown in DGDecode was repaired.
  232. The result is that decoding is now resilient to changes of field order. This
  233. makes Fix D2V superfluous, so it has been removed.
  234.  
  235. 17. The right arrow key can now be used to single step in play/preview mode
  236. if the playback speed is set to Single Step (previously just the right arrow button worked).
  237.  
  238. 18. Colorimetry was reported incorrectly for MPEG2 in some cases. This has been fixed.
  239.  
  240. 19. The HOME key was added as a synonym for the [ button, and the END button was
  241. added as a synonym for the ] button.
  242.  
  243. --------------------------
  244. DGMPGDec 1.4.3
  245. Changes from version 1.4.2
  246. --------------------------
  247.  
  248. 1. Fixed a bug that caused the Force Film warning
  249. to erroneously appear for MPEG1 files.
  250.  
  251. 2. Fixed improper handling of the right arrow button.
  252.  
  253. 3. Fixed broken Load Project functionality.
  254.  
  255. [DAG August 29, 2005]
  256.  
  257. --------------------------
  258. DGMPGDec 1.4.2
  259. Changes from version 1.4.1
  260. --------------------------
  261.  
  262. 1. A bug in processing of sequence end codes was repaired.
  263.  
  264. [DAG August 29, 2005]
  265.  
  266. --------------------------
  267. DGMPGDec 1.4.1
  268. Changes from version 1.4.0
  269. --------------------------
  270.  
  271. 1. DGDecode's fastMC option is enabled for 3dNow.
  272.  
  273. 2. A scanning bug in reading the D2V file in DGDecode has been repaired.
  274.  
  275. 3. The track specification for GUI and CLI has been changed to allow multiple
  276. tracks to be enabled for demuxing. You can, for example, specify tracks 1
  277. and 3 for demuxing. Previously, you could choose one track or all tracks.
  278.  
  279. 4. Added the Skal and Simple IDCTs from DGDecode to DGIndex.
  280.  
  281. 5. Added quant matrix logging.
  282.  
  283. 6. Revised the video error handling to prevent macroblocking in some error
  284. cases, and to prevent incorrect frame delivery leading to AV desync in some
  285. error cases.
  286.  
  287. 7. A default save file name is now set in the Save Project dialog.
  288.  
  289. 8. The CLI now supports demuxing the video (-OFD).
  290.  
  291. 9. Fixes for bugs in YV12 upsampling (tritical).
  292.  
  293. 10. When repeat flags are present give Film/Video percentages instead of
  294. FILM/NTSC percentages. This avoids showing a PAL as NTSC in some cases!
  295.  
  296. 11. The command line buffer has been increased to 4096 bytes. If you use a
  297. DOS shell instead of programmatic invocation, you will be limited by the
  298. capability of the DOS shell.
  299.  
  300. 12. Destroy the Info dialog window upon any of these events: new file(s)
  301. opened, right/left arrow buttons hit, scroll operation on timeline.
  302.  
  303. 13. Various changes/fixes for upsampling by tritical. These apply as
  304. appropriate for DGDecode, DGIndex, and DGVfapi:
  305.  
  306. * upConv can now be set to 3 values: 0, 1, and 2. 0 = do nothing,
  307. 1 = YUY2 output, 2 = RGB24 output... for the case that the input is 4:2:2
  308. then 1 is the same as 0.
  309.  
  310. * Added iCC parameter. iCC=true uses interlaced YV12->YUY2 upsampling,
  311. iCC=false uses progressive YV12->YUY2 upsampling, and leaving iCC unset
  312. makes it switch based on the progressive_frame flag.
  313.  
  314. * Fixed a little problem with the 422->444 conversion, fixed a problem with
  315. the 444->RGB24 conversion where it wasn't correctly handling pixel values
  316. that came out as < 0, and added a faster isse 422->444 conversion. I also
  317. modified the 444->RGB24 conversion so that it uses the correct coefficients
  318. (indicated by the matrix_coefficients value).
  319.  
  320. * Added a way to force DGVfapi (and the DLL access functions) to follow
  321. the progressive_frame flag.
  322.  
  323. * Added a Colorimetry box to the DGIndex Info dialog.
  324.  
  325. 14. Top-level picture decoding (slice and macroblock layers) was completely
  326. redesigned to dramatically improve resilience to video errors, and to correct
  327. some spurious video errors due to bugs in the old approach. The previous
  328. design is a legacy of the original MSSG reference decoder. The new design
  329. was adapted from fccHandler's excellent VirtualDub MPEG2.
  330.  
  331. 15. Modified the Info dialog display of video errors to show text reasons
  332. instead of numbers.
  333.  
  334. 16. Added "fccHandler" to the credits listing in the DGDecode manual.
  335.  
  336. 17. Revised the playback speed option. It now gives 5 checkables: super
  337. slow (5fps), slow (10fps), normal (plays reliably at the correct frame rate for
  338. the stream), fast (2 times normal), maximum (as fast as possible).
  339.  
  340. 18. A warning box is popped up if Force Film is used inappropriately. The user
  341. can decide whether to proceed anyway or to cancel.
  342.  
  343. 19. The leading number on the file path lines at the top of the file was
  344. eliminated. This makes editing the D2V file to change paths easier. The D2V
  345. file format version is therefore bumped to 11, and you will need to remake
  346. existing projects.
  347.  
  348. 20. Added an item to the Option menu: Force Open GOPs in D2V File. This
  349. should be used when a stream erroneously claims that all its GOPs are closed.
  350.  
  351. 21. Added a user manual for DGIndex! Thank you Cyberia.
  352.  
  353. 22. Vob and Cell ID's are now displayed in the title bar.
  354.  
  355. 23. Added a splash screen that is displayed when no file is loaded.
  356.  
  357. 24. Added single-step mode to the playback speed options.
  358.  
  359. [DAG August 28, 2005]
  360.  
  361. --------------------------
  362. DGMPGDec 1.4.0
  363. Changes from version 1.3.0
  364. --------------------------
  365.  
  366. 1. Standard call wrappers for dgdecode.dll access functions for use by Visual Basic,
  367. etc. E.g.: getRGBFrame_SC(). 
  368.  
  369. 2. Fix for slice error recovery bug that caused some (rare) picture decoding errors. 
  370.  
  371. 3. Program streams with video stream IDs other than 0xE0 are now supported. 
  372.  
  373. 4. The preview info box of DGIndex now shows the audio type of all the audio tracks.
  374. This is populated when doing a Preview (F5). 
  375.  
  376. 5. Fixed decoding errors due to improper recovery from corruption of transport streams. 
  377.  
  378. 6. Fixed the pitch=width assumption, thereby allowing proper operation under newer
  379. versions of Avisynth that modify the alignment rules (revisions kindly contributed
  380. by 'tritical'). 
  381.  
  382. 7. Fixed the emulated header problem by properly parsing the pack or transport layer
  383. when getting the initial sequence header. 
  384.  
  385. 8. Corrected an error in the D2V format document (bits 6 and 7 of the per-frame
  386. flags byte was erroneously reversed). 
  387.  
  388. 9. The process priority can now be changed in DGIndex during a Save Project operation. 
  389.  
  390. 10. A bug in the PAT/PMT parser was repaired that could cause DGIndex to erroneously
  391. think that a PAT/PMT is not present. 
  392.  
  393. 11. Added the .vro and .mpv file types to the DGIndex open dialog. 
  394.  
  395. 12. Fixed the Reference IDCT (type 4). Changes by jackei derived from his latest
  396. DVD2AVI version. 
  397.  
  398. 13. MPEG1 is now supported. 
  399.  
  400. 14. DGVfapi now supports multiple instantiation, i.e., multiple "fake" AVIs served
  401. at the same time. It can also open AVS scripts as well as D2V files. Thanks to
  402. "tritical" for these enhancements. 
  403.  
  404. 15. DGParse and DGFix have been integrated into a new menu pulldown of DGIndex
  405. called "Tools". 
  406.  
  407. 16. The integrated DGParse info now shows the GOP structure, and properly shows
  408. the effect of the field operations. 
  409.  
  410. 17. Fixed a bug such that during preview the info dialog did not show the audio
  411. track information for transport streams and PVA streams. 
  412.  
  413. 18. The Detect PIDs dialog now has a "Done" button. 
  414.  
  415. 19. Fixed a bug in parsing of transport streams. 
  416.  
  417. 20. Removed YV12toYUY2() and YV12toRGB24() as they duplicate Avisynth native filters. 
  418.  
  419. 21. In DGDecode.dll, replaced the buggy LumaFilter() with a new, optimized
  420. LumaYV12() by ARDA. 
  421.  
  422. 22. Added a rudimentary playback speed control, for people with very fast machines
  423. and who don't like watching their previews race by at 170 fps. 
  424.  
  425. 23. Added a new CLI parameter, -SD, which allows a custom delimiter character to be set.
  426.  
  427. 24. "Process WAV" functionality was removed, and SRC/normalization can no longer be
  428. applied to LPCM. 
  429.  
  430. 25. LPCM support was improved: 1) 48K/96K, 16bit/24/bit, and mono/stereo are now supported.
  431. 2) The format info is included in the filename and the info dialog. 3) Demux Track and
  432. Demux All now work for LPCM (no special handling). Menus and info boxes were
  433. updated appropriately. 
  434.  
  435. 26. The D2V format version is now checked when loading a D2V file. 
  436.  
  437. 27. IDCT support was fixed: 1) The IDCT algorithm specified in the INI or D2V file
  438. is now not automatically promoted (e.g., previously if you had IDCT=1 in the INI file
  439. and then started DGIndex, you'd end up with IDCT=3). However, the IDCT is scaled down
  440. if it is not supported by the processor. 2) A bug in DGDecode was fixed that caused
  441. SSEMMX to be used when SSE2MMX was requested. 3) The IDCT algorithm is now consistently
  442. numbered between the CLI, D2V, etc. 
  443.  
  444. 28. Added audio processing to the Quick Start guide.
  445.  
  446. 29. Fixed a problem that caused failure of AC3 audio demuxing from a transport stream
  447. if the audio stream was not contained in the PAT/PMT tables.
  448.  
  449. 30. Fixed a problem in DGVfapi that caused conversion of AVS scripts to fail when they
  450. delivered RGB32. [fix by 'tritical']
  451.  
  452. [DAG July 11, 2005]
  453.  
  454. --------------------------
  455. DGMPGDec 1.3.0
  456. Changes from version 1.2.1
  457. --------------------------
  458.  
  459. 1. Added video demultiplexing to DGIndex.
  460.  
  461. 2. Added exception handling to DGIndex and DGDecode to prevent
  462. brutal crashing on an incomplete picture and other MPEG2 errors.
  463.  
  464. 3. Changed method of VFAPI upsampling control. Now it defaults to
  465. interlaced but can be forced to progressive by putting "_P" just
  466. before the extension of the D2V filename, e.g., movie_P.d2v.
  467.  
  468. 4. The file list buffer was increased for DGIndex to prevent crashing
  469. when many VOB files are selected at once.
  470.  
  471. 5. Reduced delay on Save Project for transport streams when no PAT/PMT
  472. is present.
  473.  
  474. 6. In DGIndex, ESC now exits CLI mode.
  475.  
  476. 7. Fixed crashing with AVS template handling in CLI mode.
  477.  
  478. 8. Fixed a bug in PAT/PMT parsing that caused it to miss some programs in
  479. some cases.
  480.  
  481. 9. Revised DGIndex's AVS template syntax to allow for more than one occurrence
  482. of the D2V filename in the script.
  483.  
  484. [DAG May 1, 2005]
  485.  
  486. --------------------------
  487. DGMPGDec 1.2.1
  488. Changes from version 1.2.0
  489. --------------------------
  490.  
  491. 1. Fixed crashing bug in BlindPP().
  492.  
  493. 2. Fixed incorrect DGDecode postprocessing for YUY2.
  494.  
  495. 3. Changed DGDecode to deliver YV12 by default. For I420, use
  496.    DGDecode(...,i420=true). This fixes interoperability with some
  497.    applications, such as mencoder.
  498.  
  499. 4. Fixed erroneous audio delays for multiple tracks.
  500.  
  501. 5. Added i420 parameter to DGDecode help file, and added an Appendix
  502.    on BlindPP() usage.
  503.  
  504. 6. Added Deblock() blind H.264 deblocking filter, by "Manao", because
  505.    some people prefer it to BlindPP().
  506.  
  507. [DAG Feb 19, 2005]
  508.  
  509. ---------------------------------------------------------
  510. DGMPGDecVersion 1.2.0 Functional Changes
  511. (versus DGMPGDec 1.1.0)
  512. ---------------------------------------------------------
  513.  
  514. 1. Added demuxing of AAC audio from transport streams.
  515.  
  516. 2. Added preliminary support for PVA streams.
  517.  
  518. 3. Fixed crash with long GOPs.
  519.  
  520. 4. Fixed error tolerance on stream video errors.
  521.  
  522. 5. Fixed problem with indexing for some selection operations.
  523.  
  524. 6. Further improvements to the Info dialog.
  525.  
  526. 7. Fixed DGIndex delay calculation for selections.
  527.  
  528. 8. Revised "info" parameter as follows:
  529.  
  530.     0: Do not generate debug information
  531.     1: Overlay debug information on the video
  532.     2: Output debug information via OutputDebugString() (Use DebugView utility)
  533.     3: Output hints in the video (as defined in utilities.cpp/utilities.h)
  534.         Current hints are progressive/interlaced and colorimetry.
  535.  
  536. 9. D2V file revised to version 8 format. It now carries more per GOP and
  537. per frame data. Refer to the D2V file format document for details.
  538.  
  539. 10. Fixed a problem that caused field structure clips to fail randomly
  540. (sometimes they worked and sometimes they didn't).
  541.  
  542. 11. Fixed lots of bugs in the Info display and made it correct for
  543. random navigation (key data is indexed in the D2V file now, so DGDecode
  544. doesn't have to try to figure it out).
  545.  
  546. 12. Fixed bug in the de-ringing postprocessing.
  547.  
  548. 13. Fixed crashing problem with BlindPP() for YUY2 input.
  549.  
  550. 14. Changed DGIndex so it reports any calculated audio delay, no matter how wild
  551. it may seem to be.
  552.  
  553. [Donald Graft, February 17, 2005]
  554.  
  555. ---------------------------------------------------------
  556. DGMPGDecVersion 1.1.0 Functional Changes
  557. (versus DGMPGDec 1.0.13)
  558. ---------------------------------------------------------
  559.  
  560. 1. A new CLI option for loading input files from a file list contained in a text file
  561. was added as follows:
  562.  
  563. -Batch-Files               -BF       ([filelist]) Load batch of files.
  564.                                      The filelist file contains the list of files to load,
  565.                                      one file per line with no extra white space.
  566.  
  567. 2. Previous fixes for stopping crashes when some corrupted files are
  568. loaded broke proper decoding of files with a single I frame (stills), and
  569. files with just a few frames. Those changes were backed out because it
  570. is more important to get normal decoding of correct files working properly.
  571. Nevertheless, I still want to properly address the crashing issue for
  572. corrupt and truncated files, so please notify me if you run into
  573. streams that cause DGDecode to crash at the end of a file. The current
  574. workaround is to remove the last frame entry in the D2V file. My tests
  575. all pass for stills and few-frame files with this change. Please notify me
  576. if you experience any problems in that regard.
  577.  
  578. 3. Some transport files were not being properly decoded due to a missing
  579. check in the transport parser. This is repaired.
  580.  
  581. 4. When quantizer matrix changes occur in a stream, random access would fail
  582. in some cases, producing a corrupted frame. This has been repaired with the caveat
  583. that any file that changes quantizer matrices on the fly must send a sequence
  584. header with every GOP. I have never seen any file that does not do this. Please
  585. notify me if you find one (i.e., one that does not have a sequence header for
  586. every GOP *and* changes quantizer matrices).
  587.  
  588. 5. When processing a transport file with the video PID erroneously set to an
  589. audio stream, DGIndex would declare that the file is not a transport stream
  590. when trying to detect PIDs, and decoding would fail. This has been repaired.
  591. Now a warning box pops up and advises the user to check his PIDs.
  592.  
  593. 6. Fixed a bug in auto-loading from the CLI.
  594.  
  595. 7. Added automatic detection of transport streams. Transport stream files can
  596. now have any file extension.
  597.  
  598. 8. The DC mode decision of postprocess deblocking was broken both horizontally
  599. and vertically. It has been shown to produce objectionable artifacts.
  600. This was repaired by correcting the decision code. (by "tritical")
  601.  
  602. 9. Revised the file open method for the GUI (the CLI remains as before for
  603. backward compatibility). Now, the open file dialog allows multiple selection.
  604. The file names are automatically sorted in an intelligent way. Some further
  605. enhancements may be needed, but I think this is moving in the right direction.
  606.  
  607. 10. Added horizontal scrollbar to video list box.
  608.  
  609. 11. Added "move up" and "move down" buttons to the video list box.
  610.  
  611. 12. For the CLI: If -Exit is specified, DGIndex will exit on failure
  612. to write the -OF specified D2V file. If it is not specified, then DGIndex
  613. remains open, an error box pops up, and DGIndex reverts to normal non-CLI
  614. operation to allow the user to save the D2V elsewhere.
  615.  
  616. 13. At the end of a save D2v, preview, or play, a message box is no longer
  617. popped up and the trackbar is not returned to the start.
  618.  
  619. 14. Transport PIDs are now defaulted to 0x02 to prevent decoding a wrong stream
  620. before the PIDs are set. But because PIDs are retained in the INI file, problems
  621. can still arise. Please refer to the Transport Stream Notes file.
  622.  
  623. 15. Added missing PID in filename for AC3 files demuxed from transport streams.
  624.  
  625. 16. Corrected the audio delay calculation for transport files.
  626.  
  627. 17. Removed icons from the title bar of popup message boxes.
  628.  
  629. 18. Added more bullet-proofing for erroneously loading non-MPEG2 files.
  630.  
  631. 19. The default directory for Save Project is now the same as the directory
  632. from which the input file(s) was loaded. This works for both Open through the
  633. menus and drag-and-drop.
  634.  
  635. 20. Added the following fields to the Info display in DGIndex: picture size,
  636. MPEG2 profile/level, picture coding structure, i.e., field or frame picture.
  637.  
  638. 21. Fixed hang when doing Preview/Play/Save Project without a valid video PID.
  639.  
  640. 22. Fixed hang when the audio PID is set before the video PID.
  641.  
  642. 23. Incorporated tritical's changes to DGDecode as follows:
  643.  
  644. A) added info option to mpeg2source() to display info on frames
  645.       - example usage:  mpeg2source(info=true)
  646.  
  647. B) iPP is a bool again.  If it is not explicitly set to true or false then it 
  648.        defaults to auto which switches between field/frame based pp based on the 
  649.        progressive_frame flag
  650.  
  651. C) 4:2:2 input support
  652.       - can now correctly decode 4:2:2 input sources and correctly output it
  653.            to AviSynth as YUY2
  654.  
  655.       *NOTE:  mpeg2source() now throws an error on 4:4:4 input, it could handle it
  656.                but AviSynth 2.5 does not have internal YUV 4:4:4 support
  657.  
  658.       - 4:2:2 PLANAR post-processing support
  659.  
  660. D) Upsampling to 4:2:2 from 4:2:0 based on progressive_frame flag.  Uses new
  661.        upConv parameter of mpeg2source().
  662.  
  663.       - example   mpeg2source(upConv=true)
  664.  
  665.       *NOTES:  it will only work if input is 4:2:0, if input is anything else
  666.                 then the upConv parameter is ignored
  667.  
  668. E) BlindPP now supports YUY2 colorspace
  669.  
  670. F) other stuff:
  671.  
  672.       - fixed blindPP syntax bug  (x and X)
  673.       - fixed a small bug with showQ option
  674.       - fixed small memory leak with FrameList/GOPList not being free'd
  675.       - fixed a bug in the vertical chroma deblocking postprocessing
  676.               QP pointer being passed was incorrect for 4:2:0
  677.       - faster mmx 4:2:2 to packed YUY2 and YUY2 to planar 4:2:2 conversions
  678.       - info output would not work correctly if temporal_reference was not zero
  679.         based at the beginning of gops, it does now
  680.  
  681.  
  682. [Donald Graft, January 15, 2005]
  683.  
  684. ---------------------------------------------------------
  685. DGMPGDecVersion 1.0.13 Functional Changes
  686. (versus DVD2AVIdg/MPEG2DEC3dg 1.3.0)
  687. ---------------------------------------------------------
  688.  
  689. 1. Recast everything with the new DGMPGDec naming scheme
  690. (DGIndex, DGDecode, DGVfapi, DGFix, DGParse, DGTable).
  691.  
  692. 2. Destroy Info dialog after user dismisses the "finished" popup.
  693.  
  694. 3. Added auto AVS file generation. Refer to the Quick Start guide
  695. for details.
  696.  
  697. 4. Fixed DGVfapi.vfp so that it doesn't crash when called with
  698. a file that is not a D2V file (TMPGEnc does this).
  699.  
  700. 5. Fixed the IDCT selection to not be global in DGDecode.
  701.  
  702. 6. Wrote a quick start guide.
  703.  
  704. 7. Removed the Open DVD menu item and support.
  705.  
  706. 8. Removed the Swap Field Order option because it was not functional
  707. and doesn't really belong here. Also, since it was mutually exclusive
  708. with the other field order options, it didn't make much sense to begin
  709. with. Use Simon Walters' Reverse Field Dominance filter in your AVS script
  710. if you need to reverse the field dominance.
  711.  
  712. 9. Added an acknowledgement to jackei in the About box.
  713.  
  714. 10. Fixed some bugs in audio timestamp display and delay calculations.
  715.  
  716. 11. Added demuxing of MPEG audio (*.mpa) for transport streams. Note that if your
  717. stream does not contain proper PAT/PMT tables to allow DGIndex to determine
  718. the audio type on your specified audio PID, then only MPEG audio will be
  719. tried. This may change to allow manual specification when auto detection
  720. fails.
  721.  
  722. 12. Fixed transport stream handling to properly decode video stream IDs
  723. 0xe8 through 0xef.
  724.  
  725. 13. Added capability to extract audio from audio only transport streams.
  726.  
  727. 14. Added document giving notes on the transport stream support.
  728.  
  729. 15. Fixed DGDecode so that it (hopefully) no longer crashes VirtualDub on exit
  730. when the last frame is incomplete.
  731.  
  732. 16. Added raw PID detection. It identifies audio and video PIDs but does not
  733. show which audio goes with which video when there are multiple programs. This is
  734. useful when full PAT/PMT tables are not present.
  735.  
  736. 17. Changed CLI to set transport parsing based on the extension type.
  737.  
  738. 18. Added a new CLI option to read a file that lists the files to be loaded.
  739.  
  740.