Page 1 of 1

Reliable use of deinterlacing a stream with pulldown flags

Posted: Fri Apr 29, 2011 11:53 pm
by frnando
I was trying to use DGDecNV to deinterlace a mostly interlaced stream, when I detected that the framecount after deinterlacing is lower than before.

After some search, I found that the DGIndexNV found some pulldown flags inside the stream, and when I order it to deinterlace it just ignores the pulldown flags, making the deinterlaced output useless regarding audio sync.

Reading the manual, I found that DGDecNV ignore the pulldown flags when GPU deinterlacing is active.

I imagine that the pulldown is probably handled outside the CUDA decoding core, and understand too that if we process pulldown correctly we'll generate interlaced patterns AFTER the CUDA's processed deinterlaced frames, which is nonsense.

Not sure if I understood correctly the problem, but in this case (deinterlace=true & pulldown flags), wouldn't be more practical if we respect "partially" the pulldown flags, just repeating a full frame, instead of using half A / half B frames (which create an interlaced frame)? I'm just brainstorming, I didn't even know if this would be possible!

Like DGDecNV is working right now, my considerations would be: "If the stream has pulldown flags - DON'T DEINTERLACE IT USING GPU!". Or we'll certainly generating an audio sync problem. Am I Correct?

Best Regards,

Fernando

Re: Reliable use of deinterlacing a stream with pulldown fla

Posted: Sat Apr 30, 2011 8:54 am
by admin
Can you give me a stream that will allow me to duplicate your issue?

Re: Reliable use of deinterlacing a stream with pulldown fla

Posted: Tue May 31, 2011 6:58 pm
by cmp66
I am not sure if I have the same issue.

Recently, one of the channels I capture transitioned from 720p to 1080i. This is an ABC station in the US, however the source signal from ABC is 720p, so the station is upscaling the video. When I attempt to index the video I get the following

SIZ 1920 x 1088
FPS 30000 / 1001
CODED 200945
PLAYBACK 201292
0.69% FILM

The result is that video frames are not encoded by x264 and I lose audio sync. I assume this is due to some live vs "film" (30 fps) content in the stream.

I know stream has issues, but is there something I can do to fix this for my encodes?

Re: Reliable use of deinterlacing a stream with pulldown fla

Posted: Tue May 31, 2011 8:36 pm
by admin
Please post a link to a stream sample that contains the transition. I doubt that a captured broadcast stream would actually change resolution like that.

I don't know why people make me ask for streams, especially when the post immediately above asks for one!

Re: Reliable use of deinterlacing a stream with pulldown fla

Posted: Wed Jun 01, 2011 6:07 am
by cmp66
Sorry, here is a sample with 2 frames that have the problem:

It happens during the program itself, I had originally thought it may be occurring around commercial transitions.

http://www.wahoosoftware.com:6754/stuff/sample2.mpg

The stream was captured using HDHomerun and cut using VideoRedo if that makes any difference.

Re: Reliable use of deinterlacing a stream with pulldown fla

Posted: Wed Jun 01, 2011 7:21 am
by admin
Preliminary indication is that the stream is illegal because rff must per spec be 0 for progressive_sequence=0 with progressive_frame=0.

I want to look at it some more though, before advising what you can do.

Re: Reliable use of deinterlacing a stream with pulldown fla

Posted: Wed Jun 01, 2011 12:47 pm
by laserfan
cmp66 wrote:The result is that video frames are not encoded by x264 and I lose audio sync.
Why not simply encode it as interlaced?

Re: Reliable use of deinterlacing a stream with pulldown fla

Posted: Tue Jun 07, 2011 12:23 am
by cmp66
neuron2 wrote:Preliminary indication is that the stream is illegal because rff must per spec be 0 for progressive_sequence=0 with progressive_frame=0.

I want to look at it some more though, before advising what you can do.
Just wondering if you have any suggestions, I would not prefer to encode interlace, I usually encode these caps to 60fps progressive.