Реалізація ідеї арифметичного кодування, Детальна інформація
Реалізація ідеї арифметичного кодування
int cum;
int symbol;
range = (long)(high - low)+1;
cum = (((long) (value - low)+1)*cum_freq[0]-1)/range;
for (symbol = 1; cum_freq[symbol]>cum; symbol++);
high = low + (range*cum_freq[symbol-1])/cum_freq[0]-1;
low = low + (range*cum_freq[symbol])/cum_freq[0];
for (;;){
if (high
else if (low>=Half)
{
value -= Half;
low -= Half;
high -= Half;
}
else if (low>=First_qtr && high
{
value -= First_qtr;
low -= First_qtr;
high -= First_qtr;
}
else break;
low = 2*low;
high = 2*high+1;
}
return symbol;
}
bit_input.c
/* I\x00F0ioeaaeo\x00F0e aaiaeo a\x00B3o\x00B3a */
int symbol;
range = (long)(high - low)+1;
cum = (((long) (value - low)+1)*cum_freq[0]-1)/range;
for (symbol = 1; cum_freq[symbol]>cum; symbol++);
high = low + (range*cum_freq[symbol-1])/cum_freq[0]-1;
low = low + (range*cum_freq[symbol])/cum_freq[0];
for (;;){
if (high
else if (low>=Half)
{
value -= Half;
low -= Half;
high -= Half;
}
else if (low>=First_qtr && high
{
value -= First_qtr;
low -= First_qtr;
high -= First_qtr;
}
else break;
low = 2*low;
high = 2*high+1;
}
return symbol;
}
bit_input.c
/* I\x00F0ioeaaeo\x00F0e aaiaeo a\x00B3o\x00B3a */
The online video editor trusted by teams to make professional video in
minutes
© Referats, Inc · All rights reserved 2021