| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
This patch adds look-ahead property to encoder
The value indicates look ahead size in frames,
the number of frames processed ahead of second pass encoding.
Dual pass encoding is disabled if look-ahead
value is less than 2.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Custom API that upstream elements can use to notify encoders about
marking longterm ref. pictures or using longterm ref. pictures in
encoding process.
This patch adds below properties:
long-term-ref: Enable/Disable dynamically marking long-term
reference pictures in encoding process
long-term-freq: Periodicity of long-term reference picture
marking in encoding process.
If a picture is marked as long-term reference picture then it remains
in the DPB list for ever unless it overrides with new long-term pitcure with
same index. Encoder can use this long-term picture as refence for
encoding.
This feature is mostly useful to avoid visual artifacts propagation in streaming use cases
when packet loss happens. Instead of requesting for IDR, client can request for use long-term
reference picture for encoding.
|
|
|
|
|
|
|
|
|
|
| |
Propose pool upstream so input buffers can be allocated by the port and
exported as dmabuf.
The actual OMX buffers are allocated when the pool is activated, so we
don't end up doing useless allocations if the pool isn't used.
https://bugzilla.gnome.org/show_bug.cgi?id=796918
|
|
|
|
|
|
|
|
|
| |
Increase the number of output buffers by the number of buffers requested
downstream.
Prevent buffers starvation if downstream is going to use dynamic buffer
mode on its input.
https://bugzilla.gnome.org/show_bug.cgi?id=795746
|
|
|
|
|
|
| |
Similar change as the one I just did in omxvideodec.
https://bugzilla.gnome.org/show_bug.cgi?id=796207
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
0xffffffff is the magic number in gst-omx meaning 'the default value
defined in OMX'. This works fine with OMX parameters which are only set
once when starting the component but not with configs which can be
changed while PLAYING.
Save the actual OMX default bitrate so we can restore it later if user
sets back 0xffffffff on the property.
Added GST_OMX_PROP_OMX_DEFAULT so we stop hardcoding magic numbers
everywhere.
https://bugzilla.gnome.org/show_bug.cgi?id=794998
|
|
|
|
|
|
|
|
|
| |
Check input buffers for ROI meta and pass them to the encoder by using
zynqultrascaleplus's custom OMX extension. Also add a new
"default-roi-quality" in order to tell the encoder what quality level
should be applied to ROI by default.
https://bugzilla.gnome.org/show_bug.cgi?id=793696
|
|
|
|
|
|
|
|
| |
The 'target-bitrate' property can be changed while PLAYING
(GST_PARAM_MUTABLE_PLAYING). Make it thread-safe to prevent concurrent
accesses between the application and streaming thread.
https://bugzilla.gnome.org/show_bug.cgi?id=793458
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=792528
|
|
|
|
|
|
|
|
|
|
| |
The Zynq UltraScale+ encoder implements a custom OMX extension to
directly import dmabuf saving the need of mapping input buffers.
This can be use with either 'v4l2src io-mode=dmabuf' or an OMX video
decoder upstream.
https://bugzilla.gnome.org/show_bug.cgi?id=792361
|
|
|
|
|
|
|
|
|
|
| |
If the OMX component supports dynamic buffer mode and the input buffers
are properly aligned avoid copying each input frame between OMX and
GStreamer.
Tested on zynqultrascaleplus and rpi (without dynamic buffers).
https://bugzilla.gnome.org/show_bug.cgi?id=787093
|
|
|
|
|
|
|
|
|
|
| |
No semantic change, just factor out the code enabling and disabling the
component to their own functions.
Makes the code easier to read as the set_format() method was already
pretty big. Will also allow us to easily change the enabling logic.
https://bugzilla.gnome.org/show_bug.cgi?id=785967
|
|
|
|
| |
https://bugzilla.gnome.org//show_bug.cgi?id=734774
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
buffers
|
|
|
|
|
| |
This can be used by subclasses to override the buffer flags
or to handle some frames differently than the default behaviour.
|
|
|
|
|
|
| |
And don't send EOS twice in any case. This most likely
will cause the component to not output it again and
is not necessary anyway.
|
|
|
|
|
| |
Only set them if necessary and allow to use the component
defaults.
|
|
|
|
|
| |
This makes sure that all buffers are encoded and pushed downstream
before flushing the ports and losing some buffers.
|
| |
|
| |
|
|
Unfortunately requires lots of hacks again to work properly with
Bellagio.
|