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 641405 - [vp8enc] patch - allow to use best quality
[vp8enc] patch - allow to use best quality
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Linux
: Normal normal
: 0.10.23
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2011-02-03 21:21 UTC by Oleksij Rempel
Modified: 2011-05-18 11:28 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
patch - vp8enc_quality.diff v1 (630 bytes, patch)
2011-02-03 21:21 UTC, Oleksij Rempel
none Details | Review
patch - vp8enc_quality.diff v2 (1017 bytes, patch)
2011-02-04 10:20 UTC, Oleksij Rempel
committed Details | Review
vp8enc_quantizer (3.60 KB, patch)
2011-02-09 11:06 UTC, Oleksij Rempel
none Details | Review
vp8enc_quantizer v2 (3.93 KB, patch)
2011-02-09 11:13 UTC, Oleksij Rempel
committed Details | Review

Description Oleksij Rempel 2011-02-03 21:21:39 UTC
Created attachment 180023 [details] [review]
patch - vp8enc_quality.diff v1

The quality setting in vp8enc disable bitrate handling set static quantizer.

see this part of code, gstvp8enc.c:
      cfg.rc_min_quantizer = 63 - encoder->quality * 5.0;
      cfg.rc_max_quantizer = 63 - encoder->quality * 5.0;

Current max quality is 10. vpx allow quantizer range 0-63, This mean 63 - 10 * 5.0 = 13, this make not really good quality.
If we allow quality 12.4, this will make quantizer=1, also best possible quality.
Comment 1 Oleksij Rempel 2011-02-04 10:20:57 UTC
Created attachment 180057 [details] [review]
patch - vp8enc_quality.diff v2

This patch just shift conversation values to make use of best possible quantizer.
Comment 2 Oleksij Rempel 2011-02-09 11:06:29 UTC
Created attachment 180451 [details] [review]
vp8enc_quantizer

I desided to replace quality patch with qunatizer patch. This make possible all variations user may wish.
Comment 3 Oleksij Rempel 2011-02-09 11:13:50 UTC
Created attachment 180452 [details] [review]
vp8enc_quantizer v2

Forgot to include ext/vp8/gstvp8enc.h to the patch.
Comment 4 Oleksij Rempel 2011-05-18 07:57:07 UTC
The quantize patch should be a part of patch set needed to reproduce setting recommended for realtime encoding and streaming.

http://www.webmproject.org/tools/encoder-parameters/
vpxenc  input_640_480_15fps.yuv -o output_vp8.webm \
  --i420 -w 640 -h 480 -p 1 -t 4 \
  --rt --cpu-used=4 --end-usage=cbr --target-bitrate=500 \
  --fps=15000/1001 --undershoot-pct=95 \
  --buf-sz=6 --buf-initial=4 --buf-optimal=5 -v \
  --kf-max-dist=999999 \
  --min-q=4 --max-q=56
Comment 5 Sebastian Dröge (slomo) 2011-05-18 11:28:38 UTC
commit 23f9286d8878070aca565e6d27cb2cc1cbe3a9d1
Author: Sebastian Dröge <sebastian.droege@collabora.co.uk>
Date:   Wed May 18 13:27:20 2011 +0200

    vp8enc: Name max/min quantizer properties {max,min}-quantizer
    
    Also improve quality property description.

commit 1b650b6486f1c681a3731e3ad2da54c65602247e
Author: Alexey Fisher <bug-track@fisher-privat.net>
Date:   Wed May 18 13:26:23 2011 +0200

    vp8enc: Add properties to select a maximum and minimum quantizer
    
    Fixes bug #641405.

commit a9ea8823078321f275a99efec2be75599d1427fb
Author: Alexey Fisher <bug-track@fisher-privat.net>
Date:   Wed May 18 13:18:58 2011 +0200

    vp8enc: Fix quality to (constant) quantizer mapping
    
    This now allows to select all possible quantizers between
    0 and 63.
    
    See bug #641405.