Blender Git Commits

Blender Git "decklink" branch commits.

Page: 4 / 5

April 22, 2015, 14:39 (GMT)
BGE VideoDeckLink: forgot one cleanup in last commit.
April 22, 2015, 14:36 (GMT)
BGE VideoDeckLink: Minor cleanup in Windows implementation.
April 16, 2015, 21:56 (GMT)
Atomic ops: return value of *add* and *sub* consistent across OSes.

The Windows and asm variant were returning the value, of the variable
before the add or sub operation. All the other variants were returning
the value after the operation. Now all variants return the new value.
April 16, 2015, 21:53 (GMT)
BGE DeckLink: support capture in Linux - part I.

Capture works: I can see the frame coming in but passing them to the GPU
doesn't work yet. I'm using standard OGL function though.. TBC.
them to the GPU.
April 16, 2015, 15:28 (GMT)
BGE Decklink: upgrade to Desktop Video 10.4
April 13, 2015, 21:45 (GMT)
BGE DeckLink: Upgrade to Decklink version 10.4.
April 11, 2015, 18:24 (GMT)
BGE DeckLink: fix extend mode.

The algorithm copied from VideoTexture's fast scaling was working only for
shrinking but we also need expanding here. Fixed that.
April 10, 2015, 21:00 (GMT)
BGE DeckLink: small linux compilation fix.
April 10, 2015, 19:07 (GMT)
BGE VideoTexture: 3D support+performance boost on DeckLink.

ImageViewport will now skip the unnecessary RGBA32 filtering if the capture
is already in the RGBA format. This will be the case if alpha=True and no
filter is set. This saves a great deal of CPU.
Add swap attribute to DeckLink to skip pixel format conversion between
VideoTexture internal (RGBA) and DeckLink (BGRA). This is to test the
benefit of passing the image directly to the board without intermediate
copy => great boost of performance.
However, it will be necessary to change the VideoTexture internal pixel
format from RGBA to BGRA.

3D stream is now fully supported on DeckLink, the right eye image is
passed via a new 'right' attribute (name not definitive). To generate this
image one can simply put a second camera to figure the right eye and
capture its view with ImageRende.
April 9, 2015, 07:41 (GMT)
Player: new -a option to enable alpha on frame buffer.

A new option '-a' can be passed to the blenderplayer. It forces the
framebuffer to have an alpha channel. As the background color is applied
with 0 alpha, ImageViewport will return an image with transparent
background (provided alpha is set to True on the ImageViewport object).
This is useful in combination with DeckLink to generate a key frame
with transparent background.
Without the -a option, the frame buffer has no alpha channel and
ImageViewport always returns an opaque image, no matter what.
This should be working in Windows and Linux, but only Windows is tested at
present.
Note that although the frame buffer has alpha, the player window is still
rendered opaque. Transparency of the window is possible using the
'compositing' functions of Windows and the code is already there for that
(look for WIN32_COMPOSITING) but is not enabled because 1) it doesn't work
so well 2) it requires a DLL that is only available on Vista and up.
April 8, 2015, 18:59 (GMT)
BGE: VideoTexture.DeckLink: add level attribute.

Allows to control the keying level once keying is enabled.
April 8, 2015, 18:51 (GMT)
BGE: Support VideoDeckLink in Linux, compiling but not yet working.
April 7, 2015, 09:00 (GMT)
nVidia's DVP library is now linked at runtime.

The DVP library allows direct memory transfer with the GPU to send or
receive textures. It's used in bge.Texture.VideoDeckLink to sent a
captured video stream efficiently to the GPU, only for Windows.
The user will need to download the SDK version 10.3.1 from BlackMagicDesign
and copy dvp.dll where blender can find it (e.g. next to blender.exe)
April 6, 2015, 21:18 (GMT)
Merge remote-tracking branch 'origin/master' into decklink
April 6, 2015, 16:08 (GMT)
Merge remote-tracking branch 'origin/master' into decklink
April 6, 2015, 14:49 (GMT)
BGE: ImageViewport no texture to load when used with DeckLink.
April 6, 2015, 14:18 (GMT)
BGE: Fill-in DeckLink object.

Implement the DeckLink object to output on DeckLink card. It takes a
source like the Texture object and gets the image the same way.

API:
dl = bge.texture.DeckLink(0, "HD1080p24") # card nb, mode
dl.source = bge.texture.ImageViewport()
dl.source.whole = True
dl.refresh(True)

Known issue: using ImageViewport as source will not set the alpha channel
right. This is because the framebuffer by default will not have an alpha
channel. This can be solved either by inserting a 'green' filter that will
convert the background color to alpha, or enable the alpha channel on the
framebuffer (require change in Ghost).
April 4, 2015, 13:56 (GMT)
BGE: New VideoTexture.DeckLink object.

This object is analoguous to Texture and is used to send frames out to a
DeckLink card. It is primarly intended to mix computed frames with a video
stream looping through the card for real-time compositing. This is known
as 'keying'.
Currently the implementation is only a stub.
March 30, 2015, 21:02 (GMT)
BGE: setUniformEyef need automatic refresh on every frame.

Fix a bug in setUniformEyef implementation where the caching system for
uniform was getting in the way: a 'eye' uniform needs to be updated on
every frame and for each eye in stereo mode.
March 29, 2015, 11:59 (GMT)
BGE: BL_Shader.setUniformEyef(): new uniform type to pass stereo eye value.

BL_Shader.setUniformEyef() python method to define a uniform that will
receive the eye value as a float: 0.0 when rendering the left eye, 0.5
when rendering the right eye.
This can be used in a shader to split a 3D texture sent to the GPU by
VideoDeckLink as the left+right eye frame is sent as a single texture in
bottom/top order.

Work around a bug in VideoDeckLink with the the DVP library: the call to
dvpBindToGLCtx() fails for the first frame. This needs to be investigated
but for now catch the exception thrown by this condition and release the
decklink frame anyway as otherwise it corrupts the reference count of the
decklink device.
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021