summaryrefslogtreecommitdiff
path: root/gst-libs/gst
diff options
context:
space:
mode:
authorDaniel Almeida <daniel.almeida@collabora.com>2021-04-22 19:21:01 -0300
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>2021-04-30 16:49:28 +0000
commit4900e3583a307f12dc449107bc9e689cd8dd932c (patch)
treeef6c22acdaba12f896cd6a8c57b237431b566bd7 /gst-libs/gst
parent1039d70d1869f40ec99d1a541dbb0ea960756d86 (diff)
downloadgstreamer-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.c2
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)