You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-11-23 21:54:53 +02:00
atrac3: move the 'samples_per_frame' field from ATRAC3Context to where it is used
This commit is contained in:
@@ -92,7 +92,6 @@ typedef struct ATRAC3Context {
|
|||||||
int coding_mode;
|
int coding_mode;
|
||||||
int bit_rate;
|
int bit_rate;
|
||||||
int sample_rate;
|
int sample_rate;
|
||||||
int samples_per_frame;
|
|
||||||
|
|
||||||
ChannelUnit *units;
|
ChannelUnit *units;
|
||||||
//@}
|
//@}
|
||||||
@@ -849,7 +848,7 @@ static int atrac3_decode_frame(AVCodecContext *avctx, void *data,
|
|||||||
static av_cold int atrac3_decode_init(AVCodecContext *avctx)
|
static av_cold int atrac3_decode_init(AVCodecContext *avctx)
|
||||||
{
|
{
|
||||||
int i, ret;
|
int i, ret;
|
||||||
int version, delay;
|
int version, delay, samples_per_frame;
|
||||||
const uint8_t *edata_ptr = avctx->extradata;
|
const uint8_t *edata_ptr = avctx->extradata;
|
||||||
ATRAC3Context *q = avctx->priv_data;
|
ATRAC3Context *q = avctx->priv_data;
|
||||||
static VLC_TYPE atrac3_vlc_table[4096][2];
|
static VLC_TYPE atrac3_vlc_table[4096][2];
|
||||||
@@ -878,7 +877,7 @@ static av_cold int atrac3_decode_init(AVCodecContext *avctx)
|
|||||||
bytestream_get_le16(&edata_ptr)); // Unknown always 0
|
bytestream_get_le16(&edata_ptr)); // Unknown always 0
|
||||||
|
|
||||||
/* setup */
|
/* setup */
|
||||||
q->samples_per_frame = SAMPLES_PER_FRAME * avctx->channels;
|
samples_per_frame = SAMPLES_PER_FRAME * avctx->channels;
|
||||||
version = 4;
|
version = 4;
|
||||||
delay = 0x88E;
|
delay = 0x88E;
|
||||||
q->coding_mode = q->coding_mode ? JOINT_STEREO : STEREO;
|
q->coding_mode = q->coding_mode ? JOINT_STEREO : STEREO;
|
||||||
@@ -895,7 +894,7 @@ static av_cold int atrac3_decode_init(AVCodecContext *avctx)
|
|||||||
} else if (avctx->extradata_size == 10) {
|
} else if (avctx->extradata_size == 10) {
|
||||||
/* Parse the extradata, RM format. */
|
/* Parse the extradata, RM format. */
|
||||||
version = bytestream_get_be32(&edata_ptr);
|
version = bytestream_get_be32(&edata_ptr);
|
||||||
q->samples_per_frame = bytestream_get_be16(&edata_ptr);
|
samples_per_frame = bytestream_get_be16(&edata_ptr);
|
||||||
delay = bytestream_get_be16(&edata_ptr);
|
delay = bytestream_get_be16(&edata_ptr);
|
||||||
q->coding_mode = bytestream_get_be16(&edata_ptr);
|
q->coding_mode = bytestream_get_be16(&edata_ptr);
|
||||||
q->scrambled_stream = 1;
|
q->scrambled_stream = 1;
|
||||||
@@ -912,10 +911,10 @@ static av_cold int atrac3_decode_init(AVCodecContext *avctx)
|
|||||||
return AVERROR_INVALIDDATA;
|
return AVERROR_INVALIDDATA;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (q->samples_per_frame != SAMPLES_PER_FRAME &&
|
if (samples_per_frame != SAMPLES_PER_FRAME &&
|
||||||
q->samples_per_frame != SAMPLES_PER_FRAME * 2) {
|
samples_per_frame != SAMPLES_PER_FRAME * 2) {
|
||||||
av_log(avctx, AV_LOG_ERROR, "Unknown amount of samples per frame %d.\n",
|
av_log(avctx, AV_LOG_ERROR, "Unknown amount of samples per frame %d.\n",
|
||||||
q->samples_per_frame);
|
samples_per_frame);
|
||||||
return AVERROR_INVALIDDATA;
|
return AVERROR_INVALIDDATA;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user