libvmaf
Loading...
Searching...
No Matches
VmafFeatureExtractor Struct Reference

#include <feature_extractor.h>

Collaboration diagram for VmafFeatureExtractor:

Data Fields

const char * name
 Name of feature extractor.
int(*) init (struct VmafFeatureExtractor *fex, enum VmafPixelFormat pix_fmt, unsigned bpc, unsigned w, unsigned h)
int(*) extract (struct VmafFeatureExtractor *fex, VmafPicture *ref_pic, VmafPicture *ref_pic_90, VmafPicture *dist_pic, VmafPicture *dist_pic_90, unsigned index, VmafFeatureCollector *feature_collector)
int(*) flush (struct VmafFeatureExtractor *fex, VmafFeatureCollector *feature_collector)
int(*) close (struct VmafFeatureExtractor *fex)
const VmafOption * options
 Optional initialization options.
void * priv
 Custom data.
size_t priv_size
 sizeof private data.
uint64_t flags
 Feauture extraction flags, binary or'd.
const char ** provided_features
 Provided feature list, NULL terminated.
VmafFrameSyncContext * framesync
VmafPicture prev_ref
 Previous reference picture (n-1), set by framework.
VmafPicture prev_prev_ref
 Reference picture from two frames ago (n-2), set by framework.

Field Documentation

◆ close

int(*) VmafFeatureExtractor::close(struct VmafFeatureExtractor *fex)

Close callback. Optional, clean up fex->priv buffers here.

Parameters
fexself.

◆ extract

int(*) VmafFeatureExtractor::extract(struct VmafFeatureExtractor *fex, VmafPicture *ref_pic, VmafPicture *ref_pic_90, VmafPicture *dist_pic, VmafPicture *dist_pic_90, unsigned index, VmafFeatureCollector *feature_collector)

Feature extraction callback. Called for every pair of pictures. Unless the VMAF_FEATURE_EXTRACTOR_TEMPORAL flag is set, there is no guarantee that this callback is called in any specific order.

Parameters
fexself.
ref_picReference VmafPicture.
ref_pic_90Reference VmafPicture, translated 90 degrees.
dist_picDistorted VmafPicture.
dist_pic_90Distorted VmafPicture, translated 90 degrees.
indexPicture index.
feature_collectorVmafFeatureCollector used to write out scores.

◆ flags

uint64_t VmafFeatureExtractor::flags

Feauture extraction flags, binary or'd.

◆ flush

int(*) VmafFeatureExtractor::flush(struct VmafFeatureExtractor *fex, VmafFeatureCollector *feature_collector)

Buffer flush callback. Optional. Called only when the VMAF_FEATURE_EXTRACTOR_TEMPORAL flag is set.

Parameters
fexself.
feature_collectorVmafFeatureCollector used to write out scores.

◆ framesync

VmafFrameSyncContext* VmafFeatureExtractor::framesync

◆ init

int(*) VmafFeatureExtractor::init(struct VmafFeatureExtractor *fex, enum VmafPixelFormat pix_fmt, unsigned bpc, unsigned w, unsigned h)

Initialization callback. Optional, preallocate fex->priv buffers here.

Parameters
fexself.
pix_fmtVmafPixelFormat of all subsequent pictures.
bpcBitdepth of all subsequent pictures.
wWidth of all subsequent pictures.
hHeight of all subsequent pictures.

◆ name

const char* VmafFeatureExtractor::name

Name of feature extractor.

◆ options

const VmafOption* VmafFeatureExtractor::options

Optional initialization options.

◆ prev_prev_ref

VmafPicture VmafFeatureExtractor::prev_prev_ref

Reference picture from two frames ago (n-2), set by framework.

◆ prev_ref

VmafPicture VmafFeatureExtractor::prev_ref

Previous reference picture (n-1), set by framework.

◆ priv

void* VmafFeatureExtractor::priv

Custom data.

◆ priv_size

size_t VmafFeatureExtractor::priv_size

sizeof private data.

◆ provided_features

const char** VmafFeatureExtractor::provided_features

Provided feature list, NULL terminated.


The documentation for this struct was generated from the following file: