[Mesa-dev] [PATCH] st/va: H.264 baseline profile is not supported

Mark Thompson sw at jkqxz.net
Sun Sep 25 11:25:03 UTC 2016


H.264 constrained baseline is, so use that instead.
---
On decode, FMO doesn't work - it's commented out at <https://cgit.freedesktop.org/mesa/mesa/tree/src/gallium/state_trackers/va/picture_h264.c#n79>, and I doubt it is supported by the hardware anyway.

On encode, it seems to use constrained baseline profile anyway - constraint_set1_flag appears to be set in all output streams.  (Testing with AMD VCE on a Bonaire card.)

Therefore, remap the thing called baseline to constrained baseline in VAAPI, which distinguishes between them.

I'm open to this not being the right way to fix this; the important thing to change is that the decoder should advertise constrained baseline instead of baseline in vaQueryConfigProfiles() and then support VAProfileConstrainedBaseline.

Thanks,

- Mark


 src/gallium/state_trackers/va/va_private.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/gallium/state_trackers/va/va_private.h b/src/gallium/state_trackers/va/va_private.h
index 7562e14..c9a6a41 100644
--- a/src/gallium/state_trackers/va/va_private.h
+++ b/src/gallium/state_trackers/va/va_private.h
@@ -141,7 +141,7 @@ PipeToProfile(enum pipe_video_profile profile)
    case PIPE_VIDEO_PROFILE_VC1_ADVANCED:
       return VAProfileVC1Advanced;
    case PIPE_VIDEO_PROFILE_MPEG4_AVC_BASELINE:
-      return VAProfileH264Baseline;
+      return VAProfileH264ConstrainedBaseline;
    case PIPE_VIDEO_PROFILE_MPEG4_AVC_MAIN:
       return VAProfileH264Main;
    case PIPE_VIDEO_PROFILE_MPEG4_AVC_HIGH:
@@ -183,7 +183,7 @@ ProfileToPipe(VAProfile profile)
       return PIPE_VIDEO_PROFILE_VC1_MAIN;
    case VAProfileVC1Advanced:
       return PIPE_VIDEO_PROFILE_VC1_ADVANCED;
-   case VAProfileH264Baseline:
+   case VAProfileH264ConstrainedBaseline:
       return PIPE_VIDEO_PROFILE_MPEG4_AVC_BASELINE;
    case VAProfileH264Main:
       return PIPE_VIDEO_PROFILE_MPEG4_AVC_MAIN;
-- 
2.9.3



More information about the mesa-dev mailing list