On 25.07.2014 22:06, Michael Niedermayer wrote:
On Fri, Jul 25, 2014 at 03:55:51PM +0200, Andreas Cadhalpun wrote:
Hi,

On 12.07.2014 20:34, Timothy Gu wrote:
So, ff_ = can only be used within this library (in theory) and can be
removed without major bump. It should not be exported or be used by users.

avpriv_ = can only be used by FFmpeg libraries and cannot be removed
without major bump. It should be exported, but should not be used by users.

Other av* = can be used by everyone, and are exported and have proper
prototypes or declarations in headers.

Right now, some libraries export some ff_ symbols as hacks and should be
fixed by either converting them to avpriv_ or av_. libavutil exports all
ff_ symbols until the next bump.

That's how the theory goes...
...would be nice if it worked that way in practice.

I'm talking about commit 3a2d1465c88625774530399b06dc4d48b24bb51f:
Merge commit '2d60444331fca1910510038dd3817bea885c2367'

* commit '2d60444331fca1910510038dd3817bea885c2367':
   dsputil: Split motion estimation compare bits off into their own context

Libav renamed ff_dsputil_init to ff_me_cmp_init. That's fine there,
because they don't export the symbol.

The problem is that FFmpeg did, and also the aliases dsputil_init
and avpriv_dsputil_init, because some filters included
libavcodec/dsputil.h. Now they include libavcodec/me_cmp.h and
libavcodec exports ff_me_cmp_init.

According to above theory such a change requires a soversion bump...

patch posted which reintroduces avpriv_dsputil_init() and should thus
fix this

Thanks.

ff_dsputil_init and dsputil_init still don't get exported anymore, but as they haven't been used recently outside of libavcodec I'd say: good riddance!

Best regards,
Andreas
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to