mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-23 10:11:08 +00:00
eac9c33cc1
When the alignment is "FRAME" and the parse is likely connecting to a decoder, the current PTS setting for VP9 frames inside a super frame is not very correct. For example, the super frame 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 super frame, let the non-displayed frames have no PTS while set the correct PTS to the displayed one. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3155> |
||
---|---|---|
.. | ||
dirac_parse.c | ||
dirac_parse.h | ||
gstav1parse.c | ||
gstav1parse.h | ||
gstdiracparse.c | ||
gstdiracparse.h | ||
gsth263parse.c | ||
gsth263parse.h | ||
gsth264parse.c | ||
gsth264parse.h | ||
gsth265parse.c | ||
gsth265parse.h | ||
gstjpeg2000parse.c | ||
gstjpeg2000parse.h | ||
gstmpeg4videoparse.c | ||
gstmpeg4videoparse.h | ||
gstmpegvideoparse.c | ||
gstmpegvideoparse.h | ||
gstpngparse.c | ||
gstpngparse.h | ||
gstvc1parse.c | ||
gstvc1parse.h | ||
gstvideoparserselement.c | ||
gstvideoparserselements.h | ||
gstvideoparseutils.c | ||
gstvideoparseutils.h | ||
gstvp9parse.c | ||
gstvp9parse.h | ||
h263parse.c | ||
h263parse.h | ||
meson.build | ||
plugin.c |