[FFmpeg-cvslog] r21735 - trunk/libavutil/internal.h
Måns Rullgård
mans
Fri Feb 19 20:44:04 CET 2010
Michael Kostylev <michael.kostylev at gmail.com> writes:
> On Fri Feb 19 18:30:08 2010
> M?ns Rullg?rd wrote:
>
>>>>> On Tue Feb 9 23:55:16 2010
>>>>> mru wrote:
>>>>>
>>>>>> Define missing llrint() as macro instead of inline function
>>>>>>
>>>>>> This fixes building on some broken systems.
>>>>>>
>>>>>> Modified:
>>>>>> trunk/libavutil/internal.h
>>>>>>
>>>>>> Modified: trunk/libavutil/internal.h
>>>>>> ==============================================================================
>>>>>> --- trunk/libavutil/internal.h Tue Feb 9 23:55:13 2010 (r21734)
>>>>>> +++ trunk/libavutil/internal.h Tue Feb 9 23:55:16 2010 (r21735)
>>>>>> @@ -225,10 +225,8 @@ static inline av_const unsigned int ff_s
>>>>>> #endif /* HAVE_EXP2F */
>>>>>>
>>>>>> #if !HAVE_LLRINT
>>>>>> -static av_always_inline av_const long long llrint(double x)
>>>>>> -{
>>>>>> - return rint(x);
>>>>>> -}
>>>>>> +#undef llrint
>>>>>> +#define llrint(x) rint(x)
>>>>>
>>>>> The dos machine is unhappy with this macro.
>>>>
>>>> Please elaborate.
>>>
>>> A bunch of tests from the regression suite and the idroq-video-encode
>>> test no longer pass since r21735 (reverting it or applying a quick
>>> hack attached in the previous message make them pass again).
>>
>> Weird. Which call to llrint() is causing the trouble?
>
> libavcodec/opt.c, line 67:
> case FF_OPT_TYPE_INT: *(int *)dst= llrint(num/den)*intnum; break;
Applying your cast to that expression should have no effect at all
since the usual arithmetic conversions already specify that action.
Do I smell a broken compiler?
--
M?ns Rullg?rd
mans at mansr.com
More information about the ffmpeg-cvslog
mailing list