libavcodec/mss2.c File Reference
Microsoft Screen 2 (aka Windows Media Video V9 Screen) decoder.
More...
#include "libavutil/avassert.h"
#include "msmpeg4data.h"
#include "vc1.h"
#include "mss12.h"
#include "mss2dsp.h"
Go to the source code of this file.
|
Data Structures |
struct | MSS2Context |
struct | Rectangle |
Defines |
#define | READ_PAIR(a, b) |
#define | MAX_WMV9_RECTANGLES 20 |
#define | ARITH2_PADDING 2 |
Functions |
static void | arith2_normalise (ArithCoder *c) |
static int | arith2_get_scaled_value (int value, int n, int range) |
static void | arith2_rescale_interval (ArithCoder *c, int range, int low, int high, int n) |
static int | arith2_get_number (ArithCoder *c, int n) |
static int | arith2_get_prob (ArithCoder *c, int16_t *probs) |
static int | arith2_get_consumed_bytes (ArithCoder *c) |
static void | arith2_init (ArithCoder *c, GetByteContext *gB) |
static int | decode_pal_v2 (MSS12Context *ctx, const uint8_t *buf, int buf_size) |
static int | decode_555 (GetByteContext *gB, uint16_t *dst, int stride, int keyframe, int w, int h) |
static int | decode_rle (GetBitContext *gb, uint8_t *pal_dst, int pal_stride, uint8_t *rgb_dst, int rgb_stride, uint32_t *pal, int keyframe, int kf_slipt, int slice, int w, int h) |
static int | decode_wmv9 (AVCodecContext *avctx, const uint8_t *buf, int buf_size, int x, int y, int w, int h, int wmv9_mask) |
static int | mss2_decode_frame (AVCodecContext *avctx, void *data, int *data_size, AVPacket *avpkt) |
static av_cold int | wmv9_init (AVCodecContext *avctx) |
static av_cold int | mss2_decode_end (AVCodecContext *avctx) |
static av_cold int | mss2_decode_init (AVCodecContext *avctx) |
Variables |
AVCodec | ff_mss2_decoder |
Detailed Description
Microsoft Screen 2 (aka Windows Media Video V9 Screen) decoder.
Definition in file mss2.c.
Define Documentation
#define MAX_WMV9_RECTANGLES 20 |
#define READ_PAIR |
( |
a, |
|
|
b |
|
) |
|
Value:
a = bytestream2_get_byte(gB) << 4; \
t = bytestream2_get_byte(gB); \
a |= t >> 4; \
b = (t & 0xF) << 8; \
b |= bytestream2_get_byte(gB); \
Referenced by decode_555().
Function Documentation
static int arith2_get_scaled_value |
( |
int |
value, |
|
|
int |
n, |
|
|
int |
range | |
|
) |
| | [static] |
static void arith2_normalise |
( |
ArithCoder * |
c |
) |
[static] |
static int decode_rle |
( |
GetBitContext * |
gb, |
|
|
uint8_t * |
pal_dst, |
|
|
int |
pal_stride, |
|
|
uint8_t * |
rgb_dst, |
|
|
int |
rgb_stride, |
|
|
uint32_t * |
pal, |
|
|
int |
keyframe, |
|
|
int |
kf_slipt, |
|
|
int |
slice, |
|
|
int |
w, |
|
|
int |
h | |
|
) |
| | [static] |
Variable Documentation
Initial value:
Definition at line 857 of file mss2.c.