a64multienc.c File Reference

a64 video encoder - multicolor modes More...

#include "a64enc.h"
#include "a64colors.h"
#include "a64tables.h"
#include "elbg.h"
#include "libavutil/intreadwrite.h"

Go to the source code of this file.

Macros

#define DITHERSTEPS   8
#define CHARSET_CHARS   256
#define INTERLACED   1
#define CROP_SCREENS   1

Functions

static void to_meta_with_crop (AVCodecContext *avctx, AVFrame *p, int *dest)
static void render_charset (AVCodecContext *avctx, uint8_t *charset, uint8_t *colrammap)
static av_cold int a64multi_close_encoder (AVCodecContext *avctx)
static av_cold int a64multi_init_encoder (AVCodecContext *avctx)
static void a64_compress_colram (unsigned char *buf, int *charmap, uint8_t *colram)
static int a64multi_encode_frame (AVCodecContext *avctx, unsigned char *buf, int buf_size, void *data)

Variables

static const int mc_colors [5] = {0x0,0xb,0xc,0xf,0x1}
AVCodec ff_a64multi_encoder
AVCodec ff_a64multi5_encoder

Detailed Description

a64 video encoder - multicolor modes

Definition in file a64multienc.c.

Macro Definition Documentation

#define CHARSET_CHARS   256

Definition at line 34 of file a64multienc.c.

Referenced by a64multi_encode_frame(), a64multi_init_encoder(), and render_charset().

#define CROP_SCREENS   1

Definition at line 36 of file a64multienc.c.

Referenced by a64multi_encode_frame().

#define DITHERSTEPS   8

Definition at line 33 of file a64multienc.c.

Referenced by render_charset().

#define INTERLACED   1

Definition at line 35 of file a64multienc.c.

Referenced by a64multi_encode_frame(), a64multi_init_encoder(), and render_charset().

Function Documentation

static void a64_compress_colram ( unsigned char *  buf,
int *  charmap,
uint8_t *  colram 
)
static

Definition at line 227 of file a64multienc.c.

Referenced by a64multi_encode_frame().

static av_cold int a64multi_close_encoder ( AVCodecContext avctx)
static

Definition at line 163 of file a64multienc.c.

static int a64multi_encode_frame ( AVCodecContext avctx,
unsigned char *  buf,
int  buf_size,
void data 
)
static

Definition at line 242 of file a64multienc.c.

static av_cold int a64multi_init_encoder ( AVCodecContext avctx)
static

Definition at line 174 of file a64multienc.c.

static void render_charset ( AVCodecContext avctx,
uint8_t *  charset,
uint8_t *  colrammap 
)
static

Definition at line 71 of file a64multienc.c.

Referenced by a64multi_encode_frame().

static void to_meta_with_crop ( AVCodecContext avctx,
AVFrame p,
int *  dest 
)
static

Definition at line 45 of file a64multienc.c.

Referenced by a64multi_encode_frame().

Variable Documentation

AVCodec ff_a64multi5_encoder
Initial value:
{
.name = "a64multi5",
.priv_data_size = sizeof(A64Context),
.pix_fmts = (const enum PixelFormat[]) {PIX_FMT_GRAY8, PIX_FMT_NONE},
.long_name = NULL_IF_CONFIG_SMALL("Multicolor charset for Commodore 64, extended with 5th color (colram)"),
.capabilities = CODEC_CAP_DELAY,
}

Definition at line 376 of file a64multienc.c.

AVCodec ff_a64multi_encoder
Initial value:
{
.name = "a64multi",
.priv_data_size = sizeof(A64Context),
.pix_fmts = (const enum PixelFormat[]) {PIX_FMT_GRAY8, PIX_FMT_NONE},
.long_name = NULL_IF_CONFIG_SMALL("Multicolor charset for Commodore 64"),
.capabilities = CODEC_CAP_DELAY,
}

Definition at line 363 of file a64multienc.c.

const int mc_colors[5] = {0x0,0xb,0xc,0xf,0x1}
static

Definition at line 39 of file a64multienc.c.

Referenced by a64multi_init_encoder().