#include "xavs2.h"
#include "codec_internal.h"
#include "encode.h"
#include "mpeg12.h"
#include "libavutil/avstring.h"
#include "libavutil/opt.h"
Go to the source code of this file.
◆ xavs2_opt_set2
Value: do{ \
char opt_str[16] = {0}; \
int err; \
av_strlcatf(opt_str,
sizeof(opt_str),
format, __VA_ARGS__); \
err = cae->api->opt_set2(cae->param,
name, opt_str); \
if (err < 0) {\
}\
} while(0);
Definition at line 32 of file libxavs2.c.
◆ OFFSET
◆ VE
◆ xavs2_init()
◆ xavs2_copy_frame_with_shift()
static void xavs2_copy_frame_with_shift |
( |
xavs2_picture_t * |
pic, |
|
|
const AVFrame * |
frame, |
|
|
const int |
shift_in |
|
) |
| |
|
static |
◆ xavs2_copy_frame()
static void xavs2_copy_frame |
( |
xavs2_picture_t * |
pic, |
|
|
const AVFrame * |
frame |
|
) |
| |
|
static |
◆ xavs2_encode_frame()
◆ xavs2_close()
◆ options
Initial value:= {
{
"lcu_row_threads" ,
"number of parallel threads for rows" ,
OFFSET(lcu_row_threads) ,
AV_OPT_TYPE_INT, {.i64 = 0 }, 0, INT_MAX,
VE },
{
"initial_qp" ,
"Quantization initial parameter" ,
OFFSET(initial_qp) ,
AV_OPT_TYPE_INT, {.i64 = 34 }, 1, 63,
VE },
{
"speed_level" ,
"Speed level, higher is better but slower",
OFFSET(preset_level) ,
AV_OPT_TYPE_INT, {.i64 = 0 }, 0, 9,
VE },
{
"log_level" ,
"log level: -1: none, 0: error, 1: warning, 2: info, 3: debug",
OFFSET(log_level) ,
AV_OPT_TYPE_INT, {.i64 = 0 }, -1, 3,
VE },
{
"xavs2-params" ,
"set the xavs2 configuration using a :-separated list of key=value parameters",
OFFSET(xavs2_opts),
AV_OPT_TYPE_DICT, { 0 }, 0, 0,
VE },
}
Definition at line 263 of file libxavs2.c.
◆ libxavs2
Initial value:= {
.class_name = "XAVS2EContext",
}
Definition at line 275 of file libxavs2.c.
◆ xavs2_defaults
Initial value:= {
{ "b", "0" },
{ "g", "48"},
{ "bf", "7" },
}
Definition at line 282 of file libxavs2.c.
◆ ff_libxavs2_encoder
Initial value:= {
.p.name = "libxavs2",
.p.wrapper_name = "libxavs2",
}
Definition at line 289 of file libxavs2.c.
#define AV_LOG_WARNING
Something somehow does not look correct.
AVPixelFormat
Pixel format.
it s the only field you need to keep assuming you have a context There is some magic you don t need to care about around this just let it vf default minimum maximum flags name is the option name
#define FF_CODEC_CAP_NOT_INIT_THREADSAFE
The codec is not known to be init-threadsafe (i.e.
static const AVClass libxavs2
#define FF_CODEC_ENCODE_CB(func)
Filter the word “frame” indicates either a video frame or a group of audio as stored in an AVFrame structure Format for each input and each output the list of supported formats For video that means pixel format For audio that means channel sample format(the sample packing is implied by the sample format) and sample rate. The lists are not just lists
#define AV_CODEC_CAP_OTHER_THREADS
Codec supports multithreading through a method other than slice- or frame-level multithreading.
@ AV_PIX_FMT_YUV420P
planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y samples)
#define CODEC_LONG_NAME(str)
#define LIBAVUTIL_VERSION_INT
static int xavs2_encode_frame(AVCodecContext *avctx, AVPacket *pkt, const AVFrame *frame, int *got_packet)
static av_cold int xavs2_init(AVCodecContext *avctx)
@ AV_OPT_TYPE_DICT
Underlying C type is AVDictionary*.
const char * av_default_item_name(void *ptr)
Return the context name.
int(* init)(AVBSFContext *ctx)
#define AV_CODEC_CAP_DR1
Codec uses get_buffer() or get_encode_buffer() for allocating buffers and supports custom allocators.
@ AVCOL_RANGE_MPEG
Narrow or limited range content.
@ 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...
#define FF_CODEC_CAP_AUTO_THREADS
Codec handles avctx->thread_count == 0 (auto) internally.
static const FFCodecDefault xavs2_defaults[]
static const AVOption options[]
static av_cold int xavs2_close(AVCodecContext *avctx)