Piotr Brzeziński
510e227996
vtenc: Fix cosmetic issues
...
Removes accidental GST_VIDEO_DECODER macro usage.
Also sets the initial size of the output queue to avoid having to expand when first buffers come through.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5164 >
2023-08-09 07:35:32 +00:00
Nicolas Dufresne
8710911e6b
v4l2codecs: Enable Mediatek 10bit 4:2:0 support
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3444 >
2023-08-08 16:08:16 +00:00
Víctor Manuel Jáquez Leal
4583d8c0e8
vajpegdec: simply fixup src caps for iHD
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4044 >
2023-08-07 22:49:26 +00:00
He Junyan
64d821af24
va: jpegdec: Do not change the DMA template src caps
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4044 >
2023-08-07 22:49:26 +00:00
He Junyan
72e4bcf4df
va: Delete the usage hint hack when we support DRM modifier
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4044 >
2023-08-07 22:49:26 +00:00
He Junyan
d0587cda74
va: Apply the new DMA format:modifier pair negotiation in vpp
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4044 >
2023-08-07 22:49:26 +00:00
He Junyan
5df0bfa7cb
va: Apply the new DMA format:modifier pair negotiation in decoder
...
We will consider the DMA modifier for negotiation, setting caps and
memory pool allocation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4044 >
2023-08-07 22:49:26 +00:00
He Junyan
b1909949cb
va: Improve the template caps for DMA, use new drm-format kind caps
...
We should add the modifier information for each surface format when
we report the template caps.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4044 >
2023-08-07 22:49:26 +00:00
He Junyan
d7d25de892
va: Use GstVideoInfoDmaDrm in DMA allocator's get/set_format() API
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4044 >
2023-08-07 22:49:26 +00:00
Ryan Pavlik
6e5ca29e8f
androidmedia: Add more null checks (of env) to JNI utilities
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5138 >
2023-08-02 16:03:38 -05:00
Ryan Pavlik
f3ce30a55a
androidmedia: Add more null checks to JNI utilities
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5130 >
2023-08-01 23:17:54 +00:00
Ryan Pavlik
794d723871
androidmedia: Fix typo
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5130 >
2023-08-01 23:17:54 +00:00
Ryan Pavlik
ec201c6577
androidmedia: Clear err if we don't have an optional camera field/constant
...
Fixes startup on devices where those fields/constants are not found.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5130 >
2023-08-01 23:17:54 +00:00
Seungha Yang
15f0bd2461
dwrite: Move background-color and color-emoji options to effect object
...
... and simplify background rendering
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5121 >
2023-08-02 01:02:32 +09:00
Seungha Yang
a1ad56ed5a
dwrite: Add helper object for blending operation
...
For easy integration with a new text rendering baseclass
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5121 >
2023-08-02 01:02:28 +09:00
Seungha Yang
f792884ae7
dwritebaseoverlay: Handle only d3d11 allocation query
...
... and passthrough allocation queries of the other types
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5121 >
2023-08-02 01:00:44 +09:00
Seungha Yang
8633b29fab
dwritetextoverlay: Remove leading CRLF sequence from CC
...
The CRLF sequence is unnecessary
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5121 >
2023-08-02 01:00:44 +09:00
Seungha Yang
f01fc727e3
dwrite: Remove some properties
...
Remove outline color and auto resize related properties
to be consistent with textoverlay elements
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5121 >
2023-08-02 01:00:44 +09:00
Mengkejiergeli Ba
ebea1219a9
vah265enc: Correct the value of cu_qp_delta flag and depth
...
According to libva API description, cu_qp_delta in VAConfigAttribValEncHEVCFeatures
is supposed to be used as a flag not the value of depth. And if flag enabled,
diff_cu_qp_delta_depth should be decided by log2_diff_max_min_luma_coding_block_size.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5068 >
2023-07-27 16:00:19 +00:00
Matthew Waters
f954d93f27
applemedia: silence some deprecation warnings from ios 12.0
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5111 >
2023-07-27 13:05:37 +00:00
Mengkejiergeli Ba
8846400b83
msdkh264enc: Set profile as unknown when not specified by downstream
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5039 >
2023-07-26 02:01:31 +00:00
Piotr Brzeziński
dc494d9edb
vtenc: Move output loop to a separate thread
...
vtenc has an async output queue, which we only iterate over after another frame is enqueued.
At the very least it means we're always a frame behind the fastest possible output.
In edge cases it's also bug-prone - for example if we only have 1 frame, the downstream caps negotiation
will never happen.
This commit adds a separate task running on the source pad, which only iterates over the output queue
and pushes frames out as soon as they're put there. The queue length is limited to ensure we don't encode
too far ahead compared to what downstream can consume. Any failures that occur when pushing data downstream
will be signalled in self->downstream_ret so that other parts of code can act accordingly.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4967 >
2023-07-21 13:05:26 +00:00
Seungha Yang
fdb3cdf1fd
qsv: Remove x86_64 constraint on Linux
...
Updated oneVPL SDK supports 32bit and ARM build
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5032 >
2023-07-14 13:12:29 +00:00
Seungha Yang
25d10acaa2
qsv: Re-apply MinGW build workaround
...
Apply the changes of the commits
c80132e4a3
and
23261bccbb
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5032 >
2023-07-14 13:12:29 +00:00
Seungha Yang
1bc5dc778c
qsv: Update oneVPL SDK version to v2023.3.0
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5032 >
2023-07-14 13:12:29 +00:00
Seungha Yang
6429f04692
meson: d3d11: Add d3d11-wgc option for Windows Graphics Capture feature
...
Make the feature requirement explicitly controllable via build option
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4939 >
2023-07-06 21:20:50 +00:00
Seungha Yang
1f18ceaf0f
dwritesubtitlemux: Update object name
...
Add missing prefix `DWrite` so that this element can coexist with
subtitlemux proposed in
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4938
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4949 >
2023-06-30 23:41:36 +09:00
Seungha Yang
8650c7a42a
dwrite: Add support for non-d3d11/system memory
...
Attach meta if downstream supports it whatever the negotiated memory type is,
or just silently passthrough when meta is not supported
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4945 >
2023-06-30 11:14:17 +00:00
Seungha Yang
1c4de219e4
dwrite: Add dwritesubtitleoverlay element
...
Adding new subtitle overlay element. It's a bin which is wrapping
two internal elements dwritesubtitlemux and dwritetextoverlay.
* dwritesubtitlemux: A new internal element to aggregate subtitle
buffers and to attach the aggregated subtitle buffers on
video buffer as meta.
* dwritetextoverlay: Extracts/renders the subtitle meta and
discard the meta after rendering.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4934 >
2023-06-28 20:15:31 +00:00
Seungha Yang
a1ca42ad66
dwritebaseoverlay: Fix color-font property get/set
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4934 >
2023-06-28 20:15:31 +00:00
Seungha Yang
0091166a38
dwrite: Add dwritesubtitlemux element
...
dwrite plugin internal use and will be removed once it's added to -base
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4934 >
2023-06-28 20:15:31 +00:00
Seungha Yang
fce6edd0f1
dwrite: Add GstDWriteSubtitleMeta
...
dwrite plugin internal use and will be removed once it's added to -base
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4934 >
2023-06-28 20:15:30 +00:00
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