mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-21 10:55:51 +02:00
avcodec/ralf: Move variable from context to stack
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
This commit is contained in:
parent
dcbb7e8a30
commit
5c19cb3f92
@ -63,7 +63,6 @@ typedef struct RALFContext {
|
|||||||
|
|
||||||
unsigned bias[2]; ///< a constant value added to channel data after filtering
|
unsigned bias[2]; ///< a constant value added to channel data after filtering
|
||||||
|
|
||||||
int num_blocks; ///< number of blocks inside the frame
|
|
||||||
int sample_offset;
|
int sample_offset;
|
||||||
int block_size[1 << 12]; ///< size of the blocks
|
int block_size[1 << 12]; ///< size of the blocks
|
||||||
int block_pts[1 << 12]; ///< block start time (in milliseconds)
|
int block_pts[1 << 12]; ///< block start time (in milliseconds)
|
||||||
@ -418,7 +417,7 @@ static int decode_frame(AVCodecContext *avctx, AVFrame *frame,
|
|||||||
int16_t *samples1;
|
int16_t *samples1;
|
||||||
int ret;
|
int ret;
|
||||||
GetBitContext gb;
|
GetBitContext gb;
|
||||||
int table_size, table_bytes, i;
|
int table_size, table_bytes, num_blocks;
|
||||||
const uint8_t *src, *block_pointer;
|
const uint8_t *src, *block_pointer;
|
||||||
int src_size;
|
int src_size;
|
||||||
int bytes_left;
|
int bytes_left;
|
||||||
@ -462,17 +461,17 @@ static int decode_frame(AVCodecContext *avctx, AVFrame *frame,
|
|||||||
return AVERROR_INVALIDDATA;
|
return AVERROR_INVALIDDATA;
|
||||||
}
|
}
|
||||||
init_get_bits(&gb, src + 2, table_size);
|
init_get_bits(&gb, src + 2, table_size);
|
||||||
ctx->num_blocks = 0;
|
num_blocks = 0;
|
||||||
while (get_bits_left(&gb) > 0) {
|
while (get_bits_left(&gb) > 0) {
|
||||||
if (ctx->num_blocks >= FF_ARRAY_ELEMS(ctx->block_size))
|
if (num_blocks >= FF_ARRAY_ELEMS(ctx->block_size))
|
||||||
return AVERROR_INVALIDDATA;
|
return AVERROR_INVALIDDATA;
|
||||||
ctx->block_size[ctx->num_blocks] = get_bits(&gb, 13 + avctx->ch_layout.nb_channels);
|
ctx->block_size[num_blocks] = get_bits(&gb, 13 + avctx->ch_layout.nb_channels);
|
||||||
if (get_bits1(&gb)) {
|
if (get_bits1(&gb)) {
|
||||||
ctx->block_pts[ctx->num_blocks] = get_bits(&gb, 9);
|
ctx->block_pts[num_blocks] = get_bits(&gb, 9);
|
||||||
} else {
|
} else {
|
||||||
ctx->block_pts[ctx->num_blocks] = 0;
|
ctx->block_pts[num_blocks] = 0;
|
||||||
}
|
}
|
||||||
ctx->num_blocks++;
|
num_blocks++;
|
||||||
}
|
}
|
||||||
|
|
||||||
frame->nb_samples = ctx->max_frame_size;
|
frame->nb_samples = ctx->max_frame_size;
|
||||||
@ -483,7 +482,7 @@ static int decode_frame(AVCodecContext *avctx, AVFrame *frame,
|
|||||||
block_pointer = src + table_bytes + 2;
|
block_pointer = src + table_bytes + 2;
|
||||||
bytes_left = src_size - table_bytes - 2;
|
bytes_left = src_size - table_bytes - 2;
|
||||||
ctx->sample_offset = 0;
|
ctx->sample_offset = 0;
|
||||||
for (i = 0; i < ctx->num_blocks; i++) {
|
for (int i = 0; i < num_blocks; i++) {
|
||||||
if (bytes_left < ctx->block_size[i]) {
|
if (bytes_left < ctx->block_size[i]) {
|
||||||
av_log(avctx, AV_LOG_ERROR, "I'm pedaling backwards\n");
|
av_log(avctx, AV_LOG_ERROR, "I'm pedaling backwards\n");
|
||||||
break;
|
break;
|
||||||
|
Loading…
Reference in New Issue
Block a user