#include "avcodec.h"
#include "bytestream.h"
Go to the source code of this file.
Data Structures | |
| struct | CDGraphicsContext |
Defines | |
| #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 *data_size, AVPacket *avpkt) |
| static av_cold int | cdg_decode_end (AVCodecContext *avctx) |
Variables | |
| AVCodec | ff_cdgraphics_decoder |
Definition in file cdgraphics.c.
| #define CDG_BORDER_HEIGHT 12 |
| #define CDG_BORDER_WIDTH 6 |
| #define CDG_COMMAND 0x09 |
masks
Definition at line 42 of file cdgraphics.c.
Referenced by cdg_decode_frame(), and read_packet().
| #define CDG_DATA_SIZE 16 |
| #define CDG_DISPLAY_HEIGHT 204 |
Definition at line 37 of file cdgraphics.c.
| #define CDG_DISPLAY_WIDTH 294 |
Definition at line 36 of file cdgraphics.c.
| #define CDG_FULL_HEIGHT 216 |
Definition at line 35 of file cdgraphics.c.
Referenced by cdg_border_preset(), cdg_decode_frame(), cdg_decode_init(), cdg_scroll(), and cdg_tile_block().
| #define CDG_FULL_WIDTH 300 |
default screen sizes
Definition at line 34 of file cdgraphics.c.
Referenced by cdg_border_preset(), cdg_decode_init(), cdg_scroll(), and cdg_tile_block().
| #define CDG_HEADER_SIZE 8 |
| #define CDG_INST_BORDER_PRESET 2 |
| #define CDG_INST_LOAD_PAL_HIGH 31 |
| #define CDG_INST_LOAD_PAL_LO 30 |
| #define CDG_INST_MEMORY_PRESET 1 |
| #define CDG_INST_SCROLL_COPY 24 |
| #define CDG_INST_SCROLL_PRESET 20 |
| #define CDG_INST_TILE_BLOCK 6 |
| #define CDG_INST_TILE_BLOCK_XOR 38 |
| #define CDG_MASK 0x3F |
| #define CDG_MINIMUM_PKT_SIZE 6 |
| #define CDG_MINIMUM_SCROLL_SIZE 3 |
| #define CDG_PACKET_SIZE 24 |
data sizes
Definition at line 56 of file cdgraphics.c.
Referenced by read_header(), and read_packet().
| #define CDG_PALETTE_SIZE 16 |
| #define CDG_TILE_HEIGHT 12 |
| #define CDG_TILE_WIDTH 6 |
| #define DOWN 1 |
| #define LEFT 2 |
Definition at line 170 of file cdgraphics.c.
Referenced by cdg_scroll(), ff_h264_decode_mb_cabac(), ff_h264_filter_mb(), and fill_decode_caches().
| #define RIGHT 1 |
| #define UP 2 |
| static void cdg_border_preset | ( | CDGraphicsContext * | cc, | |
| uint8_t * | data | |||
| ) | [static] |
fill the top and bottom borders
fill the side borders
Definition at line 94 of file cdgraphics.c.
Referenced by cdg_decode_frame().
| 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] |
| static av_cold int cdg_decode_end | ( | AVCodecContext * | avctx | ) | [static] |
Definition at line 364 of file cdgraphics.c.
| static int cdg_decode_frame | ( | AVCodecContext * | avctx, | |
| void * | data, | |||
| int * | data_size, | |||
| AVPacket * | avpkt | |||
| ) | [static] |
| static av_cold int cdg_decode_init | ( | AVCodecContext * | avctx | ) | [static] |
Definition at line 81 of file cdgraphics.c.
| static void cdg_fill_rect_preset | ( | int | tl_x, | |
| int | tl_y, | |||
| uint8_t * | out, | |||
| int | color, | |||
| int | w, | |||
| int | h, | |||
| int | stride | |||
| ) | [static] |
| 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] |
| static void cdg_init_frame | ( | AVFrame * | frame | ) | [static] |
Definition at line 71 of file cdgraphics.c.
Referenced by cdg_decode_frame(), and cdg_decode_init().
| static void cdg_load_palette | ( | CDGraphicsContext * | cc, | |
| uint8_t * | data, | |||
| int | low | |||
| ) | [static] |
| static void cdg_scroll | ( | CDGraphicsContext * | cc, | |
| uint8_t * | data, | |||
| AVFrame * | new_frame, | |||
| int | roll_over | |||
| ) | [static] |
find the difference and save the offset for cdg_tile_block usage
Definition at line 206 of file cdgraphics.c.
Referenced by cdg_decode_frame().
| static int cdg_tile_block | ( | CDGraphicsContext * | cc, | |
| uint8_t * | data, | |||
| int | b | |||
| ) | [static] |
Initial value:
{
.name = "cdgraphics",
.type = AVMEDIA_TYPE_VIDEO,
.id = CODEC_ID_CDGRAPHICS,
.priv_data_size = sizeof(CDGraphicsContext),
.init = cdg_decode_init,
.close = cdg_decode_end,
.decode = cdg_decode_frame,
.capabilities = CODEC_CAP_DR1,
.long_name = NULL_IF_CONFIG_SMALL("CD Graphics video"),
}
Definition at line 374 of file cdgraphics.c.
1.5.8