Log in

View Full Version : How to create a progressive/interlaced hybrid H264 encode?


qyqgpower
19th July 2008, 06:44
We all know that many DVD contents are progressive/interlaced hybrid. For example, the main part of the movie is 24p FILM and the credits part is purely interlaced.

In traditional, it is suggested that we should deinterlace the later part and then feed the whole content to encoder.

But in fact, deinterlace before encoding is a very annoying process, especially on those pull down background+purely interlaced credits sources. Although thetoof have written the AnimeIVTC script to deal with these problems, but it is slow like hell and hard to tuning.

Since x264 and many other H264 encoders support interlaced(field or MBAFF) coding, is it a good idea to just keep the interlaced part and let the decoder do bob or whatever to deinterlace it?

I tried to join x264-encoded progressive part and mainconcept-encoded interlaced part together(what a horrible thought:D) and failed. So any ideas to create a progressive/interlaced hybrid H264 encode?:p

akupenguin
19th July 2008, 06:58
I tried to join x264-encoded progressive part and mainconcept-encoded interlaced part together(what a horrible thought:D) and failed.
That should have worked. It's certainly legal according to the h264 spec. (Of course decoders don't get a lot of testing with such cases.) Maybe you're missing a --sps-id, if muxing to a format that requires global headers and the muxer isn't smart enough to rename the sps by itself?

qyqgpower
19th July 2008, 07:16
mkvmerge throws this warning:

Warning: The track number 1 from the file 'K:\KIBA_1498\7\test_out.mp4' can probably not be appended correctly to the track number 1 from the file 'K:\KIBA_1498\7\2ndpass.mp4': The codec's private data does not match (lengths: 56 and 39). Please make sure that the resulting file plays correctly the whole time. The author of this program will probably not give support for playback issues with the resulting file.

2ndpass.mp4 is the progressive encode and test_out.mp4 is the interlaced one.

Only garbage is displayed when playback after the join point.