summaryrefslogtreecommitdiffstats
path: root/src/gallium
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium')
-rw-r--r--src/gallium/include/pipe/p_video_state.h3
-rw-r--r--src/gallium/state_trackers/vdpau/decode.c3
2 files changed, 6 insertions, 0 deletions
diff --git a/src/gallium/include/pipe/p_video_state.h b/src/gallium/include/pipe/p_video_state.h
index 1940bf12ba1..9a70eb7c468 100644
--- a/src/gallium/include/pipe/p_video_state.h
+++ b/src/gallium/include/pipe/p_video_state.h
@@ -134,6 +134,9 @@ struct pipe_mpeg12_picture_desc
unsigned concealment_motion_vectors;
unsigned intra_dc_precision;
unsigned f_code[2][2];
+ unsigned top_field_first;
+ unsigned full_pel_forward_vector;
+ unsigned full_pel_backward_vector;
unsigned num_slices;
};
diff --git a/src/gallium/state_trackers/vdpau/decode.c b/src/gallium/state_trackers/vdpau/decode.c
index f1351298fa1..47212e348ed 100644
--- a/src/gallium/state_trackers/vdpau/decode.c
+++ b/src/gallium/state_trackers/vdpau/decode.c
@@ -245,6 +245,9 @@ vlVdpDecoderRenderMpeg12(struct pipe_video_decoder *decoder,
picture.f_code[1][0] = picture_info->f_code[1][0] - 1;
picture.f_code[1][1] = picture_info->f_code[1][1] - 1;
picture.num_slices = picture_info->slice_count;
+ picture.top_field_first = picture_info->top_field_first;
+ picture.full_pel_forward_vector = picture_info->full_pel_forward_vector;
+ picture.full_pel_backward_vector = picture_info->full_pel_backward_vector;
decoder->set_picture_parameters(decoder, &picture.base);