s->avctx = avctx;
- // 30bytes includes TTA1 header
+ // 22 bytes for a TTA1 header
if (avctx->extradata_size < 22)
return AVERROR_INVALIDDATA;
return ret;
}
-static int init_thread_copy(AVCodecContext *avctx)
-{
- TTAContext *s = avctx->priv_data;
- s->avctx = avctx;
- return allocate_buffers(avctx);
-}
-
static av_cold int tta_decode_close(AVCodecContext *avctx) {
TTAContext *s = avctx->priv_data;
.version = LIBAVUTIL_VERSION_INT,
};
-AVCodec ff_tta_decoder = {
+const AVCodec ff_tta_decoder = {
.name = "tta",
.long_name = NULL_IF_CONFIG_SMALL("TTA (True Audio)"),
.type = AVMEDIA_TYPE_AUDIO,
.init = tta_decode_init,
.close = tta_decode_close,
.decode = tta_decode_frame,
- .init_thread_copy = ONLY_IF_THREADS_ENABLED(init_thread_copy),
- .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
+ .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_CHANNEL_CONF,
.priv_class = &tta_decoder_class,
};