[FFmpeg-devel] [PATCH 8/8] Reduce ICC warnings regarding "enumerated type mixed with another type".

Diego 'Flameeyes' Pettenò flameeyes
Thu Oct 2 16:40:06 CEST 2008


The Intel C Compiler warns when using integers and enumerated types as
the same type; try to reduce these warnings by declaring variables,
attributes and return values used just to store CodecID values as
"enum CodecID" type.
---

 libavdevice/audio.c    |    2 +-
 libavformat/aiff.c     |    4 ++--
 libavformat/asf.c      |    3 ++-
 libavformat/au.c       |    3 ++-
 libavformat/mov.c      |    4 ++--
 libavformat/mpeg.c     |    4 +++-
 libavformat/mpegts.c   |    3 ++-
 libavformat/rtsp.c     |    3 ++-
 libavformat/segafilm.c |    8 ++++----
 libavformat/sol.c      |    5 +++--
 libavformat/westwood.c |    2 +-
 11 files changed, 24 insertions(+), 17 deletions(-)

diff --git a/libavdevice/audio.c b/libavdevice/audio.c
index 1cb3d69..8520a5f 100644
--- a/libavdevice/audio.c
+++ b/libavdevice/audio.c
@@ -46,7 +46,7 @@ typedef struct {
     int sample_rate;
     int channels;
     int frame_size; /* in bytes ! */
-    int codec_id;
+    enum CodecID codec_id;
     unsigned int flip_left : 1;
     uint8_t buffer[AUDIO_BLOCK_SIZE];
     int buffer_ptr;
diff --git a/libavformat/aiff.c b/libavformat/aiff.c
index 911814b..3a4bf9f 100644
--- a/libavformat/aiff.c
+++ b/libavformat/aiff.c
@@ -46,7 +46,7 @@ static const AVCodecTag codec_aiff_tags[] = {
 #define AIFF                    0
 #define AIFF_C_VERSION1         0xA2805140
 
-static int aiff_codec_get_id(int bps)
+static enum CodecID aiff_codec_get_id(int bps)
 {
     if (bps <= 8)
         return CODEC_ID_PCM_S8;
@@ -58,7 +58,7 @@ static int aiff_codec_get_id(int bps)
         return CODEC_ID_PCM_S32BE;
 
     /* bigger than 32 isn't allowed  */
-    return 0;
+    return CODEC_ID_NONE;
 }
 
 /* returns the size of the found tag */
diff --git a/libavformat/asf.c b/libavformat/asf.c
index b837e76..e8b9144 100644
--- a/libavformat/asf.c
+++ b/libavformat/asf.c
@@ -197,7 +197,8 @@ static int asf_read_header(AVFormatContext *s, AVFormatParameters *ap)
             asf->hdr.max_bitrate        = get_le32(pb);
             asf->packet_size = asf->hdr.max_pktsize;
         } else if (!memcmp(&g, &stream_header, sizeof(GUID))) {
-            int type, type_specific_size, sizeX;
+            enum CodecType type;
+            int type_specific_size, sizeX;
             uint64_t total_size;
             unsigned int tag1;
             int64_t pos1, pos2, start_time;
diff --git a/libavformat/au.c b/libavformat/au.c
index 3dfd31e..ffb26ed 100644
--- a/libavformat/au.c
+++ b/libavformat/au.c
@@ -122,7 +122,8 @@ static int au_read_header(AVFormatContext *s,
     int size;
     unsigned int tag;
     ByteIOContext *pb = s->pb;
-    unsigned int id, codec, channels, rate;
+    unsigned int id, channels, rate;
+    enum CodecID codec;
     AVStream *st;
 
     /* check ".snd" header */
diff --git a/libavformat/mov.c b/libavformat/mov.c
index 79db9fc..27ddb1c 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -676,7 +676,7 @@ static int mov_read_stco(MOVContext *c, ByteIOContext *pb, MOV_atom_t atom)
  * Compute codec id for 'lpcm' tag.
  * See CoreAudioTypes and AudioStreamBasicDescription at Apple.
  */
-static int mov_get_lpcm_codec_id(int bps, int flags)
+static enum CodecID mov_get_lpcm_codec_id(int bps, int flags)
 {
     if (flags & 1) { // floating point
         if (flags & 2) { // big endian
@@ -704,7 +704,7 @@ static int mov_get_lpcm_codec_id(int bps, int flags)
             else if (bps == 32) return CODEC_ID_PCM_S32LE;
         }
     }
-    return 0;
+    return CODEC_ID_NONE;
 }
 
 static int mov_read_stsd(MOVContext *c, ByteIOContext *pb, MOV_atom_t atom)
diff --git a/libavformat/mpeg.c b/libavformat/mpeg.c
index 289be8c..ec89d5a 100644
--- a/libavformat/mpeg.c
+++ b/libavformat/mpeg.c
@@ -409,7 +409,9 @@ static int mpegps_read_packet(AVFormatContext *s,
 {
     MpegDemuxContext *m = s->priv_data;
     AVStream *st;
-    int len, startcode, i, type, codec_id = 0, es_type;
+    int len, startcode, i, es_type;
+    enum CodecID codec_id = CODEC_ID_NONE;
+    enum CodecType type;
     int64_t pts, dts, dummy_pos; //dummy_pos is needed for the index building to work
 
  redo:
diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
index 80b604c..9f41d39 100644
--- a/libavformat/mpegts.c
+++ b/libavformat/mpegts.c
@@ -934,7 +934,8 @@ static void mpegts_push_data(MpegTSFilter *filter,
 static AVStream* new_pes_av_stream(PESContext *pes, uint32_t code)
 {
     AVStream *st;
-    int codec_type, codec_id;
+    enum CodecID codec_id;
+    enum CodecType codec_type;
 
     switch(pes->stream_type){
     case STREAM_TYPE_AUDIO_MPEG1:
diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c
index 254931c..762facd 100644
--- a/libavformat/rtsp.c
+++ b/libavformat/rtsp.c
@@ -389,7 +389,8 @@ static void sdp_parse_line(AVFormatContext *s, SDPParseState *s1,
     RTSPState *rt = s->priv_data;
     char buf1[64], st_type[64];
     const char *p;
-    int codec_type, payload_type, i;
+    enum CodecType codec_type;
+    int payload_type, i;
     AVStream *st;
     RTSPStream *rtsp_st;
     struct in_addr sdp_ip;
diff --git a/libavformat/segafilm.c b/libavformat/segafilm.c
index 4bc46c2..1ea296d 100644
--- a/libavformat/segafilm.c
+++ b/libavformat/segafilm.c
@@ -46,12 +46,12 @@ typedef struct FilmDemuxContext {
     int video_stream_index;
     int audio_stream_index;
 
-    unsigned int audio_type;
+    enum CodecID audio_type;
     unsigned int audio_samplerate;
     unsigned int audio_bits;
     unsigned int audio_channels;
 
-    unsigned int video_type;
+    enum CodecID video_type;
     unsigned int sample_count;
     film_sample_t *sample_table;
     unsigned int current_sample;
@@ -115,7 +115,7 @@ static int film_read_header(AVFormatContext *s,
         else if (film->audio_bits == 16)
             film->audio_type = CODEC_ID_PCM_S16BE;
         else
-            film->audio_type = 0;
+            film->audio_type = CODEC_ID_NONE;
     }
 
     if (AV_RB32(&scratch[0]) != FDSC_TAG)
@@ -124,7 +124,7 @@ static int film_read_header(AVFormatContext *s,
     if (AV_RB32(&scratch[8]) == CVID_TAG) {
         film->video_type = CODEC_ID_CINEPAK;
     } else
-        film->video_type = 0;
+        film->video_type = CODEC_ID_NONE;
 
     /* initialize the decoder streams */
     if (film->video_type) {
diff --git a/libavformat/sol.c b/libavformat/sol.c
index 775b4e0..8b680be 100644
--- a/libavformat/sol.c
+++ b/libavformat/sol.c
@@ -47,7 +47,7 @@ static int sol_probe(AVProbeData *p)
 #define SOL_16BIT   4
 #define SOL_STEREO 16
 
-static int sol_codec_id(int magic, int type)
+static enum CodecID sol_codec_id(int magic, int type)
 {
     if (magic == 0x0B8D)
     {
@@ -88,7 +88,8 @@ static int sol_read_header(AVFormatContext *s,
     int size;
     unsigned int magic,tag;
     ByteIOContext *pb = s->pb;
-    unsigned int id, codec, channels, rate, type;
+    unsigned int id, channels, rate, type;
+    enum CodecID codec;
     AVStream *st;
 
     /* check ".snd" header */
diff --git a/libavformat/westwood.c b/libavformat/westwood.c
index 600863e..d88199d 100644
--- a/libavformat/westwood.c
+++ b/libavformat/westwood.c
@@ -66,7 +66,7 @@ typedef struct WsAudDemuxContext {
     int audio_samplerate;
     int audio_channels;
     int audio_bits;
-    int audio_type;
+    enum CodecID audio_type;
     int audio_stream_index;
     int64_t audio_frame_counter;
 } WsAudDemuxContext;





More information about the ffmpeg-devel mailing list