Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
3
Changes from version 1.5.2
-------------------------1. Fixed an M2V demuxing bug that sometimes demuxed an extra partial first GOP c
opy.
2. Added mousewheel support.
3. Added -RG option for the CLI to allow setting the project range via the CLI.
-------------------------DGMPGDec 1.5.2
Changes from version 1.5.1
-------------------------1. Fixed another problem that caused some program streams to be detected as tran
sport streams.
-------------------------DGMPGDec 1.5.1
Changes from version 1.5.0
-------------------------1. Fixed a problem that caused some program streams to be detected as transport
streams.
-------------------------DGMPGDec 1.5.0
Changes from version 1.4.9
-------------------------1. Pop-up warning message boxes are now suppressed for CLI operation.
2. PSIP PID detection has been added.
3. PIDs are now displayed in decimal as well as hexadecimal.
4. A new option, Looped Playback, was added. When the end of the timeline is rea
ched
during a Play or Preview operation, playback is automatically restarted at the b
eginning
of the timeline.
5. A bug was fixed in the transport packet length detection code. This caused so
me M2TS
streams to be parsed incorrectly.
6. The file type .m2t was added to the open dialog.
7. Some array sizes were increased to prevent crashes in the debugger.
8. The next_start_code() function was enhanced to add error resiliency for abnor
mal slice terminations.
9. Because the code never writes to the DirectDraw surface anymore (removed long
ago!), the DirectDraw
Overlay option was removed. DGIndex now never seizes the overlay.
10. When the Use Full Paths option is turned off, relative paths are used. This
allows for
the source files to be in a different directory than the D2V file. If they are i
n the same
directory, the behavior is the same as before.
11. In CLI mode, if a field order transition is detected, it is silently correct
ed.
12. Fixed two problems with .m2ts files: 1) audio on PRIVATE_STREAM_1 was not pr
ocessed correctly,
and 2) video demuxing was broken.
13. Fixed a problem that resulted in an abort of processing with the message box
popup
"Force film mode is not supported with frame repeats".
14. Added checks for extra robustness against emulated audio start codes for MPE
G audio
in program streams. This fixes some known streams with emulated audio start code
s.
15. The infamous GOP warning popup has been removed. The D2V Parse log now shows
the
open/closed status of the GOPs, so if you need to know if your opening GOP is op
en, look there.
16. The Info dialog position is no longer pegged to the main DGIndex window. It
can be independently
positioned and its position is saved and restored via the INI file. Also, its fo
nt size has been
decreased and all the group boxes are now arranged vertically.
17. An option was added to control how HD videos are displayed. You can now shri
nk by half
(the previous behavior) or you can view any quadrant of the video. This allows t
he interlace
structure of HD videos to be inspected.
18. Fixed a problem that caused DGIndex to miss some audio streams. For example,
if AC3 substream
0x80 was present, and MPA stream 0xC0 was present, both would be viewed as Track
1, and only the
first one encountered would be detected. The concept of track number is removed
(as it is a DVD-specific construct), and it is replaced with the concept of audi
o id.
See the users manual for details.
19. For MPEG audio streams, the Info dialog now shows full information: audio id
, layer,
number of channels, sampling rate, and bitrate. This information is also include
d in the
filename of demuxed MPEG audio streams.
20. Whenever the Info dialog is closed, a log file is (optionally) created that
contains
the same information. This may be invoked by the CLI to silently query the natur
e of the
input file. Please see the users manual for details.
21. When a stream does not declare the colorimetry, matrix_coefficients=1 is ass
umed for
HD video and matrix_coefficients=5 is assumed for SD video.
22. Fixed a bug that caused automatic PID setting for transport streams to use t
he last
audio stream encountered instead of the first.
23. Use lowest numbered audio ID to expand __aud__ instead of the first audio st
ream encountered
in the source files.
24. Added an MRU list to the File menu.
25. Leading B frames for field structure streams were not counted correctly, cau
sing a
possibility to display bad starting frames when serving with DGDecode. Fixed.
26. Fixed possible crashes when exiting DGIndex while a play/preview is in progr
ess.
27. DGIndex optionally no longer beeps and brings its window to the foreground w
hen a
Save Project operation is complete.
28. The quants displayed by DGDecode's showQ=true did not match the avg/min/max
values
displayed for info=1 (the showQ display was not re-ordered for display order). F
ixed.
29. Only half a screenful of values were shown with showQ=true for field structu
re streams.
30. The funny transparency for the showQ display was fixed.
31. The Info display now shows the picture coding type (I/P/B).
32. Added a maximum bitrate field to the Info display.
33. Demuxed MPEG audio files are now given the extension mp1/mp2/mp3 depending o
n the
audio layer. The old behavior can be enabled via an INI file option (see users m
anual).
34. Transport packet resync and M2TS file detection were made more robust.
35. Fixed a bug in the Log Timestamps function, whereby a video DTS value was in
correctly
shown as a PTS value.
36. Fixed a bug in demuxing of DTS audio from transport streams.
37. The aspect ratio field of the Info dialog now shows the raw value of the fie
ld
as well as the corresponding string.
38. The display size from a sequence_display_extension is now shown in the Info
dialog.
This, together with the change above, allows the sample aspect ratio (SAR) to be
inferred,
3. Added additional MPEG syntax error checking to improve the robustness and err
or recovery.
This fixes one reported stream that showed excessive macroblocking on one type o
f syntax
error due to corruption.
4. Fixed an error in random frame access in the presence of RFF flags.
5. Added the PCR for transport streams and the SCR for program streams to the
'Log Timestamps' dump.
6. DGIndex can now automatically set the PIDs on file open for streams that lack
PAT/PMT
tables. If the PAT/PMT tables are absent, DGIndex falls back to using raw PID de
tection
and sets the first audio and video PIDs seen in the stream.
7. The __aud__ variable in the AVS template now uses the first audio track found
instead of the last.
8. 204-byte transport packets are now supported.
9. The info dialog now includes a stream type field.
10. If an exception occurs during processing, a message box pops up and allows t
he
user to choose to continue or to abort.
11. The D2V file version is bumped to 16.
12. The AVS template path now defaults to a file called "template.avs" in the sa
me
directory as DGIndex.exe.
13. Fixed a bug in INI file loading that caused some parameters to be read incor
rectly.
14. An error popup now appears if the user attempts to execute "Demux Audio Only
" when
the audio method is set to "Decode AC3 Track to WAV".
15. Fixed a bug in relative path handling that crashed DGIndex when "Load Projec
t" was performed.
16. Revised the track selection interface to be more user friendly.
17. Added support for frame repeats. These are increasingly being found in 720P
streams.
18. Added two new fields to the info dialog: number of frame repeats, and number
of field repeats.
19. The Correct Field Order option is removed and the field order correction fun
ction
is now available through the Tools menu.
20. A first attempt has been made to add a progress percentage field to the DGIn
dex
window title bar.
21. When in CLI mode, DGIndex no longer grabs the foreground focus and beeps at
the
end of a Save Project operation.
22. Fixed a bug in the LumaYV12() filter (part of DGDecode) that could cause a
crash in some circumstances.
23. Adding checking for audio file names to not be already open in another appli
cation
before trying to demux to them.
24. Added a new tool in the Tools menu: Analyze Sync.
25. Revised the indexing code to support the case where an indexed unit (especia
lly packs)
might contain more than one I frame. Previously random navigation in DGDecode fa
iled for
this rare scenario.
26. Fixed a bug that caused DGIndex to sometimes use 601 colorimetry in the prev
iew window
and when doing Save BMP when 709 should have been used. The Info Dialog was corr
ect, however.
27. Added support for M2TS (Blueray Disk MPEG2) files.
28. The reporting of matrix coefficients was off by one GOP so if they changed,
one GOP would be reported wrongly. Fixed.
29. Multiple __vid__ and __aud__ per line are now supported in AVS template file
s.
30. Audio-only demuxing of LPCM audio was fixed.
31. Making a range that cuts from the start failed for some program streams. Fix
ed.
32. Added support for demuxing LPCM from M2TS (Blu-Ray) files. Note that the raw
PCM
is demuxed (same as xport.exe). You must use an audio processor, such as sox.exe
,
to repackage it as you want it (typically as a WAV file). Refer to the DGIndex U
sers Manual
for instructions in that regard (Audio/Output Method section). PID detection and
the
Info dialog are supported for this new audio type. Thanks to drmpeg for showing
the way
with xport.exe.
33. Added a warning pop-up to notify the user that a field order transition was
detected.
-------------------------DGMPGDec 1.4.8
Changes from version 1.4.7
-------------------------1. For streams that specify 1088 as the vertical height for
both the encoded and display sizes, a pop-up appears once on file
loading (not done for CLI invocation) asking if the video should be
then save it. Then DGDecode would use that value for the numerator and
1000 for the denominator. Now, when DGIndex gets the fps value from the
lookup table it also gets numerator/denominator values from a lookup table.
Then in the d2v file it writes, e.g.:
Frame_Rate=29970 (30000,1001)
with numerator and denominator in parentheses. DGDecode then uses those
values when setting the frame rate in Avisynth.
This change bumps the D2V file format version number to 13.
8. The message box that pops up for transport streams when no data is found
has been clarified to direct the user to use the Stream menu to set the PIDs.
9. Fixed a hang when the CLI -HIDE option is used and the input file cannot
be opened.
10. The video overlay is now not claimed when the -HIDE or -MINIMIZE
CLI options are used.
11. File version properties were added for DGIndex, DGDecode, and DGVfapi.
If you right click on the EXE, DLL, or VFP files and select properties,
you can now obtain file version information.
12. The DGIndex Information dialog now shows an overall average bitrate for
the entire previewed video in addition to the windowed value. The windowed value
now reports every 32 frames instead of every 64 frames.
13. DGVfapi's handling of audio from avisynth scripts was fixed. It didn't
set values for dwBlockAlign and dwReadedSampleCount, and it should be converting
the output to 16-bit integer if it isn't already in that format. Changes by
'tritical'.
14. The old "Fix D2V" tool is back in a new guise: the "Correct Field Order"
option. Refer to the manual for details.
15. Fixed truncation of last few bytes of the demuxed M2V file.
16. Fixed a problem that limited the number of files that could be opened
at once from the File Open Dialog (drag-and-drop to the DGIndex window
was OK). It should now be possible to open up to 512 files at once
via the open dialog.
-------------------------DGMPGDec 1.4.5
Changes from version 1.4.4
-------------------------1. Fixed major bug in random access when multiple elementary streams
are loaded.
-------------------------DGMPGDec 1.4.4
Changes from version 1.4.3
-------------------------1. If a CLI D2V creation is invoked on a transport stream with the wrong pids
specified, when you enter the right PIDs, a bug caused an invalid filename
to be generated for the D2V file (".d2v"). This has been repaired.
2. Audio 48KHz -> 44.1KHz and Normalization have been fixed (they were
badly broken but Pre-Scale Decision was OK).
3. The __src__ AVS template macro was changed to __vid__ and an
__aud__ macro was added. Refer to the DGIndex manual for details.
4. The Audio menu options are enabled/grayed based on the selected audio
output method.
5. AVS script file generation was added to the DGIndex manual.
6. A complete and definitive account of the undocumented audio options was
added to the DGIndex user manual. I hope it may dispel some confusion and
misconceptions.
7. Fixed a bug that stopped AVS script creation when -EXIT was used in the CLI.
8. Added -MINIMIZE and -HIDE options to the CLI.
9. The DGIndex INI file is now always loaded from, and saved to, the same
directory that contains DGIndex.exe.
10. The error message for bad D2V opening has been broken into four to
make it easier to troubleshoot: D2V file is empty, DGIndex/DGDecode
mismatch, cannot open one of the source files listed in the D2V file, and
source stream has no sequence header.
11. Fixed an indexing bug in DGIndex that caused incorrect random frame
access in DGDecode in some rare cases.
12. Fixed a problem that caused stepping backward by GOP in DGIndex to fail
in some cases.
13. Added "m1v" to the open dialog "Files of type" string.
14. Increased from 100 to 500 the maximum number of PIDs that can be
displayed when performing Detect PIDs: Raw.
15. "Decode AC3 to WAV" was totally broken for tracks 2-8 (1 was OK). This
has been repaired.
16. A deficiency in the implementation of pulldown in DGDecode was repaired.
The result is that decoding is now resilient to changes of field order. This
makes Fix D2V superfluous, so it has been removed.
17. The right arrow key can now be used to single step in play/preview mode
if the playback speed is set to Single Step (previously just the right arrow but
ton worked).
18. Colorimetry was reported incorrectly for MPEG2 in some cases. This has been
fixed.
19. The HOME key was added as a synonym for the [ button, and the END button was
added as a synonym for the ] button.
-------------------------DGMPGDec 1.4.3
Changes from version 1.4.2
--------------------------
1 = YUY2 output, 2 = RGB24 output... for the case that the input is 4:2:2
then 1 is the same as 0.
* Added iCC parameter. iCC=true uses interlaced YV12->YUY2 upsampling,
iCC=false uses progressive YV12->YUY2 upsampling, and leaving iCC unset
makes it switch based on the progressive_frame flag.
* Fixed a little problem with the 422->444 conversion, fixed a problem with
the 444->RGB24 conversion where it wasn't correctly handling pixel values
that came out as < 0, and added a faster isse 422->444 conversion. I also
modified the 444->RGB24 conversion so that it uses the correct coefficients
(indicated by the matrix_coefficients value).
* Added a way to force DGVfapi (and the DLL access functions) to follow
the progressive_frame flag.
* Added a Colorimetry box to the DGIndex Info dialog.
14. Top-level picture decoding (slice and macroblock layers) was completely
redesigned to dramatically improve resilience to video errors, and to correct
some spurious video errors due to bugs in the old approach. The previous
design is a legacy of the original MSSG reference decoder. The new design
was adapted from fccHandler's excellent VirtualDub MPEG2.
15. Modified the Info dialog display of video errors to show text reasons
instead of numbers.
16. Added "fccHandler" to the credits listing in the DGDecode manual.
17. Revised the playback speed option. It now gives 5 checkables: super
slow (5fps), slow (10fps), normal (plays reliably at the correct frame rate for
the stream), fast (2 times normal), maximum (as fast as possible).
18. A warning box is popped up if Force Film is used inappropriately. The user
can decide whether to proceed anyway or to cancel.
19. The leading number on the file path lines at the top of the file was
eliminated. This makes editing the D2V file to change paths easier. The D2V
file format version is therefore bumped to 11, and you will need to remake
existing projects.
20. Added an item to the Option menu: Force Open GOPs in D2V File. This
should be used when a stream erroneously claims that all its GOPs are closed.
21. Added a user manual for DGIndex! Thank you Cyberia.
22. Vob and Cell ID's are now displayed in the title bar.
23. Added a splash screen that is displayed when no file is loaded.
24. Added single-step mode to the playback speed options.
[DAG August 28, 2005]
-------------------------DGMPGDec 1.4.0
Changes from version 1.3.0
-------------------------1. Standard call wrappers for dgdecode.dll access functions for use by Visual Ba
sic,
etc. E.g.: getRGBFrame_SC().
2. Fix for slice error recovery bug that caused some (rare) picture decoding err
ors.
3. Program streams with video stream IDs other than 0xE0 are now supported.
4. The preview info box of DGIndex now shows the audio type of all the audio tra
cks.
This is populated when doing a Preview (F5).
5. Fixed decoding errors due to improper recovery from corruption of transport s
treams.
6. Fixed the pitch=width assumption, thereby allowing proper operation under new
er
versions of Avisynth that modify the alignment rules (revisions kindly contribut
ed
by 'tritical').
7. Fixed the emulated header problem by properly parsing the pack or transport l
ayer
when getting the initial sequence header.
8. Corrected an error in the D2V format document (bits 6 and 7 of the per-frame
flags byte was erroneously reversed).
9. The process priority can now be changed in DGIndex during a Save Project oper
ation.
10. A bug in the PAT/PMT parser was repaired that could cause DGIndex to erroneo
usly
think that a PAT/PMT is not present.
11. Added the .vro and .mpv file types to the DGIndex open dialog.
12. Fixed the Reference IDCT (type 4). Changes by jackei derived from his latest
DVD2AVI version.
13. MPEG1 is now supported.
14. DGVfapi now supports multiple instantiation, i.e., multiple "fake" AVIs serv
ed
at the same time. It can also open AVS scripts as well as D2V files. Thanks to
"tritical" for these enhancements.
15. DGParse and DGFix have been integrated into a new menu pulldown of DGIndex
called "Tools".
16. The integrated DGParse info now shows the GOP structure, and properly shows
the effect of the field operations.
17. Fixed a bug such that during preview the info dialog did not show the audio
track information for transport streams and PVA streams.
18. The Detect PIDs dialog now has a "Done" button.
19. Fixed a bug in parsing of transport streams.
20. Removed YV12toYUY2() and YV12toRGB24() as they duplicate Avisynth native fil
ters.
21. In DGDecode.dll, replaced the buggy LumaFilter() with a new, optimized
LumaYV12() by ARDA.
22. Added a rudimentary playback speed control, for people with very fast machin
es
and who don't like watching their previews race by at 170 fps.
23. Added a new CLI parameter, -SD, which allows a custom delimiter character to
be set.
24. "Process WAV" functionality was removed, and SRC/normalization can no longer
be
applied to LPCM.
25. LPCM support was improved: 1) 48K/96K, 16bit/24/bit, and mono/stereo are now
supported.
2) The format info is included in the filename and the info dialog. 3) Demux Tra
ck and
Demux All now work for LPCM (no special handling). Menus and info boxes were
updated appropriately.
26. The D2V format version is now checked when loading a D2V file.
27. IDCT support was fixed: 1) The IDCT algorithm specified in the INI or D2V fi
le
is now not automatically promoted (e.g., previously if you had IDCT=1 in the INI
file
and then started DGIndex, you'd end up with IDCT=3). However, the IDCT is scaled
down
if it is not supported by the processor. 2) A bug in DGDecode was fixed that cau
sed
SSEMMX to be used when SSE2MMX was requested. 3) The IDCT algorithm is now consi
stently
numbered between the CLI, D2V, etc.
28. Added audio processing to the Quick Start guide.
29. Fixed a problem that caused failure of AC3 audio demuxing from a transport s
tream
if the audio stream was not contained in the PAT/PMT tables.
30. Fixed a problem in DGVfapi that caused conversion of AVS scripts to fail whe
n they
delivered RGB32. [fix by 'tritical']
[DAG July 11, 2005]
-------------------------DGMPGDec 1.3.0
Changes from version 1.2.1
-------------------------1. Added video demultiplexing to DGIndex.
2. Added exception handling to DGIndex and DGDecode to prevent
brutal crashing on an incomplete picture and other MPEG2 errors.
-BF
s to load,
one file per line with no extra white space
.
2. Previous fixes for stopping crashes when some corrupted files are
loaded broke proper decoding of files with a single I frame (stills), and
files with just a few frames. Those changes were backed out because it
is more important to get normal decoding of correct files working properly.
Nevertheless, I still want to properly address the crashing issue for
corrupt and truncated files, so please notify me if you run into
streams that cause DGDecode to crash at the end of a file. The current
workaround is to remove the last frame entry in the D2V file. My tests
all pass for stills and few-frame files with this change. Please notify me
if you experience any problems in that regard.
3. Some transport files were not being properly decoded due to a missing
check in the transport parser. This is repaired.
4. When quantizer matrix changes occur in a stream, random access would fail
in some cases, producing a corrupted frame. This has been repaired with the cave
at
that any file that changes quantizer matrices on the fly must send a sequence
header with every GOP. I have never seen any file that does not do this. Please
notify me if you find one (i.e., one that does not have a sequence header for
every GOP *and* changes quantizer matrices).
5. When processing a transport file with the video PID erroneously set to an
audio stream, DGIndex would declare that the file is not a transport stream
when trying to detect PIDs, and decoding would fail. This has been repaired.
Now a warning box pops up and advises the user to check his PIDs.
6. Fixed a bug in auto-loading from the CLI.
7. Added automatic detection of transport streams. Transport stream files can
now have any file extension.
8. The DC mode decision of postprocess deblocking was broken both horizontally
and vertically. It has been shown to produce objectionable artifacts.
This was repaired by correcting the decision code. (by "tritical")
9. Revised the file open method for the GUI (the CLI remains as before for
backward compatibility). Now, the open file dialog allows multiple selection.
The file names are automatically sorted in an intelligent way. Some further
enhancements may be needed, but I think this is moving in the right direction.
10. Added horizontal scrollbar to video list box.
11. Added "move up" and "move down" buttons to the video list box.
12. For the CLI: If -Exit is specified,
to write the -OF specified D2V file. If
remains open, an error box pops up, and
operation to allow the user to save the
13. At the end of a save D2v, preview, or play, a message box is no longer
popped up and the trackbar is not returned to the start.
14. Transport PIDs are now defaulted to 0x02 to prevent decoding a wrong stream
before the PIDs are set. But because PIDs are retained in the INI file, problems
can still arise. Please refer to the Transport Stream Notes file.
15. Added missing PID in filename for AC3 files demuxed from transport streams.
16. Corrected the audio delay calculation for transport files.
17. Removed icons from the title bar of popup message boxes.
18. Added more bullet-proofing for erroneously loading non-MPEG2 files.
19. The default directory for Save Project is now the same as the directory
from which the input file(s) was loaded. This works for both Open through the
menus and drag-and-drop.
20. Added the following fields to the Info display in DGIndex: picture size,
MPEG2 profile/level, picture coding structure, i.e., field or frame picture.
21. Fixed hang when doing Preview/Play/Save Project without a valid video PID.
22. Fixed hang when the audio PID is set before the video PID.
23. Incorporated tritical's changes to DGDecode as follows:
A) added info option to mpeg2source() to display info on frames
- example usage: mpeg2source(info=true)
B) iPP is a bool again. If it is not explicitly set to true or false then it
defaults to auto which switches between field/frame based pp based on the
progressive_frame flag
C) 4:2:2 input support
- can now correctly decode 4:2:2 input sources and correctly output it
to AviSynth as YUY2
*NOTE: mpeg2source() now throws an error on 4:4:4 input, it could handle
it
but AviSynth 2.5 does not have internal YUV 4:4:4 support
- 4:2:2 PLANAR post-processing support
D) Upsampling to 4:2:2 from 4:2:0 based on progressive_frame flag. Uses new
upConv parameter of mpeg2source().
- example
mpeg2source(upConv=true)
fixed
fixed
fixed
fixed