|
FFmpeg
|
#include "libavutil/avassert.h"#include "libavutil/common.h"#include "libavutil/opt.h"#include "avcodec.h"#include "codec_internal.h"#include "encode.h"#include "mathops.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)) |
| #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 (const uint8_t *min, const uint8_t *max, uint8_t color4[4][3]) |
| static int | get_block_info (BlockInfo *bi, int block, int prev_frame) |
| static uint16_t | rgb24_to_rgb555 (const uint8_t *rgb24) |
| static int | diff_colors (const uint8_t *colorA, const uint8_t *colorB) |
| static int | max_component_diff (const uint16_t *colorA, const uint16_t *colorB) |
| static void | get_max_component_diff (const BlockInfo *bi, const uint16_t *block_ptr, uint8_t *min, uint8_t *max, channel_offset *chan) |
| static int | compare_blocks (const uint16_t *block1, const uint16_t *block2, const BlockInfo *bi, int thresh) |
| static int | leastsquares (const uint16_t *block_ptr, const BlockInfo *bi, channel_offset xchannel, channel_offset ychannel, int *slope, int *y_intercept, int *correlation_coef) |
| static int | calc_lsq_max_fit_error (const uint16_t *block_ptr, const BlockInfo *bi, int min, int max, int tmp_min, int tmp_max, channel_offset xchannel, channel_offset ychannel) |
| static int | match_color (const uint16_t *color, uint8_t colors[4][3]) |
| static int | encode_four_color_block (const uint8_t *min_color, const uint8_t *max_color, PutBitContext *pb, const uint16_t *block_ptr, const 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, const BlockInfo *bi, const 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 *pict, int *got_packet) |
| static int | rpza_encode_end (AVCodecContext *avctx) |
Variables | |
| static const AVOption | options [] |
| static const AVClass | rpza_class |
| const FFCodec | ff_rpza_encoder |
QT RPZA Video Encoder by Todd Kirby doubleshot@pacbell.net and David Adler
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 89 of file rpzaenc.c.
Referenced by encode_four_color_block().
Definition at line 118 of file rpzaenc.c.
Referenced by rpza_encode_stream().
|
static |
Definition at line 140 of file rpzaenc.c.
Referenced by encode_four_color_block(), and rpza_encode_stream().
|
static |
Definition at line 159 of file rpzaenc.c.
Referenced by match_color().
|
static |
Definition at line 173 of file rpzaenc.c.
Referenced by compare_blocks().
|
static |
Definition at line 197 of file rpzaenc.c.
Referenced by rpza_encode_stream().
|
static |
Definition at line 247 of file rpzaenc.c.
Referenced by rpza_encode_stream().
|
static |
Definition at line 268 of file rpzaenc.c.
Referenced by rpza_encode_stream().
|
static |
Definition at line 321 of file rpzaenc.c.
Referenced by rpza_encode_stream().
|
static |
Definition at line 362 of file rpzaenc.c.
Referenced by encode_four_color_block().
|
static |
Definition at line 389 of file rpzaenc.c.
Referenced by rpza_encode_stream().
|
static |
Definition at line 431 of file rpzaenc.c.
Referenced by rpza_encode_stream().
|
static |
Definition at line 460 of file rpzaenc.c.
Referenced by rpza_encode_stream().
|
static |
Definition at line 564 of file rpzaenc.c.
Referenced by rpza_encode_frame().
|
static |
|
static |
|
static |
|
static |
|
static |
| const FFCodec ff_rpza_encoder |
1.8.17