indeo3enc: rework the logic with motion cells
authorKostya Shishkov <kostya.shishkov@gmail.com>
Tue, 14 Feb 2023 15:32:35 +0000 (16:32 +0100)
committerKostya Shishkov <kostya.shishkov@gmail.com>
Tue, 14 Feb 2023 17:47:18 +0000 (18:47 +0100)
commitbafe9cd4a4016dc550e2cd5311628024c8368023
treeca18c3e2d0407cbdd7eb831edc3437a127d4cb95
parent7b430a1e47759ba440db5d56523ec043433732c9
indeo3enc: rework the logic with motion cells

Previously motion vectors were ranged by the number of cells using them and
if the vector outside the allowed number of MVs was close enough to
a popular one the latter was used instead.

Now the MVs are ranked by the total area of cells using them and the vectors
not in the list are pruned entirely. Cells with those vectors are replaced
with the intra-coded ones.
nihav-indeo/src/codecs/indeo3enc/mod.rs
nihav-indeo/src/codecs/indeo3enc/mv.rs
nihav-indeo/src/codecs/indeo3enc/tree.rs