Correct chroma vector calculation for RealVideo 3.
Old version divided it wrong, which resulted in chroma drift (visible on FATE sample too as dirty trails left by clouds). Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
This commit is contained in:
parent
73e8e8dbf9
commit
6f7fe4723b
@ -737,8 +737,8 @@ static inline void rv34_mc(RV34DecContext *r, const int block_type,
|
||||
my = (s->current_picture_ptr->f.motion_val[dir][mv_pos][1] + (3 << 24)) / 3 - (1 << 24);
|
||||
lx = (s->current_picture_ptr->f.motion_val[dir][mv_pos][0] + (3 << 24)) % 3;
|
||||
ly = (s->current_picture_ptr->f.motion_val[dir][mv_pos][1] + (3 << 24)) % 3;
|
||||
chroma_mx = (s->current_picture_ptr->f.motion_val[dir][mv_pos][0] + 1) >> 1;
|
||||
chroma_my = (s->current_picture_ptr->f.motion_val[dir][mv_pos][1] + 1) >> 1;
|
||||
chroma_mx = s->current_picture_ptr->f.motion_val[dir][mv_pos][0] / 2;
|
||||
chroma_my = s->current_picture_ptr->f.motion_val[dir][mv_pos][1] / 2;
|
||||
umx = (chroma_mx + (3 << 24)) / 3 - (1 << 24);
|
||||
umy = (chroma_my + (3 << 24)) / 3 - (1 << 24);
|
||||
uvmx = chroma_coeffs[(chroma_mx + (3 << 24)) % 3];
|
||||
|
@ -16,31 +16,31 @@
|
||||
0, 112500, 126720, 0xe572dfc9
|
||||
0, 120000, 126720, 0xbc3cc34f
|
||||
0, 127500, 126720, 0xcf8cb0e2
|
||||
0, 135000, 126720, 0x6d1c630d
|
||||
0, 142500, 126720, 0x4338e469
|
||||
0, 150000, 126720, 0x9d82ea38
|
||||
0, 157500, 126720, 0x55e0b559
|
||||
0, 165000, 126720, 0x5eefb5ef
|
||||
0, 172500, 126720, 0x4b10b746
|
||||
0, 180000, 126720, 0x8b07a1db
|
||||
0, 187500, 126720, 0x8c639b34
|
||||
0, 195000, 126720, 0x63eb0b9f
|
||||
0, 202500, 126720, 0x31c80c83
|
||||
0, 210000, 126720, 0x78495352
|
||||
0, 217500, 126720, 0x63d609c4
|
||||
0, 225000, 126720, 0xcd2a62d8
|
||||
0, 232500, 126720, 0x4aea732d
|
||||
0, 240000, 126720, 0xe3bb352c
|
||||
0, 247500, 126720, 0x4b9036ad
|
||||
0, 255000, 126720, 0x88b66e2d
|
||||
0, 262500, 126720, 0x4a8a1b16
|
||||
0, 270000, 126720, 0x2e014eac
|
||||
0, 277500, 126720, 0x83212c67
|
||||
0, 285000, 126720, 0x4937e897
|
||||
0, 292500, 126720, 0x2d38babe
|
||||
0, 300000, 126720, 0xbcb43c09
|
||||
0, 307500, 126720, 0x955ffaf4
|
||||
0, 315000, 126720, 0x3337d4a2
|
||||
0, 322500, 126720, 0xe8f58c33
|
||||
0, 330000, 126720, 0x3a7f771f
|
||||
0, 337500, 126720, 0xb67c39b9
|
||||
0, 135000, 126720, 0x75ae61b6
|
||||
0, 142500, 126720, 0x554fe3e4
|
||||
0, 150000, 126720, 0x72ecea95
|
||||
0, 157500, 126720, 0x5d00b5fe
|
||||
0, 165000, 126720, 0xe39bba0d
|
||||
0, 172500, 126720, 0x9c21bad8
|
||||
0, 180000, 126720, 0x72f2a47d
|
||||
0, 187500, 126720, 0x4f639ebe
|
||||
0, 195000, 126720, 0x534a10cc
|
||||
0, 202500, 126720, 0xfdca11d3
|
||||
0, 210000, 126720, 0x0c735615
|
||||
0, 217500, 126720, 0x0eaf0c1b
|
||||
0, 225000, 126720, 0xce5e6794
|
||||
0, 232500, 126720, 0x14cf7974
|
||||
0, 240000, 126720, 0xbc513f2a
|
||||
0, 247500, 126720, 0xbc303fae
|
||||
0, 255000, 126720, 0xd9f67585
|
||||
0, 262500, 126720, 0x3378251f
|
||||
0, 270000, 126720, 0xb3ed5911
|
||||
0, 277500, 126720, 0xc15a3577
|
||||
0, 285000, 126720, 0x0a24f256
|
||||
0, 292500, 126720, 0xfab9c45d
|
||||
0, 300000, 126720, 0x45464610
|
||||
0, 307500, 126720, 0xfe2e057d
|
||||
0, 315000, 126720, 0x23efdc35
|
||||
0, 322500, 126720, 0x4d888b2e
|
||||
0, 330000, 126720, 0xdd0d74df
|
||||
0, 337500, 126720, 0x08382b8e
|
||||
|
Loading…
Reference in New Issue
Block a user