GNOME Bugzilla – Bug 722404
cover more H.264 baseline profile clips of decoder
Last modified: 2018-11-03 15:44:31 UTC
Created attachment 266538 [details] [review] h264-dec-add-more-checks-from-pps-for-hardware-profi.patch Since driver only support constrained-baseline profile of H.264 for decoder. all other baseline clips would be disabled. This broke most baseline clips which mark constraint_set1_flag=0 but actually don't have FMO/ASO/RS. From spec, if num_slice_groups_minus1 of picture parameter is 0, FMO/ASO are disabled. If redundant_pic_cnt_present_flag disabled(=0) RS will not appear. Then if checked the 2 fields both set to 0, we can mark them as a constrained-baseline profile for hardware to decode, which can cover more clips for HW decoder. Patch attached. please review.
Created attachment 320456 [details] [review] decoder: h264: more checks from pps for hw profile Baseline profile without constraint_set1_flag = 1, without num_slice_groups_minus1 and redundant_pic_cnt_present_flag, still can fallback hardware profile of constrained-baseline. Since driver only supports constrained-baseline profile of H.264 for decoder, all other baseline clips would be disabled. This broke most baseline clips which mark constraint_set1_flag=0 but actually don't have FMO/ASO/RS. From spec, if num_slice_groups_minus1 of picture parameter is 0, FMO/ASO are disabled. If redundant_pic_cnt_present_flag disabled (=0) RS will not appear. Then if checked the 2 fields both set to 0, we can mark them as a constrained-baseline profile for hardware to decode, which can cover more clips for decode.
I have rebased the patch, but I'm not sure if it is still valid since the current hardware supports more H264 profiles. I would like to have some samples to test this feature.
Moving to Product:GStreamer, Component:gstreamer-vaapi
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/9.