Seungha Yang
43ee082189
dwritebaseoverlay: Forward downstream wanted min buffer size
...
Upstream element might want to know the min buffer size,
d3d11 decoders for example.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4929 >
2023-06-27 13:23:07 +00:00
Seungha Yang
8838a670e0
dwrite: Remove unused values
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4929 >
2023-06-27 13:23:07 +00:00
Seungha Yang
6cb41569e6
dwrite: Add support for closed caption overlay
...
Adding closed caption rendering feature to dwritetextoverlay
element.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4929 >
2023-06-27 13:23:07 +00:00
Seungha Yang
713f74f4f9
dwrite: Import libcaption source code
...
Import the code from gst-plugins-rs
(origin is https://github.com/szatmary/libcaption )
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4929 >
2023-06-27 13:23:07 +00:00
Seungha Yang
37c7c92c03
dwritetimeoverlay: Fix member variable initialization
...
Use GstBaseTransform::start() instead
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4929 >
2023-06-27 13:23:07 +00:00
He Junyan
6accb7a1f5
va: Only change video format in gst_va_video_info_from_dma_info()
...
The current way of using gst_video_info_set_format() will change all
fields of the GstVideoInfo. We only need to change its format, stride
and offset fields.
In order to keep the consistency with th common drm API, we rename the
gst_va_video_info_from_dma_info() into gst_va_dma_drm_info_to_video_info().
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4883 >
2023-06-26 16:18:23 +00:00
Stéphane Cerveau
53e48ce14d
va: use GstH264Level enum in _va_h264_level_limits
...
The 1B value has been changed to 9 instead of 11 in the list
of level limits.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4737 >
2023-06-26 10:47:36 +00:00
He Junyan
83e307ac96
va: basedec: Select the best format of the whole caps
...
The current way only selects the best video format from the first
structure of the caps. The caps like:
video/x-raw(memory:VAMemory),drm-format=(string)NV12; \
video/x-raw(memory:VAMemory),format=(string){ NV12, Y210 }
Will just choose NV12 as the result, even the bitstream is 10 bits.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4928 >
2023-06-25 10:55:23 +00:00
Mengkejiergeli Ba
b9ecd4e618
msdkenc: Apply update functions when setting property
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4865 >
2023-06-25 02:03:28 +00:00
Mengkejiergeli Ba
1308b2f6e5
msdkenc: Add help functions to check and update property
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4865 >
2023-06-25 02:03:28 +00:00
He Junyan
759857c203
va: basetransform: Copy the interested meta data for importing
...
The current way of using parent's copy_metadata() virtual function will
selectively filter out some meta such as crop meta. That virtual function
should be used when copying input buffer's meta data into output buffer,
not suitable when importing the input buffer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4887 >
2023-06-21 21:12:23 +00:00
He Junyan
ff2a75a2dd
va: basetransform: Check the crop meta when importing
...
When the input buffer has crop meta, and we need to do copy, we
should consider the uncropped video size and copy the full size
of video memory.
The video meta in this case should contain the full uncropped
resolution info. We can use it to create full size va buffers.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4887 >
2023-06-21 21:12:23 +00:00
He Junyan
703ab45334
va: basetransform: Only need va pool for internal usage
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4887 >
2023-06-21 21:12:23 +00:00
Víctor Manuel Jáquez Leal
9825cd8951
vapostproc: evaluate op_flags validations as boolean
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4910 >
2023-06-21 13:19:46 +02:00
Andoni Morales Alastruey
fc6e6fb547
vtenc: remove duplicated framerate and size variables
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4282 >
2023-06-19 08:37:55 +00:00
Andoni Morales Alastruey
23812bbc92
vtenc: apply DTS offset to ensure DTS <= PTS
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4282 >
2023-06-19 08:37:54 +00:00
Seungha Yang
93db77ea3a
dwrite: Protect ID2D1Factory API with lock
...
ID2D1Factory::CreateDxgiSurfaceRenderTarget is not thread-safe
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4886 >
2023-06-18 19:58:45 +00:00
Seungha Yang
8325623051
d3d11decoder: Reduce DPB size
...
Now all codec baseclasses can inform subclasses of correct max DPB size,
and exception handling (e.g., emergency bumping in h.264) has been
improved as well. Smaller number of additional DPB frame allocation
seems to be safe.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4878 >
2023-06-18 18:21:03 +00:00
Seungha Yang
c40f6dac57
d3d11overlaycompositor: Fix resource leak
...
Fixing regression since 94eadc9810
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4885 >
2023-06-19 00:13:00 +09:00
Seungha Yang
3153e7f46d
amfav1enc: Workaround driver bug with bt601 color matrix
...
If bt601 is specified, driver generates sequence header with identity
color matrix
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4370 >
2023-06-16 10:10:33 +00:00
Daniel Almeida
ec188eb82e
v4l2codecs: Add AV1 decoder
...
This patch adds AV1 stateless v4l2 decode support using the
new v4l2 request API to communicate with hardware accelerators.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1011 >
2023-06-16 01:30:40 +00:00
James Cowgill
70ff80a873
v4l2codecs: Always chain up to parent decide_allocation function
...
The `gst_video_decoder_negotiate_pool` function expects the
`decide_allocation` function to always provide a pool and will fail to
negotiate if the pool is missing. If we return immediately (even if we
don't need to do anything special) negotiation will fail if the
downstream element does not propose a pool.
Fix by chaining up to the default `decide_allocation` function which
adds a fallback pool if one was not already proposed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4630 >
2023-06-15 17:02:28 +00:00
Nicolas Dufresne
0f5d10f617
v4l2codecs: Enable Verisilicon 10bit 4:2:0 support
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3447 >
2023-06-15 14:32:32 +00:00
Nicolas Dufresne
aea74db1a2
v4l2: Sync headers to current media_stage
...
commit d78b9d6671decdaedb539635b1d0a34f8f5934f8
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3447 >
2023-06-15 14:32:32 +00:00
Seungha Yang
ba6800ce23
dwrite: Add DirectWrite text rendering plugin
...
Adding DirectWrite text rendering elements
* dwriteclockoverlay: Equivalent to clockoverlay
* dwritetimeoverlay: Equivalent to timeoverlay
* dwritetextoverlay: Similar to textoverlay but subtitle is not
supported
Newly added elements support system memory and d3d11 memory
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4826 >
2023-06-15 12:53:02 +00:00
Seungha Yang
01edbf6c6b
d3d11overlaycompositor: Add support for d3d11 memory
...
If overlay buffer is d3d11 memory, use it directly
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4826 >
2023-06-15 12:53:02 +00:00
Seungha Yang
110ec5d4b2
d3dvideosink: Fix navigation event leak
...
Fixing regression introduced in 6c2f6c3bd4
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4863 >
2023-06-15 05:09:46 +00:00
Seungha Yang
94eadc9810
d3d11videosink: Fixing unexpected overlay composition meta drops
...
A buffer can hold multiple GstVideoOverlayCompositionMeta objects.
Should scan all metas on a buffer and render all overlay rectangles
if any.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4862 >
2023-06-15 00:35:09 +00:00
Marek Vasut
f18e30cf3b
kmssink: Add ST STM32 LTDC auto-detection
...
Add STM32 LTDC controller into list of auto-detected modules.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4858 >
2023-06-14 22:35:27 +00:00
Marek Vasut
b8b53cafcf
kmssink: Add NXP i.MX8M Plus LCDIFv3 auto-detection
...
Add i.MX8M Plus LCDIFv3 controller into list of auto-detected modules.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4858 >
2023-06-14 22:35:27 +00:00
He Junyan
b59b77a02f
va: Add helper functions to convert GstVideoInfoDmaDrm into va video info
...
The VA has its internal video format mapping(because different drivers may
have different interpretation for the same format), so we should convert the
info in GstVideoInfoDmaDrm into the according video info based on that mapping.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4821 >
2023-06-14 01:08:37 +00:00
He Junyan
c72960b427
va: Replace the tabs into spaces in gstvacaps.h
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4821 >
2023-06-14 01:08:37 +00:00
Nicolas Dufresne
5f2a664415
v4l2codecs: h265: Set num_delta_pocs_of_ref_rps_idx
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4413 >
2023-06-13 14:34:45 +00:00
Nicolas Dufresne
6a7835e106
v4l2codecs: Extend the API with num_delta_pocs_of_ref_rps_idx
...
This value is an alternative to short_term_ref_pic_set_size and can be used
to parse the RPS portion of a slice header, instead of skipping over it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4413 >
2023-06-13 14:34:45 +00:00
Seungha Yang
ebd5ff73be
d3d11convert: Add support for premultiplied alpha conversion
...
Adding "src-alpha-mode" and "dest-alpha-mode" properties
to support alpha mode conversion
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4825 >
2023-06-10 18:12:58 +00:00
Seungha Yang
80878a6ea4
d3d11testsrc: Add "alpha" and "alpha-mode" properties
...
Adding global alpha and alpha mode options
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4825 >
2023-06-10 18:12:58 +00:00
Seungha Yang
cb28a16007
d3d11overlaycompositor: Handle premultiplied alpha in pixel shader
...
Do premultiplied -> straight alpha conversion using GPU
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4825 >
2023-06-10 18:12:58 +00:00
Seungha Yang
1aa9e74aaf
cudadownload: Always download CUDA memory if it's bound to decoder
...
Decoder bounded CUDA memory is allocated by driver and the pool size
is fixed. Since we don't know how many buffers would be held by
downstream non-CUDA element, we should download such CUDA memory
and release it back to decoder.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4810 >
2023-06-08 22:27:06 +00:00
Víctor Manuel Jáquez Leal
94250e8c31
msdk: remove libva check before 1.12
...
Since gstmsdk depends on gstva library it also bumps the required version.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4781 >
2023-06-08 08:50:05 +00:00
Víctor Manuel Jáquez Leal
53860147c6
va: bump libva version to 1.12
...
Remove all checks in gstva for all version lower than 1.12
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4781 >
2023-06-08 08:50:04 +00:00
Seungha Yang
8a4642cad7
win32ipc: Use gst_util_get_timestamp()
...
Instead of duplicating the same code
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4794 >
2023-06-08 01:02:45 +00:00
Seungha Yang
3c5684e085
d3d11: Use gst_util_get_timestamp()
...
instead of duplicating the same code
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4794 >
2023-06-08 01:02:45 +00:00
Seungha Yang
4d6a2dea89
d3d11ipcsrc: Stop asynchronously in case of io-mode=import
...
In case of import mode, d3d11ipcsrc does not know when outputted
memories will be released.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4774 >
2023-06-06 17:54:44 +00:00
Seungha Yang
ef1853aa8d
d3d11ipc: Use unnamed shareable handle
...
Exchanging HANDLE would have smaller overhead than string
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4774 >
2023-06-06 17:54:44 +00:00
Seungha Yang
aada49c6a6
d3d11ipcsink: Don't clear prepared sample on render
...
render() can be called multiple times for the same prepared sample
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4774 >
2023-06-06 17:54:44 +00:00
Sebastian Dröge
f1e7ac13cd
decklink: Implement Windows string conversion with common API between MinGW and MSVC
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4738 >
2023-06-06 06:21:46 +00:00
Sebastian Dröge
ab582a3b7d
decklink: Add some newlines in long defines
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4738 >
2023-06-06 06:21:46 +00:00
Maksym Khomenko
72e7ae724f
decklink: Calculate string size before malloc
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4738 >
2023-06-06 06:21:46 +00:00
Sebastian Dröge
ab946cd41e
decklink: Use the macOS version of the SDK on macOS and not the Linux one
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4738 >
2023-06-06 06:21:46 +00:00
Sebastian Dröge
a2850bcb88
decklink: Free SDK strings after usage on Linux
...
While they're const char* they still need to be freed like on Windows
and macOS and would be leaked otherwise.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4738 >
2023-06-06 06:21:46 +00:00