[FFmpeg-devel] [PATCH 1/4] swr: convert resample_common/linear_int16_mmx2/sse2 to yasm.

Timothy Gu timothygu99 at gmail.com
Sat Jul 12 17:56:24 CEST 2014


On Sat, Jul 12, 2014 at 8:35 AM, Hendrik Leppkes <h.leppkes at gmail.com> wrote:
> On Sat, Jul 12, 2014 at 4:45 PM, Andreas Cadhalpun
> <andreas.cadhalpun at googlemail.com> wrote:
>> On 12.07.2014 15:40, Ronald S. Bultje wrote:
>>>
>>> Hi,
>>>
>>> On Sat, Jul 12, 2014 at 9:35 AM, Andreas Cadhalpun <
>>> andreas.cadhalpun at googlemail.com> wrote:
>>>
>>>> Hi,
>>>>
>>>> I'm a bit puzzled by this commit.
>>>>
>>>>
>>>> On 30.06.2014 01:19, James Almer wrote:
>>>>
>>>>> From: Ronald S. Bultje <rsbultje at gmail.com>
>>>>>
>>>>> ---
>>>>>    libswresample/resample_template.c    |  23 +---
>>>>>    libswresample/x86/resample.asm       | 225
>>>>> ++++++++++++++++++++++++++---------
>>>>>    libswresample/x86/resample_mmx.h     | 110 -----------------
>>>>>    libswresample/x86/resample_x86_dsp.c |  44 +++----
>>>>>    4 files changed, 187 insertions(+), 215 deletions(-)
>>>>>
>>>> [...]
>>>>
>>>>   diff --git a/libswresample/x86/resample_mmx.h
>>>>>
>>>>> b/libswresample/x86/resample_mmx.h
>>>>> index 94237b0..b0ea496 100644
>>>>> --- a/libswresample/x86/resample_mmx.h
>>>>> +++ b/libswresample/x86/resample_mmx.h
>>>>> @@ -22,116 +22,6 @@
>>>>>    #include "libavutil/cpu.h"
>>>>>    #include "libswresample/swresample_internal.h"
>>>>>
>>>>> -DECLARE_ALIGNED(16, const uint64_t, ff_resample_int16_rounder)[2]    =
>>>>> {
>>>>> 0x0000000000004000ULL, 0x0000000000000000ULL};
>>>>>
>>>>
>>>> This removes the symbol ff_resample_int16_rounder from libswresample,
>>>> which is a backwards incompatible ABI change.
>>>>
>>>> So can someone explain to me, why this hasn't been accompanied by a major
>>>> SOVERSION bump of libswresample?
>>>
>>>
>>>
>>> All ff_* symbols are internal.
>>
>>
>> Then shouldn't all of them be declared with something like '__attribute__
>> ((visibility ("hidden")))'?
>>
>
> This is usually handled by a visibility file (.v), but for some reason
> the swresample file doesn't hide ff_* symbols, but that doesn't really
> change the fact that ff_* (and avpriv_*) are not part of the public
> API/ABI and as such any changes or removals do not require a SONAME
> bump.
>
> For the reason why they are not hidden, maybe Michael can comment.

libavutil also exports ff_*, don't know why.

Timothy


More information about the ffmpeg-devel mailing list