[PATCH 01/23] avcodec: add color_range to AVCodec struct and use it
Signed-off-by: Paul B Mahol <onemda@gmail.com> --- libavcodec/avcodec.h | 1 + libavcodec/utils.c | 2 ++ 2 files changed, 3 insertions(+) diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index 5db6a81320..df715fd5ee 100644 --- a/libavcodec/avcodec.h +++ b/libavcodec/avcodec.h @@ -3376,6 +3376,7 @@ typedef struct AVCodec { uint8_t max_lowres; ///< maximum value for lowres supported by the decoder const AVClass *priv_class; ///< AVClass for the private context const AVProfile *profiles; ///< array of recognized profiles, or NULL if unknown, array is terminated by {FF_PROFILE_UNKNOWN} + const enum AVColorRange *color_ranges; ///< array of supported color ranges by encoder, or NULL if unknown, array is terminated by -1 /***************************************************************** * No fields below this line are part of the public API. They diff --git a/libavcodec/utils.c b/libavcodec/utils.c index 873f39f9bd..41cc6fbf2c 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -879,6 +879,8 @@ FF_ENABLE_DEPRECATION_WARNINGS avctx->codec->pix_fmts[i] == AV_PIX_FMT_YUVJ444P) avctx->color_range = AVCOL_RANGE_JPEG; } + if (avctx->codec->color_range) + avctx->color_range = avctx->codec->color_range; if (avctx->codec->supported_samplerates) { for (i = 0; avctx->codec->supported_samplerates[i] != 0; i++) if (avctx->sample_rate == avctx->codec->supported_samplerates[i]) -- 2.11.0
Signed-off-by: Paul B Mahol <onemda@gmail.com> --- libavfilter/avfilter.c | 2 ++ libavfilter/avfilter.h | 2 ++ libavfilter/video.c | 8 +++++++- 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/libavfilter/avfilter.c b/libavfilter/avfilter.c index b98b32bacb..4a579bb49d 100644 --- a/libavfilter/avfilter.c +++ b/libavfilter/avfilter.c @@ -336,6 +336,8 @@ int avfilter_config_links(AVFilterContext *filter) link->w = inlink->w; if (!link->h) link->h = inlink->h; + if (!link->color_range) + link->color_range = inlink->color_range; } else if (!link->w || !link->h) { av_log(link->src, AV_LOG_ERROR, "Video source filters must set their output link's " diff --git a/libavfilter/avfilter.h b/libavfilter/avfilter.h index 47546c15e5..40ad28ffd8 100644 --- a/libavfilter/avfilter.h +++ b/libavfilter/avfilter.h @@ -584,6 +584,8 @@ struct AVFilterLink { */ AVBufferRef *hw_frames_ctx; + enum AVColorRange color_range; ///< color range type, video only + #ifndef FF_INTERNAL_FIELDS /** diff --git a/libavfilter/video.c b/libavfilter/video.c index 6f9020b9fe..8f12cb7080 100644 --- a/libavfilter/video.c +++ b/libavfilter/video.c @@ -43,6 +43,7 @@ AVFrame *ff_null_get_video_buffer(AVFilterLink *link, int w, int h) AVFrame *ff_default_get_video_buffer(AVFilterLink *link, int w, int h) { + AVFrame *frame = NULL; int pool_width = 0; int pool_height = 0; int pool_align = 0; @@ -86,7 +87,12 @@ AVFrame *ff_default_get_video_buffer(AVFilterLink *link, int w, int h) } } - return ff_frame_pool_get(link->frame_pool); + frame = ff_frame_pool_get(link->frame_pool); + if (!frame) + return NULL; + frame->color_range = link->color_range; + + return frame; } AVFrame *ff_get_video_buffer(AVFilterLink *link, int w, int h) -- 2.11.0
Signed-off-by: Paul B Mahol <onemda@gmail.com> --- libavfilter/buffersrc.c | 18 ++++++++++++++++++ libavfilter/buffersrc.h | 5 +++++ 2 files changed, 23 insertions(+) diff --git a/libavfilter/buffersrc.c b/libavfilter/buffersrc.c index cd56f8ca45..51a1a9fb49 100644 --- a/libavfilter/buffersrc.c +++ b/libavfilter/buffersrc.c @@ -52,6 +52,7 @@ typedef struct BufferSourceContext { int w, h; enum AVPixelFormat pix_fmt; AVRational pixel_aspect; + int color_range; char *sws_param; AVBufferRef *hw_frames_ctx; @@ -109,6 +110,8 @@ int av_buffersrc_parameters_set(AVFilterContext *ctx, AVBufferSrcParameters *par s->h = param->height; if (param->sample_aspect_ratio.num > 0 && param->sample_aspect_ratio.den > 0) s->pixel_aspect = param->sample_aspect_ratio; + if (param->color_range > AVCOL_RANGE_UNSPECIFIED) + s->color_range = param->color_range; if (param->frame_rate.num > 0 && param->frame_rate.den > 0) s->frame_rate = param->frame_rate; if (param->hw_frames_ctx) { @@ -279,6 +282,11 @@ static av_cold int init_video(AVFilterContext *ctx) return AVERROR(EINVAL); } + if (!av_color_range_name(c->color_range)) { + av_log(ctx, AV_LOG_ERROR, "Invalid color_range parameter provided.\n"); + return AVERROR(EINVAL); + } + if (!(c->fifo = av_fifo_alloc(sizeof(AVFrame*)))) return AVERROR(ENOMEM); @@ -309,6 +317,15 @@ static const AVOption buffer_options[] = { { "time_base", NULL, OFFSET(time_base), AV_OPT_TYPE_RATIONAL, { .dbl = 0 }, 0, DBL_MAX, V }, { "frame_rate", NULL, OFFSET(frame_rate), AV_OPT_TYPE_RATIONAL, { .dbl = 0 }, 0, DBL_MAX, V }, { "sws_param", NULL, OFFSET(sws_param), AV_OPT_TYPE_STRING, .flags = V }, + { "color_range", NULL, OFFSET(color_range), AV_OPT_TYPE_INT, { .i64 = AVCOL_RANGE_UNSPECIFIED }, 0, INT_MAX, V, "range" }, + { "unspecified", NULL, 0, AV_OPT_TYPE_CONST, {.i64=AVCOL_RANGE_UNSPECIFIED}, 0, 0, V, "range"}, + { "unknown", NULL, 0, AV_OPT_TYPE_CONST, {.i64=AVCOL_RANGE_UNSPECIFIED}, 0, 0, V, "range"}, + { "limited", NULL, 0, AV_OPT_TYPE_CONST, {.i64=AVCOL_RANGE_MPEG}, 0, 0, V, "range"}, + { "tv", NULL, 0, AV_OPT_TYPE_CONST, {.i64=AVCOL_RANGE_MPEG}, 0, 0, V, "range"}, + { "mpeg", NULL, 0, AV_OPT_TYPE_CONST, {.i64=AVCOL_RANGE_MPEG}, 0, 0, V, "range"}, + { "full", NULL, 0, AV_OPT_TYPE_CONST, {.i64=AVCOL_RANGE_JPEG}, 0, 0, V, "range"}, + { "pc", NULL, 0, AV_OPT_TYPE_CONST, {.i64=AVCOL_RANGE_JPEG}, 0, 0, V, "range"}, + { "jpeg", NULL, 0, AV_OPT_TYPE_CONST, {.i64=AVCOL_RANGE_JPEG}, 0, 0, V, "range"}, { NULL }, }; @@ -434,6 +451,7 @@ static int config_props(AVFilterLink *link) link->w = c->w; link->h = c->h; link->sample_aspect_ratio = c->pixel_aspect; + link->color_range = c->color_range; if (c->hw_frames_ctx) { link->hw_frames_ctx = av_buffer_ref(c->hw_frames_ctx); diff --git a/libavfilter/buffersrc.h b/libavfilter/buffersrc.h index 0652113f2b..7129db6bd9 100644 --- a/libavfilter/buffersrc.h +++ b/libavfilter/buffersrc.h @@ -114,6 +114,11 @@ typedef struct AVBufferSrcParameters { * Audio only, the audio channel layout */ uint64_t channel_layout; + + /** + * Video only + */ + enum AVColorRange color_range; } AVBufferSrcParameters; /** -- 2.11.0
Signed-off-by: Paul B Mahol <onemda@gmail.com> --- libavfilter/buffersink.c | 1 + libavfilter/buffersink.h | 1 + 2 files changed, 2 insertions(+) diff --git a/libavfilter/buffersink.c b/libavfilter/buffersink.c index 0f87b5439a..897396cac4 100644 --- a/libavfilter/buffersink.c +++ b/libavfilter/buffersink.c @@ -194,6 +194,7 @@ MAKE_AVFILTERLINK_ACCESSOR(AVRational , frame_rate ) MAKE_AVFILTERLINK_ACCESSOR(int , w ) MAKE_AVFILTERLINK_ACCESSOR(int , h ) MAKE_AVFILTERLINK_ACCESSOR(AVRational , sample_aspect_ratio) +MAKE_AVFILTERLINK_ACCESSOR(enum AVColorRange, color_range ) MAKE_AVFILTERLINK_ACCESSOR(int , channels ) MAKE_AVFILTERLINK_ACCESSOR(uint64_t , channel_layout ) diff --git a/libavfilter/buffersink.h b/libavfilter/buffersink.h index 21d6bb505b..e6d6504832 100644 --- a/libavfilter/buffersink.h +++ b/libavfilter/buffersink.h @@ -114,6 +114,7 @@ AVRational av_buffersink_get_frame_rate (const AVFilterContext *c int av_buffersink_get_w (const AVFilterContext *ctx); int av_buffersink_get_h (const AVFilterContext *ctx); AVRational av_buffersink_get_sample_aspect_ratio (const AVFilterContext *ctx); +enum AVColorRange av_buffersink_get_color_range (const AVFilterContext *ctx); int av_buffersink_get_channels (const AVFilterContext *ctx); uint64_t av_buffersink_get_channel_layout (const AVFilterContext *ctx); -- 2.11.0
Signed-off-by: Paul B Mahol <onemda@gmail.com> --- libavfilter/vf_scale.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/libavfilter/vf_scale.c b/libavfilter/vf_scale.c index 9f45032e85..802f841cc3 100644 --- a/libavfilter/vf_scale.c +++ b/libavfilter/vf_scale.c @@ -303,9 +303,15 @@ static int config_props(AVFilterLink *outlink) if (scale->in_range != AVCOL_RANGE_UNSPECIFIED) av_opt_set_int(*s, "src_range", scale->in_range == AVCOL_RANGE_JPEG, 0); + else + av_opt_set_int(*s, "src_range", + inlink->color_range == AVCOL_RANGE_JPEG, 0); if (scale->out_range != AVCOL_RANGE_UNSPECIFIED) av_opt_set_int(*s, "dst_range", scale->out_range == AVCOL_RANGE_JPEG, 0); + else + av_opt_set_int(*s, "dst_range", + outlink->color_range == AVCOL_RANGE_JPEG, 0); if (scale->opts) { AVDictionaryEntry *e = NULL; @@ -416,6 +422,7 @@ static int filter_frame(AVFilterLink *link, AVFrame *in) if( in->width != link->w || in->height != link->h || in->format != link->format + || in->color_range != link->color_range || in->sample_aspect_ratio.den != link->sample_aspect_ratio.den || in->sample_aspect_ratio.num != link->sample_aspect_ratio.num) { int ret; @@ -429,6 +436,7 @@ static int filter_frame(AVFilterLink *link, AVFrame *in) link->dst->inputs[0]->format = in->format; link->dst->inputs[0]->w = in->width; link->dst->inputs[0]->h = in->height; + link->dst->inputs[0]->color_range = in->color_range; link->dst->inputs[0]->sample_aspect_ratio.den = in->sample_aspect_ratio.den; link->dst->inputs[0]->sample_aspect_ratio.num = in->sample_aspect_ratio.num; -- 2.11.0
Signed-off-by: Paul B Mahol <onemda@gmail.com> --- fftools/ffmpeg.c | 2 ++ fftools/ffmpeg_filter.c | 56 +++++++++++++++++++++++++++++++++++++--- libavcodec/utils.c | 13 ++++++++-- libavfilter/avfilter.c | 9 ++++--- libavfilter/avfilter.h | 4 ++- libavfilter/avfiltergraph.c | 53 ++++++++++++++++++++++++++++++++++++++ libavfilter/buffersink.c | 16 ++++++++++++ libavfilter/buffersink.h | 1 + libavfilter/buffersrc.c | 4 +++ libavfilter/formats.c | 63 +++++++++++++++++++++++++++++++++++++++++++++ libavfilter/formats.h | 31 ++++++++++++++++++++++ libavfilter/internal.h | 11 ++++++++ libavfilter/vf_format.c | 46 ++++++++++++++++++++++++++++++++- libavfilter/vf_noise.c | 6 ++++- libavfilter/vf_scale.c | 17 +++++++++--- libavfilter/vsrc_testsrc.c | 15 +++++++++-- tests/fate/filter-video.mak | 2 +- tests/fate/pixlet.mak | 2 +- 18 files changed, 332 insertions(+), 19 deletions(-) diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c index 6aff3366c5..64de55d9a5 100644 --- a/fftools/ffmpeg.c +++ b/fftools/ffmpeg.c @@ -3390,6 +3390,8 @@ static int init_output_stream_encode(OutputStream *ost) enc_ctx->bits_per_raw_sample = FFMIN(dec_ctx->bits_per_raw_sample, av_pix_fmt_desc_get(enc_ctx->pix_fmt)->comp[0].depth); + enc_ctx->color_range = av_buffersink_get_color_range(ost->filter->filter); + enc_ctx->framerate = ost->frame_rate; ost->st->avg_frame_rate = ost->frame_rate; diff --git a/fftools/ffmpeg_filter.c b/fftools/ffmpeg_filter.c index 877fd670e6..cc7d700b46 100644 --- a/fftools/ffmpeg_filter.c +++ b/fftools/ffmpeg_filter.c @@ -89,6 +89,28 @@ enum AVPixelFormat choose_pixel_fmt(AVStream *st, AVCodecContext *enc_ctx, AVCod return target; } +static enum AVColorRange choose_color_range(AVStream *st, AVCodecContext *enc_ctx, AVCodec *codec, enum AVColorRange target) +{ + if (codec && codec->color_ranges) { + const enum AVColorRange *p = codec->color_ranges; + + for (; *p != -1; p++) { + if (*p == target) + break; + } + if (*p == -1) { + if (target != AVCOL_RANGE_UNSPECIFIED) + av_log(NULL, AV_LOG_WARNING, + "Incompatible color range '%s' for codec '%s', auto-selecting color range '%s'\n", + av_color_range_name(target), + codec->name, + av_color_range_name(codec->color_ranges[0])); + return codec->color_ranges[0]; + } + } + return target; +} + void choose_sample_fmt(AVStream *st, AVCodec *codec) { if (codec && codec->sample_fmts) { @@ -127,7 +149,19 @@ static char *choose_pix_fmts(OutputFilter *ofilter) return av_strdup(av_get_pix_fmt_name(ost->enc_ctx->pix_fmt)); } if (ost->enc_ctx->pix_fmt != AV_PIX_FMT_NONE) { - return av_strdup(av_get_pix_fmt_name(choose_pixel_fmt(ost->st, ost->enc_ctx, ost->enc, ost->enc_ctx->pix_fmt))); + AVIOContext *s = NULL; + uint8_t *ret; + int len; + + if (avio_open_dyn_buf(&s) < 0) + exit_program(1); + + avio_printf(s, "%s:%s", av_get_pix_fmt_name(choose_pixel_fmt(ost->st, ost->enc_ctx, ost->enc, ost->enc_ctx->pix_fmt)), + av_color_range_name(choose_color_range(ost->st, ost->enc_ctx, ost->enc, ost->enc_ctx->color_range))); + + len = avio_close_dyn_buf(s, &ret); + ret[len] = 0; + return ret; } else if (ost->enc && ost->enc->pix_fmts) { const enum AVPixelFormat *p; AVIOContext *s = NULL; @@ -144,7 +178,20 @@ static char *choose_pix_fmts(OutputFilter *ofilter) for (; *p != AV_PIX_FMT_NONE; p++) { const char *name = av_get_pix_fmt_name(*p); - avio_printf(s, "%s|", name); + avio_printf(s, "%s", name); + if (*(p + 1) != AV_PIX_FMT_NONE) + avio_printf(s, "|"); + else + avio_printf(s, ":"); + } + + if (ost->enc->color_ranges) { + const enum AVColorRange *c = ost->enc->color_ranges; + + for (; *c != -1; c++) { + const char *name = av_color_range_name(*c); + avio_printf(s, "%s|", name); + } } len = avio_close_dyn_buf(s, &ret); ret[len - 1] = 0; @@ -777,10 +824,11 @@ static int configure_input_video_filter(FilterGraph *fg, InputFilter *ifilter, av_bprint_init(&args, 0, 1); av_bprintf(&args, "video_size=%dx%d:pix_fmt=%d:time_base=%d/%d:" - "pixel_aspect=%d/%d:sws_param=flags=%d", + "pixel_aspect=%d/%d:sws_param=flags=%d:color_range=%s", ifilter->width, ifilter->height, ifilter->format, tb.num, tb.den, sar.num, sar.den, - SWS_BILINEAR + ((ist->dec_ctx->flags&AV_CODEC_FLAG_BITEXACT) ? SWS_BITEXACT:0)); + SWS_BILINEAR + ((ist->dec_ctx->flags&AV_CODEC_FLAG_BITEXACT) ? SWS_BITEXACT:0), + av_color_range_name(ist->dec_ctx->color_range)); if (fr.num && fr.den) av_bprintf(&args, ":frame_rate=%d/%d", fr.num, fr.den); snprintf(name, sizeof(name), "graph %d input from stream %d:%d", fg->index, diff --git a/libavcodec/utils.c b/libavcodec/utils.c index 41cc6fbf2c..9948ad821d 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -879,8 +879,17 @@ FF_ENABLE_DEPRECATION_WARNINGS avctx->codec->pix_fmts[i] == AV_PIX_FMT_YUVJ444P) avctx->color_range = AVCOL_RANGE_JPEG; } - if (avctx->codec->color_range) - avctx->color_range = avctx->codec->color_range; + if (avctx->codec->color_ranges) { + for (i = 0; avctx->codec->color_ranges[i] != -1; i++) + if (avctx->color_range == avctx->codec->color_ranges[i]) + break; + if (avctx->codec->color_ranges[i] == -1) { + av_log(avctx, AV_LOG_ERROR, "Specified color range %s is invalid or not supported\n", + (char *)av_x_if_null(av_color_range_name(avctx->color_range), "unknown")); + ret = AVERROR(EINVAL); + goto free_and_end; + } + } if (avctx->codec->supported_samplerates) { for (i = 0; avctx->codec->supported_samplerates[i] != 0; i++) if (avctx->sample_rate == avctx->codec->supported_samplerates[i]) diff --git a/libavfilter/avfilter.c b/libavfilter/avfilter.c index 4a579bb49d..c3a19d100c 100644 --- a/libavfilter/avfilter.c +++ b/libavfilter/avfilter.c @@ -262,6 +262,9 @@ int avfilter_insert_filter(AVFilterLink *link, AVFilterContext *filt, if (link->out_formats) ff_formats_changeref(&link->out_formats, &filt->outputs[filt_dstpad_idx]->out_formats); + if (link->out_color_ranges) + ff_formats_changeref(&link->out_color_ranges, + &filt->outputs[filt_dstpad_idx]->out_color_ranges); if (link->out_samplerates) ff_formats_changeref(&link->out_samplerates, &filt->outputs[filt_dstpad_idx]->out_samplerates); @@ -785,6 +788,8 @@ static void free_link(AVFilterLink *link) ff_formats_unref(&link->in_formats); ff_formats_unref(&link->out_formats); + ff_formats_unref(&link->in_color_ranges); + ff_formats_unref(&link->out_color_ranges); ff_formats_unref(&link->in_samplerates); ff_formats_unref(&link->out_samplerates); ff_channel_layouts_unref(&link->in_channel_layouts); @@ -970,9 +975,7 @@ int avfilter_init_str(AVFilterContext *filter, const char *args) } #if FF_API_OLD_FILTER_OPTS_ERROR - if ( !strcmp(filter->filter->name, "format") || - !strcmp(filter->filter->name, "noformat") || - !strcmp(filter->filter->name, "frei0r") || + if ( !strcmp(filter->filter->name, "frei0r") || !strcmp(filter->filter->name, "frei0r_src") || !strcmp(filter->filter->name, "ocv") || !strcmp(filter->filter->name, "pan") || diff --git a/libavfilter/avfilter.h b/libavfilter/avfilter.h index 40ad28ffd8..138bdeb5c9 100644 --- a/libavfilter/avfilter.h +++ b/libavfilter/avfilter.h @@ -456,7 +456,7 @@ struct AVFilterLink { ***************************************************************** */ /** - * Lists of formats and channel layouts supported by the input and output + * Lists of formats, color_ranges and channel layouts supported by the input and output * filters respectively. These lists are used for negotiating the format * to actually be used, which will be loaded into the format and * channel_layout members, above, when chosen. @@ -464,6 +464,8 @@ struct AVFilterLink { */ AVFilterFormats *in_formats; AVFilterFormats *out_formats; + AVFilterFormats *in_color_ranges; + AVFilterFormats *out_color_ranges; /** * Lists of channel layouts and sample rates used for automatic diff --git a/libavfilter/avfiltergraph.c b/libavfilter/avfiltergraph.c index 4cc6892404..0d023a5881 100644 --- a/libavfilter/avfiltergraph.c +++ b/libavfilter/avfiltergraph.c @@ -317,6 +317,7 @@ static int filter_query_formats(AVFilterContext *ctx) { int ret, i; AVFilterFormats *formats; + AVFilterFormats *color_ranges; AVFilterChannelLayouts *chlayouts; AVFilterFormats *samplerates; enum AVMediaType type = ctx->inputs && ctx->inputs [0] ? ctx->inputs [0]->type : @@ -338,6 +339,11 @@ static int filter_query_formats(AVFilterContext *ctx) formats = ff_all_formats(type); if ((ret = ff_set_common_formats(ctx, formats)) < 0) return ret; + if (type == AVMEDIA_TYPE_VIDEO) { + color_ranges = ff_all_color_ranges(); + if ((ret = ff_set_common_color_ranges(ctx, color_ranges)) < 0) + return ret; + } if (type == AVMEDIA_TYPE_AUDIO) { samplerates = ff_all_samplerates(); if ((ret = ff_set_common_samplerates(ctx, samplerates)) < 0) @@ -360,6 +366,9 @@ static int formats_declared(AVFilterContext *f) !(f->inputs[i]->out_samplerates && f->inputs[i]->out_channel_layouts)) return 0; + if (f->inputs[i]->type == AVMEDIA_TYPE_VIDEO && + !(f->inputs[i]->out_color_ranges)) + return 0; } for (i = 0; i < f->nb_outputs; i++) { if (!f->outputs[i]->in_formats) @@ -368,6 +377,9 @@ static int formats_declared(AVFilterContext *f) !(f->outputs[i]->in_samplerates && f->outputs[i]->in_channel_layouts)) return 0; + if (f->outputs[i]->type == AVMEDIA_TYPE_VIDEO && + !(f->outputs[i]->in_color_ranges)) + return 0; } return 1; } @@ -485,6 +497,15 @@ static int query_formats(AVFilterGraph *graph, AVClass *log_ctx) convert_needed = 1; } + if (link->type == AVMEDIA_TYPE_VIDEO) { + if (link->in_color_ranges != link->out_color_ranges + && link->in_color_ranges && link->out_color_ranges) + if (!can_merge_formats(link->in_color_ranges, + link->out_color_ranges, + 0, 1)) + convert_needed = 1; + } + #define MERGE_DISPATCH(field, statement) \ if (!(link->in_ ## field && link->out_ ## field)) { \ count_delayed++; \ @@ -507,6 +528,13 @@ static int query_formats(AVFilterGraph *graph, AVClass *log_ctx) convert_needed = 1; ) } + if (link->type == AVMEDIA_TYPE_VIDEO) { + MERGE_DISPATCH(color_ranges, + if (!ff_merge_samplerates(link->in_color_ranges, + link->out_color_ranges)) + convert_needed = 1; + ) + } MERGE_DISPATCH(formats, if (!ff_merge_formats(link->in_formats, link->out_formats, link->type)) @@ -575,6 +603,12 @@ static int query_formats(AVFilterGraph *graph, AVClass *log_ctx) av_assert0( inlink->out_formats->refcount > 0); av_assert0(outlink-> in_formats->refcount > 0); av_assert0(outlink->out_formats->refcount > 0); + if (outlink->type == AVMEDIA_TYPE_VIDEO) { + av_assert0( inlink-> in_color_ranges->refcount > 0); + av_assert0( inlink->out_color_ranges->refcount > 0); + av_assert0(outlink-> in_color_ranges->refcount > 0); + av_assert0(outlink->out_color_ranges->refcount > 0); + } if (outlink->type == AVMEDIA_TYPE_AUDIO) { av_assert0( inlink-> in_samplerates->refcount > 0); av_assert0( inlink->out_samplerates->refcount > 0); @@ -588,6 +622,12 @@ static int query_formats(AVFilterGraph *graph, AVClass *log_ctx) if (!ff_merge_formats( inlink->in_formats, inlink->out_formats, inlink->type) || !ff_merge_formats(outlink->in_formats, outlink->out_formats, outlink->type)) ret = AVERROR(ENOSYS); + if (inlink->type == AVMEDIA_TYPE_VIDEO && + (!ff_merge_samplerates(inlink->in_color_ranges, inlink->out_color_ranges))) + ret = AVERROR(ENOSYS); + if (outlink->type == AVMEDIA_TYPE_VIDEO && + (!ff_merge_samplerates(outlink->in_color_ranges, outlink->out_color_ranges))) + ret = AVERROR(ENOSYS); if (inlink->type == AVMEDIA_TYPE_AUDIO && (!ff_merge_samplerates(inlink->in_samplerates, inlink->out_samplerates) || @@ -709,6 +749,17 @@ static int pick_format(AVFilterLink *link, AVFilterLink *ref) link->in_formats->nb_formats = 1; link->format = link->in_formats->formats[0]; + if (link->type == AVMEDIA_TYPE_VIDEO) { + if (!link->in_color_ranges->nb_formats) { + av_log(link->src, AV_LOG_ERROR, "Cannot select color range for" + " the link between filters %s and %s.\n", link->src->name, + link->dst->name); + return AVERROR(EINVAL); + } + link->in_color_ranges->nb_formats = 1; + link->color_range = link->in_color_ranges->formats[0]; + } + if (link->type == AVMEDIA_TYPE_AUDIO) { if (!link->in_samplerates->nb_formats) { av_log(link->src, AV_LOG_ERROR, "Cannot select sample rate for" @@ -739,6 +790,8 @@ static int pick_format(AVFilterLink *link, AVFilterLink *ref) ff_formats_unref(&link->in_formats); ff_formats_unref(&link->out_formats); + ff_formats_unref(&link->in_color_ranges); + ff_formats_unref(&link->out_color_ranges); ff_formats_unref(&link->in_samplerates); ff_formats_unref(&link->out_samplerates); ff_channel_layouts_unref(&link->in_channel_layouts); diff --git a/libavfilter/buffersink.c b/libavfilter/buffersink.c index 897396cac4..8fe109106b 100644 --- a/libavfilter/buffersink.c +++ b/libavfilter/buffersink.c @@ -45,6 +45,8 @@ typedef struct BufferSinkContext { /* only used for video */ enum AVPixelFormat *pixel_fmts; ///< list of accepted pixel formats, must be terminated with -1 int pixel_fmts_size; + enum AVColorRange *color_ranges; ///< list of accepted color ranges, must be terminated with 0 + int color_ranges_size; /* only used for audio */ enum AVSampleFormat *sample_fmts; ///< list of accepted sample formats, terminated by AV_SAMPLE_FMT_NONE @@ -130,11 +132,13 @@ int attribute_align_arg av_buffersink_get_samples(AVFilterContext *ctx, AVBufferSinkParams *av_buffersink_params_alloc(void) { static const int pixel_fmts[] = { AV_PIX_FMT_NONE }; + static const int color_ranges[] = { -1}; AVBufferSinkParams *params = av_malloc(sizeof(AVBufferSinkParams)); if (!params) return NULL; params->pixel_fmts = pixel_fmts; + params->color_ranges = color_ranges; return params; } @@ -211,6 +215,8 @@ static av_cold int vsink_init(AVFilterContext *ctx, void *opaque) if (params) { if ((ret = av_opt_set_int_list(buf, "pix_fmts", params->pixel_fmts, AV_PIX_FMT_NONE, 0)) < 0) return ret; + if ((ret = av_opt_set_int_list(buf, "color_ranges", params->color_ranges, -1, 0)) < 0) + return ret; } return common_init(ctx); @@ -227,16 +233,25 @@ static int vsink_query_formats(AVFilterContext *ctx) { BufferSinkContext *buf = ctx->priv; AVFilterFormats *formats = NULL; + AVFilterFormats *color_ranges = NULL; unsigned i; int ret; CHECK_LIST_SIZE(pixel_fmts) + CHECK_LIST_SIZE(color_ranges) if (buf->pixel_fmts_size) { for (i = 0; i < NB_ITEMS(buf->pixel_fmts); i++) if ((ret = ff_add_format(&formats, buf->pixel_fmts[i])) < 0) return ret; if ((ret = ff_set_common_formats(ctx, formats)) < 0) return ret; + } + if (buf->color_ranges_size) { + for (i = 0; i < NB_ITEMS(buf->color_ranges); i++) + if ((ret = ff_add_format(&color_ranges, buf->color_ranges[i])) < 0) + return ret; + if ((ret = ff_set_common_color_ranges(ctx, color_ranges)) < 0) + return ret; } else { if ((ret = ff_default_query_formats(ctx)) < 0) return ret; @@ -318,6 +333,7 @@ static int asink_query_formats(AVFilterContext *ctx) #define FLAGS AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_VIDEO_PARAM static const AVOption buffersink_options[] = { { "pix_fmts", "set the supported pixel formats", OFFSET(pixel_fmts), AV_OPT_TYPE_BINARY, .flags = FLAGS }, + { "color_ranges", "set the supported color ranges", OFFSET(color_ranges), AV_OPT_TYPE_BINARY, .flags = FLAGS }, { NULL }, }; #undef FLAGS diff --git a/libavfilter/buffersink.h b/libavfilter/buffersink.h index e6d6504832..3a74a039a2 100644 --- a/libavfilter/buffersink.h +++ b/libavfilter/buffersink.h @@ -64,6 +64,7 @@ int av_buffersink_get_frame_flags(AVFilterContext *ctx, AVFrame *frame, int flag */ typedef struct AVBufferSinkParams { const enum AVPixelFormat *pixel_fmts; ///< list of allowed pixel formats, terminated by AV_PIX_FMT_NONE + const enum AVPixelFormat *color_ranges; ///< list of allowed color ranges, terminated by AVCOL_RANGE_UNSPECIFIED } AVBufferSinkParams; /** diff --git a/libavfilter/buffersrc.c b/libavfilter/buffersrc.c index 51a1a9fb49..e450a2bca7 100644 --- a/libavfilter/buffersrc.c +++ b/libavfilter/buffersrc.c @@ -412,6 +412,7 @@ static int query_formats(AVFilterContext *ctx) BufferSourceContext *c = ctx->priv; AVFilterChannelLayouts *channel_layouts = NULL; AVFilterFormats *formats = NULL; + AVFilterFormats *color_ranges = NULL; AVFilterFormats *samplerates = NULL; int ret; @@ -420,6 +421,9 @@ static int query_formats(AVFilterContext *ctx) if ((ret = ff_add_format (&formats, c->pix_fmt)) < 0 || (ret = ff_set_common_formats (ctx , formats )) < 0) return ret; + if ((ret = ff_add_format (&color_ranges, c->color_range)) < 0 || + (ret = ff_set_common_color_ranges(ctx, color_ranges)) < 0) + return ret; break; case AVMEDIA_TYPE_AUDIO: if ((ret = ff_add_format (&formats , c->sample_fmt )) < 0 || diff --git a/libavfilter/formats.c b/libavfilter/formats.c index d4de862237..560b348524 100644 --- a/libavfilter/formats.c +++ b/libavfilter/formats.c @@ -289,6 +289,15 @@ AVFilterFormats *ff_make_format_list(const int *fmts) return formats; } +AVFilterFormats *ff_make_color_range_list(const int *fmts) +{ + MAKE_FORMAT_LIST(AVFilterFormats, formats, nb_formats); + while (count--) + formats->formats[count] = fmts[count]; + + return formats; +} + AVFilterChannelLayouts *ff_make_formatu64_list(const uint64_t *fmts) { MAKE_FORMAT_LIST(AVFilterChannelLayouts, @@ -398,6 +407,37 @@ AVFilterFormats *ff_all_samplerates(void) return ret; } +AVFilterFormats *ff_jpeg_color_ranges(void) +{ + AVFilterFormats *ret = NULL; + + if (ff_add_format(&ret, AVCOL_RANGE_JPEG) < 0) + return NULL; + + return ret; +} + +AVFilterFormats *ff_mpeg_color_ranges(void) +{ + AVFilterFormats *ret = NULL; + + if (ff_add_format(&ret, AVCOL_RANGE_MPEG) < 0) + return NULL; + + return ret; +} + +AVFilterFormats *ff_all_color_ranges(void) +{ + AVFilterFormats *fmts = NULL; + int ret; + + ret = ff_add_format(&fmts, AVCOL_RANGE_UNSPECIFIED); + ret = ff_add_format(&fmts, AVCOL_RANGE_MPEG); + ret = ff_add_format(&fmts, AVCOL_RANGE_JPEG); + return fmts; +} + AVFilterChannelLayouts *ff_all_channel_layouts(void) { AVFilterChannelLayouts *ret = av_mallocz(sizeof(*ret)); @@ -560,6 +600,13 @@ int ff_set_common_samplerates(AVFilterContext *ctx, ff_formats_ref, ff_formats_unref, formats); } +int ff_set_common_color_ranges(AVFilterContext *ctx, + AVFilterFormats *color_ranges) +{ + SET_COMMON_FORMATS(ctx, color_ranges, in_color_ranges, out_color_ranges, + ff_formats_ref, ff_formats_unref, formats); +} + /** * A helper for query_formats() which sets all links to the same list of * formats. If there are no links hooked to this filter, the list of formats is @@ -590,6 +637,11 @@ static int default_query_formats_common(AVFilterContext *ctx, if (ret < 0) return ret; } + if (type == AVMEDIA_TYPE_VIDEO) { + ret = ff_set_common_color_ranges(ctx, ff_all_color_ranges()); + if (ret < 0) + return ret; + } return 0; } @@ -659,6 +711,17 @@ int ff_parse_sample_rate(int *ret, const char *arg, void *log_ctx) return 0; } +int ff_parse_color_range(int *ret, const char *arg, void *log_ctx) +{ + int color_range = av_color_range_from_name(arg); + if (color_range < 0) { + av_log(log_ctx, AV_LOG_ERROR, "Invalid color range '%s'\n", arg); + return AVERROR(EINVAL); + } + *ret = color_range; + return 0; +} + int ff_parse_channel_layout(int64_t *ret, int *nret, const char *arg, void *log_ctx) { diff --git a/libavfilter/formats.h b/libavfilter/formats.h index 870809b5a0..6706f76dce 100644 --- a/libavfilter/formats.h +++ b/libavfilter/formats.h @@ -166,6 +166,9 @@ av_warn_unused_result int ff_set_common_formats(AVFilterContext *ctx, AVFilterFormats *formats); av_warn_unused_result +int ff_set_common_color_ranges(AVFilterContext *ctx, AVFilterFormats *color_ranges); + +av_warn_unused_result int ff_add_channel_layout(AVFilterChannelLayouts **l, uint64_t channel_layout); /** @@ -205,6 +208,16 @@ av_warn_unused_result AVFilterFormats *ff_make_format_list(const int *fmts); /** + * Create a list of supported color ranges. This is intended for use in + * AVFilter->query_formats(). + * + * @param fmts list of color ranges, terminated by -1 + * @return the format list, with no existing references + */ +av_warn_unused_result +AVFilterFormats *ff_make_color_range_list(const int *color_ranges); + +/** * Add fmt to the list of media formats contained in *avff. * If *avff is NULL the function allocates the filter formats struct * and puts its pointer in *avff. @@ -222,6 +235,24 @@ av_warn_unused_result AVFilterFormats *ff_all_formats(enum AVMediaType type); /** + * Return a list of all color ranges supported by FFmpeg. + */ +av_warn_unused_result +AVFilterFormats *ff_all_color_ranges(void); + +/** + * Return a list of all mpeg color ranges supported by FFmpeg. + */ +av_warn_unused_result +AVFilterFormats *ff_mpeg_color_ranges(void); + +/** + * Return a list of all jpeg color ranges supported by FFmpeg. + */ +av_warn_unused_result +AVFilterFormats *ff_jpeg_color_ranges(void); + +/** * Construct a formats list containing all planar sample formats. */ av_warn_unused_result diff --git a/libavfilter/internal.h b/libavfilter/internal.h index f9679ed1d7..ca806d9443 100644 --- a/libavfilter/internal.h +++ b/libavfilter/internal.h @@ -191,6 +191,17 @@ av_warn_unused_result int ff_parse_sample_rate(int *ret, const char *arg, void *log_ctx); /** + * Parse a color range. + * + * @param ret unsigned enum pointer to where the value should be written + * @param arg string to parse + * @param log_ctx log context + * @return >= 0 in case of success, a negative AVERROR code on error + */ +av_warn_unused_result +int ff_parse_color_range(int *ret, const char *arg, void *log_ctx); + +/** * Parse a time base. * * @param ret unsigned AVRational pointer to where the value should be written diff --git a/libavfilter/vf_format.c b/libavfilter/vf_format.c index a57c99d797..2e67ae6512 100644 --- a/libavfilter/vf_format.c +++ b/libavfilter/vf_format.c @@ -38,18 +38,21 @@ typedef struct FormatContext { const AVClass *class; char *pix_fmts; + char *color_ranges_str; /** * pix_fmts parsed into AVPixelFormats and terminated with * AV_PIX_FMT_NONE */ enum AVPixelFormat *formats; + int *color_ranges; } FormatContext; static av_cold void uninit(AVFilterContext *ctx) { FormatContext *s = ctx->priv; av_freep(&s->formats); + av_freep(&s->color_ranges); } static av_cold int init(AVFilterContext *ctx) @@ -57,6 +60,7 @@ static av_cold int init(AVFilterContext *ctx) FormatContext *s = ctx->priv; char *cur, *sep; int nb_formats = 1; + int nb_color_ranges = 1; int i; int ret; @@ -91,6 +95,37 @@ static av_cold int init(AVFilterContext *ctx) } s->formats[nb_formats] = AV_PIX_FMT_NONE; + if (!s->color_ranges_str) { + av_log(ctx, AV_LOG_ERROR, "Empty output color range string.\n"); + return AVERROR(EINVAL); + } + + /* count the color ranges */ + cur = s->color_ranges_str; + while ((cur = strchr(cur, '|'))) { + nb_color_ranges++; + if (*cur) + cur++; + } + + s->color_ranges = av_malloc_array(nb_color_ranges + 1, sizeof(*s->color_ranges)); + if (!s->color_ranges) + return AVERROR(ENOMEM); + + /* parse the list of formats */ + cur = s->color_ranges_str; + for (i = 0; i < nb_color_ranges; i++) { + sep = strchr(cur, '|'); + if (sep) + *sep++ = 0; + + if ((ret = ff_parse_color_range(&s->color_ranges[i], cur, ctx)) < 0) + return ret; + + cur = sep; + } + s->color_ranges[nb_color_ranges] = -1; + if (!strcmp(ctx->filter->name, "noformat")) { const AVPixFmtDescriptor *desc = NULL; enum AVPixelFormat *formats_allowed; @@ -130,17 +165,26 @@ static int query_formats(AVFilterContext *ctx) { FormatContext *s = ctx->priv; AVFilterFormats *formats = ff_make_format_list(s->formats); + AVFilterFormats *color_ranges = ff_make_color_range_list(s->color_ranges); + int ret; if (!formats) return AVERROR(ENOMEM); - return ff_set_common_formats(ctx, formats); + ret = ff_set_common_formats(ctx, formats); + if (ret < 0) + return ret; + + if (!color_ranges) + return AVERROR(ENOMEM); + return ff_set_common_color_ranges(ctx, color_ranges); } #define OFFSET(x) offsetof(FormatContext, x) static const AVOption options[] = { { "pix_fmts", "A '|'-separated list of pixel formats", OFFSET(pix_fmts), AV_OPT_TYPE_STRING, .flags = AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_FILTERING_PARAM }, + { "color_ranges", "A '|'-separated list of color ranges", OFFSET(color_ranges_str), AV_OPT_TYPE_STRING, {.str = "unknown"}, .flags = AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_FILTERING_PARAM }, { NULL } }; diff --git a/libavfilter/vf_noise.c b/libavfilter/vf_noise.c index abdf04708b..c7af77b669 100644 --- a/libavfilter/vf_noise.c +++ b/libavfilter/vf_noise.c @@ -142,7 +142,11 @@ static int query_formats(AVFilterContext *ctx) return ret; } - return ff_set_common_formats(ctx, formats); + ret = ff_set_common_formats(ctx, formats); + if (ret < 0) + return ret; + + return ff_set_common_color_ranges(ctx, ff_all_color_ranges()); } static int config_input(AVFilterLink *inlink) diff --git a/libavfilter/vf_scale.c b/libavfilter/vf_scale.c index 802f841cc3..af5edd5146 100644 --- a/libavfilter/vf_scale.c +++ b/libavfilter/vf_scale.c @@ -157,7 +157,9 @@ static av_cold void uninit(AVFilterContext *ctx) static int query_formats(AVFilterContext *ctx) { + ScaleContext *scale = ctx->priv; AVFilterFormats *formats; + AVFilterFormats *color_ranges; enum AVPixelFormat pix_fmt; int ret; @@ -174,10 +176,14 @@ static int query_formats(AVFilterContext *ctx) } if ((ret = ff_formats_ref(formats, &ctx->inputs[0]->out_formats)) < 0) return ret; + color_ranges = ff_all_color_ranges(); + if ((ret = ff_formats_ref(color_ranges, &ctx->inputs[0]->out_color_ranges)) < 0) + return ret; } if (ctx->outputs[0]) { const AVPixFmtDescriptor *desc = NULL; formats = NULL; + color_ranges = NULL; while ((desc = av_pix_fmt_desc_next(desc))) { pix_fmt = av_pix_fmt_desc_get_id(desc); if ((sws_isSupportedOutput(pix_fmt) || pix_fmt == AV_PIX_FMT_PAL8 || @@ -188,6 +194,10 @@ static int query_formats(AVFilterContext *ctx) } if ((ret = ff_formats_ref(formats, &ctx->outputs[0]->in_formats)) < 0) return ret; + + color_ranges = ff_all_color_ranges(); + if ((ret = ff_formats_ref(color_ranges, &ctx->outputs[0]->in_color_ranges)) < 0) + return ret; } return 0; @@ -276,6 +286,7 @@ static int config_props(AVFilterLink *outlink) scale->isws[0] = scale->isws[1] = scale->sws = NULL; if (inlink0->w == outlink->w && inlink0->h == outlink->h && + inlink0->color_range == outlink->color_range && !scale->out_color_matrix && scale->in_range == scale->out_range && inlink0->format == outlink->format) @@ -348,11 +359,11 @@ static int config_props(AVFilterLink *outlink) } else outlink->sample_aspect_ratio = inlink0->sample_aspect_ratio; - av_log(ctx, AV_LOG_VERBOSE, "w:%d h:%d fmt:%s sar:%d/%d -> w:%d h:%d fmt:%s sar:%d/%d flags:0x%0x\n", + av_log(ctx, AV_LOG_VERBOSE, "w:%d h:%d fmt:%s sar:%d/%d cr:%d -> w:%d h:%d fmt:%s sar:%d/%d cr:%d flags:0x%0x\n", inlink ->w, inlink ->h, av_get_pix_fmt_name( inlink->format), - inlink->sample_aspect_ratio.num, inlink->sample_aspect_ratio.den, + inlink->sample_aspect_ratio.num, inlink->sample_aspect_ratio.den, inlink->color_range, outlink->w, outlink->h, av_get_pix_fmt_name(outlink->format), - outlink->sample_aspect_ratio.num, outlink->sample_aspect_ratio.den, + outlink->sample_aspect_ratio.num, outlink->sample_aspect_ratio.den, outlink->color_range, scale->flags); return 0; diff --git a/libavfilter/vsrc_testsrc.c b/libavfilter/vsrc_testsrc.c index a790974d14..fddd7f55ee 100644 --- a/libavfilter/vsrc_testsrc.c +++ b/libavfilter/vsrc_testsrc.c @@ -207,7 +207,13 @@ static av_cold int color_init(AVFilterContext *ctx) static int color_query_formats(AVFilterContext *ctx) { - return ff_set_common_formats(ctx, ff_draw_supported_pixel_formats(0)); + int ret; + + ret = ff_set_common_formats(ctx, ff_draw_supported_pixel_formats(0)); + if (ret < 0) + return ret; + + return ff_set_common_color_ranges(ctx, ff_mpeg_color_ranges()); } static int color_config_props(AVFilterLink *inlink) @@ -653,11 +659,16 @@ static int test_query_formats(AVFilterContext *ctx) static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_RGB24, AV_PIX_FMT_NONE }; + int ret; AVFilterFormats *fmts_list = ff_make_format_list(pix_fmts); if (!fmts_list) return AVERROR(ENOMEM); - return ff_set_common_formats(ctx, fmts_list); + ret = ff_set_common_formats(ctx, fmts_list); + if (ret < 0) + return ret; + + return ff_set_common_color_ranges(ctx, ff_all_color_ranges()); } static const AVFilterPad avfilter_vsrc_testsrc_outputs[] = { diff --git a/tests/fate/filter-video.mak b/tests/fate/filter-video.mak index c19f301ff8..24c96ffced 100644 --- a/tests/fate/filter-video.mak +++ b/tests/fate/filter-video.mak @@ -1,5 +1,5 @@ FATE_FILTER_SAMPLES-$(call ALLYES, SMJPEG_DEMUXER MJPEG_DECODER PERMS_FILTER OWDENOISE_FILTER) += fate-filter-owdenoise-sample -fate-filter-owdenoise-sample: CMD = ffmpeg -idct simple -i $(TARGET_SAMPLES)/smjpeg/scenwin.mjpg -vf "trim=duration=0.5,perms=random,owdenoise=10:20:20:enable=not(between(t\,0.2\,1.2))" -an -f rawvideo - +fate-filter-owdenoise-sample: CMD = ffmpeg -idct simple -i $(TARGET_SAMPLES)/smjpeg/scenwin.mjpg -vf "trim=duration=0.5,perms=random,owdenoise=10:20:20:enable=not(between(t\,0.2\,1.2)),format=yuv420p:tv" -an -f rawvideo - fate-filter-owdenoise-sample: REF = $(TARGET_SAMPLES)/filter-reference/owdenoise-scenwin.raw fate-filter-owdenoise-sample: CMP_TARGET = 1 fate-filter-owdenoise-sample: FUZZ = 3539 diff --git a/tests/fate/pixlet.mak b/tests/fate/pixlet.mak index c720f32616..e42c06d194 100644 --- a/tests/fate/pixlet.mak +++ b/tests/fate/pixlet.mak @@ -1,5 +1,5 @@ FATE_PIXLET += fate-pixlet-rgb -fate-pixlet-rgb: CMD = framecrc -i $(TARGET_SAMPLES)/pixlet/pixlet_rgb.mov -an -pix_fmt yuv420p16le +fate-pixlet-rgb: CMD = framecrc -i $(TARGET_SAMPLES)/pixlet/pixlet_rgb.mov -an -vf format=yuv420p16le:pc FATE_SAMPLES_AVCONV-$(call DEMDEC, MOV, PIXLET) += $(FATE_PIXLET) fate-pixlet: $(FATE_PIXLET) -- 2.11.0
Add .color_range field to encoder's AVCodec struct. Signed-off-by: Paul B Mahol <onemda@gmail.com> --- libavcodec/proresenc_anatoliy.c | 2 ++ libavcodec/proresenc_kostya.c | 1 + 2 files changed, 3 insertions(+) diff --git a/libavcodec/proresenc_anatoliy.c b/libavcodec/proresenc_anatoliy.c index 0516066163..38e7839fe3 100644 --- a/libavcodec/proresenc_anatoliy.c +++ b/libavcodec/proresenc_anatoliy.c @@ -611,6 +611,7 @@ AVCodec ff_prores_aw_encoder = { .close = prores_encode_close, .encode2 = prores_encode_frame, .pix_fmts = (const enum AVPixelFormat[]){AV_PIX_FMT_YUV422P10, AV_PIX_FMT_NONE}, + .color_ranges = (const enum AVColorRange[]){AVCOL_RANGE_MPEG, -1}, .capabilities = AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_INTRA_ONLY, .profiles = profiles }; @@ -625,6 +626,7 @@ AVCodec ff_prores_encoder = { .close = prores_encode_close, .encode2 = prores_encode_frame, .pix_fmts = (const enum AVPixelFormat[]){AV_PIX_FMT_YUV422P10, AV_PIX_FMT_NONE}, + .color_ranges = (const enum AVColorRange[]){AVCOL_RANGE_MPEG, -1}, .capabilities = AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_INTRA_ONLY, .profiles = profiles }; diff --git a/libavcodec/proresenc_kostya.c b/libavcodec/proresenc_kostya.c index 149dc81b3c..1ce1737dbd 100644 --- a/libavcodec/proresenc_kostya.c +++ b/libavcodec/proresenc_kostya.c @@ -1367,5 +1367,6 @@ AVCodec ff_prores_ks_encoder = { AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUVA444P10, AV_PIX_FMT_NONE }, + .color_ranges = (const enum AVColorRange[]){ AVCOL_RANGE_MPEG, -1 }, .priv_class = &proresenc_class, }; -- 2.11.0
lavf-mkv changes only because of metadata. Signed-off-by: Paul B Mahol <onemda@gmail.com> --- libavcodec/mpeg4videoenc.c | 1 + libavcodec/mpegvideo_enc.c | 4 ++++ tests/ref/lavf/mkv | 8 ++++---- tests/ref/seek/lavf-mkv | 44 ++++++++++++++++++++++---------------------- 4 files changed, 31 insertions(+), 26 deletions(-) diff --git a/libavcodec/mpeg4videoenc.c b/libavcodec/mpeg4videoenc.c index 494452c938..97d6069b6d 100644 --- a/libavcodec/mpeg4videoenc.c +++ b/libavcodec/mpeg4videoenc.c @@ -1396,6 +1396,7 @@ AVCodec ff_mpeg4_encoder = { .encode2 = ff_mpv_encode_picture, .close = ff_mpv_encode_end, .pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE }, + .color_ranges = (const enum AVColorRange[]) { AVCOL_RANGE_MPEG, -1 }, .capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_SLICE_THREADS, .priv_class = &mpeg4enc_class, }; diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c index f1f4989231..399b8dece1 100644 --- a/libavcodec/mpegvideo_enc.c +++ b/libavcodec/mpegvideo_enc.c @@ -4864,6 +4864,7 @@ AVCodec ff_h263p_encoder = { .close = ff_mpv_encode_end, .capabilities = AV_CODEC_CAP_SLICE_THREADS, .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE }, + .color_ranges = (const enum AVColorRange[]){ AVCOL_RANGE_MPEG, -1 }, .priv_class = &h263p_class, }; @@ -4884,6 +4885,7 @@ AVCodec ff_msmpeg4v2_encoder = { .encode2 = ff_mpv_encode_picture, .close = ff_mpv_encode_end, .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE }, + .color_ranges = (const enum AVColorRange[]){ AVCOL_RANGE_MPEG, -1 }, .priv_class = &msmpeg4v2_class, }; @@ -4904,6 +4906,7 @@ AVCodec ff_msmpeg4v3_encoder = { .encode2 = ff_mpv_encode_picture, .close = ff_mpv_encode_end, .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE }, + .color_ranges = (const enum AVColorRange[]){ AVCOL_RANGE_MPEG, -1 }, .priv_class = &msmpeg4v3_class, }; @@ -4924,5 +4927,6 @@ AVCodec ff_wmv1_encoder = { .encode2 = ff_mpv_encode_picture, .close = ff_mpv_encode_end, .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE }, + .color_ranges = (const enum AVColorRange[]){ AVCOL_RANGE_MPEG, -1 }, .priv_class = &wmv1_class, }; diff --git a/tests/ref/lavf/mkv b/tests/ref/lavf/mkv index 0083033958..bd0302b14f 100644 --- a/tests/ref/lavf/mkv +++ b/tests/ref/lavf/mkv @@ -1,6 +1,6 @@ -7c8697c324e8ad79c5ea14364a6c39b8 *./tests/data/lavf/lavf.mkv -472759 ./tests/data/lavf/lavf.mkv +80092ba5b6833704dd04bd9f7f75366d *./tests/data/lavf/lavf.mkv +472766 ./tests/data/lavf/lavf.mkv ./tests/data/lavf/lavf.mkv CRC=0xec6c3c68 -9767a3b526d7e56d7400164cb888990c *./tests/data/lavf/lavf.mkv -320603 ./tests/data/lavf/lavf.mkv +b919b159a2dd7c9c7cd45cc36f204754 *./tests/data/lavf/lavf.mkv +320610 ./tests/data/lavf/lavf.mkv ./tests/data/lavf/lavf.mkv CRC=0xec6c3c68 diff --git a/tests/ref/seek/lavf-mkv b/tests/ref/seek/lavf-mkv index cea34e99ac..368e86cd14 100644 --- a/tests/ref/seek/lavf-mkv +++ b/tests/ref/seek/lavf-mkv @@ -1,48 +1,48 @@ -ret: 0 st: 1 flags:1 dts: 0.000000 pts: 0.000000 pos: 834 size: 208 +ret: 0 st: 1 flags:1 dts: 0.000000 pts: 0.000000 pos: 841 size: 208 ret: 0 st:-1 flags:0 ts:-1.000000 -ret: 0 st: 0 flags:1 dts: 0.011000 pts: 0.011000 pos: 1050 size: 27837 +ret: 0 st: 0 flags:1 dts: 0.011000 pts: 0.011000 pos: 1057 size: 27837 ret: 0 st:-1 flags:1 ts: 1.894167 -ret: 0 st: 0 flags:1 dts: 0.971000 pts: 0.971000 pos: 292476 size: 27834 +ret: 0 st: 0 flags:1 dts: 0.971000 pts: 0.971000 pos: 292483 size: 27834 ret: 0 st: 0 flags:0 ts: 0.788000 -ret: 0 st: 0 flags:1 dts: 0.971000 pts: 0.971000 pos: 292476 size: 27834 +ret: 0 st: 0 flags:1 dts: 0.971000 pts: 0.971000 pos: 292483 size: 27834 ret: 0 st: 0 flags:1 ts:-0.317000 -ret: 0 st: 0 flags:1 dts: 0.011000 pts: 0.011000 pos: 1050 size: 27837 +ret: 0 st: 0 flags:1 dts: 0.011000 pts: 0.011000 pos: 1057 size: 27837 ret:-1 st: 1 flags:0 ts: 2.577000 ret: 0 st: 1 flags:1 ts: 1.471000 -ret: 0 st: 1 flags:1 dts: 0.993000 pts: 0.993000 pos: 320317 size: 209 +ret: 0 st: 1 flags:1 dts: 0.993000 pts: 0.993000 pos: 320324 size: 209 ret: 0 st:-1 flags:0 ts: 0.365002 -ret: 0 st: 0 flags:1 dts: 0.491000 pts: 0.491000 pos: 147023 size: 27925 +ret: 0 st: 0 flags:1 dts: 0.491000 pts: 0.491000 pos: 147030 size: 27925 ret: 0 st:-1 flags:1 ts:-0.740831 -ret: 0 st: 0 flags:1 dts: 0.011000 pts: 0.011000 pos: 1050 size: 27837 +ret: 0 st: 0 flags:1 dts: 0.011000 pts: 0.011000 pos: 1057 size: 27837 ret:-1 st: 0 flags:0 ts: 2.153000 ret: 0 st: 0 flags:1 ts: 1.048000 -ret: 0 st: 0 flags:1 dts: 0.971000 pts: 0.971000 pos: 292476 size: 27834 +ret: 0 st: 0 flags:1 dts: 0.971000 pts: 0.971000 pos: 292483 size: 27834 ret: 0 st: 1 flags:0 ts:-0.058000 -ret: 0 st: 1 flags:1 dts: 0.000000 pts: 0.000000 pos: 834 size: 208 +ret: 0 st: 1 flags:1 dts: 0.000000 pts: 0.000000 pos: 841 size: 208 ret: 0 st: 1 flags:1 ts: 2.836000 -ret: 0 st: 1 flags:1 dts: 0.993000 pts: 0.993000 pos: 320317 size: 209 +ret: 0 st: 1 flags:1 dts: 0.993000 pts: 0.993000 pos: 320324 size: 209 ret:-1 st:-1 flags:0 ts: 1.730004 ret: 0 st:-1 flags:1 ts: 0.624171 -ret: 0 st: 0 flags:1 dts: 0.491000 pts: 0.491000 pos: 147023 size: 27925 +ret: 0 st: 0 flags:1 dts: 0.491000 pts: 0.491000 pos: 147030 size: 27925 ret: 0 st: 0 flags:0 ts:-0.482000 -ret: 0 st: 0 flags:1 dts: 0.011000 pts: 0.011000 pos: 1050 size: 27837 +ret: 0 st: 0 flags:1 dts: 0.011000 pts: 0.011000 pos: 1057 size: 27837 ret: 0 st: 0 flags:1 ts: 2.413000 -ret: 0 st: 0 flags:1 dts: 0.971000 pts: 0.971000 pos: 292476 size: 27834 +ret: 0 st: 0 flags:1 dts: 0.971000 pts: 0.971000 pos: 292483 size: 27834 ret:-1 st: 1 flags:0 ts: 1.307000 ret: 0 st: 1 flags:1 ts: 0.201000 -ret: 0 st: 1 flags:1 dts: 0.000000 pts: 0.000000 pos: 834 size: 208 +ret: 0 st: 1 flags:1 dts: 0.000000 pts: 0.000000 pos: 841 size: 208 ret: 0 st:-1 flags:0 ts:-0.904994 -ret: 0 st: 0 flags:1 dts: 0.011000 pts: 0.011000 pos: 1050 size: 27837 +ret: 0 st: 0 flags:1 dts: 0.011000 pts: 0.011000 pos: 1057 size: 27837 ret: 0 st:-1 flags:1 ts: 1.989173 -ret: 0 st: 0 flags:1 dts: 0.971000 pts: 0.971000 pos: 292476 size: 27834 +ret: 0 st: 0 flags:1 dts: 0.971000 pts: 0.971000 pos: 292483 size: 27834 ret: 0 st: 0 flags:0 ts: 0.883000 -ret: 0 st: 0 flags:1 dts: 0.971000 pts: 0.971000 pos: 292476 size: 27834 +ret: 0 st: 0 flags:1 dts: 0.971000 pts: 0.971000 pos: 292483 size: 27834 ret: 0 st: 0 flags:1 ts:-0.222000 -ret: 0 st: 0 flags:1 dts: 0.011000 pts: 0.011000 pos: 1050 size: 27837 +ret: 0 st: 0 flags:1 dts: 0.011000 pts: 0.011000 pos: 1057 size: 27837 ret:-1 st: 1 flags:0 ts: 2.672000 ret: 0 st: 1 flags:1 ts: 1.566000 -ret: 0 st: 1 flags:1 dts: 0.993000 pts: 0.993000 pos: 320317 size: 209 +ret: 0 st: 1 flags:1 dts: 0.993000 pts: 0.993000 pos: 320324 size: 209 ret: 0 st:-1 flags:0 ts: 0.460008 -ret: 0 st: 0 flags:1 dts: 0.491000 pts: 0.491000 pos: 147023 size: 27925 +ret: 0 st: 0 flags:1 dts: 0.491000 pts: 0.491000 pos: 147030 size: 27925 ret: 0 st:-1 flags:1 ts:-0.645825 -ret: 0 st: 0 flags:1 dts: 0.011000 pts: 0.011000 pos: 1050 size: 27837 +ret: 0 st: 0 flags:1 dts: 0.011000 pts: 0.011000 pos: 1057 size: 27837 -- 2.11.0
Signed-off-by: Paul B Mahol <onemda@gmail.com> --- libavcodec/mjpegdec.c | 18 +++++++++--------- libavcodec/tdsc.c | 2 +- tests/fate/vcodec.mak | 4 ++-- tests/ref/fate/api-mjpeg-codec-param | 4 ++-- tests/ref/fate/exif-image-embedded | 2 +- tests/ref/fate/exif-image-jpg | 2 +- 6 files changed, 16 insertions(+), 16 deletions(-) diff --git a/libavcodec/mjpegdec.c b/libavcodec/mjpegdec.c index e005dd0cd3..55676d8576 100644 --- a/libavcodec/mjpegdec.c +++ b/libavcodec/mjpegdec.c @@ -467,7 +467,7 @@ int ff_mjpeg_decode_sof(MJpegDecodeContext *s) if (s->component_id[0] == 'Q' && s->component_id[1] == 'F' && s->component_id[2] == 'A') { s->avctx->pix_fmt = s->bits <= 8 ? AV_PIX_FMT_GBRP : AV_PIX_FMT_GBRP16; } else { - if (s->bits <= 8) s->avctx->pix_fmt = s->cs_itu601 ? AV_PIX_FMT_YUV444P : AV_PIX_FMT_YUVJ444P; + if (s->bits <= 8) s->avctx->pix_fmt = AV_PIX_FMT_YUV444P; else s->avctx->pix_fmt = AV_PIX_FMT_YUV444P16; s->avctx->color_range = s->cs_itu601 ? AVCOL_RANGE_MPEG : AVCOL_RANGE_JPEG; } @@ -509,7 +509,7 @@ int ff_mjpeg_decode_sof(MJpegDecodeContext *s) case 0x22122100: case 0x21211100: case 0x22211200: - if (s->bits <= 8) s->avctx->pix_fmt = s->cs_itu601 ? AV_PIX_FMT_YUV444P : AV_PIX_FMT_YUVJ444P; + if (s->bits <= 8) s->avctx->pix_fmt = AV_PIX_FMT_YUV444P; else goto unk_pixfmt; s->avctx->color_range = s->cs_itu601 ? AVCOL_RANGE_MPEG : AVCOL_RANGE_JPEG; @@ -517,7 +517,7 @@ int ff_mjpeg_decode_sof(MJpegDecodeContext *s) case 0x22221100: case 0x22112200: case 0x11222200: - if (s->bits <= 8) s->avctx->pix_fmt = s->cs_itu601 ? AV_PIX_FMT_YUV444P : AV_PIX_FMT_YUVJ444P; + if (s->bits <= 8) s->avctx->pix_fmt = AV_PIX_FMT_YUV444P; else goto unk_pixfmt; s->avctx->color_range = s->cs_itu601 ? AVCOL_RANGE_MPEG : AVCOL_RANGE_JPEG; @@ -549,7 +549,7 @@ int ff_mjpeg_decode_sof(MJpegDecodeContext *s) } else { if (pix_fmt_id == 0x14111100) s->upscale_v[1] = s->upscale_v[2] = 1; - if (s->bits <= 8) s->avctx->pix_fmt = s->cs_itu601 ? AV_PIX_FMT_YUV440P : AV_PIX_FMT_YUVJ440P; + if (s->bits <= 8) s->avctx->pix_fmt = AV_PIX_FMT_YUV440P; else goto unk_pixfmt; s->avctx->color_range = s->cs_itu601 ? AVCOL_RANGE_MPEG : AVCOL_RANGE_JPEG; @@ -562,7 +562,7 @@ int ff_mjpeg_decode_sof(MJpegDecodeContext *s) goto unk_pixfmt; s->upscale_h[0] = s->upscale_h[1] = 1; } else { - if (s->bits <= 8) s->avctx->pix_fmt = s->cs_itu601 ? AV_PIX_FMT_YUV422P : AV_PIX_FMT_YUVJ422P; + if (s->bits <= 8) s->avctx->pix_fmt = AV_PIX_FMT_YUV422P; else s->avctx->pix_fmt = AV_PIX_FMT_YUV422P16; s->avctx->color_range = s->cs_itu601 ? AVCOL_RANGE_MPEG : AVCOL_RANGE_JPEG; } @@ -570,13 +570,13 @@ int ff_mjpeg_decode_sof(MJpegDecodeContext *s) case 0x31111100: if (s->bits > 8) goto unk_pixfmt; - s->avctx->pix_fmt = s->cs_itu601 ? AV_PIX_FMT_YUV444P : AV_PIX_FMT_YUVJ444P; + s->avctx->pix_fmt = AV_PIX_FMT_YUV444P; s->avctx->color_range = s->cs_itu601 ? AVCOL_RANGE_MPEG : AVCOL_RANGE_JPEG; s->upscale_h[1] = s->upscale_h[2] = 2; break; case 0x22121100: case 0x22111200: - if (s->bits <= 8) s->avctx->pix_fmt = s->cs_itu601 ? AV_PIX_FMT_YUV422P : AV_PIX_FMT_YUVJ422P; + if (s->bits <= 8) s->avctx->pix_fmt = AV_PIX_FMT_YUV422P; else goto unk_pixfmt; s->avctx->color_range = s->cs_itu601 ? AVCOL_RANGE_MPEG : AVCOL_RANGE_JPEG; @@ -584,7 +584,7 @@ int ff_mjpeg_decode_sof(MJpegDecodeContext *s) case 0x22111100: case 0x42111100: case 0x24111100: - if (s->bits <= 8) s->avctx->pix_fmt = s->cs_itu601 ? AV_PIX_FMT_YUV420P : AV_PIX_FMT_YUVJ420P; + if (s->bits <= 8) s->avctx->pix_fmt = AV_PIX_FMT_YUV420P; else s->avctx->pix_fmt = AV_PIX_FMT_YUV420P16; s->avctx->color_range = s->cs_itu601 ? AVCOL_RANGE_MPEG : AVCOL_RANGE_JPEG; if (pix_fmt_id == 0x42111100) { @@ -598,7 +598,7 @@ int ff_mjpeg_decode_sof(MJpegDecodeContext *s) } break; case 0x41111100: - if (s->bits <= 8) s->avctx->pix_fmt = s->cs_itu601 ? AV_PIX_FMT_YUV411P : AV_PIX_FMT_YUVJ411P; + if (s->bits <= 8) s->avctx->pix_fmt = AV_PIX_FMT_YUV411P; else goto unk_pixfmt; s->avctx->color_range = s->cs_itu601 ? AVCOL_RANGE_MPEG : AVCOL_RANGE_JPEG; diff --git a/libavcodec/tdsc.c b/libavcodec/tdsc.c index 4182404cf0..af92ef6ccc 100644 --- a/libavcodec/tdsc.c +++ b/libavcodec/tdsc.c @@ -357,7 +357,7 @@ static int tdsc_decode_jpeg_tile(AVCodecContext *avctx, int tile_size, } ret = avcodec_receive_frame(ctx->jpeg_avctx, ctx->jpgframe); - if (ret < 0 || ctx->jpgframe->format != AV_PIX_FMT_YUVJ420P) { + if (ret < 0 || ctx->jpgframe->format != AV_PIX_FMT_YUV420P) { av_log(avctx, AV_LOG_ERROR, "JPEG decoding error (%d).\n", ret); diff --git a/tests/fate/vcodec.mak b/tests/fate/vcodec.mak index bbcf25d72a..72fc46e83b 100644 --- a/tests/fate/vcodec.mak +++ b/tests/fate/vcodec.mak @@ -4,8 +4,8 @@ fate-vsynth_lena-%: SRC = tests/data/vsynth_lena.yuv fate-vsynth3-%: SRC = tests/data/vsynth3.yuv fate-vsynth%: CODEC = $(word 3, $(subst -, ,$(@))) fate-vsynth%: FMT = avi -fate-vsynth%: CMD = enc_dec "rawvideo -s 352x288 -pix_fmt yuv420p $(RAWDECOPTS)" $(SRC) $(FMT) "-c $(CODEC) $(ENCOPTS)" rawvideo "-s 352x288 -pix_fmt yuv420p -vsync 0 $(DECOPTS)" -keep "$(DECINOPTS)" -fate-vsynth3-%: CMD = enc_dec "rawvideo -s $(FATEW)x$(FATEH) -pix_fmt yuv420p $(RAWDECOPTS)" $(SRC) $(FMT) "-c $(CODEC) $(ENCOPTS)" rawvideo "-s $(FATEW)x$(FATEH) -pix_fmt yuv420p -vsync 0 $(DECOPTS)" -keep "$(DECINOPTS)" +fate-vsynth%: CMD = enc_dec "rawvideo -s 352x288 -color_range tv -pix_fmt yuv420p $(RAWDECOPTS)" $(SRC) $(FMT) "-c $(CODEC) $(ENCOPTS)" rawvideo "-s 352x288 -pix_fmt yuv420p -color_range tv -vsync 0 $(DECOPTS)" -keep "$(DECINOPTS)" +fate-vsynth3-%: CMD = enc_dec "rawvideo -s $(FATEW)x$(FATEH) -color_range tv -pix_fmt yuv420p $(RAWDECOPTS)" $(SRC) $(FMT) "-c $(CODEC) $(ENCOPTS)" rawvideo "-s $(FATEW)x$(FATEH) -pix_fmt yuv420p -color_range tv -vsync 0 $(DECOPTS)" -keep "$(DECINOPTS)" fate-vsynth%: CMP_UNIT = 1 fate-vsynth%: REF = $(SRC_PATH)/tests/ref/vsynth/$(@:fate-%=%) diff --git a/tests/ref/fate/api-mjpeg-codec-param b/tests/ref/fate/api-mjpeg-codec-param index 178b7c73cb..0ef9594b40 100644 --- a/tests/ref/fate/api-mjpeg-codec-param +++ b/tests/ref/fate/api-mjpeg-codec-param @@ -133,7 +133,7 @@ stream=0, decode=0 field_order=0 dump_separator= codec_whitelist= - pixel_format=yuvj422p + pixel_format=yuv422p video_size=400x225 max_pixels=2147483647 hwaccel_flags=0x00000001 @@ -272,7 +272,7 @@ stream=0, decode=1 field_order=0 dump_separator= codec_whitelist= - pixel_format=yuvj422p + pixel_format=yuv422p video_size=400x225 max_pixels=2147483647 hwaccel_flags=0x00000001 diff --git a/tests/ref/fate/exif-image-embedded b/tests/ref/fate/exif-image-embedded index 306ae0854b..582f09dfb6 100644 --- a/tests/ref/fate/exif-image-embedded +++ b/tests/ref/fate/exif-image-embedded @@ -14,7 +14,7 @@ pkt_pos=N/A pkt_size=15760 width=263 height=263 -pix_fmt=yuvj420p +pix_fmt=yuv420p sample_aspect_ratio=1:1 pict_type=I coded_picture_number=0 diff --git a/tests/ref/fate/exif-image-jpg b/tests/ref/fate/exif-image-jpg index b266501191..6b3dbb3319 100644 --- a/tests/ref/fate/exif-image-jpg +++ b/tests/ref/fate/exif-image-jpg @@ -14,7 +14,7 @@ pkt_pos=N/A pkt_size=46095 width=400 height=225 -pix_fmt=yuvj422p +pix_fmt=yuv422p sample_aspect_ratio=1:1 pict_type=I coded_picture_number=0 -- 2.11.0
Signed-off-by: Paul B Mahol <onemda@gmail.com> --- libavcodec/mjpegdec.c | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/libavcodec/mjpegdec.c b/libavcodec/mjpegdec.c index 55676d8576..160bbfd34b 100644 --- a/libavcodec/mjpegdec.c +++ b/libavcodec/mjpegdec.c @@ -2415,12 +2415,9 @@ the_end: if (AV_RB32(s->upscale_h)) { int p; - av_assert0(avctx->pix_fmt == AV_PIX_FMT_YUVJ444P || - avctx->pix_fmt == AV_PIX_FMT_YUV444P || - avctx->pix_fmt == AV_PIX_FMT_YUVJ440P || + av_assert0(avctx->pix_fmt == AV_PIX_FMT_YUV444P || avctx->pix_fmt == AV_PIX_FMT_YUV440P || avctx->pix_fmt == AV_PIX_FMT_YUVA444P || - avctx->pix_fmt == AV_PIX_FMT_YUVJ420P || avctx->pix_fmt == AV_PIX_FMT_YUV420P || avctx->pix_fmt == AV_PIX_FMT_YUV420P16|| avctx->pix_fmt == AV_PIX_FMT_YUVA420P || @@ -2476,14 +2473,10 @@ the_end: } if (AV_RB32(s->upscale_v)) { int p; - av_assert0(avctx->pix_fmt == AV_PIX_FMT_YUVJ444P || - avctx->pix_fmt == AV_PIX_FMT_YUV444P || - avctx->pix_fmt == AV_PIX_FMT_YUVJ422P || + av_assert0(avctx->pix_fmt == AV_PIX_FMT_YUV444P || avctx->pix_fmt == AV_PIX_FMT_YUV422P || - avctx->pix_fmt == AV_PIX_FMT_YUVJ420P || avctx->pix_fmt == AV_PIX_FMT_YUV420P || avctx->pix_fmt == AV_PIX_FMT_YUV440P || - avctx->pix_fmt == AV_PIX_FMT_YUVJ440P || avctx->pix_fmt == AV_PIX_FMT_YUVA444P || avctx->pix_fmt == AV_PIX_FMT_YUVA420P || avctx->pix_fmt == AV_PIX_FMT_YUVA420P16|| -- 2.11.0
Signed-off-by: Paul B Mahol <onemda@gmail.com> --- libavcodec/mjpegenc.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libavcodec/mjpegenc.c b/libavcodec/mjpegenc.c index d2fcb8e191..4824406bcb 100644 --- a/libavcodec/mjpegenc.c +++ b/libavcodec/mjpegenc.c @@ -415,8 +415,10 @@ AVCodec ff_mjpeg_encoder = { .close = ff_mpv_encode_end, .capabilities = AV_CODEC_CAP_SLICE_THREADS | AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_INTRA_ONLY, .pix_fmts = (const enum AVPixelFormat[]) { + AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_NONE }, + .color_ranges = (const enum AVColorRange[]){AVCOL_RANGE_JPEG, -1}, .priv_class = &mjpeg_class, }; #endif @@ -439,8 +441,9 @@ AVCodec ff_amv_encoder = { .encode2 = amv_encode_picture, .close = ff_mpv_encode_end, .pix_fmts = (const enum AVPixelFormat[]) { - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_NONE + AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_NONE }, + .color_ranges = (const enum AVColorRange[]){AVCOL_RANGE_JPEG, -1}, .priv_class = &amv_class, }; #endif -- 2.11.0
Signed-off-by: Paul B Mahol <onemda@gmail.com> --- libavcodec/svq3.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavcodec/svq3.c b/libavcodec/svq3.c index a937b2f951..4c6d838a15 100644 --- a/libavcodec/svq3.c +++ b/libavcodec/svq3.c @@ -1158,7 +1158,7 @@ static av_cold int svq3_decode_init(AVCodecContext *avctx) ff_hpeldsp_init(&s->hdsp, avctx->flags); ff_tpeldsp_init(&s->tdsp); - avctx->pix_fmt = AV_PIX_FMT_YUVJ420P; + avctx->pix_fmt = AV_PIX_FMT_YUV420P; avctx->color_range = AVCOL_RANGE_JPEG; s->avctx = avctx; @@ -1652,6 +1652,6 @@ AVCodec ff_svq3_decoder = { .capabilities = AV_CODEC_CAP_DRAW_HORIZ_BAND | AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY, - .pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUVJ420P, + .pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE}, }; -- 2.11.0
Signed-off-by: Paul B Mahol <onemda@gmail.com> --- libavcodec/fraps.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/fraps.c b/libavcodec/fraps.c index 7a7673f73f..b2025b5d3f 100644 --- a/libavcodec/fraps.c +++ b/libavcodec/fraps.c @@ -218,7 +218,7 @@ static int decode_frame(AVCodecContext *avctx, f->pict_type = AV_PICTURE_TYPE_I; f->key_frame = 1; - avctx->pix_fmt = version & 1 ? is_pal ? AV_PIX_FMT_PAL8 : AV_PIX_FMT_BGR24 : AV_PIX_FMT_YUVJ420P; + avctx->pix_fmt = version & 1 ? is_pal ? AV_PIX_FMT_PAL8 : AV_PIX_FMT_BGR24 : AV_PIX_FMT_YUV420P; avctx->color_range = version & 1 ? AVCOL_RANGE_UNSPECIFIED : AVCOL_RANGE_JPEG; avctx->colorspace = version & 1 ? AVCOL_SPC_UNSPECIFIED : AVCOL_SPC_BT709; -- 2.11.0
Signed-off-by: Paul B Mahol <onemda@gmail.com> --- libavcodec/roqvideodec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/roqvideodec.c b/libavcodec/roqvideodec.c index 0ab7d399d6..c5b7bbe236 100644 --- a/libavcodec/roqvideodec.c +++ b/libavcodec/roqvideodec.c @@ -190,7 +190,7 @@ static av_cold int roq_decode_init(AVCodecContext *avctx) return AVERROR(ENOMEM); } - avctx->pix_fmt = AV_PIX_FMT_YUVJ444P; + avctx->pix_fmt = AV_PIX_FMT_YUV444P; avctx->color_range = AVCOL_RANGE_JPEG; return 0; -- 2.11.0
Signed-off-by: Paul B Mahol <onemda@gmail.com> --- libavcodec/mdec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/mdec.c b/libavcodec/mdec.c index 330b761279..637158d231 100644 --- a/libavcodec/mdec.c +++ b/libavcodec/mdec.c @@ -227,7 +227,7 @@ static av_cold int decode_init(AVCodecContext *avctx) ff_init_scantable(a->idsp.idct_permutation, &a->scantable, ff_zigzag_direct); - avctx->pix_fmt = AV_PIX_FMT_YUVJ420P; + avctx->pix_fmt = AV_PIX_FMT_YUV420P; avctx->color_range = AVCOL_RANGE_JPEG; /* init q matrix */ -- 2.11.0
Signed-off-by: Paul B Mahol <onemda@gmail.com> --- libavcodec/h264_slice.c | 22 ++-------------------- 1 file changed, 2 insertions(+), 20 deletions(-) diff --git a/libavcodec/h264_slice.c b/libavcodec/h264_slice.c index aad5484588..a75ab08c29 100644 --- a/libavcodec/h264_slice.c +++ b/libavcodec/h264_slice.c @@ -820,15 +820,10 @@ static enum AVPixelFormat get_pixel_format(H264Context *h, int force_callback) if (CHROMA444(h)) { if (h->avctx->colorspace == AVCOL_SPC_RGB) *fmt++ = AV_PIX_FMT_GBRP; - else if (h->avctx->color_range == AVCOL_RANGE_JPEG) - *fmt++ = AV_PIX_FMT_YUVJ444P; else *fmt++ = AV_PIX_FMT_YUV444P; } else if (CHROMA422(h)) { - if (h->avctx->color_range == AVCOL_RANGE_JPEG) - *fmt++ = AV_PIX_FMT_YUVJ422P; - else - *fmt++ = AV_PIX_FMT_YUV422P; + *fmt++ = AV_PIX_FMT_YUV422P; } else { #if CONFIG_H264_DXVA2_HWACCEL *fmt++ = AV_PIX_FMT_DXVA2_VLD; @@ -845,8 +840,6 @@ static enum AVPixelFormat get_pixel_format(H264Context *h, int force_callback) #endif if (h->avctx->codec->pix_fmts) choices = h->avctx->codec->pix_fmts; - else if (h->avctx->color_range == AVCOL_RANGE_JPEG) - *fmt++ = AV_PIX_FMT_YUVJ420P; else *fmt++ = AV_PIX_FMT_YUV420P; } @@ -992,17 +985,6 @@ fail: return ret; } -static enum AVPixelFormat non_j_pixfmt(enum AVPixelFormat a) -{ - switch (a) { - case AV_PIX_FMT_YUVJ420P: return AV_PIX_FMT_YUV420P; - case AV_PIX_FMT_YUVJ422P: return AV_PIX_FMT_YUV422P; - case AV_PIX_FMT_YUVJ444P: return AV_PIX_FMT_YUV444P; - default: - return a; - } -} - static int h264_init_ps(H264Context *h, const H264SliceContext *sl, int first_slice) { const SPS *sps; @@ -1047,7 +1029,7 @@ static int h264_init_ps(H264Context *h, const H264SliceContext *sl, int first_sl || h->mb_height != sps->mb_height )); if (h->avctx->pix_fmt == AV_PIX_FMT_NONE - || (non_j_pixfmt(h->avctx->pix_fmt) != non_j_pixfmt(get_pixel_format(h, 0)))) + || (h->avctx->pix_fmt != get_pixel_format(h, 0))) must_reinit = 1; if (first_slice && av_cmp_q(sps->sar, h->avctx->sample_aspect_ratio)) -- 2.11.0
Color range is already set. Signed-off-by: Paul B Mahol <onemda@gmail.com> --- libavcodec/hevc_ps.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/libavcodec/hevc_ps.c b/libavcodec/hevc_ps.c index a4f7ed60f7..19ec2d7ebf 100644 --- a/libavcodec/hevc_ps.c +++ b/libavcodec/hevc_ps.c @@ -578,8 +578,6 @@ static void decode_vui(GetBitContext *gb, AVCodecContext *avctx, vui->video_format = get_bits(gb, 3); vui->video_full_range_flag = get_bits1(gb); vui->colour_description_present_flag = get_bits1(gb); - if (vui->video_full_range_flag && sps->pix_fmt == AV_PIX_FMT_YUV420P) - sps->pix_fmt = AV_PIX_FMT_YUVJ420P; if (vui->colour_description_present_flag) { vui->colour_primaries = get_bits(gb, 8); vui->transfer_characteristic = get_bits(gb, 8); -- 2.11.0
Signed-off-by: Paul B Mahol <onemda@gmail.com> --- libavcodec/roqvideoenc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libavcodec/roqvideoenc.c b/libavcodec/roqvideoenc.c index ac05123dc6..18f7dd5368 100644 --- a/libavcodec/roqvideoenc.c +++ b/libavcodec/roqvideoenc.c @@ -1132,7 +1132,8 @@ AVCodec ff_roq_encoder = { .init = roq_encode_init, .encode2 = roq_encode_frame, .close = roq_encode_end, - .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUVJ444P, + .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV444P, AV_PIX_FMT_NONE }, + .color_ranges = (const enum AVColorRange[]){ AVCOL_RANGE_JPEG, -1}, .priv_class = &roq_class, }; -- 2.11.0
Signed-off-by: Paul B Mahol <onemda@gmail.com> --- libavcodec/hevcdec.c | 1 - 1 file changed, 1 deletion(-) diff --git a/libavcodec/hevcdec.c b/libavcodec/hevcdec.c index 433a7056ea..d1b54b1db5 100644 --- a/libavcodec/hevcdec.c +++ b/libavcodec/hevcdec.c @@ -363,7 +363,6 @@ static enum AVPixelFormat get_format(HEVCContext *s, const HEVCSPS *sps) switch (sps->pix_fmt) { case AV_PIX_FMT_YUV420P: - case AV_PIX_FMT_YUVJ420P: #if CONFIG_HEVC_DXVA2_HWACCEL *fmt++ = AV_PIX_FMT_DXVA2_VLD; #endif -- 2.11.0
Remove YUVJ pixel format usage. Signed-off-by: Paul B Mahol <onemda@gmail.com> --- libavfilter/vf_blackdetect.c | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/libavfilter/vf_blackdetect.c b/libavfilter/vf_blackdetect.c index 06ef9988d1..ff4b9eebb9 100644 --- a/libavfilter/vf_blackdetect.c +++ b/libavfilter/vf_blackdetect.c @@ -61,13 +61,6 @@ static const AVOption blackdetect_options[] = { AVFILTER_DEFINE_CLASS(blackdetect); -#define YUVJ_FORMATS \ - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P - -static const enum AVPixelFormat yuvj_formats[] = { - YUVJ_FORMATS, AV_PIX_FMT_NONE -}; - static int query_formats(AVFilterContext *ctx) { static const enum AVPixelFormat pix_fmts[] = { @@ -76,7 +69,6 @@ static int query_formats(AVFilterContext *ctx) AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_NV12, AV_PIX_FMT_NV21, - YUVJ_FORMATS, AV_PIX_FMT_NONE }; @@ -94,7 +86,7 @@ static int config_input(AVFilterLink *inlink) blackdetect->black_min_duration = blackdetect->black_min_duration_time / av_q2d(inlink->time_base); - blackdetect->pixel_black_th_i = ff_fmt_is_in(inlink->format, yuvj_formats) ? + blackdetect->pixel_black_th_i = inlink->color_range == AVCOL_RANGE_JPEG ? // luminance_minimum_value + pixel_black_th * luminance_range_size blackdetect->pixel_black_th * 255 : 16 + blackdetect->pixel_black_th * (235 - 16); -- 2.11.0
Signed-off-by: Paul B Mahol <onemda@gmail.com> --- libavfilter/vf_setparams.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/libavfilter/vf_setparams.c b/libavfilter/vf_setparams.c index 8427f98ba8..98a4aa2ad3 100644 --- a/libavfilter/vf_setparams.c +++ b/libavfilter/vf_setparams.c @@ -56,6 +56,16 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *frame) return ff_filter_frame(ctx->outputs[0], frame); } +static int config_output(AVFilterLink *outlink) +{ + SetParamsContext *s = outlink->src->priv; + + if (s->color_range >= 0) + outlink->color_range = s->color_range; + + return 0; +} + static const AVFilterPad inputs[] = { { .name = "default", @@ -69,6 +79,7 @@ static const AVFilterPad outputs[] = { { .name = "default", .type = AVMEDIA_TYPE_VIDEO, + .config_props = config_output, }, { NULL } }; -- 2.11.0
Signed-off-by: Paul B Mahol <onemda@gmail.com> --- libavformat/rtpenc_jpeg.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/libavformat/rtpenc_jpeg.c b/libavformat/rtpenc_jpeg.c index 38eb2e68eb..e0e7afebfc 100644 --- a/libavformat/rtpenc_jpeg.c +++ b/libavformat/rtpenc_jpeg.c @@ -46,13 +46,11 @@ void ff_rtp_send_jpeg(AVFormatContext *s1, const uint8_t *buf, int size) h = AV_CEIL_RSHIFT(s1->streams[0]->codecpar->height, 3); /* get the pixel format type or fail */ - if (s1->streams[0]->codecpar->format == AV_PIX_FMT_YUVJ422P || - (s1->streams[0]->codecpar->color_range == AVCOL_RANGE_JPEG && - s1->streams[0]->codecpar->format == AV_PIX_FMT_YUV422P)) { + if (s1->streams[0]->codecpar->color_range == AVCOL_RANGE_JPEG && + s1->streams[0]->codecpar->format == AV_PIX_FMT_YUV422P) { type = 0; - } else if (s1->streams[0]->codecpar->format == AV_PIX_FMT_YUVJ420P || - (s1->streams[0]->codecpar->color_range == AVCOL_RANGE_JPEG && - s1->streams[0]->codecpar->format == AV_PIX_FMT_YUV420P)) { + } else if (s1->streams[0]->codecpar->color_range == AVCOL_RANGE_JPEG && + s1->streams[0]->codecpar->format == AV_PIX_FMT_YUV420P) { type = 1; } else { av_log(s1, AV_LOG_ERROR, "Unsupported pixel format\n"); -- 2.11.0
Signed-off-by: Paul B Mahol <onemda@gmail.com> --- libavfilter/avf_showspectrum.c | 2 +- libavfilter/vaf_spectrumsynth.c | 4 +--- libavfilter/vf_atadenoise.c | 3 --- libavfilter/vf_avgblur.c | 4 +--- libavfilter/vf_bitplanenoise.c | 2 -- libavfilter/vf_blend.c | 1 - libavfilter/vf_bwdif.c | 2 -- libavfilter/vf_colorspace.c | 1 - libavfilter/vf_convolution.c | 4 +--- libavfilter/vf_convolve.c | 4 +--- libavfilter/vf_cover_rect.c | 3 +-- libavfilter/vf_cropdetect.c | 6 +++--- libavfilter/vf_deband.c | 4 +--- libavfilter/vf_deflicker.c | 3 --- libavfilter/vf_deshake.c | 3 +-- libavfilter/vf_displace.c | 4 +--- libavfilter/vf_drawbox.c | 3 +-- libavfilter/vf_extractplanes.c | 6 ------ libavfilter/vf_fade.c | 3 +-- libavfilter/vf_fftfilt.c | 6 +++--- libavfilter/vf_fillborders.c | 4 +--- libavfilter/vf_find_rect.c | 1 - libavfilter/vf_framepack.c | 3 +-- libavfilter/vf_framerate.c | 10 +++++----- libavfilter/vf_fspp.c | 2 -- libavfilter/vf_gblur.c | 4 +--- libavfilter/vf_histogram.c | 8 ++++---- libavfilter/vf_hqdn3d.c | 4 ---- libavfilter/vf_hysteresis.c | 4 +--- libavfilter/vf_idet.c | 4 ---- libavfilter/vf_interlace.c | 4 ++-- libavfilter/vf_lenscorrection.c | 4 ++-- libavfilter/vf_limiter.c | 4 +--- libavfilter/vf_lut.c | 2 -- libavfilter/vf_lut2.c | 4 +--- libavfilter/vf_maskedclamp.c | 4 +--- libavfilter/vf_maskedmerge.c | 4 +--- libavfilter/vf_mestimate.c | 3 --- libavfilter/vf_midequalizer.c | 4 +--- libavfilter/vf_minterpolate.c | 3 --- libavfilter/vf_mpdecimate.c | 2 -- libavfilter/vf_neighbor.c | 1 - libavfilter/vf_nlmeans.c | 3 --- libavfilter/vf_nnedi.c | 3 --- libavfilter/vf_ocr.c | 3 --- libavfilter/vf_overlay.c | 6 +++--- libavfilter/vf_perspective.c | 1 - libavfilter/vf_phase.c | 1 - libavfilter/vf_pp.c | 12 ++++-------- libavfilter/vf_pp7.c | 2 -- libavfilter/vf_premultiply.c | 10 +--------- libavfilter/vf_psnr.c | 2 -- libavfilter/vf_pullup.c | 4 +--- libavfilter/vf_readeia608.c | 3 --- libavfilter/vf_readvitc.c | 5 ----- libavfilter/vf_remap.c | 1 - libavfilter/vf_removegrain.c | 2 -- libavfilter/vf_rotate.c | 4 ++-- libavfilter/vf_signalstats.c | 2 -- libavfilter/vf_signature.c | 3 --- libavfilter/vf_spp.c | 2 -- libavfilter/vf_ssim.c | 2 -- libavfilter/vf_stereo3d.c | 5 ----- libavfilter/vf_threshold.c | 4 +--- libavfilter/vf_tinterlace.c | 11 ++--------- libavfilter/vf_unsharp.c | 4 ++-- libavfilter/vf_uspp.c | 2 -- libavfilter/vf_vaguedenoiser.c | 3 --- libavfilter/vf_vectorscope.c | 10 +++++----- libavfilter/vf_w3fdif.c | 3 --- libavfilter/vf_waveform.c | 10 ++-------- libavfilter/vf_yadif.c | 4 ---- libavfilter/vf_zoompan.c | 3 --- libavfilter/vf_zscale.c | 3 --- libavfilter/vsrc_testsrc.c | 2 +- tests/ref/fate/filter-pixfmts-lut | 4 ---- tests/ref/fate/filter-pixfmts-pullup | 5 ----- tests/ref/fate/filter-pixfmts-rotate | 2 -- tests/ref/fate/filter-pixfmts-tinterlace_cvlpf | 4 ---- tests/ref/fate/filter-pixfmts-tinterlace_merge | 4 ---- tests/ref/fate/filter-pixfmts-tinterlace_pad | 4 ---- tests/ref/fate/filter-pixfmts-tinterlace_vlpf | 4 ---- 82 files changed, 63 insertions(+), 250 deletions(-) diff --git a/libavfilter/avf_showspectrum.c b/libavfilter/avf_showspectrum.c index 956f62f3ad..33449df315 100644 --- a/libavfilter/avf_showspectrum.c +++ b/libavfilter/avf_showspectrum.c @@ -267,7 +267,7 @@ static int query_formats(AVFilterContext *ctx) AVFilterLink *inlink = ctx->inputs[0]; AVFilterLink *outlink = ctx->outputs[0]; static const enum AVSampleFormat sample_fmts[] = { AV_SAMPLE_FMT_FLTP, AV_SAMPLE_FMT_NONE }; - static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_NONE }; + static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUV444P, AV_PIX_FMT_NONE }; int ret; /* set input audio formats */ diff --git a/libavfilter/vaf_spectrumsynth.c b/libavfilter/vaf_spectrumsynth.c index fed2cbba03..aca04a18cd 100644 --- a/libavfilter/vaf_spectrumsynth.c +++ b/libavfilter/vaf_spectrumsynth.c @@ -109,7 +109,7 @@ static int query_formats(AVFilterContext *ctx) AVFilterLink *outlink = ctx->outputs[0]; static const enum AVSampleFormat sample_fmts[] = { AV_SAMPLE_FMT_FLTP, AV_SAMPLE_FMT_NONE }; static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY16, - AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVJ444P, + AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV444P16, AV_PIX_FMT_NONE }; int ret, sample_rates[] = { 48000, -1 }; @@ -308,7 +308,6 @@ static void read_fft_data(AVFilterContext *ctx, int x, int h, int ch) read16_fft_bin(s, x, y, f, ch); } break; - case AV_PIX_FMT_YUVJ444P: case AV_PIX_FMT_YUV444P: case AV_PIX_FMT_GRAY8: for (y = start, f = 0; y >= end; y--, f++) { @@ -325,7 +324,6 @@ static void read_fft_data(AVFilterContext *ctx, int x, int h, int ch) read16_fft_bin(s, y, x, f, ch); } break; - case AV_PIX_FMT_YUVJ444P: case AV_PIX_FMT_YUV444P: case AV_PIX_FMT_GRAY8: for (y = end, f = 0; y <= start; y++, f++) { diff --git a/libavfilter/vf_atadenoise.c b/libavfilter/vf_atadenoise.c index 03b772c674..e44a7afcdb 100644 --- a/libavfilter/vf_atadenoise.c +++ b/libavfilter/vf_atadenoise.c @@ -87,9 +87,6 @@ static int query_formats(AVFilterContext *ctx) AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV444P, - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ444P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV440P10, diff --git a/libavfilter/vf_avgblur.c b/libavfilter/vf_avgblur.c index afd4a6ab79..40e9aaac4f 100644 --- a/libavfilter/vf_avgblur.c +++ b/libavfilter/vf_avgblur.c @@ -227,10 +227,8 @@ static int query_formats(AVFilterContext *ctx) { static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV420P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, + AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV440P12, diff --git a/libavfilter/vf_bitplanenoise.c b/libavfilter/vf_bitplanenoise.c index dd6864bc5e..49c2347798 100644 --- a/libavfilter/vf_bitplanenoise.c +++ b/libavfilter/vf_bitplanenoise.c @@ -52,8 +52,6 @@ static int query_formats(AVFilterContext *ctx) static const enum AVPixelFormat pixfmts[] = { AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ411P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV440P10, diff --git a/libavfilter/vf_blend.c b/libavfilter/vf_blend.c index 70c37c75da..1779d7a725 100644 --- a/libavfilter/vf_blend.c +++ b/libavfilter/vf_blend.c @@ -434,7 +434,6 @@ static int query_formats(AVFilterContext *ctx) { static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA420P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ422P,AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRAP, AV_PIX_FMT_GRAY8, AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16, diff --git a/libavfilter/vf_bwdif.c b/libavfilter/vf_bwdif.c index b691983611..bd79fdbd01 100644 --- a/libavfilter/vf_bwdif.c +++ b/libavfilter/vf_bwdif.c @@ -467,8 +467,6 @@ static int query_formats(AVFilterContext *ctx) static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV444P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV444P12, diff --git a/libavfilter/vf_colorspace.c b/libavfilter/vf_colorspace.c index 71ea08a20f..9edaf39248 100644 --- a/libavfilter/vf_colorspace.c +++ b/libavfilter/vf_colorspace.c @@ -1022,7 +1022,6 @@ static int query_formats(AVFilterContext *ctx) AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV444P12, - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_NONE }; int res; diff --git a/libavfilter/vf_convolution.c b/libavfilter/vf_convolution.c index d7f8bf8a65..a0d5cc10b3 100644 --- a/libavfilter/vf_convolution.c +++ b/libavfilter/vf_convolution.c @@ -98,10 +98,8 @@ static int query_formats(AVFilterContext *ctx) { static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV420P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, + AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV440P12, diff --git a/libavfilter/vf_convolve.c b/libavfilter/vf_convolve.c index e00a44d63d..7183c89730 100644 --- a/libavfilter/vf_convolve.c +++ b/libavfilter/vf_convolve.c @@ -70,10 +70,8 @@ static int query_formats(AVFilterContext *ctx) { static const enum AVPixelFormat pixel_fmts_fftfilt[] = { AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV420P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, + AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV440P12, diff --git a/libavfilter/vf_cover_rect.c b/libavfilter/vf_cover_rect.c index f7f61038e3..b181493627 100644 --- a/libavfilter/vf_cover_rect.c +++ b/libavfilter/vf_cover_rect.c @@ -59,7 +59,6 @@ static int query_formats(AVFilterContext *ctx) { static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUV420P, - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_NONE }; @@ -220,7 +219,7 @@ static av_cold int init(AVFilterContext *ctx) &cover->cover_frame->format, cover->cover_filename, ctx)) < 0) return ret; - if (cover->cover_frame->format != AV_PIX_FMT_YUV420P && cover->cover_frame->format != AV_PIX_FMT_YUVJ420P) { + if (cover->cover_frame->format != AV_PIX_FMT_YUV420P) { av_log(ctx, AV_LOG_ERROR, "cover image is not a YUV420 image\n"); return AVERROR(EINVAL); } diff --git a/libavfilter/vf_cropdetect.c b/libavfilter/vf_cropdetect.c index 7c7d0b953a..2db373e5d6 100644 --- a/libavfilter/vf_cropdetect.c +++ b/libavfilter/vf_cropdetect.c @@ -46,9 +46,9 @@ typedef struct CropDetectContext { static int query_formats(AVFilterContext *ctx) { static const enum AVPixelFormat pix_fmts[] = { - AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVJ444P, + AV_PIX_FMT_YUV420P, + AV_PIX_FMT_YUV422P, + AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_GRAY8, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV420P9 , AV_PIX_FMT_YUV422P9 , AV_PIX_FMT_YUV444P9, diff --git a/libavfilter/vf_deband.c b/libavfilter/vf_deband.c index 713e80b049..eed3715e52 100644 --- a/libavfilter/vf_deband.c +++ b/libavfilter/vf_deband.c @@ -77,8 +77,6 @@ static int query_formats(AVFilterContext *ctx) AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY16, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA444P9, @@ -95,7 +93,7 @@ static int query_formats(AVFilterContext *ctx) }; static const enum AVPixelFormat cpix_fmts[] = { - AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVJ444P, + AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUVA444P9, AV_PIX_FMT_YUVA444P10, AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV444P14, diff --git a/libavfilter/vf_deflicker.c b/libavfilter/vf_deflicker.c index 863a3508c1..60f8525f65 100644 --- a/libavfilter/vf_deflicker.c +++ b/libavfilter/vf_deflicker.c @@ -99,9 +99,6 @@ static int query_formats(AVFilterContext *ctx) AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV444P, - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ444P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV440P10, diff --git a/libavfilter/vf_deshake.c b/libavfilter/vf_deshake.c index fb4eb355b8..ba2646e285 100644 --- a/libavfilter/vf_deshake.c +++ b/libavfilter/vf_deshake.c @@ -379,8 +379,7 @@ static int query_formats(AVFilterContext *ctx) { static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV410P, - AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_NONE + AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_NONE }; AVFilterFormats *fmts_list = ff_make_format_list(pix_fmts); if (!fmts_list) diff --git a/libavfilter/vf_displace.c b/libavfilter/vf_displace.c index 768af6def4..b005c7c747 100644 --- a/libavfilter/vf_displace.c +++ b/libavfilter/vf_displace.c @@ -67,10 +67,8 @@ static int query_formats(AVFilterContext *ctx) { static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV420P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, + AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_RGB24, AV_PIX_FMT_BGR24, AV_PIX_FMT_ARGB, AV_PIX_FMT_ABGR, AV_PIX_FMT_RGBA, AV_PIX_FMT_BGRA, AV_PIX_FMT_0RGB, AV_PIX_FMT_0BGR, AV_PIX_FMT_RGB0, AV_PIX_FMT_BGR0, diff --git a/libavfilter/vf_drawbox.c b/libavfilter/vf_drawbox.c index d351846594..1066932c7b 100644 --- a/libavfilter/vf_drawbox.c +++ b/libavfilter/vf_drawbox.c @@ -109,8 +109,7 @@ static int query_formats(AVFilterContext *ctx) static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUVJ440P, + AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA444P, AV_PIX_FMT_NONE }; diff --git a/libavfilter/vf_extractplanes.c b/libavfilter/vf_extractplanes.c index fc676a25fa..050e906666 100644 --- a/libavfilter/vf_extractplanes.c +++ b/libavfilter/vf_extractplanes.c @@ -72,9 +72,6 @@ static int query_formats(AVFilterContext *ctx) AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVA422P, - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ444P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV420P16LE, AV_PIX_FMT_YUVA420P16LE, AV_PIX_FMT_YUV422P16LE, AV_PIX_FMT_YUVA422P16LE, @@ -118,9 +115,6 @@ static int query_formats(AVFilterContext *ctx) AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVA422P, - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ444P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV420P16BE, AV_PIX_FMT_YUVA420P16BE, AV_PIX_FMT_YUV422P16BE, AV_PIX_FMT_YUVA422P16BE, diff --git a/libavfilter/vf_fade.c b/libavfilter/vf_fade.c index c30c41db0d..dd556cec59 100644 --- a/libavfilter/vf_fade.c +++ b/libavfilter/vf_fade.c @@ -101,8 +101,7 @@ static int query_formats(AVFilterContext *ctx) static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUVJ440P, + AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA444P, AV_PIX_FMT_RGB24, AV_PIX_FMT_BGR24, AV_PIX_FMT_ARGB, AV_PIX_FMT_ABGR, diff --git a/libavfilter/vf_fftfilt.c b/libavfilter/vf_fftfilt.c index 7f60ca1f87..5471e558ff 100644 --- a/libavfilter/vf_fftfilt.c +++ b/libavfilter/vf_fftfilt.c @@ -341,9 +341,9 @@ static int query_formats(AVFilterContext *ctx) { static const enum AVPixelFormat pixel_fmts_fftfilt[] = { AV_PIX_FMT_GRAY8, - AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVJ444P, - AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVJ422P, + AV_PIX_FMT_YUV444P, + AV_PIX_FMT_YUV420P, + AV_PIX_FMT_YUV422P, AV_PIX_FMT_NONE }; diff --git a/libavfilter/vf_fillborders.c b/libavfilter/vf_fillborders.c index df883bc62e..7acbe68673 100644 --- a/libavfilter/vf_fillborders.c +++ b/libavfilter/vf_fillborders.c @@ -58,10 +58,8 @@ static int query_formats(AVFilterContext *ctx) { static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV420P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, + AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV440P12, diff --git a/libavfilter/vf_find_rect.c b/libavfilter/vf_find_rect.c index d7e6579af7..418732180c 100644 --- a/libavfilter/vf_find_rect.c +++ b/libavfilter/vf_find_rect.c @@ -62,7 +62,6 @@ static int query_formats(AVFilterContext *ctx) { static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUV420P, - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_NONE }; diff --git a/libavfilter/vf_framepack.c b/libavfilter/vf_framepack.c index 12a29964c4..9b5714575d 100644 --- a/libavfilter/vf_framepack.c +++ b/libavfilter/vf_framepack.c @@ -54,8 +54,7 @@ typedef struct FramepackContext { static const enum AVPixelFormat formats_supported[] = { AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV444P, - AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, + AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_NONE }; diff --git a/libavfilter/vf_framerate.c b/libavfilter/vf_framerate.c index dc8b05f40f..ee40c8a740 100644 --- a/libavfilter/vf_framerate.c +++ b/libavfilter/vf_framerate.c @@ -537,11 +537,11 @@ static int query_formats(AVFilterContext *ctx) { static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUV410P, - AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUVJ411P, - AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUVJ440P, - AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVJ444P, + AV_PIX_FMT_YUV411P, + AV_PIX_FMT_YUV420P, + AV_PIX_FMT_YUV422P, + AV_PIX_FMT_YUV440P, + AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV444P12, diff --git a/libavfilter/vf_fspp.c b/libavfilter/vf_fspp.c index c6989046c4..92ae1f1193 100644 --- a/libavfilter/vf_fspp.c +++ b/libavfilter/vf_fspp.c @@ -496,8 +496,6 @@ static int query_formats(AVFilterContext *ctx) AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_GBRP, AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE }; diff --git a/libavfilter/vf_gblur.c b/libavfilter/vf_gblur.c index fd901e20d4..251e71225d 100644 --- a/libavfilter/vf_gblur.c +++ b/libavfilter/vf_gblur.c @@ -187,10 +187,8 @@ static int query_formats(AVFilterContext *ctx) { static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV420P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, + AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV440P12, diff --git a/libavfilter/vf_histogram.c b/libavfilter/vf_histogram.c index 5185992de6..f6160401c8 100644 --- a/libavfilter/vf_histogram.c +++ b/libavfilter/vf_histogram.c @@ -77,11 +77,11 @@ static const AVOption histogram_options[] = { AVFILTER_DEFINE_CLASS(histogram); static const enum AVPixelFormat levels_in_pix_fmts[] = { - AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUVJ411P, + AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV420P, + AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUV422P, + AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV410P, - AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVJ444P, + AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, diff --git a/libavfilter/vf_hqdn3d.c b/libavfilter/vf_hqdn3d.c index d6c14bb3d8..a48b0cd806 100644 --- a/libavfilter/vf_hqdn3d.c +++ b/libavfilter/vf_hqdn3d.c @@ -238,10 +238,6 @@ static int query_formats(AVFilterContext *ctx) AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ444P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, diff --git a/libavfilter/vf_hysteresis.c b/libavfilter/vf_hysteresis.c index 551b33f332..2846d6b1aa 100644 --- a/libavfilter/vf_hysteresis.c +++ b/libavfilter/vf_hysteresis.c @@ -62,10 +62,8 @@ static int query_formats(AVFilterContext *ctx) { static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV420P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, + AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV440P12, diff --git a/libavfilter/vf_idet.c b/libavfilter/vf_idet.c index 14f031aaa9..1571713a5e 100644 --- a/libavfilter/vf_idet.c +++ b/libavfilter/vf_idet.c @@ -370,12 +370,8 @@ static int query_formats(AVFilterContext *ctx) AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_GRAY8, - AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_GRAY16, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, diff --git a/libavfilter/vf_interlace.c b/libavfilter/vf_interlace.c index 731069818f..afda08d732 100644 --- a/libavfilter/vf_interlace.c +++ b/libavfilter/vf_interlace.c @@ -165,8 +165,8 @@ static const enum AVPixelFormat formats_supported[] = { AV_PIX_FMT_YUV420P12LE, AV_PIX_FMT_YUV422P12LE, AV_PIX_FMT_YUV444P12LE, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUVA420P10LE, AV_PIX_FMT_YUVA422P10LE, AV_PIX_FMT_YUVA444P10LE, - AV_PIX_FMT_GRAY8, AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_NONE + AV_PIX_FMT_GRAY8, + AV_PIX_FMT_NONE }; static int query_formats(AVFilterContext *ctx) diff --git a/libavfilter/vf_lenscorrection.c b/libavfilter/vf_lenscorrection.c index 239fe195bd..ef27575263 100644 --- a/libavfilter/vf_lenscorrection.c +++ b/libavfilter/vf_lenscorrection.c @@ -100,8 +100,8 @@ static int query_formats(AVFilterContext *ctx) { static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUV410P, - AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVJ444P, - AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUVJ420P, + AV_PIX_FMT_YUV444P, + AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRAP, diff --git a/libavfilter/vf_limiter.c b/libavfilter/vf_limiter.c index 9c62b11884..fe4a9a66f4 100644 --- a/libavfilter/vf_limiter.c +++ b/libavfilter/vf_limiter.c @@ -66,10 +66,8 @@ static int query_formats(AVFilterContext *ctx) { static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV420P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, + AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV440P12, diff --git a/libavfilter/vf_lut.c b/libavfilter/vf_lut.c index 11c039ead7..bc808bd95e 100644 --- a/libavfilter/vf_lut.c +++ b/libavfilter/vf_lut.c @@ -114,8 +114,6 @@ static av_cold void uninit(AVFilterContext *ctx) AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV420P, \ AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV440P, \ AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA444P, \ - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, \ - AV_PIX_FMT_YUVJ440P, \ AV_PIX_FMT_YUV444P9LE, AV_PIX_FMT_YUV422P9LE, AV_PIX_FMT_YUV420P9LE, \ AV_PIX_FMT_YUV444P10LE, AV_PIX_FMT_YUV422P10LE, AV_PIX_FMT_YUV420P10LE, AV_PIX_FMT_YUV440P10LE, \ AV_PIX_FMT_YUV444P12LE, AV_PIX_FMT_YUV422P12LE, AV_PIX_FMT_YUV420P12LE, AV_PIX_FMT_YUV440P12LE, \ diff --git a/libavfilter/vf_lut2.c b/libavfilter/vf_lut2.c index 1385cba9b1..c9ab812f3d 100644 --- a/libavfilter/vf_lut2.c +++ b/libavfilter/vf_lut2.c @@ -100,10 +100,8 @@ static int query_formats(AVFilterContext *ctx) { static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV420P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, + AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV440P12, diff --git a/libavfilter/vf_maskedclamp.c b/libavfilter/vf_maskedclamp.c index 9812e08533..657844c6ce 100644 --- a/libavfilter/vf_maskedclamp.c +++ b/libavfilter/vf_maskedclamp.c @@ -63,10 +63,8 @@ static int query_formats(AVFilterContext *ctx) { static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV420P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, + AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV440P12, diff --git a/libavfilter/vf_maskedmerge.c b/libavfilter/vf_maskedmerge.c index 86559abdac..fab0a5cf02 100644 --- a/libavfilter/vf_maskedmerge.c +++ b/libavfilter/vf_maskedmerge.c @@ -41,10 +41,8 @@ static int query_formats(AVFilterContext *ctx) { static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV420P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, + AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV440P12, diff --git a/libavfilter/vf_mestimate.c b/libavfilter/vf_mestimate.c index 7ecfe7da60..77e04c1865 100644 --- a/libavfilter/vf_mestimate.c +++ b/libavfilter/vf_mestimate.c @@ -74,9 +74,6 @@ static int query_formats(AVFilterContext *ctx) AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV444P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA444P, AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE diff --git a/libavfilter/vf_midequalizer.c b/libavfilter/vf_midequalizer.c index c03814a24f..b83bd6659e 100644 --- a/libavfilter/vf_midequalizer.c +++ b/libavfilter/vf_midequalizer.c @@ -61,10 +61,8 @@ static int query_formats(AVFilterContext *ctx) { static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV420P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, + AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRAP, AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, diff --git a/libavfilter/vf_minterpolate.c b/libavfilter/vf_minterpolate.c index 6c5c264005..6a286d958a 100644 --- a/libavfilter/vf_minterpolate.c +++ b/libavfilter/vf_minterpolate.c @@ -233,9 +233,6 @@ static int query_formats(AVFilterContext *ctx) AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV444P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA444P, AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE diff --git a/libavfilter/vf_mpdecimate.c b/libavfilter/vf_mpdecimate.c index c9a9cb3a8e..4fe3bd234d 100644 --- a/libavfilter/vf_mpdecimate.c +++ b/libavfilter/vf_mpdecimate.c @@ -167,8 +167,6 @@ static int query_formats(AVFilterContext *ctx) AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_GBRP, diff --git a/libavfilter/vf_neighbor.c b/libavfilter/vf_neighbor.c index de4a12f048..62f3ab97a2 100644 --- a/libavfilter/vf_neighbor.c +++ b/libavfilter/vf_neighbor.c @@ -44,7 +44,6 @@ static int query_formats(AVFilterContext *ctx) { static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA420P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ422P,AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRAP, AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE }; diff --git a/libavfilter/vf_nlmeans.c b/libavfilter/vf_nlmeans.c index e4952e187e..6a9ca2b64d 100644 --- a/libavfilter/vf_nlmeans.c +++ b/libavfilter/vf_nlmeans.c @@ -87,9 +87,6 @@ static int query_formats(AVFilterContext *ctx) AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV444P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_GRAY8, AV_PIX_FMT_GBRP, AV_PIX_FMT_NONE }; diff --git a/libavfilter/vf_nnedi.c b/libavfilter/vf_nnedi.c index b14aa64c04..fea8ce3abb 100644 --- a/libavfilter/vf_nnedi.c +++ b/libavfilter/vf_nnedi.c @@ -187,9 +187,6 @@ static int query_formats(AVFilterContext *ctx) AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV444P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_GBRP, AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE diff --git a/libavfilter/vf_ocr.c b/libavfilter/vf_ocr.c index abfff49438..de0fdc8994 100644 --- a/libavfilter/vf_ocr.c +++ b/libavfilter/vf_ocr.c @@ -80,9 +80,6 @@ static int query_formats(AVFilterContext *ctx) AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV444P, - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ444P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_NONE }; diff --git a/libavfilter/vf_overlay.c b/libavfilter/vf_overlay.c index 5bf3d66cf1..c1d5ffb670 100644 --- a/libavfilter/vf_overlay.c +++ b/libavfilter/vf_overlay.c @@ -211,7 +211,7 @@ static int query_formats(AVFilterContext *ctx) /* overlay formats contains alpha, for avoiding conversion with alpha information loss */ static const enum AVPixelFormat main_pix_fmts_yuv420[] = { - AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVA420P, + AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_NV12, AV_PIX_FMT_NV21, AV_PIX_FMT_NONE }; @@ -220,14 +220,14 @@ static int query_formats(AVFilterContext *ctx) }; static const enum AVPixelFormat main_pix_fmts_yuv422[] = { - AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_NONE + AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_NONE }; static const enum AVPixelFormat overlay_pix_fmts_yuv422[] = { AV_PIX_FMT_YUVA422P, AV_PIX_FMT_NONE }; static const enum AVPixelFormat main_pix_fmts_yuv444[] = { - AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVA444P, AV_PIX_FMT_NONE + AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVA444P, AV_PIX_FMT_NONE }; static const enum AVPixelFormat overlay_pix_fmts_yuv444[] = { AV_PIX_FMT_YUVA444P, AV_PIX_FMT_NONE diff --git a/libavfilter/vf_perspective.c b/libavfilter/vf_perspective.c index 92495097cc..5362a02a03 100644 --- a/libavfilter/vf_perspective.c +++ b/libavfilter/vf_perspective.c @@ -98,7 +98,6 @@ static int query_formats(AVFilterContext *ctx) { static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA420P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ422P,AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRAP, AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE }; diff --git a/libavfilter/vf_phase.c b/libavfilter/vf_phase.c index fadeb6266d..8a1205f8a7 100644 --- a/libavfilter/vf_phase.c +++ b/libavfilter/vf_phase.c @@ -72,7 +72,6 @@ static int query_formats(AVFilterContext *ctx) { static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA420P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ422P,AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRAP, AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE }; diff --git a/libavfilter/vf_pp.c b/libavfilter/vf_pp.c index 524ef1bb0a..d35cfb66ce 100644 --- a/libavfilter/vf_pp.c +++ b/libavfilter/vf_pp.c @@ -76,12 +76,12 @@ static int pp_process_command(AVFilterContext *ctx, const char *cmd, const char static int pp_query_formats(AVFilterContext *ctx) { static const enum AVPixelFormat pix_fmts[] = { - AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVJ422P, + AV_PIX_FMT_YUV420P, + AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_GBRP, - AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVJ444P, - AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUVJ440P, + AV_PIX_FMT_YUV444P, + AV_PIX_FMT_YUV440P, AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE }; @@ -99,15 +99,11 @@ static int pp_config_props(AVFilterLink *inlink) switch (inlink->format) { case AV_PIX_FMT_GRAY8: - case AV_PIX_FMT_YUVJ420P: case AV_PIX_FMT_YUV420P: flags |= PP_FORMAT_420; break; - case AV_PIX_FMT_YUVJ422P: case AV_PIX_FMT_YUV422P: flags |= PP_FORMAT_422; break; case AV_PIX_FMT_YUV411P: flags |= PP_FORMAT_411; break; case AV_PIX_FMT_GBRP: - case AV_PIX_FMT_YUVJ444P: case AV_PIX_FMT_YUV444P: flags |= PP_FORMAT_444; break; - case AV_PIX_FMT_YUVJ440P: case AV_PIX_FMT_YUV440P: flags |= PP_FORMAT_440; break; default: av_assert0(0); } diff --git a/libavfilter/vf_pp7.c b/libavfilter/vf_pp7.c index 570a1c90b9..3d2f6d3d27 100644 --- a/libavfilter/vf_pp7.c +++ b/libavfilter/vf_pp7.c @@ -269,8 +269,6 @@ static int query_formats(AVFilterContext *ctx) AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_GBRP, AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE }; diff --git a/libavfilter/vf_premultiply.c b/libavfilter/vf_premultiply.c index df4f26578d..ba883e89fc 100644 --- a/libavfilter/vf_premultiply.c +++ b/libavfilter/vf_premultiply.c @@ -64,7 +64,7 @@ static int query_formats(AVFilterContext *ctx) PreMultiplyContext *s = ctx->priv; static const enum AVPixelFormat no_alpha_pix_fmts[] = { - AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVJ444P, + AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV444P14, AV_PIX_FMT_YUV444P16, @@ -389,10 +389,6 @@ static int filter_frame(AVFilterContext *ctx, s->premultiply[0] = full ? unpremultiply8 : unpremultiply8offset; s->premultiply[1] = s->premultiply[2] = unpremultiply8yuv; break; - case AV_PIX_FMT_YUVJ444P: - s->premultiply[0] = unpremultiply8; - s->premultiply[1] = s->premultiply[2] = unpremultiply8yuv; - break; case AV_PIX_FMT_GBRP: case AV_PIX_FMT_GBRAP: s->premultiply[0] = s->premultiply[1] = s->premultiply[2] = limited ? unpremultiply8offset : unpremultiply8; @@ -435,10 +431,6 @@ static int filter_frame(AVFilterContext *ctx, s->premultiply[0] = full ? premultiply8 : premultiply8offset; s->premultiply[1] = s->premultiply[2] = premultiply8yuv; break; - case AV_PIX_FMT_YUVJ444P: - s->premultiply[0] = premultiply8; - s->premultiply[1] = s->premultiply[2] = premultiply8yuv; - break; case AV_PIX_FMT_GBRP: case AV_PIX_FMT_GBRAP: s->premultiply[0] = s->premultiply[1] = s->premultiply[2] = limited ? premultiply8offset : premultiply8; diff --git a/libavfilter/vf_psnr.c b/libavfilter/vf_psnr.c index 493a501a7a..a8fa766272 100644 --- a/libavfilter/vf_psnr.c +++ b/libavfilter/vf_psnr.c @@ -266,8 +266,6 @@ static int query_formats(AVFilterContext *ctx) #define PF(suf) PF_NOALPHA(suf), PF_ALPHA(suf) PF(P), PF(P9), PF(P10), PF_NOALPHA(P12), PF_NOALPHA(P14), PF(P16), AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRP9, AV_PIX_FMT_GBRP10, AV_PIX_FMT_GBRP12, AV_PIX_FMT_GBRP14, AV_PIX_FMT_GBRP16, AV_PIX_FMT_GBRAP, AV_PIX_FMT_GBRAP16, diff --git a/libavfilter/vf_pullup.c b/libavfilter/vf_pullup.c index fa76caad03..4236c1d73a 100644 --- a/libavfilter/vf_pullup.c +++ b/libavfilter/vf_pullup.c @@ -55,12 +55,10 @@ AVFILTER_DEFINE_CLASS(pullup); static int query_formats(AVFilterContext *ctx) { static const enum AVPixelFormat pix_fmts[] = { - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_GRAY8, + AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE }; diff --git a/libavfilter/vf_readeia608.c b/libavfilter/vf_readeia608.c index bc3abe7c4d..c32595fd83 100644 --- a/libavfilter/vf_readeia608.c +++ b/libavfilter/vf_readeia608.c @@ -80,9 +80,6 @@ static int query_formats(AVFilterContext *ctx) AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV444P, - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ444P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_NONE }; AVFilterFormats *formats = ff_make_format_list(pixel_fmts); diff --git a/libavfilter/vf_readvitc.c b/libavfilter/vf_readvitc.c index 7ef8cdae58..25136cba00 100644 --- a/libavfilter/vf_readvitc.c +++ b/libavfilter/vf_readvitc.c @@ -200,11 +200,6 @@ static int query_formats(AVFilterContext *ctx) AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA444P, - AV_PIX_FMT_YUVJ411P, - AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ440P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_NONE }; AVFilterFormats *fmts_list = ff_make_format_list(pixel_fmts); diff --git a/libavfilter/vf_remap.c b/libavfilter/vf_remap.c index d24284703b..4b04abc66b 100644 --- a/libavfilter/vf_remap.c +++ b/libavfilter/vf_remap.c @@ -71,7 +71,6 @@ static int query_formats(AVFilterContext *ctx) static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV444P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_RGB24, AV_PIX_FMT_BGR24, AV_PIX_FMT_ARGB, AV_PIX_FMT_ABGR, AV_PIX_FMT_RGBA, AV_PIX_FMT_BGRA, AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRAP, diff --git a/libavfilter/vf_removegrain.c b/libavfilter/vf_removegrain.c index bc45076baa..a7c5282cdc 100644 --- a/libavfilter/vf_removegrain.c +++ b/libavfilter/vf_removegrain.c @@ -51,8 +51,6 @@ static int query_formats(AVFilterContext *ctx) AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRAP, AV_PIX_FMT_NONE }; diff --git a/libavfilter/vf_rotate.c b/libavfilter/vf_rotate.c index 371ff7f722..0e705871ce 100644 --- a/libavfilter/vf_rotate.c +++ b/libavfilter/vf_rotate.c @@ -142,8 +142,8 @@ static int query_formats(AVFilterContext *ctx) AV_PIX_FMT_RGB24, AV_PIX_FMT_BGR24, AV_PIX_FMT_GRAY8, AV_PIX_FMT_YUV410P, - AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVJ444P, - AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUVJ420P, + AV_PIX_FMT_YUV444P, + AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV420P10LE, AV_PIX_FMT_YUVA420P10LE, AV_PIX_FMT_YUV444P10LE, AV_PIX_FMT_YUVA444P10LE, diff --git a/libavfilter/vf_signalstats.c b/libavfilter/vf_signalstats.c index 298881bc72..9f604f71a1 100644 --- a/libavfilter/vf_signalstats.c +++ b/libavfilter/vf_signalstats.c @@ -121,8 +121,6 @@ static int query_formats(AVFilterContext *ctx) static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ411P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV440P10, diff --git a/libavfilter/vf_signature.c b/libavfilter/vf_signature.c index f0078ba1a6..1467a84164 100644 --- a/libavfilter/vf_signature.c +++ b/libavfilter/vf_signature.c @@ -77,9 +77,6 @@ static int query_formats(AVFilterContext *ctx) AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV444P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ444P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_NV12, AV_PIX_FMT_NV21, AV_PIX_FMT_NONE }; diff --git a/libavfilter/vf_spp.c b/libavfilter/vf_spp.c index fe579cedb1..275dd60a56 100644 --- a/libavfilter/vf_spp.c +++ b/libavfilter/vf_spp.c @@ -307,8 +307,6 @@ static int query_formats(AVFilterContext *ctx) AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV422P9, diff --git a/libavfilter/vf_ssim.c b/libavfilter/vf_ssim.c index 4dcdc0548b..feeeefa877 100644 --- a/libavfilter/vf_ssim.c +++ b/libavfilter/vf_ssim.c @@ -362,8 +362,6 @@ static int query_formats(AVFilterContext *ctx) AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY16, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_GBRP, #define PF(suf) AV_PIX_FMT_YUV420##suf, AV_PIX_FMT_YUV422##suf, AV_PIX_FMT_YUV444##suf, AV_PIX_FMT_GBR##suf PF(P9), PF(P10), PF(P12), PF(P14), PF(P16), diff --git a/libavfilter/vf_stereo3d.c b/libavfilter/vf_stereo3d.c index 8b22f880ca..206b5e9286 100644 --- a/libavfilter/vf_stereo3d.c +++ b/libavfilter/vf_stereo3d.c @@ -239,11 +239,6 @@ static const enum AVPixelFormat other_pix_fmts[] = { AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVA444P, - AV_PIX_FMT_YUVJ411P, - AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ440P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUV420P9LE, AV_PIX_FMT_YUVA420P9LE, AV_PIX_FMT_YUV420P9BE, AV_PIX_FMT_YUVA420P9BE, AV_PIX_FMT_YUV422P9LE, AV_PIX_FMT_YUVA422P9LE, diff --git a/libavfilter/vf_threshold.c b/libavfilter/vf_threshold.c index 58b5d14836..83e4f1a72b 100644 --- a/libavfilter/vf_threshold.c +++ b/libavfilter/vf_threshold.c @@ -47,10 +47,8 @@ static int query_formats(AVFilterContext *ctx) { static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV420P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, + AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16, diff --git a/libavfilter/vf_tinterlace.c b/libavfilter/vf_tinterlace.c index f13791d254..cc1c6215af 100644 --- a/libavfilter/vf_tinterlace.c +++ b/libavfilter/vf_tinterlace.c @@ -59,13 +59,6 @@ static const AVOption tinterlace_options[] = { AVFILTER_DEFINE_CLASS(tinterlace); -#define FULL_SCALE_YUVJ_FORMATS \ - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P - -static const enum AVPixelFormat full_scale_yuvj_pix_fmts[] = { - FULL_SCALE_YUVJ_FORMATS, AV_PIX_FMT_NONE -}; - static const AVRational standard_tbs[] = { {1, 25}, {1, 30}, @@ -84,7 +77,7 @@ static int query_formats(AVFilterContext *ctx) AV_PIX_FMT_YUV440P12LE, AV_PIX_FMT_YUV444P12LE, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUVA420P10LE, AV_PIX_FMT_YUVA422P10LE, AV_PIX_FMT_YUVA444P10LE, - AV_PIX_FMT_GRAY8, FULL_SCALE_YUVJ_FORMATS, + AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE }; @@ -218,7 +211,7 @@ static int config_out_props(AVFilterLink *outlink) int ret; ff_draw_init(&tinterlace->draw, outlink->format, 0); ff_draw_color(&tinterlace->draw, &tinterlace->color, black); - if (ff_fmt_is_in(outlink->format, full_scale_yuvj_pix_fmts)) + if (outlink->color_range == AVCOL_RANGE_JPEG) tinterlace->color.comp[0].u8[0] = 0; ret = av_image_alloc(tinterlace->black_data, tinterlace->black_linesize, outlink->w, outlink->h, outlink->format, 16); diff --git a/libavfilter/vf_unsharp.c b/libavfilter/vf_unsharp.c index 41ccc56942..bd9287822a 100644 --- a/libavfilter/vf_unsharp.c +++ b/libavfilter/vf_unsharp.c @@ -150,8 +150,8 @@ static int query_formats(AVFilterContext *ctx) { static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV410P, - AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_NONE + AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV440P, + AV_PIX_FMT_NONE }; AVFilterFormats *fmts_list = ff_make_format_list(pix_fmts); diff --git a/libavfilter/vf_uspp.c b/libavfilter/vf_uspp.c index da4029f4b2..a5021f4705 100644 --- a/libavfilter/vf_uspp.c +++ b/libavfilter/vf_uspp.c @@ -294,8 +294,6 @@ static int query_formats(AVFilterContext *ctx) AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV410P, - AV_PIX_FMT_YUVJ444P, - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE }; diff --git a/libavfilter/vf_vaguedenoiser.c b/libavfilter/vf_vaguedenoiser.c index 2b93e70e57..470f117031 100644 --- a/libavfilter/vf_vaguedenoiser.c +++ b/libavfilter/vf_vaguedenoiser.c @@ -108,9 +108,6 @@ static int query_formats(AVFilterContext *ctx) AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV444P, - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ444P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV440P10, diff --git a/libavfilter/vf_vectorscope.c b/libavfilter/vf_vectorscope.c index e3e00797d0..cc2efcfb5f 100644 --- a/libavfilter/vf_vectorscope.c +++ b/libavfilter/vf_vectorscope.c @@ -164,7 +164,7 @@ static const enum AVPixelFormat out_rgb12_pix_fmts[] = { }; static const enum AVPixelFormat in1_pix_fmts[] = { - AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVJ444P, + AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUVA444P9, AV_PIX_FMT_YUVA444P10, AV_PIX_FMT_YUV444P12, @@ -175,10 +175,10 @@ static const enum AVPixelFormat in1_pix_fmts[] = { }; static const enum AVPixelFormat in2_pix_fmts[] = { - AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVJ444P, - AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUVJ411P, + AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV420P, + AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUV422P, + AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV444P, + AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_GBRAP, AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRP9, AV_PIX_FMT_GBRP10, AV_PIX_FMT_GBRAP10, diff --git a/libavfilter/vf_w3fdif.c b/libavfilter/vf_w3fdif.c index c6a6550778..55c7d2b18f 100644 --- a/libavfilter/vf_w3fdif.c +++ b/libavfilter/vf_w3fdif.c @@ -70,9 +70,6 @@ static int query_formats(AVFilterContext *ctx) AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV444P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA444P, AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRAP, AV_PIX_FMT_GRAY8, diff --git a/libavfilter/vf_waveform.c b/libavfilter/vf_waveform.c index 02a7046f33..2e0cb6f70a 100644 --- a/libavfilter/vf_waveform.c +++ b/libavfilter/vf_waveform.c @@ -163,8 +163,6 @@ static const enum AVPixelFormat in_lowpass_pix_fmts[] = { AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV420P9, @@ -181,8 +179,6 @@ static const enum AVPixelFormat in_color_pix_fmts[] = { AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV411P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUVA444P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA420P9, @@ -196,8 +192,6 @@ static const enum AVPixelFormat in_flat_pix_fmts[] = { AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV411P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUVA444P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA420P9, @@ -228,7 +222,7 @@ static const enum AVPixelFormat out_rgb12_lowpass_pix_fmts[] = { }; static const enum AVPixelFormat out_yuv8_lowpass_pix_fmts[] = { - AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVA444P, + AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVA444P, AV_PIX_FMT_NONE }; @@ -268,7 +262,7 @@ static const enum AVPixelFormat out_gray12_lowpass_pix_fmts[] = { }; static const enum AVPixelFormat flat_pix_fmts[] = { - AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVJ444P, + AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV444P12, AV_PIX_FMT_NONE diff --git a/libavfilter/vf_yadif.c b/libavfilter/vf_yadif.c index f58d8ac2bc..c0b3420eef 100644 --- a/libavfilter/vf_yadif.c +++ b/libavfilter/vf_yadif.c @@ -432,12 +432,8 @@ static int query_formats(AVFilterContext *ctx) AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_GRAY8, - AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_GRAY16, AV_PIX_FMT_YUV440P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, diff --git a/libavfilter/vf_zoompan.c b/libavfilter/vf_zoompan.c index 0635171b57..d6f13a9f42 100644 --- a/libavfilter/vf_zoompan.c +++ b/libavfilter/vf_zoompan.c @@ -324,9 +324,6 @@ static int query_formats(AVFilterContext *ctx) AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA420P, - AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, - AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRAP, AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE diff --git a/libavfilter/vf_zscale.c b/libavfilter/vf_zscale.c index 6e1d36cb4c..4596ba9edb 100644 --- a/libavfilter/vf_zscale.c +++ b/libavfilter/vf_zscale.c @@ -165,9 +165,6 @@ static int query_formats(AVFilterContext *ctx) AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV444P, - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, - AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ444P, - AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV444P12, diff --git a/libavfilter/vsrc_testsrc.c b/libavfilter/vsrc_testsrc.c index fddd7f55ee..84a15e05ed 100644 --- a/libavfilter/vsrc_testsrc.c +++ b/libavfilter/vsrc_testsrc.c @@ -1217,7 +1217,7 @@ static av_cold int yuvtest_init(AVFilterContext *ctx) static int yuvtest_query_formats(AVFilterContext *ctx) { static const enum AVPixelFormat pix_fmts[] = { - AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVJ444P, + AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV444P14, AV_PIX_FMT_YUV444P16, diff --git a/tests/ref/fate/filter-pixfmts-lut b/tests/ref/fate/filter-pixfmts-lut index db3fd417b7..ced7f33c92 100644 --- a/tests/ref/fate/filter-pixfmts-lut +++ b/tests/ref/fate/filter-pixfmts-lut @@ -45,7 +45,3 @@ yuva422p 5938a7c7588febb069bd0cd4c447305e yuva422p16le c5ccfdc1a0dc6cb130c07ea61df6f727 yuva444p fbcbdc3521d17c702ee521b0893098e4 yuva444p16le b7142d28d4d069d7eb019dcaf8b323b1 -yuvj420p 65bc88887c7f06a6221155ca7f9cfca4 -yuvj422p ff5baffefc8ffe4547653092fd7da200 -yuvj440p ef3f27270e60ac06582e3ac7c2f3e6fa -yuvj444p 29378d3fd132c760522c51c3378067b8 diff --git a/tests/ref/fate/filter-pixfmts-pullup b/tests/ref/fate/filter-pixfmts-pullup index c6ddb3489a..d2f927a0c9 100644 --- a/tests/ref/fate/filter-pixfmts-pullup +++ b/tests/ref/fate/filter-pixfmts-pullup @@ -5,8 +5,3 @@ yuv420p dba6303cd02cc39cb0db7b546793d565 yuv422p d7d3224dd900bb1b96608a28a704360d yuv440p d4c5f20701cfceb4bbf7d75cfcc13514 yuv444p 7e405274037e7f2ab845d7413a71e16d -yuvj411p dc602e7bd3449d16e17e695815616b1e -yuvj420p b98ec86eeef2d512aeb2fc4d32ffa656 -yuvj422p f09c3240bb662477b76ce4da34b4feed -yuvj440p 8d3ab69e2bbbbbd2f9be323c18922533 -yuvj444p 2dc27560eed5d685354796dcccce853c diff --git a/tests/ref/fate/filter-pixfmts-rotate b/tests/ref/fate/filter-pixfmts-rotate index e4ed81e71a..3aa21aff77 100644 --- a/tests/ref/fate/filter-pixfmts-rotate +++ b/tests/ref/fate/filter-pixfmts-rotate @@ -30,5 +30,3 @@ yuva444p 459fad5abfd16db9bb6a52761dc74cc1 yuva444p10le 92f820d3481b7ebcb48b98a73e7b4c90 yuva444p16le 2ed56ea50fafda4d226c9b133755dad8 yuva444p9le 4eeb5988df0740fea720da1e31bbb829 -yuvj420p 8f3d8f1b4577d11082d5ab8a901e048d -yuvj444p b161e6d5a941e2a4bb7bc56ef8af623f diff --git a/tests/ref/fate/filter-pixfmts-tinterlace_cvlpf b/tests/ref/fate/filter-pixfmts-tinterlace_cvlpf index 99703fa1af..df269b9a7c 100644 --- a/tests/ref/fate/filter-pixfmts-tinterlace_cvlpf +++ b/tests/ref/fate/filter-pixfmts-tinterlace_cvlpf @@ -19,7 +19,3 @@ yuva422p a8da2806e21a88449079faa7f4303ffa yuva422p10le d2965b5b5a43a7165badaff0718a17d8 yuva444p a3f57734d6f72bdf37f8f612ea7cce63 yuva444p10le e020512901fd9ac7088898a4e3a8c7c1 -yuvj420p 9f358e311b694bcd01e1a07d1120ade5 -yuvj422p 9a7628a9f1630d35c7176951ddc1b2f6 -yuvj440p 112fe35292c687746ec0c622a42c611b -yuvj444p f894438f40950229baa02545daa8812a diff --git a/tests/ref/fate/filter-pixfmts-tinterlace_merge b/tests/ref/fate/filter-pixfmts-tinterlace_merge index fa6151c272..7b0026faee 100644 --- a/tests/ref/fate/filter-pixfmts-tinterlace_merge +++ b/tests/ref/fate/filter-pixfmts-tinterlace_merge @@ -19,7 +19,3 @@ yuva422p ca200be80e5bfdb159e1aea57129ed3a yuva422p10le 06d4f79ee2ddf31d9fe15af8ca573f46 yuva444p 9f39c35d6899dcb8b9a9b07c339ca365 yuva444p10le b0c54fc3efad73f252d86127407aa1fd -yuvj420p 844359293bb6ff81549f3fc0090cc587 -yuvj422p 526af049d43974822baa7b48aa1e1098 -yuvj440p af9285194da8efbc40d93bf8109f9dc5 -yuvj444p 2a3f18b02c17a0c39c6245b8b3639b91 diff --git a/tests/ref/fate/filter-pixfmts-tinterlace_pad b/tests/ref/fate/filter-pixfmts-tinterlace_pad index 8f6b1c42e2..c338641934 100644 --- a/tests/ref/fate/filter-pixfmts-tinterlace_pad +++ b/tests/ref/fate/filter-pixfmts-tinterlace_pad @@ -19,7 +19,3 @@ yuva422p 3426ed1ac9429202d8c29fa62a04d4c3 yuva422p10le c00acd7c437d41755dff09c5ca3642cf yuva444p 1b9fc791c7d774b4ba8c9dc836f78cf5 yuva444p10le 616b42a232c83b8f9e5c5168ec4b5da5 -yuvj420p 9a872e0c1b3c0b6fe856415696b758bd -yuvj422p da3c9ef25528a2ee96746ce44e6969f3 -yuvj440p a9a5495c6b0e2bf6e561998ea1c356a7 -yuvj444p 085214844e83ad47b4f33303db0ebee6 diff --git a/tests/ref/fate/filter-pixfmts-tinterlace_vlpf b/tests/ref/fate/filter-pixfmts-tinterlace_vlpf index 5a5f80b115..0f64dd882c 100644 --- a/tests/ref/fate/filter-pixfmts-tinterlace_vlpf +++ b/tests/ref/fate/filter-pixfmts-tinterlace_vlpf @@ -19,7 +19,3 @@ yuva422p ef8fdbe910d68e88e98227b0e99fb5a6 yuva422p10le 257a4aec41f9b5412179272d8a7fb6f7 yuva444p 3662eadd5f61a6edbc9d715ea8591415 yuva444p10le 0905cf5b7f42c11be3f0486a66533c71 -yuvj420p 14c4390b319c5d679184503309060ac3 -yuvj422p bbe00a26526931b72a024febe1cd6b90 -yuvj440p f654cf28b7879c6a6c950c3cb9612580 -yuvj444p c162a4fe7a665f4abf257443703f0d72 -- 2.11.0
On Tue, 12 Dec 2017 14:55:59 +0100 Paul B Mahol <onemda@gmail.com> wrote:
Signed-off-by: Paul B Mahol <onemda@gmail.com> --- libavcodec/avcodec.h | 1 + libavcodec/utils.c | 2 ++ 2 files changed, 3 insertions(+)
diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index 5db6a81320..df715fd5ee 100644 --- a/libavcodec/avcodec.h +++ b/libavcodec/avcodec.h @@ -3376,6 +3376,7 @@ typedef struct AVCodec { uint8_t max_lowres; ///< maximum value for lowres supported by the decoder const AVClass *priv_class; ///< AVClass for the private context const AVProfile *profiles; ///< array of recognized profiles, or NULL if unknown, array is terminated by {FF_PROFILE_UNKNOWN} + const enum AVColorRange *color_ranges; ///< array of supported color ranges by encoder, or NULL if unknown, array is terminated by -1
wouldn't it be terminated by AVCOL_RANGE_UNSPECIFIED? (The enum might be backed by an unsigned integer type, so this is not just bikeshed.)
/***************************************************************** * No fields below this line are part of the public API. They diff --git a/libavcodec/utils.c b/libavcodec/utils.c index 873f39f9bd..41cc6fbf2c 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -879,6 +879,8 @@ FF_ENABLE_DEPRECATION_WARNINGS avctx->codec->pix_fmts[i] == AV_PIX_FMT_YUVJ444P) avctx->color_range = AVCOL_RANGE_JPEG; } + if (avctx->codec->color_range) + avctx->color_range = avctx->codec->color_range; if (avctx->codec->supported_samplerates) { for (i = 0; avctx->codec->supported_samplerates[i] != 0; i++) if (avctx->sample_rate == avctx->codec->supported_samplerates[i])
On Tue, Dec 12, 2017 at 02:55:59PM +0100, Paul B Mahol wrote:
Signed-off-by: Paul B Mahol <onemda@gmail.com> --- libavcodec/avcodec.h | 1 + libavcodec/utils.c | 2 ++ 2 files changed, 3 insertions(+)
diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index 5db6a81320..df715fd5ee 100644 --- a/libavcodec/avcodec.h +++ b/libavcodec/avcodec.h @@ -3376,6 +3376,7 @@ typedef struct AVCodec { uint8_t max_lowres; ///< maximum value for lowres supported by the decoder const AVClass *priv_class; ///< AVClass for the private context const AVProfile *profiles; ///< array of recognized profiles, or NULL if unknown, array is terminated by {FF_PROFILE_UNKNOWN} + const enum AVColorRange *color_ranges; ///< array of supported color ranges by encoder, or NULL if unknown, array is terminated by -1
/***************************************************************** * No fields below this line are part of the public API. They diff --git a/libavcodec/utils.c b/libavcodec/utils.c index 873f39f9bd..41cc6fbf2c 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -879,6 +879,8 @@ FF_ENABLE_DEPRECATION_WARNINGS avctx->codec->pix_fmts[i] == AV_PIX_FMT_YUVJ444P) avctx->color_range = AVCOL_RANGE_JPEG; } + if (avctx->codec->color_range) + avctx->color_range = avctx->codec->color_range;
This doesnt build, i can thus not easily bisect some fate failure: libavcodec/utils.c: In function ‘avcodec_open2’: libavcodec/utils.c:882:25: error: ‘const struct AVCodec’ has no member named ‘color_range’ if (avctx->codec->color_range) ^ libavcodec/utils.c:883:46: error: ‘const struct AVCodec’ has no member named ‘color_range’ avctx->color_range = avctx->codec->color_range; [...] #dimensions 0: 128x128 -#sar 0: 72/72 +#sar 0: 1/1 0, 0, 0, 1, 49152, 0xe0013dee Test png-rgb24 failed. Look at tests/data/fate/png-rgb24.err for details. make: *** [fate-png-rgb24] Error 1 TEST psd-rgba TEST psd-rgba64 TEST psd-ya8 TEST psd-ya16 --- ./tests/ref/fate/png-int-rgb24 2017-12-13 00:39:32.256314963 +0100 -- #dimensions 0: 128x128 -#sar 0: 2835/2835 +#sar 0: 1/1 0, 0, 0, 1, 49152, 0xe0013dee Test png-int-rgb24 failed. Look at tests/data/fate/png-int-rgb24.err for details. make: *** [fate-png-int-rgb24] Error 1 TEST psd-lena-127x127-rgb24 TEST psd-lena-rgb-rle-127x127-16b TEST psd-lena-rgb-rle-127x127-8b TEST psd-lena-rgba-rle-128x128-8b TEST psd-lena-256c -- 0, 0, 0, 1, 1600, 0x01a481a9 0, 1, 1, 1, 1600, 0x01a481a9 0, 2, 2, 1, 1600, 0x01a481a9 TEST lossless-alac Test pngparser failed. Look at tests/data/fate/pngparser.err for details. make: *** [fate-pngparser] Error 1 TEST lossless-meridianaudio TEST ralf TEST lossless-shorten TEST lossless-tak TEST lossless-truehd-5.1 -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB If you fake or manipulate statistics in a paper in physics you will never get a job again. If you fake or manipulate statistics in a paper in medicin you will get a job for life at the pharma industry.
participants (3)
-
Michael Niedermayer -
Paul B Mahol -
wm4