mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2024-12-27 01:42:20 +00:00
Use sign_extend function instead of reimplementing it.
Originally committed as revision 18599 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
e62f622193
commit
d7670f2827
@ -333,16 +333,10 @@ static void xan_wc3_decode_frame(XanContext *s) {
|
||||
}
|
||||
} else {
|
||||
/* run-based motion compensation from last frame */
|
||||
motion_x = *vector_segment >> 4;
|
||||
motion_y = *vector_segment & 0xF;
|
||||
motion_x = sign_extend(*vector_segment >> 4, 4);
|
||||
motion_y = sign_extend(*vector_segment & 0xF, 4);
|
||||
vector_segment++;
|
||||
|
||||
/* sign extension */
|
||||
if (motion_x & 0x8)
|
||||
motion_x |= 0xFFFFFFF0;
|
||||
if (motion_y & 0x8)
|
||||
motion_y |= 0xFFFFFFF0;
|
||||
|
||||
/* copy a run of pixels from the previous frame */
|
||||
xan_wc3_copy_pixel_run(s, x, y, size, motion_x, motion_y);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user