rangecoder.c File Reference

Range coder. More...

#include <string.h>
#include "libavutil/attributes.h"
#include "libavutil/avassert.h"
#include "libavutil/intreadwrite.h"
#include "avcodec.h"
#include "rangecoder.h"

Go to the source code of this file.


av_cold void ff_init_range_encoder (RangeCoder *c, uint8_t *buf, int buf_size)
av_cold void ff_init_range_decoder (RangeCoder *c, const uint8_t *buf, int buf_size)
void ff_build_rac_states (RangeCoder *c, int factor, int max_p)
int ff_rac_terminate (RangeCoder *c, int version)
 Terminates the range coder. More...

Detailed Description

Range coder.

based upon "Range encoding: an algorithm for removing redundancy from a digitised message. G. N. N. Martin Presented in March 1979 to the Video & Data Recording Conference, IBM UK Scientific Center held in Southampton July 24-27 1979."

Definition in file rangecoder.c.

Function Documentation

av_cold void ff_init_range_encoder ( RangeCoder c,
uint8_t buf,
int  buf_size 
av_cold void ff_init_range_decoder ( RangeCoder c,
const uint8_t buf,
int  buf_size 

Definition at line 53 of file rangecoder.c.

Referenced by decode_frame(), main(), predictor_calc_error(), and read_extra_header().

void ff_build_rac_states ( RangeCoder c,
int  factor,
int  max_p 
int ff_rac_terminate ( RangeCoder c,
int  version 

Terminates the range coder.

versionversion 0 requires the decoder to know the data size in bytes version 1 needs about 1 bit more space but does not need to carry the size from encoder to decoder

Definition at line 109 of file rangecoder.c.

Referenced by encode_frame(), encode_slice(), main(), predictor_calc_error(), and write_extradata().