libvmaf
Loading...
Searching...
No Matches
vif_tools.h File Reference
#include <stdbool.h>
Include dependency graph for vif_tools.h:

Go to the source code of this file.

Macros

#define VIF_TOOLS_H_
#define NUM_KERNELSCALES   21
#define VIF_BILINEAR_MAX_WIDTH   7680

Enumerations

enum  vif_scaling_method { vif_scale_nearest = 0 , vif_scale_bicubic = 1 , vif_scale_lanczos4 = 2 , vif_scale_bilinear = 3 }

Functions

void vif_dec2_s (const float *src, float *dst, int src_w, int src_h, int src_stride, int dst_stride)
void vif_dec16_s (const float *src, float *dst, int src_w, int src_h, int src_stride, int dst_stride)
float vif_sum_s (const float *x, int w, int h, int stride)
void vif_statistic_s (const float *mu1_sq, const float *mu2_sq, const float *xx_filt, const float *yy_filt, const float *xy_filt, float *num, float *den, int w, int h, int mu1_sq_stride, int mu2_sq_stride, int xx_filt_stride, int yy_filt_stride, int xy_filt_stride, double vif_enhn_gain_limit, double vif_sigma_nsq)
void vif_filter1d_s (const float *f, const float *src, float *dst, float *tmpbuf, int w, int h, int src_stride, int dst_stride, int fwidth)
void vif_filter1d_sq_s (const float *f, const float *src, float *dst, float *tmpbuf, int w, int h, int src_stride, int dst_stride, int fwidth)
void vif_filter1d_xy_s (const float *f, const float *src1, const float *src2, float *dst, float *tmpbuf, int w, int h, int src1_stride, int src2_stride, int dst_stride, int fwidth)
int vif_get_scaling_method (char *scaling_method_str, enum vif_scaling_method *scale_method)
void vif_scale_frame_s (enum vif_scaling_method scale_method, const float *src, float *dst, int src_w, int src_h, int src_stride, int dst_w, int dst_h, int dst_stride)
void vif_scale_frame_bilinear_precompute_columns_s (int src_w, int dst_w, int *x1a, int *x2a, float *dxa)
void vif_scale_frame_bilinear_precomputed_s (const float *src, float *dst, int src_w, int src_h, int src_stride, int dst_w, int dst_h, int dst_stride, const int *x1a, const int *x2a, const float *dxa)
int vif_get_filter_size (int scale, float kernelscale)
void vif_get_filter (float *out, int scale, float kernelscale)
void speed_get_antialias_filter (float *out, int scale, float kernelscale)
bool vif_validate_kernelscale (float kernelscale)

Macro Definition Documentation

◆ NUM_KERNELSCALES

#define NUM_KERNELSCALES   21

◆ VIF_BILINEAR_MAX_WIDTH

#define VIF_BILINEAR_MAX_WIDTH   7680

◆ VIF_TOOLS_H_

#define VIF_TOOLS_H_

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.

Enumeration Type Documentation

◆ vif_scaling_method

Enumerator
vif_scale_nearest 
vif_scale_bicubic 
vif_scale_lanczos4 
vif_scale_bilinear 

Function Documentation

◆ speed_get_antialias_filter()

void speed_get_antialias_filter ( float * out,
int scale,
float kernelscale )

◆ vif_dec16_s()

void vif_dec16_s ( const float * src,
float * dst,
int src_w,
int src_h,
int src_stride,
int dst_stride )

◆ vif_dec2_s()

void vif_dec2_s ( const float * src,
float * dst,
int src_w,
int src_h,
int src_stride,
int dst_stride )

◆ vif_filter1d_s()

void vif_filter1d_s ( const float * f,
const float * src,
float * dst,
float * tmpbuf,
int w,
int h,
int src_stride,
int dst_stride,
int fwidth )

◆ vif_filter1d_sq_s()

void vif_filter1d_sq_s ( const float * f,
const float * src,
float * dst,
float * tmpbuf,
int w,
int h,
int src_stride,
int dst_stride,
int fwidth )

◆ vif_filter1d_xy_s()

void vif_filter1d_xy_s ( const float * f,
const float * src1,
const float * src2,
float * dst,
float * tmpbuf,
int w,
int h,
int src1_stride,
int src2_stride,
int dst_stride,
int fwidth )

◆ vif_get_filter()

void vif_get_filter ( float * out,
int scale,
float kernelscale )

◆ vif_get_filter_size()

int vif_get_filter_size ( int scale,
float kernelscale )

◆ vif_get_scaling_method()

int vif_get_scaling_method ( char * scaling_method_str,
enum vif_scaling_method * scale_method )

◆ vif_scale_frame_bilinear_precompute_columns_s()

void vif_scale_frame_bilinear_precompute_columns_s ( int src_w,
int dst_w,
int * x1a,
int * x2a,
float * dxa )

◆ vif_scale_frame_bilinear_precomputed_s()

void vif_scale_frame_bilinear_precomputed_s ( const float * src,
float * dst,
int src_w,
int src_h,
int src_stride,
int dst_w,
int dst_h,
int dst_stride,
const int * x1a,
const int * x2a,
const float * dxa )

◆ vif_scale_frame_s()

void vif_scale_frame_s ( enum vif_scaling_method scale_method,
const float * src,
float * dst,
int src_w,
int src_h,
int src_stride,
int dst_w,
int dst_h,
int dst_stride )

◆ vif_statistic_s()

void vif_statistic_s ( const float * mu1_sq,
const float * mu2_sq,
const float * xx_filt,
const float * yy_filt,
const float * xy_filt,
float * num,
float * den,
int w,
int h,
int mu1_sq_stride,
int mu2_sq_stride,
int xx_filt_stride,
int yy_filt_stride,
int xy_filt_stride,
double vif_enhn_gain_limit,
double vif_sigma_nsq )

◆ vif_sum_s()

float vif_sum_s ( const float * x,
int w,
int h,
int stride )

◆ vif_validate_kernelscale()

bool vif_validate_kernelscale ( float kernelscale)