Nicolas Dufresne
ea99aee881
h264parse: Set PTS/DTS and DISCONT on crafted NAL
...
When we inject a NAL in the bitstream before another one, make
sure to pass both DTS and PTS. Also make sure to transfer the
DISCONT flag properly.
2020-04-15 14:10:15 +00:00
Nicolas Dufresne
596dfbdf37
h264parse: Remove no-op assignment
...
upstream was set to *out_ts, setting *out_ts to upstream here will
have no effect.
2020-04-15 14:10:15 +00:00
Seungha Yang
462a8130a6
h264parse: Remove useless comparison
...
sei_pic_struct is unsigned and GST_H264_SEI_PIC_STRUCT_FRAME is zero.
CID: 1461467
2020-04-13 12:28:14 +00:00
Nicolas Dufresne
eea520fe6d
h264parse: Fix content light level value changes
...
Same as for H265, was found by Coverity.
2020-04-08 14:01:23 -04:00
Nicolas Dufresne
84a58b3633
h265parse: Fix content light level value changes
...
The comparision was not testing anything meaninful. This fixes the comparision
so we now update the caps whenever the value differ. This was detected by
coverity.
CID 1461291
2020-04-08 13:58:51 -04:00
Seungha Yang
be8cec5348
h264parse: Add support for inband timecode update
...
Add new property "update-timecode" to allow updating timecode
in picture timing SEI depending on timecode meta. Since the picture
timing SEI message requires proper VUI setting but we don't support
re-writing SPS, this might not work for some streams
2020-04-08 15:39:12 +00:00
Seungha Yang
fffbec11e4
h264parse: Don't unconditionally append timecode meta
...
If upstream buffer has its own timecode metatdata, don't append
new timecode meta into the buffer.
2020-04-08 15:39:12 +00:00
Seungha Yang
1a09251699
h264parser: Parse all SEI payload type even if it's not handled by parser
...
... so that user can handle it from outside of parser API
2020-04-08 15:39:12 +00:00
Seungha Yang
f05effe024
h264parse,h265parse: Update for video-hdr struct change
...
See the change of -base https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/594
2020-04-01 05:18:11 +00:00
Zeeshan Ali
355719bae7
h265parse: Set duration on buffers base on framerate
2020-03-31 14:13:30 +00:00
Zeeshan Ali
158d69fd45
h265parse: Derive src fps from vui_time_scale & vui_num_units_in_tick
2020-03-31 14:13:30 +00:00
Zeeshan Ali
51bc67d4ef
h265parse: Handle interlaced video
...
For interlaced video:
* set the interlace mode in the src caps
* double the height from SPS in the caps.
* set field latency, instead of frame latency.
Fix #778
2020-03-31 14:13:30 +00:00
Seungha Yang
d81438a69e
h264parse: Print all the syntax elements of frame packing for debugging
...
Other values might be useful for debugging
2020-03-31 08:30:50 +00:00
Seungha Yang
4b06b1a56e
h265parse: In-band sps/pps update if only codec_data differs in src caps
...
Apply in-band sps/pps resending implementation to h265parse.
2020-03-10 08:51:04 +00:00
Seungha Yang
82a7d1cd99
h264parse: In-band sps/pps update if only codec_data differs in src caps
...
Initially the case "only codec_data is different" was addressed in
https://bugzilla.gnome.org/show_bug.cgi?id=705333 in order for
unusual bitstreams to be handled. That's the case where sps and pps
are placed in bitstream. When sps/pps are signalled only via caps
by upstream, however, the updated codec_data is mandatory for decoder
and therefore we shouldn't ignore them.
2020-03-10 08:51:04 +00:00
Seungha Yang
959320264a
h265parser: Add helper macro for nal type classification
...
Add some macros to remove code duplication and to make it more readable
2020-03-05 23:22:34 +09:00
Josep Torra
bebf20c906
h264parse: do not push wrong PTS with some raw files
...
Some raw h264 encoded files trigger the assignment of wrong PTS to buffers
when some SEI data is provided. This change prevents it to happen.
Also ensure this behavior is being tested.
2020-01-10 15:03:38 +00:00
Stéphane Cerveau
4b8c47ee37
h26xparse: Handle state change on IDR first slice
...
As the H265/H264 bitstream can support multiple slices,
mastering_display_info_state and content_light_level_state
should be changed only on first slice segment.
Fix #1152
2020-01-07 08:55:28 +00:00
Stéphane Cerveau
d414e90eff
h265parse: use same algo for MDCV and CLL SEI management
2020-01-07 08:55:28 +00:00
Stéphane Cerveau
b481edd745
h264parser: add MDCV and CLL SEI message parsing
...
Allow to parse SEI message for:
- mastering display colour volume
- Light level infomation
Set to caps if necessary.
Fix #958
2020-01-07 08:55:28 +00:00
Yeongjin Jeong
3f2240498b
h265parser: Add simple GstH265Profile/string public utilites
...
It makes more simplifies the conversion between GstH265Profile and string.
2019-12-20 15:43:55 +00:00
Stéphane Cerveau
c6eb17be6e
h264parse: Align GST_H264_PROFILE_HIGH_422 to H264 standards
...
According to H264 ITU standards from 06/19, GST_H264_PROFILE_HIGH_422
(profile_idc = 122) with constraint_set1_flag = 0 and
constraint_set3_flag = 0 can be mapped to high-4:2:2 or high-4:4:4.
GST_H264_PROFILE_HIGH_422 with constraint_set1_flag = 0 and
constraint_set3_flag = 1 can be mapped to high-4:2:2, high-4:4:4,
high-4:2:2-intra or high-4:4:4-intra.
2019-12-18 03:03:40 +00:00
Olivier Crête
1f766a7145
Revert "videoparseutils: support two new EIA 608 closed caption formats"
...
This reverts commit f5c1c90122
.
2019-12-17 16:44:10 -05:00
Aaron Boxer
f5c1c90122
videoparseutils: support two new EIA 608 closed caption formats
2019-12-17 18:26:35 +00:00
Aaron Boxer
e3297be433
h264parse: buffer mismatch in map/unmap
2019-11-26 13:07:47 -05:00
Vivia Nikolaidou
851682629e
videoparsers: Disable gst_base_parse_set_infer_ts
...
From the documentation of gst_base_parse_set_infer_ts, it should be
disabled for non-audio data. Currently just disabling for all video
parsers that have reordered data: h264, h265, mpeg, mpeg4, vc1. Was
already disabled in h263.
2019-11-19 10:23:31 +02:00
Nicolas Dufresne
44322b1dfc
vc1parse: Avoid division by zero assertion
...
A framerate of 0/1 is valid, but we cannot calculate the frame duration
in this context. Simply protect against this case.
Related to #660
2019-11-11 16:23:18 -05:00
Nicolas Dufresne
a5113fe8c8
vc1parser: Relax ASF Binding Byte validation
...
According to the spec, the least significant bit is reserved and should
always we set to 1. Though, some wrong file has been found. Considering
how low important this reserved bit is, relax the validation.
Related to #660
2019-11-11 16:22:54 -05:00
Aaron Boxer
1414e58dfa
jpeg2000parse: fail caps negotiation if caps are NOT fixed
2019-11-05 21:21:51 +00:00
Aaron Boxer
7b3491adf7
jpeg2000parse: use pre_push_frame to reset parser
2019-11-05 21:21:51 +00:00
Aaron Boxer
bfee115d66
jpeg2000parse: parse_event: call base class at end
...
derived class should do it's work first before calling base
2019-11-05 21:21:51 +00:00
Aaron Boxer
67cffd70ad
jpeg2000parse: do hard reset if gst_base_parse_finish_frame fails
2019-11-05 21:21:51 +00:00
Aaron Boxer
a35157debf
jpeg2000parse: initialize some variables to make valgrind happy
2019-11-05 21:21:51 +00:00
Aaron Boxer
fae0664824
jpeg2000parse: use GST_INT in caps for profile
...
Negotiation failed with GST_UINT
2019-11-05 21:21:51 +00:00
Aaron Boxer
1344d9f560
jpeg2000parse: make explicit that codec_format is for src caps
2019-11-05 21:21:51 +00:00
Aaron Boxer
969e30c035
jpeg2000parse: refactor
...
1. only recalculate src codec format if sink caps change
2. use correct value for "jp2c" magic in J2C box ID
3. only parse J2K magic once, and store result
4. more sanity checks comparing caps to parsed codec
2019-11-05 21:21:51 +00:00
Aaron Boxer
2b6b1a2b04
jpeg2000parse: set parsed to TRUE in src caps
2019-11-05 21:21:51 +00:00
Aaron Boxer
453a65b8e9
jpeg2000parse: only cache caps parameters when caps have in fact changed
2019-11-05 21:21:51 +00:00
Aaron Boxer
ead5dba3ac
jpeg2000parse: fix typos in media format
2019-11-05 21:21:51 +00:00
Aaron Boxer
88efbd2344
jpeg2000parse: add reset method
...
Also add three new struct members, currently unused.
2019-11-05 21:21:51 +00:00
Aaron Boxer
6d3429af34
documentation: fixed a heap o' typos
2019-11-05 09:11:25 -05:00
Yeongjin Jeong
732735cab0
h265parse: Fix wrong NALU minimum length check
...
Fixes a problem where an EOS/EOB NALU placed at the end of
an AU is detected as an other AU and create a buffer that
does not have valid pts.
2019-11-04 14:16:49 +09:00
Yeongjin Jeong
0318458b0e
h264parse: Fix wrong NALU minimum length check
...
Fixes a problem where an EOS/EOB NALU placed at the end of
an AU is detected as an other AU and create a buffer that
does not have valid pts.
2019-11-04 14:16:49 +09:00
Tim-Philipp Müller
f218ec2794
Remove autotools build system
2019-10-14 13:54:27 +01:00
Guillaume Desmottes
403cffeace
h265parse: fix colorimetry in src caps if sink caps has no structure
...
We do want to include the colorimetry in the src caps if the sink caps
doesn't have any structure associated.
2019-08-27 06:06:01 +00:00
Guillaume Desmottes
e0d9722a1b
h264parse: fix colorimetry in src caps if sink caps has no structure
...
We do want to include the colorimetry in the src caps if the sink caps
doesn't have any structure associated.
2019-08-27 06:06:01 +00:00
Aaron Boxer
40212aaf00
h265parse: add support for SEI registered user data
2019-08-26 18:14:17 -04:00
Aaron Boxer
b7558bd190
h264parse: use gstvideoparseutils to handle user data
2019-08-26 18:14:17 -04:00
Aaron Boxer
d5946fc804
mpegvideoparse: use gstvideoparseutils to handle user data
2019-08-26 18:14:17 -04:00
Aaron Boxer
22ec7fbbc2
videoparseutils: add new parser class
2019-08-26 18:14:17 -04:00