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 780620 - h264 encoding: artifacts in encoded stream
h264 encoding: artifacts in encoded stream
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gstreamer-vaapi
unspecified
Other Linux
: Normal major
: 1.11.90
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2017-03-27 21:22 UTC by sreerenj
Modified: 2017-03-28 18:01 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
encoder: h264: Fix B frame encoding artifacts (2.69 KB, patch)
2017-03-27 22:51 UTC, sreerenj
committed Details | Review

Description sreerenj 2017-03-27 21:22:39 UTC
This is an issue with gstreamer-vaapi against intel-vaapi-driver from git master.
Enabling B frames in encoding produces lot of artifacts. This is related with the Picture Order Count handling in gstreamer-vaapi. Fix is on the way.
Comment 1 sreerenj 2017-03-27 22:51:01 UTC
Created attachment 348843 [details] [review]
encoder: h264: Fix B frame encoding artifacts

encoder: h264: Fix B frame encoding artifacts
    
The current implementation is only updating the poc values in
Slice parameter Buffers. But we are not fillig the
picture order count and referece flags in VAPictureH264
while poupating VA Picture/Slice structures.The latest intel-vaapi-driver
is directly accessing the above fields from VAPicutreH264
provided as RefPicLists which resulted some wrong maths in driver
and caused prediction errors.
    
https://bugzilla.gnome.org/show_bug.cgi?id=780620
Comment 2 Víctor Manuel Jáquez Leal 2017-03-28 09:14:37 UTC
Review of attachment 348843 [details] [review]:

lgtm

Just in the commit message are a couple typos ;)

Two question:

Do you want me to push it, Sree?
This enhancements in the intel-driver, only applies for skylake or superior?
Comment 3 sreerenj 2017-03-28 17:48:02 UTC
(In reply to Víctor Manuel Jáquez Leal from comment #2)
> Review of attachment 348843 [details] [review] [review]:
> 
> lgtm
> 
> Just in the commit message are a couple typos ;)
> 

I will fix it, thanks :)

> Two question:
> 
> Do you want me to push it, Sree?

I am going to push it.

> This enhancements in the intel-driver, only applies for skylake or superior?

SKL/APL/KBL at the moment.
Other platforms still using the older code path and media kernels.
Comment 4 sreerenj 2017-03-28 18:00:27 UTC
Review of attachment 348843 [details] [review]:

Thanks for the review, pushed.
Comment 5 sreerenj 2017-03-28 18:01:20 UTC
commit dbbe340906008c5088d2c048c589e84bde829b62
Author: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
Date:   Tue Mar 28 10:53:20 2017 -0700

    encoder: h264: Fix B frame encoding artifacts
    
    The current implementation is updating the POC values only
    in Slice parameter Buffer.But we are not filling the
    picture order count and reference flags in VAPictureH264
    while populating VA Picture/Slice structures.The latest
    intel-vaapi-driver is directly accessing the above fields
    from VAPicutreH264 provided as RefPicLists, which resulted
    some wrong maths and prediction errors in driver.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=780620

Pushed, closing.