You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-15 14:13:16 +02:00
tta: Fix regression of 24bit decoding.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
@@ -324,10 +324,6 @@ static int tta_decode_frame(AVCodecContext *avctx, void *data,
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
// decode directly to output buffer for 24-bit sample format
|
|
||||||
if (s->bps == 3)
|
|
||||||
s->decode_buffer = data;
|
|
||||||
|
|
||||||
// init per channel states
|
// init per channel states
|
||||||
for (i = 0; i < s->channels; i++) {
|
for (i = 0; i < s->channels; i++) {
|
||||||
s->ch_ctx[i].predictor = 0;
|
s->ch_ctx[i].predictor = 0;
|
||||||
@@ -433,7 +429,7 @@ static int tta_decode_frame(AVCodecContext *avctx, void *data,
|
|||||||
// shift samples for 24-bit sample format
|
// shift samples for 24-bit sample format
|
||||||
int32_t *samples = (int32_t *)s->frame.data[0];
|
int32_t *samples = (int32_t *)s->frame.data[0];
|
||||||
for (p = s->decode_buffer; p < s->decode_buffer + (framelen * s->channels); p++)
|
for (p = s->decode_buffer; p < s->decode_buffer + (framelen * s->channels); p++)
|
||||||
*samples++ <<= 8;
|
*samples++ = *p<<8;
|
||||||
// reset decode buffer
|
// reset decode buffer
|
||||||
s->decode_buffer = NULL;
|
s->decode_buffer = NULL;
|
||||||
break;
|
break;
|
||||||
|
Reference in New Issue
Block a user