mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-06-27 19:07:23 +08:00
dpcm: use sol_table_16 directly instead of through the DPCMContext.
This commit is contained in:
@ -146,7 +146,6 @@ static av_cold int dpcm_decode_init(AVCodecContext *avctx)
|
|||||||
s->sample[0] = s->sample[1] = 0x80;
|
s->sample[0] = s->sample[1] = 0x80;
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
s->sol_table = sol_table_16;
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
av_log(avctx, AV_LOG_ERROR, "Unknown SOL subcodec\n");
|
av_log(avctx, AV_LOG_ERROR, "Unknown SOL subcodec\n");
|
||||||
@ -297,8 +296,8 @@ static int dpcm_decode_frame(AVCodecContext *avctx, void *data, int *data_size,
|
|||||||
} else {
|
} else {
|
||||||
while (buf < buf_end) {
|
while (buf < buf_end) {
|
||||||
uint8_t n = *buf++;
|
uint8_t n = *buf++;
|
||||||
if (n & 0x80) s->sample[ch] -= s->sol_table[n & 0x7F];
|
if (n & 0x80) s->sample[ch] -= sol_table_16[n & 0x7F];
|
||||||
else s->sample[ch] += s->sol_table[n & 0x7F];
|
else s->sample[ch] += sol_table_16[n & 0x7F];
|
||||||
s->sample[ch] = av_clip_int16(s->sample[ch]);
|
s->sample[ch] = av_clip_int16(s->sample[ch]);
|
||||||
*output_samples++ = s->sample[ch];
|
*output_samples++ = s->sample[ch];
|
||||||
/* toggle channel */
|
/* toggle channel */
|
||||||
|
Reference in New Issue
Block a user