#include "libavutil/intmath.h"
#include "libavutil/log.h"
#include "libavutil/opt.h"
#include "avcodec.h"
#include "internal.h"
#include "dsputil.h"
#include "dwt.h"
#include "snow.h"
#include "rangecoder.h"
#include "mathops.h"
#include "mpegvideo.h"
#include "h263.h"
#include <assert.h>
Go to the source code of this file.
Defines | |
#define | QUANTIZE2 0 |
#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(SnowContext, x) |
#define | VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM |
Functions | |
static av_cold int | encode_init (AVCodecContext *avctx) |
static int | pix_sum (uint8_t *pix, int line_size, int w) |
static int | pix_norm1 (uint8_t *pix, int line_size, int w) |
static int | encode_q_branch (SnowContext *s, int level, int x, int y) |
static void | encode_q_branch2 (SnowContext *s, int level, int x, int y) |
static int | get_dc (SnowContext *s, 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 (SnowContext *s, int mb_x, int mb_y, int plane_index, const uint8_t *obmc_edged) |
static int | get_4block_rd (SnowContext *s, 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 (SnowContext *s, int mb_x, int mb_y, int p[3], int intra, const uint8_t *obmc_edged, int *best_rd) |
static av_always_inline int | check_block_inter (SnowContext *s, int mb_x, int mb_y, int p0, int p1, const uint8_t *obmc_edged, int *best_rd) |
static av_always_inline int | check_4block_inter (SnowContext *s, int mb_x, int mb_y, int p0, int p1, int ref, int *best_rd) |
static void | iterative_me (SnowContext *s) |
static void | encode_blocks (SnowContext *s, 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 (SnowContext *s, 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 |
AVCodec | ff_snow_encoder |
#define OFFSET | ( | x | ) | offsetof(SnowContext, x) |
#define QUANTIZE2 0 |
#define VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM |
static void calculate_visual_weight | ( | SnowContext * | s, | |
Plane * | p | |||
) | [static] |
static av_always_inline int check_4block_inter | ( | SnowContext * | s, | |
int | mb_x, | |||
int | mb_y, | |||
int | p0, | |||
int | p1, | |||
int | ref, | |||
int * | best_rd | |||
) | [static] |
static av_always_inline int check_block | ( | SnowContext * | s, | |
int | mb_x, | |||
int | mb_y, | |||
int | p[3], | |||
int | intra, | |||
const uint8_t * | obmc_edged, | |||
int * | best_rd | |||
) | [static] |
static av_always_inline int check_block_inter | ( | SnowContext * | s, | |
int | mb_x, | |||
int | mb_y, | |||
int | p0, | |||
int | p1, | |||
const uint8_t * | obmc_edged, | |||
int * | best_rd | |||
) | [static] |
static void correlate | ( | SnowContext * | s, | |
SubBand * | b, | |||
IDWTELEM * | src, | |||
int | stride, | |||
int | inverse, | |||
int | use_median | |||
) | [static] |
static void decorrelate | ( | SnowContext * | s, | |
SubBand * | b, | |||
IDWTELEM * | src, | |||
int | stride, | |||
int | inverse, | |||
int | use_median | |||
) | [static] |
static void dequantize | ( | SnowContext * | s, | |
SubBand * | b, | |||
IDWTELEM * | src, | |||
int | stride | |||
) | [static] |
static void encode_blocks | ( | SnowContext * | s, | |
int | search | |||
) | [static] |
static av_cold int encode_end | ( | AVCodecContext * | avctx | ) | [static] |
static int encode_frame | ( | AVCodecContext * | avctx, | |
AVPacket * | pkt, | |||
const AVFrame * | pict, | |||
int * | got_packet | |||
) | [static] |
static void encode_header | ( | SnowContext * | s | ) | [static] |
static av_cold int encode_init | ( | AVCodecContext * | avctx | ) | [static] |
static int encode_q_branch | ( | SnowContext * | s, | |
int | level, | |||
int | x, | |||
int | y | |||
) | [static] |
static void encode_q_branch2 | ( | SnowContext * | s, | |
int | level, | |||
int | x, | |||
int | y | |||
) | [static] |
static void encode_qlogs | ( | SnowContext * | s | ) | [static] |
static int encode_subband | ( | SnowContext * | s, | |
SubBand * | b, | |||
const IDWTELEM * | src, | |||
const IDWTELEM * | parent, | |||
int | stride, | |||
int | orientation | |||
) | [static] |
static int encode_subband_c0run | ( | SnowContext * | s, | |
SubBand * | b, | |||
const IDWTELEM * | src, | |||
const IDWTELEM * | parent, | |||
int | stride, | |||
int | orientation | |||
) | [static] |
static int get_4block_rd | ( | SnowContext * | s, | |
int | mb_x, | |||
int | mb_y, | |||
int | plane_index | |||
) | [static] |
static int get_block_bits | ( | SnowContext * | s, | |
int | x, | |||
int | y, | |||
int | w | |||
) | [inline, static] |
static int get_block_rd | ( | SnowContext * | s, | |
int | mb_x, | |||
int | mb_y, | |||
int | plane_index, | |||
const uint8_t * | obmc_edged | |||
) | [static] |
static int get_dc | ( | SnowContext * | s, | |
int | mb_x, | |||
int | mb_y, | |||
int | plane_index | |||
) | [static] |
static void iterative_me | ( | SnowContext * | s | ) | [static] |
static int pix_norm1 | ( | uint8_t * | pix, | |
int | line_size, | |||
int | w | |||
) | [static] |
static int pix_sum | ( | uint8_t * | pix, | |
int | line_size, | |||
int | w | |||
) | [static] |
static int qscale2qlog | ( | int | qscale | ) | [static] |
< 64 > 60
Definition at line 1521 of file snowenc.c.
Referenced by encode_frame(), and ratecontrol_1pass().
static void quantize | ( | SnowContext * | s, | |
SubBand * | b, | |||
IDWTELEM * | dst, | |||
DWTELEM * | src, | |||
int | stride, | |||
int | bias | |||
) | [static] |
static int ratecontrol_1pass | ( | SnowContext * | s, | |
AVFrame * | pict | |||
) | [static] |
static void update_last_header_values | ( | SnowContext * | s | ) | [static] |
Initial value:
{ .name = "snow", .type = AVMEDIA_TYPE_VIDEO, .id = CODEC_ID_SNOW, .priv_data_size = sizeof(SnowContext), .init = encode_init, .encode2 = encode_frame, .close = encode_end, .long_name = NULL_IF_CONFIG_SMALL("Snow"), .priv_class = &snowenc_class, }
Initial value:
{ { "memc_only", "Only do ME/MC (I frames -> ref, P frame -> ME+MC).", OFFSET(memc_only), AV_OPT_TYPE_INT, { 0 }, 0, 1, VE }, { "no_bitstream", "Skip final bitstream writeout.", OFFSET(no_bitstream), AV_OPT_TYPE_INT, { 0 }, 0, 1, VE }, { NULL }, }
const AVClass snowenc_class [static] |
Initial value:
{ .class_name = "snow encoder", .item_name = av_default_item_name, .option = options, .version = LIBAVUTIL_VERSION_INT, }