aviad rozenhek <avia...@gmail.com> writes:

> On Mon, Aug 13, 2012 at 12:33 PM, aviad rozenhek <avia...@gmail.com> wrote:
>
>> unary minus operator applied to unsigned type, result still unsigned
>>
>>
>> I get this compiler warning when using any if the specialized AVERROR_XXX
>> macros, like AVERROR_BSF_NOT_FOUND or AVERROR_DECODER_NOT_FOUND.
>>
>> the reason is because
>>
>>> #define AVERROR_BSF_NOT_FOUND      (-MKTAG(0xF8,'B','S','F')) ///<
>>> Bitstream filter not found
>>
>>
>> and the result from MKTAG is *unsigned* .
>
> how about we stop using the high byte [which contains the sign, thus making
> the tag convertible to signed, like so, would this work?
>
> #define DEFINE_AVERROR_3CC_TAG(a, b, c)  (-(int32_t)MKTAG(a, b, c, 0))

Or how about we revert 6b34fbb and fix the one case where that matters
differently?

-- 
Måns Rullgård
m...@mansr.com
_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to