|
FFmpeg
|
#include <va/va.h>#include <va/va_enc_av1.h>#include "libavutil/pixdesc.h"#include "libavutil/opt.h"#include "libavutil/mastering_display_metadata.h"#include "cbs_av1.h"#include "put_bits.h"#include "codec_internal.h"#include "av1_levels.h"#include "vaapi_encode.h"Go to the source code of this file.
Data Structures | |
| struct | VAAPIEncodeAV1Picture |
| struct | VAAPIEncodeAV1Context |
Macros | |
| #define | AV1_MAX_QUANT 255 |
| #define | OFFSET(x) |
| #define | FLAGS (AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM) |
| #define | PROFILE(name, value) |
| #define | LEVEL(name, value) |
Functions | |
| static void | vaapi_encode_av1_trace_write_log (void *ctx, PutBitContext *pbc, int length, const char *str, const int *subscripts, int64_t value) |
| static av_cold int | vaapi_encode_av1_get_encoder_caps (AVCodecContext *avctx) |
| static av_cold int | vaapi_encode_av1_configure (AVCodecContext *avctx) |
| static int | vaapi_encode_av1_add_obu (AVCodecContext *avctx, CodedBitstreamFragment *au, uint8_t type, void *obu_unit) |
| static int | vaapi_encode_av1_write_obu (AVCodecContext *avctx, char *data, size_t *data_len, CodedBitstreamFragment *bs) |
| static int | tile_log2 (int blkSize, int target) |
| static int | vaapi_encode_av1_set_tile (AVCodecContext *avctx) |
| static int | vaapi_encode_av1_write_sequence_header (AVCodecContext *avctx, char *data, size_t *data_len) |
| static int | vaapi_encode_av1_init_sequence_params (AVCodecContext *avctx) |
| static void | vaapi_encode_av1_set_cqp_filters (AV1RawFrameHeader *fh, VAEncPictureParameterBufferAV1 *vpic) |
| With VA_RC_CQP the driver does not patch the packed frame header, so choose the in-loop filter parameters here from base_q_idx and pass the same values in the picture parameters, keeping the two in sync for drivers which use the application-provided header. | |
| static int | vaapi_encode_av1_init_picture_params (AVCodecContext *avctx, FFHWBaseEncodePicture *pic) |
| static int | vaapi_encode_av1_init_slice_params (AVCodecContext *avctx, FFHWBaseEncodePicture *base, VAAPIEncodeSlice *slice) |
| static int | vaapi_encode_av1_write_picture_header (AVCodecContext *avctx, FFHWBaseEncodePicture *pic, char *data, size_t *data_len) |
| static int | vaapi_encode_av1_write_extra_header (AVCodecContext *avctx, FFHWBaseEncodePicture *base_pic, int index, int *type, char *data, size_t *data_len) |
| static av_cold int | vaapi_encode_av1_init (AVCodecContext *avctx) |
| static av_cold int | vaapi_encode_av1_close (AVCodecContext *avctx) |
Variables | |
| static const VAAPIEncodeProfile | vaapi_encode_av1_profiles [] |
| static const VAAPIEncodeType | vaapi_encode_type_av1 |
| static const AVOption | vaapi_encode_av1_options [] |
| static const FFCodecDefault | vaapi_encode_av1_defaults [] |
| static const AVClass | vaapi_encode_av1_class |
| const FFCodec | ff_av1_vaapi_encoder |
| #define AV1_MAX_QUANT 255 |
Definition at line 34 of file vaapi_encode_av1.c.
Referenced by vaapi_encode_av1_configure(), and vaapi_encode_av1_init_picture_params().
| #define OFFSET | ( | x | ) |
Definition at line 1025 of file vaapi_encode_av1.c.
| #define FLAGS (AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM) |
Definition at line 1026 of file vaapi_encode_av1.c.
|
static |
Definition at line 92 of file vaapi_encode_av1.c.
Referenced by vaapi_encode_av1_configure().
|
static |
Definition at line 113 of file vaapi_encode_av1.c.
|
static |
Arbitrary value
Definition at line 125 of file vaapi_encode_av1.c.
|
static |
Definition at line 166 of file vaapi_encode_av1.c.
Referenced by vaapi_encode_av1_init_picture_params(), vaapi_encode_av1_init_sequence_params(), vaapi_encode_av1_write_extra_header(), and vaapi_encode_av1_write_picture_header().
|
static |
Definition at line 184 of file vaapi_encode_av1.c.
Referenced by vaapi_encode_av1_init_picture_params(), vaapi_encode_av1_init_sequence_params(), vaapi_encode_av1_write_extra_header(), and vaapi_encode_av1_write_picture_header().
|
static |
Definition at line 210 of file vaapi_encode_av1.c.
Referenced by vaapi_encode_av1_set_tile().
|
static |
Try user setting tile rows number first.
try uniformed tile.
try non-uniformed tile.
Return invalid parameter if explicit tile rows is set.
check if tile cols/rows is supported by driver.
check if tile group numbers is valid.
Definition at line 216 of file vaapi_encode_av1.c.
Referenced by vaapi_encode_av1_init().
|
static |
Definition at line 350 of file vaapi_encode_av1.c.
|
static |
enable order hint and reserve maximum 8 bits for it by default.
Definition at line 361 of file vaapi_encode_av1.c.
|
static |
With VA_RC_CQP the driver does not patch the packed frame header, so choose the in-loop filter parameters here from base_q_idx and pass the same values in the picture parameters, keeping the two in sync for drivers which use the application-provided header.
Drivers which generate the frame header themselves may choose their own values. In other modes the driver writes them into the header at the bit offsets we pass.
Definition at line 476 of file vaapi_encode_av1.c.
Referenced by vaapi_encode_av1_init_picture_params().
|
static |
set the nearest frame in L0 as all reference frame.
set the 2nd nearest frame in L0 as Golden frame.
B frame will not be referenced, disable its recon frame.
Use LAST_FRAME and BWDREF_FRAME for reference.
ignore ONLY_4x4 mode for codedlossless is not fully implemented.
let driver decide to use single or compound reference prediction mode.
set reference.
Definition at line 520 of file vaapi_encode_av1.c.
|
static |
Set tile group info.
Definition at line 792 of file vaapi_encode_av1.c.
|
static |
Pack repeat frame header.
Definition at line 814 of file vaapi_encode_av1.c.
|
static |
Definition at line 864 of file vaapi_encode_av1.c.
|
static |
This attr provides essential indicators, return error if not support.
Definition at line 928 of file vaapi_encode_av1.c.
|
static |
Definition at line 1015 of file vaapi_encode_av1.c.
|
static |
Definition at line 897 of file vaapi_encode_av1.c.
|
static |
Definition at line 903 of file vaapi_encode_av1.c.
Referenced by vaapi_encode_av1_init().
|
static |
Definition at line 1028 of file vaapi_encode_av1.c.
|
static |
Definition at line 1079 of file vaapi_encode_av1.c.
|
static |
Definition at line 1089 of file vaapi_encode_av1.c.
| const FFCodec ff_av1_vaapi_encoder |
Definition at line 1096 of file vaapi_encode_av1.c.