diff options
-rw-r--r-- | src/gallium/state_trackers/va/context.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/gallium/state_trackers/va/context.c b/src/gallium/state_trackers/va/context.c index a7a55f96139..0a733b39004 100644 --- a/src/gallium/state_trackers/va/context.c +++ b/src/gallium/state_trackers/va/context.c @@ -167,6 +167,11 @@ vlVaCreateContext(VADriverContextP ctx, VAConfigID config_id, int picture_width, templat.max_references = num_render_targets; templat.expect_chunked_decode = true; + if (u_reduce_video_profile(templat.profile) == + PIPE_VIDEO_FORMAT_MPEG4_AVC) + templat.level = u_get_h264_level(templat.width, templat.height, + &templat.max_references); + context->decoder = drv->pipe->create_video_codec(drv->pipe, &templat); if (!context->decoder) { FREE(context); |