X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Falacenc.c;h=d6b2e1c991b820b23f190a03a40248025a3472d5;hb=b9fff6e15e73dc995695db9be8db084238cca14c;hp=804cc7b17b752a34553d0df11a641cbb3a1dd985;hpb=0dda0f3bdb7e8a2d5bef7457375f72f38a100ccb;p=ffmpeg diff --git a/libavcodec/alacenc.c b/libavcodec/alacenc.c index 804cc7b17b7..d6b2e1c991b 100644 --- a/libavcodec/alacenc.c +++ b/libavcodec/alacenc.c @@ -485,7 +485,7 @@ static int write_frame(AlacEncodeContext *s, AVPacket *avpkt, put_bits(pb, 3, TYPE_END); flush_put_bits(pb); - return put_bits_count(pb) >> 3; + return put_bytes_output(pb); } static av_always_inline int get_max_frame_size(int frame_size, int ch, int bps) @@ -498,8 +498,6 @@ static av_cold int alac_encode_close(AVCodecContext *avctx) { AlacEncodeContext *s = avctx->priv_data; ff_lpc_end(&s->lpc_ctx); - av_freep(&avctx->extradata); - avctx->extradata_size = 0; return 0; } @@ -537,10 +535,8 @@ static av_cold int alac_encode_init(AVCodecContext *avctx) avctx->bits_per_raw_sample); avctx->extradata = av_mallocz(ALAC_EXTRADATA_SIZE + AV_INPUT_BUFFER_PADDING_SIZE); - if (!avctx->extradata) { - ret = AVERROR(ENOMEM); - goto error; - } + if (!avctx->extradata) + return AVERROR(ENOMEM); avctx->extradata_size = ALAC_EXTRADATA_SIZE; alac_extradata = avctx->extradata; @@ -561,40 +557,11 @@ static av_cold int alac_encode_init(AVCodecContext *avctx) AV_WB8(alac_extradata+20, s->rc.k_modifier); } -#if FF_API_PRIVATE_OPT -FF_DISABLE_DEPRECATION_WARNINGS - if (avctx->min_prediction_order >= 0) { - if (avctx->min_prediction_order < MIN_LPC_ORDER || - avctx->min_prediction_order > ALAC_MAX_LPC_ORDER) { - av_log(avctx, AV_LOG_ERROR, "invalid min prediction order: %d\n", - avctx->min_prediction_order); - ret = AVERROR(EINVAL); - goto error; - } - - s->min_prediction_order = avctx->min_prediction_order; - } - - if (avctx->max_prediction_order >= 0) { - if (avctx->max_prediction_order < MIN_LPC_ORDER || - avctx->max_prediction_order > ALAC_MAX_LPC_ORDER) { - av_log(avctx, AV_LOG_ERROR, "invalid max prediction order: %d\n", - avctx->max_prediction_order); - ret = AVERROR(EINVAL); - goto error; - } - - s->max_prediction_order = avctx->max_prediction_order; - } -FF_ENABLE_DEPRECATION_WARNINGS -#endif - if (s->max_prediction_order < s->min_prediction_order) { av_log(avctx, AV_LOG_ERROR, "invalid prediction orders: min=%d max=%d\n", s->min_prediction_order, s->max_prediction_order); - ret = AVERROR(EINVAL); - goto error; + return AVERROR(EINVAL); } s->avctx = avctx; @@ -602,13 +569,10 @@ FF_ENABLE_DEPRECATION_WARNINGS if ((ret = ff_lpc_init(&s->lpc_ctx, avctx->frame_size, s->max_prediction_order, FF_LPC_TYPE_LEVINSON)) < 0) { - goto error; + return ret; } return 0; -error: - alac_encode_close(avctx); - return ret; } static int alac_encode_frame(AVCodecContext *avctx, AVPacket *avpkt, @@ -667,7 +631,7 @@ static const AVClass alacenc_class = { .version = LIBAVUTIL_VERSION_INT, }; -AVCodec ff_alac_encoder = { +const AVCodec ff_alac_encoder = { .name = "alac", .long_name = NULL_IF_CONFIG_SMALL("ALAC (Apple Lossless Audio Codec)"), .type = AVMEDIA_TYPE_AUDIO,