[FFmpeg-devel] [libav-devel] [PATCH] lavfi: add audio channel packing negotiation fields

Michael Niedermayer michaelni at gmx.at
Sun Aug 7 17:27:35 CEST 2011


On Sat, Aug 06, 2011 at 11:35:06AM +0200, Stefano Sabatini wrote:
> On date Friday 2011-08-05 12:54:17 +0200, Michael Niedermayer encoded:
> > On Sat, Jul 16, 2011 at 07:25:09PM +0200, Stefano Sabatini wrote:
> > > On date Thursday 2011-07-14 15:28:42 +0200, Stefano Sabatini encoded:
> > > > On date Thursday 2011-07-14 14:30:06 +0300, Mina Nagy Zaki encoded:
> > > > > On Thu, Jul 14, 2011 at 12:34:54AM +0200, Stefano Sabatini wrote:
> > > > > [...]
> > > > > 
> > > > > Nits fixed, and also added forgotten code in avfilter_insert_filter.
> > > > > 
> > > > 
> > > > > From 7af0ea823c030a5e9f9b9f36d17bbeead2ca13a4 Mon Sep 17 00:00:00 2001
> > > > > From: Mina Nagy Zaki <mnzaki at gmail.com>
> > > > > Date: Tue, 28 Jun 2011 08:56:19 +0300
> > > > > Subject: [PATCH] lavfi: add audio channel packing negotiation fields
> > > > > 
> > > > > ---
> > > > >  libavfilter/avfilter.c      |    3 +++
> > > > >  libavfilter/avfilter.h      |   16 +++++++++++++++-
> > > > >  libavfilter/avfiltergraph.c |    6 ++++++
> > > > >  libavfilter/defaults.c      |    8 ++++++++
> > > > >  libavfilter/formats.c       |   11 +++++++++++
> > > > >  5 files changed, 43 insertions(+), 1 deletions(-)
> > > > 
> > > > Looks fine to me, I'm going to apply it in a few days if I see no more
> > > > comments.
> > > 
> > > Pushed.
> > 
> > breaks ABI:
> > @@ -597,9 +608,10 @@ struct AVFilterLink {
> >      int w;                      ///< agreed upon image width
> >      int h;                      ///< agreed upon image height
> >      AVRational sample_aspect_ratio; ///< agreed upon sample aspect ratio
> > -    /* These two parameters apply only to audio */
> > +    /* These parameters apply only to audio */
> >      int64_t channel_layout;     ///< channel layout of current buffer (see libavutil/audioconvert.h)
> >      int64_t sample_rate;        ///< samples per second
> > +    int planar;                 ///< agreed upon packing mode of audio buffers. true if planar.
> > 
> >      int format;                 ///< agreed upon media format
> > 
> > @@ -615,6 +627,8 @@ struct AVFilterLink {
> > 
> >      AVFilterFormats *in_chlayouts;
> >      AVFilterFormats *out_chlayouts;
> > +    AVFilterFormats *in_packing;
> > +    AVFilterFormats *out_packing;
> 
> Yes, this is not the only recent ABI break (lavfi is still marked as
> unstable).
> 
> We may want to wrap A/V/S params in separate structs at some point, to
> avoid breaks when we add new media-specific fields.

Simply adding new fields to the end of the struct should avoid ABI
issues when there is a public allocator function.

Maybe iam missing something but i dont see what (except complexity)
would be gained by wraping things in seperate structs?

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

The greatest way to live with honor in this world is to be what we pretend
to be. -- Socrates
-------------- 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/20110807/831ed385/attachment.asc>


More information about the ffmpeg-devel mailing list