#include "libavutil/opt.h"
#include "avcodec.h"
#include "dsputil.h"
#include "mpegvideo.h"
#include "mpegvideo_common.h"
#include "dnxhdenc.h"
Go to the source code of this file.
#define BUCKET_BITS 8 |
Definition at line 790 of file dnxhdenc.c.
Referenced by radix_count(), and radix_sort_pass().
#define DNX10BIT_QMAT_SHIFT 18 |
Definition at line 37 of file dnxhdenc.c.
Referenced by dnxhd_10bit_dct_quantize(), and dnxhd_init_qmat().
#define LAMBDA_FRAC_BITS 10 |
Definition at line 45 of file dnxhdenc.c.
Referenced by dnxhd_encode_rdo(), and dnxhd_init_rc().
#define NBUCKETS (1 << BUCKET_BITS) |
Definition at line 792 of file dnxhdenc.c.
Referenced by get_bucket(), and radix_sort().
#define RADIX_PASSES 4 |
Definition at line 791 of file dnxhdenc.c.
Referenced by radix_count(), and radix_sort().
#define RC_VARIANCE 1 |
Definition at line 27 of file dnxhdenc.c.
Referenced by dnxhd_calc_bits_thread(), and dnxhd_encode_fast().
Definition at line 36 of file dnxhdenc.c.
static int dnxhd_10bit_dct_quantize | ( | MpegEncContext * | ctx, |
DCTELEM * | block, | ||
int | n, | ||
int | qscale, | ||
int * | overflow | ||
) | [static] |
Definition at line 76 of file dnxhdenc.c.
Referenced by dnxhd_encode_init().
static av_always_inline void dnxhd_10bit_get_pixels_8x4_sym | ( | DCTELEM *restrict | block, |
const uint8_t * | pixels, | ||
int | line_size | ||
) | [static] |
Definition at line 64 of file dnxhdenc.c.
Referenced by dnxhd_encode_init().
static void dnxhd_8bit_get_pixels_8x4_sym | ( | DCTELEM *restrict | block, |
const uint8_t * | pixels, | ||
int | line_size | ||
) | [static] |
Definition at line 47 of file dnxhdenc.c.
Referenced by dnxhd_encode_init().
static av_always_inline int dnxhd_calc_ac_bits | ( | DNXHDEncContext * | ctx, |
DCTELEM * | block, | ||
int | last_index | ||
) | [static] |
Definition at line 452 of file dnxhdenc.c.
Referenced by dnxhd_calc_bits_thread().
static int dnxhd_calc_bits_thread | ( | AVCodecContext * | avctx, |
void * | arg, | ||
int | jobnr, | ||
int | threadnr | ||
) | [static] |
Definition at line 509 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] |
Definition at line 379 of file dnxhdenc.c.
Referenced by dnxhd_encode_thread().
static av_always_inline void dnxhd_encode_dc | ( | DNXHDEncContext * | ctx, |
int | diff | ||
) | [static] |
Definition at line 366 of file dnxhdenc.c.
Referenced by dnxhd_encode_block().
static int dnxhd_encode_end | ( | AVCodecContext * | avctx | ) | [static] |
Definition at line 964 of file dnxhdenc.c.
static int dnxhd_encode_fast | ( | AVCodecContext * | avctx, |
DNXHDEncContext * | ctx | ||
) | [static] |
Definition at line 846 of file dnxhdenc.c.
Referenced by dnxhd_encode_picture().
static int dnxhd_encode_init | ( | AVCodecContext * | avctx | ) | [static] |
Definition at line 235 of file dnxhdenc.c.
static int dnxhd_encode_picture | ( | AVCodecContext * | avctx, |
unsigned char * | buf, | ||
int | buf_size, | ||
void * | data | ||
) | [static] |
Definition at line 903 of file dnxhdenc.c.
static int dnxhd_encode_rdo | ( | AVCodecContext * | avctx, |
DNXHDEncContext * | ctx | ||
) | [static] |
Definition at line 656 of file dnxhdenc.c.
Referenced by dnxhd_encode_picture().
static int dnxhd_encode_thread | ( | AVCodecContext * | avctx, |
void * | arg, | ||
int | jobnr, | ||
int | threadnr | ||
) | [static] |
Definition at line 560 of file dnxhdenc.c.
Referenced by dnxhd_encode_picture().
static int dnxhd_find_qscale | ( | DNXHDEncContext * | ctx | ) | [static] |
Definition at line 732 of file dnxhdenc.c.
Referenced by dnxhd_encode_fast().
static av_always_inline void dnxhd_get_blocks | ( | DNXHDEncContext * | ctx, |
int | mb_x, | ||
int | mb_y | ||
) | [static] |
Definition at line 469 of file dnxhdenc.c.
Referenced by dnxhd_calc_bits_thread(), and dnxhd_encode_thread().
static int dnxhd_init_qmat | ( | DNXHDEncContext * | ctx, |
int | lbias, | ||
int | cbias | ||
) | [static] |
Definition at line 157 of file dnxhdenc.c.
Referenced by dnxhd_encode_init().
static int dnxhd_init_rc | ( | DNXHDEncContext * | ctx | ) | [static] |
Definition at line 221 of file dnxhdenc.c.
Referenced by dnxhd_encode_init().
static int dnxhd_init_vlc | ( | DNXHDEncContext * | ctx | ) | [static] |
Definition at line 102 of file dnxhdenc.c.
Referenced by dnxhd_encode_init().
static void dnxhd_load_picture | ( | DNXHDEncContext * | ctx, |
const AVFrame * | frame | ||
) | [static] |
Definition at line 883 of file dnxhdenc.c.
Referenced by dnxhd_encode_picture().
static int dnxhd_mb_var_thread | ( | AVCodecContext * | avctx, |
void * | arg, | ||
int | jobnr, | ||
int | threadnr | ||
) | [static] |
Definition at line 613 of file dnxhdenc.c.
Referenced by dnxhd_encode_fast().
static void dnxhd_setup_threads_slices | ( | DNXHDEncContext * | ctx | ) | [static] |
Definition at line 594 of file dnxhdenc.c.
Referenced by dnxhd_encode_picture().
static av_always_inline int dnxhd_ssd_block | ( | DCTELEM * | qblock, |
DCTELEM * | block | ||
) | [static] |
Definition at line 443 of file dnxhdenc.c.
Referenced by dnxhd_calc_bits_thread().
static av_always_inline int dnxhd_switch_matrix | ( | DNXHDEncContext * | ctx, |
int | i | ||
) | [static] |
Definition at line 503 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] |
Definition at line 402 of file dnxhdenc.c.
Referenced by dnxhd_calc_bits_thread().
static int dnxhd_write_header | ( | AVCodecContext * | avctx, |
uint8_t * | buf | ||
) | [static] |
Definition at line 335 of file dnxhdenc.c.
Referenced by dnxhd_encode_picture().
static int get_bucket | ( | int | value, |
int | shift | ||
) | [inline, static] |
Definition at line 794 of file dnxhdenc.c.
Referenced by radix_count(), and radix_sort_pass().
static void radix_count | ( | const RCCMPEntry * | data, |
int | size, | ||
int | buckets[RADIX_PASSES][NBUCKETS] | ||
) | [static] |
Definition at line 801 of file dnxhdenc.c.
Referenced by radix_sort().
static void radix_sort | ( | RCCMPEntry * | data, |
int | size | ||
) | [static] |
Definition at line 832 of file dnxhdenc.c.
Referenced by dnxhd_encode_fast().
static void radix_sort_pass | ( | RCCMPEntry * | dst, |
const RCCMPEntry * | data, | ||
int | size, | ||
int | buckets[NBUCKETS], | ||
int | pass | ||
) | [static] |
Definition at line 821 of file dnxhdenc.c.
Referenced by radix_sort().
const { ... } [static] |
Definition at line 43 of file dnxhdenc.c.
Definition at line 43 of file dnxhdenc.c.
Referenced by av_register_all(), and avcodec_register_all().
{ .name = "dnxhd", .type = AVMEDIA_TYPE_VIDEO, .id = CODEC_ID_DNXHD, .priv_data_size = sizeof(DNXHDEncContext), .init = dnxhd_encode_init, .encode = dnxhd_encode_picture, .close = dnxhd_encode_end, .capabilities = CODEC_CAP_SLICE_THREADS, .pix_fmts = (const enum PixelFormat[]){PIX_FMT_YUV422P, PIX_FMT_YUV422P10, PIX_FMT_NONE}, .long_name = NULL_IF_CONFIG_SMALL("VC3/DNxHD"), .priv_class = &class, }
Definition at line 993 of file dnxhdenc.c.
options [static] |
{ {"nitris_compat", "encode with Avid Nitris compatibility", 0x42, AV_OPT_TYPE_INT, {.dbl = 0}, 0, 1, VE}, {NULL} }
Definition at line 39 of file dnxhdenc.c.