aboutsummaryrefslogtreecommitdiff
path: root/lib/ffmpeg/libavcodec/wmadec.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/ffmpeg/libavcodec/wmadec.c')
-rw-r--r--lib/ffmpeg/libavcodec/wmadec.c39
1 files changed, 11 insertions, 28 deletions
diff --git a/lib/ffmpeg/libavcodec/wmadec.c b/lib/ffmpeg/libavcodec/wmadec.c
index 5582a7236b..83f8dea8bb 100644
--- a/lib/ffmpeg/libavcodec/wmadec.c
+++ b/lib/ffmpeg/libavcodec/wmadec.c
@@ -123,7 +123,7 @@ static int wma_decode_init(AVCodecContext * avctx)
wma_lsp_to_curve_init(s, s->frame_len);
}
- avctx->sample_fmt = SAMPLE_FMT_S16;
+ avctx->sample_fmt = AV_SAMPLE_FMT_S16;
return 0;
}
@@ -768,9 +768,8 @@ next:
/* decode a frame of frame_len samples */
static int wma_decode_frame(WMACodecContext *s, int16_t *samples)
{
- int ret, i, n, ch, incr;
- int16_t *ptr;
- float *iptr;
+ int ret, n, ch, incr;
+ const float *output[MAX_CHANNELS];
#ifdef TRACE
tprintf(s->avctx, "***decode_frame: %d size=%d\n", s->frame_count++, s->frame_len);
@@ -790,28 +789,12 @@ static int wma_decode_frame(WMACodecContext *s, int16_t *samples)
/* convert frame to integer */
n = s->frame_len;
incr = s->nb_channels;
- if (s->dsp.float_to_int16_interleave == ff_float_to_int16_interleave_c) {
- for(ch = 0; ch < s->nb_channels; ch++) {
- ptr = samples + ch;
- iptr = s->frame_out[ch];
-
- for(i=0;i<n;i++) {
- *ptr = av_clip_int16(lrintf(*iptr++));
- ptr += incr;
- }
- /* prepare for next block */
- memmove(&s->frame_out[ch][0], &s->frame_out[ch][s->frame_len],
- s->frame_len * sizeof(float));
- }
- } else {
- const float *output[MAX_CHANNELS];
- for (ch = 0; ch < MAX_CHANNELS; ch++)
- output[ch] = s->frame_out[ch];
- s->dsp.float_to_int16_interleave(samples, output, n, incr);
- for(ch = 0; ch < incr; ch++) {
- /* prepare for next block */
- memmove(&s->frame_out[ch][0], &s->frame_out[ch][n], n * sizeof(float));
- }
+ for (ch = 0; ch < MAX_CHANNELS; ch++)
+ output[ch] = s->frame_out[ch];
+ s->fmt_conv.float_to_int16_interleave(samples, output, n, incr);
+ for (ch = 0; ch < incr; ch++) {
+ /* prepare for next block */
+ memmove(&s->frame_out[ch][0], &s->frame_out[ch][n], n * sizeof(float));
}
#ifdef TRACE
@@ -939,7 +922,7 @@ static av_cold void flush(AVCodecContext *avctx)
s->last_superframe_len= 0;
}
-AVCodec wmav1_decoder =
+AVCodec ff_wmav1_decoder =
{
"wmav1",
AVMEDIA_TYPE_AUDIO,
@@ -953,7 +936,7 @@ AVCodec wmav1_decoder =
.long_name = NULL_IF_CONFIG_SMALL("Windows Media Audio 1"),
};
-AVCodec wmav2_decoder =
+AVCodec ff_wmav2_decoder =
{
"wmav2",
AVMEDIA_TYPE_AUDIO,