Commit bb7a7111 authored by Michael Niedermayer's avatar Michael Niedermayer

avcodec/huffyuvenc: frame multi-threading support

Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parent 644c32ea
...@@ -133,6 +133,13 @@ int ff_frame_thread_encoder_init(AVCodecContext *avctx, AVDictionary *options){ ...@@ -133,6 +133,13 @@ int ff_frame_thread_encoder_init(AVCodecContext *avctx, AVDictionary *options){
if(avctx->thread_count <= 1) if(avctx->thread_count <= 1)
return 0; return 0;
if (avctx->codec_id == AV_CODEC_ID_HUFFYUV ||
avctx->codec_id == AV_CODEC_ID_FFVHUFF) {
// huffyuv doesnt support these with multiple frame threads currently
if (avctx->context_model > 0 || (avctx->flags & CODEC_FLAG_PASS1))
return 0;
}
if(avctx->thread_count > MAX_THREADS) if(avctx->thread_count > MAX_THREADS)
return AVERROR(EINVAL); return AVERROR(EINVAL);
......
...@@ -996,6 +996,7 @@ AVCodec ff_huffyuv_encoder = { ...@@ -996,6 +996,7 @@ AVCodec ff_huffyuv_encoder = {
.init = encode_init, .init = encode_init,
.encode2 = encode_frame, .encode2 = encode_frame,
.close = encode_end, .close = encode_end,
.capabilities = CODEC_CAP_FRAME_THREADS | CODEC_CAP_INTRA_ONLY,
.pix_fmts = (const enum AVPixelFormat[]){ .pix_fmts = (const enum AVPixelFormat[]){
AV_PIX_FMT_YUV422P, AV_PIX_FMT_RGB24, AV_PIX_FMT_YUV422P, AV_PIX_FMT_RGB24,
AV_PIX_FMT_RGB32, AV_PIX_FMT_NONE AV_PIX_FMT_RGB32, AV_PIX_FMT_NONE
...@@ -1013,6 +1014,7 @@ AVCodec ff_ffvhuff_encoder = { ...@@ -1013,6 +1014,7 @@ AVCodec ff_ffvhuff_encoder = {
.init = encode_init, .init = encode_init,
.encode2 = encode_frame, .encode2 = encode_frame,
.close = encode_end, .close = encode_end,
.capabilities = CODEC_CAP_FRAME_THREADS | CODEC_CAP_INTRA_ONLY,
.pix_fmts = (const enum AVPixelFormat[]){ .pix_fmts = (const enum AVPixelFormat[]){
AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV411P,
AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV440P,
......
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
#define LIBAVCODEC_VERSION_MAJOR 55 #define LIBAVCODEC_VERSION_MAJOR 55
#define LIBAVCODEC_VERSION_MINOR 49 #define LIBAVCODEC_VERSION_MINOR 49
#define LIBAVCODEC_VERSION_MICRO 100 #define LIBAVCODEC_VERSION_MICRO 101
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
LIBAVCODEC_VERSION_MINOR, \ LIBAVCODEC_VERSION_MINOR, \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment