#include "avcodec.h"
#include "dsputil.h"
#include "mpegvideo.h"
#include "dnxhdenc.h"
Go to the source code of this file.
Defines | |
#define | RC_VARIANCE 1 |
#define | LAMBDA_FRAC_BITS 10 |
Functions | |
int | dct_quantize_c (MpegEncContext *s, DCTELEM *block, int n, int qscale, int *overflow) |
static av_always_inline void | dnxhd_get_pixels_8x4 (DCTELEM *restrict block, const uint8_t *pixels, int line_size) |
static int | dnxhd_init_vlc (DNXHDEncContext *ctx) |
static int | dnxhd_init_qmat (DNXHDEncContext *ctx, int lbias, int cbias) |
static int | dnxhd_init_rc (DNXHDEncContext *ctx) |
static int | dnxhd_encode_init (AVCodecContext *avctx) |
static int | dnxhd_write_header (AVCodecContext *avctx, uint8_t *buf) |
static av_always_inline void | dnxhd_encode_dc (DNXHDEncContext *ctx, int diff) |
static av_always_inline void | dnxhd_encode_block (DNXHDEncContext *ctx, DCTELEM *block, int last_index, int n) |
static av_always_inline void | dnxhd_unquantize_c (DNXHDEncContext *ctx, DCTELEM *block, int n, int qscale, int last_index) |
static av_always_inline int | dnxhd_ssd_block (DCTELEM *qblock, DCTELEM *block) |
static av_always_inline int | dnxhd_calc_ac_bits (DNXHDEncContext *ctx, DCTELEM *block, int last_index) |
static av_always_inline void | dnxhd_get_blocks (DNXHDEncContext *ctx, int mb_x, int mb_y) |
static av_always_inline int | dnxhd_switch_matrix (DNXHDEncContext *ctx, int i) |
static int | dnxhd_calc_bits_thread (AVCodecContext *avctx, void *arg) |
static int | dnxhd_encode_thread (AVCodecContext *avctx, void *arg) |
static void | dnxhd_setup_threads_slices (DNXHDEncContext *ctx, uint8_t *buf) |
static int | dnxhd_mb_var_thread (AVCodecContext *avctx, void *arg) |
static int | dnxhd_encode_rdo (AVCodecContext *avctx, DNXHDEncContext *ctx) |
static int | dnxhd_find_qscale (DNXHDEncContext *ctx) |
static int | dnxhd_rc_cmp (const void *a, const void *b) |
static int | dnxhd_encode_fast (AVCodecContext *avctx, DNXHDEncContext *ctx) |
static void | dnxhd_load_picture (DNXHDEncContext *ctx, const AVFrame *frame) |
static int | dnxhd_encode_picture (AVCodecContext *avctx, unsigned char *buf, int buf_size, const void *data) |
static int | dnxhd_encode_end (AVCodecContext *avctx) |
Variables | |
AVCodec | dnxhd_encoder |
#define LAMBDA_FRAC_BITS 10 |
#define RC_VARIANCE 1 |
Definition at line 25 of file dnxhdenc.c.
Referenced by dnxhd_calc_bits_thread(), and dnxhd_encode_fast().
int dct_quantize_c | ( | MpegEncContext * | s, | |
DCTELEM * | block, | |||
int | n, | |||
int | qscale, | |||
int * | overflow | |||
) |
Definition at line 3638 of file mpegvideo_enc.c.
Referenced by dnxhd_encode_init(), encode_mb_internal(), and MPV_encode_init().
static av_always_inline int dnxhd_calc_ac_bits | ( | DNXHDEncContext * | ctx, | |
DCTELEM * | block, | |||
int | last_index | |||
) | [static] |
static int dnxhd_calc_bits_thread | ( | AVCodecContext * | avctx, | |
void * | arg | |||
) | [static] |
Definition at line 398 of file dnxhdenc.c.
Referenced by dnxhd_encode_rdo(), and dnxhd_find_qscale().
static av_always_inline void dnxhd_encode_block | ( | DNXHDEncContext * | ctx, | |
DCTELEM * | block, | |||
int | last_index, | |||
int | n | |||
) | [static] |
static av_always_inline void dnxhd_encode_dc | ( | DNXHDEncContext * | ctx, | |
int | diff | |||
) | [static] |
static int dnxhd_encode_end | ( | AVCodecContext * | avctx | ) | [static] |
Definition at line 771 of file dnxhdenc.c.
static int dnxhd_encode_fast | ( | AVCodecContext * | avctx, | |
DNXHDEncContext * | ctx | |||
) | [static] |
static int dnxhd_encode_init | ( | AVCodecContext * | avctx | ) | [static] |
Definition at line 157 of file dnxhdenc.c.
static int dnxhd_encode_picture | ( | AVCodecContext * | avctx, | |
unsigned char * | buf, | |||
int | buf_size, | |||
const void * | data | |||
) | [static] |
Definition at line 714 of file dnxhdenc.c.
static int dnxhd_encode_rdo | ( | AVCodecContext * | avctx, | |
DNXHDEncContext * | ctx | |||
) | [static] |
static int dnxhd_encode_thread | ( | AVCodecContext * | avctx, | |
void * | arg | |||
) | [static] |
static int dnxhd_find_qscale | ( | DNXHDEncContext * | ctx | ) | [static] |
static av_always_inline void dnxhd_get_blocks | ( | DNXHDEncContext * | ctx, | |
int | mb_x, | |||
int | mb_y | |||
) | [static] |
Definition at line 355 of file dnxhdenc.c.
Referenced by dnxhd_calc_bits_thread(), and dnxhd_encode_thread().
static av_always_inline void dnxhd_get_pixels_8x4 | ( | DCTELEM *restrict | block, | |
const uint8_t * | pixels, | |||
int | line_size | |||
) | [static] |
static int dnxhd_init_qmat | ( | DNXHDEncContext * | ctx, | |
int | lbias, | |||
int | cbias | |||
) | [static] |
static int dnxhd_init_rc | ( | DNXHDEncContext * | ctx | ) | [static] |
static int dnxhd_init_vlc | ( | DNXHDEncContext * | ctx | ) | [static] |
Definition at line 53 of file dnxhdenc.c.
static void dnxhd_load_picture | ( | DNXHDEncContext * | ctx, | |
const AVFrame * | frame | |||
) | [static] |
static int dnxhd_mb_var_thread | ( | AVCodecContext * | avctx, | |
void * | arg | |||
) | [static] |
static int dnxhd_rc_cmp | ( | const void * | a, | |
const void * | b | |||
) | [static] |
static void dnxhd_setup_threads_slices | ( | DNXHDEncContext * | ctx, | |
uint8_t * | buf | |||
) | [static] |
static av_always_inline int dnxhd_switch_matrix | ( | DNXHDEncContext * | ctx, | |
int | i | |||
) | [static] |
Definition at line 385 of file dnxhdenc.c.
Referenced by dnxhd_calc_bits_thread(), and dnxhd_encode_thread().
static av_always_inline void dnxhd_unquantize_c | ( | DNXHDEncContext * | ctx, | |
DCTELEM * | block, | |||
int | n, | |||
int | qscale, | |||
int | last_index | |||
) | [static] |
static int dnxhd_write_header | ( | AVCodecContext * | avctx, | |
uint8_t * | buf | |||
) | [static] |
Initial value:
{ "dnxhd", CODEC_TYPE_VIDEO, CODEC_ID_DNXHD, sizeof(DNXHDEncContext), dnxhd_encode_init, dnxhd_encode_picture, dnxhd_encode_end, .pix_fmts = (enum PixelFormat[]){PIX_FMT_YUV422P, PIX_FMT_NONE}, .long_name = NULL_IF_CONFIG_SMALL("VC3/DNxHD"), }
Definition at line 799 of file dnxhdenc.c.