mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
avcodec/huffyuvenc: frame multi-threading support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
644c32ea4b
commit
bb7a711156
@ -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 = {
|
|||||||
.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 = {
|
|||||||
.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 @@
|
|||||||
|
|
||||||
#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, \
|
||||||
|
Loading…
Reference in New Issue
Block a user