[FFmpeg-cvslog] r18599 - trunk/libavcodec/xan.c
Måns Rullgård
mans
Fri Apr 17 22:21:21 CEST 2009
Reimar D?ffinger <Reimar.Doeffinger at gmx.de> writes:
> On Fri, Apr 17, 2009 at 10:05:27PM +0200, reimar wrote:
>> Author: reimar
>> Date: Fri Apr 17 22:05:27 2009
>> New Revision: 18599
>>
>> Log:
>> Use sign_extend function instead of reimplementing it.
>>
>> Modified:
>> trunk/libavcodec/xan.c
>>
>> Modified: trunk/libavcodec/xan.c
>> ==============================================================================
>> --- trunk/libavcodec/xan.c Fri Apr 17 22:01:45 2009 (r18598)
>> +++ trunk/libavcodec/xan.c Fri Apr 17 22:05:27 2009 (r18599)
>> @@ -333,16 +333,10 @@ static void xan_wc3_decode_frame(XanCont
>> }
>> } 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);
>
> Someone forgot to document sign_extend, should I be doing the "& 0xF"
> or can I assume that any future optimized implementation will flush
> the upper bits, too?
What do you mean? sign_extend() fills the size of an int, whatever
that happens to be, typically 32 bits.
--
M?ns Rullg?rd
mans at mansr.com
More information about the ffmpeg-cvslog
mailing list