if (s->options.max_partition_order < 0)
s->options.max_partition_order = ((int[]){ 2, 2, 3, 3, 3, 8, 8, 8, 8, 8, 8, 8, 8})[level];
-#if FF_API_PRIVATE_OPT
-FF_DISABLE_DEPRECATION_WARNINGS
- if (avctx->min_prediction_order >= 0) {
- if (s->options.lpc_type == FF_LPC_TYPE_FIXED) {
- if (avctx->min_prediction_order > MAX_FIXED_ORDER) {
- av_log(avctx, AV_LOG_WARNING,
- "invalid min prediction order %d, clamped to %d\n",
- avctx->min_prediction_order, MAX_FIXED_ORDER);
- avctx->min_prediction_order = MAX_FIXED_ORDER;
- }
- } else if (avctx->min_prediction_order < MIN_LPC_ORDER ||
- avctx->min_prediction_order > MAX_LPC_ORDER) {
- av_log(avctx, AV_LOG_ERROR, "invalid min prediction order: %d\n",
- avctx->min_prediction_order);
- return AVERROR(EINVAL);
- }
- s->options.min_prediction_order = avctx->min_prediction_order;
- }
- if (avctx->max_prediction_order >= 0) {
- if (s->options.lpc_type == FF_LPC_TYPE_FIXED) {
- if (avctx->max_prediction_order > MAX_FIXED_ORDER) {
- av_log(avctx, AV_LOG_WARNING,
- "invalid max prediction order %d, clamped to %d\n",
- avctx->max_prediction_order, MAX_FIXED_ORDER);
- avctx->max_prediction_order = MAX_FIXED_ORDER;
- }
- } else if (avctx->max_prediction_order < MIN_LPC_ORDER ||
- avctx->max_prediction_order > MAX_LPC_ORDER) {
- av_log(avctx, AV_LOG_ERROR, "invalid max prediction order: %d\n",
- avctx->max_prediction_order);
- return AVERROR(EINVAL);
- }
- s->options.max_prediction_order = avctx->max_prediction_order;
- }
-FF_ENABLE_DEPRECATION_WARNINGS
-#endif
if (s->options.lpc_type == FF_LPC_TYPE_NONE) {
s->options.min_prediction_order = 0;
s->options.max_prediction_order = 0;
flush_put_bits(&s->pb);
crc = av_crc(av_crc_get_table(AV_CRC_8_ATM), 0, s->pb.buf,
- put_bits_count(&s->pb) >> 3);
+ put_bytes_output(&s->pb));
put_bits(&s->pb, 8, crc);
}
int crc;
flush_put_bits(&s->pb);
crc = av_bswap16(av_crc(av_crc_get_table(AV_CRC_16_ANSI), 0, s->pb.buf,
- put_bits_count(&s->pb)>>3));
+ put_bytes_output(&s->pb)));
put_bits(&s->pb, 16, crc);
flush_put_bits(&s->pb);
}
write_frame_header(s);
write_subframes(s);
write_frame_footer(s);
- return put_bits_count(&s->pb) >> 3;
+ return put_bytes_output(&s->pb);
}
av_md5_final(s->md5ctx, s->md5sum);
write_streaminfo(s, avctx->extradata);
-#if FF_API_SIDEDATA_ONLY_PKT
-FF_DISABLE_DEPRECATION_WARNINGS
- if (avctx->side_data_only_packets && !s->flushed) {
-FF_ENABLE_DEPRECATION_WARNINGS
-#else
if (!s->flushed) {
-#endif
uint8_t *side_data = av_packet_new_side_data(avpkt, AV_PKT_DATA_NEW_EXTRADATA,
avctx->extradata_size);
if (!side_data)
.init = flac_encode_init,
.encode2 = flac_encode_frame,
.close = flac_encode_close,
- .capabilities = AV_CODEC_CAP_SMALL_LAST_FRAME | AV_CODEC_CAP_DELAY | AV_CODEC_CAP_LOSSLESS,
+ .capabilities = AV_CODEC_CAP_SMALL_LAST_FRAME | AV_CODEC_CAP_DELAY,
.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16,
AV_SAMPLE_FMT_S32,
AV_SAMPLE_FMT_NONE },
.priv_class = &flac_encoder_class,
+ .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
};