From: Christian König Date: Tue, 9 Nov 2010 19:01:58 +0000 (+0100) Subject: [g3dvl] start handling motion_vertical_field_select X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=5182416f030af71bd2fa4b00edffc268cec0e050;p=mesa.git [g3dvl] start handling motion_vertical_field_select --- diff --git a/src/gallium/include/pipe/p_video_state.h b/src/gallium/include/pipe/p_video_state.h index 5eb96352139..e5e85e3deb3 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 9709f2b2373..0a236e26429 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;