
Outrow = out->data + (y > neg->vsub) * out->linesize Īvfilter_draw_slice(link->dst->outputs, y, h) Outrow = out->data + y * out->linesize įor(plane = 1 plane data + (y > neg->vsub) * in-> linesize Static void draw_slice(AVFilterLink *link, int y, int h)ĪVFilterPicRef *out = link->dst->outputs->outpic It returns zero to indicate success, because there are no possible input cases which this filter cannot handle.įinally, the function which actually does the processing for the filter, draw_slice(): It then stores a set of offsets for compensating for different luma/chroma value ranges for JPEG YUV, and a different set of offsets for other YUV colorspaces. This simply calls avcodec_get_chroma_sub_sample() to get the chroma subsampling shift factors, and stores those in the context. This structure is declared in libavfilter/avfilter.h:Īvcodec_get_chroma_sub_sample(link->format, &neg->hsub, &neg->vsub)

This structure gives information needed to initialize the filter, and information on the entry points into the filter code. All filters are described by an AVFilter structure.
