ffmpeg | branch: master | Limin Wang <[email protected]> | Fri Nov 26 20:20:15 2021 +0800| [d39f667da155054307e143dc23b225ca88a59dc9] | committer: Limin Wang
avcodec/bitpacked_dec: support for frame thread decode Signed-off-by: Limin Wang <[email protected]> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d39f667da155054307e143dc23b225ca88a59dc9 --- libavcodec/bitpacked_dec.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libavcodec/bitpacked_dec.c b/libavcodec/bitpacked_dec.c index a2edccc43c..69fea9c366 100644 --- a/libavcodec/bitpacked_dec.c +++ b/libavcodec/bitpacked_dec.c @@ -30,6 +30,7 @@ #include "internal.h" #include "get_bits.h" #include "libavutil/imgutils.h" +#include "thread.h" struct BitpackedContext { int (*decode)(AVCodecContext *avctx, AVFrame *frame, @@ -64,11 +65,12 @@ static int bitpacked_decode_yuv422p10(AVCodecContext *avctx, AVFrame *frame, { uint64_t frame_size = (uint64_t)avctx->width * (uint64_t)avctx->height * 20; uint64_t packet_size = (uint64_t)avpkt->size * 8; + ThreadFrame tframe = { .f = frame }; GetBitContext bc; uint16_t *y, *u, *v; int ret, i, j; - ret = ff_get_buffer(avctx, frame, 0); + ret = ff_thread_get_buffer(avctx, &tframe, 0); if (ret < 0) return ret; @@ -149,6 +151,7 @@ const AVCodec ff_bitpacked_decoder = { .priv_data_size = sizeof(struct BitpackedContext), .init = bitpacked_init_decoder, .decode = bitpacked_decode, + .capabilities = AV_CODEC_CAP_FRAME_THREADS, .codec_tags = (const uint32_t []){ MKTAG('U', 'Y', 'V', 'Y'), FF_CODEC_TAGS_END, _______________________________________________ ffmpeg-cvslog mailing list [email protected] https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog To unsubscribe, visit link above, or email [email protected] with subject "unsubscribe".
