FFmpeg
Functions
scpr3.c File Reference
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "libavutil/qsort.h"
#include "avcodec.h"
#include "bytestream.h"
#include "internal.h"
#include "scpr.h"

Go to the source code of this file.

Functions

static void renew_table3 (uint32_t nsym, uint32_t *cntsum, uint16_t *freqs, uint16_t *freqs1, uint16_t *cnts, uint8_t *dectab)
 
static void reinit_tables3 (SCPRContext *s)
 
static int decode3 (GetByteContext *gb, RangeCoder *rc, uint32_t a, uint32_t b)
 
static void rescale (PixelModel3 *m, int *totfr)
 
static int add_symbol (PixelModel3 *m, int index, uint32_t symbol, int *totfr, int max)
 
static int decode_adaptive45 (PixelModel3 *m, int rccode, uint32_t *value, uint16_t *a, uint16_t *b, uint32_t *c, int max)
 
static int update_model6_to_7 (PixelModel3 *m)
 
static void calc_sum (PixelModel3 *m)
 
static void rescale_dec (PixelModel3 *m)
 
static int update_model5_to_6 (PixelModel3 *m, uint8_t value)
 
static void grow_dec (PixelModel3 *m)
 
static int add_dec (PixelModel3 *m, int sym, int f1, int f2)
 
static void incr_cntdec (PixelModel3 *m, int a)
 
static int decode_adaptive6 (PixelModel3 *m, uint32_t code, uint32_t *value, uint16_t *a, uint16_t *b)
 
static int cmpbytes (const void *p1, const void *p2)
 
static int update_model1_to_2 (PixelModel3 *m, uint32_t val)
 
static int update_model1_to_4 (PixelModel3 *m, uint32_t val)
 
static int update_model1_to_5 (PixelModel3 *m, uint32_t val)
 
static int decode_static1 (PixelModel3 *m, uint32_t val)
 
static int update_model2_to_6 (PixelModel3 *m, uint8_t value, int a4)
 
static int update_model2_to_3 (PixelModel3 *m, uint32_t val)
 
static int decode_static2 (PixelModel3 *m, uint32_t val)
 
static int update_model3_to_7 (PixelModel3 *m, uint8_t value)
 
static int decode_static3 (PixelModel3 *m, uint32_t val)
 
static void sync_code3 (GetByteContext *gb, RangeCoder *rc)
 
static int decode_value3 (SCPRContext *s, uint32_t max, uint32_t *cntsum, uint16_t *freqs1, uint16_t *freqs2, uint16_t *cnts, uint8_t *dectable, uint32_t *value)
 
static void calc_sum5 (PixelModel3 *m)
 
static int update_model4_to_5 (PixelModel3 *m, uint32_t value)
 
static int decode_unit3 (SCPRContext *s, PixelModel3 *m, uint32_t code, uint32_t *value)
 
static int decode_units3 (SCPRContext *s, uint32_t *red, uint32_t *green, uint32_t *blue, int *cx, int *cx1)
 
static void init_rangecoder3 (RangeCoder *rc, GetByteContext *gb)
 
static int decompress_i3 (AVCodecContext *avctx, uint32_t *dst, int linesize)
 
static int decompress_p3 (AVCodecContext *avctx, uint32_t *dst, int linesize, uint32_t *prev, int plinesize)
 

Function Documentation

static void renew_table3 ( uint32_t  nsym,
uint32_t *  cntsum,
uint16_t *  freqs,
uint16_t *  freqs1,
uint16_t *  cnts,
uint8_t dectab 
)
static

Definition at line 34 of file scpr3.c.

Referenced by reinit_tables3().

static void reinit_tables3 ( SCPRContext s)
static

Definition at line 53 of file scpr3.c.

Referenced by decompress_i3().

static int decode3 ( GetByteContext gb,
RangeCoder rc,
uint32_t  a,
uint32_t  b 
)
static

Definition at line 99 of file scpr3.c.

Referenced by decode_unit3(), and decode_value3().

static void rescale ( PixelModel3 m,
int totfr 
)
static

Definition at line 110 of file scpr3.c.

Referenced by add_symbol(), decode_adaptive45(), and update_model4_to_5().

static int add_symbol ( PixelModel3 m,
int  index,
uint32_t  symbol,
int totfr,
int  max 
)
static

Definition at line 123 of file scpr3.c.

Referenced by decode_adaptive45().

static int decode_adaptive45 ( PixelModel3 m,
int  rccode,
uint32_t *  value,
uint16_t *  a,
uint16_t *  b,
uint32_t *  c,
int  max 
)
static

Definition at line 147 of file scpr3.c.

Referenced by decode_unit3().

static int update_model6_to_7 ( PixelModel3 m)
static

Definition at line 204 of file scpr3.c.

Referenced by decode_unit3().

static void calc_sum ( PixelModel3 m)
static

