FFmpeg
|
#include "libavutil/emms.h"
#include "libavutil/intmath.h"
#include "libavutil/libm.h"
#include "libavutil/log.h"
#include "libavutil/mem.h"
#include "libavutil/opt.h"
#include "libavutil/pixdesc.h"
#include "avcodec.h"
#include "codec_internal.h"
#include "encode.h"
#include "internal.h"
#include "me_cmp.h"
#include "packet_internal.h"
#include "qpeldsp.h"
#include "snow_dwt.h"
#include "snow.h"
#include "rangecoder.h"
#include "mathops.h"
#include "mpegvideo.h"
#include "h263enc.h"
Go to the source code of this file.
Data Structures | |
struct | SnowEncContext |
Macros | |
#define | FF_ME_ITER 3 |
#define | ME_CACHE_SIZE 1024 |
#define | mcf(dx, dy) |
#define | P_LEFT P[1] |
#define | P_TOP P[2] |
#define | P_TOPRIGHT P[3] |
#define | P_MEDIAN P[4] |
#define | P_MV1 P[9] |
#define | FLAG_QPEL 1 |
#define | OFFSET(x) offsetof(SnowEncContext, x) |
#define | VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM |
Functions | |
static void | init_ref (MotionEstContext *c, const uint8_t *const src[3], uint8_t *const ref[3], uint8_t *const ref2[3], int x, int y, int ref_index) |
static void | put_symbol (RangeCoder *c, uint8_t *state, int v, int is_signed) |
static void | put_symbol2 (RangeCoder *c, uint8_t *state, int v, int log2) |
static int | get_encode_buffer (SnowContext *s, AVFrame *frame) |
static av_cold int | encode_init (AVCodecContext *avctx) |
static int | pix_sum (const uint8_t *pix, int line_size, int w, int h) |
static int | pix_norm1 (const uint8_t *pix, int line_size, int w) |
static int | get_penalty_factor (int lambda, int lambda2, int type) |
static int | encode_q_branch (SnowEncContext *enc, int level, int x, int y) |
static void | encode_q_branch2 (SnowContext *s, int level, int x, int y) |
static int | get_dc (SnowEncContext *enc, int mb_x, int mb_y, int plane_index) |
static int | get_block_bits (SnowContext *s, int x, int y, int w) |
static int | get_block_rd (SnowEncContext *enc, int mb_x, int mb_y, int plane_index, uint8_t(*obmc_edged)[MB_SIZE *2]) |
static int | get_4block_rd (SnowEncContext *enc, int mb_x, int mb_y, int plane_index) |
static int | encode_subband_c0run (SnowContext *s, SubBand *b, const IDWTELEM *src, const IDWTELEM *parent, int stride, int orientation) |
static int | encode_subband (SnowContext *s, SubBand *b, const IDWTELEM *src, const IDWTELEM *parent, int stride, int orientation) |
static av_always_inline int | check_block_intra (SnowEncContext *enc, int mb_x, int mb_y, int p[3], uint8_t(*obmc_edged)[MB_SIZE *2], int *best_rd) |
static av_always_inline int | check_block_inter (SnowEncContext *enc, int mb_x, int mb_y, int p0, int p1, uint8_t(*obmc_edged)[MB_SIZE *2], int *best_rd) |
static av_always_inline int | check_4block_inter (SnowEncContext *enc, int mb_x, int mb_y, int p0, int p1, int ref, int *best_rd) |
static void | iterative_me (SnowEncContext *enc) |
static void | encode_blocks (SnowEncContext *enc, int search) |
static void | quantize (SnowContext *s, SubBand *b, IDWTELEM *dst, DWTELEM *src, int stride, int bias) |
static void | dequantize (SnowContext *s, SubBand *b, IDWTELEM *src, int stride) |
static void | decorrelate (SnowContext *s, SubBand *b, IDWTELEM *src, int stride, int inverse, int use_median) |
static void | correlate (SnowContext *s, SubBand *b, IDWTELEM *src, int stride, int inverse, int use_median) |
static void | encode_qlogs (SnowContext *s) |
static void | encode_header (SnowContext *s) |
static void | update_last_header_values (SnowContext *s) |
static int | qscale2qlog (int qscale) |
static int | ratecontrol_1pass (SnowEncContext *enc, AVFrame *pict) |
static void | calculate_visual_weight (SnowContext *s, Plane *p) |
static int | encode_frame (AVCodecContext *avctx, AVPacket *pkt, const AVFrame *pict, int *got_packet) |
static av_cold int | encode_end (AVCodecContext *avctx) |
Variables | |
static const AVOption | options [] |
static const AVClass | snowenc_class |
const FFCodec | ff_snow_encoder |
#define mcf | ( | dx, | |
dy | |||
) |
#define OFFSET | ( | x | ) | offsetof(SnowEncContext, x) |
#define VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM |
|
static |
Definition at line 73 of file snowenc.c.
Referenced by encode_q_branch().
|
inlinestatic |
Definition at line 90 of file snowenc.c.
Referenced by encode_header(), encode_q_branch(), encode_q_branch2(), and encode_qlogs().
|
inlinestatic |
Definition at line 118 of file snowenc.c.
Referenced by encode_subband_c0run().
|
static |
Definition at line 137 of file snowenc.c.
Referenced by encode_frame(), and encode_init().
|
static |
|
static |
Definition at line 305 of file snowenc.c.
Referenced by encode_q_branch().
|
static |
Definition at line 321 of file snowenc.c.
Referenced by encode_q_branch().
|
inlinestatic |
Definition at line 337 of file snowenc.c.
Referenced by encode_q_branch(), get_4block_rd(), and get_block_rd().
|
static |
Definition at line 369 of file snowenc.c.
Referenced by encode_blocks(), and iterative_me().
|
static |
Definition at line 605 of file snowenc.c.
Referenced by encode_blocks().
|
static |
Definition at line 661 of file snowenc.c.
Referenced by iterative_me().
|
inlinestatic |
Definition at line 721 of file snowenc.c.
Referenced by get_4block_rd(), and get_block_rd().
|
static |
Definition at line 759 of file snowenc.c.
Referenced by check_block_inter(), and check_block_intra().
|
static |
Definition at line 863 of file snowenc.c.
Referenced by check_4block_inter(), and iterative_me().
|
static |
Definition at line 934 of file snowenc.c.
Referenced by encode_subband().
|
static |
Definition at line 1054 of file snowenc.c.
Referenced by encode_frame().
|
static |
Definition at line 1061 of file snowenc.c.
Referenced by iterative_me().
|
static |
Definition at line 1092 of file snowenc.c.
Referenced by iterative_me().
|
static |
Definition at line 1128 of file snowenc.c.
Referenced by iterative_me().
|
static |
Definition at line 1177 of file snowenc.c.
Referenced by encode_blocks().
|
static |
Definition at line 1406 of file snowenc.c.
Referenced by encode_frame().
|
static |
Definition at line 1430 of file snowenc.c.
Referenced by encode_frame().
|
static |
Definition at line 1491 of file snowenc.c.
Referenced by encode_frame().
|
static |
Definition at line 1513 of file snowenc.c.
Referenced by decode_bgr_1(), do_decode(), encode_frame(), osq_decode_block(), and ratecontrol_1pass().
|
static |
Definition at line 1537 of file snowenc.c.
Referenced by encode_frame().
|
static |
Definition at line 1561 of file snowenc.c.
Referenced by encode_header().
|
static |
Definition at line 1574 of file snowenc.c.
Referenced by encode_frame().
|
static |
Definition at line 1647 of file snowenc.c.
Referenced by encode_frame().
|
static |
< 64 > 60
Definition at line 1667 of file snowenc.c.
Referenced by encode_frame(), and ratecontrol_1pass().
|
static |
Definition at line 1672 of file snowenc.c.
Referenced by encode_frame().
|
static |
Definition at line 1725 of file snowenc.c.
Referenced by encode_frame().
|
static |
|
static |
|
static |
|
static |
const FFCodec ff_snow_encoder |