mirror of
https://gitee.com/openharmony/third_party_ffmpeg
synced 2024-11-27 21:20:41 +00:00
pcmdec: return buf_size instead of src-buf.
The values will always be the same, so this change eliminates an unneeded variable. It also gets rid of the need to reset src when memcpy() is used.
This commit is contained in:
parent
85579b6381
commit
0093f96d34
@ -247,16 +247,15 @@ static int pcm_decode_frame(AVCodecContext *avctx,
|
||||
void *data, int *data_size,
|
||||
AVPacket *avpkt)
|
||||
{
|
||||
const uint8_t *buf = avpkt->data;
|
||||
const uint8_t *src = avpkt->data;
|
||||
int buf_size = avpkt->size;
|
||||
PCMDecode *s = avctx->priv_data;
|
||||
int sample_size, c, n, i;
|
||||
uint8_t *samples;
|
||||
const uint8_t *src, *src8, *src2[MAX_CHANNELS];
|
||||
const uint8_t *src8, *src2[MAX_CHANNELS];
|
||||
int32_t *dst_int32_t;
|
||||
|
||||
samples = data;
|
||||
src = buf;
|
||||
|
||||
sample_size = av_get_bits_per_sample(avctx->codec_id)/8;
|
||||
|
||||
@ -329,7 +328,6 @@ static int pcm_decode_frame(AVCodecContext *avctx,
|
||||
AV_WN16A(samples, bytestream_get_le16(&src2[c]));
|
||||
samples += 2;
|
||||
}
|
||||
src = src2[avctx->channels-1];
|
||||
break;
|
||||
case CODEC_ID_PCM_U16LE:
|
||||
DECODE(16, le16, src, samples, n, 0, 0x8000)
|
||||
@ -375,7 +373,6 @@ static int pcm_decode_frame(AVCodecContext *avctx,
|
||||
#endif /* HAVE_BIGENDIAN */
|
||||
case CODEC_ID_PCM_U8:
|
||||
memcpy(samples, src, n*sample_size);
|
||||
src += n*sample_size;
|
||||
samples += n * sample_size;
|
||||
break;
|
||||
case CODEC_ID_PCM_ZORK:
|
||||
@ -439,14 +436,13 @@ static int pcm_decode_frame(AVCodecContext *avctx,
|
||||
((src8[2] & 0xF0) << 8) | (src8[4] << 4) | (src8[3] >> 4);
|
||||
}
|
||||
}
|
||||
src += n * avctx->channels * 5;
|
||||
samples = (uint8_t *) dst_int32_t;
|
||||
break;
|
||||
default:
|
||||
return -1;
|
||||
}
|
||||
*data_size = samples - (uint8_t *)data;
|
||||
return src - buf;
|
||||
return buf_size;
|
||||
}
|
||||
|
||||
#if CONFIG_ENCODERS
|
||||
|
Loading…
Reference in New Issue
Block a user