va: vp9dec: We need to check the resolution changes for every frame.
authorHe Junyan <junyan.he@intel.com>
Wed, 14 Jul 2021 14:36:52 +0000 (22:36 +0800)
committerVíctor Manuel Jáquez Leal <vjaquez@igalia.com>
Thu, 15 Jul 2021 09:42:51 +0000 (09:42 +0000)
commitff0e42eb30a5b9ebc31b57f06b1c78cd6a419002
tree2a1bb1429781021acab99925984d8fad71b99978
parent458ac4a693efcae3c3b18f03c4e7959cc5003abc
va: vp9dec: We need to check the resolution changes for every frame.

The VP9 streams have the ability to change the resolution dynamically
at any time point. It does not send ad KEY frame before change the
resolution, even the INTER frame can change the resolution immediately.
So we need to check the resolution change for each frame and do the
re-negiotiation if needed.

Some insaned stream may play in resolution A first and then dynamically
changes to B, and after 1 or 2 frames, it use a show_existing_frame to
repeat the old frame of resolution A before. So, not only new_picture(),
but also duplicate_picture() need to check this.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2407>
sys/va/gstvavp9dec.c