GNOME Bugzilla – Bug 766048
Add VP9 Encoding support
Last modified: 2016-05-30 12:07:17 UTC
This is a place holder to track VP9 encoding support in gstreamer-vaapi.
Created attachment 328421 [details] [review] build: Add check for VP9 encode API support in libva
Created attachment 328422 [details] [review] encoder: vp9: Add vp9 encoder support in libgstvaapi
Created attachment 328423 [details] [review] encoder: vp9: Add vp9 encoder element to "vaapi" plugin
Created attachment 328424 [details] [review] encoder: vp9: Add more propertis for tuning encode quality
Created attachment 328425 [details] [review] encoder: vp9: Define Max frame width and height
Created attachment 328426 [details] [review] encoder: vp9: Add some simple algorithams for reference picture selection
The vaapi-intel-driver patches are landed in mailing list: https://lists.freedesktop.org/archives/libva/2016-May/003977.html Once those land in master , I can push the gstreamer-vaapi patches too.
commit 76c2e5fdb5095e67067572725897faa7b833d76a Author: Sreerenj Balachandran <sreerenj.balachandran@intel.com> Date: Mon May 30 11:30:40 2016 +0300 encoder: vp9: Add simple algorithms for reference picture selection Added two modes(as properties) for reference picture selection: ref-mode-0: AltRef and GoldRef pointing to the recent keyframe and LastRef is pointing to the previous frame. ref-mode-1: Previous frame (n) as LastRef , n-1 th frame as GoldRef and n-2 th frame as AltRef https://bugzilla.gnome.org/show_bug.cgi?id=766048 commit 5dc63dbf5a0efa8d8e20839ebf1a64b6bd48d787 Author: Sreerenj Balachandran <sreerenj.balachandran@intel.com> Date: Mon May 30 11:25:52 2016 +0300 encoder: vp9: Define Max frame width and height https://bugzilla.gnome.org/show_bug.cgi?id=766048 commit 1606d4bd779701c9450a00bd6143441da43f8efe Author: Sreerenj Balachandran <sreerenj.balachandran@intel.com> Date: Mon May 30 11:25:03 2016 +0300 encoder: vp9: Add more propertis for tuning encode quality Added three tuning properties: 1: filter_level 2: sharpness_level 3: luma ac quant-table index https://bugzilla.gnome.org/show_bug.cgi?id=766048 commit 4464d81b6a300db3c6cc77d37557dc39d3d2195d Author: Sreerenj Balachandran <sreerenj.balachandran@intel.com> Date: Mon May 30 11:24:14 2016 +0300 Add vp9 encode element to "vaapi" plugin https://bugzilla.gnome.org/show_bug.cgi?id=766048 commit 221fb9351a9563a221bf4981cc0223627c252658 Author: Sreerenj Balachandran <sreerenj.balachandran@intel.com> Date: Mon May 30 11:23:12 2016 +0300 Add vp9 encoder support in libgstvaapi https://bugzilla.gnome.org/show_bug.cgi?id=766048 commit 266650054aa365141e4e7a26bcca9514671ce810 Author: Sreerenj Balachandran <sreerenj.balachandran@intel.com> Date: Mon May 30 11:22:35 2016 +0300 build: Add check for VP9 encode API support in libva https://bugzilla.gnome.org/show_bug.cgi?id=766048
In "Define max width and height" you changed the values as well - it would be nice to mention why in the commit message next time :)
(In reply to Tim-Philipp Müller from comment #9) > In "Define max width and height" you changed the values as well - it would > be nice to mention why in the commit message next time :) Yup, will do :) In theory we can have a max resolution as indicated in max_frame_width/max_frame_height and then it is possible to dynamically change the frame resolution of each frame. But we are not supporting this yet. So i just defined a hard limit for now based on what the driver currently supports for the specific platform(KBL [1]) which is 4k. The initial values 8k were used by some sample test cases i have seen in libva which is wrong as per the current vaapi-intel-driver implementation. [1]: https://en.wikipedia.org/wiki/Kaby_Lake