Daniel Morin
83038c3daf
Revert "h264parse: Improved AU boundary detection"
...
This reverts commit 49f200cb54
.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6562 >
2024-04-07 17:40:51 +00:00
Daniel Morin
115b4792b5
Revert "h264parse: Remove dead code"
...
This reverts commit 141cd38715
.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6562 >
2024-04-07 17:40:51 +00:00
Daniel Morin
9bbf246cc4
Revert "h264parse: Fix AU collection"
...
This reverts commit 495390f63a
.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6562 >
2024-04-07 17:40:51 +00:00
Daniel Morin
5453976f03
Revert "h264parse: Remove un-needed check on SPS state"
...
This reverts commit 73dedf9a51
.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6562 >
2024-04-07 17:40:51 +00:00
Daniel Morin
ee7026925f
Revert "h264parse: use AUD to detect first VCL NAL"
...
This reverts commit 90a3b63eed
.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6562 >
2024-04-07 17:40:51 +00:00
Daniel Morin
c259674ed5
Revert "h264parse: correct NAL mode backlog processing"
...
This reverts commit b2098849dc
.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6562 >
2024-04-07 17:40:51 +00:00
Jan Alexander Steffens (heftig)
92017b983e
videoparseutils: Store multiple user data unregistered messages
...
A frame can have multiple unregistered messages attached. We need to
store them all.
For: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3008
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5450 >
2024-02-15 13:32:30 +00:00
Jan Alexander Steffens (heftig)
75f61cba80
videoparsers: Clear user_data_unregistered explicitly in _reset_frame
...
This fits better with the model used by the parser elements. It also
properly resets the data when the parser is reset.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5450 >
2024-02-15 13:32:30 +00:00
Jan Alexander Steffens (heftig)
3577fdec51
videoparsers: Clear user data explicitly in _reset_frame
...
This fits better with the model used by the parser elements. It also
properly resets the data when the parser is reset.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5450 >
2024-02-15 13:32:30 +00:00
Daniel Morin
b2098849dc
h264parse: correct NAL mode backlog processing
...
- Only process what is left in backlog when AU was completed, draining or next
nal is AUD.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6093 >
2024-02-13 13:58:13 +00:00
Daniel Morin
73dedf9a51
h264parse: Remove un-needed check on SPS state
...
Fixes #3254
- Having SEI before SPS is not an issue anymore with AU boundary detection
based on backlog.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6004 >
2024-01-30 01:22:32 +00:00
Seungha Yang
495390f63a
h264parse: Fix AU collection
...
If remaining NALUs are expected to be drained in the current
process_frame() loop, do not adjust offsets. Otherwise NALU data
will point to random byte position and it would be broken data.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5911 >
2024-01-15 21:53:11 +00:00
Daniel Morin
90a3b63eed
h264parse: use AUD to detect first VCL NAL
...
- Fix skipsize on _update_backlog failure.
- Add robustness to AU completion detection by using AUD when present. If we've
received a AUD we overwrite the first VCL NAL detection when the result was
negative. VCL following AUD is the first VCL of next AU.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5862 >
2024-01-03 20:43:34 +00:00
Mengkejiergeli Ba
141cd38715
h264parse: Remove dead code
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5833 >
2023-12-20 13:03:25 +00:00
Daniel Morin
49f200cb54
h264parse: Improved AU boundary detection
...
- AU boundary detection reviewed to follow more closely H.264 spec. and more
specifically clauses 7.4.1.2.3 and 7.4.1.2.4.
- The gist of the changes is a look-a-head in then next AU required identify the
last vcl-nal of current AU and firt vcl-nal of next AU (according to
7.4.1.2.4) followed by the identification of the first nal of next AU
(according to 7.4.1.2.3).
- A backlog of all nals of current AU and next AU up to the point where current
AU can identified completed is kept.
- In NAL alignement mode vcl-nal are sent immediatly but the history is kept to
allow AU boundary detection. Non-vcl-nal can be delayed up to the reception of
the next vcl-nal to allow a correct AUD insertion.
- Based on this improved AU boudary detection we can avoid erronous AUD
insertion, like the one highlighted by test
test_parse_sliced_with_prefix_and_sei_nal_au.
- Add support for MVC AU boundary detection. (H.7.4.1.2.4)
- Explicitly report SVC not supported. We don't have the SVC NAL parsing
required to identify boundary. (missing dependency_id and quality_id fields
from SVC, see G.7.4.1.2.4)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5741 >
2023-12-17 21:42:47 +00:00
Seungha Yang
efe35a3f6c
h264parse, h265parse: Fix potential integer overflow
...
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2961
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5295 >
2023-09-08 12:45:12 +00:00
Seungha Yang
2c4cb82afc
h264parse, h265parse: Fix timecode parsing
...
The scaling factor for nFrame part should be "(1 + nuit_field_based_flag) / 2"
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5254 >
2023-09-01 06:44:52 +00:00
Stéphane Cerveau
2974c18a5c
codecparsers: keep naming consistency in GST_H264_LEVEL
...
GST_H264_LEVEL_2 should be used instead of GST_H264_LEVEL_2_0
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4737 >
2023-06-26 10:47:36 +00:00
Shengqi Yu
b092c3f580
h264parse: adjust some logs printing level in h264parse
...
adjust log level from GST_ERROR to GST_WARNING when h264 caps have
codec_data but no avc format or have no codec data or stream-format.
Because theses are not real errors, it is easy to mislead if print error
logs.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4675 >
2023-05-20 02:07:36 +00:00
Seungha Yang
e9d8bf7532
h264parser: Define level enum values
...
... and stop duplicating it
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4595 >
2023-05-17 21:29:25 +00:00
Nicolas Dufresne
9deb3d6aa4
h264parse: Stop considering NO_NAL as an error
...
The NO_NAL return value simply means that the buffer did not contain
enough data to identity a NAL. This should lead to waiting for more data not
considering the stream as invalid.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3234 >
2023-03-17 21:25:49 +00:00
Tim-Philipp Müller
81716a1097
gst-plugins-bad: re-indent with GNU indent 2.2.12
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4182 >
2023-03-17 03:18:54 +00:00
Seungha Yang
ad30fb87c2
h264parse: Validate VUI framerate
...
A few streams contain invalid/wrong framerate in VUI. Do validate
it based on the spec and ignore invalid VUI framerate values.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1753
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4127 >
2023-03-08 11:59:52 +00:00
Thibault Saunier
e49e0198f1
h264parse: Avoid setting wrong colorimetry info if the stream doesn't contain it
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3543 >
2022-12-07 17:30:51 +00:00
He Junyan
dae73d6686
h264parse: Add the missing timestamp when splitting a frame.
...
When splitting a frame, the gst_buffer_copy_region() does not copy
the timestamp correctly for sub frames when the offset is not 0.
We still need those timestamps for each output sub frame.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3448 >
2022-11-22 21:47:49 +00:00
Seungha Yang
a1b4c62b35
h264parse: Use newly added avcC data parsing API
...
Use gst_h264_parser_parse_decoder_config_record() method to parse
codec_data.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2449 >
2022-06-15 19:58:59 +00:00
Andoni Morales Alastruey
77937f9398
videoparse: rename from _free to _clear
...
The function does not free the structure but the data
contained within.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1458 >
2022-06-03 08:29:05 +00:00
Andoni Morales Alastruey
ca2eb9f65f
h264parse: add support Precision Time Stamp in SEI messages
...
Expose User Data Unregistered as a new Meta and add
API to parse Precision Time Stamp (ST 0604).
Fixes #927
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1458 >
2022-06-03 08:29:05 +00:00
Vivia Nikolaidou
cb8da91f7a
h264parse: Include coded-picture-structure info in caps
...
This reverts commit 652773de36
and
modifies it to rename the caps field name to coded-picture-structure.
It was previously removed because it confuses the decoder and we didn't
have a valid use case for including it in the encoded caps at this
stage. We now do have such a use case but still don't want to confuse
the decoder, so the field is renamed.
However, it is still not accurate without looking at the SEI picture
structure of each frame, so it was named coded-picture-structure. If its
value is "frame" it is most likely progressive, if it's "field" it is
most likely interlaced or mixed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2177 >
2022-04-18 11:00:29 +00:00
Seungha Yang
21d7bd09ce
h264parse: Don't insert extra AUD if exists in bitstream already
...
AUD nalu in packetized format is completely valid and therefore we should not
assume that we should insert AUD for packetized -> bytestream
conversion.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/862
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1296 >
2021-11-04 16:32:55 +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