Qian Hu (胡骞)
53007b5d83
docs: update fields about gst video aligment
...
1) add stride align fields in allocation.md
2) add stride align fields in gstvideometa.h
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7201 >
2024-11-19 15:27:38 +00:00
Qian Hu (胡骞)
6335c5d005
meta: add aggregation function for allocation meta api params
...
since tee do allocation query for each downstream element, and
get allocation query params from them. this function will aggregate
all params, and propose it for upstream element of tee
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7201 >
2024-11-19 15:27:38 +00:00
Nicolas Dufresne
be95be4b31
video: pool: Make structure const when getting video alignment
...
Downgrade to const, this is backward compatible make makes the API compatible
wit more usages.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7201 >
2024-11-19 15:27:38 +00:00
Jan Schmidt
75fcfdb12d
video-converter: Set TIME segment format on appsrc
...
Combine the appsrc and appsink settings into one place and ensure that
the appsrc will output a TIME segment, to avoid incorrect segment format
criticals in some situations.
The D3D11 path was already setting the segment format correctly.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7839 >
2024-11-06 19:30:11 +11:00
Diego Nieto
fe61bc3cee
video-format: reduce the number of memcpy if possible
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7694 >
2024-10-26 07:02:50 +00:00
Carlos Falgueras García
561ca94916
video: Add GRAY10_LE16 support
...
This adds a 10-bit variant of grayscale packed into 16 bits little-endian
words. The MSB 6 bits are padding and should be ignored. This format is
used by Fraunhofer VVC encoder and decoder libraries.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7706 >
2024-10-25 05:53:22 +00:00
François Laignel
375acaed51
gst: hamonise recent Caps function names with Structure counterparts
...
These functions were introduced as part of the GstIdStr MR:
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7432
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7644 >
2024-10-16 23:14:50 +00:00
Sebastian Dröge
275134c883
base: audio: video: Use more efficient caps/structure API in various places
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7432 >
2024-09-26 19:26:18 +03:00
Sebastian Dröge
b7b24573ce
common: Use more efficient versions of GstCapsFeatures API where possible
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7432 >
2024-09-26 19:26:18 +03:00
Sebastian Dröge
6233eb0ff3
common: Stop using GQuark-based GstStructure field name API
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7432 >
2024-09-26 19:21:29 +03:00
Sebastian Dröge
0c1611d31d
common: Stop using GQuark-based GstStructure name API
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7432 >
2024-09-26 19:21:29 +03:00
Sebastian Dröge
396ef0cbcf
video: Don't overshoot QoS earliest time by a factor of 2
...
By setting the earliest time to timestamp + 2 * diff there would be a difference
of 1 * diff between the current clock time and the earliest time the element
would let through in the future. If e.g. a frame is arriving 30s late at the
sink, then not just all frames up to that point would be dropped but also 30s of
frames after the current clock time.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7459 >
2024-09-13 19:52:52 +00:00
Sebastian Dröge
e59056526a
video-converter: Add fast path conversions between v210 <-> I420_10 / I422_10
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7504 >
2024-09-13 13:11:31 +00:00
Piotr Brzeziński
724c443a65
videoencoder: Expose release_frame() and drop_frame() as public API
...
release_frame() can be useful for manually dropping frames without posting QoS messages like finish_frame() would.
Matches the same kind of API on the decoder side of things.
Modifies the behaviour of release_frame() to make sure events from released frames are stored as 'pending'
and pushed before the next non-dropped frame. This is needed because now release_frame() can be called outside of
finish_frame(), so we would potentially just lose events and bad things would happen.
drop_frame() was also added to match the decoder API. It functions almost identically to finish_frame() without a buffer
attached to the frame, except instead of immediately pushing the frame's events, it will store them as pending.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7190 >
2024-08-06 09:31:58 +00:00
Jakub Adam
9629d78b7c
gstvideoaggregator: preserve features in non-alpha caps
...
Fixes caps negotiation when sink template caps of an element inheriting
GstVideoAggregator have features different from the implicit
"memory:SystemMemory".
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7102 >
2024-07-18 14:17:45 +02:00
Seungha Yang
fca7e5aa23
video: convertframe: Add support for d3d12 conversion
...
Use d3d12convert in case of d3d12 memory
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7095 >
2024-06-26 17:56:41 +00:00
Sebastian Dröge
9da1268656
video-info: Don't crash in gst_video_info_is_equal() if one videoinfo is zero-initialized
...
Instead handle it like gst_audio_info_is_equal() and consider both different.
And also add a shortcut for the pointers to both infos being equal.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7055 >
2024-06-18 17:47:14 +00:00
Sebastian Dröge
c14a2d7d6d
video: Document UL_LR / UR_LL video orientation methods correctly
...
They're not flipping along the diagonal axis but a flip and rotation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6936 >
2024-06-05 11:37:13 +00:00
Sebastian Dröge
0ef396359c
gst: Move GstQueueArray as GstVecDeque to core
...
And change lengths and indices from guint to gsize for a more correct type.
Also deprecate GstQueueArray and implement it in terms of GstVecDeque.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6779 >
2024-05-06 18:25:42 +00:00
Seungha Yang
c8d01d7d1a
video: Add Y216 and Y416 formats
...
The same memory layout as Y212 and Y412 formats, respectively
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6745 >
2024-05-03 17:02:34 +00:00
Edward Hervey
2aba1c86e9
videodecoder: Use a frame duration for QoS
...
We prefer to use the frame stop position for checking for QoS since we don't
want to drop a frame which is only partially late.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6689 >
2024-04-24 09:19:22 +00:00
Seungha Yang
e1910d2be1
navigation: Define mouse double click event
...
Windows and UI toolkits define mouse double click events
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6491 >
2024-04-18 20:19:38 +00:00
Xavier Claessens
686f74e4a4
format: Allow GST_AUDIO/VIDEO_FORMAT_UNKNOWN in _to_string() function
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6630 >
2024-04-17 01:19:58 +00:00
Sanchayan Maity
a9c4289da7
video-converter: Fix set config not having effect after start
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6594 >
2024-04-10 09:47:52 +00:00
Alexander Slobodeniuk
b18b3d00b7
navigation: add missing sanity checks
...
On practice a failure happened due to a race condition, the instance
already have been freed, but it could also happen if the instance
would be null.
Instead of crashing this sanity check is a more suitable option,
since with G_DEBUG=fatal-warnings it will crash too.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6475 >
2024-04-02 14:17:53 +00:00
Loïc Molinari
fb02516b75
video: Fix NV12_16L32S video frame size
...
The size of a NV12_16L32S video frame is bigger than expected because
it uses the size of a Y tile to compute the interleaved UV plane
size. Get the right UV tile size instead.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6118 >
2024-02-16 17:07:03 +00:00
Edward Hervey
b0de86ff68
video-anc: New GstMeta for SMPTE ST-291M Ancillary Data
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5488 >
2024-02-08 15:28:39 +00:00
Alexander Slobodeniuk
2d7d9f35f5
videoaggregator: fix bufferpool leak
...
that happens if it fails to activate the pool
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6025 >
2024-01-31 09:49:48 +00:00
Sebastian Dröge
2e86fb691a
video-format: Fix format order once again
...
RGBA should be before RBGA. Both the Python script and the gstreamer-rs
tests agree on that, but somehow this is not caught by the CI.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5837 >
2023-12-20 05:33:43 +00:00
Olivier Crête
f5d5f2cf1a
meta: Add API to register metas in two steps
...
And also remove the specific registration APIs for
serializable meta.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5830 >
2023-12-19 22:41:31 +00:00
Xavier Claessens
06d9d934f9
meta: Add serialize/deserialize API
...
This allows metas to be serialized to be transmitted or stored. This is
intended to be used for example by gdppay or unixfdsink.
Implemented on GstCustomMeta, GstVideoMeta, GstReferenceTimestampMeta,
and GstAudioMeta.
Sponsored-by: Netflix Inc.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5355 >
2023-12-17 16:13:26 +00:00
Seungha Yang
9b41666cfd
video: Fix RBGA format poffset
...
The offset array should be [0, 2, 1, 3]
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5738 >
2023-12-01 12:19:12 +00:00
Seungha Yang
5cbd062856
video: Add RBGA format
...
This new format is intended to be used by hardware decoders
where VUYA is only supported 4:4:4 decoding surface but
stream is encoded with GBR color space, HEVC and VP9 GBR streams
for example.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5703 >
2023-11-29 16:54:16 +00:00
qian hu
b8455ae989
video: dma-drm: add color format mappping about RGB and BGR
...
add mapping relationship between GST and DRM about RGB888/BGR888
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5641 >
2023-11-13 17:44:56 +00:00
Nicolas Dufresne
0eee03d688
videoaggregator: Avoid creating caps that are not in the template
...
By using the gst_caps_set_simple() to set the format on all structures, the
compositor may create invalid combinations as the caps may contain passthrough
caps. Avoid this issue by intersecting the resul with its original.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5386 >
2023-10-03 21:13:00 +00:00
Nicolas Dufresne
0fc63b58d0
video: Add support for a list of any video formats
...
Adds list of formats that should be used by element in needs to passthrough
video. It contains the full list of video format plus DMA_DRM format
and will be extended in the future as needed. This patches includes 3 new
symbols:
- GST_VIDEO_FORMATS_ANY_STR
- GST_VIDEO_FORMATS_ANY
- gst_video_formats_any()
The last one can be used by bindings or for code that prefers having
GstVideoFormat values instead of strings.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5386 >
2023-10-03 21:13:00 +00:00
Sebastian Dröge
510f71fbe4
video-format: Fix up video formats ordering by quality
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5412 >
2023-10-02 09:39:21 +03:00
Seungha Yang
69d1679914
video: Add GBR 16bits formats
...
Adding 16bits planar RGB formats
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5375 >
2023-09-23 13:12:55 +00:00
Michiel Westerbeek
03bf8e9386
video-scaler, audio-resampler: downgrade 'can't find exact taps' to debug
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5369 >
2023-09-20 16:31:47 +00:00
Nicolas Dufresne
5af78522b7
video: Use generated format order
...
Update the order according to what the generator produces.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5304 >
2023-09-10 19:06:07 -04:00
Nicolas Dufresne
d1043226d7
video: Fix unknown big endian format list
...
That list contained multiple formats that did not exists.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5304 >
2023-09-10 19:06:07 -04:00
Sebastian Dröge
d50c842d87
video: Fix ordering of video formats in GST_VIDEO_FORMATS_ALL_STR
...
This now follows the algorithm again that is described in the
documentation and implemented in gstreamer-rs.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5243 >
2023-08-25 15:27:02 +00:00
Matthew Waters
faf404a938
video: add support for A420/A422/A444 16-bit formats
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5233 >
2023-08-24 12:03:39 +10:00
Matthew Waters
202309fa2c
video: add support for 12-bit A420/A422/A444
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5226 >
2023-08-24 00:56:43 +00:00
Matthew Waters
9a56945173
video: add support for 8-bit A422/A444
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5213 >
2023-08-23 01:00:24 +00:00
Nicolas Dufresne
d604b3655e
video: Add Mediatek 10bit formats
...
These 10bit formats are identical to NV12_16L32S, but 64bytes of data is being
prefixed with 16bytes data with four pixels of lower 2bits per byte. For
MT2110T, the lower two bits set so each bytes contains a column of 4 pixels,
also describe as tiled lower 2 bits. MT2110T has been chosen as a name to match
the vendor chosen name. This format is unlikely to exist for other vendors.
For MT2110R, the 2 low bits are in raster order.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3444 >
2023-08-08 16:08:16 +00:00
He Junyan
a9e9001778
video DMA: Add several video formats support
...
Add Y410, Y412, Y210, Y212, BGR10A2, P010 and P012 format support.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5159 >
2023-08-08 12:29:20 +00:00
He Junyan
9e863976c9
video: dma: let gst_video_info_dma_drm_to_caps() return caps with DMABuf feature
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5107 >
2023-07-26 20:49:02 +00:00
He Junyan
5299c34452
video: Add GST_VIDEO_FORMATS_STR to declare all video formats as a string
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5094 >
2023-07-25 19:34:58 +00:00
Víctor Manuel Jáquez Leal
8b38614173
video: add GST_VIDEO_DMA_DRM_CAPS_MAKE
...
It is requried this macro because it doesn't define format field, neither
drm-format which is suppossed to be generated in run-time.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4981 >
2023-07-19 09:57:50 +00:00