[x264-devel] [PATCH] disable bframe adaptive can't work

Loren Merritt lorenm at u.washington.edu
Thu Jul 12 21:21:09 CEST 2007


On Tue, 10 Jul 2007, Limin Wang wrote:

> After disable adaptive B-frame decision, I can't get conservitive B-frames
> between I and P by --bframes. Attached is a patch to fix it, please
> review it.

Before you go any further into trying to fix it, can you specify 
what's wrong and some conditions to reproduce the problem? Because I 
don't see anything wrong with the behaviour as it is now.

Yes, scenecut detection can modify the number of consecutive B-frames. 
This is intentional. There's no point in using bidirectional prediction 
across a scenecut, since any one frame will be on one side or the other of 
the scenecut, and can only benefit from prediction from frames on that 
side.
You might complain that the scenecut detection algorithm depends on the 
number of B-frames (in that it depends on the amount of change between 
frames, and a pair of frames that are temporally farther apart will have 
more change), which can (in certain high-motion scenes without real 
scenecuts) lead to scenecut triggering when given N consecutive B-frames 
but then renouncing its decision and allowing N-1 B-frames to not be a 
scnenecut. But while this may not be the intuitive meaning of 
"non-adaptive B-frames", afaict it is the optimal behaviour: you don't 
want to use so many B-frames that it forces the non-B-Frames to be intra.

--Loren Merritt
_______________________________________________
x264-devel mailing list
x264-devel at videolan.org
http://mailman.videolan.org/listinfo/x264-devel


More information about the x264-devel mailing list