mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
alacenc: do not set bits_per_coded_sample
encoded ALAC does not have a fixed number of bits per sample
This commit is contained in:
parent
43a4cb070b
commit
64fe3eaeb3
@ -393,7 +393,6 @@ static av_cold int alac_encode_init(AVCodecContext *avctx)
|
||||
uint8_t *alac_extradata = av_mallocz(ALAC_EXTRADATA_SIZE+1);
|
||||
|
||||
avctx->frame_size = DEFAULT_FRAME_SIZE;
|
||||
avctx->bits_per_coded_sample = DEFAULT_SAMPLE_SIZE;
|
||||
|
||||
if (avctx->sample_fmt != AV_SAMPLE_FMT_S16) {
|
||||
av_log(avctx, AV_LOG_ERROR, "only pcm_s16 input samples are supported\n");
|
||||
@ -420,18 +419,18 @@ static av_cold int alac_encode_init(AVCodecContext *avctx)
|
||||
s->rc.k_modifier = 14;
|
||||
s->rc.rice_modifier = 4;
|
||||
|
||||
s->max_coded_frame_size = 8 + (avctx->frame_size*avctx->channels*avctx->bits_per_coded_sample>>3);
|
||||
s->max_coded_frame_size = 8 + (avctx->frame_size * avctx->channels * DEFAULT_SAMPLE_SIZE >> 3);
|
||||
|
||||
s->write_sample_size = avctx->bits_per_coded_sample + avctx->channels - 1; // FIXME: consider wasted_bytes
|
||||
s->write_sample_size = DEFAULT_SAMPLE_SIZE + avctx->channels - 1; // FIXME: consider wasted_bytes
|
||||
|
||||
AV_WB32(alac_extradata, ALAC_EXTRADATA_SIZE);
|
||||
AV_WB32(alac_extradata+4, MKBETAG('a','l','a','c'));
|
||||
AV_WB32(alac_extradata+12, avctx->frame_size);
|
||||
AV_WB8 (alac_extradata+17, avctx->bits_per_coded_sample);
|
||||
AV_WB8 (alac_extradata+17, DEFAULT_SAMPLE_SIZE);
|
||||
AV_WB8 (alac_extradata+21, avctx->channels);
|
||||
AV_WB32(alac_extradata+24, s->max_coded_frame_size);
|
||||
AV_WB32(alac_extradata+28,
|
||||
avctx->sample_rate * avctx->channels * avctx->bits_per_coded_sample); // average bitrate
|
||||
avctx->sample_rate * avctx->channels * DEFAULT_SAMPLE_SIZE); // average bitrate
|
||||
AV_WB32(alac_extradata+32, avctx->sample_rate);
|
||||
|
||||
// Set relevant extradata fields
|
||||
|
Loading…
Reference in New Issue
Block a user