diff options
author | Christian König <[email protected]> | 2010-11-09 20:01:58 +0100 |
---|---|---|
committer | Christian König <[email protected]> | 2010-11-09 20:01:58 +0100 |
commit | 5182416f030af71bd2fa4b00edffc268cec0e050 (patch) | |
tree | ee59804a3c72d17f132c7dc381c83bddd3d6caed /src/gallium | |
parent | 725a5e15cfc7ffc1c5d940b01b9b010ed726a4eb (diff) |
[g3dvl] start handling motion_vertical_field_select
Diffstat (limited to 'src/gallium')
-rw-r--r-- | src/gallium/include/pipe/p_video_state.h | 1 | ||||
-rw-r--r-- | src/gallium/state_trackers/xorg/xvmc/surface.c | 5 |
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 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; |