|
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 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 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 |
1.8.17