You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-10 06:10:52 +02: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:
@@ -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,
|
|||||||
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,
|
|||||||
#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,
|
|||||||
((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
|
||||||
|
Reference in New Issue
Block a user