| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
search for platform version
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Always fill buffers with our custom memory. The custom memory will avoid
mapping CV/CM buffers unless necessary.
|
|
|
|
|
|
|
| |
Before this, buffers would lose their Core Video / Core Media meta
over intervideo* boundary.
https://bugzilla.gnome.org/show_bug.cgi?id=747216
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implement a new memory type wrapping CVPixelBuffer.
There are two immediate advantages:
a) Make the GstMemory itself retain the CVPixelBuffer. Previously,
the containing GstBuffer was solely responsible for the lifetime of
the backing CVPixelBuffer.
With this change, we remove the GST_MEMORY_FLAG_NO_SHARE so that
GstMemory objects be referenced by multiple GstBuffers (doing away
with the need to copy.)
b) Delay locking CVPixelBuffer into CPU memory until it's actually
mapped -- possibly never.
The CVPixelBuffer object is shared among references, shares and
(in planar formats) planes, so a wrapper GstAppleCoreVideoPixelBuffer
structure was introduced to manage locking.
https://bugzilla.gnome.org/show_bug.cgi?id=747216
|
|
|
|
| |
...since the base class doesn't use g_slice anymore
|
|
|
|
|
|
|
|
| |
Drop object lock before unrefing memory, otherwise the object
lock might be taken again from the allocator and then things
deadlock.
https://bugzilla.gnome.org/show_bug.cgi?id=760551
|
|
|
|
| |
Specifically the GstGLMemoryPBO addition (which was the unadorned GstGLMemory).
|
|
|
|
|
|
|
| |
gst_element_set_context
Allow setting the GL context with gst_element_set_context. When available, the
local context obtained via the context query still has the precedence.
|
|
|
|
|
| |
The full memory can be safely shared. Sharing a sub region can't be done and
will fail in the base allocator, triggering a copy.
|
|
|
|
| |
We can actually renegotiate now, so remove old check which disabled it.
|
|
|
|
| |
Fix negotiation when GLMemory is requested but a context is not available
|
|
|
|
|
|
| |
When doing GLMemory avfvideosrc negotiates UYVY. This change allows avfvideosrc
! tee name=t ! ... ! glimagesink t. ! ... ! gldownload ! vtenc_h264 ! ...
to do GLMemory and 0-copy with the encoder (with the CV meta).
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Change texture format from BGRA to NV12. This allows a pipeline like avfvideosrc
! tee name=t ! ... ! glimagesink t. ! ... ! gldownload ! vtenc_h264 ! ... to
negotiate GLMemory. This makes the glimagesink branch much faster (obviously)
and triggers the 0-copy path between avfvideosrc and vtenc (using the CV meta).
Combined this results in a huge perf improvement on iOS (25-30% of CPU time in a
pipeline like the one above).
Note that this doesn't introduce a new shader conversion in the sink, since BGRA
textures had to be copied/converted from format=BGRA,texture-target=RECTANGLE to
format=RGBA,texture-target=2D anyway.
|
|
|
|
|
|
| |
Fixate to the highest possible resolution and fps. Otherwise by default we end
up fixating at 2fps and the lowest supported resolution, which is hardly what
someone who bought an overpriced smartphone wants.
|
|
|
|
|
|
|
|
| |
We need a static lock to protect various NVENC methods in _set_format(). Without
this the CPU use increases dramatically on initialisation of the element when
there are multiple elements being initialised at the same time.
https://bugzilla.gnome.org/show_bug.cgi?id=759742
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When the mode of decklinkvideosink is set to "auto", the sink claims to
support the full set of caps that it can support for all modes. Then, every
time new caps are set, the sink will automatically find the correct mode for
these caps and set it.
Caveat: We have no way to know whether a specific mode will actually work for
your hardware. Therefore, if you try sending 4K video to a 1080 screen, it
will silently fail, we have no way to know that in advance. Manually setting
that mode at least gave the user a way to double-check what they are doing.
https://bugzilla.gnome.org/show_bug.cgi?id=759600
|
|
|
|
|
|
|
| |
This allows selection of the device by GUID instead of the name. The name is
user-given and multiple devices can have the same name.
https://bugzilla.gnome.org/show_bug.cgi?id=759484
|
|
|
|
|
| |
A mix between different line endings in the same file is not a good idea,
and the .c files are both with UNIX line endings so let's use that.
|
|
|
|
|
|
|
|
|
|
| |
Otherwise qtkitvideosrc fails to build on OSX 10.10.4
because QTKit has been deprecated since OS X 10.9.
Also set -mmacosx-version-min=10.8 in front to allow
the user or cerbero to override the version.
https://bugzilla.gnome.org/show_bug.cgi?id=745564
|
|
|
|
|
|
|
|
| |
Add gst_gl_memory_allocator_get_default to get the default allocator based on
the opengl version. Allows us to stop hardcoding the PBO allocator which isn't
supported on gles2.
Fixes GL upload on iOS9 among other things.
|
|
|
|
| |
The convention is to have the destroy notify last after any user data
|
|
|
|
| |
Fix build after 779dc3132c8f6dd560cb07cc2e2c3c72aeaa7845
|
| |
|
|
|
|
| |
replaced by equivalent functionality within gst_gl_base_memory_alloc()
|
|
|
|
|
|
| |
- Create GstGLVideoAllocationParams which is a GstGLAllocationParams subclass.
- Make it possible to allocate glmemory objects directly if no frills are
needed.
|
| |
|
| |
|
| |
|