FFmpeg
Macros | Functions | Variables
amfenc_hevc.c File Reference
#include "libavutil/internal.h"
#include "libavutil/mem.h"
#include "libavutil/opt.h"
#include "amfenc.h"
#include "codec_internal.h"
#include <AMF/components/PreAnalysis.h>

Go to the source code of this file.

Macros

#define OFFSET(x)   offsetof(AmfContext, x)
 
#define VE   AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM
 

Functions

static av_cold int amf_encode_init_hevc (AVCodecContext *avctx)
 

Variables

static const AVOption options []
 
static const FFCodecDefault defaults []
 
static const AVClass hevc_amf_class
 
const FFCodec ff_hevc_amf_encoder
 

Macro Definition Documentation

◆ OFFSET

#define OFFSET (   x)    offsetof(AmfContext, x)

Definition at line 26 of file amfenc_hevc.c.

◆ VE

Definition at line 27 of file amfenc_hevc.c.

Function Documentation

◆ amf_encode_init_hevc()

static av_cold int amf_encode_init_hevc ( AVCodecContext avctx)
static

Color Range (Support for older Drivers)

Color Depth

Color Transfer Characteristics (AMF matches ISO/IEC)

Color Primaries (AMF matches ISO/IEC)

Definition at line 157 of file amfenc_hevc.c.

Variable Documentation

◆ options

const AVOption options[]
static

Definition at line 29 of file amfenc_hevc.c.

◆ defaults

const FFCodecDefault defaults[]
static
Initial value:
= {
{ "refs", "-1" },
{ "aspect", "0" },
{ "b", "0" },
{ "g", "-1" },
{ "slices", "1" },
{ "qmin", "-1" },
{ "qmax", "-1" },
{ "flags", "+loop"},
{ NULL },
}

Definition at line 509 of file amfenc_hevc.c.

◆ hevc_amf_class

const AVClass hevc_amf_class
static
Initial value:
= {
.class_name = "hevc_amf",
.item_name = av_default_item_name,
.option = options,
}

Definition at line 520 of file amfenc_hevc.c.

◆ ff_hevc_amf_encoder

const FFCodec ff_hevc_amf_encoder
Initial value:
= {
.p.name = "hevc_amf",
CODEC_LONG_NAME("AMD AMF HEVC encoder"),
.p.type = AVMEDIA_TYPE_VIDEO,
.priv_data_size = sizeof(AmfContext),
.p.priv_class = &hevc_amf_class,
.defaults = defaults,
.p.pix_fmts = ff_amf_pix_fmts,
.p.wrapper_name = "amf",
.hw_configs = ff_amfenc_hw_configs,
}

Definition at line 527 of file amfenc_hevc.c.

FF_CODEC_CAP_INIT_CLEANUP
#define FF_CODEC_CAP_INIT_CLEANUP
The codec allows calling the close function for deallocation even if the init function returned a fai...
Definition: codec_internal.h:43
AV_CODEC_CAP_HARDWARE
#define AV_CODEC_CAP_HARDWARE
Codec is backed by a hardware implementation.
Definition: codec.h:145
AVCOL_RANGE_JPEG
@ AVCOL_RANGE_JPEG
Full range content.
Definition: pixfmt.h:717
options
static const AVOption options[]
Definition: amfenc_hevc.c:29
FF_CODEC_CAP_NOT_INIT_THREADSAFE
#define FF_CODEC_CAP_NOT_INIT_THREADSAFE
The codec is not known to be init-threadsafe (i.e.
Definition: codec_internal.h:35
ff_amf_encode_close
int av_cold ff_amf_encode_close(AVCodecContext *avctx)
Common encoder termination function.
Definition: amfenc.c:434
CODEC_LONG_NAME
#define CODEC_LONG_NAME(str)
Definition: codec_internal.h:296
LIBAVUTIL_VERSION_INT
#define LIBAVUTIL_VERSION_INT
Definition: version.h:85
NULL
#define NULL
Definition: coverity.c:32
FF_CODEC_RECEIVE_PACKET_CB
#define FF_CODEC_RECEIVE_PACKET_CB(func)
Definition: codec_internal.h:326
ff_amf_receive_packet
int ff_amf_receive_packet(AVCodecContext *avctx, AVPacket *avpkt)
Ecoding one frame - common function for all AMF encoders.
Definition: amfenc.c:644
av_default_item_name
const char * av_default_item_name(void *ptr)
Return the context name.
Definition: log.c:237
defaults
static const FFCodecDefault defaults[]
Definition: amfenc_hevc.c:509
amf_encode_init_hevc
static av_cold int amf_encode_init_hevc(AVCodecContext *avctx)
Definition: amfenc_hevc.c:157
AV_CODEC_CAP_DR1
#define AV_CODEC_CAP_DR1
Codec uses get_buffer() or get_encode_buffer() for allocating buffers and supports custom allocators.
Definition: codec.h:52
ff_amf_pix_fmts
enum AVPixelFormat ff_amf_pix_fmts[]
Supported formats.
Definition: amfenc.c:105
ff_amfenc_hw_configs
const AVCodecHWConfigInternal *const ff_amfenc_hw_configs[]
Definition: amfenc.c:970
AV_CODEC_ID_HEVC
@ AV_CODEC_ID_HEVC
Definition: codec_id.h:228
AVCOL_RANGE_MPEG
@ AVCOL_RANGE_MPEG
Narrow or limited range content.
Definition: pixfmt.h:700
hevc_amf_class
static const AVClass hevc_amf_class
Definition: amfenc_hevc.c:520
AV_CODEC_CAP_DELAY
#define AV_CODEC_CAP_DELAY
Encoder or decoder requires flushing with NULL input at the end in order to give the complete and cor...
Definition: codec.h:76
AVMEDIA_TYPE_VIDEO
@ AVMEDIA_TYPE_VIDEO
Definition: avutil.h:201
AmfContext
AMF encoder context.
Definition: amfenc.h:50