diff options
author | Daniel Almeida <daniel.almeida@collabora.com> | 2021-04-22 19:21:01 -0300 |
---|---|---|
committer | GStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org> | 2021-04-30 16:49:28 +0000 |
commit | 4900e3583a307f12dc449107bc9e689cd8dd932c (patch) | |
tree | ef6c22acdaba12f896cd6a8c57b237431b566bd7 /gst-libs/gst | |
parent | 1039d70d1869f40ec99d1a541dbb0ea960756d86 (diff) | |
download | gstreamer-plugins-bad-4900e3583a307f12dc449107bc9e689cd8dd932c.tar.gz |
codecs: gstvp9statefulparser: do not carry over segmentation flags
Do not carry over segmentation flags from previous frames. The spec
says in 7.2.10 that the feature data carry over from previous frames
if not updated, but the flags do not.
Consider what would happen if a flag B is to depend on a flag A, and
B carries over as set from another frame. Further consider that A is
now not set in this particular frame. This leads to the invalid state
in which flag B is set but flag A isn't.
This might cause the bitstream to be rejected by accelerators down
the line.
Fix it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2203>
Diffstat (limited to 'gst-libs/gst')
-rw-r--r-- | gst-libs/gst/codecs/gstvp9statefulparser.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gst-libs/gst/codecs/gstvp9statefulparser.c b/gst-libs/gst/codecs/gstvp9statefulparser.c index 425e9dd34..2c25419b5 100644 --- a/gst-libs/gst/codecs/gstvp9statefulparser.c +++ b/gst-libs/gst/codecs/gstvp9statefulparser.c @@ -690,6 +690,8 @@ parse_segmentation_params (GstBitReader * br, GstVp9SegmentationParams * params) params->segmentation_update_map = 0; params->segmentation_update_data = 0; + params->segmentation_temporal_update = 0; + params->segmentation_abs_or_delta_update = 0; VP9_READ_BIT (params->segmentation_enabled); if (!params->segmentation_enabled) |