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);
}
.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,
};