diff --git a/libavcodec/dsputil.c b/libavcodec/dsputil.c
index 7c2abb2006f9ad96c03a7691ea5b6801bf28d44f..bfab8e2341c45dd51b6eb2ff72c823fad3040e04 100644
--- a/libavcodec/dsputil.c
+++ b/libavcodec/dsputil.c
@@ -2988,7 +2988,8 @@ static int pix_abs8_xy2_c(void *v, uint8_t *pix1, uint8_t *pix2, int line_size,
     return s;
 }
 
-static int nsse16_c(MpegEncContext *c, uint8_t *s1, uint8_t *s2, int stride, int h){
+static int nsse16_c(void *v, uint8_t *s1, uint8_t *s2, int stride, int h){
+    MpegEncContext *c = v;
     int score1=0;
     int score2=0;
     int x,y;
@@ -3013,7 +3014,8 @@ static int nsse16_c(MpegEncContext *c, uint8_t *s1, uint8_t *s2, int stride, int
     else  return score1 + ABS(score2)*8;
 }
 
-static int nsse8_c(MpegEncContext *c, uint8_t *s1, uint8_t *s2, int stride, int h){
+static int nsse8_c(void *v, uint8_t *s1, uint8_t *s2, int stride, int h){
+    MpegEncContext *c = v;
     int score1=0;
     int score2=0;
     int x,y;
diff --git a/libavcodec/h264.c b/libavcodec/h264.c
index 4551b4e9d5c5df2fd246c3ccf5d25783f22de806..c21d0930d23f7bb0da3cea64cc4187b57a6be6a3 100644
--- a/libavcodec/h264.c
+++ b/libavcodec/h264.c
@@ -1277,9 +1277,9 @@ static inline void pred_direct_motion(H264Context * const h, int *mb_type){
             fill_rectangle(&h->ref_cache[0][scan8[0]], 4, 4, 8, ref[0], 1);
             fill_rectangle(&h->ref_cache[1][scan8[0]], 4, 4, 8, ref[1], 1);
             if(!IS_INTRA(mb_type_col) 
-               && (   l1ref0[0] == 0 && ABS(l1mv0[0][0]) <= 1 && ABS(l1mv0[0][1]) <= 1
-                   || l1ref0[0]  < 0 && l1ref1[0] == 0 && ABS(l1mv1[0][0]) <= 1 && ABS(l1mv1[0][1]) <= 1
-                      && (h->x264_build>33 || !h->x264_build))){
+               && (   (l1ref0[0] == 0 && ABS(l1mv0[0][0]) <= 1 && ABS(l1mv0[0][1]) <= 1)
+                   || (l1ref0[0]  < 0 && l1ref1[0] == 0 && ABS(l1mv1[0][0]) <= 1 && ABS(l1mv1[0][1]) <= 1
+                       && (h->x264_build>33 || !h->x264_build)))){
                 if(ref[0] > 0)
                     fill_rectangle(&h->mv_cache[0][scan8[0]], 4, 4, 8, pack16to32(mv[0][0],mv[0][1]), 4);
                 else
@@ -1308,8 +1308,8 @@ static inline void pred_direct_motion(H264Context * const h, int *mb_type){
     
                 /* col_zero_flag */
                 if(!IS_INTRA(mb_type_col) && (   l1ref0[x8 + y8*h->b8_stride] == 0 
-                                              || l1ref0[x8 + y8*h->b8_stride] < 0 && l1ref1[x8 + y8*h->b8_stride] == 0 
-                                                 && (h->x264_build>33 || !h->x264_build))){
+                                              || (l1ref0[x8 + y8*h->b8_stride] < 0 && l1ref1[x8 + y8*h->b8_stride] == 0 
+                                                  && (h->x264_build>33 || !h->x264_build)))){
                     const int16_t (*l1mv)[2]= l1ref0[x8 + y8*h->b8_stride] == 0 ? l1mv0 : l1mv1;
                     for(i4=0; i4<4; i4++){
                         const int16_t *mv_col = l1mv[x8*2 + (i4&1) + (y8*2 + (i4>>1))*h->b_stride];
@@ -1347,7 +1347,7 @@ static inline void pred_direct_motion(H264Context * const h, int *mb_type){
                 const int x8 = i8&1;
                 const int y8 = i8>>1;
                 int ref0, dist_scale_factor;
-                int16_t (*l1mv)[2]= l1mv0;
+                const int16_t (*l1mv)[2]= l1mv0;
 
                 if(is_b8x8 && !IS_DIRECT(h->sub_mb_type[i8]))
                     continue;
@@ -2327,7 +2327,7 @@ static void pred8x8_plane_c(uint8_t *src, int stride){
     const int l0 = ((has_topleft ? SRC(-1,-1) : SRC(-1,0)) \
                      + 2*SRC(-1,0) + SRC(-1,1) + 2) >> 2; \
     PL(1) PL(2) PL(3) PL(4) PL(5) PL(6) \
-    const int l7 = (SRC(-1,6) + 3*SRC(-1,7) + 2) >> 2
+    const int l7 attribute_unused = (SRC(-1,6) + 3*SRC(-1,7) + 2) >> 2
 
 #define PT(x) \
     const int t##x = (SRC(x-1,-1) + 2*SRC(x,-1) + SRC(x+1,-1) + 2) >> 2;
@@ -2335,7 +2335,7 @@ static void pred8x8_plane_c(uint8_t *src, int stride){
     const int t0 = ((has_topleft ? SRC(-1,-1) : SRC(0,-1)) \
                      + 2*SRC(0,-1) + SRC(1,-1) + 2) >> 2; \
     PT(1) PT(2) PT(3) PT(4) PT(5) PT(6) \
-    const int t7 = ((has_topright ? SRC(8,-1) : SRC(7,-1)) \
+    const int t7 attribute_unused = ((has_topright ? SRC(8,-1) : SRC(7,-1)) \
                      + 2*SRC(7,-1) + SRC(6,-1) + 2) >> 2
 
 #define PTR(x) \
@@ -6188,7 +6188,7 @@ static void filter_mb_edgev( H264Context *h, uint8_t *pix, int stride, int bS[4]
     }
 }
 static void filter_mb_edgecv( H264Context *h, uint8_t *pix, int stride, int bS[4], int qp ) {
-    int i, d;
+    int i;
     const int index_a = clip( qp + h->slice_alpha_c0_offset, 0, 51 );
     const int alpha = alpha_table[index_a];
     const int beta  = beta_table[clip( qp + h->slice_beta_offset, 0, 51 )];
@@ -6418,7 +6418,7 @@ static void filter_mb_edgeh( H264Context *h, uint8_t *pix, int stride, int bS[4]
 }
 
 static void filter_mb_edgech( H264Context *h, uint8_t *pix, int stride, int bS[4], int qp ) {
-    int i, d;
+    int i;
     const int index_a = clip( qp + h->slice_alpha_c0_offset, 0, 51 );
     const int alpha = alpha_table[index_a];
     const int beta  = beta_table[clip( qp + h->slice_beta_offset, 0, 51 )];
diff --git a/libavcodec/i386/vp3dsp_sse2.c b/libavcodec/i386/vp3dsp_sse2.c
index 97937651a34c4cca101f193cc5a1b6a60fe08538..ed17891bfa0e18d799e4df121d907e0d66f6ae5a 100644
--- a/libavcodec/i386/vp3dsp_sse2.c
+++ b/libavcodec/i386/vp3dsp_sse2.c
@@ -799,7 +799,6 @@ static const unsigned short __align16 SSE2_idct_data[7 * 8] =
 void ff_vp3_idct_sse2(int16_t *input_data)
 {
     unsigned char *input_bytes = (unsigned char *)input_data;
-    unsigned char *dequant_const_bytes = (unsigned char *)SSE2_dequant_const;
     unsigned char *output_data_bytes = (unsigned char *)input_data;
     unsigned char *idct_data_bytes = (unsigned char *)SSE2_idct_data;
     unsigned char *Eight = (unsigned char *)eight_data;
diff --git a/libavcodec/indeo2.c b/libavcodec/indeo2.c
index 5063117ca0ae64bc1920013450e06adc46de8040..7001beb1297c13bc77f6ad9fad138d0a51402514 100644
--- a/libavcodec/indeo2.c
+++ b/libavcodec/indeo2.c
@@ -141,7 +141,6 @@ static int ir2_decode_frame(AVCodecContext *avctx,
     AVFrame *picture = data;
     AVFrame * const p= (AVFrame*)&s->picture;
     int start;
-    int i;
 
     if(p->data[0])
         avctx->release_buffer(avctx, p);
diff --git a/libavcodec/motion_est.c b/libavcodec/motion_est.c
index d860274f8a08b4b10e972303c04f39dcdfcc7157..6811dca27b804ae305f272081e8dcdbb1a3d50ce 100644
--- a/libavcodec/motion_est.c
+++ b/libavcodec/motion_est.c
@@ -175,7 +175,7 @@ static always_inline int cmp(MpegEncContext *s, const int x, const int y, const
         }else
             d= 256*256*256*32;
     }else{
-        int uvdxy;
+        int uvdxy;              /* no, it might not be used uninitialized */
         if(dxy){
             if(qpel){
                 c->qpel_put[size][dxy](c->temp, ref[0] + x + y*stride, stride); //FIXME prototype (add h)
@@ -1563,7 +1563,6 @@ static inline int check_bidir_mv(MpegEncContext * s,
     MotionEstContext * const c= &s->me;
     uint8_t * const mv_penalty= c->mv_penalty[s->f_code] + MAX_MV; // f_code of the prev frame
     int stride= c->stride;
-    int uvstride= c->uvstride;
     uint8_t *dest_y = c->scratchpad;
     uint8_t *ptr;
     int dxy;
diff --git a/libavcodec/mpeg12.c b/libavcodec/mpeg12.c
index a609ee34e50b94dbee11910fbf7fd7174474bdda..94450a0a2dcc3823fcbfb67d83b5bcbfb7359004 100644
--- a/libavcodec/mpeg12.c
+++ b/libavcodec/mpeg12.c
@@ -1810,7 +1810,6 @@ static inline int mpeg2_fast_decode_block_non_intra(MpegEncContext *s,
     RLTable *rl = &rl_mpeg1;
     uint8_t * const scantable= s->intra_scantable.permutated;
     const int qscale= s->qscale;
-    int v;
     OPEN_READER(re, &s->gb);
     i = -1;
 
diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c
index 87a56ffa56c2feb3fdd9f07dbec5b4394c907a9d..a381cfe11fd31a7877a74cd158d29337780f518f 100644
--- a/libavcodec/mpegvideo.c
+++ b/libavcodec/mpegvideo.c
@@ -887,7 +887,7 @@ void MPV_common_end(MpegEncContext *s)
 int MPV_encode_init(AVCodecContext *avctx)
 {
     MpegEncContext *s = avctx->priv_data;
-    int i, dummy;
+    int i;
     int chroma_h_shift, chroma_v_shift;
     
     MPV_encode_defaults(s);
diff --git a/libavcodec/ulti.c b/libavcodec/ulti.c
index 1b585304745c523636610afa6ded264cd180da9a..1b47bddbd44929b4f430ac44200b69d29314db7e 100644
--- a/libavcodec/ulti.c
+++ b/libavcodec/ulti.c
@@ -37,7 +37,7 @@ typedef struct UltimotionDecodeContext {
     AVCodecContext *avctx;
     int width, height, blocks;
     AVFrame frame;
-    uint8_t *ulti_codebook;
+    const uint8_t *ulti_codebook;
 } UltimotionDecodeContext;
 
 static int ulti_decode_init(AVCodecContext *avctx)
diff --git a/libavcodec/vp3.c b/libavcodec/vp3.c
index a93b4eedf2a684ed2327b4418903b8bb6ec4ee51..e4f04cc1483d08c2e6109aedf0570199b71bc7d3 100644
--- a/libavcodec/vp3.c
+++ b/libavcodec/vp3.c
@@ -1725,7 +1725,6 @@ static void render_slice(Vp3DecodeContext *s, int slice)
     int plane_height;
     int slice_height;
     int current_macroblock_entry = slice * s->macroblock_width * 6;
-    int *bounding_values= s->bounding_values_array+127;
     int fragment_width;
 
     if (slice >= s->macroblock_height)
diff --git a/libavcodec/vp3dsp.c b/libavcodec/vp3dsp.c
index 015f57b57001022f68778ff6cbc6c05268686bdd..047fee763e77a282bbdfbcf5480133278b013c1c 100644
--- a/libavcodec/vp3dsp.c
+++ b/libavcodec/vp3dsp.c
@@ -45,7 +45,7 @@ static always_inline void idct(uint8_t *dst, int stride, int16_t *input, int typ
     int _Ed, _Gd, _Add, _Bdd, _Fd, _Hd;
     int t1, t2;
 
-    int i, j;
+    int i;
     
     /* Inverse DCT on the rows now */
     for (i = 0; i < 8; i++) {
diff --git a/libavformat/avidec.c b/libavformat/avidec.c
index f1a25899a67f0f85ac280ddb54c8ad3e91d07ec9..15bd18a375ef764a77dee80aa10d2619335bdb29 100644
--- a/libavformat/avidec.c
+++ b/libavformat/avidec.c
@@ -644,14 +644,12 @@ static int avi_read_idx1(AVFormatContext *s, int size)
 }
 
 static int guess_ni_flag(AVFormatContext *s){
-    AVIContext *avi = s->priv_data;
     int i;
     int64_t last_start=0;
     int64_t first_end= INT64_MAX;
     
     for(i=0; i<s->nb_streams; i++){
         AVStream *st = s->streams[i];
-        AVIStream *ast = st->priv_data;
         int n= st->nb_index_entries;
 
         if(n <= 0)
diff --git a/libavformat/nsvdec.c b/libavformat/nsvdec.c
index 27c7abc8cc3d1de2c25d2da7808c4973ca67c528..3082cff1c572f5105d0179c845963c09a05eda45 100644
--- a/libavformat/nsvdec.c
+++ b/libavformat/nsvdec.c
@@ -297,8 +297,8 @@ static int nsv_parse_NSVf_header(AVFormatContext *s, AVFormatParameters *ap)
 
     //s->file_size = (uint32_t)get_le32(pb);
     file_size = (uint32_t)get_le32(pb);
-    PRINT(("NSV NSVf chunk_size %ld\n", size));
-    PRINT(("NSV NSVf file_size %Ld\n", file_size));
+    PRINT(("NSV NSVf chunk_size %u\n", size));
+    PRINT(("NSV NSVf file_size %u\n", file_size));
 
     nsv->duration = duration = get_le32(pb); /* in ms */
     PRINT(("NSV NSVf duration %Ld ms\n", duration));
@@ -561,7 +561,7 @@ null_chunk_retry:
     asize = get_le16(pb);
     vsize = (vsize << 4) | (auxcount >> 4);
     auxcount &= 0x0f;
-    PRINT(("NSV CHUNK %d aux, %ld bytes video, %d bytes audio\n", auxcount, vsize, asize));
+    PRINT(("NSV CHUNK %d aux, %u bytes video, %d bytes audio\n", auxcount, vsize, asize));
     /* skip aux stuff */
     for (i = 0; i < auxcount; i++) {
         auxsize = get_le16(pb);
@@ -614,7 +614,7 @@ null_chunk_retry:
             channels = get_byte(pb);
             samplerate = get_le16(pb);
             asize-=4;
-            PRINT(("NSV RAWAUDIO: bps %d, nchan %d, srate %ld\n", bps, channels, samplerate));
+            PRINT(("NSV RAWAUDIO: bps %d, nchan %d, srate %d\n", bps, channels, samplerate));
             if (fill_header) {
                 st[NSV_ST_AUDIO]->need_parsing = 0; /* we know everything */
                 if (bps != 16) {
@@ -629,7 +629,7 @@ null_chunk_retry:
                 st[NSV_ST_AUDIO]->codec->sample_rate = samplerate;
                 av_set_pts_info(st[NSV_ST_AUDIO], 64, 1, 
                                 st[NSV_ST_AUDIO]->codec->sample_rate);
-                PRINT(("NSV RAWAUDIO: bps %d, nchan %d, srate %ld\n", bps, channels, samplerate));
+                PRINT(("NSV RAWAUDIO: bps %d, nchan %d, srate %d\n", bps, channels, samplerate));
             }
         }
         av_get_packet(pb, pkt, asize);
diff --git a/libavformat/utils.c b/libavformat/utils.c
index efa5bcf770cd1258e9a795013c2a39350033566a..f2091f76842e02e6e56ba2d09088c4a332ee822e 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -1569,7 +1569,7 @@ static void av_estimate_timings_from_pts(AVFormatContext *ic)
     AVPacket pkt1, *pkt = &pkt1;
     AVStream *st;
     int read_size, i, ret;
-    int64_t start_time, end_time, end_time1;
+    int64_t end_time;
     int64_t filesize, offset, duration;
     
     /* free previous packet */
diff --git a/libavformat/yuv4mpeg.c b/libavformat/yuv4mpeg.c
index 1f38fe8689047910dee4d37201bd067b04590816..30fdc54db5dfe0d59e7cabd2ae5d6c47a4b75d43 100644
--- a/libavformat/yuv4mpeg.c
+++ b/libavformat/yuv4mpeg.c
@@ -336,7 +336,7 @@ static int yuv4_read_packet(AVFormatContext *s, AVPacket *pkt)
 {
     int i;
     char header[MAX_FRAME_HEADER+1];
-    int packet_size, ret, width, height;
+    int packet_size, width, height;
     AVStream *st = s->streams[0];
 
     for (i=0; i<MAX_FRAME_HEADER; i++) {
diff --git a/libavutil/intfloat_readwrite.c b/libavutil/intfloat_readwrite.c
index cf4d495e59f599b3560277f69e2dd0d397876d2c..81d35dad963f47ac5b7294e0c86959d2b6b59ecd 100644
--- a/libavutil/intfloat_readwrite.c
+++ b/libavutil/intfloat_readwrite.c
@@ -28,7 +28,7 @@
 double av_int2dbl(int64_t v){
     if(v+v > 0xFFELLU<<52)
         return 0.0/0.0;
-    return ldexp(((v&(1LL<<52)-1) + (1LL<<52)) * (v>>63|1), (v>>52&0x7FF)-1075);
+    return ldexp(((v&((1LL<<52)-1)) + (1LL<<52)) * (v>>63|1), (v>>52&0x7FF)-1075);
 }
 
 float av_int2flt(int32_t v){