avfilter: Reindentation after query_formats changes
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
This commit is contained in:
		
							parent
							
								
									71f9f7dc73
								
							
						
					
					
						commit
						31a373ce71
					
				@ -284,26 +284,26 @@ typedef struct AVFilter {
 | 
			
		||||
     * See the documentation of enum FilterFormatsState in internal.h.
 | 
			
		||||
     */
 | 
			
		||||
    union {
 | 
			
		||||
    /**
 | 
			
		||||
     * Query formats supported by the filter on its inputs and outputs.
 | 
			
		||||
     *
 | 
			
		||||
     * This callback is called after the filter is initialized (so the inputs
 | 
			
		||||
     * and outputs are fixed), shortly before the format negotiation. This
 | 
			
		||||
     * callback may be called more than once.
 | 
			
		||||
     *
 | 
			
		||||
     * This callback must set AVFilterLink.outcfg.formats on every input link and
 | 
			
		||||
     * AVFilterLink.incfg.formats on every output link to a list of pixel/sample
 | 
			
		||||
     * formats that the filter supports on that link. For audio links, this
 | 
			
		||||
     * filter must also set @ref AVFilterLink.incfg.samplerates "in_samplerates" /
 | 
			
		||||
     * @ref AVFilterLink.outcfg.samplerates "out_samplerates" and
 | 
			
		||||
     * @ref AVFilterLink.incfg.channel_layouts "in_channel_layouts" /
 | 
			
		||||
     * @ref AVFilterLink.outcfg.channel_layouts "out_channel_layouts" analogously.
 | 
			
		||||
     *
 | 
			
		||||
     * This callback must never be NULL if the union is in this state.
 | 
			
		||||
     *
 | 
			
		||||
     * @return zero on success, a negative value corresponding to an
 | 
			
		||||
     * AVERROR code otherwise
 | 
			
		||||
     */
 | 
			
		||||
        /**
 | 
			
		||||
         * Query formats supported by the filter on its inputs and outputs.
 | 
			
		||||
         *
 | 
			
		||||
         * This callback is called after the filter is initialized (so the inputs
 | 
			
		||||
         * and outputs are fixed), shortly before the format negotiation. This
 | 
			
		||||
         * callback may be called more than once.
 | 
			
		||||
         *
 | 
			
		||||
         * This callback must set AVFilterLink.outcfg.formats on every input link
 | 
			
		||||
         * and AVFilterLink.incfg.formats on every output link to a list of
 | 
			
		||||
         * pixel/sample formats that the filter supports on that link. For audio
 | 
			
		||||
         * links, this filter must also set @ref AVFilterLink.incfg.samplerates
 | 
			
		||||
         * "in_samplerates" / @ref AVFilterLink.outcfg.samplerates "out_samplerates"
 | 
			
		||||
         * and @ref AVFilterLink.incfg.channel_layouts "in_channel_layouts" /
 | 
			
		||||
         * @ref AVFilterLink.outcfg.channel_layouts "out_channel_layouts" analogously.
 | 
			
		||||
         *
 | 
			
		||||
         * This callback must never be NULL if the union is in this state.
 | 
			
		||||
         *
 | 
			
		||||
         * @return zero on success, a negative value corresponding to an
 | 
			
		||||
         * AVERROR code otherwise
 | 
			
		||||
         */
 | 
			
		||||
        int (*query_func)(AVFilterContext *);
 | 
			
		||||
        /**
 | 
			
		||||
         * A pointer to an array of admissible pixel formats delimited
 | 
			
		||||
 | 
			
		||||
@ -50,32 +50,32 @@ typedef struct AmplifyContext {
 | 
			
		||||
    AVFrame **frames;
 | 
			
		||||
} AmplifyContext;
 | 
			
		||||
 | 
			
		||||
    static const enum AVPixelFormat pixel_fmts[] = {
 | 
			
		||||
        AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9,
 | 
			
		||||
        AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14,
 | 
			
		||||
        AV_PIX_FMT_GRAY16,
 | 
			
		||||
        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,
 | 
			
		||||
        AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV420P12,
 | 
			
		||||
        AV_PIX_FMT_YUV440P12,
 | 
			
		||||
        AV_PIX_FMT_YUV444P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV420P14,
 | 
			
		||||
        AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
        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_YUVA420P,  AV_PIX_FMT_YUVA422P,   AV_PIX_FMT_YUVA444P,
 | 
			
		||||
        AV_PIX_FMT_YUVA444P9, AV_PIX_FMT_YUVA444P10, AV_PIX_FMT_YUVA444P12, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA422P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA420P16,
 | 
			
		||||
        AV_PIX_FMT_GBRAP,     AV_PIX_FMT_GBRAP10,    AV_PIX_FMT_GBRAP12,    AV_PIX_FMT_GBRAP16,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
static const enum AVPixelFormat pixel_fmts[] = {
 | 
			
		||||
    AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9,
 | 
			
		||||
    AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14,
 | 
			
		||||
    AV_PIX_FMT_GRAY16,
 | 
			
		||||
    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,
 | 
			
		||||
    AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV420P12,
 | 
			
		||||
    AV_PIX_FMT_YUV440P12,
 | 
			
		||||
    AV_PIX_FMT_YUV444P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV420P14,
 | 
			
		||||
    AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
    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_YUVA420P,  AV_PIX_FMT_YUVA422P,   AV_PIX_FMT_YUVA444P,
 | 
			
		||||
    AV_PIX_FMT_YUVA444P9, AV_PIX_FMT_YUVA444P10, AV_PIX_FMT_YUVA444P12, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA422P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA420P16,
 | 
			
		||||
    AV_PIX_FMT_GBRAP,     AV_PIX_FMT_GBRAP10,    AV_PIX_FMT_GBRAP12,    AV_PIX_FMT_GBRAP16,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static av_cold int init(AVFilterContext *ctx)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -89,35 +89,35 @@ static const AVOption atadenoise_options[] = {
 | 
			
		||||
 | 
			
		||||
AVFILTER_DEFINE_CLASS(atadenoise);
 | 
			
		||||
 | 
			
		||||
    static const enum AVPixelFormat pixel_fmts[] = {
 | 
			
		||||
        AV_PIX_FMT_GRAY8,
 | 
			
		||||
        AV_PIX_FMT_GRAY9,
 | 
			
		||||
        AV_PIX_FMT_GRAY10,
 | 
			
		||||
        AV_PIX_FMT_GRAY12,
 | 
			
		||||
        AV_PIX_FMT_GRAY14,
 | 
			
		||||
        AV_PIX_FMT_GRAY16,
 | 
			
		||||
        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,
 | 
			
		||||
        AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV420P12,
 | 
			
		||||
        AV_PIX_FMT_YUV440P12,
 | 
			
		||||
        AV_PIX_FMT_YUV444P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV420P14,
 | 
			
		||||
        AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
        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_YUVA420P,  AV_PIX_FMT_YUVA422P,   AV_PIX_FMT_YUVA444P,
 | 
			
		||||
        AV_PIX_FMT_YUVA444P9, AV_PIX_FMT_YUVA444P10, AV_PIX_FMT_YUVA444P12, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA422P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA420P16,
 | 
			
		||||
        AV_PIX_FMT_GBRAP,     AV_PIX_FMT_GBRAP10,    AV_PIX_FMT_GBRAP12,    AV_PIX_FMT_GBRAP16,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
static const enum AVPixelFormat pixel_fmts[] = {
 | 
			
		||||
    AV_PIX_FMT_GRAY8,
 | 
			
		||||
    AV_PIX_FMT_GRAY9,
 | 
			
		||||
    AV_PIX_FMT_GRAY10,
 | 
			
		||||
    AV_PIX_FMT_GRAY12,
 | 
			
		||||
    AV_PIX_FMT_GRAY14,
 | 
			
		||||
    AV_PIX_FMT_GRAY16,
 | 
			
		||||
    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,
 | 
			
		||||
    AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV420P12,
 | 
			
		||||
    AV_PIX_FMT_YUV440P12,
 | 
			
		||||
    AV_PIX_FMT_YUV444P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV420P14,
 | 
			
		||||
    AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
    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_YUVA420P,  AV_PIX_FMT_YUVA422P,   AV_PIX_FMT_YUVA444P,
 | 
			
		||||
    AV_PIX_FMT_YUVA444P9, AV_PIX_FMT_YUVA444P10, AV_PIX_FMT_YUVA444P12, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA422P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA420P16,
 | 
			
		||||
    AV_PIX_FMT_GBRAP,     AV_PIX_FMT_GBRAP10,    AV_PIX_FMT_GBRAP12,    AV_PIX_FMT_GBRAP16,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static av_cold int init(AVFilterContext *ctx)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -237,27 +237,27 @@ static void averageiir2d(AVFilterContext *ctx, AVFrame *in, AVFrame *out, int pl
 | 
			
		||||
    s->filter[slow](ctx, &td, 0, 0);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
    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_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,
 | 
			
		||||
        AV_PIX_FMT_YUV420P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV444P14,
 | 
			
		||||
        AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA444P9,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
        AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA444P12,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
        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_GBRAP10, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRAP16,
 | 
			
		||||
        AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
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_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,
 | 
			
		||||
    AV_PIX_FMT_YUV420P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV444P14,
 | 
			
		||||
    AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA444P9,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
    AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA444P12,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
    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_GBRAP10, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRAP16,
 | 
			
		||||
    AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static int filter_frame(AVFilterLink *inlink, AVFrame *in)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -46,29 +46,29 @@ static const AVOption bbox_options[] = {
 | 
			
		||||
 | 
			
		||||
AVFILTER_DEFINE_CLASS(bbox);
 | 
			
		||||
 | 
			
		||||
    static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
        AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9,
 | 
			
		||||
        AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14,
 | 
			
		||||
        AV_PIX_FMT_GRAY16,
 | 
			
		||||
        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,
 | 
			
		||||
        AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV420P12,
 | 
			
		||||
        AV_PIX_FMT_YUV440P12,
 | 
			
		||||
        AV_PIX_FMT_YUV444P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV420P14,
 | 
			
		||||
        AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P,  AV_PIX_FMT_YUVA422P,   AV_PIX_FMT_YUVA444P,
 | 
			
		||||
        AV_PIX_FMT_YUVA444P9, AV_PIX_FMT_YUVA444P10, AV_PIX_FMT_YUVA444P12, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA422P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA420P16,
 | 
			
		||||
        AV_PIX_FMT_NONE,
 | 
			
		||||
    };
 | 
			
		||||
static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
    AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9,
 | 
			
		||||
    AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14,
 | 
			
		||||
    AV_PIX_FMT_GRAY16,
 | 
			
		||||
    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,
 | 
			
		||||
    AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV420P12,
 | 
			
		||||
    AV_PIX_FMT_YUV440P12,
 | 
			
		||||
    AV_PIX_FMT_YUV444P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV420P14,
 | 
			
		||||
    AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P,  AV_PIX_FMT_YUVA422P,   AV_PIX_FMT_YUVA444P,
 | 
			
		||||
    AV_PIX_FMT_YUVA444P9, AV_PIX_FMT_YUVA444P10, AV_PIX_FMT_YUVA444P12, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA422P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA420P16,
 | 
			
		||||
    AV_PIX_FMT_NONE,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define SET_META(key, value) \
 | 
			
		||||
    av_dict_set_int(metadata, key, value, 0);
 | 
			
		||||
 | 
			
		||||
@ -66,26 +66,26 @@ static const AVOption bilateral_options[] = {
 | 
			
		||||
 | 
			
		||||
AVFILTER_DEFINE_CLASS(bilateral);
 | 
			
		||||
 | 
			
		||||
    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_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,
 | 
			
		||||
        AV_PIX_FMT_YUV420P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV444P14,
 | 
			
		||||
        AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA444P9,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
        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_GBRAP10, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRAP16,
 | 
			
		||||
        AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
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_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,
 | 
			
		||||
    AV_PIX_FMT_YUV420P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV444P14,
 | 
			
		||||
    AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA444P9,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
    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_GBRAP10, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRAP16,
 | 
			
		||||
    AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static int config_params(AVFilterContext *ctx)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -47,23 +47,23 @@ static const AVOption bitplanenoise_options[] = {
 | 
			
		||||
 | 
			
		||||
AVFILTER_DEFINE_CLASS(bitplanenoise);
 | 
			
		||||
 | 
			
		||||
    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,
 | 
			
		||||
        AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV420P12,
 | 
			
		||||
        AV_PIX_FMT_YUV440P12,
 | 
			
		||||
        AV_PIX_FMT_YUV444P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV420P14,
 | 
			
		||||
        AV_PIX_FMT_YUV444P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV420P16,
 | 
			
		||||
        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_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
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,
 | 
			
		||||
    AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV420P12,
 | 
			
		||||
    AV_PIX_FMT_YUV440P12,
 | 
			
		||||
    AV_PIX_FMT_YUV444P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV420P14,
 | 
			
		||||
    AV_PIX_FMT_YUV444P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV420P16,
 | 
			
		||||
    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_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static int config_input(AVFilterLink *inlink)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -73,28 +73,28 @@ static const enum AVPixelFormat yuvj_formats[] = {
 | 
			
		||||
    YUVJ_FORMATS, AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
    static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
        AV_PIX_FMT_GRAY8,
 | 
			
		||||
        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_NV12, AV_PIX_FMT_NV21,
 | 
			
		||||
        YUVJ_FORMATS,
 | 
			
		||||
        AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14,
 | 
			
		||||
        AV_PIX_FMT_GRAY16,
 | 
			
		||||
        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,
 | 
			
		||||
        AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV420P12,
 | 
			
		||||
        AV_PIX_FMT_YUV440P12,
 | 
			
		||||
        AV_PIX_FMT_YUV444P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV420P14,
 | 
			
		||||
        AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P,  AV_PIX_FMT_YUVA422P,   AV_PIX_FMT_YUVA444P,
 | 
			
		||||
        AV_PIX_FMT_YUVA444P9, AV_PIX_FMT_YUVA444P10, AV_PIX_FMT_YUVA444P12, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA422P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA420P16,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
    AV_PIX_FMT_GRAY8,
 | 
			
		||||
    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_NV12, AV_PIX_FMT_NV21,
 | 
			
		||||
    YUVJ_FORMATS,
 | 
			
		||||
    AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14,
 | 
			
		||||
    AV_PIX_FMT_GRAY16,
 | 
			
		||||
    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,
 | 
			
		||||
    AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV420P12,
 | 
			
		||||
    AV_PIX_FMT_YUV440P12,
 | 
			
		||||
    AV_PIX_FMT_YUV444P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV420P14,
 | 
			
		||||
    AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P,  AV_PIX_FMT_YUVA422P,   AV_PIX_FMT_YUVA444P,
 | 
			
		||||
    AV_PIX_FMT_YUVA444P9, AV_PIX_FMT_YUVA444P10, AV_PIX_FMT_YUVA444P12, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA422P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA420P16,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static int config_input(AVFilterLink *inlink)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -46,11 +46,11 @@ typedef struct BlackFrameContext {
 | 
			
		||||
    unsigned int last_keyframe; ///< frame number of the last received key-frame
 | 
			
		||||
} BlackFrameContext;
 | 
			
		||||
 | 
			
		||||
    static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
        AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_GRAY8, AV_PIX_FMT_NV12,
 | 
			
		||||
        AV_PIX_FMT_NV21, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV411P,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
    AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_GRAY8, AV_PIX_FMT_NV12,
 | 
			
		||||
    AV_PIX_FMT_NV21, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV411P,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define SET_META(key, format, value) \
 | 
			
		||||
    snprintf(buf, sizeof(buf), format, value);  \
 | 
			
		||||
 | 
			
		||||
@ -326,26 +326,26 @@ static av_cold int init(AVFilterContext *ctx)
 | 
			
		||||
    return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
    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_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA444P9, AV_PIX_FMT_GBRP9, AV_PIX_FMT_GRAY9,
 | 
			
		||||
        AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV440P10,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
        AV_PIX_FMT_GBRP10, AV_PIX_FMT_GBRAP10, AV_PIX_FMT_GRAY10,
 | 
			
		||||
        AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV440P12,
 | 
			
		||||
        AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA444P12,
 | 
			
		||||
        AV_PIX_FMT_GBRP12, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GRAY12,
 | 
			
		||||
        AV_PIX_FMT_YUV420P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV444P14, AV_PIX_FMT_GBRP14,
 | 
			
		||||
        AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
        AV_PIX_FMT_GBRP16, AV_PIX_FMT_GBRAP16, AV_PIX_FMT_GRAY16,
 | 
			
		||||
        AV_PIX_FMT_GBRPF32, AV_PIX_FMT_GBRAPF32, AV_PIX_FMT_GRAYF32,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
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_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA444P9, AV_PIX_FMT_GBRP9, AV_PIX_FMT_GRAY9,
 | 
			
		||||
    AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV440P10,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
    AV_PIX_FMT_GBRP10, AV_PIX_FMT_GBRAP10, AV_PIX_FMT_GRAY10,
 | 
			
		||||
    AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV440P12,
 | 
			
		||||
    AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA444P12,
 | 
			
		||||
    AV_PIX_FMT_GBRP12, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GRAY12,
 | 
			
		||||
    AV_PIX_FMT_YUV420P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV444P14, AV_PIX_FMT_GBRP14,
 | 
			
		||||
    AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
    AV_PIX_FMT_GBRP16, AV_PIX_FMT_GBRAP16, AV_PIX_FMT_GRAY16,
 | 
			
		||||
    AV_PIX_FMT_GBRPF32, AV_PIX_FMT_GBRAPF32, AV_PIX_FMT_GRAYF32,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static av_cold void uninit(AVFilterContext *ctx)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -160,31 +160,31 @@ static const AVOption bm3d_options[] = {
 | 
			
		||||
 | 
			
		||||
AVFILTER_DEFINE_CLASS(bm3d);
 | 
			
		||||
 | 
			
		||||
    static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
        AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10,
 | 
			
		||||
        AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
        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,
 | 
			
		||||
        AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV420P12,
 | 
			
		||||
        AV_PIX_FMT_YUV440P12,
 | 
			
		||||
        AV_PIX_FMT_YUV444P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV420P14,
 | 
			
		||||
        AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
        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_YUVA420P,  AV_PIX_FMT_YUVA422P,   AV_PIX_FMT_YUVA444P,
 | 
			
		||||
        AV_PIX_FMT_YUVA444P9, AV_PIX_FMT_YUVA444P10, AV_PIX_FMT_YUVA444P12, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA422P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA420P16,
 | 
			
		||||
        AV_PIX_FMT_GBRAP,     AV_PIX_FMT_GBRAP10,    AV_PIX_FMT_GBRAP12,    AV_PIX_FMT_GBRAP16,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
    AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10,
 | 
			
		||||
    AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
    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,
 | 
			
		||||
    AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV420P12,
 | 
			
		||||
    AV_PIX_FMT_YUV440P12,
 | 
			
		||||
    AV_PIX_FMT_YUV444P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV420P14,
 | 
			
		||||
    AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
    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_YUVA420P,  AV_PIX_FMT_YUVA422P,   AV_PIX_FMT_YUVA444P,
 | 
			
		||||
    AV_PIX_FMT_YUVA444P9, AV_PIX_FMT_YUVA444P10, AV_PIX_FMT_YUVA444P12, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA422P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA420P16,
 | 
			
		||||
    AV_PIX_FMT_GBRAP,     AV_PIX_FMT_GBRAP10,    AV_PIX_FMT_GBRAP12,    AV_PIX_FMT_GBRAP16,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static int do_search_boundary(int pos, int plane_boundary, int search_range, int search_step)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -299,26 +299,26 @@ static av_cold void uninit(AVFilterContext *ctx)
 | 
			
		||||
    av_frame_free(&yadif->next);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
    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,
 | 
			
		||||
        AV_PIX_FMT_YUV420P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV444P14,
 | 
			
		||||
        AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA444P,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA444P9,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
        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,
 | 
			
		||||
        AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY16,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
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,
 | 
			
		||||
    AV_PIX_FMT_YUV420P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV444P14,
 | 
			
		||||
    AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA444P,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA444P9,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
    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,
 | 
			
		||||
    AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY16,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static int config_props(AVFilterLink *link)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -201,32 +201,32 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in)
 | 
			
		||||
    return ff_filter_frame(ctx->outputs[0], out);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
    static const enum AVPixelFormat pixel_fmts[] = {
 | 
			
		||||
        AV_PIX_FMT_GRAY8,
 | 
			
		||||
        AV_PIX_FMT_GRAY9,  AV_PIX_FMT_GRAY10,
 | 
			
		||||
        AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
        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,
 | 
			
		||||
        AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV420P12,
 | 
			
		||||
        AV_PIX_FMT_YUV440P12,
 | 
			
		||||
        AV_PIX_FMT_YUV444P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV420P14,
 | 
			
		||||
        AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
        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_YUVA420P,  AV_PIX_FMT_YUVA422P,   AV_PIX_FMT_YUVA444P,
 | 
			
		||||
        AV_PIX_FMT_YUVA444P9, AV_PIX_FMT_YUVA444P10, AV_PIX_FMT_YUVA444P12, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA422P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA420P16,
 | 
			
		||||
        AV_PIX_FMT_GBRAP,     AV_PIX_FMT_GBRAP10,    AV_PIX_FMT_GBRAP12,    AV_PIX_FMT_GBRAP16,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
static const enum AVPixelFormat pixel_fmts[] = {
 | 
			
		||||
    AV_PIX_FMT_GRAY8,
 | 
			
		||||
    AV_PIX_FMT_GRAY9,  AV_PIX_FMT_GRAY10,
 | 
			
		||||
    AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
    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,
 | 
			
		||||
    AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV420P12,
 | 
			
		||||
    AV_PIX_FMT_YUV440P12,
 | 
			
		||||
    AV_PIX_FMT_YUV444P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV420P14,
 | 
			
		||||
    AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
    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_YUVA420P,  AV_PIX_FMT_YUVA422P,   AV_PIX_FMT_YUVA444P,
 | 
			
		||||
    AV_PIX_FMT_YUVA444P9, AV_PIX_FMT_YUVA444P10, AV_PIX_FMT_YUVA444P12, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA422P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA420P16,
 | 
			
		||||
    AV_PIX_FMT_GBRAP,     AV_PIX_FMT_GBRAP10,    AV_PIX_FMT_GBRAP12,    AV_PIX_FMT_GBRAP16,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static av_cold int config_input(AVFilterLink *inlink)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -301,36 +301,6 @@ static av_cold int config_output(AVFilterLink *outlink)
 | 
			
		||||
    return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static const enum AVPixelFormat chromakey_fmts[] = {
 | 
			
		||||
        AV_PIX_FMT_YUVA420P,
 | 
			
		||||
        AV_PIX_FMT_YUVA422P,
 | 
			
		||||
        AV_PIX_FMT_YUVA444P,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P9,  AV_PIX_FMT_YUVA422P9,  AV_PIX_FMT_YUVA444P9,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
        AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA444P12,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    static const enum AVPixelFormat hold_pixel_fmts[] = {
 | 
			
		||||
        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_YUV420P9,   AV_PIX_FMT_YUV422P9,   AV_PIX_FMT_YUV444P9,
 | 
			
		||||
        AV_PIX_FMT_YUV420P10,  AV_PIX_FMT_YUV422P10,  AV_PIX_FMT_YUV444P10,
 | 
			
		||||
        AV_PIX_FMT_YUV444P12,  AV_PIX_FMT_YUV422P12,  AV_PIX_FMT_YUV420P12,
 | 
			
		||||
        AV_PIX_FMT_YUV444P14,  AV_PIX_FMT_YUV422P14,  AV_PIX_FMT_YUV420P14,
 | 
			
		||||
        AV_PIX_FMT_YUV420P16,  AV_PIX_FMT_YUV422P16,  AV_PIX_FMT_YUV444P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P9,  AV_PIX_FMT_YUVA422P9,  AV_PIX_FMT_YUVA444P9,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
        AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA444P12,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
static av_cold int config_input(AVFilterLink *inlink)
 | 
			
		||||
{
 | 
			
		||||
    AVFilterContext *avctx = inlink->dst;
 | 
			
		||||
@ -384,6 +354,17 @@ static const AVOption chromakey_options[] = {
 | 
			
		||||
    { NULL }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static const enum AVPixelFormat chromakey_fmts[] = {
 | 
			
		||||
    AV_PIX_FMT_YUVA420P,
 | 
			
		||||
    AV_PIX_FMT_YUVA422P,
 | 
			
		||||
    AV_PIX_FMT_YUVA444P,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P9,  AV_PIX_FMT_YUVA422P9,  AV_PIX_FMT_YUVA444P9,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
    AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA444P12,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
AVFILTER_DEFINE_CLASS(chromakey);
 | 
			
		||||
 | 
			
		||||
const AVFilter ff_vf_chromakey = {
 | 
			
		||||
@ -424,6 +405,25 @@ static const AVFilterPad chromahold_outputs[] = {
 | 
			
		||||
    },
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static const enum AVPixelFormat hold_pixel_fmts[] = {
 | 
			
		||||
    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_YUV420P9,   AV_PIX_FMT_YUV422P9,   AV_PIX_FMT_YUV444P9,
 | 
			
		||||
    AV_PIX_FMT_YUV420P10,  AV_PIX_FMT_YUV422P10,  AV_PIX_FMT_YUV444P10,
 | 
			
		||||
    AV_PIX_FMT_YUV444P12,  AV_PIX_FMT_YUV422P12,  AV_PIX_FMT_YUV420P12,
 | 
			
		||||
    AV_PIX_FMT_YUV444P14,  AV_PIX_FMT_YUV422P14,  AV_PIX_FMT_YUV420P14,
 | 
			
		||||
    AV_PIX_FMT_YUV420P16,  AV_PIX_FMT_YUV422P16,  AV_PIX_FMT_YUV444P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P9,  AV_PIX_FMT_YUVA422P9,  AV_PIX_FMT_YUVA444P9,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
    AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA444P12,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
AVFILTER_DEFINE_CLASS(chromahold);
 | 
			
		||||
 | 
			
		||||
const AVFilter ff_vf_chromahold = {
 | 
			
		||||
 | 
			
		||||
@ -56,21 +56,21 @@ typedef struct ChromaNRContext {
 | 
			
		||||
    int (*filter_slice)(AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs);
 | 
			
		||||
} ChromaNRContext;
 | 
			
		||||
 | 
			
		||||
    static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
        AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV444P,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA444P,
 | 
			
		||||
        AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, 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_YUV440P10, AV_PIX_FMT_YUV444P10,
 | 
			
		||||
        AV_PIX_FMT_YUV444P12,  AV_PIX_FMT_YUV422P12,  AV_PIX_FMT_YUV440P12, AV_PIX_FMT_YUV420P12,
 | 
			
		||||
        AV_PIX_FMT_YUV444P14,  AV_PIX_FMT_YUV422P14,  AV_PIX_FMT_YUV420P14,
 | 
			
		||||
        AV_PIX_FMT_YUV420P16,  AV_PIX_FMT_YUV422P16,  AV_PIX_FMT_YUV444P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P9,  AV_PIX_FMT_YUVA422P9,  AV_PIX_FMT_YUVA444P9,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
        AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA444P12,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
    AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV444P,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA444P,
 | 
			
		||||
    AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, 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_YUV440P10, AV_PIX_FMT_YUV444P10,
 | 
			
		||||
    AV_PIX_FMT_YUV444P12,  AV_PIX_FMT_YUV422P12,  AV_PIX_FMT_YUV440P12, AV_PIX_FMT_YUV420P12,
 | 
			
		||||
    AV_PIX_FMT_YUV444P14,  AV_PIX_FMT_YUV422P14,  AV_PIX_FMT_YUV420P14,
 | 
			
		||||
    AV_PIX_FMT_YUV420P16,  AV_PIX_FMT_YUV422P16,  AV_PIX_FMT_YUV444P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P9,  AV_PIX_FMT_YUVA422P9,  AV_PIX_FMT_YUVA444P9,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
    AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA444P12,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define SQR(x) ((x)*(x))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -52,28 +52,6 @@ typedef struct ChromaShiftContext {
 | 
			
		||||
    int (*filter_slice)(AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs);
 | 
			
		||||
} ChromaShiftContext;
 | 
			
		||||
 | 
			
		||||
    static const enum AVPixelFormat yuv_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_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,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
        AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV440P12,
 | 
			
		||||
        AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA444P12,
 | 
			
		||||
        AV_PIX_FMT_YUV444P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV420P14,
 | 
			
		||||
        AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
    static const enum AVPixelFormat rgb_pix_fmts[] = {
 | 
			
		||||
        AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRAP, AV_PIX_FMT_GBRP9,
 | 
			
		||||
        AV_PIX_FMT_GBRP10, AV_PIX_FMT_GBRP12,
 | 
			
		||||
        AV_PIX_FMT_GBRP14, AV_PIX_FMT_GBRP16,
 | 
			
		||||
        AV_PIX_FMT_GBRAP10, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRAP16,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
#define DEFINE_SMEAR(depth, type, div)                                                    \
 | 
			
		||||
static int smear_slice ## depth(AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs)  \
 | 
			
		||||
{                                                                                         \
 | 
			
		||||
@ -427,6 +405,21 @@ static const AVFilterPad outputs[] = {
 | 
			
		||||
    },
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static const enum AVPixelFormat yuv_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_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,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
    AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV440P12,
 | 
			
		||||
    AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA444P12,
 | 
			
		||||
    AV_PIX_FMT_YUV444P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV420P14,
 | 
			
		||||
    AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
AVFILTER_DEFINE_CLASS(chromashift);
 | 
			
		||||
 | 
			
		||||
const AVFilter ff_vf_chromashift = {
 | 
			
		||||
@ -441,6 +434,14 @@ const AVFilter ff_vf_chromashift = {
 | 
			
		||||
    .process_command = process_command,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static const enum AVPixelFormat rgb_pix_fmts[] = {
 | 
			
		||||
    AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRAP, AV_PIX_FMT_GBRP9,
 | 
			
		||||
    AV_PIX_FMT_GBRP10, AV_PIX_FMT_GBRP12,
 | 
			
		||||
    AV_PIX_FMT_GBRP14, AV_PIX_FMT_GBRP16,
 | 
			
		||||
    AV_PIX_FMT_GBRAP10, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRAP16,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static const AVOption rgbashift_options[] = {
 | 
			
		||||
    { "rh", "shift red horizontally",   OFFSET(rh),   AV_OPT_TYPE_INT,   {.i64=0}, -255, 255, .flags = VFR },
 | 
			
		||||
    { "rv", "shift red vertically",     OFFSET(rv),   AV_OPT_TYPE_INT,   {.i64=0}, -255, 255, .flags = VFR },
 | 
			
		||||
 | 
			
		||||
@ -74,22 +74,22 @@ static const AVOption colorbalance_options[] = {
 | 
			
		||||
 | 
			
		||||
AVFILTER_DEFINE_CLASS(colorbalance);
 | 
			
		||||
 | 
			
		||||
    static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
        AV_PIX_FMT_RGB24, AV_PIX_FMT_BGR24,
 | 
			
		||||
        AV_PIX_FMT_RGBA,  AV_PIX_FMT_BGRA,
 | 
			
		||||
        AV_PIX_FMT_ABGR,  AV_PIX_FMT_ARGB,
 | 
			
		||||
        AV_PIX_FMT_0BGR,  AV_PIX_FMT_0RGB,
 | 
			
		||||
        AV_PIX_FMT_RGB0,  AV_PIX_FMT_BGR0,
 | 
			
		||||
        AV_PIX_FMT_RGB48,  AV_PIX_FMT_BGR48,
 | 
			
		||||
        AV_PIX_FMT_RGBA64, AV_PIX_FMT_BGRA64,
 | 
			
		||||
        AV_PIX_FMT_GBRP,   AV_PIX_FMT_GBRAP,
 | 
			
		||||
        AV_PIX_FMT_GBRP9,
 | 
			
		||||
        AV_PIX_FMT_GBRP10, AV_PIX_FMT_GBRAP10,
 | 
			
		||||
        AV_PIX_FMT_GBRP12, AV_PIX_FMT_GBRAP12,
 | 
			
		||||
        AV_PIX_FMT_GBRP14,
 | 
			
		||||
        AV_PIX_FMT_GBRP16, AV_PIX_FMT_GBRAP16,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
    AV_PIX_FMT_RGB24, AV_PIX_FMT_BGR24,
 | 
			
		||||
    AV_PIX_FMT_RGBA,  AV_PIX_FMT_BGRA,
 | 
			
		||||
    AV_PIX_FMT_ABGR,  AV_PIX_FMT_ARGB,
 | 
			
		||||
    AV_PIX_FMT_0BGR,  AV_PIX_FMT_0RGB,
 | 
			
		||||
    AV_PIX_FMT_RGB0,  AV_PIX_FMT_BGR0,
 | 
			
		||||
    AV_PIX_FMT_RGB48,  AV_PIX_FMT_BGR48,
 | 
			
		||||
    AV_PIX_FMT_RGBA64, AV_PIX_FMT_BGRA64,
 | 
			
		||||
    AV_PIX_FMT_GBRP,   AV_PIX_FMT_GBRAP,
 | 
			
		||||
    AV_PIX_FMT_GBRP9,
 | 
			
		||||
    AV_PIX_FMT_GBRP10, AV_PIX_FMT_GBRAP10,
 | 
			
		||||
    AV_PIX_FMT_GBRP12, AV_PIX_FMT_GBRAP12,
 | 
			
		||||
    AV_PIX_FMT_GBRP14,
 | 
			
		||||
    AV_PIX_FMT_GBRP16, AV_PIX_FMT_GBRAP16,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static float get_component(float v, float l,
 | 
			
		||||
                           float s, float m, float h)
 | 
			
		||||
 | 
			
		||||
@ -90,22 +90,22 @@ static const AVOption colorchannelmixer_options[] = {
 | 
			
		||||
 | 
			
		||||
AVFILTER_DEFINE_CLASS(colorchannelmixer);
 | 
			
		||||
 | 
			
		||||
    static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
        AV_PIX_FMT_RGB24,  AV_PIX_FMT_BGR24,
 | 
			
		||||
        AV_PIX_FMT_RGBA,   AV_PIX_FMT_BGRA,
 | 
			
		||||
        AV_PIX_FMT_ARGB,   AV_PIX_FMT_ABGR,
 | 
			
		||||
        AV_PIX_FMT_0RGB,   AV_PIX_FMT_0BGR,
 | 
			
		||||
        AV_PIX_FMT_RGB0,   AV_PIX_FMT_BGR0,
 | 
			
		||||
        AV_PIX_FMT_RGB48,  AV_PIX_FMT_BGR48,
 | 
			
		||||
        AV_PIX_FMT_RGBA64, AV_PIX_FMT_BGRA64,
 | 
			
		||||
        AV_PIX_FMT_GBRP,   AV_PIX_FMT_GBRAP,
 | 
			
		||||
        AV_PIX_FMT_GBRP9,
 | 
			
		||||
        AV_PIX_FMT_GBRP10, AV_PIX_FMT_GBRAP10,
 | 
			
		||||
        AV_PIX_FMT_GBRP12, AV_PIX_FMT_GBRAP12,
 | 
			
		||||
        AV_PIX_FMT_GBRP14,
 | 
			
		||||
        AV_PIX_FMT_GBRP16, AV_PIX_FMT_GBRAP16,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
    AV_PIX_FMT_RGB24,  AV_PIX_FMT_BGR24,
 | 
			
		||||
    AV_PIX_FMT_RGBA,   AV_PIX_FMT_BGRA,
 | 
			
		||||
    AV_PIX_FMT_ARGB,   AV_PIX_FMT_ABGR,
 | 
			
		||||
    AV_PIX_FMT_0RGB,   AV_PIX_FMT_0BGR,
 | 
			
		||||
    AV_PIX_FMT_RGB0,   AV_PIX_FMT_BGR0,
 | 
			
		||||
    AV_PIX_FMT_RGB48,  AV_PIX_FMT_BGR48,
 | 
			
		||||
    AV_PIX_FMT_RGBA64, AV_PIX_FMT_BGRA64,
 | 
			
		||||
    AV_PIX_FMT_GBRP,   AV_PIX_FMT_GBRAP,
 | 
			
		||||
    AV_PIX_FMT_GBRP9,
 | 
			
		||||
    AV_PIX_FMT_GBRP10, AV_PIX_FMT_GBRAP10,
 | 
			
		||||
    AV_PIX_FMT_GBRP12, AV_PIX_FMT_GBRAP12,
 | 
			
		||||
    AV_PIX_FMT_GBRP14,
 | 
			
		||||
    AV_PIX_FMT_GBRP16, AV_PIX_FMT_GBRAP16,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static float lerpf(float v0, float v1, float f)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -310,20 +310,20 @@ static int filter_frame(AVFilterLink *link, AVFrame *frame)
 | 
			
		||||
    return ff_filter_frame(ctx->outputs[0], frame);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
    static const enum AVPixelFormat pixel_fmts[] = {
 | 
			
		||||
        AV_PIX_FMT_RGB24, AV_PIX_FMT_BGR24,
 | 
			
		||||
        AV_PIX_FMT_RGBA, AV_PIX_FMT_BGRA,
 | 
			
		||||
        AV_PIX_FMT_ARGB, AV_PIX_FMT_ABGR,
 | 
			
		||||
        AV_PIX_FMT_0RGB, AV_PIX_FMT_0BGR,
 | 
			
		||||
        AV_PIX_FMT_RGB0, AV_PIX_FMT_BGR0,
 | 
			
		||||
        AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRAP,
 | 
			
		||||
        AV_PIX_FMT_GBRP9, AV_PIX_FMT_GBRP10, AV_PIX_FMT_GBRP12,
 | 
			
		||||
        AV_PIX_FMT_GBRP14, AV_PIX_FMT_GBRP16,
 | 
			
		||||
        AV_PIX_FMT_GBRAP10, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRAP16,
 | 
			
		||||
        AV_PIX_FMT_RGB48,  AV_PIX_FMT_BGR48,
 | 
			
		||||
        AV_PIX_FMT_RGBA64, AV_PIX_FMT_BGRA64,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
static const enum AVPixelFormat pixel_fmts[] = {
 | 
			
		||||
    AV_PIX_FMT_RGB24, AV_PIX_FMT_BGR24,
 | 
			
		||||
    AV_PIX_FMT_RGBA, AV_PIX_FMT_BGRA,
 | 
			
		||||
    AV_PIX_FMT_ARGB, AV_PIX_FMT_ABGR,
 | 
			
		||||
    AV_PIX_FMT_0RGB, AV_PIX_FMT_0BGR,
 | 
			
		||||
    AV_PIX_FMT_RGB0, AV_PIX_FMT_BGR0,
 | 
			
		||||
    AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRAP,
 | 
			
		||||
    AV_PIX_FMT_GBRP9, AV_PIX_FMT_GBRP10, AV_PIX_FMT_GBRP12,
 | 
			
		||||
    AV_PIX_FMT_GBRP14, AV_PIX_FMT_GBRP16,
 | 
			
		||||
    AV_PIX_FMT_GBRAP10, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRAP16,
 | 
			
		||||
    AV_PIX_FMT_RGB48,  AV_PIX_FMT_BGR48,
 | 
			
		||||
    AV_PIX_FMT_RGBA64, AV_PIX_FMT_BGRA64,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static av_cold int config_input(AVFilterLink *inlink)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -428,21 +428,21 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *frame)
 | 
			
		||||
    return ff_filter_frame(ctx->outputs[0], frame);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
    static const enum AVPixelFormat pixel_fmts[] = {
 | 
			
		||||
        AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV444P,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA444P,
 | 
			
		||||
        AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, 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_YUV440P10, AV_PIX_FMT_YUV444P10,
 | 
			
		||||
        AV_PIX_FMT_YUV444P12,  AV_PIX_FMT_YUV422P12,  AV_PIX_FMT_YUV440P12, AV_PIX_FMT_YUV420P12,
 | 
			
		||||
        AV_PIX_FMT_YUV444P14,  AV_PIX_FMT_YUV422P14,  AV_PIX_FMT_YUV420P14,
 | 
			
		||||
        AV_PIX_FMT_YUV420P16,  AV_PIX_FMT_YUV422P16,  AV_PIX_FMT_YUV444P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P9,  AV_PIX_FMT_YUVA422P9,  AV_PIX_FMT_YUVA444P9,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
        AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA444P12,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
static const enum AVPixelFormat pixel_fmts[] = {
 | 
			
		||||
    AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV444P,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA444P,
 | 
			
		||||
    AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ420P, 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_YUV440P10, AV_PIX_FMT_YUV444P10,
 | 
			
		||||
    AV_PIX_FMT_YUV444P12,  AV_PIX_FMT_YUV422P12,  AV_PIX_FMT_YUV440P12, AV_PIX_FMT_YUV420P12,
 | 
			
		||||
    AV_PIX_FMT_YUV444P14,  AV_PIX_FMT_YUV422P14,  AV_PIX_FMT_YUV420P14,
 | 
			
		||||
    AV_PIX_FMT_YUV420P16,  AV_PIX_FMT_YUV422P16,  AV_PIX_FMT_YUV444P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P9,  AV_PIX_FMT_YUVA422P9,  AV_PIX_FMT_YUVA444P9,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
    AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA444P12,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static av_cold int config_input(AVFilterLink *inlink)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -209,26 +209,26 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *frame)
 | 
			
		||||
    return ff_filter_frame(ctx->outputs[0], frame);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
    static const enum AVPixelFormat pixel_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_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,
 | 
			
		||||
        AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV420P12,
 | 
			
		||||
        AV_PIX_FMT_YUV440P12,
 | 
			
		||||
        AV_PIX_FMT_YUV444P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV420P14,
 | 
			
		||||
        AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P,  AV_PIX_FMT_YUVA422P,   AV_PIX_FMT_YUVA444P,
 | 
			
		||||
        AV_PIX_FMT_YUVA444P9, AV_PIX_FMT_YUVA444P10, AV_PIX_FMT_YUVA444P12, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA422P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA420P16,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
static const enum AVPixelFormat pixel_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_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,
 | 
			
		||||
    AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV420P12,
 | 
			
		||||
    AV_PIX_FMT_YUV440P12,
 | 
			
		||||
    AV_PIX_FMT_YUV444P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV420P14,
 | 
			
		||||
    AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P,  AV_PIX_FMT_YUVA422P,   AV_PIX_FMT_YUVA444P,
 | 
			
		||||
    AV_PIX_FMT_YUVA444P9, AV_PIX_FMT_YUVA444P10, AV_PIX_FMT_YUVA444P12, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA422P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA420P16,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static av_cold int config_input(AVFilterLink *inlink)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -159,13 +159,13 @@ static av_cold int config_output(AVFilterLink *outlink)
 | 
			
		||||
    return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
    static const enum AVPixelFormat pixel_fmts[] = {
 | 
			
		||||
        AV_PIX_FMT_ARGB,
 | 
			
		||||
        AV_PIX_FMT_RGBA,
 | 
			
		||||
        AV_PIX_FMT_ABGR,
 | 
			
		||||
        AV_PIX_FMT_BGRA,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
static const enum AVPixelFormat pixel_fmts[] = {
 | 
			
		||||
    AV_PIX_FMT_ARGB,
 | 
			
		||||
    AV_PIX_FMT_RGBA,
 | 
			
		||||
    AV_PIX_FMT_ABGR,
 | 
			
		||||
    AV_PIX_FMT_BGRA,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static const AVFilterPad colorkey_inputs[] = {
 | 
			
		||||
    {
 | 
			
		||||
 | 
			
		||||
@ -276,20 +276,20 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *frame)
 | 
			
		||||
    return ff_filter_frame(ctx->outputs[0], frame);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
    static const enum AVPixelFormat pixel_fmts[] = {
 | 
			
		||||
        AV_PIX_FMT_RGB24, AV_PIX_FMT_BGR24,
 | 
			
		||||
        AV_PIX_FMT_RGBA, AV_PIX_FMT_BGRA,
 | 
			
		||||
        AV_PIX_FMT_ARGB, AV_PIX_FMT_ABGR,
 | 
			
		||||
        AV_PIX_FMT_0RGB, AV_PIX_FMT_0BGR,
 | 
			
		||||
        AV_PIX_FMT_RGB0, AV_PIX_FMT_BGR0,
 | 
			
		||||
        AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRAP,
 | 
			
		||||
        AV_PIX_FMT_GBRP9, AV_PIX_FMT_GBRP10, AV_PIX_FMT_GBRP12,
 | 
			
		||||
        AV_PIX_FMT_GBRP14, AV_PIX_FMT_GBRP16,
 | 
			
		||||
        AV_PIX_FMT_GBRAP10, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRAP16,
 | 
			
		||||
        AV_PIX_FMT_RGB48,  AV_PIX_FMT_BGR48,
 | 
			
		||||
        AV_PIX_FMT_RGBA64, AV_PIX_FMT_BGRA64,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
static const enum AVPixelFormat pixel_fmts[] = {
 | 
			
		||||
    AV_PIX_FMT_RGB24, AV_PIX_FMT_BGR24,
 | 
			
		||||
    AV_PIX_FMT_RGBA, AV_PIX_FMT_BGRA,
 | 
			
		||||
    AV_PIX_FMT_ARGB, AV_PIX_FMT_ABGR,
 | 
			
		||||
    AV_PIX_FMT_0RGB, AV_PIX_FMT_0BGR,
 | 
			
		||||
    AV_PIX_FMT_RGB0, AV_PIX_FMT_BGR0,
 | 
			
		||||
    AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRAP,
 | 
			
		||||
    AV_PIX_FMT_GBRP9, AV_PIX_FMT_GBRP10, AV_PIX_FMT_GBRP12,
 | 
			
		||||
    AV_PIX_FMT_GBRP14, AV_PIX_FMT_GBRP16,
 | 
			
		||||
    AV_PIX_FMT_GBRAP10, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRAP16,
 | 
			
		||||
    AV_PIX_FMT_RGB48,  AV_PIX_FMT_BGR48,
 | 
			
		||||
    AV_PIX_FMT_RGBA64, AV_PIX_FMT_BGRA64,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static av_cold int config_input(AVFilterLink *inlink)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -77,27 +77,27 @@ static const int same7x7[49] = {0, 0, 0, 0, 0, 0, 0,
 | 
			
		||||
                                0, 0, 0, 0, 0, 0, 0,
 | 
			
		||||
                                0, 0, 0, 0, 0, 0, 0};
 | 
			
		||||
 | 
			
		||||
    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_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,
 | 
			
		||||
        AV_PIX_FMT_YUV420P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV444P14,
 | 
			
		||||
        AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA444P9,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
        AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA444P12,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
        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_GBRAP10, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRAP16,
 | 
			
		||||
        AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
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_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,
 | 
			
		||||
    AV_PIX_FMT_YUV420P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV444P14,
 | 
			
		||||
    AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA444P9,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
    AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA444P12,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
    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_GBRAP10, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRAP16,
 | 
			
		||||
    AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef struct ThreadData {
 | 
			
		||||
    AVFrame *in, *out;
 | 
			
		||||
 | 
			
		||||
@ -78,26 +78,26 @@ static const AVOption convolve_options[] = {
 | 
			
		||||
    { NULL },
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
    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_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,
 | 
			
		||||
        AV_PIX_FMT_YUV420P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV444P14,
 | 
			
		||||
        AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA444P9,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
        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_GBRAP10, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRAP16,
 | 
			
		||||
        AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
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_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,
 | 
			
		||||
    AV_PIX_FMT_YUV420P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV444P14,
 | 
			
		||||
    AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA444P9,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
    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_GBRAP10, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRAP16,
 | 
			
		||||
    AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static int config_input_main(AVFilterLink *inlink)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -44,22 +44,22 @@ typedef struct CropDetectContext {
 | 
			
		||||
    int max_outliers;
 | 
			
		||||
} CropDetectContext;
 | 
			
		||||
 | 
			
		||||
    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_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,
 | 
			
		||||
        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_YUV420P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV444P14,
 | 
			
		||||
        AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
        AV_PIX_FMT_NV12,    AV_PIX_FMT_NV21,
 | 
			
		||||
        AV_PIX_FMT_RGB24,   AV_PIX_FMT_BGR24,
 | 
			
		||||
        AV_PIX_FMT_RGBA,    AV_PIX_FMT_BGRA,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
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_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,
 | 
			
		||||
    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_YUV420P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV444P14,
 | 
			
		||||
    AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
    AV_PIX_FMT_NV12,    AV_PIX_FMT_NV21,
 | 
			
		||||
    AV_PIX_FMT_RGB24,   AV_PIX_FMT_BGR24,
 | 
			
		||||
    AV_PIX_FMT_RGBA,    AV_PIX_FMT_BGRA,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static int checkline(void *ctx, const unsigned char *src, int stride, int len, int bpp)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -112,27 +112,27 @@ static void diriir2d(AVFilterContext *ctx, int plane)
 | 
			
		||||
    filter_horizontally(ctx, width, height);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
    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_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,
 | 
			
		||||
        AV_PIX_FMT_YUV420P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV444P14,
 | 
			
		||||
        AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA444P9,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
        AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA444P12,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
        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_GBRAP10, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRAP16,
 | 
			
		||||
        AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
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_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,
 | 
			
		||||
    AV_PIX_FMT_YUV420P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV444P14,
 | 
			
		||||
    AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA444P9,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
    AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA444P12,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
    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_GBRAP10, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRAP16,
 | 
			
		||||
    AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static int config_input(AVFilterLink *inlink)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -654,11 +654,11 @@ static av_cold int init(AVFilterContext *ctx)
 | 
			
		||||
    return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
    static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
        AV_PIX_FMT_BGR24, AV_PIX_FMT_RGB24,
 | 
			
		||||
        AV_PIX_FMT_GBRP,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
    AV_PIX_FMT_BGR24, AV_PIX_FMT_RGB24,
 | 
			
		||||
    AV_PIX_FMT_GBRP,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef struct ThreadData {
 | 
			
		||||
    float *src, *dst;
 | 
			
		||||
 | 
			
		||||
@ -61,27 +61,27 @@ typedef struct DeblockContext {
 | 
			
		||||
                     int ath, int bth, int gth, int dth, int max);
 | 
			
		||||
} DeblockContext;
 | 
			
		||||
 | 
			
		||||
    static const enum AVPixelFormat pixel_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_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,
 | 
			
		||||
        AV_PIX_FMT_YUV420P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV444P14,
 | 
			
		||||
        AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA444P9,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
        AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA444P12,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
        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_GBRAP10, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRAP16,
 | 
			
		||||
        AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
static const enum AVPixelFormat pixel_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_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,
 | 
			
		||||
    AV_PIX_FMT_YUV420P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV444P14,
 | 
			
		||||
    AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA444P9,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
    AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA444P12,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
    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_GBRAP10, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRAP16,
 | 
			
		||||
    AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define WEAK_HFILTER(name, type, ldiv)                                              \
 | 
			
		||||
static void deblockh##name##_weak(uint8_t *dstp, ptrdiff_t dst_linesize, int block, \
 | 
			
		||||
 | 
			
		||||
@ -350,19 +350,19 @@ static av_cold void decimate_uninit(AVFilterContext *ctx)
 | 
			
		||||
    av_freep(&dm->clean_src);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
    static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
#define PF_NOALPHA(suf) AV_PIX_FMT_YUV420##suf,  AV_PIX_FMT_YUV422##suf,  AV_PIX_FMT_YUV444##suf
 | 
			
		||||
#define PF_ALPHA(suf)   AV_PIX_FMT_YUVA420##suf, AV_PIX_FMT_YUVA422##suf, AV_PIX_FMT_YUVA444##suf
 | 
			
		||||
#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_YUV440P10, AV_PIX_FMT_YUV440P12,
 | 
			
		||||
        AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P,
 | 
			
		||||
        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_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14,
 | 
			
		||||
        AV_PIX_FMT_GRAY16,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
    PF(P), PF(P9), PF(P10), PF_NOALPHA(P12), PF_NOALPHA(P14), PF(P16),
 | 
			
		||||
    AV_PIX_FMT_YUV440P10, AV_PIX_FMT_YUV440P12,
 | 
			
		||||
    AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P,
 | 
			
		||||
    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_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14,
 | 
			
		||||
    AV_PIX_FMT_GRAY16,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static int config_output(AVFilterLink *outlink)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -56,23 +56,23 @@ typedef struct DedotContext {
 | 
			
		||||
    int (*derainbow)(AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs);
 | 
			
		||||
} DedotContext;
 | 
			
		||||
 | 
			
		||||
    static const enum AVPixelFormat pixel_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_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,
 | 
			
		||||
        AV_PIX_FMT_YUV420P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV444P14,
 | 
			
		||||
        AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA444P9,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
        AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA444P12,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
static const enum AVPixelFormat pixel_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_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,
 | 
			
		||||
    AV_PIX_FMT_YUV420P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV444P14,
 | 
			
		||||
    AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA444P9,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
    AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA444P12,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define DEFINE_DEDOTCRAWL(name, type, div)                       \
 | 
			
		||||
static int dedotcrawl##name(AVFilterContext *ctx, void *arg,     \
 | 
			
		||||
 | 
			
		||||
@ -91,28 +91,28 @@ static const AVOption deflicker_options[] = {
 | 
			
		||||
 | 
			
		||||
AVFILTER_DEFINE_CLASS(deflicker);
 | 
			
		||||
 | 
			
		||||
    static const enum AVPixelFormat pixel_fmts[] = {
 | 
			
		||||
        AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10,
 | 
			
		||||
        AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
        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,
 | 
			
		||||
        AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV420P12,
 | 
			
		||||
        AV_PIX_FMT_YUV440P12,
 | 
			
		||||
        AV_PIX_FMT_YUV444P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV420P14,
 | 
			
		||||
        AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P,  AV_PIX_FMT_YUVA422P,   AV_PIX_FMT_YUVA444P,
 | 
			
		||||
        AV_PIX_FMT_YUVA444P9, AV_PIX_FMT_YUVA444P10, AV_PIX_FMT_YUVA444P12, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA422P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA420P16,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
static const enum AVPixelFormat pixel_fmts[] = {
 | 
			
		||||
    AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10,
 | 
			
		||||
    AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
    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,
 | 
			
		||||
    AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV420P12,
 | 
			
		||||
    AV_PIX_FMT_YUV440P12,
 | 
			
		||||
    AV_PIX_FMT_YUV444P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV420P14,
 | 
			
		||||
    AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P,  AV_PIX_FMT_YUVA422P,   AV_PIX_FMT_YUVA444P,
 | 
			
		||||
    AV_PIX_FMT_YUVA444P9, AV_PIX_FMT_YUVA444P10, AV_PIX_FMT_YUVA444P12, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA422P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA420P16,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static int deflicker8(AVFilterContext *ctx,
 | 
			
		||||
                      const uint8_t *src, ptrdiff_t src_linesize,
 | 
			
		||||
 | 
			
		||||
@ -225,12 +225,12 @@ static av_cold void uninit(AVFilterContext *ctx)
 | 
			
		||||
    av_expr_free(s->h_pexpr);    s->h_pexpr = NULL;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
    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_YUV440P,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P, AV_PIX_FMT_GRAY8,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
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_YUV440P,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P, AV_PIX_FMT_GRAY8,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static av_cold int init(AVFilterContext *ctx)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -372,11 +372,11 @@ static av_cold int init(AVFilterContext *ctx)
 | 
			
		||||
    return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
    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
 | 
			
		||||
    };
 | 
			
		||||
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
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static int config_props(AVFilterLink *link)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -114,13 +114,13 @@ static av_cold int config_output(AVFilterLink *outlink)
 | 
			
		||||
    return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
    static const enum AVPixelFormat pixel_fmts[] = {
 | 
			
		||||
        AV_PIX_FMT_ARGB,
 | 
			
		||||
        AV_PIX_FMT_RGBA,
 | 
			
		||||
        AV_PIX_FMT_ABGR,
 | 
			
		||||
        AV_PIX_FMT_BGRA,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
static const enum AVPixelFormat pixel_fmts[] = {
 | 
			
		||||
    AV_PIX_FMT_ARGB,
 | 
			
		||||
    AV_PIX_FMT_RGBA,
 | 
			
		||||
    AV_PIX_FMT_ABGR,
 | 
			
		||||
    AV_PIX_FMT_BGRA,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static const AVFilterPad despill_inputs[] = {
 | 
			
		||||
    {
 | 
			
		||||
 | 
			
		||||
@ -63,18 +63,18 @@ static const AVOption displace_options[] = {
 | 
			
		||||
 | 
			
		||||
AVFILTER_DEFINE_CLASS(displace);
 | 
			
		||||
 | 
			
		||||
    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_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,
 | 
			
		||||
        AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRAP,
 | 
			
		||||
        AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
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_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,
 | 
			
		||||
    AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRAP,
 | 
			
		||||
    AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static void displace_planar(DisplaceContext *s, const AVFrame *in,
 | 
			
		||||
                            const AVFrame *xpic, const AVFrame *ypic,
 | 
			
		||||
 | 
			
		||||
@ -197,14 +197,14 @@ static av_cold int dnn_classify_init(AVFilterContext *context)
 | 
			
		||||
    return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
    static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
        AV_PIX_FMT_RGB24, AV_PIX_FMT_BGR24,
 | 
			
		||||
        AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAYF32,
 | 
			
		||||
        AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P,
 | 
			
		||||
        AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P,
 | 
			
		||||
        AV_PIX_FMT_NV12,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
    AV_PIX_FMT_RGB24, AV_PIX_FMT_BGR24,
 | 
			
		||||
    AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAYF32,
 | 
			
		||||
    AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P,
 | 
			
		||||
    AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P,
 | 
			
		||||
    AV_PIX_FMT_NV12,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static int dnn_classify_flush_frame(AVFilterLink *outlink, int64_t pts, int64_t *out_pts)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -340,14 +340,14 @@ static av_cold int dnn_detect_init(AVFilterContext *context)
 | 
			
		||||
    return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
    static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
        AV_PIX_FMT_RGB24, AV_PIX_FMT_BGR24,
 | 
			
		||||
        AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAYF32,
 | 
			
		||||
        AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P,
 | 
			
		||||
        AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P,
 | 
			
		||||
        AV_PIX_FMT_NV12,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
    AV_PIX_FMT_RGB24, AV_PIX_FMT_BGR24,
 | 
			
		||||
    AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAYF32,
 | 
			
		||||
    AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P,
 | 
			
		||||
    AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P,
 | 
			
		||||
    AV_PIX_FMT_NV12,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static int dnn_detect_flush_frame(AVFilterLink *outlink, int64_t pts, int64_t *out_pts)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -65,14 +65,14 @@ static av_cold int init(AVFilterContext *context)
 | 
			
		||||
    return ff_dnn_init(&ctx->dnnctx, DFT_PROCESS_FRAME, context);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
    static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
        AV_PIX_FMT_RGB24, AV_PIX_FMT_BGR24,
 | 
			
		||||
        AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAYF32,
 | 
			
		||||
        AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P,
 | 
			
		||||
        AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P,
 | 
			
		||||
        AV_PIX_FMT_NV12,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
    AV_PIX_FMT_RGB24, AV_PIX_FMT_BGR24,
 | 
			
		||||
    AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAYF32,
 | 
			
		||||
    AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P,
 | 
			
		||||
    AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P,
 | 
			
		||||
    AV_PIX_FMT_NV12,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define LOG_FORMAT_CHANNEL_MISMATCH()                       \
 | 
			
		||||
    av_log(ctx, AV_LOG_ERROR,                               \
 | 
			
		||||
 | 
			
		||||
@ -183,14 +183,14 @@ static av_cold int init(AVFilterContext *ctx)
 | 
			
		||||
    return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
    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_YUVA420P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA444P,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
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_YUVA420P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA444P,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static int config_input(AVFilterLink *inlink)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -53,23 +53,23 @@ static const AVOption entropy_options[] = {
 | 
			
		||||
 | 
			
		||||
AVFILTER_DEFINE_CLASS(entropy);
 | 
			
		||||
 | 
			
		||||
    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,
 | 
			
		||||
        AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV420P12,
 | 
			
		||||
        AV_PIX_FMT_YUV440P12,
 | 
			
		||||
        AV_PIX_FMT_YUV444P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV420P14,
 | 
			
		||||
        AV_PIX_FMT_YUV444P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV420P16,
 | 
			
		||||
        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_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
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,
 | 
			
		||||
    AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV420P12,
 | 
			
		||||
    AV_PIX_FMT_YUV440P12,
 | 
			
		||||
    AV_PIX_FMT_YUV444P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV420P14,
 | 
			
		||||
    AV_PIX_FMT_YUV444P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV420P16,
 | 
			
		||||
    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_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static int config_input(AVFilterLink *inlink)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -221,10 +221,10 @@ static int config_output(AVFilterLink *outlink)
 | 
			
		||||
    return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
    static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
        AV_PIX_FMT_RGBA, AV_PIX_FMT_BGRA, AV_PIX_FMT_ARGB, AV_PIX_FMT_ABGR,
 | 
			
		||||
        AV_PIX_FMT_NONE,
 | 
			
		||||
    };
 | 
			
		||||
static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
    AV_PIX_FMT_RGBA, AV_PIX_FMT_BGRA, AV_PIX_FMT_ARGB, AV_PIX_FMT_ABGR,
 | 
			
		||||
    AV_PIX_FMT_NONE,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static int filter_frame(AVFilterLink *inlink, AVFrame *in)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -232,15 +232,15 @@ static int config_props(AVFilterLink *inlink)
 | 
			
		||||
    return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
    static const enum AVPixelFormat pixel_fmts_eq[] = {
 | 
			
		||||
        AV_PIX_FMT_GRAY8,
 | 
			
		||||
        AV_PIX_FMT_YUV410P,
 | 
			
		||||
        AV_PIX_FMT_YUV411P,
 | 
			
		||||
        AV_PIX_FMT_YUV420P,
 | 
			
		||||
        AV_PIX_FMT_YUV422P,
 | 
			
		||||
        AV_PIX_FMT_YUV444P,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
static const enum AVPixelFormat pixel_fmts_eq[] = {
 | 
			
		||||
    AV_PIX_FMT_GRAY8,
 | 
			
		||||
    AV_PIX_FMT_YUV410P,
 | 
			
		||||
    AV_PIX_FMT_YUV411P,
 | 
			
		||||
    AV_PIX_FMT_YUV420P,
 | 
			
		||||
    AV_PIX_FMT_YUV422P,
 | 
			
		||||
    AV_PIX_FMT_YUV444P,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static int filter_frame(AVFilterLink *inlink, AVFrame *in)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -101,31 +101,31 @@ static const AVOption estdif_options[] = {
 | 
			
		||||
 | 
			
		||||
AVFILTER_DEFINE_CLASS(estdif);
 | 
			
		||||
 | 
			
		||||
    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_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,
 | 
			
		||||
        AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
        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,
 | 
			
		||||
        AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV444P12,
 | 
			
		||||
        AV_PIX_FMT_YUV440P12,
 | 
			
		||||
        AV_PIX_FMT_YUV420P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV444P14,
 | 
			
		||||
        AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
        AV_PIX_FMT_GBRP9, AV_PIX_FMT_GBRP10, AV_PIX_FMT_GBRP12, AV_PIX_FMT_GBRP14, AV_PIX_FMT_GBRP16,
 | 
			
		||||
        AV_PIX_FMT_YUVA444P9, AV_PIX_FMT_YUVA444P10, AV_PIX_FMT_YUVA444P12, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA422P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA420P16,
 | 
			
		||||
        AV_PIX_FMT_GBRAP10,   AV_PIX_FMT_GBRAP12,    AV_PIX_FMT_GBRAP16,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
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_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,
 | 
			
		||||
    AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
    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,
 | 
			
		||||
    AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV444P12,
 | 
			
		||||
    AV_PIX_FMT_YUV440P12,
 | 
			
		||||
    AV_PIX_FMT_YUV420P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV444P14,
 | 
			
		||||
    AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
    AV_PIX_FMT_GBRP9, AV_PIX_FMT_GBRP10, AV_PIX_FMT_GBRP12, AV_PIX_FMT_GBRP14, AV_PIX_FMT_GBRP16,
 | 
			
		||||
    AV_PIX_FMT_YUVA444P9, AV_PIX_FMT_YUVA444P10, AV_PIX_FMT_YUVA444P12, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA422P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA420P16,
 | 
			
		||||
    AV_PIX_FMT_GBRAP10,   AV_PIX_FMT_GBRAP12,    AV_PIX_FMT_GBRAP16,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static int config_output(AVFilterLink *outlink)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -107,32 +107,32 @@ static av_cold int init(AVFilterContext *ctx)
 | 
			
		||||
    return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
    static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
        AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9,
 | 
			
		||||
        AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12,
 | 
			
		||||
        AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
        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,
 | 
			
		||||
        AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV420P12,
 | 
			
		||||
        AV_PIX_FMT_YUV440P12,
 | 
			
		||||
        AV_PIX_FMT_YUV444P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV420P14,
 | 
			
		||||
        AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
        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_YUVA420P,  AV_PIX_FMT_YUVA422P,   AV_PIX_FMT_YUVA444P,
 | 
			
		||||
        AV_PIX_FMT_YUVA444P9, AV_PIX_FMT_YUVA444P10, AV_PIX_FMT_YUVA444P12, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA422P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA420P16,
 | 
			
		||||
        AV_PIX_FMT_GBRAP,     AV_PIX_FMT_GBRAP10,    AV_PIX_FMT_GBRAP12,    AV_PIX_FMT_GBRAP16,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
    AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9,
 | 
			
		||||
    AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12,
 | 
			
		||||
    AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
    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,
 | 
			
		||||
    AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV420P12,
 | 
			
		||||
    AV_PIX_FMT_YUV440P12,
 | 
			
		||||
    AV_PIX_FMT_YUV444P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV420P14,
 | 
			
		||||
    AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
    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_YUVA420P,  AV_PIX_FMT_YUVA422P,   AV_PIX_FMT_YUVA444P,
 | 
			
		||||
    AV_PIX_FMT_YUVA444P9, AV_PIX_FMT_YUVA444P10, AV_PIX_FMT_YUVA444P12, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA422P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA420P16,
 | 
			
		||||
    AV_PIX_FMT_GBRAP,     AV_PIX_FMT_GBRAP10,    AV_PIX_FMT_GBRAP12,    AV_PIX_FMT_GBRAP16,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef struct ThreadData {
 | 
			
		||||
    float *src, *dst;
 | 
			
		||||
 | 
			
		||||
@ -385,22 +385,22 @@ static av_cold void uninit(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_YUV420P9, AV_PIX_FMT_YUV420P10,
 | 
			
		||||
        AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV420P14,
 | 
			
		||||
        AV_PIX_FMT_YUV420P16,
 | 
			
		||||
        AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV422P10,
 | 
			
		||||
        AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV422P14,
 | 
			
		||||
        AV_PIX_FMT_YUV422P16,
 | 
			
		||||
        AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV444P10,
 | 
			
		||||
        AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV444P14,
 | 
			
		||||
        AV_PIX_FMT_YUV444P16,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
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_YUV420P9, AV_PIX_FMT_YUV420P10,
 | 
			
		||||
    AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV420P14,
 | 
			
		||||
    AV_PIX_FMT_YUV420P16,
 | 
			
		||||
    AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV422P10,
 | 
			
		||||
    AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV422P14,
 | 
			
		||||
    AV_PIX_FMT_YUV422P16,
 | 
			
		||||
    AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV444P10,
 | 
			
		||||
    AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV444P14,
 | 
			
		||||
    AV_PIX_FMT_YUV444P16,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static const AVFilterPad fftfilt_inputs[] = {
 | 
			
		||||
    {
 | 
			
		||||
 | 
			
		||||
@ -40,24 +40,23 @@ typedef struct FieldOrderContext {
 | 
			
		||||
 | 
			
		||||
static int query_formats(AVFilterContext *ctx)
 | 
			
		||||
{
 | 
			
		||||
    const AVPixFmtDescriptor *desc = NULL;
 | 
			
		||||
    AVFilterFormats  *formats;
 | 
			
		||||
    enum AVPixelFormat pix_fmt;
 | 
			
		||||
    int              ret;
 | 
			
		||||
 | 
			
		||||
    /** accept any input pixel format that is not hardware accelerated, not
 | 
			
		||||
     *  a bitstream format, and does not have vertically sub-sampled chroma */
 | 
			
		||||
        const AVPixFmtDescriptor *desc = NULL;
 | 
			
		||||
        formats = NULL;
 | 
			
		||||
        while ((desc = av_pix_fmt_desc_next(desc))) {
 | 
			
		||||
            pix_fmt = av_pix_fmt_desc_get_id(desc);
 | 
			
		||||
            if (!(desc->flags & AV_PIX_FMT_FLAG_HWACCEL ||
 | 
			
		||||
                  desc->flags & AV_PIX_FMT_FLAG_PAL     ||
 | 
			
		||||
                  desc->flags & AV_PIX_FMT_FLAG_BITSTREAM) &&
 | 
			
		||||
                desc->nb_components && !desc->log2_chroma_h &&
 | 
			
		||||
                (ret = ff_add_format(&formats, pix_fmt)) < 0)
 | 
			
		||||
                return ret;
 | 
			
		||||
        }
 | 
			
		||||
        return ff_set_common_formats(ctx, formats);
 | 
			
		||||
    formats = NULL;
 | 
			
		||||
    while ((desc = av_pix_fmt_desc_next(desc))) {
 | 
			
		||||
        enum AVPixelFormat pix_fmt = av_pix_fmt_desc_get_id(desc);
 | 
			
		||||
        if (!(desc->flags & AV_PIX_FMT_FLAG_HWACCEL ||
 | 
			
		||||
                desc->flags & AV_PIX_FMT_FLAG_PAL     ||
 | 
			
		||||
                desc->flags & AV_PIX_FMT_FLAG_BITSTREAM) &&
 | 
			
		||||
            desc->nb_components && !desc->log2_chroma_h &&
 | 
			
		||||
            (ret = ff_add_format(&formats, pix_fmt)) < 0)
 | 
			
		||||
            return ret;
 | 
			
		||||
    }
 | 
			
		||||
    return ff_set_common_formats(ctx, formats);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static int config_input(AVFilterLink *inlink)
 | 
			
		||||
 | 
			
		||||
@ -55,27 +55,27 @@ typedef struct FillBordersContext {
 | 
			
		||||
    void (*fillborders)(struct FillBordersContext *s, AVFrame *frame);
 | 
			
		||||
} FillBordersContext;
 | 
			
		||||
 | 
			
		||||
    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_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,
 | 
			
		||||
        AV_PIX_FMT_YUV420P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV444P14,
 | 
			
		||||
        AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA444P9,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
        AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA444P12,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
        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_GBRAP10, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRAP16,
 | 
			
		||||
        AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
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_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,
 | 
			
		||||
    AV_PIX_FMT_YUV420P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV444P14,
 | 
			
		||||
    AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA444P9,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
    AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA444P12,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
    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_GBRAP10, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRAP16,
 | 
			
		||||
    AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static void smear_borders8(FillBordersContext *s, AVFrame *frame)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -355,16 +355,16 @@ end:
 | 
			
		||||
    return ff_filter_frame(ctx->outputs[0], frame);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
    static const enum AVPixelFormat pixel_fmts[] = {
 | 
			
		||||
        AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
        AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVA444P,
 | 
			
		||||
        AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRP9, AV_PIX_FMT_GBRP10, AV_PIX_FMT_GBRAP10,
 | 
			
		||||
        AV_PIX_FMT_GBRP12, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRP14, AV_PIX_FMT_GBRP16,
 | 
			
		||||
        AV_PIX_FMT_GBRAP16, AV_PIX_FMT_GBRAP,
 | 
			
		||||
        AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUVA444P9, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
        AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV444P14, AV_PIX_FMT_YUV444P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
static const enum AVPixelFormat pixel_fmts[] = {
 | 
			
		||||
    AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
    AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVA444P,
 | 
			
		||||
    AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRP9, AV_PIX_FMT_GBRP10, AV_PIX_FMT_GBRAP10,
 | 
			
		||||
    AV_PIX_FMT_GBRP12, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRP14, AV_PIX_FMT_GBRP16,
 | 
			
		||||
    AV_PIX_FMT_GBRAP16, AV_PIX_FMT_GBRAP,
 | 
			
		||||
    AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUVA444P9, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
    AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV444P14, AV_PIX_FMT_YUV444P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static av_cold void uninit(AVFilterContext *ctx)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -217,18 +217,18 @@ static av_cold void uninit(AVFilterContext *ctx)
 | 
			
		||||
    av_frame_free(&s->f1);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
    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_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,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
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_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,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define BLEND_FRAME_FUNC(nbits)                         \
 | 
			
		||||
static void blend_frames##nbits##_c(BLEND_FUNC_PARAMS)  \
 | 
			
		||||
 | 
			
		||||
@ -61,32 +61,32 @@ static const AVOption freezedetect_options[] = {
 | 
			
		||||
 | 
			
		||||
AVFILTER_DEFINE_CLASS(freezedetect);
 | 
			
		||||
 | 
			
		||||
    static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
        AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUYV422, AV_PIX_FMT_RGB24,
 | 
			
		||||
        AV_PIX_FMT_BGR24, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV444P,
 | 
			
		||||
        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_UYVY422, AV_PIX_FMT_NV12, AV_PIX_FMT_NV21, AV_PIX_FMT_ARGB,
 | 
			
		||||
        AV_PIX_FMT_RGBA, AV_PIX_FMT_ABGR, AV_PIX_FMT_BGRA, AV_PIX_FMT_GRAY16,
 | 
			
		||||
        AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVA420P,
 | 
			
		||||
        AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
        AV_PIX_FMT_YA8, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV420P10,
 | 
			
		||||
        AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV444P10,
 | 
			
		||||
        AV_PIX_FMT_YUV422P9, AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRP9,
 | 
			
		||||
        AV_PIX_FMT_GBRP10, AV_PIX_FMT_GBRP16, AV_PIX_FMT_YUVA422P,
 | 
			
		||||
        AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA422P9,
 | 
			
		||||
        AV_PIX_FMT_YUVA444P9, AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10,
 | 
			
		||||
        AV_PIX_FMT_YUVA444P10, AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA444P16, AV_PIX_FMT_NV16, AV_PIX_FMT_YVYU422,
 | 
			
		||||
        AV_PIX_FMT_GBRAP, AV_PIX_FMT_GBRAP16, AV_PIX_FMT_YUV420P12,
 | 
			
		||||
        AV_PIX_FMT_YUV420P14, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV422P14,
 | 
			
		||||
        AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV444P14, AV_PIX_FMT_GBRP12,
 | 
			
		||||
        AV_PIX_FMT_GBRP14, AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV440P10,
 | 
			
		||||
        AV_PIX_FMT_YUV440P12, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRAP10,
 | 
			
		||||
        AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY9,
 | 
			
		||||
        AV_PIX_FMT_GRAY14,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
    AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUYV422, AV_PIX_FMT_RGB24,
 | 
			
		||||
    AV_PIX_FMT_BGR24, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV444P,
 | 
			
		||||
    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_UYVY422, AV_PIX_FMT_NV12, AV_PIX_FMT_NV21, AV_PIX_FMT_ARGB,
 | 
			
		||||
    AV_PIX_FMT_RGBA, AV_PIX_FMT_ABGR, AV_PIX_FMT_BGRA, AV_PIX_FMT_GRAY16,
 | 
			
		||||
    AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUVJ440P, AV_PIX_FMT_YUVA420P,
 | 
			
		||||
    AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
    AV_PIX_FMT_YA8, AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV420P10,
 | 
			
		||||
    AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV444P10,
 | 
			
		||||
    AV_PIX_FMT_YUV422P9, AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRP9,
 | 
			
		||||
    AV_PIX_FMT_GBRP10, AV_PIX_FMT_GBRP16, AV_PIX_FMT_YUVA422P,
 | 
			
		||||
    AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA422P9,
 | 
			
		||||
    AV_PIX_FMT_YUVA444P9, AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10,
 | 
			
		||||
    AV_PIX_FMT_YUVA444P10, AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA444P16, AV_PIX_FMT_NV16, AV_PIX_FMT_YVYU422,
 | 
			
		||||
    AV_PIX_FMT_GBRAP, AV_PIX_FMT_GBRAP16, AV_PIX_FMT_YUV420P12,
 | 
			
		||||
    AV_PIX_FMT_YUV420P14, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV422P14,
 | 
			
		||||
    AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV444P14, AV_PIX_FMT_GBRP12,
 | 
			
		||||
    AV_PIX_FMT_GBRP14, AV_PIX_FMT_YUVJ411P, AV_PIX_FMT_YUV440P10,
 | 
			
		||||
    AV_PIX_FMT_YUV440P12, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRAP10,
 | 
			
		||||
    AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY9,
 | 
			
		||||
    AV_PIX_FMT_GRAY14,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static int config_input(AVFilterLink *inlink)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -491,15 +491,15 @@ static void row_fdct_c(int16_t *data, const uint8_t *pixels, ptrdiff_t line_size
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
    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_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
 | 
			
		||||
    };
 | 
			
		||||
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_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
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static int config_input(AVFilterLink *inlink)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -215,29 +215,29 @@ static void gaussianiir2d(AVFilterContext *ctx, int plane)
 | 
			
		||||
                      NULL, FFMIN(width * height, nb_threads));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
    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_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,
 | 
			
		||||
        AV_PIX_FMT_YUV420P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV444P14,
 | 
			
		||||
        AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA444P9,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
        AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA444P12,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
        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_GBRAP10, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRAP16,
 | 
			
		||||
        AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
        AV_PIX_FMT_GBRPF32, AV_PIX_FMT_GBRAPF32,
 | 
			
		||||
        AV_PIX_FMT_GRAYF32,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
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_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,
 | 
			
		||||
    AV_PIX_FMT_YUV420P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV444P14,
 | 
			
		||||
    AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA444P9,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
    AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA444P12,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
    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_GBRAP10, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRAP16,
 | 
			
		||||
    AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
    AV_PIX_FMT_GBRPF32, AV_PIX_FMT_GBRAPF32,
 | 
			
		||||
    AV_PIX_FMT_GRAYF32,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void ff_gblur_init(GBlurContext *s)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -145,14 +145,14 @@ static av_cold void uninit(AVFilterContext *ctx)
 | 
			
		||||
    av_freep(&s->buf);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
    static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
        AV_PIX_FMT_YUV410P,            AV_PIX_FMT_YUV420P,
 | 
			
		||||
        AV_PIX_FMT_GRAY8,              AV_PIX_FMT_YUV444P,
 | 
			
		||||
        AV_PIX_FMT_YUV422P,            AV_PIX_FMT_YUV411P,
 | 
			
		||||
        AV_PIX_FMT_YUV440P,
 | 
			
		||||
        AV_PIX_FMT_GBRP,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
    AV_PIX_FMT_YUV410P,            AV_PIX_FMT_YUV420P,
 | 
			
		||||
    AV_PIX_FMT_GRAY8,              AV_PIX_FMT_YUV444P,
 | 
			
		||||
    AV_PIX_FMT_YUV422P,            AV_PIX_FMT_YUV411P,
 | 
			
		||||
    AV_PIX_FMT_YUV440P,
 | 
			
		||||
    AV_PIX_FMT_GBRP,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static int config_input(AVFilterLink *inlink)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -127,26 +127,26 @@ static int box_slice(AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs)
 | 
			
		||||
    return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
    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_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,
 | 
			
		||||
        AV_PIX_FMT_YUV420P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV444P14,
 | 
			
		||||
        AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA444P9,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
        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_GBRAP10, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRAP16,
 | 
			
		||||
        AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
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_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,
 | 
			
		||||
    AV_PIX_FMT_YUV420P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV444P14,
 | 
			
		||||
    AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA444P9,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
    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_GBRAP10, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRAP16,
 | 
			
		||||
    AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static int config_input(AVFilterLink *inlink)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -93,11 +93,11 @@ static av_cold int init(AVFilterContext *ctx)
 | 
			
		||||
    return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
    static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
        AV_PIX_FMT_ARGB, AV_PIX_FMT_RGBA, AV_PIX_FMT_ABGR, AV_PIX_FMT_BGRA,
 | 
			
		||||
        AV_PIX_FMT_RGB24, AV_PIX_FMT_BGR24,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
    AV_PIX_FMT_ARGB, AV_PIX_FMT_RGBA, AV_PIX_FMT_ABGR, AV_PIX_FMT_BGRA,
 | 
			
		||||
    AV_PIX_FMT_RGB24, AV_PIX_FMT_BGR24,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static int config_input(AVFilterLink *inlink)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -229,19 +229,19 @@ static av_cold void uninit(AVFilterContext *ctx)
 | 
			
		||||
    av_freep(&s->frame_prev[2]);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
    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_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,
 | 
			
		||||
        AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV420P12,
 | 
			
		||||
        AV_PIX_FMT_YUV440P12,
 | 
			
		||||
        AV_PIX_FMT_YUV444P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV420P14,
 | 
			
		||||
        AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
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_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,
 | 
			
		||||
    AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV420P12,
 | 
			
		||||
    AV_PIX_FMT_YUV440P12,
 | 
			
		||||
    AV_PIX_FMT_YUV444P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV420P14,
 | 
			
		||||
    AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static void calc_coefs(AVFilterContext *ctx)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -244,36 +244,6 @@ static av_cold int config_output(AVFilterLink *outlink)
 | 
			
		||||
    return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static const enum AVPixelFormat key_pixel_fmts[] = {
 | 
			
		||||
        AV_PIX_FMT_YUVA420P,
 | 
			
		||||
        AV_PIX_FMT_YUVA422P,
 | 
			
		||||
        AV_PIX_FMT_YUVA444P,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P9,  AV_PIX_FMT_YUVA422P9,  AV_PIX_FMT_YUVA444P9,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
        AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA444P12,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    static const enum AVPixelFormat hold_pixel_fmts[] = {
 | 
			
		||||
        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_YUV420P9,   AV_PIX_FMT_YUV422P9,   AV_PIX_FMT_YUV444P9,
 | 
			
		||||
        AV_PIX_FMT_YUV420P10,  AV_PIX_FMT_YUV422P10,  AV_PIX_FMT_YUV444P10,
 | 
			
		||||
        AV_PIX_FMT_YUV444P12,  AV_PIX_FMT_YUV422P12,  AV_PIX_FMT_YUV420P12,
 | 
			
		||||
        AV_PIX_FMT_YUV444P14,  AV_PIX_FMT_YUV422P14,  AV_PIX_FMT_YUV420P14,
 | 
			
		||||
        AV_PIX_FMT_YUV420P16,  AV_PIX_FMT_YUV422P16,  AV_PIX_FMT_YUV444P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P9,  AV_PIX_FMT_YUVA422P9,  AV_PIX_FMT_YUVA444P9,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
        AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA444P12,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
static av_cold int config_input(AVFilterLink *inlink)
 | 
			
		||||
{
 | 
			
		||||
    AVFilterContext *avctx = inlink->dst;
 | 
			
		||||
@ -286,6 +256,17 @@ static av_cold int config_input(AVFilterLink *inlink)
 | 
			
		||||
    return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static const enum AVPixelFormat key_pixel_fmts[] = {
 | 
			
		||||
    AV_PIX_FMT_YUVA420P,
 | 
			
		||||
    AV_PIX_FMT_YUVA422P,
 | 
			
		||||
    AV_PIX_FMT_YUVA444P,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P9,  AV_PIX_FMT_YUVA422P9,  AV_PIX_FMT_YUVA444P9,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
    AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA444P12,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static const AVFilterPad hsvkey_inputs[] = {
 | 
			
		||||
    {
 | 
			
		||||
        .name           = "default",
 | 
			
		||||
@ -330,6 +311,25 @@ const AVFilter ff_vf_hsvkey = {
 | 
			
		||||
    .process_command = ff_filter_process_command,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static const enum AVPixelFormat hold_pixel_fmts[] = {
 | 
			
		||||
    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_YUV420P9,   AV_PIX_FMT_YUV422P9,   AV_PIX_FMT_YUV444P9,
 | 
			
		||||
    AV_PIX_FMT_YUV420P10,  AV_PIX_FMT_YUV422P10,  AV_PIX_FMT_YUV444P10,
 | 
			
		||||
    AV_PIX_FMT_YUV444P12,  AV_PIX_FMT_YUV422P12,  AV_PIX_FMT_YUV420P12,
 | 
			
		||||
    AV_PIX_FMT_YUV444P14,  AV_PIX_FMT_YUV422P14,  AV_PIX_FMT_YUV420P14,
 | 
			
		||||
    AV_PIX_FMT_YUV420P16,  AV_PIX_FMT_YUV422P16,  AV_PIX_FMT_YUV444P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P9,  AV_PIX_FMT_YUVA422P9,  AV_PIX_FMT_YUVA444P9,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
    AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA444P12,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static const AVOption hsvhold_options[] = {
 | 
			
		||||
    { "hue", "set the hue value", OFFSET(hue_opt), AV_OPT_TYPE_FLOAT, { .dbl = 0 }, -360, 360, FLAGS },
 | 
			
		||||
    { "sat", "set the saturation value", OFFSET(sat), AV_OPT_TYPE_FLOAT, { .dbl = 0 }, -1, 1, FLAGS },
 | 
			
		||||
 | 
			
		||||
@ -248,19 +248,19 @@ static av_cold void uninit(AVFilterContext *ctx)
 | 
			
		||||
    av_expr_free(hue->saturation_pexpr);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
    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_YUV440P,
 | 
			
		||||
        AV_PIX_FMT_YUVA444P,     AV_PIX_FMT_YUVA422P,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P,
 | 
			
		||||
        AV_PIX_FMT_YUV444P10,      AV_PIX_FMT_YUV422P10,
 | 
			
		||||
        AV_PIX_FMT_YUV420P10,
 | 
			
		||||
        AV_PIX_FMT_YUV440P10,
 | 
			
		||||
        AV_PIX_FMT_YUVA444P10,     AV_PIX_FMT_YUVA422P10,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P10,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
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_YUV440P,
 | 
			
		||||
    AV_PIX_FMT_YUVA444P,     AV_PIX_FMT_YUVA422P,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P,
 | 
			
		||||
    AV_PIX_FMT_YUV444P10,      AV_PIX_FMT_YUV422P10,
 | 
			
		||||
    AV_PIX_FMT_YUV420P10,
 | 
			
		||||
    AV_PIX_FMT_YUV440P10,
 | 
			
		||||
    AV_PIX_FMT_YUVA444P10,     AV_PIX_FMT_YUVA422P10,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P10,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static int config_props(AVFilterLink *inlink)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -58,26 +58,26 @@ static const AVOption hysteresis_options[] = {
 | 
			
		||||
    { NULL }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
    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_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,
 | 
			
		||||
        AV_PIX_FMT_YUV420P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV444P14,
 | 
			
		||||
        AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA444P9,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
        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_GBRAP10, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRAP16,
 | 
			
		||||
        AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
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_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,
 | 
			
		||||
    AV_PIX_FMT_YUV420P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV444P14,
 | 
			
		||||
    AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA444P9,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
    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_GBRAP10, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRAP16,
 | 
			
		||||
    AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static int process_frame(FFFrameSync *fs)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -241,20 +241,20 @@ static av_cold int init(AVFilterContext *ctx)
 | 
			
		||||
    return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
    static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
        AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
    AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
#define PF_NOALPHA(suf) AV_PIX_FMT_YUV420##suf,  AV_PIX_FMT_YUV422##suf,  AV_PIX_FMT_YUV444##suf
 | 
			
		||||
#define PF_ALPHA(suf)   AV_PIX_FMT_YUVA420##suf, AV_PIX_FMT_YUVA422##suf, AV_PIX_FMT_YUVA444##suf
 | 
			
		||||
#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_GBRAP10, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRAP16,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
    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_GBRAP10, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRAP16,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static int config_input_ref(AVFilterLink *inlink)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -360,39 +360,39 @@ static av_cold void uninit(AVFilterContext *ctx)
 | 
			
		||||
    av_frame_free(&idet->next);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
    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_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,
 | 
			
		||||
        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_YUV420P14,
 | 
			
		||||
        AV_PIX_FMT_YUV422P14,
 | 
			
		||||
        AV_PIX_FMT_YUV444P14,
 | 
			
		||||
        AV_PIX_FMT_YUV420P16,
 | 
			
		||||
        AV_PIX_FMT_YUV422P16,
 | 
			
		||||
        AV_PIX_FMT_YUV444P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P,
 | 
			
		||||
        AV_PIX_FMT_YUVA422P,
 | 
			
		||||
        AV_PIX_FMT_YUVA444P,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
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_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,
 | 
			
		||||
    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_YUV420P14,
 | 
			
		||||
    AV_PIX_FMT_YUV422P14,
 | 
			
		||||
    AV_PIX_FMT_YUV444P14,
 | 
			
		||||
    AV_PIX_FMT_YUV420P16,
 | 
			
		||||
    AV_PIX_FMT_YUV422P16,
 | 
			
		||||
    AV_PIX_FMT_YUV444P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P,
 | 
			
		||||
    AV_PIX_FMT_YUVA422P,
 | 
			
		||||
    AV_PIX_FMT_YUVA444P,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static av_cold int init(AVFilterContext *ctx)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -66,15 +66,15 @@ static av_cold void uninit(AVFilterContext *ctx)
 | 
			
		||||
    av_freep(&kerndeint->tmp_data[0]);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
    static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
        AV_PIX_FMT_YUV420P,
 | 
			
		||||
        AV_PIX_FMT_YUYV422,
 | 
			
		||||
        AV_PIX_FMT_ARGB, AV_PIX_FMT_0RGB,
 | 
			
		||||
        AV_PIX_FMT_ABGR, AV_PIX_FMT_0BGR,
 | 
			
		||||
        AV_PIX_FMT_RGBA, AV_PIX_FMT_RGB0,
 | 
			
		||||
        AV_PIX_FMT_BGRA, AV_PIX_FMT_BGR0,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
    AV_PIX_FMT_YUV420P,
 | 
			
		||||
    AV_PIX_FMT_YUYV422,
 | 
			
		||||
    AV_PIX_FMT_ARGB, AV_PIX_FMT_0RGB,
 | 
			
		||||
    AV_PIX_FMT_ABGR, AV_PIX_FMT_0BGR,
 | 
			
		||||
    AV_PIX_FMT_RGBA, AV_PIX_FMT_RGB0,
 | 
			
		||||
    AV_PIX_FMT_BGRA, AV_PIX_FMT_BGR0,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static int config_props(AVFilterLink *inlink)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -44,27 +44,27 @@ typedef struct LagfunContext {
 | 
			
		||||
    int (*lagfun)(AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs);
 | 
			
		||||
} LagfunContext;
 | 
			
		||||
 | 
			
		||||
    static const enum AVPixelFormat pixel_fmts[] = {
 | 
			
		||||
        AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9,
 | 
			
		||||
        AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14,
 | 
			
		||||
        AV_PIX_FMT_GRAY16,
 | 
			
		||||
        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,
 | 
			
		||||
        AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV420P12,
 | 
			
		||||
        AV_PIX_FMT_YUV440P12,
 | 
			
		||||
        AV_PIX_FMT_YUV444P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV420P14,
 | 
			
		||||
        AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
        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_NONE
 | 
			
		||||
    };
 | 
			
		||||
static const enum AVPixelFormat pixel_fmts[] = {
 | 
			
		||||
    AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9,
 | 
			
		||||
    AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14,
 | 
			
		||||
    AV_PIX_FMT_GRAY16,
 | 
			
		||||
    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,
 | 
			
		||||
    AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV420P12,
 | 
			
		||||
    AV_PIX_FMT_YUV440P12,
 | 
			
		||||
    AV_PIX_FMT_YUV444P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV420P14,
 | 
			
		||||
    AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
    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_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef struct ThreadData {
 | 
			
		||||
    AVFrame *in, *out;
 | 
			
		||||
 | 
			
		||||
@ -175,32 +175,32 @@ static int filter##name##_slice_bilinear(AVFilterContext *ctx, void *arg,      \
 | 
			
		||||
BILINEAR(uint8_t, 8)
 | 
			
		||||
BILINEAR(uint16_t, 16)
 | 
			
		||||
 | 
			
		||||
    static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
        AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9,
 | 
			
		||||
        AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14,
 | 
			
		||||
        AV_PIX_FMT_GRAY16,
 | 
			
		||||
        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,
 | 
			
		||||
        AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV420P12,
 | 
			
		||||
        AV_PIX_FMT_YUV440P12,
 | 
			
		||||
        AV_PIX_FMT_YUV444P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV420P14,
 | 
			
		||||
        AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
        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_YUVA420P,  AV_PIX_FMT_YUVA422P,   AV_PIX_FMT_YUVA444P,
 | 
			
		||||
        AV_PIX_FMT_YUVA444P9, AV_PIX_FMT_YUVA444P10, AV_PIX_FMT_YUVA444P12, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA422P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA420P16,
 | 
			
		||||
        AV_PIX_FMT_GBRAP,     AV_PIX_FMT_GBRAP10,    AV_PIX_FMT_GBRAP12,    AV_PIX_FMT_GBRAP16,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
    AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9,
 | 
			
		||||
    AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14,
 | 
			
		||||
    AV_PIX_FMT_GRAY16,
 | 
			
		||||
    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,
 | 
			
		||||
    AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV420P12,
 | 
			
		||||
    AV_PIX_FMT_YUV440P12,
 | 
			
		||||
    AV_PIX_FMT_YUV444P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV420P14,
 | 
			
		||||
    AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
    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_YUVA420P,  AV_PIX_FMT_YUVA422P,   AV_PIX_FMT_YUVA444P,
 | 
			
		||||
    AV_PIX_FMT_YUVA444P9, AV_PIX_FMT_YUVA444P10, AV_PIX_FMT_YUVA444P12, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA422P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA420P16,
 | 
			
		||||
    AV_PIX_FMT_GBRAP,     AV_PIX_FMT_GBRAP10,    AV_PIX_FMT_GBRAP12,    AV_PIX_FMT_GBRAP16,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static av_cold void uninit(AVFilterContext *ctx)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -248,11 +248,11 @@ static av_cold int init(AVFilterContext *ctx)
 | 
			
		||||
    return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
    static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
        AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV420P,
 | 
			
		||||
        AV_PIX_FMT_YUV444P10LE, AV_PIX_FMT_YUV422P10LE, AV_PIX_FMT_YUV420P10LE,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
    AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV420P,
 | 
			
		||||
    AV_PIX_FMT_YUV444P10LE, AV_PIX_FMT_YUV422P10LE, AV_PIX_FMT_YUV420P10LE,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static int config_input_ref(AVFilterLink *inlink)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -66,27 +66,27 @@ static av_cold int init(AVFilterContext *ctx)
 | 
			
		||||
    return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
    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_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,
 | 
			
		||||
        AV_PIX_FMT_YUV420P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV444P14,
 | 
			
		||||
        AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA444P9,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
        AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA444P12,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
        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_GBRAP10, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRAP16,
 | 
			
		||||
        AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
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_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,
 | 
			
		||||
    AV_PIX_FMT_YUV420P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV444P14,
 | 
			
		||||
    AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA444P9,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
    AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA444P12,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
    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_GBRAP10, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRAP16,
 | 
			
		||||
    AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static void limiter8(const uint8_t *src, uint8_t *dst,
 | 
			
		||||
                     ptrdiff_t slinesize, ptrdiff_t dlinesize,
 | 
			
		||||
 | 
			
		||||
@ -142,14 +142,14 @@ static int filter_frame(AVFilterLink *link, AVFrame *frame)
 | 
			
		||||
    return ff_filter_frame(ctx->outputs[0], frame);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
    static const enum AVPixelFormat pixel_fmts[] = {
 | 
			
		||||
        AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA420P,
 | 
			
		||||
        AV_PIX_FMT_YUVA444P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA420P9,
 | 
			
		||||
        AV_PIX_FMT_YUVA444P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA420P10,
 | 
			
		||||
        AV_PIX_FMT_YUVA444P12, AV_PIX_FMT_YUVA422P12,
 | 
			
		||||
        AV_PIX_FMT_YUVA444P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA420P16,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
static const enum AVPixelFormat pixel_fmts[] = {
 | 
			
		||||
    AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA420P,
 | 
			
		||||
    AV_PIX_FMT_YUVA444P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA420P9,
 | 
			
		||||
    AV_PIX_FMT_YUVA444P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA420P10,
 | 
			
		||||
    AV_PIX_FMT_YUVA444P12, AV_PIX_FMT_YUVA422P12,
 | 
			
		||||
    AV_PIX_FMT_YUVA444P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA420P16,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static int process_command(AVFilterContext *ctx, const char *cmd, const char *args,
 | 
			
		||||
                           char *res, int res_len, int flags)
 | 
			
		||||
 | 
			
		||||
@ -1147,23 +1147,23 @@ static int set_identity_matrix(AVFilterContext *ctx, int size)
 | 
			
		||||
    return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
    static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
        AV_PIX_FMT_RGB24,  AV_PIX_FMT_BGR24,
 | 
			
		||||
        AV_PIX_FMT_RGBA,   AV_PIX_FMT_BGRA,
 | 
			
		||||
        AV_PIX_FMT_ARGB,   AV_PIX_FMT_ABGR,
 | 
			
		||||
        AV_PIX_FMT_0RGB,   AV_PIX_FMT_0BGR,
 | 
			
		||||
        AV_PIX_FMT_RGB0,   AV_PIX_FMT_BGR0,
 | 
			
		||||
        AV_PIX_FMT_RGB48,  AV_PIX_FMT_BGR48,
 | 
			
		||||
        AV_PIX_FMT_RGBA64, AV_PIX_FMT_BGRA64,
 | 
			
		||||
        AV_PIX_FMT_GBRP,   AV_PIX_FMT_GBRAP,
 | 
			
		||||
        AV_PIX_FMT_GBRP9,
 | 
			
		||||
        AV_PIX_FMT_GBRP10, AV_PIX_FMT_GBRAP10,
 | 
			
		||||
        AV_PIX_FMT_GBRP12, AV_PIX_FMT_GBRAP12,
 | 
			
		||||
        AV_PIX_FMT_GBRP14,
 | 
			
		||||
        AV_PIX_FMT_GBRP16,  AV_PIX_FMT_GBRAP16,
 | 
			
		||||
        AV_PIX_FMT_GBRPF32, AV_PIX_FMT_GBRAPF32,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
    AV_PIX_FMT_RGB24,  AV_PIX_FMT_BGR24,
 | 
			
		||||
    AV_PIX_FMT_RGBA,   AV_PIX_FMT_BGRA,
 | 
			
		||||
    AV_PIX_FMT_ARGB,   AV_PIX_FMT_ABGR,
 | 
			
		||||
    AV_PIX_FMT_0RGB,   AV_PIX_FMT_0BGR,
 | 
			
		||||
    AV_PIX_FMT_RGB0,   AV_PIX_FMT_BGR0,
 | 
			
		||||
    AV_PIX_FMT_RGB48,  AV_PIX_FMT_BGR48,
 | 
			
		||||
    AV_PIX_FMT_RGBA64, AV_PIX_FMT_BGRA64,
 | 
			
		||||
    AV_PIX_FMT_GBRP,   AV_PIX_FMT_GBRAP,
 | 
			
		||||
    AV_PIX_FMT_GBRP9,
 | 
			
		||||
    AV_PIX_FMT_GBRP10, AV_PIX_FMT_GBRAP10,
 | 
			
		||||
    AV_PIX_FMT_GBRP12, AV_PIX_FMT_GBRAP12,
 | 
			
		||||
    AV_PIX_FMT_GBRP14,
 | 
			
		||||
    AV_PIX_FMT_GBRP16,  AV_PIX_FMT_GBRAP16,
 | 
			
		||||
    AV_PIX_FMT_GBRPF32, AV_PIX_FMT_GBRAPF32,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static int config_input(AVFilterLink *inlink)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -60,27 +60,27 @@ static const AVOption maskedclamp_options[] = {
 | 
			
		||||
 | 
			
		||||
AVFILTER_DEFINE_CLASS(maskedclamp);
 | 
			
		||||
 | 
			
		||||
    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_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,
 | 
			
		||||
        AV_PIX_FMT_YUV420P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV444P14,
 | 
			
		||||
        AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA444P9,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
        AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA444P12,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
        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_GBRAP10, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRAP16,
 | 
			
		||||
        AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
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_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,
 | 
			
		||||
    AV_PIX_FMT_YUV420P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV444P14,
 | 
			
		||||
    AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA444P9,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
    AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA444P12,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
    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_GBRAP10, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRAP16,
 | 
			
		||||
    AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static int maskedclamp_slice(AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -37,27 +37,27 @@ static const AVOption maskedmerge_options[] = {
 | 
			
		||||
 | 
			
		||||
AVFILTER_DEFINE_CLASS(maskedmerge);
 | 
			
		||||
 | 
			
		||||
    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_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,
 | 
			
		||||
        AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV440P12,
 | 
			
		||||
        AV_PIX_FMT_YUV420P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV444P14,
 | 
			
		||||
        AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA444P9,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
        AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA444P12,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
        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_GBRAP10, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRAP16,
 | 
			
		||||
        AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
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_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,
 | 
			
		||||
    AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV440P12,
 | 
			
		||||
    AV_PIX_FMT_YUV420P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV444P14,
 | 
			
		||||
    AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA444P9,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
    AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA444P12,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
    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_GBRAP10, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRAP16,
 | 
			
		||||
    AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef struct ThreadData {
 | 
			
		||||
    AVFrame *base, *overlay, *mask;
 | 
			
		||||
 | 
			
		||||
@ -63,27 +63,27 @@ static av_cold int maskedmin_init(AVFilterContext *ctx)
 | 
			
		||||
    return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
    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_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,
 | 
			
		||||
        AV_PIX_FMT_YUV420P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV444P14,
 | 
			
		||||
        AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA444P9,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
        AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA444P12,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
        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_GBRAP10, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRAP16,
 | 
			
		||||
        AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
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_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,
 | 
			
		||||
    AV_PIX_FMT_YUV420P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV444P14,
 | 
			
		||||
    AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA444P9,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
    AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA444P12,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
    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_GBRAP10, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRAP16,
 | 
			
		||||
    AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static void maskedmin8(const uint8_t *src, uint8_t *dst, const uint8_t *f1, const uint8_t *f2, int w)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -55,27 +55,27 @@ static const AVOption maskedthreshold_options[] = {
 | 
			
		||||
    { NULL }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
    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_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,
 | 
			
		||||
        AV_PIX_FMT_YUV420P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV444P14,
 | 
			
		||||
        AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA444P9,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
        AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA444P12,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
        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_GBRAP10, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRAP16,
 | 
			
		||||
        AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
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_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,
 | 
			
		||||
    AV_PIX_FMT_YUV420P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV444P14,
 | 
			
		||||
    AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA444P9,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
    AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA444P12,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
    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_GBRAP10, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRAP16,
 | 
			
		||||
    AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static void threshold8(const uint8_t *src, const uint8_t *ref, uint8_t *dst, int threshold, int w)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -60,26 +60,26 @@ static const AVOption maskfun_options[] = {
 | 
			
		||||
 | 
			
		||||
AVFILTER_DEFINE_CLASS(maskfun);
 | 
			
		||||
 | 
			
		||||
    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_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,
 | 
			
		||||
        AV_PIX_FMT_YUV420P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV444P14,
 | 
			
		||||
        AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA444P9,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
        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_GBRAP10, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRAP16,
 | 
			
		||||
        AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
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_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,
 | 
			
		||||
    AV_PIX_FMT_YUV420P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV444P14,
 | 
			
		||||
    AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA444P9,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
    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_GBRAP10, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRAP16,
 | 
			
		||||
    AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static int filter_frame(AVFilterLink *inlink, AVFrame *frame)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -83,27 +83,27 @@ static void hmuladd(htype *dst, const htype *src, int f, int bins)
 | 
			
		||||
        dst[i] += f * src[i];
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
    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_GBRP, AV_PIX_FMT_GBRAP, AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9,
 | 
			
		||||
        AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_GBRP9,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA444P9,
 | 
			
		||||
        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,
 | 
			
		||||
        AV_PIX_FMT_YUV420P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV444P14,
 | 
			
		||||
        AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
        AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA444P12,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
        AV_PIX_FMT_GBRP10, AV_PIX_FMT_GBRP12, AV_PIX_FMT_GBRP14, AV_PIX_FMT_GBRP16,
 | 
			
		||||
        AV_PIX_FMT_GBRAP10, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRAP16,
 | 
			
		||||
        AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
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_GBRP, AV_PIX_FMT_GBRAP, AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9,
 | 
			
		||||
    AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_GBRP9,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA444P9,
 | 
			
		||||
    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,
 | 
			
		||||
    AV_PIX_FMT_YUV420P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV444P14,
 | 
			
		||||
    AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
    AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA444P12,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
    AV_PIX_FMT_GBRP10, AV_PIX_FMT_GBRP12, AV_PIX_FMT_GBRP14, AV_PIX_FMT_GBRP16,
 | 
			
		||||
    AV_PIX_FMT_GBRAP10, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRAP16,
 | 
			
		||||
    AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static void check_params(MedianContext *s, AVFilterLink *inlink)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -67,17 +67,17 @@ static const AVOption mestimate_options[] = {
 | 
			
		||||
 | 
			
		||||
AVFILTER_DEFINE_CLASS(mestimate);
 | 
			
		||||
 | 
			
		||||
    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_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
 | 
			
		||||
    };
 | 
			
		||||
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_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
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static int config_input(AVFilterLink *inlink)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -57,29 +57,29 @@ static const AVOption midequalizer_options[] = {
 | 
			
		||||
 | 
			
		||||
AVFILTER_DEFINE_CLASS(midequalizer);
 | 
			
		||||
 | 
			
		||||
    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_GBRP, AV_PIX_FMT_GBRAP,
 | 
			
		||||
        AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14,
 | 
			
		||||
        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_YUV420P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV444P14,
 | 
			
		||||
        AV_PIX_FMT_GBRP9, AV_PIX_FMT_GBRP10, AV_PIX_FMT_GBRP12, AV_PIX_FMT_GBRP14,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA444P9,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
        AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA444P12,
 | 
			
		||||
        AV_PIX_FMT_GBRAP10, AV_PIX_FMT_GBRAP12,
 | 
			
		||||
        AV_PIX_FMT_YUV420P16,  AV_PIX_FMT_YUV422P16,  AV_PIX_FMT_YUV444P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
        AV_PIX_FMT_GBRP16, AV_PIX_FMT_GBRAP16,
 | 
			
		||||
        AV_PIX_FMT_GRAY16,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
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_GBRP, AV_PIX_FMT_GBRAP,
 | 
			
		||||
    AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14,
 | 
			
		||||
    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_YUV420P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV444P14,
 | 
			
		||||
    AV_PIX_FMT_GBRP9, AV_PIX_FMT_GBRP10, AV_PIX_FMT_GBRP12, AV_PIX_FMT_GBRP14,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA444P9,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
    AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA444P12,
 | 
			
		||||
    AV_PIX_FMT_GBRAP10, AV_PIX_FMT_GBRAP12,
 | 
			
		||||
    AV_PIX_FMT_YUV420P16,  AV_PIX_FMT_YUV422P16,  AV_PIX_FMT_YUV444P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
    AV_PIX_FMT_GBRP16, AV_PIX_FMT_GBRAP16,
 | 
			
		||||
    AV_PIX_FMT_GRAY16,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static int process_frame(FFFrameSync *fs)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -235,17 +235,17 @@ static const AVOption minterpolate_options[] = {
 | 
			
		||||
 | 
			
		||||
AVFILTER_DEFINE_CLASS(minterpolate);
 | 
			
		||||
 | 
			
		||||
    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_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
 | 
			
		||||
    };
 | 
			
		||||
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_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
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static uint64_t get_sbad(AVMotionEstContext *me_ctx, int x, int y, int x_mv, int y_mv)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -222,26 +222,26 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *frame)
 | 
			
		||||
    return ff_filter_frame(ctx->outputs[0], frame);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
    static const enum AVPixelFormat pixel_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_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,
 | 
			
		||||
        AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV420P12,
 | 
			
		||||
        AV_PIX_FMT_YUV440P12,
 | 
			
		||||
        AV_PIX_FMT_YUV444P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV420P14,
 | 
			
		||||
        AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P,  AV_PIX_FMT_YUVA422P,   AV_PIX_FMT_YUVA444P,
 | 
			
		||||
        AV_PIX_FMT_YUVA444P9, AV_PIX_FMT_YUVA444P10, AV_PIX_FMT_YUVA444P12, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA422P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA420P16,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
static const enum AVPixelFormat pixel_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_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,
 | 
			
		||||
    AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV420P12,
 | 
			
		||||
    AV_PIX_FMT_YUV440P12,
 | 
			
		||||
    AV_PIX_FMT_YUV444P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV420P14,
 | 
			
		||||
    AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P,  AV_PIX_FMT_YUVA422P,   AV_PIX_FMT_YUVA444P,
 | 
			
		||||
    AV_PIX_FMT_YUVA444P9, AV_PIX_FMT_YUVA444P10, AV_PIX_FMT_YUVA444P12, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA422P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA420P16,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static av_cold int config_input(AVFilterLink *inlink)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -144,27 +144,27 @@ static const AVOption morpho_options[] = {
 | 
			
		||||
 | 
			
		||||
FRAMESYNC_DEFINE_CLASS(morpho, MorphoContext, fs);
 | 
			
		||||
 | 
			
		||||
    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_GBRP, AV_PIX_FMT_GBRAP, AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9,
 | 
			
		||||
        AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_GBRP9,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA444P9,
 | 
			
		||||
        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,
 | 
			
		||||
        AV_PIX_FMT_YUV420P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV444P14,
 | 
			
		||||
        AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
        AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA444P12,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
        AV_PIX_FMT_GBRP10, AV_PIX_FMT_GBRP12, AV_PIX_FMT_GBRP14, AV_PIX_FMT_GBRP16,
 | 
			
		||||
        AV_PIX_FMT_GBRAP10, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRAP16,
 | 
			
		||||
        AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
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_GBRP, AV_PIX_FMT_GBRAP, AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9,
 | 
			
		||||
    AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV444P9, AV_PIX_FMT_GBRP9,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA444P9,
 | 
			
		||||
    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,
 | 
			
		||||
    AV_PIX_FMT_YUV420P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV444P14,
 | 
			
		||||
    AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
    AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA444P12,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
    AV_PIX_FMT_GBRP10, AV_PIX_FMT_GBRP12, AV_PIX_FMT_GBRP14, AV_PIX_FMT_GBRP16,
 | 
			
		||||
    AV_PIX_FMT_GBRAP10, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRAP16,
 | 
			
		||||
    AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static void min_fun(uint8_t *c, const uint8_t *a, const uint8_t *b, int x)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -161,21 +161,21 @@ static av_cold void uninit(AVFilterContext *ctx)
 | 
			
		||||
    av_frame_free(&decimate->ref);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
    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_YUV440P,
 | 
			
		||||
        AV_PIX_FMT_YUVJ444P,     AV_PIX_FMT_YUVJ422P,
 | 
			
		||||
        AV_PIX_FMT_YUVJ420P,     AV_PIX_FMT_YUVJ440P,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P,
 | 
			
		||||
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_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,
 | 
			
		||||
    AV_PIX_FMT_GBRP,
 | 
			
		||||
 | 
			
		||||
        AV_PIX_FMT_YUVA444P,
 | 
			
		||||
        AV_PIX_FMT_YUVA422P,
 | 
			
		||||
    AV_PIX_FMT_YUVA444P,
 | 
			
		||||
    AV_PIX_FMT_YUVA422P,
 | 
			
		||||
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static int config_input(AVFilterLink *inlink)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -49,27 +49,27 @@ typedef struct NContext {
 | 
			
		||||
                   int maxc);
 | 
			
		||||
} NContext;
 | 
			
		||||
 | 
			
		||||
    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_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,
 | 
			
		||||
        AV_PIX_FMT_YUV420P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV444P14,
 | 
			
		||||
        AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA444P9,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
        AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA444P12,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
        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_GBRAP10, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRAP16,
 | 
			
		||||
        AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
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_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,
 | 
			
		||||
    AV_PIX_FMT_YUV420P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV444P14,
 | 
			
		||||
    AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA444P9,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA444P10,
 | 
			
		||||
    AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA444P12,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P16, AV_PIX_FMT_YUVA422P16, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
    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_GBRAP10, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRAP16,
 | 
			
		||||
    AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static void erosion(uint8_t *dst, const uint8_t *p1, int width,
 | 
			
		||||
                    int threshold, const uint8_t *coordinates[], int coord,
 | 
			
		||||
 | 
			
		||||
@ -77,16 +77,16 @@ static const AVOption nlmeans_options[] = {
 | 
			
		||||
 | 
			
		||||
AVFILTER_DEFINE_CLASS(nlmeans);
 | 
			
		||||
 | 
			
		||||
    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_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
 | 
			
		||||
    };
 | 
			
		||||
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_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
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Compute squared difference of the safe area (the zone where s1 and s2
 | 
			
		||||
 | 
			
		||||
@ -177,31 +177,31 @@ static int config_output(AVFilterLink *outlink)
 | 
			
		||||
    return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
    static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
        AV_PIX_FMT_GRAY8,
 | 
			
		||||
        AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
        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_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,
 | 
			
		||||
        AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV444P12,
 | 
			
		||||
        AV_PIX_FMT_YUV440P12,
 | 
			
		||||
        AV_PIX_FMT_YUV420P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV444P14,
 | 
			
		||||
        AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
        AV_PIX_FMT_GBRP9, AV_PIX_FMT_GBRP10, AV_PIX_FMT_GBRP12, AV_PIX_FMT_GBRP14, AV_PIX_FMT_GBRP16,
 | 
			
		||||
        AV_PIX_FMT_YUVA444P9, AV_PIX_FMT_YUVA444P10, AV_PIX_FMT_YUVA444P12, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA422P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA420P16,
 | 
			
		||||
        AV_PIX_FMT_GBRAP10,   AV_PIX_FMT_GBRAP12,    AV_PIX_FMT_GBRAP16,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
    AV_PIX_FMT_GRAY8,
 | 
			
		||||
    AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
    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_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,
 | 
			
		||||
    AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV444P12,
 | 
			
		||||
    AV_PIX_FMT_YUV440P12,
 | 
			
		||||
    AV_PIX_FMT_YUV420P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV444P14,
 | 
			
		||||
    AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
    AV_PIX_FMT_GBRP9, AV_PIX_FMT_GBRP10, AV_PIX_FMT_GBRP12, AV_PIX_FMT_GBRP14, AV_PIX_FMT_GBRP16,
 | 
			
		||||
    AV_PIX_FMT_YUVA444P9, AV_PIX_FMT_YUVA444P10, AV_PIX_FMT_YUVA444P12, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA422P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA420P16,
 | 
			
		||||
    AV_PIX_FMT_GBRAP10,   AV_PIX_FMT_GBRAP12,    AV_PIX_FMT_GBRAP16,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static float dot_dsp(const NNEDIContext *const s, const float *kernel, const float *input,
 | 
			
		||||
                     int n, float scale, float bias)
 | 
			
		||||
 | 
			
		||||
@ -388,24 +388,24 @@ static void normalize(NormalizeContext *s, AVFrame *in, AVFrame *out)
 | 
			
		||||
 | 
			
		||||
// The pixel formats that our filter supports. We should be able to process
 | 
			
		||||
// any 8-bit RGB formats. 16-bit support might be useful one day.
 | 
			
		||||
    static const enum AVPixelFormat pixel_fmts[] = {
 | 
			
		||||
        AV_PIX_FMT_RGB24,
 | 
			
		||||
        AV_PIX_FMT_BGR24,
 | 
			
		||||
        AV_PIX_FMT_ARGB,
 | 
			
		||||
        AV_PIX_FMT_RGBA,
 | 
			
		||||
        AV_PIX_FMT_ABGR,
 | 
			
		||||
        AV_PIX_FMT_BGRA,
 | 
			
		||||
        AV_PIX_FMT_0RGB,
 | 
			
		||||
        AV_PIX_FMT_RGB0,
 | 
			
		||||
        AV_PIX_FMT_0BGR,
 | 
			
		||||
        AV_PIX_FMT_BGR0,
 | 
			
		||||
        AV_PIX_FMT_RGB48,  AV_PIX_FMT_BGR48,
 | 
			
		||||
        AV_PIX_FMT_RGBA64, AV_PIX_FMT_BGRA64,
 | 
			
		||||
        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_GBRAP10, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRAP16,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
static const enum AVPixelFormat pixel_fmts[] = {
 | 
			
		||||
    AV_PIX_FMT_RGB24,
 | 
			
		||||
    AV_PIX_FMT_BGR24,
 | 
			
		||||
    AV_PIX_FMT_ARGB,
 | 
			
		||||
    AV_PIX_FMT_RGBA,
 | 
			
		||||
    AV_PIX_FMT_ABGR,
 | 
			
		||||
    AV_PIX_FMT_BGRA,
 | 
			
		||||
    AV_PIX_FMT_0RGB,
 | 
			
		||||
    AV_PIX_FMT_RGB0,
 | 
			
		||||
    AV_PIX_FMT_0BGR,
 | 
			
		||||
    AV_PIX_FMT_BGR0,
 | 
			
		||||
    AV_PIX_FMT_RGB48,  AV_PIX_FMT_BGR48,
 | 
			
		||||
    AV_PIX_FMT_RGBA64, AV_PIX_FMT_BGRA64,
 | 
			
		||||
    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_GBRAP10, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRAP16,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// At this point we know the pixel format used for both input and output.  We
 | 
			
		||||
// can also access the frame rate of the input video and allocate some memory
 | 
			
		||||
 | 
			
		||||
@ -73,17 +73,17 @@ static av_cold int init(AVFilterContext *ctx)
 | 
			
		||||
    return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
    static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
        AV_PIX_FMT_GRAY8,
 | 
			
		||||
        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
 | 
			
		||||
    };
 | 
			
		||||
static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
    AV_PIX_FMT_GRAY8,
 | 
			
		||||
    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
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static int filter_frame(AVFilterLink *inlink, AVFrame *in)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -292,21 +292,21 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in)
 | 
			
		||||
    return ff_filter_frame(outlink, out);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
    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_YUV440P,
 | 
			
		||||
        AV_PIX_FMT_YUVA444P,     AV_PIX_FMT_YUVA422P,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P,
 | 
			
		||||
        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,
 | 
			
		||||
        AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV420P12,
 | 
			
		||||
        AV_PIX_FMT_YUV440P12,
 | 
			
		||||
        AV_PIX_FMT_YUV444P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV420P14,
 | 
			
		||||
        AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
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_YUV440P,
 | 
			
		||||
    AV_PIX_FMT_YUVA444P,     AV_PIX_FMT_YUVA422P,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P,
 | 
			
		||||
    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,
 | 
			
		||||
    AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV420P12,
 | 
			
		||||
    AV_PIX_FMT_YUV440P12,
 | 
			
		||||
    AV_PIX_FMT_YUV444P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV420P14,
 | 
			
		||||
    AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static int config_input(AVFilterLink *inlink)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -94,12 +94,12 @@ static const AVOption perspective_options[] = {
 | 
			
		||||
 | 
			
		||||
AVFILTER_DEFINE_CLASS(perspective);
 | 
			
		||||
 | 
			
		||||
    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
 | 
			
		||||
    };
 | 
			
		||||
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
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static inline double get_coeff(double d)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -93,35 +93,35 @@ static const AVOption phase_options[] = {
 | 
			
		||||
 | 
			
		||||
AVFILTER_DEFINE_CLASS(phase);
 | 
			
		||||
 | 
			
		||||
    static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
        AV_PIX_FMT_GRAY8,
 | 
			
		||||
        AV_PIX_FMT_GRAY9,
 | 
			
		||||
        AV_PIX_FMT_GRAY10,
 | 
			
		||||
        AV_PIX_FMT_GRAY12,
 | 
			
		||||
        AV_PIX_FMT_GRAY14,
 | 
			
		||||
        AV_PIX_FMT_GRAY16,
 | 
			
		||||
        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,
 | 
			
		||||
        AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV420P12,
 | 
			
		||||
        AV_PIX_FMT_YUV440P12,
 | 
			
		||||
        AV_PIX_FMT_YUV444P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV420P14,
 | 
			
		||||
        AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
        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_YUVA420P,  AV_PIX_FMT_YUVA422P,   AV_PIX_FMT_YUVA444P,
 | 
			
		||||
        AV_PIX_FMT_YUVA444P9, AV_PIX_FMT_YUVA444P10, AV_PIX_FMT_YUVA444P12, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA422P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA420P16,
 | 
			
		||||
        AV_PIX_FMT_GBRAP,     AV_PIX_FMT_GBRAP10,    AV_PIX_FMT_GBRAP12,    AV_PIX_FMT_GBRAP16,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
    AV_PIX_FMT_GRAY8,
 | 
			
		||||
    AV_PIX_FMT_GRAY9,
 | 
			
		||||
    AV_PIX_FMT_GRAY10,
 | 
			
		||||
    AV_PIX_FMT_GRAY12,
 | 
			
		||||
    AV_PIX_FMT_GRAY14,
 | 
			
		||||
    AV_PIX_FMT_GRAY16,
 | 
			
		||||
    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,
 | 
			
		||||
    AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV420P12,
 | 
			
		||||
    AV_PIX_FMT_YUV440P12,
 | 
			
		||||
    AV_PIX_FMT_YUV444P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV420P14,
 | 
			
		||||
    AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
    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_YUVA420P,  AV_PIX_FMT_YUVA422P,   AV_PIX_FMT_YUVA444P,
 | 
			
		||||
    AV_PIX_FMT_YUVA444P9, AV_PIX_FMT_YUVA444P10, AV_PIX_FMT_YUVA444P12, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA422P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA420P16,
 | 
			
		||||
    AV_PIX_FMT_GBRAP,     AV_PIX_FMT_GBRAP10,    AV_PIX_FMT_GBRAP12,    AV_PIX_FMT_GBRAP16,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static int config_input(AVFilterLink *inlink)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -75,16 +75,16 @@ static int pp_process_command(AVFilterContext *ctx, const char *cmd, const char
 | 
			
		||||
    return AVERROR(ENOSYS);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
    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_YUV411P,
 | 
			
		||||
        AV_PIX_FMT_GBRP,
 | 
			
		||||
        AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVJ444P,
 | 
			
		||||
        AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUVJ440P,
 | 
			
		||||
        AV_PIX_FMT_GRAY8,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
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_YUV411P,
 | 
			
		||||
    AV_PIX_FMT_GBRP,
 | 
			
		||||
    AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVJ444P,
 | 
			
		||||
    AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUVJ440P,
 | 
			
		||||
    AV_PIX_FMT_GRAY8,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static int pp_config_props(AVFilterLink *inlink)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -264,15 +264,15 @@ static void filter(PP7Context *p, uint8_t *dst, uint8_t *src,
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
    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_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
 | 
			
		||||
    };
 | 
			
		||||
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_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
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static int config_input(AVFilterLink *inlink)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -296,20 +296,20 @@ static av_cold int init(AVFilterContext *ctx)
 | 
			
		||||
    return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
    static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
        AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
    AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16,
 | 
			
		||||
#define PF_NOALPHA(suf) AV_PIX_FMT_YUV420##suf,  AV_PIX_FMT_YUV422##suf,  AV_PIX_FMT_YUV444##suf
 | 
			
		||||
#define PF_ALPHA(suf)   AV_PIX_FMT_YUVA420##suf, AV_PIX_FMT_YUVA422##suf, AV_PIX_FMT_YUVA444##suf
 | 
			
		||||
#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_GBRAP10, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRAP16,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
    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_GBRAP10, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRAP16,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static int config_input_ref(AVFilterLink *inlink)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -52,15 +52,15 @@ static const AVOption pullup_options[] = {
 | 
			
		||||
 | 
			
		||||
AVFILTER_DEFINE_CLASS(pullup);
 | 
			
		||||
 | 
			
		||||
    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_NONE
 | 
			
		||||
    };
 | 
			
		||||
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_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define ABS(a) (((a) ^ ((a) >> 31)) - ((a) >> 31))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -100,29 +100,29 @@ static const AVOption readeia608_options[] = {
 | 
			
		||||
 | 
			
		||||
AVFILTER_DEFINE_CLASS(readeia608);
 | 
			
		||||
 | 
			
		||||
    static const enum AVPixelFormat pixel_fmts[] = {
 | 
			
		||||
        AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9,
 | 
			
		||||
        AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14,
 | 
			
		||||
        AV_PIX_FMT_GRAY16,
 | 
			
		||||
        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,
 | 
			
		||||
        AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV420P12,
 | 
			
		||||
        AV_PIX_FMT_YUV440P12,
 | 
			
		||||
        AV_PIX_FMT_YUV444P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV420P14,
 | 
			
		||||
        AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P,  AV_PIX_FMT_YUVA422P,   AV_PIX_FMT_YUVA444P,
 | 
			
		||||
        AV_PIX_FMT_YUVA444P9, AV_PIX_FMT_YUVA444P10, AV_PIX_FMT_YUVA444P12, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA422P16,
 | 
			
		||||
        AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA420P16,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
static const enum AVPixelFormat pixel_fmts[] = {
 | 
			
		||||
    AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9,
 | 
			
		||||
    AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14,
 | 
			
		||||
    AV_PIX_FMT_GRAY16,
 | 
			
		||||
    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,
 | 
			
		||||
    AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV420P12,
 | 
			
		||||
    AV_PIX_FMT_YUV440P12,
 | 
			
		||||
    AV_PIX_FMT_YUV444P14, AV_PIX_FMT_YUV422P14, AV_PIX_FMT_YUV420P14,
 | 
			
		||||
    AV_PIX_FMT_YUV420P16, AV_PIX_FMT_YUV422P16, AV_PIX_FMT_YUV444P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P,  AV_PIX_FMT_YUVA422P,   AV_PIX_FMT_YUVA444P,
 | 
			
		||||
    AV_PIX_FMT_YUVA444P9, AV_PIX_FMT_YUVA444P10, AV_PIX_FMT_YUVA444P12, AV_PIX_FMT_YUVA444P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA422P9, AV_PIX_FMT_YUVA422P10, AV_PIX_FMT_YUVA422P12, AV_PIX_FMT_YUVA422P16,
 | 
			
		||||
    AV_PIX_FMT_YUVA420P9, AV_PIX_FMT_YUVA420P10, AV_PIX_FMT_YUVA420P16,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static int config_filter(AVFilterContext *ctx, int start, int end)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -184,27 +184,27 @@ static int config_props(AVFilterLink *inlink)
 | 
			
		||||
    return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
    static const enum AVPixelFormat pixel_fmts[] = {
 | 
			
		||||
        AV_PIX_FMT_GRAY8,
 | 
			
		||||
        AV_PIX_FMT_NV12,
 | 
			
		||||
        AV_PIX_FMT_NV16,
 | 
			
		||||
        AV_PIX_FMT_NV21,
 | 
			
		||||
        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_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
 | 
			
		||||
    };
 | 
			
		||||
static const enum AVPixelFormat pixel_fmts[] = {
 | 
			
		||||
    AV_PIX_FMT_GRAY8,
 | 
			
		||||
    AV_PIX_FMT_NV12,
 | 
			
		||||
    AV_PIX_FMT_NV16,
 | 
			
		||||
    AV_PIX_FMT_NV21,
 | 
			
		||||
    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_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
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static int filter_frame(AVFilterLink *inlink, AVFrame *frame)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -44,16 +44,16 @@ static const AVOption removegrain_options[] = {
 | 
			
		||||
 | 
			
		||||
AVFILTER_DEFINE_CLASS(removegrain);
 | 
			
		||||
 | 
			
		||||
    static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
        AV_PIX_FMT_GRAY8,
 | 
			
		||||
        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
 | 
			
		||||
    };
 | 
			
		||||
static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
    AV_PIX_FMT_GRAY8,
 | 
			
		||||
    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
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define REMOVE_GRAIN_SORT_AXIS       \
 | 
			
		||||
    const int ma1 = FFMAX(a1, a8);   \
 | 
			
		||||
 | 
			
		||||
@ -38,15 +38,15 @@ static av_cold void uninit(AVFilterContext *ctx)
 | 
			
		||||
    av_frame_free(&s->frame);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
    static const enum AVPixelFormat pixel_fmts_eq[] = {
 | 
			
		||||
        AV_PIX_FMT_GRAY8,
 | 
			
		||||
        AV_PIX_FMT_YUV410P,
 | 
			
		||||
        AV_PIX_FMT_YUV411P,
 | 
			
		||||
        AV_PIX_FMT_YUV420P,
 | 
			
		||||
        AV_PIX_FMT_YUV422P,
 | 
			
		||||
        AV_PIX_FMT_YUV444P,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
static const enum AVPixelFormat pixel_fmts_eq[] = {
 | 
			
		||||
    AV_PIX_FMT_GRAY8,
 | 
			
		||||
    AV_PIX_FMT_YUV410P,
 | 
			
		||||
    AV_PIX_FMT_YUV411P,
 | 
			
		||||
    AV_PIX_FMT_YUV420P,
 | 
			
		||||
    AV_PIX_FMT_YUV422P,
 | 
			
		||||
    AV_PIX_FMT_YUV444P,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static int config_input(AVFilterLink *inlink)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -132,28 +132,28 @@ static av_cold void uninit(AVFilterContext *ctx)
 | 
			
		||||
    rot->angle_expr = NULL;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
    static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
        AV_PIX_FMT_GBRP,   AV_PIX_FMT_GBRAP,
 | 
			
		||||
        AV_PIX_FMT_ARGB,   AV_PIX_FMT_RGBA,
 | 
			
		||||
        AV_PIX_FMT_ABGR,   AV_PIX_FMT_BGRA,
 | 
			
		||||
        AV_PIX_FMT_0RGB,   AV_PIX_FMT_RGB0,
 | 
			
		||||
        AV_PIX_FMT_0BGR,   AV_PIX_FMT_BGR0,
 | 
			
		||||
        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_YUVA444P, AV_PIX_FMT_YUVA420P,
 | 
			
		||||
        AV_PIX_FMT_YUV420P10LE, AV_PIX_FMT_YUVA420P10LE,
 | 
			
		||||
        AV_PIX_FMT_YUV444P10LE, AV_PIX_FMT_YUVA444P10LE,
 | 
			
		||||
        AV_PIX_FMT_YUV420P12LE,
 | 
			
		||||
        AV_PIX_FMT_YUV444P12LE,
 | 
			
		||||
        AV_PIX_FMT_YUV444P16LE, AV_PIX_FMT_YUVA444P16LE,
 | 
			
		||||
        AV_PIX_FMT_YUV420P16LE, AV_PIX_FMT_YUVA420P16LE,
 | 
			
		||||
        AV_PIX_FMT_YUV444P9LE, AV_PIX_FMT_YUVA444P9LE,
 | 
			
		||||
        AV_PIX_FMT_YUV420P9LE, AV_PIX_FMT_YUVA420P9LE,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
    AV_PIX_FMT_GBRP,   AV_PIX_FMT_GBRAP,
 | 
			
		||||
    AV_PIX_FMT_ARGB,   AV_PIX_FMT_RGBA,
 | 
			
		||||
    AV_PIX_FMT_ABGR,   AV_PIX_FMT_BGRA,
 | 
			
		||||
    AV_PIX_FMT_0RGB,   AV_PIX_FMT_RGB0,
 | 
			
		||||
    AV_PIX_FMT_0BGR,   AV_PIX_FMT_BGR0,
 | 
			
		||||
    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_YUVA444P, AV_PIX_FMT_YUVA420P,
 | 
			
		||||
    AV_PIX_FMT_YUV420P10LE, AV_PIX_FMT_YUVA420P10LE,
 | 
			
		||||
    AV_PIX_FMT_YUV444P10LE, AV_PIX_FMT_YUVA444P10LE,
 | 
			
		||||
    AV_PIX_FMT_YUV420P12LE,
 | 
			
		||||
    AV_PIX_FMT_YUV444P12LE,
 | 
			
		||||
    AV_PIX_FMT_YUV444P16LE, AV_PIX_FMT_YUVA444P16LE,
 | 
			
		||||
    AV_PIX_FMT_YUV420P16LE, AV_PIX_FMT_YUVA420P16LE,
 | 
			
		||||
    AV_PIX_FMT_YUV444P9LE, AV_PIX_FMT_YUVA444P9LE,
 | 
			
		||||
    AV_PIX_FMT_YUV420P9LE, AV_PIX_FMT_YUVA420P9LE,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static double get_rotated_w(void *opaque, double angle)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -55,14 +55,14 @@ typedef struct SabContext {
 | 
			
		||||
    unsigned int sws_flags;
 | 
			
		||||
} SabContext;
 | 
			
		||||
 | 
			
		||||
    static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
        AV_PIX_FMT_YUV420P,
 | 
			
		||||
        AV_PIX_FMT_YUV410P,
 | 
			
		||||
        AV_PIX_FMT_YUV444P,
 | 
			
		||||
        AV_PIX_FMT_YUV422P,
 | 
			
		||||
        AV_PIX_FMT_YUV411P,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
    AV_PIX_FMT_YUV420P,
 | 
			
		||||
    AV_PIX_FMT_YUV410P,
 | 
			
		||||
    AV_PIX_FMT_YUV444P,
 | 
			
		||||
    AV_PIX_FMT_YUV422P,
 | 
			
		||||
    AV_PIX_FMT_YUV411P,
 | 
			
		||||
    AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define RADIUS_MIN 0.1
 | 
			
		||||
#define RADIUS_MAX 4.0
 | 
			
		||||
 | 
			
		||||
@ -59,18 +59,18 @@ static const AVOption scdet_options[] = {
 | 
			
		||||
 | 
			
		||||
AVFILTER_DEFINE_CLASS(scdet);
 | 
			
		||||
 | 
			
		||||
    static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
            AV_PIX_FMT_RGB24, AV_PIX_FMT_BGR24, AV_PIX_FMT_RGBA,
 | 
			
		||||
            AV_PIX_FMT_ABGR, AV_PIX_FMT_BGRA, AV_PIX_FMT_GRAY8,
 | 
			
		||||
            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_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,
 | 
			
		||||
            AV_PIX_FMT_NONE
 | 
			
		||||
    };
 | 
			
		||||
static const enum AVPixelFormat pix_fmts[] = {
 | 
			
		||||
        AV_PIX_FMT_RGB24, AV_PIX_FMT_BGR24, AV_PIX_FMT_RGBA,
 | 
			
		||||
        AV_PIX_FMT_ABGR, AV_PIX_FMT_BGRA, AV_PIX_FMT_GRAY8,
 | 
			
		||||
        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_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,
 | 
			
		||||
        AV_PIX_FMT_NONE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static int config_input(AVFilterLink *inlink)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
Some files were not shown because too many files have changed in this diff Show More
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user