#include <vvenc/vvenc.h>
#include <vvenc/vvencCfg.h>
#include <vvenc/version.h>
#include "libavutil/avstring.h"
#include "libavutil/avutil.h"
#include "libavutil/common.h"
#include "libavutil/frame.h"
#include "libavutil/imgutils.h"
#include "libavutil/log.h"
#include "libavutil/mem.h"
#include "libavutil/pixdesc.h"
#include "libavutil/opt.h"
#include "avcodec.h"
#include "codec_internal.h"
#include "encode.h"
#include "internal.h"
#include "packet_internal.h"
#include "profiles.h"
Go to the source code of this file.
|
static void | vvenc_log_callback (void *ctx, int level, const char *fmt, va_list args) |
|
static void | vvenc_set_verbository (vvenc_config *params) |
|
static void | vvenc_set_pic_format (AVCodecContext *avctx, vvenc_config *params) |
|
static void | vvenc_set_color_format (AVCodecContext *avctx, vvenc_config *params) |
|
static void | vvenc_set_framerate (AVCodecContext *avctx, vvenc_config *params) |
|
static int | vvenc_parse_vvenc_params (AVCodecContext *avctx, vvenc_config *params) |
|
static int | vvenc_set_rc_mode (AVCodecContext *avctx, vvenc_config *params) |
|
static int | vvenc_init_extradata (AVCodecContext *avctx, VVenCContext *s) |
|
static av_cold int | vvenc_init (AVCodecContext *avctx) |
|
static av_cold int | vvenc_close (AVCodecContext *avctx) |
|
static av_cold int | vvenc_frame (AVCodecContext *avctx, AVPacket *pkt, const AVFrame *frame, int *got_packet) |
|
◆ VVENC_VERSION_INT
#define VVENC_VERSION_INT |
Value:
VVENC_VERSION_MINOR, \
VVENC_VERSION_PATCH)
Definition at line 44 of file libvvenc.c.
◆ OFFSET
◆ VE
◆ vvenc_log_callback()
static void vvenc_log_callback |
( |
void * |
ctx, |
|
|
int |
level, |
|
|
const char * |
fmt, |
|
|
va_list |
args |
|
) |
| |
|
static |
◆ vvenc_set_verbository()
static void vvenc_set_verbository |
( |
vvenc_config * |
params | ) |
|
|
static |
◆ vvenc_set_pic_format()
static void vvenc_set_pic_format |
( |
AVCodecContext * |
avctx, |
|
|
vvenc_config * |
params |
|
) |
| |
|
static |
◆ vvenc_set_color_format()
static void vvenc_set_color_format |
( |
AVCodecContext * |
avctx, |
|
|
vvenc_config * |
params |
|
) |
| |
|
static |
◆ vvenc_set_framerate()
static void vvenc_set_framerate |
( |
AVCodecContext * |
avctx, |
|
|
vvenc_config * |
params |
|
) |
| |
|
static |
◆ vvenc_parse_vvenc_params()
static int vvenc_parse_vvenc_params |
( |
AVCodecContext * |
avctx, |
|
|
vvenc_config * |
params |
|
) |
| |
|
static |
◆ vvenc_set_rc_mode()
static int vvenc_set_rc_mode |
( |
AVCodecContext * |
avctx, |
|
|
vvenc_config * |
params |
|
) |
| |
|
static |
◆ vvenc_init_extradata()
◆ vvenc_init()
◆ vvenc_close()
◆ vvenc_frame()
◆ pix_fmts_vvenc
◆ options
Initial value:= {
{
"faster",
"0", 0,
AV_OPT_TYPE_CONST, {.i64 = VVENC_FASTER}, INT_MIN, INT_MAX,
VE,
"preset" },
{
"medium",
"2", 0,
AV_OPT_TYPE_CONST, {.i64 = VVENC_MEDIUM}, INT_MIN, INT_MAX,
VE,
"preset" },
{
"slower",
"4", 0,
AV_OPT_TYPE_CONST, {.i64 = VVENC_SLOWER}, INT_MIN, INT_MAX,
VE,
"preset" },
{
"period",
"set (intra) refresh period in seconds",
OFFSET(intra_refresh_sec),
AV_OPT_TYPE_INT, {.i64 = 1}, 1, INT_MAX,
VE },
{
"vvenc-params",
"set the vvenc configuration using a :-separated list of key=value parameters",
OFFSET(vvenc_opts),
AV_OPT_TYPE_DICT, { 0 }, 0, 0,
VE },
}
Definition at line 441 of file libvvenc.c.
◆ class_name
◆ item_name
◆ option
◆ version
◆ @163
◆ vvenc_defaults
Initial value:= {
{ "b", "0" },
{ "g", "-1" },
}
Definition at line 468 of file libvvenc.c.
◆ ff_libvvenc_encoder
Initial value:= {
.p.name = "libvvenc",
.p.priv_class = &class,
.p.wrapper_name = "libvvenc",
}
Definition at line 474 of file libvvenc.c.
#define FF_CODEC_CAP_INIT_CLEANUP
The codec allows calling the close function for deallocation even if the init function returned a fai...
#define AV_PIX_FMT_YUV420P10
static const FFCodecDefault vvenc_defaults[]
#define FF_CODEC_ENCODE_CB(func)
#define AV_CODEC_CAP_OTHER_THREADS
Codec supports multithreading through a method other than slice- or frame-level multithreading.
#define AV_VERSION_INT(a, b, c)
#define CODEC_LONG_NAME(str)
static av_cold int vvenc_frame(AVCodecContext *avctx, AVPacket *pkt, const AVFrame *frame, int *got_packet)
@ AV_OPT_TYPE_DICT
Underlying C type is AVDictionary*.
static void stats(AVPacket *const *in, int n_in, unsigned *_max, unsigned *_sum)
#define AV_CODEC_CAP_DR1
Codec uses get_buffer() or get_encode_buffer() for allocating buffers and supports custom allocators.
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification.
static enum AVPixelFormat pix_fmts_vvenc[]
static av_cold int vvenc_close(AVCodecContext *avctx)
@ AV_OPT_TYPE_INT
Underlying C type is int.
#define AV_CODEC_CAP_DELAY
Encoder or decoder requires flushing with NULL input at the end in order to give the complete and cor...
static av_cold int vvenc_init(AVCodecContext *avctx)
const AVProfile ff_vvc_profiles[]
#define FF_CODEC_CAP_AUTO_THREADS
Codec handles avctx->thread_count == 0 (auto) internally.
@ AV_OPT_TYPE_BOOL
Underlying C type is int.
@ AV_OPT_TYPE_STRING
Underlying C type is a uint8_t* that is either NULL or points to a C string allocated with the av_mal...
@ AV_OPT_TYPE_CONST
Special option type for declaring named constants.