a64multienc.c File Reference

a64 video encoder - multicolor modes More...

#include "a64enc.h"
#include "a64colors.h"
#include "a64tables.h"
#include "elbg.h"
#include "internal.h"
#include "libavutil/common.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, AVPacket *pkt, const AVFrame *pict, int *got_packet)
 

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 36 of file a64multienc.c.

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

#define CROP_SCREENS   1

Definition at line 38 of file a64multienc.c.

Referenced by a64multi_encode_frame().

#define DITHERSTEPS   8

Definition at line 35 of file a64multienc.c.

Referenced by render_charset().

#define INTERLACED   1

Definition at line 37 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 231 of file a64multienc.c.

Referenced by a64multi_encode_frame().

static av_cold int a64multi_close_encoder ( AVCodecContext avctx)
static

Definition at line 165 of file a64multienc.c.

static int a64multi_encode_frame ( AVCodecContext avctx,
AVPacket pkt,
const AVFrame pict,
int *  got_packet 
)
static

Definition at line 246 of file a64multienc.c.

static av_cold int a64multi_init_encoder ( AVCodecContext avctx)
static

Definition at line 176 of file a64multienc.c.

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

Definition at line 73 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 47 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 AVPixelFormat[]) {AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE},
.long_name = NULL_IF_CONFIG_SMALL("Multicolor charset for Commodore 64, extended with 5th color (colram)"),
.capabilities = CODEC_CAP_DELAY,
}
struct A64Context A64Context
static av_cold int a64multi_init_encoder(AVCodecContext *avctx)
Definition: a64multienc.c:176
static int init(AVCodecParserContext *s)
Definition: h264_parser.c:335
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
Definition: internal.h:88
static void close(AVCodecParserContext *s)
Definition: h264_parser.c:326
static int a64multi_encode_frame(AVCodecContext *avctx, AVPacket *pkt, const AVFrame *pict, int *got_packet)
Definition: a64multienc.c:246
Y , 8bpp.
Definition: pixfmt.h:73
static av_cold int a64multi_close_encoder(AVCodecContext *avctx)
Definition: a64multienc.c:165
AVPixelFormat
Pixel format.
Definition: pixfmt.h:63

Definition at line 387 of file a64multienc.c.

AVCodec ff_a64multi_encoder
Initial value:
= {
.name = "a64multi",
.priv_data_size = sizeof(A64Context),
.pix_fmts = (const enum AVPixelFormat[]) {AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE},
.long_name = NULL_IF_CONFIG_SMALL("Multicolor charset for Commodore 64"),
.capabilities = CODEC_CAP_DELAY,
}
struct A64Context A64Context
static av_cold int a64multi_init_encoder(AVCodecContext *avctx)
Definition: a64multienc.c:176
static int init(AVCodecParserContext *s)
Definition: h264_parser.c:335
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
Definition: internal.h:88
static void close(AVCodecParserContext *s)
Definition: h264_parser.c:326
static int a64multi_encode_frame(AVCodecContext *avctx, AVPacket *pkt, const AVFrame *pict, int *got_packet)
Definition: a64multienc.c:246
Y , 8bpp.
Definition: pixfmt.h:73
static av_cold int a64multi_close_encoder(AVCodecContext *avctx)
Definition: a64multienc.c:165
AVPixelFormat
Pixel format.
Definition: pixfmt.h:63

Definition at line 374 of file a64multienc.c.

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

Definition at line 41 of file a64multienc.c.

Referenced by a64multi_init_encoder().