libavcodec/mss12.h File Reference

Common header for Microsoft Screen 1 and 2. More...

#include "libavutil/intreadwrite.h"
#include "avcodec.h"
#include "get_bits.h"
#include "bytestream.h"

Go to the source code of this file.

Data Structures

struct  Model
struct  ArithCoder
struct  PixContext
struct  SliceContext
struct  MSS12Context

Defines

#define MODEL_MIN_SYMS   2
#define MODEL_MAX_SYMS   256
#define THRESH_ADAPTIVE   -1
#define THRESH_LOW   15
#define THRESH_HIGH   50
#define ARITH_GET_BIT(VERSION)
#define ARITH_GET_MODEL_SYM(VERSION)

Functions

int ff_mss12_decode_rect (SliceContext *ctx, ArithCoder *acoder, int x, int y, int width, int height)
void ff_mss12_model_update (Model *m, int val)
void ff_mss12_slicecontext_reset (SliceContext *sc)
av_cold int ff_mss12_decode_init (MSS12Context *c, int version, SliceContext *sc1, SliceContext *sc2)
av_cold int ff_mss12_decode_end (MSS12Context *ctx)


Detailed Description

Common header for Microsoft Screen 1 and 2.

Definition in file mss12.h.


Define Documentation

#define ARITH_GET_BIT ( VERSION   ) 

Value:

static int arith ## VERSION ## _get_bit(ArithCoder *c)                  \
{                                                                       \
    int range = c->high - c->low + 1;                                   \
    int bit   = 2 * c->value - c->low >= c->high;                       \
                                                                        \
    if (bit)                                                            \
        c->low += range >> 1;                                           \
    else                                                                \
        c->high = c->low + (range >> 1) - 1;                            \
                                                                        \
    arith ## VERSION ## _normalise(c);                                  \
                                                                        \
    return bit;                                                         \
}

Definition at line 102 of file mss12.h.

#define ARITH_GET_MODEL_SYM ( VERSION   ) 

Value:

static int arith ## VERSION ## _get_model_sym(ArithCoder *c, Model *m)  \
{                                                                       \
    int idx, val;                                                       \
                                                                        \
    idx = arith ## VERSION ## _get_prob(c, m->cum_prob);                \
                                                                        \
    val = m->idx2sym[idx];                                              \
    ff_mss12_model_update(m, idx);                                      \
                                                                        \
    arith ## VERSION ## _normalise(c);                                  \
                                                                        \
    return val;                                                         \
}

Definition at line 118 of file mss12.h.

#define MODEL_MAX_SYMS   256

Definition at line 35 of file mss12.h.

#define MODEL_MIN_SYMS   2

Definition at line 34 of file mss12.h.

#define THRESH_ADAPTIVE   -1

Definition at line 36 of file mss12.h.

Referenced by model_rescale_weights(), pixctx_init(), and slicecontext_init().

#define THRESH_HIGH   50

Definition at line 38 of file mss12.h.

Referenced by pixctx_init(), and slicecontext_init().

#define THRESH_LOW   15

Definition at line 37 of file mss12.h.

Referenced by pixctx_init(), and slicecontext_init().


Function Documentation

av_cold int ff_mss12_decode_end ( MSS12Context ctx  ) 

Definition at line 669 of file mss12.c.

Referenced by mss1_decode_end(), and mss2_decode_end().

av_cold int ff_mss12_decode_init ( MSS12Context c,
int  version,
SliceContext sc1,
SliceContext sc2 
)

Definition at line 562 of file mss12.c.

Referenced by mss1_decode_init(), and mss2_decode_init().

int ff_mss12_decode_rect ( SliceContext ctx,
ArithCoder acoder,
int  x,
int  y,
int  width,
int  height 
)

Definition at line 526 of file mss12.c.

Referenced by ff_mss12_decode_rect(), mss1_decode_frame(), and mss2_decode_frame().

void ff_mss12_model_update ( Model m,
int  val 
)

Definition at line 93 of file mss12.c.

void ff_mss12_slicecontext_reset ( SliceContext sc  ) 

Definition at line 426 of file mss12.c.

Referenced by mss1_decode_frame(), and mss2_decode_frame().


Generated on Fri Oct 26 02:50:06 2012 for FFmpeg by  doxygen 1.5.8