GNOME Bugzilla – Bug 780620
h264 encoding: artifacts in encoded stream
Last modified: 2017-03-28 18:01:20 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.
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
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?
(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.
Review of attachment 348843 [details] [review]: Thanks for the review, pushed.
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.