| @@ -22,7 +22,9 @@ · 21 unmodified lines |
| 22 | #include "libswresample/audioconvert.h" | 22 | #include "libswresample/audioconvert.h" |
| 23 | | 23 | |
| 24 | #define MULTI_CAPS_FUNC_DECL(cap) \ | 24 | #define MULTI_CAPS_FUNC_DECL(cap) \ |
| 25 | void ff_int16_to_int32_a_ ## cap(uint8_t **dst, const uint8_t **src, int len); | 25 | void ff_int16_to_int32_a_ ## cap(uint8_t **dst, const uint8_t **src, int len);\ |
| | 26 | void ff_int32_to_int16_a_ ## cap(uint8_t **dst, const uint8_t **src, int len);\ |
| | 27 | |
| 26 | MULTI_CAPS_FUNC_DECL(mmx) | 28 | MULTI_CAPS_FUNC_DECL(mmx) |
| 27 | MULTI_CAPS_FUNC_DECL(sse) | 29 | MULTI_CAPS_FUNC_DECL(sse) |
| 28 | | 30 | |
| @@ -45,6 +47,8 @@ void swri_audio_convert_init_x86(struct AudioConvert *ac, · 16 unmodified lines |
| 45 | if (mm_flags & flag) {\ | 47 | if (mm_flags & flag) {\ |
| 46 | if( out_fmt == AV_SAMPLE_FMT_S32 && in_fmt == AV_SAMPLE_FMT_S16 || out_fmt == AV_SAMPLE_FMT_S32P && in_fmt == AV_SAMPLE_FMT_S16P)\ | 48 | if( out_fmt == AV_SAMPLE_FMT_S32 && in_fmt == AV_SAMPLE_FMT_S16 || out_fmt == AV_SAMPLE_FMT_S32P && in_fmt == AV_SAMPLE_FMT_S16P)\ |
| 47 | ac->simd_f = ff_int16_to_int32_a_ ## cap;\ | 49 | ac->simd_f = ff_int16_to_int32_a_ ## cap;\ |
| | 50 | if( out_fmt == AV_SAMPLE_FMT_S16 && in_fmt == AV_SAMPLE_FMT_S32 || out_fmt == AV_SAMPLE_FMT_S16P && in_fmt == AV_SAMPLE_FMT_S32P)\ |
| | 51 | ac->simd_f = ff_int32_to_int16_a_ ## cap;\ |
| 48 | } | 52 | } |
| 49 | | 53 | |
| 50 | MULTI_CAPS_FUNC(AV_CPU_FLAG_MMX, mmx) | 54 | MULTI_CAPS_FUNC(AV_CPU_FLAG_MMX, mmx) |