Re: libv4lconvert: fix RGB32 conversion

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 07/19/2014 02:37 PM, Hans de Goede wrote:
> Hi,
> 
> On 07/19/2014 09:18 AM, Hans Verkuil wrote:
>> The RGB32 formats start with an alpha byte in memory. So before calling the
>> v4lconvert_rgb32_to_rgb24 or v4lconvert_rgb24_to_yuv420 function skip that initial
>> alpha byte so the src pointer is aligned with the first color component, since
>> that is what those functions expect.
>>
>> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
>>
>> diff --git a/lib/libv4lconvert/libv4lconvert.c b/lib/libv4lconvert/libv4lconvert.c
>> index cea65aa..e4aa54a 100644
>> --- a/lib/libv4lconvert/libv4lconvert.c
>> +++ b/lib/libv4lconvert/libv4lconvert.c
>> @@ -1132,6 +1132,7 @@ static int v4lconvert_convert_pixfmt(struct v4lconvert_data *data,
>>   			errno = EPIPE;
>>   			result = -1;
>>   		}
>> +		src++;
> 
> Hmm what about bgr versus rgb, since those are mirrored, maybe the location of
> the alpha byte is mirrored to, and we should only do the src++ for one of them ?

Uh, that's what I do. Only for the RGB32 pixformats does the src have to be
increased by one. The BGR32 pixformats have the alpha at the end, so there is
no need to increment src.

Regards,

	Hans

> 
>>   		switch (dest_pix_fmt) {
>>   		case V4L2_PIX_FMT_RGB24:
>>   			v4lconvert_rgb32_to_rgb24(src, dest, width, height, 0);
>>
> 
> Regards,
> 
> Hans
> --
> To unsubscribe from this list: send the line "unsubscribe linux-media" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux