[FFmpeg-devel] Merge remote-tracking branch 'qatar/master'

Michael Niedermayer michaelni at gmx.at
Fri May 18 12:29:17 CEST 2012


On Fri, May 18, 2012 at 10:42:51AM +0200, Nicolas George wrote:
> L'octidi 28 floréal, an CCXX, Michael Niedermayer a écrit :
> > Merge remote-tracking branch 'qatar/master'
> 
> > Conflicts:
> > 	libavfilter/avfilter.h
> 
> During the conflict resolution, you introduced that change:
> 
> (diff from previous HEAD)
>  typedef struct AVFilterFormats {
> -    unsigned format_count;      ///< number of formats
>      int64_t *formats;           ///< list of media formats
> +    unsigned format_count;      ///< number of formats
> 
> (diff from qatar)
>  typedef struct AVFilterFormats {
> +    int64_t *formats;           ///< list of media formats
>      unsigned format_count;      ///< number of formats
> -    int *formats;               ///< list of media formats
> 
> Did you have a particular reason for swapping the two fields? It seems to
> break ABI both with them and with previous ffmpeg.

the problem was that:

1. libav introduced a struct that is identical to
   our AVFilterFormats, except one swaped field and called it
   AVFilterChannelLayouts

2. libav introduced channel layout fields in AVFilterLink but placed
   them at a different spot than our long existing fields and they
   have different names too.

and I tried to follow their API/ABI changes to simplify future merges
as well as keeping both projects API/ABIs more similar so 3rd party
apps have fewer differences to deal with.
This ended up breaking ABI/API in that merge relative to our previous
version. This was not intended but resolving it in the merge itself
seemed wrong, i felt this belongs in a seperate commit.

If you could look into restoring ABI/API to both our previous version
and libav, this would be great. This would require #ifs though and
i dont know how practical it is to maintain compatibility to both.
But it would be great if theres a way and its not too much work

If you want to change AVFilterFormats back to ours
avfilter_make_format64_list() would need to be changed

Also see the AVFilterFormats difference to libav, theres a int64 vs
int there that seems to have existed before

I think best would be if you look at the difference of libavfilter/*.h
between libav and ffmpeg as well as to our previous version.

Thanks for looking into this!

[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

If a bugfix only changes things apparently unrelated to the bug with no
further explanation, that is a good sign that the bugfix is wrong.
-------------- 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/20120518/a254b92e/attachment.asc>


More information about the ffmpeg-devel mailing list