diff --git a/avconv.c b/avconv.c
index 3b61ee26c6..74459ab6ba 100644
--- a/avconv.c
+++ b/avconv.c
@@ -569,10 +569,12 @@ error:
     exit_program(1);
 }
 
+#if FF_API_CODED_FRAME
 static double psnr(double d)
 {
     return -10.0 * log(d) / log(10.0);
 }
+#endif
 
 static void do_video_stats(OutputStream *ost, int frame_size)
 {
diff --git a/libavcodec/error_resilience.c b/libavcodec/error_resilience.c
index eb6fd1481b..d53dfdd995 100644
--- a/libavcodec/error_resilience.c
+++ b/libavcodec/error_resilience.c
@@ -1199,7 +1199,9 @@ FF_ENABLE_DEPRECATION_WARNINGS
                        s->mb_height, linesize[2], 0);
     }
 
+#if FF_API_XVMC
 ec_clean:
+#endif
     /* clean a few tables */
     for (i = 0; i < s->mb_num; i++) {
         const int mb_xy = s->mb_index2xy[i];
diff --git a/libavcodec/qtrleenc.c b/libavcodec/qtrleenc.c
index 67c88e1960..e7de20919a 100644
--- a/libavcodec/qtrleenc.c
+++ b/libavcodec/qtrleenc.c
@@ -297,7 +297,9 @@ static int qtrle_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
                               const AVFrame *pict, int *got_packet)
 {
     QtrleEncContext * const s = avctx->priv_data;
+#if FF_API_CODED_FRAME
     enum AVPictureType pict_type;
+#endif
     int ret;
 
     if ((ret = ff_alloc_packet(pkt, s->max_buf_size)) < 0) {
@@ -308,11 +310,15 @@ static int qtrle_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
 
     if (avctx->gop_size == 0 || (s->avctx->frame_number % avctx->gop_size) == 0) {
         /* I-Frame */
+#if FF_API_CODED_FRAME
         pict_type = AV_PICTURE_TYPE_I;
+#endif
         s->key_frame = 1;
     } else {
         /* P-Frame */
+#if FF_API_CODED_FRAME
         pict_type = AV_PICTURE_TYPE_P;
+#endif
         s->key_frame = 0;
     }