[FFmpeg-devel] [PATCH 1/2 v3] avfilter: add readvitc filter
wm4
nfxjfg at googlemail.com
Fri Apr 8 17:04:51 CEST 2016
On Fri, 8 Apr 2016 15:24:56 +0200
Tobias Rapp <t.rapp at noa-archive.com> wrote:
> On 08.04.2016 14:54, Paul B Mahol wrote:
> > On 4/8/16, Tobias Rapp <t.rapp at noa-archive.com> wrote:
> >> On 08.04.2016 12:48, Carl Eugen Hoyos wrote:
> >>> Tobias Rapp <t.rapp <at> noa-archive.com> writes:
> >>>
> >>>>> AV_PIX_FMT_YUV440P? Also J variants...
> >>>>
> >>>> Good catch, I was lazy and just copied the function from vf_eq.c. The
> >>>> updated patch should contain all pixel formats with planar 8bit luma
> >>>> component.
> >>>
> >>> Instead of listing the formats, check for pix_fmts
> >>> that are 8bit and planar.
> >>
> >> That might be an even better idea. Working on v3 of the patch I noticed
> >> that YA8 (which was on the list of v2) is not planar, but NV12 and NV21
> >> (which were missing in v2) have a planar Y.
> >>
> >> Have attached version 3 of the patch which:
> >> - filters the list of all pixel formats dynamically
> >> - supports thr_b and thr_w parameters having the same value
> >> - updates the warning if thr_b == thr_w to print the parameter value
> >> instead of the internal 8-bit value
> >> - has reduced number of parentheses in CRC code
> >>
> >> Regards,
> >> Tobias
> >>
> >
> > Now, when someone adds 8bit X planar format which is not YUV it will break.
>
> It depends on whether the equation "is_yuv_or_gray = (desc->flags &
> AV_PIX_FMT_FLAG_RGB) == 0)" can be made or not. The comment in
> libavutil/pixdesc.h made me assume it is safe to do so:
>
> """
> /**
> * The pixel format contains RGB-like data (as opposed to YUV/grayscale).
> */
> #define AV_PIX_FMT_FLAG_RGB (1 << 5)
> """
>
> So what has more weight, the aspect of defensive programming or the cost
> of maintaining a static list?
There are more colorspaces than RGB and YUV.
I'd say either hardcode the list, or introduce libavutil utility
functions which can "classify" a pixfmt in certain ways useful to such
filters.
More information about the ffmpeg-devel
mailing list