2017-07-21 20:16 GMT+02:00 Reimar Döffinger <reimar.doeffin...@gmx.de>:
> On 21.07.2017, at 16:26, Paras Chadha <paraschadh...@gmail.com> wrote:
>
>> On Fri, Jul 21, 2017 at 3:27 AM, Carl Eugen Hoyos <ceffm...@gmail.com>
>> wrote:
>>
>>> 2017-07-20 21:46 GMT+02:00 Paras Chadha <paraschadh...@gmail.com>:
>>>
>>>> +            case AV_PIX_FMT_RGB24:
>>>> +            case AV_PIX_FMT_RGBA:
>>>> +                for (k = 0; k < naxis3; k++) {
>>>> +                    for (i = 0; i < avctx->height; i++) {
>>>> +                        ptr = p->data[0] + (avctx->height - i - 1) *
>>> p->linesize[0] + k;
>>>> +                        for (j = 0; j < avctx->width; j++) {
>>>> +                            bytestream_put_byte(&bytestream, ptr[0]);
>>>> +                            ptr += naxis3;
>>>
>>> (Sorry if this is nonsense:)
>>> Shouldn't you be using PIX_FMT_GBRP and PIX_FMT_GBRAP?
>>>
>>
>> No, the current pixel formats are working fine. I have tested using GIMP
>> too. It is showing all the RGB images (and others too) correctly.
>
> I think that's not what he meant.
> You are explicitly requesting a packed format that has the data in
> RGBRGBRGB... order, and you then need these loops to split it into
> RRRR... GGGG... BBBB...
> He's suggesting you should simply request the format storing the data like 
> that

Yes, this makes above code both simpler and (on typical hardware)
always faster (it will never be slower, no matter the hardware).

> then all you need to do is the unsigned -> signed conversion

Which is not necessary for the above case.

Carl Eugen
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to