FFmpeg
|
#include "libavutil/avassert.h"
#include "libavutil/common.h"
#include "libavutil/opt.h"
#include "avcodec.h"
#include "encode.h"
#include "internal.h"
#include "put_bits.h"
Go to the source code of this file.
Data Structures | |
struct | RpzaContext |
struct | rgb |
struct | BlockInfo |
Macros | |
#define | SQR(x) ((x) * (x)) |
#define | GET_CHAN(color, chan) (((color) >> ((chan) * 5) & 0x1F) * 8) |
#define | R(color) GET_CHAN(color, RED) |
#define | G(color) GET_CHAN(color, GREEN) |
#define | B(color) GET_CHAN(color, BLUE) |
#define | OFFSET(x) offsetof(RpzaContext, x) |
#define | VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM |
Enumerations | |
enum | channel_offset { RED = 2, GREEN = 1, BLUE = 0 } |
Functions | |
static void | get_colors (uint8_t *min, uint8_t *max, uint8_t color4[4][3]) |
static int | get_block_info (BlockInfo *bi, int block) |
static uint16_t | rgb24_to_rgb555 (uint8_t *rgb24) |
static int | diff_colors (uint8_t *colorA, uint8_t *colorB) |
static int | max_component_diff (uint16_t *colorA, uint16_t *colorB) |
static void | get_max_component_diff (BlockInfo *bi, uint16_t *block_ptr, uint8_t *min, uint8_t *max, channel_offset *chan) |
static int | compare_blocks (uint16_t *block1, uint16_t *block2, BlockInfo *bi, int thresh) |
static int | leastsquares (uint16_t *block_ptr, BlockInfo *bi, channel_offset xchannel, channel_offset ychannel, double *slope, double *y_intercept, double *correlation_coef) |
static int | calc_lsq_max_fit_error (uint16_t *block_ptr, BlockInfo *bi, int min, int max, int tmp_min, int tmp_max, channel_offset xchannel, channel_offset ychannel) |
static int | match_color (uint16_t *color, uint8_t colors[4][3]) |
static int | encode_four_color_block (uint8_t *min_color, uint8_t *max_color, PutBitContext *pb, uint16_t *block_ptr, BlockInfo *bi) |
static void | update_block_in_prev_frame (const uint16_t *src_pixels, uint16_t *dest_pixels, const BlockInfo *bi, int block_counter) |
static int | update_block_stats (RpzaContext *s, BlockInfo *bi, uint16_t *block, uint8_t min_color[3], uint8_t max_color[3], int *total_rgb, int *total_pixels, uint8_t avg_color[3], int first_block) |
static void | rpza_encode_stream (RpzaContext *s, const AVFrame *pict) |
static int | rpza_encode_init (AVCodecContext *avctx) |
static int | rpza_encode_frame (AVCodecContext *avctx, AVPacket *pkt, const AVFrame *frame, int *got_packet) |
static int | rpza_encode_end (AVCodecContext *avctx) |
Variables | |
static const AVOption | options [] |
static const AVClass | rpza_class |
const AVCodec | ff_rpza_encoder |
QT RPZA Video Encoder by Todd Kirby doubl and David Adler esho t@pac bell .net
Definition in file rpzaenc.c.
#define OFFSET | ( | x | ) | offsetof(RpzaContext, x) |
#define VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM |
enum channel_offset |
|
static |
Definition at line 87 of file rpzaenc.c.
Referenced by encode_four_color_block().
Definition at line 116 of file rpzaenc.c.
Referenced by rpza_encode_stream().
|
static |
Definition at line 138 of file rpzaenc.c.
Referenced by encode_four_color_block(), and rpza_encode_stream().
|
static |
Definition at line 157 of file rpzaenc.c.
Referenced by match_color().
|
static |
Definition at line 171 of file rpzaenc.c.
Referenced by compare_blocks().
|
static |
Definition at line 195 of file rpzaenc.c.
Referenced by rpza_encode_stream().
|
static |
Definition at line 245 of file rpzaenc.c.
Referenced by rpza_encode_stream().
|
static |
Definition at line 265 of file rpzaenc.c.
Referenced by rpza_encode_stream().
|
static |
Definition at line 318 of file rpzaenc.c.
Referenced by rpza_encode_stream().
|
static |
Definition at line 359 of file rpzaenc.c.
Referenced by encode_four_color_block().
|
static |
Definition at line 386 of file rpzaenc.c.
Referenced by rpza_encode_stream().
|
static |
Definition at line 418 of file rpzaenc.c.
Referenced by rpza_encode_stream().
|
static |
Definition at line 444 of file rpzaenc.c.
Referenced by rpza_encode_stream().
|
static |
Definition at line 548 of file rpzaenc.c.
Referenced by rpza_encode_frame().
|
static |
|
static |
|
static |
|
static |
|
static |
const AVCodec ff_rpza_encoder |