DVBTechnics Forum
Where is the code that discards "useless B Frames" - I want to suppress this. - Druckversion

+- DVBTechnics Forum (https://forum.dvbtechnics.info)
+-- Forum: Offizieller Software-Support (https://forum.dvbtechnics.info/forumdisplay.php?fid=6)
+--- Forum: Project X (https://forum.dvbtechnics.info/forumdisplay.php?fid=20)
+--- Thema: Where is the code that discards "useless B Frames" - I want to suppress this. (/showthread.php?tid=5459)



Where is the code that discards "useless B Frames" - I want to suppress this. - steveB - 27.09.2016

I am attempting to convert video which has been recorded onto DVD-R (it was the only way we could archive old home VHS tapes).

It turns out that these have an annoying feature - the timecodes are reset at every GOP.

This causes Project-X to re-sync at every GOP
In the process of doing this Project-X always discards some "useless B-frames" (regardless of the settings used).

Of course this would normally be the correct thing to do as the timecode discontinuity normally means there has been an edit or change of content.

But with the DVD-R this is not desired. It means that valid data gets thrown away.
If this happened once it wouldn't matter, but it happens at every GOP.

This results in either lost video, lost sound or corrupted output (depending on the other settings).

What I would like to do is make a modified version of Project-X which simply keeps all the B frames, with adjusted timecodes of course.

I know that the source data is actually all valid so this should result in a complete playable file.

Where should I look in the source to disable the code which throws away the "useless" B frames?

I can edit it myself.
But on Windows there is no simple way to search the source code for the correct section(s) of code.

I don't need to do anything very clever.
Just a simple hack to disable this function and I can compile a special version for this one task.

Many thanks if anyone can point me in the right direction.

PS. It seems that DVD-R recorders all do this (I've tried a few).
I think it is due to the primitive "editing" options which are available on the DVD-R machines.
I think that they always cut / edit at GOP boundaries.
The recorders make every new GOP "start again" to simplify things. Then it doesn't matter what cuts / changes are made later, the video will have identical structure.
And the players seem to completely ignore the discontinuities (because they are just expecting a single continuous stream and aren't designed to handle edits).


Where is the code that discards "useless B Frames" - I want to suppress this. - dvb.matt - 04.12.2016

I think it's not done easily (stop dropping)
a) i assume the timecode is always resetted at this point.(not seamless)

AFAIR In gop.java is the "broken link" query the POI.
but if a) then it doesn't solve the problem