Commit 0093f96d authored by Justin Ruggles's avatar Justin Ruggles

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.
parent 85579b63
...@@ -247,16 +247,15 @@ static int pcm_decode_frame(AVCodecContext *avctx, ...@@ -247,16 +247,15 @@ static int pcm_decode_frame(AVCodecContext *avctx,
void *data, int *data_size, void *data, int *data_size,
AVPacket *avpkt) AVPacket *avpkt)
{ {
const uint8_t *buf = avpkt->data; const uint8_t *src = avpkt->data;
int buf_size = avpkt->size; int buf_size = avpkt->size;
PCMDecode *s = avctx->priv_data; PCMDecode *s = avctx->priv_data;
int sample_size, c, n, i; int sample_size, c, n, i;
uint8_t *samples; uint8_t *samples;
const uint8_t *src, *src8, *src2[MAX_CHANNELS]; const uint8_t *src8, *src2[MAX_CHANNELS];
int32_t *dst_int32_t; int32_t *dst_int32_t;
samples = data; samples = data;
src = buf;
sample_size = av_get_bits_per_sample(avctx->codec_id)/8; sample_size = av_get_bits_per_sample(avctx->codec_id)/8;
...@@ -329,7 +328,6 @@ static int pcm_decode_frame(AVCodecContext *avctx, ...@@ -329,7 +328,6 @@ static int pcm_decode_frame(AVCodecContext *avctx,
AV_WN16A(samples, bytestream_get_le16(&src2[c])); AV_WN16A(samples, bytestream_get_le16(&src2[c]));
samples += 2; samples += 2;
} }
src = src2[avctx->channels-1];
break; break;
case CODEC_ID_PCM_U16LE: case CODEC_ID_PCM_U16LE:
DECODE(16, le16, src, samples, n, 0, 0x8000) DECODE(16, le16, src, samples, n, 0, 0x8000)
...@@ -375,7 +373,6 @@ static int pcm_decode_frame(AVCodecContext *avctx, ...@@ -375,7 +373,6 @@ static int pcm_decode_frame(AVCodecContext *avctx,
#endif /* HAVE_BIGENDIAN */ #endif /* HAVE_BIGENDIAN */
case CODEC_ID_PCM_U8: case CODEC_ID_PCM_U8:
memcpy(samples, src, n*sample_size); memcpy(samples, src, n*sample_size);
src += n*sample_size;
samples += n * sample_size; samples += n * sample_size;
break; break;
case CODEC_ID_PCM_ZORK: case CODEC_ID_PCM_ZORK:
...@@ -439,14 +436,13 @@ static int pcm_decode_frame(AVCodecContext *avctx, ...@@ -439,14 +436,13 @@ static int pcm_decode_frame(AVCodecContext *avctx,
((src8[2] & 0xF0) << 8) | (src8[4] << 4) | (src8[3] >> 4); ((src8[2] & 0xF0) << 8) | (src8[4] << 4) | (src8[3] >> 4);
} }
} }
src += n * avctx->channels * 5;
samples = (uint8_t *) dst_int32_t; samples = (uint8_t *) dst_int32_t;
break; break;
default: default:
return -1; return -1;
} }
*data_size = samples - (uint8_t *)data; *data_size = samples - (uint8_t *)data;
return src - buf; return buf_size;
} }
#if CONFIG_ENCODERS #if CONFIG_ENCODERS
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment