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 722735 - encoder: h264: fix ip_period value in sequence parameter buffer
encoder: h264: fix ip_period value in sequence parameter buffer
Status: RESOLVED FIXED
Product: gstreamer-vaapi
Classification: Other
Component: general
git master
Other Linux
: Normal normal
: ---
Assigned To: gstreamer-vaapi maintainer(s)
gstreamer-vaapi maintainer(s)
Depends on:
Blocks: 719412 722087
 
 
Reported: 2014-01-21 22:25 UTC by Gwenole Beauchesne
Modified: 2014-01-22 18:13 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Gwenole Beauchesne 2014-01-21 22:25:29 UTC
The VAEncSequenceParameterBufferH264.ip_period value is incorrectly set to 0. This is an invalid number even for streams that don't contain B-frames. It should be derived as follows: 1 + encoder->num_bframes.

The VA driver relies on this to correctly maintain per slice-type statistics for rate control.
Comment 1 Gwenole Beauchesne 2014-01-21 22:27:03 UTC
VA driver patches are also needed to correctly handle cases where (intra_period % ip_period) != 0 in presence of B-frames. In particular, the gaps/remainder should be filled in with P-frames.
Comment 2 Gwenole Beauchesne 2014-01-22 18:13:12 UTC
commit d9cf58e88a88a44168044c5f0a5a9da9943ec523
Author: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
Date:   Tue Jan 21 17:35:24 2014 +0100

    encoder: h264: fix ip_period value in sequence parameter.
    
    The VAEncSequenceParameterBuffer.ip_period value reprents the distance
    between the I-frame and the next P-frame. So, this also accounts for
    any additional B-frame in the middle of it.
    
    This fixes rate control heuristics for certain VA drivers.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=722735