We're using the MPEG2 video encoder to encode SD video in real-time.  Our
application uses GStreamer 1.0.6, which uses libav v0.8.5 and runs under
Windows 7/MinGW with an I7.

For most content, the encoder threads take less than 1/2 of one core.
 However, for some content, it needs 8 times as much.  The expensive scenes
have lots of texture and panning.

We'd like to find a combination of parameters that delivers reasonable
quality, while reducing the peak CPU use.  Another possibility is to
dynamically reduce quality for the hard scenes.

Any advice on parameter values and what can be done dynamically would be
greatly appreciated.

Here are our current parameters (in GStreamer terms):

bitrate                 3500000
interlaced              TRUE
max-bframes             1
gop-size                15
me-method               epzs
rtp-payload-size        0
pass                    cbr
quantizer               0.01
mb-decision             simple
mb-cmp                  sad
me-pre-cmp              sad
me-cmp                  sad
me-sub-cmp              sad
ildct-cmp               vsad
dct-algo                auto
idct-algo               auto
quant-type              h263
qmin                    2
qmax                    31
max-qdiff               3
lmin                    2
lmax                    31
qcompress               0.5
qblur                   0.5
rc-qsquish              1
rc-qmod-amp             0
rc-qmod-freq            0
rc-buffer-size          1835008
rc-buffer-aggressivity  1
rc-max-rate             3500000
rc-min-rate             3500000
rc-initial-cplx         0
rc-eq                   tex^qComp
b-quant-factor          1.25
b-quant-offset          1.25
i-quant-factor          0.8
i-quant-offset          0
max-key-interval        0
luma-elim-threshold     0
chroma-elim-threshold   0
lumi-masking            0
dark-masking            0
temporal-cplx-masking   0
spatial-cplx-masking    0
p-masking               0
dia-size                0
pre-dia-size            0
last-predictor-count    0
pre-me                  key
me-subpel-quality       8
me-range                0
intra-quant-bias        999999
inter-quant-bias        999999
noise-reduction         1500
intra-dc-precision      0
flags                   0
trellis                 1
thread-count            10

Thanks,
Michael
-- 
* Michael **Rubinstein  *|
* w:*       *e:* [email protected]
_______________________________________________
libav-api mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-api

Reply via email to