diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2014-01-28 04:02:35 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-01-28 14:51:42 +0100 |
commit | bb7a7111562b3c488be2ee1c41a39a913eed6497 (patch) | |
tree | b9ba5f0f22767a8808673b1d5ea0ec2400e3ab67 | |
parent | 644c32ea4b8092e2bb19083df1f3d7ea9f277b78 (diff) | |
download | ffmpeg-bb7a7111562b3c488be2ee1c41a39a913eed6497.tar.gz |
avcodec/huffyuvenc: frame multi-threading support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | libavcodec/frame_thread_encoder.c | 7 | ||||
-rw-r--r-- | libavcodec/huffyuvenc.c | 2 | ||||
-rw-r--r-- | libavcodec/version.h | 2 |
3 files changed, 10 insertions, 1 deletions
diff --git a/libavcodec/frame_thread_encoder.c b/libavcodec/frame_thread_encoder.c index b9acefc110..687f23a17d 100644 --- a/libavcodec/frame_thread_encoder.c +++ b/libavcodec/frame_thread_encoder.c @@ -133,6 +133,13 @@ int ff_frame_thread_encoder_init(AVCodecContext *avctx, AVDictionary *options){ if(avctx->thread_count <= 1) 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) return AVERROR(EINVAL); diff --git a/libavcodec/huffyuvenc.c b/libavcodec/huffyuvenc.c index 3cb7293dc1..2a69cc09d9 100644 --- a/libavcodec/huffyuvenc.c +++ b/libavcodec/huffyuvenc.c @@ -996,6 +996,7 @@ AVCodec ff_huffyuv_encoder = { .init = encode_init, .encode2 = encode_frame, .close = encode_end, + .capabilities = CODEC_CAP_FRAME_THREADS | CODEC_CAP_INTRA_ONLY, .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV422P, AV_PIX_FMT_RGB24, AV_PIX_FMT_RGB32, AV_PIX_FMT_NONE @@ -1013,6 +1014,7 @@ AVCodec ff_ffvhuff_encoder = { .init = encode_init, .encode2 = encode_frame, .close = encode_end, + .capabilities = CODEC_CAP_FRAME_THREADS | CODEC_CAP_INTRA_ONLY, .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV440P, diff --git a/libavcodec/version.h b/libavcodec/version.h index 27fd39eb06..c56a957680 100644 --- a/libavcodec/version.h +++ b/libavcodec/version.h @@ -30,7 +30,7 @@ #define LIBAVCODEC_VERSION_MAJOR 55 #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, \ LIBAVCODEC_VERSION_MINOR, \ |