#include "libavutil/opt.h"#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 | VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM |
| #define | LAMBDA_FRAC_BITS 10 |
| #define | BUCKET_BITS 8 |
| #define | RADIX_PASSES 4 |
| #define | NBUCKETS (1 << BUCKET_BITS) |
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, int jobnr, int threadnr) |
| static int | dnxhd_encode_thread (AVCodecContext *avctx, void *arg, int jobnr, int threadnr) |
| static void | dnxhd_setup_threads_slices (DNXHDEncContext *ctx) |
| static int | dnxhd_mb_var_thread (AVCodecContext *avctx, void *arg, int jobnr, int threadnr) |
| static int | dnxhd_encode_rdo (AVCodecContext *avctx, DNXHDEncContext *ctx) |
| static int | dnxhd_find_qscale (DNXHDEncContext *ctx) |
| static int | get_bucket (int value, int shift) |
| static void | radix_count (const RCCMPEntry *data, int size, int buckets[RADIX_PASSES][NBUCKETS]) |
| static void | radix_sort_pass (RCCMPEntry *dst, const RCCMPEntry *data, int size, int buckets[NBUCKETS], int pass) |
| static void | radix_sort (RCCMPEntry *data, int size) |
| 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, void *data) |
| static int | dnxhd_encode_end (AVCodecContext *avctx) |
Variables | |
| static const AVOption | options [] |
| class { | |
| dnxhd | |
| av_default_item_name | |
| options | |
| }; | |
| AVCodec | ff_dnxhd_encoder |
| #define BUCKET_BITS 8 |
| #define LAMBDA_FRAC_BITS 10 |
| #define NBUCKETS (1 << BUCKET_BITS) |
| #define RADIX_PASSES 4 |
| #define RC_VARIANCE 1 |
Definition at line 25 of file dnxhdenc.c.
Referenced by dnxhd_calc_bits_thread(), and dnxhd_encode_fast().
| #define VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM |
Definition at line 33 of file dnxhdenc.c.
| int dct_quantize_c | ( | MpegEncContext * | s, | |
| DCTELEM * | block, | |||
| int | n, | |||
| int | qscale, | |||
| int * | overflow | |||
| ) |
Definition at line 3693 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, | |||
| int | jobnr, | |||
| int | threadnr | |||
| ) | [static] |
Definition at line 409 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 835 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 166 of file dnxhdenc.c.
| static int dnxhd_encode_picture | ( | AVCodecContext * | avctx, | |
| unsigned char * | buf, | |||
| int | buf_size, | |||
| void * | data | |||
| ) | [static] |
Definition at line 774 of file dnxhdenc.c.
| static int dnxhd_encode_rdo | ( | AVCodecContext * | avctx, | |
| DNXHDEncContext * | ctx | |||
| ) | [static] |
| static int dnxhd_encode_thread | ( | AVCodecContext * | avctx, | |
| void * | arg, | |||
| int | jobnr, | |||
| int | threadnr | |||
| ) | [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 366 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 62 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, | |||
| int | jobnr, | |||
| int | threadnr | |||
| ) | [static] |
| static void dnxhd_setup_threads_slices | ( | DNXHDEncContext * | ctx | ) | [static] |
| static av_always_inline int dnxhd_switch_matrix | ( | DNXHDEncContext * | ctx, | |
| int | i | |||
| ) | [static] |
Definition at line 396 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] |
| static int get_bucket | ( | int | value, | |
| int | shift | |||
| ) | [inline, static] |
| static void radix_count | ( | const RCCMPEntry * | data, | |
| int | size, | |||
| int | buckets[RADIX_PASSES][NBUCKETS] | |||
| ) | [static] |
| static void radix_sort | ( | RCCMPEntry * | data, | |
| int | size | |||
| ) | [static] |
| static void radix_sort_pass | ( | RCCMPEntry * | dst, | |
| const RCCMPEntry * | data, | |||
| int | size, | |||
| int | buckets[NBUCKETS], | |||
| int | pass | |||
| ) | [static] |
const { ... } [static] |
| av_default_item_name |
Definition at line 39 of file dnxhdenc.c.
Definition at line 39 of file dnxhdenc.c.
Referenced by av_register_all(), and avcodec_register_all().
Initial value:
{
"dnxhd",
AVMEDIA_TYPE_VIDEO,
CODEC_ID_DNXHD,
sizeof(DNXHDEncContext),
dnxhd_encode_init,
dnxhd_encode_picture,
dnxhd_encode_end,
.capabilities = CODEC_CAP_SLICE_THREADS,
.pix_fmts = (const enum PixelFormat[]){PIX_FMT_YUV422P, PIX_FMT_NONE},
.long_name = NULL_IF_CONFIG_SMALL("VC3/DNxHD"),
.priv_class = &class,
}
Definition at line 864 of file dnxhdenc.c.
| options | ( | ) | [static] |
Initial value:
{
{"nitris_compat", "encode with Avid Nitris compatibility", 0x42, FF_OPT_TYPE_INT, {.dbl = 0}, 0, 1, VE},
{NULL}
}
Definition at line 35 of file dnxhdenc.c.
1.5.8