Seungha Yang
8440e2a373
nvh264dec,nvh265dec: Fix broken key-unit trick and reverse playback
...
On GstVideoDecoder::{drain,flush}, we send null packet with
CUVID_PKT_ENDOFSTREAM flag to drain out decoder. Which will
reset CUVID parser as well.
To continue decoding after the drain, the next input buffer
should include sequence headers otherwise CUVID parser will
not report any decodeable frame.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1923 >
2022-03-14 17:52:33 +00:00
Seungha Yang
4bd486b9b7
nvenc: Fix deadlock because of too strict buffer pool size
...
The pool size might need to be larger than encoding surface pool size.
Also, because we always copy input frame into internal CUDA memory,
there's no reason to restrict max size of buffer pool.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1942 >
2022-03-12 23:15:38 +00:00
Seungha Yang
d58aca531b
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/1941 >
2022-03-12 17:24:54 +00:00
Seungha Yang
4345814e31
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/1660 >
2022-02-08 05:04:17 +00:00
Seungha Yang
18918cdece
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/1660 >
2022-02-08 05:04:17 +00:00
Seungha Yang
34b54ca665
nvdecoder: Fix for display resolution setup
...
Display resolution should be cropped rect, not coded resolution.
Otherwise decoded output from NVDEC might be wrong.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1617 >
2022-02-01 17:58:06 +00:00
Seungha Yang
2c834b5fc7
nvvp9sldec: Drop frames on non-keyframe format change
...
NVDEC doesn't seem to be able to handle the case
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1407 >
2021-12-02 19:19:59 +00:00
Thibault Saunier
d0c5778669
doc: Update nvdec documentation
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/870
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1309 >
2021-11-05 13:26:33 +00:00
Mathieu Duponchelle
2f8030d98b
nvh264enc: add constrained-baseline to the caps profiles
...
In practice, when baseline is requested from the encoder it
produces constrained baseline, and it is already reflected
in the profile-iop flags.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1213 >
2021-10-21 09:06:08 +00:00
Seungha Yang
e322745763
codecs: h264decoder: 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
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
Seungha Yang
da7f4e0a69
nvcodec: nvh264sldec: Add support for interlaced stream
...
Implement missing interlaced stream support
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1026 >
2021-10-04 08:04:00 +00:00
Seungha Yang
ce8965b75b
nvcodec: nvh264sldec: Consider additional render delay DPB pictures
...
At least additional 4 pictures are required
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1026 >
2021-10-04 08:04:00 +00:00
Seungha Yang
613d380b97
nvcodec: nvvp9sldec: Fix for VP9 profile2 decoding
...
Fix for output video format to be selected correctly
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1026 >
2021-10-04 08:04:00 +00:00
Seungha Yang
834d6f4031
nvcodec: nv{vp8,vp9}sldec: Implement get_preferred_output_delay()
...
Equivalent to that of nvh264sldec. Use render delay in case of non-live
pipeline for the better throughput performance.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/987 >
2021-10-02 12:11:48 +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