mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-26 19:01:44 +02:00
avcodec/scpr3: Avoid code duplication when updating models
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
This commit is contained in:
parent
cff09fee1f
commit
84bb18d4e7
@ -524,32 +524,16 @@ static int update_model1_to_4(PixelModel3 *m, uint32_t val)
|
||||
|
||||
static int update_model1_to_5(PixelModel3 *m, uint32_t val)
|
||||
{
|
||||
PixelModel3 n = {0};
|
||||
int i, size, freqs;
|
||||
uint32_t a;
|
||||
|
||||
update_model1_to_4(m, val);
|
||||
size = m->size;
|
||||
n.size = size;
|
||||
for (i = 0; i < size; i++) {
|
||||
n.symbols[i] = m->symbols[i];
|
||||
}
|
||||
AV_QSORT(n.symbols, size, uint8_t, cmpbytes);
|
||||
size = n.size;
|
||||
for (i = 0; i < size; i++) {
|
||||
if (val == n.symbols[i]) {
|
||||
n.freqs[i] = 100;
|
||||
n.maxpos = i;
|
||||
} else {
|
||||
n.freqs[i] = 50;
|
||||
}
|
||||
}
|
||||
a = 256 - size;
|
||||
for (i = 0; i < size; i++, a += freqs)
|
||||
freqs = n.freqs[i];
|
||||
n.type = 5;
|
||||
n.cntsum = a;
|
||||
|
||||
memcpy(m, &n, sizeof(n));
|
||||
freqs = m->freqs[i];
|
||||
m->type = 5;
|
||||
m->cntsum = a;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user