libvmaf
Loading...
Searching...
No Matches
libvmaf.h
Go to the documentation of this file.
1
18
19#ifndef __VMAF_H__
20#define __VMAF_H__
21
22#include <stdint.h>
23#include <stdio.h>
24
25#include "libvmaf/model.h"
26#include "libvmaf/picture.h"
27#include "libvmaf/feature.h"
28
29#ifdef __cplusplus
30extern "C" {
31#endif
32
40
48
57
83typedef struct VmafConfiguration {
85 unsigned n_threads;
86 unsigned n_subsample;
87 uint64_t cpumask;
88 uint64_t gpumask;
90
91typedef struct VmafContext VmafContext;
92
107
122
136 VmafModelCollection *model_collection);
137
156int vmaf_use_feature(VmafContext *vmaf, const char *feature_name,
157 VmafFeatureDictionary *opts_dict);
158
176int vmaf_import_feature_score(VmafContext *vmaf, const char *feature_name,
177 double value, unsigned index);
178
201 unsigned index);
202
217int vmaf_score_at_index(VmafContext *vmaf, VmafModel *model, double *score,
218 unsigned index);
219
235 VmafModelCollection *model_collection,
237 unsigned index);
238
253int vmaf_feature_score_at_index(VmafContext *vmaf, const char *feature_name,
254 double *score, unsigned index);
255
275 enum VmafPoolingMethod pool_method, double *score,
276 unsigned index_low, unsigned index_high);
277
297 VmafModelCollection *model_collection,
298 enum VmafPoolingMethod pool_method,
300 unsigned index_low, unsigned index_high);
301
320int vmaf_feature_score_pooled(VmafContext *vmaf, const char *feature_name,
321 enum VmafPoolingMethod pool_method, double *score,
322 unsigned index_low, unsigned index_high);
323
328 struct {
329 unsigned w, h;
330 unsigned bpc;
333 unsigned pic_cnt;
335
350
364
374
388int vmaf_write_output(VmafContext *vmaf, const char *output_path,
389 enum VmafOutputFormat fmt);
390
394const char *vmaf_version(void);
395
396#ifdef __cplusplus
397}
398#endif
399
400#endif /* __VMAF_H__ */
struct VmafFeatureDictionary VmafFeatureDictionary
Definition feature.h:26
VmafLogLevel
Definition libvmaf.h:33
@ VMAF_LOG_LEVEL_WARNING
Definition libvmaf.h:36
@ VMAF_LOG_LEVEL_INFO
Definition libvmaf.h:37
@ VMAF_LOG_LEVEL_DEBUG
Definition libvmaf.h:38
@ VMAF_LOG_LEVEL_ERROR
Definition libvmaf.h:35
@ VMAF_LOG_LEVEL_NONE
Definition libvmaf.h:34
int vmaf_score_pooled(VmafContext *vmaf, VmafModel *model, enum VmafPoolingMethod pool_method, double *score, unsigned index_low, unsigned index_high)
int vmaf_import_feature_score(VmafContext *vmaf, const char *feature_name, double value, unsigned index)
VmafOutputFormat
Definition libvmaf.h:41
@ VMAF_OUTPUT_FORMAT_JSON
Definition libvmaf.h:44
@ VMAF_OUTPUT_FORMAT_CSV
Definition libvmaf.h:45
@ VMAF_OUTPUT_FORMAT_XML
Definition libvmaf.h:43
@ VMAF_OUTPUT_FORMAT_NONE
Definition libvmaf.h:42
@ VMAF_OUTPUT_FORMAT_SUB
Definition libvmaf.h:46
int vmaf_score_at_index(VmafContext *vmaf, VmafModel *model, double *score, unsigned index)
int vmaf_close(VmafContext *vmaf)
int vmaf_init(VmafContext **vmaf, VmafConfiguration cfg)
int vmaf_preallocate_pictures(VmafContext *vmaf, VmafPictureConfiguration cfg)
int vmaf_write_output(VmafContext *vmaf, const char *output_path, enum VmafOutputFormat fmt)
int vmaf_feature_score_pooled(VmafContext *vmaf, const char *feature_name, enum VmafPoolingMethod pool_method, double *score, unsigned index_low, unsigned index_high)
int vmaf_read_pictures(VmafContext *vmaf, VmafPicture *ref, VmafPicture *dist, unsigned index)
int vmaf_use_features_from_model(VmafContext *vmaf, VmafModel *model)
int vmaf_use_feature(VmafContext *vmaf, const char *feature_name, VmafFeatureDictionary *opts_dict)
int vmaf_feature_score_at_index(VmafContext *vmaf, const char *feature_name, double *score, unsigned index)
struct VmafContext VmafContext
Definition libvmaf.h:91
int vmaf_score_pooled_model_collection(VmafContext *vmaf, VmafModelCollection *model_collection, enum VmafPoolingMethod pool_method, VmafModelCollectionScore *score, unsigned index_low, unsigned index_high)
const char * vmaf_version(void)
VmafPoolingMethod
Definition libvmaf.h:49
@ VMAF_POOL_METHOD_MIN
Definition libvmaf.h:51
@ VMAF_POOL_METHOD_NB
Definition libvmaf.h:55
@ VMAF_POOL_METHOD_UNKNOWN
Definition libvmaf.h:50
@ VMAF_POOL_METHOD_MAX
Definition libvmaf.h:52
@ VMAF_POOL_METHOD_MEAN
Definition libvmaf.h:53
@ VMAF_POOL_METHOD_HARMONIC_MEAN
Definition libvmaf.h:54
int vmaf_use_features_from_model_collection(VmafContext *vmaf, VmafModelCollection *model_collection)
int vmaf_fetch_preallocated_picture(VmafContext *vmaf, VmafPicture *pic)
int vmaf_score_at_index_model_collection(VmafContext *vmaf, VmafModelCollection *model_collection, VmafModelCollectionScore *score, unsigned index)
struct VmafModelCollection VmafModelCollection
Definition model.h:55
struct VmafModel VmafModel
Definition model.h:30
VmafPixelFormat
Definition picture.h:28
Configuration needed to initialize a VmafContext.
Definition libvmaf.h:83
uint64_t cpumask
Definition libvmaf.h:87
enum VmafLogLevel log_level
Definition libvmaf.h:84
unsigned n_threads
Definition libvmaf.h:85
uint64_t gpumask
Definition libvmaf.h:88
unsigned n_subsample
Definition libvmaf.h:86
Definition model.h:62
Definition libvmaf.h:327
unsigned pic_cnt
Definition libvmaf.h:333
struct VmafPictureConfiguration::@226136050366264074255217111223261070333105023213 pic_params
Definition picture.h:38