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 619290 - [vp8] add mode property to switch between CBR/VBR
[vp8] add mode property to switch between CBR/VBR
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Linux
: Normal normal
: 0.10.19
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2010-05-21 13:21 UTC by Philip Jägenstedt
Modified: 2010-05-21 20:24 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
patch (3.96 KB, patch)
2010-05-21 13:21 UTC, Philip Jägenstedt
committed Details | Review

Description Philip Jägenstedt 2010-05-21 13:21:01 UTC
Created attachment 161641 [details] [review]
patch

see commit message
Comment 1 Sebastian Dröge (slomo) 2010-05-21 14:09:23 UTC
Review of attachment 161641 [details] [review]:

::: ext/vp8/gstvp8enc.c
@@ +679,3 @@
       cfg.rc_min_quantizer = 63 - encoder->quality * 5.0;
       cfg.rc_max_quantizer = 63 - encoder->quality * 5.0;
       cfg.rc_target_bitrate = encoder->bitrate;

In so we have VBR with the quality property & mode==vbr, ABR with bitrate & mode==vbr and CBR with bitrate & mode==cbr?

Is it maybe useful to allow values between VPX_VBR and VPX_CBR and set quantizers when using a target bitrate?

Other than that I think something like this is a good idea.
Comment 2 Philip Jägenstedt 2010-05-21 14:39:20 UTC
It's possible that tweaking the quantizers even when using a target bitrate has useful results, but that would require lots of testing to find reasonable defaults. If such defaults could be found, then arguably they should be in libvpx itself, so that it could benefit everyone.

About CBR/VBR, I think that perhaps it should be made to include 2-pass. 2-pass CBR makes no sense. Some other encoder elements seem to have a setting which goes something like this.

0. 1-pass CBR
2. 1-pass VBR
3. 2-pass VBR, pass 1
4. 2-pass VBR, pass 2

Perhaps that's what we should do. 2-pass would seem to be a pain to integrate into something like Transmageddon though, as all encoder elements have different ways of setting pass 1/2 and getting the log/stats file in/out.
Comment 3 Sebastian Dröge (slomo) 2010-05-21 20:24:15 UTC
commit 17ab21dae3e1b44562aba361c003991571dab544
Author: Philip Jägenstedt <philipj@opera.com>
Date:   Fri May 21 15:17:46 2010 +0200

    vp8enc: add mode property to switch between CBR/VBR
    
    Always using CBR when bitrate is used isn't that great, VBR mode
    can produce meaningful results too.