After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 670108 - vp8enc: better defaults, more presets/profiles
vp8enc: better defaults, more presets/profiles
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
git master
Other Linux
: Normal enhancement
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
: 680817 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2012-02-14 23:22 UTC by Tim-Philipp Müller
Modified: 2018-11-03 14:45 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Tim-Philipp Müller 2012-02-14 23:22:22 UTC
Just some quick comments on our default values from an e-mail exchange with Ronald:

>  mode                : Mode
>  Enum "GstVP8EncMode" Default: 0, "vbr"
>  (0): vbr  - Variable Bit Rate (VBR) mode
>  (1): cbr -  Constant Bit Rate (CBR) mode

You may want to look into CQ mode (2) also.

>  max-keyframe-distance: Maximum distance between key frames
>  Integer. Range: 0 - 9999 Default: 60

60 is quite low (for high-quality encodes), any particular reason for that?

I think in our tests and on webmproject.org, we recommend 120 frames
as kf interval.

>  multipass-mode      : Multipass encode mode
>  Enum "GstVP8EncMultipassMode" Default: 0, "one-pass"
>  (0): one-pass         - One pass encoding (default)
>  (1): first-pass       - First pass of multipass encoding
> (2): last-pass        - Last pass of multipass encoding

Can the default be changes to 2pass? We really do all our internal
testing for high-quality encodes on 2pass, it'll generate much better
output (in the range of >1dB difference).

(tpm: can't ever default to 2-pass, since that requires co-operation by the application. 2-pass can only ever be opt-in)


>  auto-alt-ref-frames : Automatically create alternative
>     reference frames
>  Boolean. Default: false

This isn't a good idea, alt-refs by themselves will also cause several
tenths of dB difference (in a positive way), I'd highly recommend you
turn them on for high-quality (2pass) encodes.

(tpm: only for high-quality 2-pass encodes? BBB: yes)


>  lag-in-frames  : If set, this value allows the encoder to consume
> a number of input frames before producing output frames.
>  Unsigned Integer. Range: 0 - 64 Default: 0

Probably want to up this to e.g. 25 for high-quality encodes (unless 0
means 'don't touch').

(tpm: I think 0 means whatever the library default is, someone needs to check this)


>  tune                : Tune
>  Enum "GstVP8EncTune" Default: 0, "psnr"
>  (0): psnr             - Tune for PSNR
>  (1): ssim             - Tune for SSIM

Minor nit, most people would claim ssim is a better default here, but
it's not that relevant.

I see you haven't mapped the ARNR options, which provide a quality
boost for noisy input (without affecting noiseless input much), are
you guys interested in exposing these options also? They affect the
way the alt-ref frame is used.

(tpm: might be good for input from webcams - though what would be even better if we could detect that kind of input and switch to that mode automatically)

Other possibly interesting pages:
 http://www.webmproject.org/tools/encoder-parameters/
Comment 1 Sebastian Dröge (slomo) 2012-09-16 08:37:40 UTC
Most of this is fixed now, only thing missing is adding some useful presets to vp8enc. Which set, e.g. for high-quality encodings, the suggestions mentioned above (lag-in-frames, arnr, etc).
Comment 2 Sebastian Dröge (slomo) 2012-09-16 08:45:58 UTC
*** Bug 680817 has been marked as a duplicate of this bug. ***
Comment 3 GStreamer system administrator 2018-11-03 14:45:51 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/58.