Seungha Yang
0e4c520cf3
nvdecoder: Handle input caps change
...
Update output caps if it's notified by baseclass
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3328 >
2022-11-16 13:12:38 +00:00
Seungha Yang
b4c19a96b7
nvdecoder: Don't hold decoder output state
...
It's not referenced by this implementation
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3328 >
2022-11-16 13:12:38 +00:00
Stéphane Cerveau
fb09c028e3
h265parse: fix typo in member of GstH265SPS
...
Rename sps_extnsion_params to sps_extension_params
Fix comment about vui_parameters_present_flag
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3072 >
2022-10-04 10:01:12 +00:00
Seungha Yang
b6ca76eb68
nvh265sldec: Sync up with d3d11h265dec implementation
...
Each RefPicSetStCurrBefore/RefPicSetStCurrAfter/RefPicSetLtCurr array
might have empty element (i.e., reference pictures might not be stored
sequentially). Don't error out for the empty element case,
but instead, iterates each array and fill NVDEC's reference list
as much as possible
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1441
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3039 >
2022-09-16 20:25:23 +00:00
Seungha Yang
85fe9fb61d
nvcodec: Add cuda-device-id read-only property to stateless decoders
...
... and remove unnecessary intermediate subclass from class hierarchy
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2665 >
2022-06-30 01:54:17 +09:00
Seungha Yang
58c94eed84
nvh264dec,nvh265dec: Don't realloc bitstream buffer per slice
...
Allocated memory size has not been updated which results in
realloc per slice. Fixing it and also release bitstream buffer
on ::close(), not finalize.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2361 >
2022-05-05 12:15:27 +00:00
Seungha Yang
33e77782c6
nvcodec: Add AV1 decoder
...
Adding GstCodecs based AV1 decoder element
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1453 >
2022-05-04 01:23:25 +09:00
Seungha Yang
29aab904a8
nvdecoder: Handle DPB size margin in a single place
...
... instead of each subclass
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2343 >
2022-05-03 14:17:49 +00:00
Thibault Saunier
c033f8fad2
cuda: Factor out a public GstCUDA library
...
So applications and elements implemented outside GStreamer can reuse
our infrastructure
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1472 >
2022-04-19 16:39:43 +00:00
Seungha Yang
b3df58add1
nvh265sldec: Add support for delayed output
...
Delay 4 frames in case of non-live to improve throughput
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1937 >
2022-03-15 21:08:06 +00:00
Seungha Yang
423111480c
nvh265sldec: Always fill SPS/PPS related parameters
...
Address compare was not a valid approach since it works
only if SPS/PPS id are changed. Otherwise it will always point to
the same address of member variables of h265parser.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1931 >
2022-03-11 16:14:14 +00:00
Seungha Yang
28eeba3e18
nvh265sldec: Fix for decoding 12bits stream
...
We've been exposing main-444-12 profile as a supported profile
in its sinkpad template but not actaully. Adding code to
covert 12 and 16 bits as well.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1612 >
2022-02-07 18:27:48 +00:00
Seungha Yang
80bbc71ec0
nvdecoder: Fix for HEVC 4:4:4 format decoding
...
Map chroma_format_idc == 3 (which means 4:4:4 subsampling) correctly,
also pass coded bitdepth for decoder initialization instead of
inferring it from output format since they can be different.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/949
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1612 >
2022-02-07 18:27:48 +00:00
Seungha Yang
5b405d1585
codecs: h265decoder: Use GstFlowReturn everywhere
...
boolean return value is not sufficient for representing the reason
of error in most cases. For instance, any errors around new_sequence()
would mean negotiation error, not just *ERROR*.
And some subclasses will allocate buffer/memory/surface on new_picture()
but it could be failed because of expected error, likely flushing
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1019 >
2021-10-04 20:56:46 +00:00
Thibault Saunier
019971a3c7
Move files from gst-plugins-bad into the "subprojects/gst-plugins-bad/" subdir
2021-09-24 16:14:36 -03:00