FFmpeg
|
Microsoft Screen 4 (aka Microsoft Titanium Screen 2, aka Microsoft Expression Encoder Screen) decoder. More...
#include "avcodec.h"
#include "bytestream.h"
#include "get_bits.h"
#include "internal.h"
#include "mss34dsp.h"
#include "unary.h"
Go to the source code of this file.
Data Structures | |
struct | MSS4Context |
Macros | |
#define | HEADER_SIZE 8 |
#define | MAX_ENTRIES 162 |
#define | MKVAL(vals) ((vals)[0] | ((vals)[1] << 3) | ((vals)[2] << 6)) |
Enumerations | |
enum | FrameType { ACTIVE_FRAME, SID_FRAME, UNTRANSMITTED_FRAME, INTRA_FRAME = 0, INTER_FRAME, SKIP_FRAME } |
enum | BlockType { FILL_BLOCK = 0, IMAGE_BLOCK, DCT_BLOCK, HAAR_BLOCK, SKIP_BLOCK, SKIP_BLOCK = 0, DCT_BLOCK, IMAGE_BLOCK } |
enum | CachePos { LEFT = 0, TOP_LEFT, TOP } |
Functions | |
static av_cold int | mss4_init_vlc (VLC *vlc, const uint8_t *lens, const uint8_t *syms, int num_syms) |
static av_cold int | mss4_init_vlcs (MSS4Context *ctx) |
static av_cold void | mss4_free_vlcs (MSS4Context *ctx) |
static av_always_inline int | get_coeff_bits (GetBitContext *gb, int nbits) |
static int | get_coeff (GetBitContext *gb, VLC *vlc) |
static int | mss4_decode_dct (GetBitContext *gb, VLC *dc_vlc, VLC *ac_vlc, int *block, int *dc_cache, int bx, int by, uint16_t *quant_mat) |
static int | mss4_decode_dct_block (MSS4Context *c, GetBitContext *gb, uint8_t *dst[3], int mb_x, int mb_y) |
static void | read_vec_pos (GetBitContext *gb, int *vec_pos, int *sel_flag, int *sel_len, int *prev) |
static int | get_value_cached (GetBitContext *gb, int vec_pos, uint8_t *vec, int vec_size, int component, int shift, int *prev) |
static int | mss4_decode_image_block (MSS4Context *ctx, GetBitContext *gb, uint8_t *picdst[3], int mb_x, int mb_y) |
static void | mss4_update_dc_cache (MSS4Context *c, int mb_x) |
static int | mss4_decode_frame (AVCodecContext *avctx, void *data, int *got_frame, AVPacket *avpkt) |
static av_cold int | mss4_decode_end (AVCodecContext *avctx) |
static av_cold int | mss4_decode_init (AVCodecContext *avctx) |
Variables | |
static const uint8_t | mss4_dc_vlc_lens [2][16] |
static const uint8_t | mss4_ac_vlc_lens [2][16] |
static const uint8_t | mss4_ac_vlc_syms [2][162] |
static const uint8_t | vec_len_syms [2][4] |
static const uint8_t | mss4_vec_entry_vlc_lens [2][16] |
static const uint8_t | mss4_vec_entry_vlc_syms [2][9] |
AVCodec | ff_mts2_decoder |
Microsoft Screen 4 (aka Microsoft Titanium Screen 2, aka Microsoft Expression Encoder Screen) decoder.
Definition in file mss4.c.
#define HEADER_SIZE 8 |
Definition at line 35 of file mss4.c.
Referenced by mss4_decode_frame().
#define MAX_ENTRIES 162 |
Definition at line 125 of file mss4.c.
Referenced by mss4_init_vlc().
#define MKVAL | ( | vals | ) | ((vals)[0] | ((vals)[1] << 3) | ((vals)[2] << 6)) |
Definition at line 366 of file mss4.c.
Referenced by mss4_decode_image_block().
enum FrameType |
enum BlockType |
|
static |
Definition at line 145 of file mss4.c.
Referenced by mss4_init_vlcs().
|
static |
Definition at line 167 of file mss4.c.
Referenced by mss4_decode_init().
|
static |
Definition at line 187 of file mss4.c.
Referenced by mss4_decode_end(), and mss4_decode_init().
|
static |
Definition at line 205 of file mss4.c.
Referenced by get_coeff(), and mss4_decode_dct().
|
inlinestatic |
Definition at line 219 of file mss4.c.
Referenced by mss4_decode_dct(), and mss4_decode_image_block().
|
static |
Definition at line 226 of file mss4.c.
Referenced by mss4_decode_dct_block().
|
static |
Definition at line 281 of file mss4.c.
Referenced by mss4_decode_frame().
|
static |
Definition at line 329 of file mss4.c.
Referenced by mss4_decode_image_block().
|
static |
Definition at line 355 of file mss4.c.
Referenced by mss4_decode_image_block().
|
static |
Definition at line 379 of file mss4.c.
Referenced by mss4_decode_frame().
|
inlinestatic |
Definition at line 489 of file mss4.c.
Referenced by mss4_decode_frame().
|
static |
|
static |
Definition at line 629 of file mss4.c.
Referenced by mss4_decode_init().
|
static |
|
static |
Definition at line 55 of file mss4.c.
Referenced by mss4_init_vlcs().
|
static |
Definition at line 60 of file mss4.c.
Referenced by mss4_init_vlcs().
|
static |
Definition at line 65 of file mss4.c.
Referenced by mss4_init_vlcs().
|
static |
Definition at line 110 of file mss4.c.
Referenced by mss4_decode_image_block().
|
static |
Definition at line 115 of file mss4.c.
Referenced by mss4_init_vlcs().
|
static |
Definition at line 120 of file mss4.c.
Referenced by mss4_init_vlcs().
AVCodec ff_mts2_decoder |