Hi, On Tue, Oct 27, 2015 at 8:53 PM, Ganesh Ajjanagadde <gajjanaga...@gmail.com> wrote:
> ISO C restricts enumerator values to the range of int. Thus (for instance) > 0x80000000 > unfortunately does not work, and throws a warning with -Wpedantic on > clang 3.7. > > This fixes it by using alternative expressions that result in identical > values but do not have this issue. > > Tested with FATE. > > Signed-off-by: Ganesh Ajjanagadde <gajjanaga...@gmail.com> > --- > libavcodec/dca_syncwords.h | 26 ++++++++++++-------------- > libavformat/cinedec.c | 2 +- > libavformat/mov_chan.c | 2 +- > 3 files changed, 14 insertions(+), 16 deletions(-) > > diff --git a/libavcodec/dca_syncwords.h b/libavcodec/dca_syncwords.h > index 3466b6b..6981cb8 100644 > --- a/libavcodec/dca_syncwords.h > +++ b/libavcodec/dca_syncwords.h > @@ -19,19 +19,17 @@ > #ifndef AVCODEC_DCA_SYNCWORDS_H > #define AVCODEC_DCA_SYNCWORDS_H > > -enum DCASyncwords { > - DCA_SYNCWORD_CORE_BE = 0x7FFE8001U, > - DCA_SYNCWORD_CORE_LE = 0xFE7F0180U, > - DCA_SYNCWORD_CORE_14B_BE = 0x1FFFE800U, > - DCA_SYNCWORD_CORE_14B_LE = 0xFF1F00E8U, > - DCA_SYNCWORD_XCH = 0x5A5A5A5AU, > - DCA_SYNCWORD_XXCH = 0x47004A03U, > - DCA_SYNCWORD_X96 = 0x1D95F262U, > - DCA_SYNCWORD_XBR = 0x655E315EU, > - DCA_SYNCWORD_LBR = 0x0A801921U, > - DCA_SYNCWORD_XLL = 0x41A29547U, > - DCA_SYNCWORD_SUBSTREAM = 0x64582025U, > - DCA_SYNCWORD_SUBSTREAM_CORE = 0x02B09261U, > -}; > +#define DCA_SYNCWORD_CORE_BE 0x7FFE8001U > +#define DCA_SYNCWORD_CORE_LE 0xFE7F0180U > +#define DCA_SYNCWORD_CORE_14B_BE 0x1FFFE800U > +#define DCA_SYNCWORD_CORE_14B_LE 0xFF1F00E8U > +#define DCA_SYNCWORD_XCH 0x5A5A5A5AU > +#define DCA_SYNCWORD_XXCH 0x47004A03U > +#define DCA_SYNCWORD_X96 0x1D95F262U > +#define DCA_SYNCWORD_XBR 0x655E315EU > +#define DCA_SYNCWORD_LBR 0x0A801921U > +#define DCA_SYNCWORD_XLL 0x41A29547U > +#define DCA_SYNCWORD_SUBSTREAM 0x64582025U > +#define DCA_SYNCWORD_SUBSTREAM_CORE 0x02B09261U > This one is fine. > --- a/libavformat/cinedec.c > +++ b/libavformat/cinedec.c > @@ -50,7 +50,7 @@ enum { > CFA_BAYER = 3, /**< GB/RG */ > CFA_BAYERFLIP = 4, /**< RG/GB */ > > - CFA_TLGRAY = 0x80000000, > + CFA_TLGRAY = INT32_MIN, > CFA_TRGRAY = 0x40000000, > CFA_BLGRAY = 0x20000000, > CFA_BRGRAY = 0x10000000 > diff --git a/libavformat/mov_chan.c b/libavformat/mov_chan.c > index a2fa8d6..f6181e2 100644 > --- a/libavformat/mov_chan.c > +++ b/libavformat/mov_chan.c > @@ -45,7 +45,7 @@ > * do not specify a particular ordering of those channels." > */ > enum MovChannelLayoutTag { > - MOV_CH_LAYOUT_UNKNOWN = 0xFFFF0000, > + MOV_CH_LAYOUT_UNKNOWN = -( 1 << 16), > MOV_CH_LAYOUT_USE_DESCRIPTIONS = ( 0 << 16) | 0, > MOV_CH_LAYOUT_USE_BITMAP = ( 1 << 16) | 0, > MOV_CH_LAYOUT_DISCRETEINORDER = (147 << 16) | 0, > -- > 2.6.2 I personally don't really like these... I think both obfuscate the meaning of the flag values, particularly the first one. Ronald _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel