From fb59a42ef977dd91085a602f10c9c82f88d072e5 Mon Sep 17 00:00:00 2001 From: Andreas Rheinhardt Date: Wed, 30 Mar 2022 19:52:41 +0200 Subject: avcodec/codec_internal: Add FFCodec.decode_sub This increases type-safety by avoiding conversions from/through void*. It also avoids the boilerplate "AVSubtitle *sub = data;" line for subtitle decoders. Its only downside is that it increases sizeof(FFCodec), yet this can be more than offset lateron. Signed-off-by: Andreas Rheinhardt --- libavcodec/libzvbi-teletextdec.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'libavcodec/libzvbi-teletextdec.c') diff --git a/libavcodec/libzvbi-teletextdec.c b/libavcodec/libzvbi-teletextdec.c index 5ebf47f796..4920c61e0f 100644 --- a/libavcodec/libzvbi-teletextdec.c +++ b/libavcodec/libzvbi-teletextdec.c @@ -637,10 +637,10 @@ static int slice_to_vbi_lines(TeletextContext *ctx, uint8_t* buf, int size) return lines; } -static int teletext_decode_frame(AVCodecContext *avctx, void *data, int *got_sub_ptr, AVPacket *pkt) +static int teletext_decode_frame(AVCodecContext *avctx, AVSubtitle *sub, + int *got_sub_ptr, AVPacket *pkt) { TeletextContext *ctx = avctx->priv_data; - AVSubtitle *sub = data; int ret = 0; if (!ctx->vbi) { @@ -822,6 +822,6 @@ const FFCodec ff_libzvbi_teletext_decoder = { .priv_data_size = sizeof(TeletextContext), .init = teletext_init_decoder, .close = teletext_close_decoder, - .decode = teletext_decode_frame, + .decode_sub = teletext_decode_frame, .flush = teletext_flush, }; -- cgit v1.2.3