Libav
Macros | Functions | Variables
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_encode_init (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 DITHERSTEPS   8

Definition at line 35 of file a64multienc.c.

Referenced by render_charset().

#define CHARSET_CHARS   256

Definition at line 36 of file a64multienc.c.

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

#define INTERLACED   1

Definition at line 37 of file a64multienc.c.

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

#define CROP_SCREENS   1

Definition at line 38 of file a64multienc.c.

Referenced by a64multi_encode_frame().

Function Documentation

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().

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 av_cold int a64multi_close_encoder ( AVCodecContext avctx)
static

Definition at line 165 of file a64multienc.c.

Referenced by a64multi_encode_init().

static av_cold int a64multi_encode_init ( AVCodecContext avctx)
static

Definition at line 177 of file a64multienc.c.

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

Definition at line 236 of file a64multienc.c.

Referenced by a64multi_encode_frame().

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

Definition at line 251 of file a64multienc.c.

Variable Documentation

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

Definition at line 41 of file a64multienc.c.

Referenced by a64multi_encode_init().

AVCodec ff_a64multi_encoder
Initial value:
= {
.name = "a64multi",
.long_name = NULL_IF_CONFIG_SMALL("Multicolor charset for Commodore 64"),
.priv_data_size = sizeof(A64Context),
.pix_fmts = (const enum AVPixelFormat[]) {AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE},
.capabilities = CODEC_CAP_DELAY,
}
#define CODEC_CAP_DELAY
Encoder or decoder requires flushing with NULL input at the end in order to give the complete and cor...
Definition: avcodec.h:713
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
Definition: internal.h:150
static void close(AVCodecParserContext *s)
Definition: h264_parser.c:490
static int a64multi_encode_frame(AVCodecContext *avctx, AVPacket *pkt, const AVFrame *pict, int *got_packet)
Definition: a64multienc.c:251
Y , 8bpp.
Definition: pixfmt.h:73
static av_cold int a64multi_encode_init(AVCodecContext *avctx)
Definition: a64multienc.c:177
static av_cold int init(AVCodecParserContext *s)
Definition: h264_parser.c:499
static av_cold int a64multi_close_encoder(AVCodecContext *avctx)
Definition: a64multienc.c:165
AVPixelFormat
Pixel format.
Definition: pixfmt.h:63

Definition at line 379 of file a64multienc.c.

AVCodec ff_a64multi5_encoder
Initial value:
= {
.name = "a64multi5",
.long_name = NULL_IF_CONFIG_SMALL("Multicolor charset for Commodore 64, extended with 5th color (colram)"),
.priv_data_size = sizeof(A64Context),
.pix_fmts = (const enum AVPixelFormat[]) {AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE},
.capabilities = CODEC_CAP_DELAY,
}
#define CODEC_CAP_DELAY
Encoder or decoder requires flushing with NULL input at the end in order to give the complete and cor...
Definition: avcodec.h:713
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
Definition: internal.h:150
static void close(AVCodecParserContext *s)
Definition: h264_parser.c:490
static int a64multi_encode_frame(AVCodecContext *avctx, AVPacket *pkt, const AVFrame *pict, int *got_packet)
Definition: a64multienc.c:251
Y , 8bpp.
Definition: pixfmt.h:73
static av_cold int a64multi_encode_init(AVCodecContext *avctx)
Definition: a64multienc.c:177
static av_cold int init(AVCodecParserContext *s)
Definition: h264_parser.c:499
static av_cold int a64multi_close_encoder(AVCodecContext *avctx)
Definition: a64multienc.c:165
AVPixelFormat
Pixel format.
Definition: pixfmt.h:63

Definition at line 392 of file a64multienc.c.