Definition at line 247 of file scpr3.c.

Referenced by update_model2_to_6(), and update_model5_to_6().

static void rescale_dec ( PixelModel3 m)
static

Definition at line 259 of file scpr3.c.

Referenced by incr_cntdec(), and update_model5_to_6().

static int update_model5_to_6 ( PixelModel3 m,
uint8_t  value 
)
static

Definition at line 293 of file scpr3.c.

Referenced by decode_unit3().

static void grow_dec ( PixelModel3 m)
static

Definition at line 367 of file scpr3.c.

Referenced by decode_adaptive6().

static int add_dec ( PixelModel3 m,
int  sym,
int  f1,
int  f2 
)
static

Definition at line 376 of file scpr3.c.

Referenced by decode_adaptive6().

static void incr_cntdec ( PixelModel3 m,
int  a 
)
static

Definition at line 393 of file scpr3.c.

Referenced by decode_adaptive6().

static int decode_adaptive6 ( PixelModel3 m,
uint32_t  code,
uint32_t *  value,
uint16_t *  a,
uint16_t *  b 
)
static

Definition at line 418 of file scpr3.c.

Referenced by decode_unit3().

static int cmpbytes ( const void p1,
const void p2 
)
static

Definition at line 473 of file scpr3.c.

Referenced by update_model1_to_4(), update_model1_to_5(), and update_model2_to_6().

static int update_model1_to_2 ( PixelModel3 m,
uint32_t  val 
)
static

Definition at line 480 of file scpr3.c.

Referenced by decode_static1().

static int update_model1_to_4 ( PixelModel3 m,
uint32_t  val 
)
static

Definition at line 497 of file scpr3.c.

Referenced by decode_static1().

static int update_model1_to_5 ( PixelModel3 m,
uint32_t  val 
)
static

Definition at line 523 of file scpr3.c.

Referenced by decode_static1().

static int decode_static1 ( PixelModel3 m,
uint32_t  val 
)
static

Definition at line 555 of file scpr3.c.

Referenced by decode_unit3().

static int update_model2_to_6 ( PixelModel3 m,
uint8_t  value,
int  a4 
)
static

Definition at line 577 of file scpr3.c.

Referenced by decode_static2().

static int update_model2_to_3 ( PixelModel3 m,
uint32_t  val 
)
static

Definition at line 636 of file scpr3.c.

Referenced by decode_static2().

static int decode_static2 ( PixelModel3 m,
uint32_t  val 
)
static

Definition at line 654 of file scpr3.c.

Referenced by decode_unit3().

static int update_model3_to_7 ( PixelModel3 m,
uint8_t  value 
)
static

Definition at line 680 of file scpr3.c.

Referenced by decode_static3().

static int decode_static3 ( PixelModel3 m,
uint32_t  val 
)
static

Definition at line 716 of file scpr3.c.

Referenced by decode_unit3().

static void sync_code3 ( GetByteContext gb,
RangeCoder rc 
)
static

Definition at line 733 of file scpr3.c.

Referenced by decode_unit3(), decode_value3(), and decompress_p3().

static int decode_value3 ( SCPRContext s,
uint32_t  max,
uint32_t *  cntsum,
uint16_t *  freqs1,
uint16_t *  freqs2,
uint16_t *  cnts,
uint8_t dectable,
uint32_t *  value 
)
static

Definition at line 742 of file scpr3.c.

Referenced by decode_unit3(), decompress_i3(), and decompress_p3().

static void calc_sum5 ( PixelModel3 m)
static

Definition at line 793 of file scpr3.c.

Referenced by update_model4_to_5().

static int update_model4_to_5 ( PixelModel3 m,
uint32_t  value 
)
static

Definition at line 803 of file scpr3.c.

Referenced by decode_unit3().

static int decode_unit3 ( SCPRContext s,
PixelModel3 m,
uint32_t  code,
uint32_t *  value 
)
static

Definition at line 833 of file scpr3.c.

Referenced by decode_units3().

static int decode_units3 ( SCPRContext s,
uint32_t *  red,
uint32_t *  green,
uint32_t *  blue,
int cx,
int cx1 
)
static

Definition at line 897 of file scpr3.c.

Referenced by decompress_i3(), and decompress_p3().

static void init_rangecoder3 ( RangeCoder rc,
GetByteContext gb 
)
static

Definition at line 928 of file scpr3.c.

Referenced by decompress_i3(), and decompress_p3().

static int decompress_i3 ( AVCodecContext avctx,
uint32_t *  dst,
int  linesize 
)
static

Definition at line 934 of file scpr3.c.

Referenced by decode_frame().

static int decompress_p3 ( AVCodecContext avctx,
uint32_t *  dst,
int  linesize,
uint32_t *  prev,
int  plinesize 
)
static

Definition at line 1017 of file scpr3.c.

Referenced by decode_frame().