[FFmpeg-devel] [PATCH] intmath: remove av_ctz.

Ganesh Ajjanagadde gajjanag at mit.edu
Mon Oct 12 03:49:27 CEST 2015


On Sun, Oct 11, 2015 at 9:38 PM, Timothy Gu <timothygu99 at gmail.com> wrote:
> On Sun, Oct 11, 2015 at 6:31 PM Ganesh Ajjanagadde <gajjanag at mit.edu> wrote:
>
>> Just to make this clear: suppose (hypothetically) av_ctz was public.
>> If my application never used av_ctz, but I (or my distro) upgrades
>> libav*, then I don't need to recompile/relink my code?
>>
>
> If we are only talking about av_ctz here, no, you don't need to rebuild
> your code. But if a user uses a new libavutil but an old libavcodec that
> still uses av_ctz, things will crash and burn.

Yes, because libavcodec would use still have some stub in it for the
link to libavutil (for av_ctz). This would result in the crash.
Thanks, now I understand why dll/dependency hell happens, and why ABI
breakage is such a serious issue: some library depending on some other
in turn depending on something else and this ancestor breaks
something, unleashing hell downstream.
And it now makes sense to me why things like glibc move mountains with
all kinds of crazy stuff just to maintain ABI.
I guess it gets even better if one has circular deps.

>
> Timothy
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


More information about the ffmpeg-devel mailing list