[PATCH] Don't update sps if they are only repeated
authorTobias Frost <tobi@debian.org>
Fri, 13 Jan 2023 11:22:45 +0000 (12:22 +0100)
committerJoachim Bauch <bauch@struktur.de>
Tue, 21 Nov 2023 07:59:09 +0000 (08:59 +0100)
commit695cd5a8ac22711c2c1d58d2bae48cf0c5da761b
treeab2562c0d388cc6909d2a420a25c6130a9b8700e
parent5fc53ea718040fbb2e97706b0e6aa93c5b3e6853
[PATCH] Don't update sps if they are only repeated

This is an attempt to improve the mitigations from #365 and #366 and picks up an idea I described at #345:

> One way would be just to look at the pointers of the SPS (fast and easy, but
> may reject more than required), or investigate if the SPS used for the image
> generations are "compatible".

This changes do exactly this: It (very conservativly) checks if the old and new sps have
identical information -- except the reference picture set, which I believe is supposed
to be updated by new sps'). If they are basically identical, the old sps will be
used instead of the new one, (of course, reference image set is updated from the new one)

I'm using standalone operator== and helper functions to avoid changing ABI of the library;
if an ABI bump would be done, of course this should go to the respective classes.

Gbp-Pq: Name recycle_sps_if_possible.patch
libde265/decctx.cc
libde265/sps.cc