libvmaf
Loading...
Searching...
No Matches
feature_extractor.h File Reference
#include <stdatomic.h>
#include <stdint.h>
#include <stdlib.h>
#include "dict.h"
#include "framesync.h"
#include "feature_collector.h"
#include "opt.h"
#include "libvmaf/picture.h"
Include dependency graph for feature_extractor.h:

Go to the source code of this file.

Data Structures

struct  VmafFeatureExtractor
struct  VmafFeatureExtractorContext
struct  VmafFeatureExtractorContextPool
struct  VmafFeatureExtractorContextPool::fex_list_entry

Enumerations

enum  VmafFeatureExtractorFlags { VMAF_FEATURE_EXTRACTOR_TEMPORAL = 1 << 0 , VMAF_FEATURE_EXTRACTOR_CUDA = 1 << 1 , VMAF_FEATURE_FRAME_SYNC = 1 << 2 , VMAF_FEATURE_EXTRACTOR_PREV_REF = 1 << 3 }
enum  VmafFeatureExtractorContextFlags { VMAF_FEATURE_EXTRACTOR_CONTEXT_DO_NOT_OVERWRITE = 1 << 0 }

Functions

VmafFeatureExtractor * vmaf_get_feature_extractor_by_name (const char *name)
VmafFeatureExtractor * vmaf_get_feature_extractor_by_feature_name (const char *name, unsigned flags)
int vmaf_feature_extractor_context_create (VmafFeatureExtractorContext **fex_ctx, VmafFeatureExtractor *fex, VmafDictionary *opts_dict)
int vmaf_feature_extractor_context_init (VmafFeatureExtractorContext *fex_ctx, enum VmafPixelFormat pix_fmt, unsigned bpc, unsigned w, unsigned h)
int vmaf_feature_extractor_context_extract (VmafFeatureExtractorContext *fex_ctx, VmafPicture *ref, VmafPicture *ref_90, VmafPicture *dist, VmafPicture *dist_90, unsigned pic_index, VmafFeatureCollector *vfc)
int vmaf_feature_extractor_context_flush (VmafFeatureExtractorContext *fex_ctx, VmafFeatureCollector *vfc)
int vmaf_feature_extractor_context_close (VmafFeatureExtractorContext *fex_ctx)
int vmaf_feature_extractor_context_delete (VmafFeatureExtractorContext *fex_ctx)
int vmaf_feature_extractor_context_destroy (VmafFeatureExtractorContext *fex_ctx)
int vmaf_fex_ctx_pool_create (VmafFeatureExtractorContextPool **pool, unsigned n_threads)
int vmaf_fex_ctx_pool_aquire (VmafFeatureExtractorContextPool *pool, VmafFeatureExtractor *fex, VmafDictionary *opts_dict, VmafFeatureExtractorContext **fex_ctx)
int vmaf_fex_ctx_pool_release (VmafFeatureExtractorContextPool *pool, VmafFeatureExtractorContext *fex_ctx)
int vmaf_fex_ctx_pool_flush (VmafFeatureExtractorContextPool *pool, VmafFeatureCollector *feature_collector)
int vmaf_fex_ctx_pool_destroy (VmafFeatureExtractorContextPool *pool)

Enumeration Type Documentation

◆ VmafFeatureExtractorContextFlags

Enumerator
VMAF_FEATURE_EXTRACTOR_CONTEXT_DO_NOT_OVERWRITE 

◆ VmafFeatureExtractorFlags

Copyright 2016-2020 Netflix, Inc.

Licensed under the BSD+Patent License (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

https://opensource.org/licenses/BSDplusPatent

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Enumerator
VMAF_FEATURE_EXTRACTOR_TEMPORAL 
VMAF_FEATURE_EXTRACTOR_CUDA 
VMAF_FEATURE_FRAME_SYNC 
VMAF_FEATURE_EXTRACTOR_PREV_REF 

Function Documentation

◆ vmaf_feature_extractor_context_close()

int vmaf_feature_extractor_context_close ( VmafFeatureExtractorContext * fex_ctx)

◆ vmaf_feature_extractor_context_create()

int vmaf_feature_extractor_context_create ( VmafFeatureExtractorContext ** fex_ctx,
VmafFeatureExtractor * fex,
VmafDictionary * opts_dict )

◆ vmaf_feature_extractor_context_delete()

int vmaf_feature_extractor_context_delete ( VmafFeatureExtractorContext * fex_ctx)

◆ vmaf_feature_extractor_context_destroy()

int vmaf_feature_extractor_context_destroy ( VmafFeatureExtractorContext * fex_ctx)

◆ vmaf_feature_extractor_context_extract()

int vmaf_feature_extractor_context_extract ( VmafFeatureExtractorContext * fex_ctx,
VmafPicture * ref,
VmafPicture * ref_90,
VmafPicture * dist,
VmafPicture * dist_90,
unsigned pic_index,
VmafFeatureCollector * vfc )

◆ vmaf_feature_extractor_context_flush()

int vmaf_feature_extractor_context_flush ( VmafFeatureExtractorContext * fex_ctx,
VmafFeatureCollector * vfc )

◆ vmaf_feature_extractor_context_init()

int vmaf_feature_extractor_context_init ( VmafFeatureExtractorContext * fex_ctx,
enum VmafPixelFormat pix_fmt,
unsigned bpc,
unsigned w,
unsigned h )

◆ vmaf_fex_ctx_pool_aquire()

int vmaf_fex_ctx_pool_aquire ( VmafFeatureExtractorContextPool * pool,
VmafFeatureExtractor * fex,
VmafDictionary * opts_dict,
VmafFeatureExtractorContext ** fex_ctx )

◆ vmaf_fex_ctx_pool_create()

int vmaf_fex_ctx_pool_create ( VmafFeatureExtractorContextPool ** pool,
unsigned n_threads )

◆ vmaf_fex_ctx_pool_destroy()

int vmaf_fex_ctx_pool_destroy ( VmafFeatureExtractorContextPool * pool)

◆ vmaf_fex_ctx_pool_flush()

int vmaf_fex_ctx_pool_flush ( VmafFeatureExtractorContextPool * pool,
VmafFeatureCollector * feature_collector )

◆ vmaf_fex_ctx_pool_release()

int vmaf_fex_ctx_pool_release ( VmafFeatureExtractorContextPool * pool,
VmafFeatureExtractorContext * fex_ctx )

◆ vmaf_get_feature_extractor_by_feature_name()

VmafFeatureExtractor * vmaf_get_feature_extractor_by_feature_name ( const char * name,
unsigned flags )

◆ vmaf_get_feature_extractor_by_name()

VmafFeatureExtractor * vmaf_get_feature_extractor_by_name ( const char * name)