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 More... | |
#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 More... | |
#define | CDG_MASK 0x3F |
#define | CDG_INST_MEMORY_PRESET 1 |
instruction codes More... | |
#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_TRANSPARENT_COL 28 |
#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 More... | |
#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 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, AVFrame *frame, int *got_frame, AVPacket *avpkt) |
static void | cdg_decode_flush (AVCodecContext *avctx) |
static av_cold int | cdg_decode_end (AVCodecContext *avctx) |
Variables | |
const FFCodec | ff_cdgraphics_decoder |
CD Graphics Video Decoder.
Definition in file cdgraphics.c.
#define CDG_FULL_WIDTH 300 |
default screen sizes
Definition at line 36 of file cdgraphics.c.
#define CDG_FULL_HEIGHT 216 |
Definition at line 37 of file cdgraphics.c.
#define CDG_DISPLAY_WIDTH 294 |
Definition at line 38 of file cdgraphics.c.
#define CDG_DISPLAY_HEIGHT 204 |
Definition at line 39 of file cdgraphics.c.
#define CDG_BORDER_WIDTH 6 |
Definition at line 40 of file cdgraphics.c.
#define CDG_BORDER_HEIGHT 12 |
Definition at line 41 of file cdgraphics.c.
#define CDG_COMMAND 0x09 |
masks
Definition at line 44 of file cdgraphics.c.
#define CDG_MASK 0x3F |
Definition at line 45 of file cdgraphics.c.
#define CDG_INST_MEMORY_PRESET 1 |
instruction codes
Definition at line 48 of file cdgraphics.c.
#define CDG_INST_BORDER_PRESET 2 |
Definition at line 49 of file cdgraphics.c.
#define CDG_INST_TILE_BLOCK 6 |
Definition at line 50 of file cdgraphics.c.
#define CDG_INST_SCROLL_PRESET 20 |
Definition at line 51 of file cdgraphics.c.
#define CDG_INST_SCROLL_COPY 24 |
Definition at line 52 of file cdgraphics.c.
#define CDG_INST_TRANSPARENT_COL 28 |
Definition at line 53 of file cdgraphics.c.
#define CDG_INST_LOAD_PAL_LO 30 |
Definition at line 54 of file cdgraphics.c.
#define CDG_INST_LOAD_PAL_HIGH 31 |
Definition at line 55 of file cdgraphics.c.
#define CDG_INST_TILE_BLOCK_XOR 38 |
Definition at line 56 of file cdgraphics.c.
#define CDG_PACKET_SIZE 24 |
data sizes
Definition at line 59 of file cdgraphics.c.
#define CDG_DATA_SIZE 16 |
Definition at line 60 of file cdgraphics.c.
#define CDG_TILE_HEIGHT 12 |
Definition at line 61 of file cdgraphics.c.
#define CDG_TILE_WIDTH 6 |
Definition at line 62 of file cdgraphics.c.
#define CDG_MINIMUM_PKT_SIZE 6 |
Definition at line 63 of file cdgraphics.c.
#define CDG_MINIMUM_SCROLL_SIZE 3 |
Definition at line 64 of file cdgraphics.c.
#define CDG_HEADER_SIZE 8 |
Definition at line 65 of file cdgraphics.c.
#define CDG_PALETTE_SIZE 16 |
Definition at line 66 of file cdgraphics.c.
#define UP 2 |
Definition at line 165 of file cdgraphics.c.
#define DOWN 1 |
Definition at line 166 of file cdgraphics.c.
#define LEFT 2 |
Definition at line 167 of file cdgraphics.c.
#define RIGHT 1 |
Definition at line 168 of file cdgraphics.c.
|
static |
Definition at line 76 of file cdgraphics.c.
|
static |
fill the top and bottom borders
fill the side borders
Definition at line 91 of file cdgraphics.c.
Referenced by cdg_decode_frame().
|
static |
Definition at line 113 of file cdgraphics.c.
Referenced by cdg_decode_frame().
|
static |
Definition at line 131 of file cdgraphics.c.
Referenced by cdg_decode_frame().
|
static |
Definition at line 170 of file cdgraphics.c.
Referenced by cdg_fill_wrapper().
|
static |
Definition at line 182 of file cdgraphics.c.
Referenced by cdg_fill_wrapper().
|
static |
Definition at line 191 of file cdgraphics.c.
Referenced by cdg_scroll().
|
static |
find the difference and save the offset for cdg_tile_block usage
Definition at line 203 of file cdgraphics.c.
Referenced by cdg_decode_frame().
|
static |
Definition at line 265 of file cdgraphics.c.
|
static |
Definition at line 369 of file cdgraphics.c.
|
static |
Definition at line 381 of file cdgraphics.c.
const FFCodec ff_cdgraphics_decoder |
Definition at line 390 of file cdgraphics.c.