FFmpeg
|
CD Graphics Video Decoder. More...
Go to the source code of this file.
Data Structures | |
struct | CDGraphicsContext |
Macros | |
#define | CDG_FULL_WIDTH 300 |
default screen sizes | |
#define | CDG_FULL_HEIGHT 216 |
#define | CDG_DISPLAY_WIDTH 294 |
#define | CDG_DISPLAY_HEIGHT 204 |
#define | CDG_BORDER_WIDTH 6 |
#define | CDG_BORDER_HEIGHT 12 |
#define | CDG_COMMAND 0x09 |
masks | |
#define | CDG_MASK 0x3F |
#define | CDG_INST_MEMORY_PRESET 1 |
instruction codes | |
#define | CDG_INST_BORDER_PRESET 2 |
#define | CDG_INST_TILE_BLOCK 6 |
#define | CDG_INST_SCROLL_PRESET 20 |
#define | CDG_INST_SCROLL_COPY 24 |
#define | CDG_INST_LOAD_PAL_LO 30 |
#define | CDG_INST_LOAD_PAL_HIGH 31 |
#define | CDG_INST_TILE_BLOCK_XOR 38 |
#define | CDG_PACKET_SIZE 24 |
data sizes | |
#define | CDG_DATA_SIZE 16 |
#define | CDG_TILE_HEIGHT 12 |
#define | CDG_TILE_WIDTH 6 |
#define | CDG_MINIMUM_PKT_SIZE 6 |
#define | CDG_MINIMUM_SCROLL_SIZE 3 |
#define | CDG_HEADER_SIZE 8 |
#define | CDG_PALETTE_SIZE 16 |
#define | UP 2 |
#define | DOWN 1 |
#define | LEFT 2 |
#define | RIGHT 1 |
Functions | |
static void | cdg_init_frame (AVFrame *frame) |
static av_cold int | cdg_decode_init (AVCodecContext *avctx) |
static void | cdg_border_preset (CDGraphicsContext *cc, uint8_t *data) |
static void | cdg_load_palette (CDGraphicsContext *cc, uint8_t *data, int low) |
static int | cdg_tile_block (CDGraphicsContext *cc, uint8_t *data, int b) |
static void | cdg_copy_rect_buf (int out_tl_x, int out_tl_y, uint8_t *out, int in_tl_x, int in_tl_y, uint8_t *in, int w, int h, int stride) |
static void | cdg_fill_rect_preset (int tl_x, int tl_y, uint8_t *out, int color, int w, int h, int stride) |
static void | cdg_fill_wrapper (int out_tl_x, int out_tl_y, uint8_t *out, int in_tl_x, int in_tl_y, uint8_t *in, int color, int w, int h, int stride, int roll) |
static void | cdg_scroll (CDGraphicsContext *cc, uint8_t *data, AVFrame *new_frame, int roll_over) |
static int | cdg_decode_frame (AVCodecContext *avctx, void *data, int *got_frame, AVPacket *avpkt) |
static av_cold int | cdg_decode_end (AVCodecContext *avctx) |
Variables | |
AVCodec | ff_cdgraphics_decoder |
CD Graphics Video Decoder.
Definition in file cdgraphics.c.
#define CDG_FULL_WIDTH 300 |
default screen sizes
Definition at line 35 of file cdgraphics.c.
Referenced by cdg_border_preset(), cdg_decode_init(), cdg_scroll(), and cdg_tile_block().
#define CDG_FULL_HEIGHT 216 |
Definition at line 36 of file cdgraphics.c.
Referenced by cdg_border_preset(), cdg_decode_frame(), cdg_decode_init(), cdg_scroll(), and cdg_tile_block().
#define CDG_DISPLAY_WIDTH 294 |
Definition at line 37 of file cdgraphics.c.
#define CDG_DISPLAY_HEIGHT 204 |
Definition at line 38 of file cdgraphics.c.
#define CDG_BORDER_WIDTH 6 |
Definition at line 39 of file cdgraphics.c.
Referenced by cdg_border_preset(), and cdg_scroll().
#define CDG_BORDER_HEIGHT 12 |
Definition at line 40 of file cdgraphics.c.
Referenced by cdg_border_preset(), and cdg_scroll().
#define CDG_COMMAND 0x09 |
#define CDG_MASK 0x3F |
Definition at line 44 of file cdgraphics.c.
Referenced by cdg_decode_frame().
#define CDG_INST_MEMORY_PRESET 1 |
#define CDG_INST_BORDER_PRESET 2 |
Definition at line 48 of file cdgraphics.c.
Referenced by cdg_decode_frame().
#define CDG_INST_TILE_BLOCK 6 |
Definition at line 49 of file cdgraphics.c.
Referenced by cdg_decode_frame().
#define CDG_INST_SCROLL_PRESET 20 |
Definition at line 50 of file cdgraphics.c.
Referenced by cdg_decode_frame().
#define CDG_INST_SCROLL_COPY 24 |
Definition at line 51 of file cdgraphics.c.
Referenced by cdg_decode_frame().
#define CDG_INST_LOAD_PAL_LO 30 |
Definition at line 52 of file cdgraphics.c.
Referenced by cdg_decode_frame().
#define CDG_INST_LOAD_PAL_HIGH 31 |
Definition at line 53 of file cdgraphics.c.
Referenced by cdg_decode_frame().
#define CDG_INST_TILE_BLOCK_XOR 38 |
Definition at line 54 of file cdgraphics.c.
Referenced by cdg_decode_frame().
#define CDG_PACKET_SIZE 24 |
data sizes
Definition at line 57 of file cdgraphics.c.
#define CDG_DATA_SIZE 16 |
Definition at line 58 of file cdgraphics.c.
Referenced by cdg_decode_frame().
#define CDG_TILE_HEIGHT 12 |
Definition at line 59 of file cdgraphics.c.
Referenced by cdg_tile_block().
#define CDG_TILE_WIDTH 6 |
Definition at line 60 of file cdgraphics.c.
Referenced by cdg_tile_block().
#define CDG_MINIMUM_PKT_SIZE 6 |
Definition at line 61 of file cdgraphics.c.
Referenced by cdg_decode_frame().
#define CDG_MINIMUM_SCROLL_SIZE 3 |
Definition at line 62 of file cdgraphics.c.
Referenced by cdg_decode_frame().
#define CDG_HEADER_SIZE 8 |
Definition at line 63 of file cdgraphics.c.
Referenced by cdg_decode_frame().
#define CDG_PALETTE_SIZE 16 |
Definition at line 64 of file cdgraphics.c.
Referenced by cdg_scroll().
#define UP 2 |
Definition at line 169 of file cdgraphics.c.
Referenced by cdg_scroll().
#define DOWN 1 |
Definition at line 170 of file cdgraphics.c.
Referenced by cdg_scroll().
#define LEFT 2 |
Definition at line 171 of file cdgraphics.c.
Referenced by cdg_scroll(), decode_frame(), decode_init(), decode_pixel_in_context(), ff_h264_decode_mb_cabac(), ff_h264_filter_mb(), fill_decode_caches(), mss4_decode_dct(), mss4_decode_dct_block(), and mss4_update_dc_cache().
#define RIGHT 1 |
Definition at line 172 of file cdgraphics.c.
Referenced by cdg_scroll().
Definition at line 72 of file cdgraphics.c.
Referenced by cdg_decode_frame(), and cdg_decode_init().
|
static |
Definition at line 82 of file cdgraphics.c.
|
static |
fill the top and bottom borders
fill the side borders
Definition at line 95 of file cdgraphics.c.
Referenced by cdg_decode_frame().
|
static |
Definition at line 117 of file cdgraphics.c.
Referenced by cdg_decode_frame().
|
static |
Definition at line 135 of file cdgraphics.c.
Referenced by cdg_decode_frame().
|
static |
Definition at line 174 of file cdgraphics.c.
Referenced by cdg_fill_wrapper().
|
static |
Definition at line 186 of file cdgraphics.c.
Referenced by cdg_fill_wrapper().
|
static |
Definition at line 195 of file cdgraphics.c.
Referenced by cdg_scroll().
|
static |
find the difference and save the offset for cdg_tile_block usage
Definition at line 207 of file cdgraphics.c.
Referenced by cdg_decode_frame().
|
static |
skipping 2 unneeded bytes
Definition at line 269 of file cdgraphics.c.
|
static |
Definition at line 367 of file cdgraphics.c.
AVCodec ff_cdgraphics_decoder |
Definition at line 377 of file cdgraphics.c.