[Ffmpeg-devel] qp offsets (i,b,p)

Rich Felker dalias
Tue May 17 20:48:58 CEST 2005


On Tue, May 17, 2005 at 11:16:37AM -0700, Loren Merritt wrote:
> On Tue, 17 May 2005, Rich Felker wrote:
> >On Tue, May 17, 2005 at 04:03:08PM +0300, Tuukka Toivonen wrote:
> >>ffmpeg has options -b_qfactor, -i_qoffset, etc.
> >>They modify the QP (quantization parameter) value between different types
> >>of frames. Obviously this sometimes help, or the arguments wouldn't be
> >>there.
> [...]
> >As for I frames, they're very large, and if you want to keep bitrate
> >tightly constrained, you may want to use higher qp.
> 
> Yes. Though that should be a job for internal ratecontrol, not a priori 
> qp offsets.

Indeed, lavc's rate control tries to do this, and does a really nasty
job. I had to use I frame qp offset and scale to massively override
this in order to get acceptable quality when encoding vcd target.
Otherwise every I frame would look horrible, resulting in a hideous
2hz pulsating effect in the video. The params I finally ended up
using:

vi_qfactor=0.1:vi_qoffset=1.5

Basically this just forced I frames to have qp=2 or 3, except in very
high complexity scenes... I tried other methods but couldn't find
anything that worked, especially since negative offset didn't get
clipped and thus threw assertions for qp>0.

Rich





More information about the ffmpeg-devel mailing list