Selur
spamming old Newbie
Dabei seit: 13.03.2002
Beiträge: 10.932
|
|
DGMPGDec / DGIndex updates:) |
|
Zitat: |
The widely used tools DVD2AVI and MPEG2DEC suffer from serious problems, including frame loss. This can cause serious problems with audio sync and authoring with some tools. Not only that, but random frame access is not handled correctly and incorrect frames can be returned when navigating on the timeline via MPEG2DEC (and its clones).
There are three causes for the frame loss in the faulty versions.
DVD2AVI fails to flush out the final frame's digit to the D2V file before writing the 9 and closing. This causes one frame to to be lost at the end.
MPEG2DEC cuts two frames from the frame count as a workaround for 3 below. This is a kludgy hack that should not be necessary. Thus, thanks to this and 1 above, 3 frames will always be lost. They are lost at the end.
If the opening GOP has B frames before the first P frame (IBBPBBP...), then DVD2AVI generates an incorrect D2V file, in which the first digits for the orphaned B frames are not written and all the remaining digits are written out of place (shifted up by the number of orphaned B frames). Also, MPEG2DEC cannot decode the B frames prior to the first P frame, and so discards them. A number of frames will be lost equal to the number of B frames prior to the first P frame. They are lost at the beginning.
So, for example, if you edit a VOB and the resulting file has an IBBPBBP... opening GOP, you will lose a total of 5 frames, with 2 lost at the start and 3 lost at the end.
In addition to the lost frames, MPEG2DEC does not implement random frame access correctly. In fact it always throws away the first B frames in the GOP prior to the first P frame. If they are (say) frames 12 and 13 (in display order) and you try to seek to 12, MPEG2DEC will toss them and return frame 14 to you, without any warning or indication about it.
Finally, when 3 above applies the TFF/RFF flags in the D2V file are misaligned to the frames.
I have created fixed versions of DVD2AVI and MPEG2DEC3 that solve these problems. They are available here: |
DVD2AVI/MPEG2DEC Decoding Fix
Zitat: |
To fix these things, I started with DVD2AVI 1.77.3 and the MPEG2DEC3 1.10 from Nic's site. I rewrote the D2V file generation to be correct, even when the first GOP is of the form IBBPBBP.... I added a pop-up message box that appears if the first GOP is open. This warns that the first few frames may be decoded incorrectly.
I modified MPEG2DEC to not truncate B frames prior to the first P frame and to not unconditionally reduce the frame count by two. I rewrote the decoding and random access code to work correctly with the D2V files generated by the fixed DVD2AVI.
Refer to the file "Readme.txt" included in the distribution for further details. |
Cu Selur
__________________ Hybrid
|
|
15.09.2003 08:46 |
|
|
|
Selur
spamming old Newbie
Dabei seit: 13.03.2002
Beiträge: 10.932
Themenstarter
|
|
DGMPGDec Version 1.0.13b10 ist draußen
siehe: http://neuron2.net/fixd2v/decodefix.html
Zitat: |
---------------------------------------------------------
DGMPGDecVersion 1.0.13b10 Functional Changes
(versus DGMPGDec 1.0.12)
---------------------------------------------------------
1. A new CLI option for loading input files from a file list contained in a text file
was added as follows:
-Batch-Files -BF ([filelist]) Load batch of files.
The filelist file contains the list of files 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 caveat
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. 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)
*NOTES: it will only work if input is 4:2:0, if input is anything else
then the upConv parameter is ignored
E) BlindPP now supports YUY2 colorspace
F) other stuff:
- fixed blindPP syntax bug (x and X)
- fixed a small bug with showQ option
- fixed small memory leak with FrameList/GOPList not being free'd
- fixed a bug in the vertical chroma deblocking postprocessing
QP pointer being passed was incorrect for 4:2:0
- faster mmx 4:2:2 to packed YUY2 and YUY2 to planar 4:2:2 conversions
- info output would not work correctly if temporal_reference was not zero
based at the beginning of gops, it does now
[Donald Graft, January 15, 2005]
|
Cu Selur
__________________ Hybrid
|
|
16.01.2005 17:06 |
|
|
|
Dreamer 2002
DVDtoOgm&DVDtoMkv-Team
Dabei seit: 02.05.2002
Beiträge: 3.936
Herkunft: BW
|
|
Geilo!!! Super info
Nur momentan keine Zeit zum tasten!
Dreamer 2002
|
|
16.01.2005 17:29 |
|
|
empty
Super Moderator
Dabei seit: 14.04.2002
Beiträge: 1.879
|
|
HA, hat Donald rausgekriegt woran es liegt und gleich gefixt. Tolle Arbeit!
Viele Grüße bb empty
P.S.: Warum eigentlich in das SVCD-Forum, Selur?
__________________ The brain needs oxygen,
so why wear a tie?
|
|
17.09.2003 22:04 |
|
|
Selur
spamming old Newbie
Dabei seit: 13.03.2002
Beiträge: 10.932
Themenstarter
|
|
sollte eigentlich ins sonstige Forum, wo ich es jetzt auch hingeschoben habe
Cu Selur
__________________ Hybrid
|
|
17.09.2003 22:51 |
|
|
Selur
spamming old Newbie
Dabei seit: 13.03.2002
Beiträge: 10.932
Themenstarter
|
|
jetzt ist die Version 1.0.0 beta 16 Executables aktuell.
Cu Selur
__________________ Hybrid
|
|
28.09.2003 00:08 |
|
|
empty
Super Moderator
Dabei seit: 14.04.2002
Beiträge: 1.879
|
|
Sehr schön.
Mit der offenen GOP, das verstehe ich nicht. Wie kann denn sowas passieren? Starten die d2v nicht an I-Frames?
Kann man das nicht ändern?
Viele Grüße bb empty
__________________ The brain needs oxygen,
so why wear a tie?
|
|
28.09.2003 16:41 |
|
|
Selur
spamming old Newbie
Dabei seit: 13.03.2002
Beiträge: 10.932
Themenstarter
|
|
"Starten die d2v nicht an I-Frames?"
Doch aber B-Frames und manche P-Frames amchen wohl Probleme
Version 1.0.0 beta 18 Executables ist draussen
Cu Selur
__________________ Hybrid
|
|
01.10.2003 10:23 |
|
|
Selur
spamming old Newbie
Dabei seit: 13.03.2002
Beiträge: 10.932
Themenstarter
|
|
"Version 1.0.0 beta 20 Executables"
Nochamlw egen den Vobs, es kommt teilweise vor, das beim schneiden&co von vobs ne GOP kaputt geht und deshalb das ein I Frame fehlt.
Cu Selur
__________________ Hybrid
|
|
04.10.2003 12:09 |
|
|
empty
Super Moderator
Dabei seit: 14.04.2002
Beiträge: 1.879
|
|
Na dann kommt das bei mir aber recht häufig vor. DVD2AVIdg meckert bei jedem zweiten Video. Vermutlich schneidet DVD2AVI beim manuellen Projektgrenzen setzen doch nicht automatisch an Keyframes. Denn wenn ich teilweise etwas andere Grenzen setze, erstellt er anstandslos das d2v. Ich finde die Lösung von Donald mit den kopierten Frames aber ausreichend.
Viele Grüße bb empty
__________________ The brain needs oxygen,
so why wear a tie?
|
|
05.10.2003 19:15 |
|
|
Selur
spamming old Newbie
Dabei seit: 13.03.2002
Beiträge: 10.932
Themenstarter
|
|
jetzt gibt's die: Version 1.0.0 beta 21 Executables
Komisch, bei all meinen DVB encodes in letzter Zeit gab's keine Probleme und auch mein Equilibrium Encode hat wunderbar geklappt,..
Cu Selur
__________________ Hybrid
|
|
06.10.2003 06:33 |
|
|
Selur
spamming old Newbie
Dabei seit: 13.03.2002
Beiträge: 10.932
Themenstarter
|
|
Jetzt ist die Version 1.0.0 RC3 Executables draußen
Cu Selur
__________________ Hybrid
|
|
08.10.2003 10:39 |
|
|
Balm
DVDtoOgm&DVDtoMkv-Team
Dabei seit: 17.03.2002
Beiträge: 2.397
Herkunft: Sachsen
|
|
Danke!
Das ist doch eine 1.77er-Version von DVD2Avi, mal sehen ob DVDtoOgm die schluckt....
Cu Balm
EDIT: ICh seh gerade, dafür gibt's 'nen extra "Save as...." Menü-Eintrag
__________________
|
|
08.10.2003 14:20 |
|
|
empty
Super Moderator
Dabei seit: 14.04.2002
Beiträge: 1.879
|
|
Ich hoffe mal DVDtoOgm 1.4 versteht dann auch das DVD2AVI-Format in der 1.77-Version auch korrekt.
Viele Grüße bb empty
__________________ The brain needs oxygen,
so why wear a tie?
|
|
08.10.2003 16:51 |
|
|
Balm
DVDtoOgm&DVDtoMkv-Team
Dabei seit: 17.03.2002
Beiträge: 2.397
Herkunft: Sachsen
|
|
[off topic] Was ist eigendich so toll an der 1.77er Version? [/off topic]
Cu Balm
__________________
|
|
08.10.2003 16:54 |
|
|
empty
Super Moderator
Dabei seit: 14.04.2002
Beiträge: 1.879
|
|
Sieht besser aus und hat m.E. übersichtlichere Menüs. Was ist an der 1.76 besser?
Viele Grüße bb empty
__________________ The brain needs oxygen,
so why wear a tie?
|
|
08.10.2003 16:56 |
|
|
Balm
DVDtoOgm&DVDtoMkv-Team
Dabei seit: 17.03.2002
Beiträge: 2.397
Herkunft: Sachsen
|
|
Die von der 1.76er Version erstellten Projekte funktionieren überall...
Cu Balm
__________________
|
|
08.10.2003 17:02 |
|
|
empty
Super Moderator
Dabei seit: 14.04.2002
Beiträge: 1.879
|
|
Für diese Antwort gibt's gleich einen. *Klatsch*
Viele Grüße bb empty
__________________ The brain needs oxygen,
so why wear a tie?
|
|
08.10.2003 17:25 |
|
|
Balm
DVDtoOgm&DVDtoMkv-Team
Dabei seit: 17.03.2002
Beiträge: 2.397
Herkunft: Sachsen
|
|
Cu Balm
__________________
|
|
08.10.2003 17:28 |
|
|
Selur
spamming old Newbie
Dabei seit: 13.03.2002
Beiträge: 10.932
Themenstarter
|
|
Version 1.0.0 Executables
ist draußen!!!
Cu Selur
__________________ Hybrid
|
|
14.10.2003 15:41 |
|
|
|
|
|