* qatar/master: (24 commits) flvdec: remove incomplete, disabled seeking code mem: add support for _aligned_malloc() as found on Windows lavc: Extend the documentation for avcodec_init_packet flvdec: remove incomplete, disabled seeking code http: replace atoll() with strtoll() mpegts: remove unused/incomplete/broken seeking code af_amix: allow float planar sample format as input af_amix: use AVFloatDSPContext.vector_fmac_scalar() float_dsp: add x86-optimized functions for vector_fmac_scalar() float_dsp: Move vector_fmac_scalar() from libavcodec to libavutil lavr: Add x86-optimized function for flt to s32 conversion lavr: Add x86-optimized function for flt to s16 conversion lavr: Add x86-optimized functions for s32 to flt conversion lavr: Add x86-optimized functions for s32 to s16 conversion lavr: Add x86-optimized functions for s16 to flt conversion lavr: Add x86-optimized function for s16 to s32 conversion rtpenc: Support packetizing iLBC rtpdec: Add a depacketizer for iLBC Implement the iLBC storage file format mov: Support muxing/demuxing iLBC ... Conflicts: Changelog configure libavcodec/avcodec.h libavcodec/dsputil.c libavcodec/version.h libavformat/movenc.c libavformat/mpegts.c libavformat/version.h libavutil/mem.c
Showing the changes to libavcodec/dca.c (1 of 44 files). Show all
Unified · Split
| @@ -27,6 +27,7 @@ · 26 unmodified lines | ||
| 27 | 27 | #include <stdio.h> |
| 28 | 28 | |
| 29 | 29 | #include "libavutil/common.h" |
| 30 | +#include "libavutil/float_dsp.h" | |
| 30 | 31 | #include "libavutil/intmath.h" |
| 31 | 32 | #include "libavutil/intreadwrite.h" |
| 32 | 33 | #include "libavutil/mathematics.h" |
| @@ -384,7 +385,7 @@ typedef struct { · 351 unmodified lines | ||
| 384 | 385 | int profile; |
| 385 | 386 | |
| 386 | 387 | int debug_flag; ///< used for suppressing repeated error messages output |
| 387 | − DSPContext dsp; | |
| 388 | + AVFloatDSPContext fdsp; | |
| 388 | 389 | FFTContext imdct; |
| 389 | 390 | SynthFilterContext synth; |
| 390 | 391 | DCADSPContext dcadsp; |
| @@ -2042,8 +2043,8 @@ static int dca_decode_frame(AVCodecContext *avctx, void *data, · 1651 unmodified lines | ||
| 2042 | 2043 | float *back_chan = s->samples + s->channel_order_tab[s->xch_base_channel] * 256; |
| 2043 | 2044 | float *lt_chan = s->samples + s->channel_order_tab[s->xch_base_channel - 2] * 256; |
| 2044 | 2045 | float *rt_chan = s->samples + s->channel_order_tab[s->xch_base_channel - 1] * 256; |
| 2045 | − s->dsp.vector_fmac_scalar(lt_chan, back_chan, -M_SQRT1_2, 256); | |
| 2046 | − s->dsp.vector_fmac_scalar(rt_chan, back_chan, -M_SQRT1_2, 256); | |
| 2046 | + s->fdsp.vector_fmac_scalar(lt_chan, back_chan, -M_SQRT1_2, 256); | |
| 2047 | + s->fdsp.vector_fmac_scalar(rt_chan, back_chan, -M_SQRT1_2, 256); | |
| 2047 | 2048 | } |
| 2048 | 2049 | |
| 2049 | 2050 | if (avctx->sample_fmt == AV_SAMPLE_FMT_FLT) { |
| @@ -2085,7 +2086,7 @@ static av_cold int dca_decode_init(AVCodecContext *avctx) · 35 unmodified lines | ||
| 2085 | 2086 | s->avctx = avctx; |
| 2086 | 2087 | dca_init_vlcs(); |
| 2087 | 2088 | |
| 2088 | − ff_dsputil_init(&s->dsp, avctx); | |
| 2089 | + avpriv_float_dsp_init(&s->fdsp, avctx->flags & CODEC_FLAG_BITEXACT); | |
| 2089 | 2090 | ff_mdct_init(&s->imdct, 6, 1, 1.0); |
| 2090 | 2091 | ff_synth_filter_init(&s->synth); |
| 2091 | 2092 | ff_dcadsp_init(&s->dcadsp); |