[MPlayer-dev-eng] Allow compilation with Libav

Reinhard Tartler siretart at tauware.de
Mon Jan 2 18:33:44 CET 2012


On Mo, Jan 02, 2012 at 18:15:34 (CET), Nicolas George wrote:

> Le tridi 13 nivôse, an CCXX, Reinhard Tartler a écrit :
>> There are no "leaders" in libav.
>> 
>> But be assured, I am active in libav and I do care about mplayer
>> compatibility, otherwise I wouldn't submit such patches to mplayer.
>
> I see you do, but I am afraid you are quite isolated. But maybe it is an
> unfounded impression from me.

Let's assume your impression unfounded for now.

>
>> As for escape130, I've just submitted the decoder to libav. If it gets
>> accepted, then I think we've found an acceptable solution.
>
> I saw your patch, but I had not yet time to comment. I fear it will not
> work. You insert the CODEC_ID in the middle of the list, so you change the
> value of all subsequent ids. That should only happen with major bumps.

I see. Will update the patch then.

As for the ffmpeg/libav politics, let's please leave them aside for now
and focus on the following patch:


--- fmt-conversion.c	(revision 34482)
+++ fmt-conversion.c	(working copy)
@@ -24,6 +24,11 @@
 #include "libaf/af_format.h"
 #include "fmt-conversion.h"
 
+// libav.org's libavutil is missing this
+#ifndef PIX_FMT_GBR24P
+#define PIX_FMT_GBR24P PIX_FMT_GBRP
+#endif
+
 static const struct {
     int fmt;
     enum PixelFormat pix_fmt;
@@ -57,7 +62,9 @@
     {IMGFMT_RGB8,    PIX_FMT_BGR8},
     {IMGFMT_RGB4,    PIX_FMT_BGR4},
     {IMGFMT_BGR8,    PIX_FMT_PAL8},
+#ifdef PIX_FMT_0RGB32
     {IMGFMT_BGR32,   PIX_FMT_0RGB32},
+#endif
 #if LIBAVUTIL_VERSION_INT >= AV_VERSION_INT(51, 20, 1)
     {IMGFMT_GBR24P,  PIX_FMT_GBR24P},
 #endif

--- libmpdemux/mp_taglists.c	(revision 34482)
+++ libmpdemux/mp_taglists.c	(working copy)
@@ -43,7 +43,9 @@
     { CODEC_ID_COOK,              MKTAG('c', 'o', 'o', 'k')},
     { CODEC_ID_DSICINAUDIO,       MKTAG('D', 'C', 'I', 'A')},
     { CODEC_ID_EAC3,              MKTAG('E', 'A', 'C', '3')},
+#ifdef CONFIG_FFWAVESYNTH_DECODER
     { CODEC_ID_FFWAVESYNTH,       MKTAG('F', 'F', 'W', 'S')},
+#endif
     { CODEC_ID_G723_1,            MKTAG('7', '2', '3', '1')},
     { CODEC_ID_INTERPLAY_DPCM,    MKTAG('I', 'N', 'P', 'A')},
     { CODEC_ID_MLP,               MKTAG('M', 'L', 'P', ' ')},
@@ -85,7 +87,9 @@
     { CODEC_ID_DVVIDEO,           MKTAG('d', 'v', 's', 'd')},
     { CODEC_ID_EAC3,              MKTAG('E', 'A', 'C', '3')},
     { CODEC_ID_ESCAPE124,         MKTAG('E', '1', '2', '4')},
+#ifdef CONFIG_ESCAPE130_DECODER
     { CODEC_ID_ESCAPE130,         MKTAG('E', '1', '3', '0')},
+#endif
     { CODEC_ID_FLV1,              MKTAG('F', 'L', 'V', '1')},
     { CODEC_ID_G729,              MKTAG('G', '7', '2', '9')},
     { CODEC_ID_H264,              MKTAG('H', '2', '6', '4')},

In my tests, this allows compilation against libav. Moreover, this
version does allow mplayer to playback escape130 files when compiled
against FFmpeg.



-- 
Gruesse/greetings,
Reinhard Tartler, KeyID 945348A4


More information about the MPlayer-dev-eng mailing list