#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, int h) |
| 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, uint8_t(*obmc_edged)[MB_SIZE *2]) |
| 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, uint8_t(*obmc_edged)[MB_SIZE *2], int *best_rd) |
| static av_always_inline int | check_block_inter (SnowContext *s, 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 (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 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 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_dc | ( | SnowContext * | s, | |
| int | mb_x, | |||
| int | mb_y, | |||
| int | plane_index | |||
| ) | [static] |
| static void iterative_me | ( | SnowContext * | s | ) | [static] |
< 64 > 60
Definition at line 1540 of file snowenc.c.
Referenced by encode_frame(), and ratecontrol_1pass().
| 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 = AV_CODEC_ID_SNOW,
.priv_data_size = sizeof(SnowContext),
.init = encode_init,
.encode2 = encode_frame,
.close = encode_end,
.pix_fmts = (const enum PixelFormat[]){
PIX_FMT_YUV420P, PIX_FMT_YUV410P, PIX_FMT_YUV444P,
PIX_FMT_NONE
},
.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, { .i64 = 0 }, 0, 1, VE },
{ "no_bitstream", "Skip final bitstream writeout.", OFFSET(no_bitstream), AV_OPT_TYPE_INT, { .i64 = 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,
}
1.5.8