[FFmpeg-devel] To be or not to be working with libav (was: [PATCHv3] On2 VP7 decoder)

Michael Niedermayer michaelni at gmx.at
Sun Apr 6 01:46:54 CEST 2014

On Sat, Apr 05, 2014 at 07:13:26PM +0200, wm4 wrote:
> On Sat, 5 Apr 2014 18:31:14 +0200
> Vittorio Giovara <vittorio.giovara at gmail.com> wrote:
> > On Tue, Apr 1, 2014 at 5:11 PM, wm4 <nfxjfg at googlemail.com> wrote:
> > > On Tue, 1 Apr 2014 16:44:20 +0200
> > > Vittorio Giovara <vittorio.giovara at gmail.com> wrote:
> > As I stated in my original email, maybe we could start at looking at
> > the API and avoid some of the AV_PIX_FMT_ABI_GIT_MASTER in the future.
> The main problem here is that while Libav can append fields or enum
> constants just fine without breaking ABI, adding them obviously breaks
> FFmpeg's ABI. As a result FFmpeg does weird stuff trying to avoid
> breakage.
> How can this fixed without requiring FFmpeg developers to send patches
> to Libav for API extensions? I have no idea. Maybe they just should

The solution is very simple,
if FFmpeg supports pix_fmt foobar and FFmpeg uses the value 123 to
identify that pixel format.
Then the only thing needed for compatibility is that libav needs to
use 123 for foobar too when they add foobar to the list of pixel
formats that libav supports, instead of adding it with a different
And at the same time making sure that they dont add pixel formats
with values to libav that are used by FFmpeg for different pixel

That is if you add a pixel format to libav and ffmpeg already supports
it, use the same numerical value for the enum that ffmpeg uses.
and if you add a pixel format to libav that ffmpeg doesnt support
yet, use a numerical value for the enum that is unused in ffmpeg


Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Why not whip the teacher when the pupil misbehaves? -- Diogenes of Sinope
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20140406/8b7a0399/attachment.asc>

More information about the ffmpeg-devel mailing list