X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavfilter%2Fvf_hqdn3d.c;h=f7311df024db2eb47b959ae9915918eb9a2b6907;hb=264f12342c3e71e4ecc9a2993e656e064f774105;hp=a454207b61453d37e3aa3a5d32112fb55d56db9a;hpb=ce27c9eb25986ffb79fa77ad978c7ed676f02aac;p=ffmpeg diff --git a/libavfilter/vf_hqdn3d.c b/libavfilter/vf_hqdn3d.c index a454207b614..f7311df024d 100644 --- a/libavfilter/vf_hqdn3d.c +++ b/libavfilter/vf_hqdn3d.c @@ -294,11 +294,12 @@ static int query_formats(AVFilterContext *ctx) static int config_input(AVFilterLink *inlink) { HQDN3DContext *hqdn3d = inlink->dst->priv; + const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(inlink->format); int i; - hqdn3d->hsub = av_pix_fmt_descriptors[inlink->format].log2_chroma_w; - hqdn3d->vsub = av_pix_fmt_descriptors[inlink->format].log2_chroma_h; - hqdn3d->depth = av_pix_fmt_descriptors[inlink->format].comp[0].depth_minus1+1; + hqdn3d->hsub = desc->log2_chroma_w; + hqdn3d->vsub = desc->log2_chroma_h; + hqdn3d->depth = desc->comp[0].depth_minus1+1; hqdn3d->line = av_malloc(inlink->w * sizeof(*hqdn3d->line)); if (!hqdn3d->line) @@ -348,6 +349,26 @@ static int end_frame(AVFilterLink *inlink) return 0; } +static const AVFilterPad avfilter_vf_hqdn3d_inputs[] = { + { + .name = "default", + .type = AVMEDIA_TYPE_VIDEO, + .start_frame = ff_inplace_start_frame, + .draw_slice = null_draw_slice, + .config_props = config_input, + .end_frame = end_frame + }, + { NULL } +}; + +static const AVFilterPad avfilter_vf_hqdn3d_outputs[] = { + { + .name = "default", + .type = AVMEDIA_TYPE_VIDEO + }, + { NULL } +}; + AVFilter avfilter_vf_hqdn3d = { .name = "hqdn3d", .description = NULL_IF_CONFIG_SMALL("Apply a High Quality 3D Denoiser."), @@ -357,15 +378,7 @@ AVFilter avfilter_vf_hqdn3d = { .uninit = uninit, .query_formats = query_formats, - .inputs = (const AVFilterPad[]) {{ .name = "default", - .type = AVMEDIA_TYPE_VIDEO, - .start_frame = ff_inplace_start_frame, - .draw_slice = null_draw_slice, - .config_props = config_input, - .end_frame = end_frame }, - { .name = NULL}}, - - .outputs = (const AVFilterPad[]) {{ .name = "default", - .type = AVMEDIA_TYPE_VIDEO }, - { .name = NULL}}, + .inputs = avfilter_vf_hqdn3d_inputs, + + .outputs = avfilter_vf_hqdn3d_outputs, };