From 5182416f030af71bd2fa4b00edffc268cec0e050 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Christian=20K=C3=B6nig?= Date: Tue, 9 Nov 2010 20:01:58 +0100 Subject: [PATCH] [g3dvl] start handling motion_vertical_field_select --- src/gallium/include/pipe/p_video_state.h | 1 + src/gallium/state_trackers/xorg/xvmc/surface.c | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/src/gallium/include/pipe/p_video_state.h b/src/gallium/include/pipe/p_video_state.h index 5eb9635..e5e85e3 100644 --- a/src/gallium/include/pipe/p_video_state.h +++ b/src/gallium/include/pipe/p_video_state.h @@ -89,6 +89,7 @@ struct pipe_mpeg12_macroblock enum pipe_mpeg12_motion_type mo_type; enum pipe_mpeg12_dct_type dct_type; signed pmv[2][2][2]; + bool mvfs[2][2]; unsigned cbp; short *blocks; }; diff --git a/src/gallium/state_trackers/xorg/xvmc/surface.c b/src/gallium/state_trackers/xorg/xvmc/surface.c index 9709f2b..0a236e2 100644 --- a/src/gallium/state_trackers/xorg/xvmc/surface.c +++ b/src/gallium/state_trackers/xorg/xvmc/surface.c @@ -181,6 +181,11 @@ MacroBlocksToPipe(struct pipe_screen *screen, for (l = 0; l < 2; ++l) pipe_macroblocks->pmv[j][k][l] = xvmc_mb->PMV[j][k][l]; + pipe_macroblocks->mvfs[0][0] = xvmc_mb->motion_vertical_field_select & XVMC_SELECT_FIRST_FORWARD; + pipe_macroblocks->mvfs[0][1] = xvmc_mb->motion_vertical_field_select & XVMC_SELECT_FIRST_BACKWARD; + pipe_macroblocks->mvfs[1][0] = xvmc_mb->motion_vertical_field_select & XVMC_SELECT_SECOND_FORWARD; + pipe_macroblocks->mvfs[1][1] = xvmc_mb->motion_vertical_field_select & XVMC_SELECT_SECOND_BACKWARD; + pipe_macroblocks->cbp = xvmc_mb->coded_block_pattern; pipe_macroblocks->blocks = xvmc_blocks->blocks + xvmc_mb->index * BLOCK_SIZE_SAMPLES; -- 2.7.4