gstreamer/sys
Seungha Yang ba26a5aea8 mfvideoenc: Enhance B-frame timestamp handling
When B-frame is enabled, encoder seems to adjust PTS of encoded sample
by using frame duration.

For instance, one observed timestamp pattern by using B-frame enabled
and 30fps stream is:
* Frame-1: MF pts 0:00.033333300 MF dts 0:00.000000000
* Frame-2: MF pts 0:00.133333300 MF dts 0:00.033333300
* Frame-3: MF pts 0:00.066666600 MF dts 0:00.066666600
* Frame-4: MF pts 0:00.099999900 MF dts 0:00.100000000

We can notice that the amount of PTS shift is frame duration and
Frame-4 exhibits PTS < DTS.

To compensate shifted timestamp, we should
calculate the timestamp offset and re-calculate DTS correspondingly.
Otherwise, total timeline of output stream will be shifted, and that
can cause time sync issue.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2354>
2021-06-23 14:12:22 +00:00
..
androidmedia gst: don't use volatile to mean atomic 2021-03-22 14:34:36 +11:00
applemedia vulkan: provide a custom VK_DEFINE_NON_DISPATCHABLE_HANDLE 2021-04-06 12:32:57 +02:00
bluez plugins-sys: allow per feature registration 2021-04-09 19:23:40 +00:00
d3d11 d3d11decoder: Don't print error log when no DPB texture is available 2021-06-14 07:02:20 +00:00
d3dvideosink d3dvideosink: Use secondary rank 2020-06-03 17:57:40 +09:00
decklink decklinkaudiosrc: Don't assume that stream time is always valid 2021-06-21 09:58:46 +00:00
directsound bad: use of g_value_dup_string 2019-12-30 14:13:03 +00:00
dshowdecwrapper documentation: fixed a heap o' typos 2019-11-05 09:11:25 -05:00
dshowsrcwrapper dshowsrcwrapper: Update build instructions. Add _builddir to include search path. 2020-08-28 23:00:53 +00:00
dshowvideosink documentation: fixed a heap o' typos 2019-11-05 09:11:25 -05:00
dvb Use gst_element_request_pad_simple... 2021-05-05 06:17:14 +00:00
fbdev plugins-sys: allow per feature registration 2021-04-09 19:23:40 +00:00
ipcpipeline plugins-sys: allow per feature registration 2021-04-09 19:23:40 +00:00
kms plugins-sys: allow per feature registration 2021-04-09 19:23:40 +00:00
magicleap plugins-sys: allow per feature registration 2021-04-09 19:23:40 +00:00
mediafoundation mfvideoenc: Enhance B-frame timestamp handling 2021-06-23 14:12:22 +00:00
msdk msdk: Demote error log message to warning. 2021-06-21 06:30:07 +00:00
nvcodec codecs: vp9decoder: Pass GstVideoCodecFrame to duplicate_picture() 2021-04-07 19:32:29 +00:00
opensles plugins-sys: allow per feature registration 2021-04-09 19:23:40 +00:00
shm plugins-sys: allow per feature registration 2021-04-09 19:23:40 +00:00
tinyalsa Remove autotools build system 2019-10-14 13:54:27 +01:00
uvch264 Use gst_element_request_pad_simple... 2021-05-05 06:17:14 +00:00
v4l2codecs alphadecodebin: Fix stall due to QoS 2021-06-14 16:33:15 -04:00
va va: Improve the default mapping between rt_format and video format. 2021-06-16 14:12:59 +00:00
wasapi gst: don't use volatile to mean atomic 2021-03-22 14:34:36 +11:00
wasapi2 wasapi2sink: Fix ringbuffer object leak 2021-06-10 07:48:38 +00:00
winks documentation: fixed a heap o' typos 2019-11-05 09:11:25 -05:00
winscreencap dxgiscreencapsrc: renegotiate caps on resolution change 2021-05-21 17:03:20 +02:00
meson.build va: VA-API H.264 decoder and infrastructure 2020-06-28 11:47:35 +02:00