[Libav-user] Help with unpacking PIX_FMT_YUV4* data types

J Decker d3ck0r at gmail.com
Tue Mar 11 00:28:36 CET 2014


I would think you would just use 'sws_getContext' and 'sws_scale'
worked good for me...


On Mon, Mar 10, 2014 at 4:18 PM, Ricky Huang <rhuang.work at gmail.com> wrote:

> 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
> Libav-user at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/libav-user
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://ffmpeg.org/pipermail/libav-user/attachments/20140310/58e4e226/attachment.html>


More information about the Libav-user mailing list