mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 15:38:09 +02:00
[g3dvl] workaround for motion vertical field selection
This commit is contained in:
parent
5182416f03
commit
1eade3271a
1 changed files with 23 additions and 8 deletions
|
|
@ -911,8 +911,13 @@ gen_macroblock_verts(struct vl_mpeg12_mc_renderer *r,
|
|||
}
|
||||
}
|
||||
else {
|
||||
mo_vec[0].y = mb->pmv[0][1][1] - (mb->pmv[0][1][1] % 4);
|
||||
|
||||
mo_vec[1].x = mb->pmv[1][1][0];
|
||||
mo_vec[1].y = mb->pmv[1][1][1];
|
||||
mo_vec[1].y = mb->pmv[1][1][1] - (mb->pmv[1][1][1] % 4);
|
||||
|
||||
if(mb->mvfs[0][1]) mo_vec[0].y += 2;
|
||||
if(!mb->mvfs[1][1]) mo_vec[1].y -= 2;
|
||||
|
||||
for (i = 0; i < 24 * 2; i += 2) {
|
||||
vb[i].x = mo_vec[0].x;
|
||||
|
|
@ -934,21 +939,31 @@ gen_macroblock_verts(struct vl_mpeg12_mc_renderer *r,
|
|||
vb = ref_vb[0] + pos * 2 * 24;
|
||||
|
||||
if (mb->mb_type == PIPE_MPEG12_MACROBLOCK_TYPE_BKWD) {
|
||||
mo_vec[0].x = mb->pmv[0][1][0];
|
||||
mo_vec[0].y = mb->pmv[0][1][1];
|
||||
mo_vec[0].x = mb->pmv[0][1][0];
|
||||
mo_vec[0].y = mb->pmv[0][1][1];
|
||||
|
||||
if (mb->mo_type == PIPE_MPEG12_MOTION_TYPE_FIELD) {
|
||||
mo_vec[1].x = mb->pmv[1][1][0];
|
||||
mo_vec[1].y = mb->pmv[1][1][1];
|
||||
}
|
||||
if (mb->mo_type == PIPE_MPEG12_MOTION_TYPE_FIELD) {
|
||||
mo_vec[0].y = mb->pmv[0][1][1] - (mb->pmv[0][1][1] % 4);
|
||||
|
||||
mo_vec[1].x = mb->pmv[1][1][0];
|
||||
mo_vec[1].y = mb->pmv[1][1][1] - (mb->pmv[1][1][1] % 4);
|
||||
|
||||
if(mb->mvfs[0][1]) mo_vec[0].y += 2;
|
||||
if(!mb->mvfs[1][1]) mo_vec[1].y -= 2;
|
||||
}
|
||||
}
|
||||
else {
|
||||
mo_vec[0].x = mb->pmv[0][0][0];
|
||||
mo_vec[0].y = mb->pmv[0][0][1];
|
||||
|
||||
if (mb->mo_type == PIPE_MPEG12_MOTION_TYPE_FIELD) {
|
||||
mo_vec[0].y = mb->pmv[0][0][1] - (mb->pmv[0][0][1] % 4);
|
||||
|
||||
mo_vec[1].x = mb->pmv[1][0][0];
|
||||
mo_vec[1].y = mb->pmv[1][0][1];
|
||||
mo_vec[1].y = mb->pmv[1][0][1] - (mb->pmv[1][0][1] % 4);
|
||||
|
||||
if(mb->mvfs[0][0]) mo_vec[0].y += 2;
|
||||
if(!mb->mvfs[1][0]) mo_vec[1].y -= 2;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue