Hi,
the attached patch should fix this bug.

However note that the upstream appears to be dead,
so this package should be replaced with its most active fork, mpv.
https://github.com/mpv-player/mpv

-- 
Anton Khirnov
Index: mplayer2-2.0-701-gd4c5b7f/Makefile
===================================================================
--- mplayer2-2.0-701-gd4c5b7f.orig/Makefile	2013-01-12 13:19:07.000000000 +0000
+++ mplayer2-2.0-701-gd4c5b7f/Makefile	2014-03-01 11:58:34.507804581 +0000
@@ -230,7 +230,6 @@
               libaf/af_hrtf.c \
               libaf/af_karaoke.c \
               libaf/af_lavcac3enc.c \
-              libaf/af_lavcresample.c \
               libaf/af_pan.c \
               libaf/af_resample.c \
               libaf/af_scaletempo.c \
@@ -308,7 +307,6 @@
               libmpcodecs/vf_ilpack.c \
               libmpcodecs/vf_ivtc.c \
               libmpcodecs/vf_kerndeint.c \
-              libmpcodecs/vf_lavc.c \
               libmpcodecs/vf_lavcdeint.c \
               libmpcodecs/vf_mirror.c \
               libmpcodecs/vf_noformat.c \
@@ -338,7 +336,6 @@
               libmpcodecs/vf_tile.c \
               libmpcodecs/vf_tinterlace.c \
               libmpcodecs/vf_unsharp.c \
-              libmpcodecs/vf_uspp.c \
               libmpcodecs/vf_vo.c \
               libmpcodecs/vf_yadif.c \
               libmpcodecs/vf_yuvcsp.c \
Index: mplayer2-2.0-701-gd4c5b7f/libaf/af.c
===================================================================
--- mplayer2-2.0-701-gd4c5b7f.orig/libaf/af.c	2013-01-12 13:19:07.000000000 +0000
+++ mplayer2-2.0-701-gd4c5b7f/libaf/af.c	2014-03-01 11:53:55.872002360 +0000
@@ -41,7 +41,7 @@
 extern af_info_t af_info_volnorm;
 extern af_info_t af_info_extrastereo;
 extern af_info_t af_info_lavcac3enc;
-extern af_info_t af_info_lavcresample;
+//extern af_info_t af_info_lavcresample;
 extern af_info_t af_info_sweep;
 extern af_info_t af_info_hrtf;
 extern af_info_t af_info_ladspa;
@@ -71,7 +71,7 @@
    &af_info_volnorm,
    &af_info_extrastereo,
    &af_info_lavcac3enc,
-   &af_info_lavcresample,
+   //&af_info_lavcresample,
    &af_info_sweep,
    &af_info_hrtf,
 #ifdef CONFIG_LADSPA
@@ -529,8 +529,10 @@
                &(s->output.rate));
       if (!af) {
         char *resampler = "resample";
+#if 0
         if ((AF_INIT_TYPE_MASK & s->cfg.force) == AF_INIT_SLOW)
           resampler = "lavcresample";
+#endif
 	if((AF_INIT_TYPE_MASK & s->cfg.force) == AF_INIT_SLOW){
 	  if(!strcmp(s->first->info->name,"format"))
 	    af = af_append(s,s->first,resampler);
Index: mplayer2-2.0-701-gd4c5b7f/libmpcodecs/ad_ffmpeg.c
===================================================================
--- mplayer2-2.0-701-gd4c5b7f.orig/libmpcodecs/ad_ffmpeg.c	2013-01-12 13:19:07.000000000 +0000
+++ mplayer2-2.0-701-gd4c5b7f/libmpcodecs/ad_ffmpeg.c	2014-03-01 11:55:04.072666838 +0000
@@ -175,7 +175,7 @@
     int container_samplerate = sh_audio->container_out_samplerate;
     if (!container_samplerate && sh_audio->wf)
         container_samplerate = sh_audio->wf->nSamplesPerSec;
-    if (codec->codec_id == CODEC_ID_AAC
+    if (codec->codec_id == AV_CODEC_ID_AAC
         && samplerate == 2 * container_samplerate)
         broken_srate = true;
     else if (container_samplerate)
Index: mplayer2-2.0-701-gd4c5b7f/libmpcodecs/vd_ffmpeg.c
===================================================================
--- mplayer2-2.0-701-gd4c5b7f.orig/libmpcodecs/vd_ffmpeg.c	2013-01-12 13:19:07.000000000 +0000
+++ mplayer2-2.0-701-gd4c5b7f/libmpcodecs/vd_ffmpeg.c	2014-03-01 11:55:35.460432979 +0000
@@ -163,10 +163,10 @@
         ctx->do_slices = 1;
 
     if (lavc_codec->capabilities & CODEC_CAP_DR1 && !do_vis_debug
-            && lavc_codec->id != CODEC_ID_H264
-            && lavc_codec->id != CODEC_ID_INTERPLAY_VIDEO
-            && lavc_codec->id != CODEC_ID_ROQ && lavc_codec->id != CODEC_ID_VP8
-            && lavc_codec->id != CODEC_ID_LAGARITH)
+            && lavc_codec->id != AV_CODEC_ID_H264
+            && lavc_codec->id != AV_CODEC_ID_INTERPLAY_VIDEO
+            && lavc_codec->id != AV_CODEC_ID_ROQ && lavc_codec->id != AV_CODEC_ID_VP8
+            && lavc_codec->id != AV_CODEC_ID_LAGARITH)
         ctx->do_dr1 = 1;
     ctx->ip_count = ctx->b_count = 0;
 
Index: mplayer2-2.0-701-gd4c5b7f/libmpcodecs/vf.c
===================================================================
--- mplayer2-2.0-701-gd4c5b7f.orig/libmpcodecs/vf.c	2013-01-12 13:19:07.000000000 +0000
+++ mplayer2-2.0-701-gd4c5b7f/libmpcodecs/vf.c	2014-03-01 11:58:28.929668355 +0000
@@ -51,7 +51,7 @@
 extern const vf_info_t vf_info_rotate;
 extern const vf_info_t vf_info_mirror;
 extern const vf_info_t vf_info_palette;
-extern const vf_info_t vf_info_lavc;
+//extern const vf_info_t vf_info_lavc;
 extern const vf_info_t vf_info_dvbscale;
 extern const vf_info_t vf_info_cropdetect;
 extern const vf_info_t vf_info_test;
@@ -94,7 +94,7 @@
 extern const vf_info_t vf_info_remove_logo;
 extern const vf_info_t vf_info_hue;
 extern const vf_info_t vf_info_spp;
-extern const vf_info_t vf_info_uspp;
+//extern const vf_info_t vf_info_uspp;
 extern const vf_info_t vf_info_fspp;
 extern const vf_info_t vf_info_pp7;
 extern const vf_info_t vf_info_yuvcsp;
@@ -137,11 +137,11 @@
 #ifdef CONFIG_LIBPOSTPROC
     &vf_info_pp,
 #endif
-    &vf_info_lavc,
+    //&vf_info_lavc,
     &vf_info_lavcdeint,
     &vf_info_screenshot,
     &vf_info_fspp,
-    &vf_info_uspp,
+    //&vf_info_uspp,
 
     &vf_info_dvbscale,
     &vf_info_cropdetect,
Index: mplayer2-2.0-701-gd4c5b7f/libmpdemux/demux_lavf.c
===================================================================
--- mplayer2-2.0-701-gd4c5b7f.orig/libmpdemux/demux_lavf.c	2013-01-12 13:19:07.000000000 +0000
+++ mplayer2-2.0-701-gd4c5b7f/libmpdemux/demux_lavf.c	2014-03-01 11:59:52.592711740 +0000
@@ -345,10 +345,10 @@
         sh_audio->samplerate = codec->sample_rate;
         sh_audio->i_bps = codec->bit_rate / 8;
         switch (codec->codec_id) {
-        case CODEC_ID_PCM_ALAW:
+        case AV_CODEC_ID_PCM_ALAW:
             sh_audio->format = 0x6;
             break;
-        case CODEC_ID_PCM_MULAW:
+        case AV_CODEC_ID_PCM_MULAW:
             sh_audio->format = 0x7;
             break;
         }
@@ -381,7 +381,7 @@
         sh_video->libav_codec_id = codec->codec_id;
         bih = calloc(sizeof(*bih) + codec->extradata_size, 1);
 
-        if (codec->codec_id == CODEC_ID_RAWVIDEO) {
+        if (codec->codec_id == AV_CODEC_ID_RAWVIDEO) {
             switch (codec->pix_fmt) {
             case PIX_FMT_RGB24:
                 codec->codec_tag = MKTAG(24, 'B', 'G', 'R');
@@ -422,8 +422,8 @@
          * heuristic makes up works with subtitles in practice.
          */
         double fps;
-        if (st->r_frame_rate.num)
-            fps = av_q2d(st->r_frame_rate);
+        if (st->avg_frame_rate.num)
+            fps = av_q2d(st->avg_frame_rate);
         else
             fps = 1.0 / FFMAX(av_q2d(st->time_base),
                               av_q2d(st->codec->time_base) *
@@ -460,21 +460,21 @@
         sh_sub_t *sh_sub;
         char type;
         /* only support text subtitles for now */
-        if (codec->codec_id == CODEC_ID_TEXT)
+        if (codec->codec_id == AV_CODEC_ID_TEXT)
             type = 't';
-        else if (codec->codec_id == CODEC_ID_MOV_TEXT)
+        else if (codec->codec_id == AV_CODEC_ID_MOV_TEXT)
             type = 'm';
-        else if (codec->codec_id == CODEC_ID_SSA)
+        else if (codec->codec_id == AV_CODEC_ID_SSA)
             type = 'a';
-        else if (codec->codec_id == CODEC_ID_DVD_SUBTITLE)
+        else if (codec->codec_id == AV_CODEC_ID_DVD_SUBTITLE)
             type = 'v';
-        else if (codec->codec_id == CODEC_ID_XSUB)
+        else if (codec->codec_id == AV_CODEC_ID_XSUB)
             type = 'x';
-        else if (codec->codec_id == CODEC_ID_DVB_SUBTITLE)
+        else if (codec->codec_id == AV_CODEC_ID_DVB_SUBTITLE)
             type = 'b';
-        else if (codec->codec_id == CODEC_ID_DVB_TELETEXT)
+        else if (codec->codec_id == AV_CODEC_ID_DVB_TELETEXT)
             type = 'd';
-        else if (codec->codec_id == CODEC_ID_HDMV_PGS_SUBTITLE)
+        else if (codec->codec_id == AV_CODEC_ID_HDMV_PGS_SUBTITLE)
             type = 'p';
         else
             break;
@@ -509,7 +509,7 @@
         AVDictionaryEntry *ftag = av_dict_get(st->metadata, "filename",
                                               NULL, 0);
         char *filename = ftag ? ftag->value : NULL;
-        if (st->codec->codec_id == CODEC_ID_TTF)
+        if (st->codec->codec_id == AV_CODEC_ID_TTF)
             demuxer_add_attachment(demuxer, bstr(filename),
                                    bstr("application/x-truetype-font"),
                                    (struct bstr){codec->extradata,
@@ -954,7 +954,7 @@
                     prog->aid = program->stream_index[i];
                 break;
             case AVMEDIA_TYPE_SUBTITLE:
-                if (prog->sid == -2 && priv->avfc->streams[program->stream_index[i]]->codec->codec_id == CODEC_ID_TEXT)
+                if (prog->sid == -2 && priv->avfc->streams[program->stream_index[i]]->codec->codec_id == AV_CODEC_ID_TEXT)
                     prog->sid = program->stream_index[i];
                 break;
             }
Index: mplayer2-2.0-701-gd4c5b7f/libmpdemux/demuxer.c
===================================================================
--- mplayer2-2.0-701-gd4c5b7f.orig/libmpdemux/demuxer.c	2013-01-12 13:19:07.000000000 +0000
+++ mplayer2-2.0-701-gd4c5b7f/libmpdemux/demuxer.c	2014-03-01 11:59:05.134552568 +0000
@@ -490,35 +490,35 @@
 
 static void allocate_parser(AVCodecContext **avctx, AVCodecParserContext **parser, unsigned format)
 {
-    enum CodecID codec_id = CODEC_ID_NONE;
+    enum AVCodecID codec_id = AV_CODEC_ID_NONE;
 
     switch (format) {
     case MKTAG('M', 'P', '4', 'L'):
-        codec_id = CODEC_ID_AAC_LATM;
+        codec_id = AV_CODEC_ID_AAC_LATM;
         break;
     case 0x2000:
     case 0x332D6361:
     case 0x332D4341:
     case 0x20736D:
     case MKTAG('s', 'a', 'c', '3'):
-        codec_id = CODEC_ID_AC3;
+        codec_id = AV_CODEC_ID_AC3;
         break;
     case MKTAG('d', 'n', 'e', 't'):
         // DNET/byte-swapped AC-3 - there is no parser for that yet
-        //codec_id = CODEC_ID_DNET;
+        //codec_id = AV_CODEC_ID_DNET;
         break;
     case MKTAG('E', 'A', 'C', '3'):
-        codec_id = CODEC_ID_EAC3;
+        codec_id = AV_CODEC_ID_EAC3;
         break;
     case 0x2001:
     case 0x86:
-        codec_id = CODEC_ID_DTS;
+        codec_id = AV_CODEC_ID_DTS;
         break;
     case MKTAG('f', 'L', 'a', 'C'):
-        codec_id = CODEC_ID_FLAC;
+        codec_id = AV_CODEC_ID_FLAC;
         break;
     case MKTAG('M', 'L', 'P', ' '):
-        codec_id = CODEC_ID_MLP;
+        codec_id = AV_CODEC_ID_MLP;
         break;
     case 0x55:
     case 0x5500736d:
@@ -526,19 +526,19 @@
     case MKTAG('.', 'm', 'p', '3'):
     case MKTAG('M', 'P', '3', ' '):
     case MKTAG('L', 'A', 'M', 'E'):
-        codec_id = CODEC_ID_MP3;
+        codec_id = AV_CODEC_ID_MP3;
         break;
     case 0x50:
     case 0x5000736d:
     case MKTAG('.', 'm', 'p', '2'):
     case MKTAG('.', 'm', 'p', '1'):
-        codec_id = CODEC_ID_MP2;
+        codec_id = AV_CODEC_ID_MP2;
         break;
     case MKTAG('T', 'R', 'H', 'D'):
-        codec_id = CODEC_ID_TRUEHD;
+        codec_id = AV_CODEC_ID_TRUEHD;
         break;
     }
-    if (codec_id != CODEC_ID_NONE) {
+    if (codec_id != AV_CODEC_ID_NONE) {
         *avctx = avcodec_alloc_context3(NULL);
         if (!*avctx)
             return;
Index: mplayer2-2.0-701-gd4c5b7f/libmpdemux/mp_taglists.c
===================================================================
--- mplayer2-2.0-701-gd4c5b7f.orig/libmpdemux/mp_taglists.c	2013-01-12 13:19:07.000000000 +0000
+++ mplayer2-2.0-701-gd4c5b7f/libmpdemux/mp_taglists.c	2014-03-01 12:00:44.298974409 +0000
@@ -22,111 +22,111 @@
 #include "mp_taglists.h"
 
 struct tag {
-    enum CodecID id;
+    enum AVCodecID id;
     unsigned int tag;
 };
 
 static const struct tag mp_wav_tags[] = {
-    { CODEC_ID_ADPCM_4XM,         MKTAG('4', 'X', 'M', 'A')},
-    { CODEC_ID_ADPCM_ADX,         MKTAG('S', 'a', 'd', 'x')},
-    { CODEC_ID_ADPCM_EA,          MKTAG('A', 'D', 'E', 'A')},
-    { CODEC_ID_ADPCM_EA_MAXIS_XA, MKTAG('A', 'D', 'X', 'A')},
-    { CODEC_ID_ADPCM_IMA_WS,      MKTAG('A', 'I', 'W', 'S')},
-    { CODEC_ID_ADPCM_THP,         MKTAG('T', 'H', 'P', 'A')},
-    { CODEC_ID_ADPCM_XA,          MKTAG('P', 'S', 'X', 'A')},
-    { CODEC_ID_AMR_NB,            MKTAG('n', 'b',   0,   0)},
-    { CODEC_ID_COOK,              MKTAG('c', 'o', 'o', 'k')},
-    { CODEC_ID_DSICINAUDIO,       MKTAG('D', 'C', 'I', 'A')},
-    { CODEC_ID_EAC3,              MKTAG('E', 'A', 'C', '3')},
-    { CODEC_ID_INTERPLAY_DPCM,    MKTAG('I', 'N', 'P', 'A')},
-    { CODEC_ID_MLP,               MKTAG('M', 'L', 'P', ' ')},
-    { CODEC_ID_MP1,               0x50},
-    { CODEC_ID_MP4ALS,            MKTAG('A', 'L', 'S', ' ')},
-    { CODEC_ID_MUSEPACK7,         MKTAG('M', 'P', 'C', ' ')},
-    { CODEC_ID_MUSEPACK8,         MKTAG('M', 'P', 'C', '8')},
-    { CODEC_ID_NELLYMOSER,        MKTAG('N', 'E', 'L', 'L')},
-    { CODEC_ID_PCM_LXF,           MKTAG('P', 'L', 'X', 'F')},
-    { CODEC_ID_QCELP,             MKTAG('Q', 'c', 'l', 'p')},
-    { CODEC_ID_QDM2,              MKTAG('Q', 'D', 'M', '2')},
-    { CODEC_ID_RA_144,            MKTAG('1', '4', '_', '4')},
-    { CODEC_ID_RA_288,            MKTAG('2', '8', '_', '8')},
-    { CODEC_ID_ROQ_DPCM,          MKTAG('R', 'o', 'Q', 'A')},
-    { CODEC_ID_SHORTEN,           MKTAG('s', 'h', 'r', 'n')},
-    { CODEC_ID_SPEEX,             MKTAG('s', 'p', 'x', ' ')},
-    { CODEC_ID_TTA,               MKTAG('T', 'T', 'A', '1')},
-    { CODEC_ID_TWINVQ,            MKTAG('T', 'W', 'I', '2')},
-    { CODEC_ID_WAVPACK,           MKTAG('W', 'V', 'P', 'K')},
-    { CODEC_ID_WESTWOOD_SND1,     MKTAG('S', 'N', 'D', '1')},
-    { CODEC_ID_XAN_DPCM,          MKTAG('A', 'x', 'a', 'n')},
+    { AV_CODEC_ID_ADPCM_4XM,         MKTAG('4', 'X', 'M', 'A')},
+    { AV_CODEC_ID_ADPCM_ADX,         MKTAG('S', 'a', 'd', 'x')},
+    { AV_CODEC_ID_ADPCM_EA,          MKTAG('A', 'D', 'E', 'A')},
+    { AV_CODEC_ID_ADPCM_EA_MAXIS_XA, MKTAG('A', 'D', 'X', 'A')},
+    { AV_CODEC_ID_ADPCM_IMA_WS,      MKTAG('A', 'I', 'W', 'S')},
+    { AV_CODEC_ID_ADPCM_THP,         MKTAG('T', 'H', 'P', 'A')},
+    { AV_CODEC_ID_ADPCM_XA,          MKTAG('P', 'S', 'X', 'A')},
+    { AV_CODEC_ID_AMR_NB,            MKTAG('n', 'b',   0,   0)},
+    { AV_CODEC_ID_COOK,              MKTAG('c', 'o', 'o', 'k')},
+    { AV_CODEC_ID_DSICINAUDIO,       MKTAG('D', 'C', 'I', 'A')},
+    { AV_CODEC_ID_EAC3,              MKTAG('E', 'A', 'C', '3')},
+    { AV_CODEC_ID_INTERPLAY_DPCM,    MKTAG('I', 'N', 'P', 'A')},
+    { AV_CODEC_ID_MLP,               MKTAG('M', 'L', 'P', ' ')},
+    { AV_CODEC_ID_MP1,               0x50},
+    { AV_CODEC_ID_MP4ALS,            MKTAG('A', 'L', 'S', ' ')},
+    { AV_CODEC_ID_MUSEPACK7,         MKTAG('M', 'P', 'C', ' ')},
+    { AV_CODEC_ID_MUSEPACK8,         MKTAG('M', 'P', 'C', '8')},
+    { AV_CODEC_ID_NELLYMOSER,        MKTAG('N', 'E', 'L', 'L')},
+    { AV_CODEC_ID_PCM_LXF,           MKTAG('P', 'L', 'X', 'F')},
+    { AV_CODEC_ID_QCELP,             MKTAG('Q', 'c', 'l', 'p')},
+    { AV_CODEC_ID_QDM2,              MKTAG('Q', 'D', 'M', '2')},
+    { AV_CODEC_ID_RA_144,            MKTAG('1', '4', '_', '4')},
+    { AV_CODEC_ID_RA_288,            MKTAG('2', '8', '_', '8')},
+    { AV_CODEC_ID_ROQ_DPCM,          MKTAG('R', 'o', 'Q', 'A')},
+    { AV_CODEC_ID_SHORTEN,           MKTAG('s', 'h', 'r', 'n')},
+    { AV_CODEC_ID_SPEEX,             MKTAG('s', 'p', 'x', ' ')},
+    { AV_CODEC_ID_TTA,               MKTAG('T', 'T', 'A', '1')},
+    { AV_CODEC_ID_TWINVQ,            MKTAG('T', 'W', 'I', '2')},
+    { AV_CODEC_ID_WAVPACK,           MKTAG('W', 'V', 'P', 'K')},
+    { AV_CODEC_ID_WESTWOOD_SND1,     MKTAG('S', 'N', 'D', '1')},
+    { AV_CODEC_ID_XAN_DPCM,          MKTAG('A', 'x', 'a', 'n')},
     { 0, 0 },
 };
 
 static const struct tag mp_codecid_override_tags[] = {
-    { CODEC_ID_AAC,               MKTAG('M', 'P', '4', 'A')},
-    { CODEC_ID_AAC_LATM,          MKTAG('M', 'P', '4', 'L')},
-    { CODEC_ID_AC3,               0x2000},
-    { CODEC_ID_ADPCM_IMA_AMV,     MKTAG('A', 'M', 'V', 'A')},
-    { CODEC_ID_BINKAUDIO_DCT,     MKTAG('B', 'A', 'U', '1')},
-    { CODEC_ID_BINKAUDIO_RDFT,    MKTAG('B', 'A', 'U', '2')},
-    { CODEC_ID_DTS,               0x2001},
-    { CODEC_ID_DVVIDEO,           MKTAG('d', 'v', 's', 'd')},
-    { CODEC_ID_EAC3,              MKTAG('E', 'A', 'C', '3')},
-    { CODEC_ID_H264,              MKTAG('H', '2', '6', '4')},
-    { CODEC_ID_MPEG4,             MKTAG('M', 'P', '4', 'V')},
-    { CODEC_ID_PCM_BLURAY,        MKTAG('B', 'P', 'C', 'M')},
-    { CODEC_ID_PCM_S8,            MKTAG('t', 'w', 'o', 's')},
-    { CODEC_ID_PCM_U8,            1},
-    { CODEC_ID_PCM_S16BE,         MKTAG('t', 'w', 'o', 's')},
-    { CODEC_ID_PCM_S16LE,         1},
-    { CODEC_ID_PCM_S24BE,         MKTAG('i', 'n', '2', '4')},
-    { CODEC_ID_PCM_S24LE,         1},
-    { CODEC_ID_PCM_S32BE,         MKTAG('i', 'n', '3', '2')},
-    { CODEC_ID_PCM_S32LE,         1},
-    { CODEC_ID_MP2,               0x50},
-    { CODEC_ID_MPEG2VIDEO,        MKTAG('M', 'P', 'G', '2')},
-    { CODEC_ID_TRUEHD,            MKTAG('T', 'R', 'H', 'D')},
+    { AV_CODEC_ID_AAC,               MKTAG('M', 'P', '4', 'A')},
+    { AV_CODEC_ID_AAC_LATM,          MKTAG('M', 'P', '4', 'L')},
+    { AV_CODEC_ID_AC3,               0x2000},
+    { AV_CODEC_ID_ADPCM_IMA_AMV,     MKTAG('A', 'M', 'V', 'A')},
+    { AV_CODEC_ID_BINKAUDIO_DCT,     MKTAG('B', 'A', 'U', '1')},
+    { AV_CODEC_ID_BINKAUDIO_RDFT,    MKTAG('B', 'A', 'U', '2')},
+    { AV_CODEC_ID_DTS,               0x2001},
+    { AV_CODEC_ID_DVVIDEO,           MKTAG('d', 'v', 's', 'd')},
+    { AV_CODEC_ID_EAC3,              MKTAG('E', 'A', 'C', '3')},
+    { AV_CODEC_ID_H264,              MKTAG('H', '2', '6', '4')},
+    { AV_CODEC_ID_MPEG4,             MKTAG('M', 'P', '4', 'V')},
+    { AV_CODEC_ID_PCM_BLURAY,        MKTAG('B', 'P', 'C', 'M')},
+    { AV_CODEC_ID_PCM_S8,            MKTAG('t', 'w', 'o', 's')},
+    { AV_CODEC_ID_PCM_U8,            1},
+    { AV_CODEC_ID_PCM_S16BE,         MKTAG('t', 'w', 'o', 's')},
+    { AV_CODEC_ID_PCM_S16LE,         1},
+    { AV_CODEC_ID_PCM_S24BE,         MKTAG('i', 'n', '2', '4')},
+    { AV_CODEC_ID_PCM_S24LE,         1},
+    { AV_CODEC_ID_PCM_S32BE,         MKTAG('i', 'n', '3', '2')},
+    { AV_CODEC_ID_PCM_S32LE,         1},
+    { AV_CODEC_ID_MP2,               0x50},
+    { AV_CODEC_ID_MPEG2VIDEO,        MKTAG('M', 'P', 'G', '2')},
+    { AV_CODEC_ID_TRUEHD,            MKTAG('T', 'R', 'H', 'D')},
     { 0, 0 },
 };
 
 static const struct tag mp_bmp_tags[] = {
-    { CODEC_ID_AMV,               MKTAG('A', 'M', 'V', 'V')},
-    { CODEC_ID_ANM,               MKTAG('A', 'N', 'M', ' ')},
-    { CODEC_ID_AVS,               MKTAG('A', 'V', 'S', ' ')},
-    { CODEC_ID_BETHSOFTVID,       MKTAG('B', 'E', 'T', 'H')},
-    { CODEC_ID_BFI,               MKTAG('B', 'F', 'I', 'V')},
-    { CODEC_ID_C93,               MKTAG('C', '9', '3', 'V')},
-    { CODEC_ID_CDGRAPHICS,        MKTAG('C', 'D', 'G', 'R')},
-    { CODEC_ID_DNXHD,             MKTAG('A', 'V', 'd', 'n')},
-    { CODEC_ID_DSICINVIDEO,       MKTAG('D', 'C', 'I', 'V')},
-    { CODEC_ID_DXA,               MKTAG('D', 'X', 'A', '1')},
-    { CODEC_ID_FLIC,              MKTAG('F', 'L', 'I', 'C')},
-    { CODEC_ID_IDCIN,             MKTAG('I', 'D', 'C', 'I')},
-    { CODEC_ID_INTERPLAY_VIDEO,   MKTAG('I', 'N', 'P', 'V')},
-    { CODEC_ID_JV,                MKTAG('F', 'F', 'J', 'V')},
-    { CODEC_ID_MDEC,              MKTAG('M', 'D', 'E', 'C')},
-    { CODEC_ID_MOTIONPIXELS,      MKTAG('M', 'V', 'I', '1')},
-    { CODEC_ID_NUV,               MKTAG('N', 'U', 'V', '1')},
-    { CODEC_ID_RL2,               MKTAG('R', 'L', '2', 'V')},
-    { CODEC_ID_ROQ,               MKTAG('R', 'o', 'Q', 'V')},
-    { CODEC_ID_RV10,              MKTAG('R', 'V', '1', '0')},
-    { CODEC_ID_RV20,              MKTAG('R', 'V', '2', '0')},
-    { CODEC_ID_RV30,              MKTAG('R', 'V', '3', '0')},
-    { CODEC_ID_RV40,              MKTAG('R', 'V', '4', '0')},
-    { CODEC_ID_SVQ3,              MKTAG('S', 'V', 'Q', '3')},
-    { CODEC_ID_TGV,               MKTAG('f', 'V', 'G', 'T')},
-    { CODEC_ID_THP,               MKTAG('T', 'H', 'P', 'V')},
-    { CODEC_ID_TIERTEXSEQVIDEO,   MKTAG('T', 'S', 'E', 'Q')},
-    { CODEC_ID_TXD,               MKTAG('T', 'X', 'D', 'V')},
-    { CODEC_ID_VP6A,              MKTAG('V', 'P', '6', 'A')},
-    { CODEC_ID_VMDVIDEO,          MKTAG('V', 'M', 'D', 'V')},
-    { CODEC_ID_WS_VQA,            MKTAG('V', 'Q', 'A', 'V')},
-    { CODEC_ID_XAN_WC3,           MKTAG('W', 'C', '3', 'V')},
+    { AV_CODEC_ID_AMV,               MKTAG('A', 'M', 'V', 'V')},
+    { AV_CODEC_ID_ANM,               MKTAG('A', 'N', 'M', ' ')},
+    { AV_CODEC_ID_AVS,               MKTAG('A', 'V', 'S', ' ')},
+    { AV_CODEC_ID_BETHSOFTVID,       MKTAG('B', 'E', 'T', 'H')},
+    { AV_CODEC_ID_BFI,               MKTAG('B', 'F', 'I', 'V')},
+    { AV_CODEC_ID_C93,               MKTAG('C', '9', '3', 'V')},
+    { AV_CODEC_ID_CDGRAPHICS,        MKTAG('C', 'D', 'G', 'R')},
+    { AV_CODEC_ID_DNXHD,             MKTAG('A', 'V', 'd', 'n')},
+    { AV_CODEC_ID_DSICINVIDEO,       MKTAG('D', 'C', 'I', 'V')},
+    { AV_CODEC_ID_DXA,               MKTAG('D', 'X', 'A', '1')},
+    { AV_CODEC_ID_FLIC,              MKTAG('F', 'L', 'I', 'C')},
+    { AV_CODEC_ID_IDCIN,             MKTAG('I', 'D', 'C', 'I')},
+    { AV_CODEC_ID_INTERPLAY_VIDEO,   MKTAG('I', 'N', 'P', 'V')},
+    { AV_CODEC_ID_JV,                MKTAG('F', 'F', 'J', 'V')},
+    { AV_CODEC_ID_MDEC,              MKTAG('M', 'D', 'E', 'C')},
+    { AV_CODEC_ID_MOTIONPIXELS,      MKTAG('M', 'V', 'I', '1')},
+    { AV_CODEC_ID_NUV,               MKTAG('N', 'U', 'V', '1')},
+    { AV_CODEC_ID_RL2,               MKTAG('R', 'L', '2', 'V')},
+    { AV_CODEC_ID_ROQ,               MKTAG('R', 'o', 'Q', 'V')},
+    { AV_CODEC_ID_RV10,              MKTAG('R', 'V', '1', '0')},
+    { AV_CODEC_ID_RV20,              MKTAG('R', 'V', '2', '0')},
+    { AV_CODEC_ID_RV30,              MKTAG('R', 'V', '3', '0')},
+    { AV_CODEC_ID_RV40,              MKTAG('R', 'V', '4', '0')},
+    { AV_CODEC_ID_SVQ3,              MKTAG('S', 'V', 'Q', '3')},
+    { AV_CODEC_ID_TGV,               MKTAG('f', 'V', 'G', 'T')},
+    { AV_CODEC_ID_THP,               MKTAG('T', 'H', 'P', 'V')},
+    { AV_CODEC_ID_TIERTEXSEQVIDEO,   MKTAG('T', 'S', 'E', 'Q')},
+    { AV_CODEC_ID_TXD,               MKTAG('T', 'X', 'D', 'V')},
+    { AV_CODEC_ID_VP6A,              MKTAG('V', 'P', '6', 'A')},
+    { AV_CODEC_ID_VMDVIDEO,          MKTAG('V', 'M', 'D', 'V')},
+    { AV_CODEC_ID_WS_VQA,            MKTAG('V', 'Q', 'A', 'V')},
+    { AV_CODEC_ID_XAN_WC3,           MKTAG('W', 'C', '3', 'V')},
     { 0, 0 },
 };
 
-static unsigned int codec_get_tag(const struct tag *tags, enum CodecID id)
+static unsigned int codec_get_tag(const struct tag *tags, enum AVCodecID id)
 {
-    while (tags->id != CODEC_ID_NONE) {
+    while (tags->id != AV_CODEC_ID_NONE) {
         if (tags->id == id)
             return tags->tag;
         tags++;
@@ -134,12 +134,12 @@
     return 0;
 }
 
-unsigned int mp_taglist_override(enum CodecID id)
+unsigned int mp_taglist_override(enum AVCodecID id)
 {
     return codec_get_tag(mp_codecid_override_tags, id);
 }
 
-unsigned int mp_taglist_video(enum CodecID id)
+unsigned int mp_taglist_video(enum AVCodecID id)
 {
     const struct AVCodecTag *tags[] = {avformat_get_riff_video_tags(), NULL };
     unsigned int tag = av_codec_get_tag(tags, id);
@@ -148,7 +148,7 @@
     return codec_get_tag(mp_bmp_tags, id);
 }
 
-unsigned int mp_taglist_audio(enum CodecID id)
+unsigned int mp_taglist_audio(enum AVCodecID id)
 {
     const struct AVCodecTag *tags[] = {avformat_get_riff_audio_tags(), NULL };
     unsigned int tag = av_codec_get_tag(tags, id);
Index: mplayer2-2.0-701-gd4c5b7f/libmpdemux/mp_taglists.h
===================================================================
--- mplayer2-2.0-701-gd4c5b7f.orig/libmpdemux/mp_taglists.h	2013-01-12 13:19:07.000000000 +0000
+++ mplayer2-2.0-701-gd4c5b7f/libmpdemux/mp_taglists.h	2014-03-01 12:01:06.988511109 +0000
@@ -21,8 +21,8 @@
 
 #include <libavcodec/avcodec.h>
 
-unsigned int mp_taglist_override(enum CodecID id);
-unsigned int mp_taglist_video(enum CodecID id);
-unsigned int mp_taglist_audio(enum CodecID id);
+unsigned int mp_taglist_override(enum AVCodecID id);
+unsigned int mp_taglist_video(enum AVCodecID id);
+unsigned int mp_taglist_audio(enum AVCodecID id);
 
 #endif /* MPLAYER_MP_TAGLISTS_H */
Index: mplayer2-2.0-701-gd4c5b7f/libvo/vo_png.c
===================================================================
--- mplayer2-2.0-701-gd4c5b7f.orig/libvo/vo_png.c	2014-03-01 11:50:42.940295486 +0000
+++ mplayer2-2.0-701-gd4c5b7f/libvo/vo_png.c	2014-03-01 11:50:28.837951541 +0000
@@ -52,8 +52,6 @@
 static int framenum;
 static int use_alpha;
 static AVCodecContext *avctx;
-static uint8_t *outbuffer;
-int outbuffer_size;
 
 static int
 config(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint32_t flags, char *title, uint32_t format)
@@ -66,7 +64,7 @@
 
     mp_msg(MSGT_VO,MSGL_DBG2, "PNG Compression level %i\n", z_compression);
     uninit();
-    struct AVCodec *png_codec = avcodec_find_encoder(CODEC_ID_PNG);
+    struct AVCodec *png_codec = avcodec_find_encoder(AV_CODEC_ID_PNG);
     if (!png_codec)
         goto error;
     avctx = avcodec_alloc_context3(png_codec);
@@ -87,9 +85,10 @@
 
 
 static uint32_t draw_image(mp_image_t* mpi){
+    AVPacket pkt = { 0 };
     AVFrame pic;
     int buffersize;
-    int res;
+    int res, got_output;
     char buf[100];
     FILE *outfile;
 
@@ -105,22 +104,18 @@
 
     pic.data[0] = mpi->planes[0];
     pic.linesize[0] = mpi->stride[0];
-    buffersize = mpi->w * mpi->h * 8;
-    if (outbuffer_size < buffersize) {
-        av_freep(&outbuffer);
-        outbuffer = av_malloc(buffersize);
-        outbuffer_size = buffersize;
-    }
-    res = avcodec_encode_video(avctx, outbuffer, outbuffer_size, &pic);
 
-    if(res < 0){
+    res = avcodec_encode_video2(avctx, &pkt, &pic, &got_output);
+
+    if(res < 0 || !got_output){
  	    mp_msg(MSGT_VO,MSGL_WARN, "[VO_PNG] Error in create_png.\n");
             fclose(outfile);
 	    return 1;
     }
 
-    fwrite(outbuffer, res, 1, outfile);
+    fwrite(pkt.data, pkt.size, 1, outfile);
     fclose(outfile);
+    av_free_packet(&pkt);
 
     return VO_TRUE;
 }
@@ -157,8 +152,6 @@
     if (avctx)
         avcodec_close(avctx);
     av_freep(&avctx);
-    av_freep(&outbuffer);
-    outbuffer_size = 0;
 }
 
 static void check_events(void){}
Index: mplayer2-2.0-701-gd4c5b7f/screenshot.c
===================================================================
--- mplayer2-2.0-701-gd4c5b7f.orig/screenshot.c	2013-01-12 13:19:07.000000000 +0000
+++ mplayer2-2.0-701-gd4c5b7f/screenshot.c	2014-03-01 11:47:23.003420530 +0000
@@ -82,8 +82,9 @@
     FILE *fp = NULL;
     void *outbuffer = NULL;
     int success = 0;
+    int got_output;
 
-    struct AVCodec *png_codec = avcodec_find_encoder(CODEC_ID_PNG);
+    struct AVCodec *png_codec = avcodec_find_encoder(AV_CODEC_ID_PNG);
     AVCodecContext *avctx = NULL;
     if (!png_codec)
         goto print_open_fail;
@@ -104,10 +105,8 @@
         goto error_exit;
     }
 
+    AVPacket pkt = { 0 };
     size_t outbuffer_size = image->width * image->height * 3 * 2;
-    outbuffer = malloc(outbuffer_size);
-    if (!outbuffer)
-        goto error_exit;
 
     AVFrame *pic = ctx->pic;
     avcodec_get_frame_defaults(pic);
@@ -115,8 +114,8 @@
         pic->data[n] = image->planes[n];
         pic->linesize[n] = image->stride[n];
     }
-    int size = avcodec_encode_video(avctx, outbuffer, outbuffer_size, pic);
-    if (size < 1)
+    int ret = avcodec_encode_video2(avctx, &pkt, pic, &got_output);
+    if (ret < 0 || !got_output)
         goto error_exit;
 
     fp = fopen(fname, "wb");
@@ -126,8 +125,9 @@
         goto error_exit;
     }
 
-    fwrite(outbuffer, size, 1, fp);
+    fwrite(pkt.data, pkt.size, 1, fp);
     fflush(fp);
+    av_free_packet(&pkt);
 
     if (ferror(fp))
         goto error_exit;
@@ -139,7 +139,6 @@
     av_free(avctx);
     if (fp)
         fclose(fp);
-    free(outbuffer);
     return success;
 }
 
Index: mplayer2-2.0-701-gd4c5b7f/sub/sd_lavc.c
===================================================================
--- mplayer2-2.0-701-gd4c5b7f.orig/sub/sd_lavc.c	2013-01-12 13:19:07.000000000 +0000
+++ mplayer2-2.0-701-gd4c5b7f/sub/sd_lavc.c	2014-03-01 12:01:32.932124883 +0000
@@ -40,16 +40,16 @@
     if (sh->initialized)
         return 0;
     struct sd_lavc_priv *priv = talloc_zero(NULL, struct sd_lavc_priv);
-    enum CodecID cid = CODEC_ID_NONE;
+    enum AVCodecID cid = AV_CODEC_ID_NONE;
     switch (sh->type) {
     case 'b':
-        cid = CODEC_ID_DVB_SUBTITLE; break;
+        cid = AV_CODEC_ID_DVB_SUBTITLE; break;
     case 'p':
-        cid = CODEC_ID_HDMV_PGS_SUBTITLE; break;
+        cid = AV_CODEC_ID_HDMV_PGS_SUBTITLE; break;
     case 'x':
-        cid = CODEC_ID_XSUB; break;
+        cid = AV_CODEC_ID_XSUB; break;
     case 'v':
-        cid = CODEC_ID_DVD_SUBTITLE; break;
+        cid = AV_CODEC_ID_DVD_SUBTITLE; break;
     }
     AVCodecContext *ctx = NULL;
     AVCodec *sub_codec = avcodec_find_decoder(cid);

Reply via email to