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, const 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

◆ DITHERSTEPS

#define DITHERSTEPS   8

Definition at line 35 of file a64multienc.c.

Referenced by render_charset().

◆ CHARSET_CHARS

#define CHARSET_CHARS   256

Definition at line 36 of file a64multienc.c.

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

◆ INTERLACED

#define INTERLACED   1

Definition at line 37 of file a64multienc.c.

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

◆ CROP_SCREENS

#define CROP_SCREENS   1

Definition at line 38 of file a64multienc.c.

Referenced by a64multi_encode_frame().

Function Documentation

◆ to_meta_with_crop()

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

Definition at line 47 of file a64multienc.c.

Referenced by a64multi_encode_frame().

◆ render_charset()

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

Definition at line 74 of file a64multienc.c.

Referenced by a64multi_encode_frame().

◆ a64multi_close_encoder()

static av_cold int a64multi_close_encoder ( AVCodecContext avctx)
static

Definition at line 166 of file a64multienc.c.

◆ a64multi_encode_init()

static av_cold int a64multi_encode_init ( AVCodecContext avctx)
static

Definition at line 177 of file a64multienc.c.

◆ a64_compress_colram()

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

Definition at line 234 of file a64multienc.c.

Referenced by a64multi_encode_frame().

◆ a64multi_encode_frame()

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

Definition at line 249 of file a64multienc.c.

Variable Documentation

◆ mc_colors

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

Definition at line 41 of file a64multienc.c.

Referenced by a64multi_encode_init().

◆ ff_a64multi_encoder

AVCodec ff_a64multi_encoder
Initial value:
= {
.name = "a64multi",
.long_name = NULL_IF_CONFIG_SMALL("Multicolor charset for Commodore 64"),
.priv_data_size = sizeof(A64Context),
.capabilities = AV_CODEC_CAP_DELAY,
}
#define AV_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:863
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
Definition: internal.h:148
static int a64multi_encode_frame(AVCodecContext *avctx, AVPacket *pkt, const AVFrame *pict, int *got_packet)
Definition: a64multienc.c:249
static enum AVPixelFormat pix_fmts[]
Definition: libkvazaar.c:257
Y , 8bpp.
Definition: pixfmt.h:67
static av_cold int a64multi_encode_init(AVCodecContext *avctx)
Definition: a64multienc.c:177
static av_cold int init(AVCodecParserContext *s)
Definition: h264_parser.c:582
static av_cold int a64multi_close_encoder(AVCodecContext *avctx)
Definition: a64multienc.c:166
AVPixelFormat
Pixel format.
Definition: pixfmt.h:57

Definition at line 385 of file a64multienc.c.

◆ ff_a64multi5_encoder

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),
.capabilities = AV_CODEC_CAP_DELAY,
}
#define AV_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:863
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
Definition: internal.h:148
static int a64multi_encode_frame(AVCodecContext *avctx, AVPacket *pkt, const AVFrame *pict, int *got_packet)
Definition: a64multienc.c:249
static enum AVPixelFormat pix_fmts[]
Definition: libkvazaar.c:257
Y , 8bpp.
Definition: pixfmt.h:67
static av_cold int a64multi_encode_init(AVCodecContext *avctx)
Definition: a64multienc.c:177
static av_cold int init(AVCodecParserContext *s)
Definition: h264_parser.c:582
static av_cold int a64multi_close_encoder(AVCodecContext *avctx)
Definition: a64multienc.c:166
AVPixelFormat
Pixel format.
Definition: pixfmt.h:57

Definition at line 398 of file a64multienc.c.