st/va: add h264 decoder level support
[mesa.git] / src / gallium / state_trackers / va / context.c
index a7a55f961398ca5002d49c8a5c9de9649e66ee14..0a733b39004247b44fd4c65476c80e8319dfec46 100644 (file)
@@ -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);