libs: h265parser: Fix a bug for getting extension profile.
authorHe Junyan <junyan.he@hotmail.com>
Fri, 20 Mar 2020 08:41:16 +0000 (16:41 +0800)
committerGStreamer Merge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Tue, 28 Apr 2020 13:54:11 +0000 (13:54 +0000)
We should use the traget ExtensionProfile's IDC to check the
profile_compatibility_flag, rather than the profile_idc in the
stream. The old profile_compatibility_flag check always return
true. This causes that profiles with same constraint flags but
different profile_idc can't be recognized correctly. For example,
the screen-extended-main-444 profile is always be recognized as
the high-throughput-444 profile.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1121>

gst-libs/gst/codecparsers/gsth265parser.c

index b134fae..c0c8615 100644 (file)
@@ -3386,7 +3386,7 @@ get_format_range_extension_profile (GstH265ProfileTierLevel * ptl)
 
     if (extra_constraints == 0 &&
         (p.profile_idc == ptl->profile_idc
-            || ptl->profile_compatibility_flag[ptl->profile_idc])) {
+            || ptl->profile_compatibility_flag[p.profile_idc])) {
       result = p.profile;
       break;
     }