[Libav-user] BGR24 to YUV pixel conversion
Neil Menne
the1evilgenius at gmail.com
Tue Apr 23 16:22:04 CEST 2013
//begin relevant code here
mSwsContext = sws_getContext(input_width,
input_height,
input_pixel_format,
output_width,
output_height,
output_pixel_format,
SWS_BICUBIC,
NULL,
NULL,
NULL);
AVPicture input_picture;
avpicture_alloc(&input_picture,
input_pixel_format, //AV_PIX_FMT_BGR24
input_width, //656
input_height); //354
ret = avpicture_fill(&input_picture,
data,
input_pixel_format,
input_width,
input_height);
AVPicture output_picture;
avpicture_alloc(&output_picture,
output_pixel_format,
output_width,
output_height);
if (mSwsContext != NULL)
{
ret = sws_scale(mSwsContext,
input_picture.data,
input_picture.linesize,
0,
input_height,
output_picture.data,
output_picture.linesize);
//ret here is always 0
}
//etc....
On Tue, Apr 23, 2013 at 10:21 AM, Neil Menne
<nhmenne42 at students.tntech.edu>wrote:
> I'm trying to convert a raw image that I receive as a unsigned character
> array. I then create (via avpicture_alloc) two AVPictures (one for the
> source and one for the destination). I then do an avpicture_fill for the
> input using the unsigned character array. The value returned by
> avpicture_fill matches the size of the original image.
>
> When I do the sws_scale, I get a printout saying "bad src image pointers"
> which comes from the check_image_pointers function in sws_scale. My
> question is this: How is this happening? I'm filling an allocated picture.
> Where is the disconnect?
>
> Thanks in advance, guys.
>
> -Neil
>
> P.S. here's the relevant snippet of code
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://ffmpeg.org/pipermail/libav-user/attachments/20130423/41f43c4e/attachment.html>
More information about the Libav-user
mailing list