Реалізація ідеї арифметичного кодування, Детальна інформація
Реалізація ідеї арифметичного кодування
unsigned char index_to_char[No_of_symbols + 1];
/* Oaaeeoey iaeiie/aieo /anoio */
#define Max_frequency 16383
int cum_freq[No_of_symbols+1];
encode.c
/* Aieiaia i\x00F0ioeaaeo\x00F0a eiaeoaaiiy */
#include
#include "model.h"
main()
{ start_model();
start_outputing_bits();
start_encoding();
for (;;) {
int ch; int symbol;
ch = getc(stdin);
if (ch==EOF) break;
symbol = char_to_index[ch];
encode_symbol(symbol,cum_freq);
update_model(symbol);
}
encode_symbol(EOF_symbol,cum_freq);
done_encoding();
done_outputing_bits();
exit(0);
}
Arithmetic_encode.c
/* Aeai\x00F0eoi a\x00F0eoiaoe/iiai eiaeoaaiiy */
#include "arithmetic_encoding.h"
static void bit_plus_follow();
/* Iioi/iee noai eiaeoaaiiy */
/* Oaaeeoey iaeiie/aieo /anoio */
#define Max_frequency 16383
int cum_freq[No_of_symbols+1];
encode.c
/* Aieiaia i\x00F0ioeaaeo\x00F0a eiaeoaaiiy */
#include
#include "model.h"
main()
{ start_model();
start_outputing_bits();
start_encoding();
for (;;) {
int ch; int symbol;
ch = getc(stdin);
if (ch==EOF) break;
symbol = char_to_index[ch];
encode_symbol(symbol,cum_freq);
update_model(symbol);
}
encode_symbol(EOF_symbol,cum_freq);
done_encoding();
done_outputing_bits();
exit(0);
}
Arithmetic_encode.c
/* Aeai\x00F0eoi a\x00F0eoiaoe/iiai eiaeoaaiiy */
#include "arithmetic_encoding.h"
static void bit_plus_follow();
/* Iioi/iee noai eiaeoaaiiy */
The online video editor trusted by teams to make professional video in
minutes
© Referats, Inc · All rights reserved 2021