Hello all,
I am writing code that extracts the luminance component of an input video using
my own custom filter in libavfilter - specifically I am extracting it from
"PIX_FMT_YUV420P" a video and I am wondering how to go about doing so.
According to the pixfmt.h header:
>
> PIX_FMT_YUV420P, ///< planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y
> samples)
I am not sure how to interpret that. Assuming I am doing this in my
draw_slice() function. It has the definition of:
>
> static void draw_slice(AVFilterLink *inlink, int y0, int h, int slice_dir)
I know I can get to the input data plane by:
>
> AVFilterBufferRef *cur_pic = link->cur_buf;
> uint8_t *data = cur_pic->data[0];
But there are multiple "planes" in the data. Does data[0], data[1], data[2]
correspond to each of the Y, U, V channels?
Also, once I am able to point my pointer at the correct coordinate, how should
I interpret the extracted result (float, int, etc)?
Thank you in advance.
_______________________________________________
Libav-user mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/libav-user