gstreamer/subprojects
He Junyan 242401915f av1parse: Correct the pts for frames and OBUs inside a TU.
When the output alignment is smaller than the input alignment, for
example, When the output alignment is "FRAME" and the parse is likely
connecting to a decoder, the current PTS setting for AV1 frames inside
a TU is not very correct.

For example, a TU may begin with non-displayed frames and end with a
displayed frame. The current way will assign the PTS to the first
non-displayed frame, which is a decode-only frame and the PTS will be
discarded in the video decoder. While the last displayed frame has
invalid PTS, and so the video decoder needs to guess its PTS based on
the frame rate and previous frame's PTS. This is not a decent and
robust way. And more important, when the previous frames provide DTS,
the video decoder will also guess the PTS based on the previous frames'
DTS and trigger the warning like:

  gstvideodecoder.c:3147:gst_video_decoder_prepare_finish_frame: \
  <vavp9dec0> decreasing timestame

It sets the reordered_output and makes the decoder in free run mode.

We should correct the PTS for a TU, let the non-displayed frames have
no PTS while set the correct PTS to the displayed one. Also, when the
AV1 stream has multi spatial layers, there are more than one displayed
frames inside one TU with the same PTS.

Note: If the input alignment is not TU aligned, we can not know the
exact PTS of this TU, and so we just clear the PTS of the decode only
frame and leave others unchanged.

We also correct all the PTS if the output is OBU aligned. All their
PTS and DTS are set to the input buffer's PTS.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3182>
2022-10-21 11:16:13 +00:00
..
gst-devtools validate: Add/fix various annotations 2022-10-18 08:56:58 +00:00
gst-docs fake{video|audio}sink: don't proxy properties at instance init. 2022-10-19 09:12:11 +00:00
gst-editing-services ges: Add/fix various annotations 2022-10-18 13:51:16 +03:00
gst-examples examples: webrtc: mp-sendrecv: add bus handler 2022-10-19 00:51:44 +00:00
gst-integration-testsuites decodebin3: Do not try to plug a decoder on raw formats 2022-10-06 08:41:49 +00:00
gst-libav avauddec: address regression with WMA files .. 2022-10-06 01:03:10 +00:00
gst-omx Back to development 2022-10-04 03:57:31 +01:00
gst-plugins-bad av1parse: Correct the pts for frames and OBUs inside a TU. 2022-10-21 11:16:13 +00:00
gst-plugins-base build/gl: fix automatic dispmanx detection for rpi4 2022-10-20 22:29:16 +00:00
gst-plugins-good wavparse: Avoid occasional crash due to referencing freed buffer. 2022-10-14 07:54:03 +00:00
gst-plugins-ugly Back to development 2022-10-04 03:57:31 +01:00
gst-python Back to development 2022-10-04 03:57:31 +01:00
gst-rtsp-server rtsp-server: Add/fix various annotations 2022-10-18 13:51:16 +03:00
gstreamer docs: plugins-scanner: Handle interface used for plugin API properties 2022-10-21 09:14:25 +00:00
gstreamer-sharp Back to development 2022-10-04 03:57:31 +01:00
gstreamer-vaapi h265parse: fix typo in member of GstH265SPS 2022-10-04 10:01:12 +00:00
macos-bison-binary meson: Fix warning about check kwarg 2022-07-16 06:16:17 +00:00
packagefiles/pango-1.48.11 harfbuzz.wrap: Fix wrap type, and remove unnecessary patch 2022-07-29 19:56:11 +00:00
win-flex-bison-binaries meson: Use run_command check: true for windows binary subprojects 2022-10-19 04:05:05 +00:00
win-nasm meson: Use run_command check: true for windows binary subprojects 2022-10-19 04:05:05 +00:00
avtp.wrap subprojects/avtp: Update to latest avtp 0.2.0 2022-03-18 22:49:16 +00:00
bindinator.wrap
cairo.wrap subprojects: cairo: bump to 1.17.6 2022-09-17 22:41:40 +00:00
dav1d.wrap
dssim.wrap
dv.wrap
expat.wrap Update all wraps from WrapDB 2022-09-23 11:08:06 -04:00
fdk-aac.wrap subprojects: fdk-aac: add fallback_url 2021-10-28 23:29:27 +00:00
FFmpeg.wrap
fontconfig.wrap subprojects: fontconfig: bump to 2.14.0 2022-09-17 22:41:40 +00:00
freetype2.wrap Update all wraps from WrapDB 2022-09-23 11:08:06 -04:00
fribidi.wrap subprojects: fribidi: bump to 1.0.12 2022-09-17 22:41:40 +00:00
gl-headers.wrap
glib-networking.wrap subprojects: glib, glib-networking: bump to 2.72 2022-09-17 22:41:40 +00:00
glib.wrap Update all wraps from WrapDB 2022-09-23 11:08:06 -04:00
graphene.wrap
gst-plugins-rs.wrap subprojects: Switch gst-plugins-rs.wrap to the main branch 2022-02-16 09:54:07 +02:00
gtk-sharp.wrap
harfbuzz.wrap subprojects: harfbuzz: bump to 5.2.0 2022-09-17 22:41:40 +00:00
json-glib.wrap Update all wraps from WrapDB 2022-09-23 11:08:06 -04:00
lame.wrap meson: Update some wraps, remove unused wraps 2022-07-16 06:16:17 +00:00
libdrm.wrap Update all wraps from WrapDB 2022-09-23 11:08:06 -04:00
libffi.wrap
libjpeg-turbo.wrap Update all wraps from WrapDB 2022-09-23 11:08:06 -04:00
libmicrodns.wrap subprojects: libmicrodns: bump to 0.2.0 + meson fixes 2022-09-17 22:41:40 +00:00
libnice.wrap subprojects: Update libnice to 0.1.19 2022-05-03 18:49:36 -04:00
libopenjp2.wrap Update all wraps from WrapDB 2022-09-23 11:08:06 -04:00
libpng.wrap subprojects/libpng: Update to latest wrap file 2022-01-28 02:01:39 +05:30
libpsl.wrap
libsoup.wrap meson: Update libsoup.wrap 2022-10-11 14:53:40 -04:00
libwpe.wrap
libxml2.wrap Update all wraps from WrapDB 2022-09-23 11:08:06 -04:00
ogg.wrap Update all wraps from WrapDB 2022-09-23 11:08:06 -04:00
openh264.wrap Update all wraps from WrapDB 2022-09-23 11:08:06 -04:00
opus.wrap
orc.wrap meson: Add a new option to control the source for orc 2022-09-22 22:31:21 +00:00
pango.wrap subprojects: pango: bump to 1.50.10 2022-09-17 22:41:40 +00:00
pixman.wrap meson: Update subprojects to fix warnings 2022-01-25 14:25:19 +05:30
proxy-libintl.wrap Update proxy-libintl wrap to 0.4 2022-04-22 15:36:40 +00:00
pycairo.wrap
pygobject.wrap build: Fix some compiler warnings by upgrading wraps 2022-07-31 16:28:25 +05:30
sqlite3.wrap Update all wraps from WrapDB 2022-09-23 11:08:06 -04:00
vorbis.wrap meson: Update some wraps, remove unused wraps 2022-07-16 06:16:17 +00:00
webrtc-audio-processing.wrap
wpebackend-fdo.wrap
x264.wrap
zlib.wrap meson: Update some wraps, remove unused wraps 2022-07-16 06:16:17 +00:00