[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