diff options
-rw-r--r-- | src/gallium/auxiliary/vl/vl_defines.h | 1 | ||||
-rw-r--r-- | src/gallium/auxiliary/vl/vl_mpeg12_decoder.c | 3 | ||||
-rw-r--r-- | src/gallium/auxiliary/vl/vl_video_buffer.h | 2 |
3 files changed, 4 insertions, 2 deletions
diff --git a/src/gallium/auxiliary/vl/vl_defines.h b/src/gallium/auxiliary/vl/vl_defines.h index ffbc653e4fc..6f20706c647 100644 --- a/src/gallium/auxiliary/vl/vl_defines.h +++ b/src/gallium/auxiliary/vl/vl_defines.h @@ -36,6 +36,7 @@ #define VL_BLOCK_HEIGHT 8 #define VL_NUM_COMPONENTS 3 +#define VL_MAX_SURFACES (VL_NUM_COMPONENTS * 2) #define VL_MAX_REF_FRAMES 2 #endif diff --git a/src/gallium/auxiliary/vl/vl_mpeg12_decoder.c b/src/gallium/auxiliary/vl/vl_mpeg12_decoder.c index 78dfd698670..31d96fd316c 100644 --- a/src/gallium/auxiliary/vl/vl_mpeg12_decoder.c +++ b/src/gallium/auxiliary/vl/vl_mpeg12_decoder.c @@ -683,6 +683,7 @@ vl_mpeg12_end_frame(struct pipe_video_decoder *decoder, unsigned nr_components; assert(dec && target && picture); + assert(!target->interlaced); buf = vl_mpeg12_get_decode_buffer(dec, target); @@ -734,7 +735,7 @@ vl_mpeg12_end_frame(struct pipe_video_decoder *decoder, plane_order = vl_video_buffer_plane_order(target->buffer_format); mc_source_sv = dec->mc_source->get_sampler_view_planes(dec->mc_source); - for (i = 0, component = 0; i < VL_NUM_COMPONENTS; ++i) { + for (i = 0, component = 0; component < VL_NUM_COMPONENTS; ++i) { if (!target_surfaces[i]) continue; nr_components = util_format_get_nr_components(target_surfaces[i]->texture->format); diff --git a/src/gallium/auxiliary/vl/vl_video_buffer.h b/src/gallium/auxiliary/vl/vl_video_buffer.h index 16c2e31ce55..6e2f8b8291a 100644 --- a/src/gallium/auxiliary/vl/vl_video_buffer.h +++ b/src/gallium/auxiliary/vl/vl_video_buffer.h @@ -45,7 +45,7 @@ struct vl_video_buffer struct pipe_resource *resources[VL_NUM_COMPONENTS]; struct pipe_sampler_view *sampler_view_planes[VL_NUM_COMPONENTS]; struct pipe_sampler_view *sampler_view_components[VL_NUM_COMPONENTS]; - struct pipe_surface *surfaces[VL_NUM_COMPONENTS * 2]; + struct pipe_surface *surfaces[VL_MAX_SURFACES]; }; /** |