[Bf-gamedev] VideoTexture internal image format

Dalai Felinto dfelinto at gmail.com
Thu Oct 15 14:13:46 CEST 2015


>  Another solution would be to keep 'image' to return RGBA (via an
inefficient byte swapping) but have another attribute (.e.g 'buffer') to
return internal BGRA buffer.

I would still favour this approach even if "everything else will just
be as before". There is no strong reason to break the API here if I
got it correctly (and of course in the function doc we mention that
buffer is a more optimized format).

my 2 cents anyways
--
blendernetwork.org/dalai-felinto
www.dalaifelinto.com


2015-10-15 8:22 GMT-03:00 Benoit Bolsee <benoit.bolsee at online.be>:
> Yes, everything else will just be as before. The change in the internal
> representation will be reflected in all internal OGL & ffmpeg, calls so
> that there is no visual change.
>
> On Thu, 2015-10-15 at 08:06 -0300, Dalai Felinto wrote:
>> Hi Benoit,
>>
>> Apart from the API change would everything else just work as before?
>>
>> For example, if I was using video texture to swap a texture from one
>> in the HD,  or by data from imagerender would they keep working?
>>
>> On Oct 15, 2015 05:38, "Benoit Bolsee" <benoit.bolsee at online.be>
>> wrote:
>>         Hi All,
>>
>>         As you know, the internal image format used in VideoTexture is
>>         RGBA.
>>         During the developments that I'm carrying in the decklink
>>         branch, it
>>         came up several times that this format is badly chosen and
>>         that BGRA
>>         would be a better choice. The points in favor to the change
>>         are:
>>         - the real native OGL format for frame buffer and texture is
>>         BGRA,
>>         transferring images with the GPU is faster if the host is also
>>         BGRA.
>>         - the Decklink video cards do not support RGBA for the keying
>>         frame,
>>         only BGRA.
>>         - Qt does not have a RGBA format, only BGRA
>>
>>         So the change seems necessary. It can mostly be done without
>>         changing
>>         the API except for the 'image' attribute of the image source
>>         objects
>>         that returns the internal buffer. So the change will break
>>         some scripts
>>         but there is already the bge.texture.imageToArray() method
>>         that accepts
>>         a mode format. The scripts that require RGBA can be updated by
>>         using
>>         this function.
>>         Another solution would be to keep 'image' to return RGBA (via
>>         an
>>         inefficient byte swapping) but have another attribute (.e.g
>>         'buffer') to
>>         return internal BGRA buffer.
>>
>>         I would rather break the compatibility but I thought I'd ask
>>         the list
>>         first as I have the ambition to bring the decklink branch into
>>         trunk.
>>
>>         Benoit
>>
>>
>>
>>         _______________________________________________
>>         Bf-gamedev mailing list
>>         Bf-gamedev at blender.org
>>         http://lists.blender.org/mailman/listinfo/bf-gamedev
>> _______________________________________________
>> Bf-gamedev mailing list
>> Bf-gamedev at blender.org
>> http://lists.blender.org/mailman/listinfo/bf-gamedev
>
>
> _______________________________________________
> Bf-gamedev mailing list
> Bf-gamedev at blender.org
> http://lists.blender.org/mailman/listinfo/bf-gamedev


More information about the Bf-gamedev mailing list