GNOME Bugzilla – Bug 797202
vaapi: libs: h264: Update H.264 level table with 6, 6.1 and 6.2.
Last modified: 2018-10-09 15:28:53 UTC
Created attachment 373759 [details] [review] Patch for updating H.264 levels Hi, I don't know if it is intentional or makes any difference. But I noticed that the VAAPI H.264 levels table is not updated to the latest specs. It is missing the 6, 6.1 and 6.2 levels. This patch will update the level with the latest values. I also noticed that gstvaapiutils_h264.c uses g_debug instead of GST_DEBUG. Is it intentional? Best Matteo Valdina
(In reply to Matteo Valdina from comment #0) > I also noticed that gstvaapiutils_h264.c uses g_debug instead of GST_DEBUG. > Is it intentional? In the past there were efforts to convert libgstvaapi into a non-gst library. So they are leftovers of that intention. Please, post a patch for that. Thanks! Did you test some streams decoding/encoding with those levels?
I'll give a look. Thanks No, I tested up to 4K@30 that it is level 5.1. As per my understanding the Intel HD 630 support up to 5.1 (and not 5.2). (https://en.wikichip.org/wiki/intel/hd_graphics_630). A level like 6 and up are for a bigger resolution for example 8K@30.
Created attachment 373774 [details] [review] Patch for replacing g_debug with GST_DEBUG.
Review of attachment 373774 [details] [review]: I think all these g_debug should be turned in GST_WARNING since those logs are really warnings...
Comment on attachment 373759 [details] [review] Patch for updating H.264 levels pushed attachment 373759 [details] [review] as commit b1b36a44 - libs: h264: Update level table to "Recommendation H.264 (04/17)".
Hi Victor, I'm not 100% sure. I saw that these functions are used without checking if the input parameters are valid. And after all, they return a value that means the specific function fails. For example, in the gst_vaapi_utils_h264_get_profile case: This function is called for each vaapi profile. This includes VP8, VP9, H265 and etc. So this function fails in the normal scenario and returns zero. The caller properly handles the failure and move on.
(In reply to Matteo Valdina from comment #6) > Hi Victor, > I'm not 100% sure. I saw that these functions are used without checking if > the input parameters are valid. > And after all, they return a value that means the specific function fails. > > For example, in the gst_vaapi_utils_h264_get_profile case: > > This function is called for each vaapi profile. This includes VP8, VP9, H265 > and etc. > So this function fails in the normal scenario and returns zero. The caller > properly handles the failure and move on. Fair enough. (sorry for the late review!)
attachment 373774 [details] [review] pushed as commit 5567a3d2 - libs: Move from g_debug to GST_DEBUG.