webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Namespaces | Macros | Functions
scale_argb_test.cc File Reference
#include <stdlib.h>
#include <time.h>
#include "libyuv/convert_argb.h"
#include "libyuv/cpu_id.h"
#include "libyuv/scale_argb.h"
#include "libyuv/video_common.h"
#include "../unit_test/unit_test.h"

Namespaces

 libyuv
 

Macros

#define STRINGIZE(line)   #line
 
#define FILELINESTR(file, line)   file ":" STRINGIZE(line)
 
#define DX(x, nom, denom)   static_cast<int>((Abs(x) / nom) * nom)
 
#define SX(x, nom, denom)   static_cast<int>((x / nom) * denom)
 
#define TEST_FACTOR1(name, filter, nom, denom, max_diff)
 
#define TEST_FACTOR(name, nom, denom)
 
#define TEST_SCALETO1(name, width, height, filter, max_diff)
 
#define TEST_SCALETO(name, width, height)
 Test scale to a specified size with all 4 filters. More...
 

Functions

LIBYUV_API int libyuv::YUVToARGBScaleReference2 (const uint8 *src_y, int src_stride_y, const uint8 *src_u, int src_stride_u, const uint8 *src_v, int src_stride_v, uint32 src_fourcc, int src_width, int src_height, uint8 *dst_argb, int dst_stride_argb, uint32 dst_fourcc, int dst_width, int dst_height, int clip_x, int clip_y, int clip_width, int clip_height, enum FilterMode filtering)
 
 libyuv::TEST_F (LibYUVScaleTest, YUVToRGBScaleUp)
 
 libyuv::TEST_F (LibYUVScaleTest, YUVToRGBScaleDown)
 

Macro Definition Documentation

◆ DX

#define DX (   x,
  nom,
  denom 
)    static_cast<int>((Abs(x) / nom) * nom)

◆ FILELINESTR

#define FILELINESTR (   file,
  line 
)    file ":" STRINGIZE(line)

◆ STRINGIZE

#define STRINGIZE (   line)    #line

◆ SX

#define SX (   x,
  nom,
  denom 
)    static_cast<int>((x / nom) * denom)

◆ TEST_FACTOR

#define TEST_FACTOR (   name,
  nom,
  denom 
)
Value:
TEST_FACTOR1(name, None, nom, denom, 0) \
TEST_FACTOR1(name, Linear, nom, denom, 3) \
TEST_FACTOR1(name, Bilinear, nom, denom, 3) \
TEST_FACTOR1(name, Box, nom, denom, 3)
Definition: PropertySlot.h:41
#define TEST_FACTOR1(name, filter, nom, denom, max_diff)
Definition: scale_argb_test.cc:229
EGLImageKHR EGLint * name
Definition: eglext.h:851

◆ TEST_FACTOR1

#define TEST_FACTOR1 (   name,
  filter,
  nom,
  denom,
  max_diff 
)
Value:
TEST_F(LibYUVScaleTest, ARGBScaleDownBy##name##_##filter) { \
int diff = ARGBTestFilter(SX(benchmark_width_, nom, denom), \
SX(benchmark_height_, nom, denom), \
DX(benchmark_width_, nom, denom), \
DX(benchmark_height_, nom, denom), \
kFilter##filter, benchmark_iterations_, \
disable_cpu_flags_, benchmark_cpu_info_); \
EXPECT_LE(diff, max_diff); \
} \
TEST_F(LibYUVScaleTest, ARGBScaleDownClipBy##name##_##filter) { \
int diff = ARGBClipTestFilter(SX(benchmark_width_, nom, denom), \
SX(benchmark_height_, nom, denom), \
DX(benchmark_width_, nom, denom), \
DX(benchmark_height_, nom, denom), \
kFilter##filter, benchmark_iterations_); \
EXPECT_LE(diff, max_diff); \
}
TEST_F(LibYUVScaleTest, YUVToRGBScaleDown)
Definition: scale_argb_test.cc:451
#define DX(x, nom, denom)
Definition: scale_argb_test.cc:226
GLint GLint GLint GLint GLint GLint GLint GLbitfield GLenum filter
Definition: gl2ext.h:818
EGLImageKHR EGLint * name
Definition: eglext.h:851
Definition: unit_test.h:147
#define SX(x, nom, denom)
Definition: scale_argb_test.cc:227

◆ TEST_SCALETO

#define TEST_SCALETO (   name,
  width,
  height 
)
Value:
TEST_SCALETO1(name, width, height, Linear, 3) \
TEST_SCALETO1(name, width, height, Bilinear, 3)
Definition: PropertySlot.h:41
EGLSurface EGLint EGLint EGLint EGLint height
Definition: eglext.h:950
EGLSurface EGLint EGLint EGLint width
Definition: eglext.h:950
EGLImageKHR EGLint * name
Definition: eglext.h:851
#define TEST_SCALETO1(name, width, height, filter, max_diff)
Definition: scale_argb_test.cc:267

Test scale to a specified size with all 4 filters.

◆ TEST_SCALETO1

#define TEST_SCALETO1 (   name,
  width,
  height,
  filter,
  max_diff 
)
Value:
int diff = ARGBTestFilter(benchmark_width_, benchmark_height_, \
kFilter##filter, benchmark_iterations_, \
disable_cpu_flags_, benchmark_cpu_info_); \
EXPECT_LE(diff, max_diff); \
} \
TEST_F(LibYUVScaleTest, name##From##width##x##height##_##filter) { \
int diff = ARGBTestFilter(width, height, \
Abs(benchmark_width_), Abs(benchmark_height_), \
kFilter##filter, benchmark_iterations_, \
disable_cpu_flags_, benchmark_cpu_info_); \
EXPECT_LE(diff, max_diff); \
} \
TEST_F(LibYUVScaleTest, name##ClipTo##width##x##height##_##filter) { \
int diff = ARGBClipTestFilter(benchmark_width_, benchmark_height_, \
kFilter##filter, benchmark_iterations_); \
EXPECT_LE(diff, max_diff); \
} \
TEST_F(LibYUVScaleTest, name##ClipFrom##width##x##height##_##filter) { \
int diff = ARGBClipTestFilter(width, height, \
Abs(benchmark_width_), \
Abs(benchmark_height_), \
kFilter##filter, benchmark_iterations_); \
EXPECT_LE(diff, max_diff); \
}
EGLSurface EGLint EGLint EGLint EGLint height
Definition: eglext.h:950
EGLSurface EGLint EGLint EGLint width
Definition: eglext.h:950
TEST_F(LibYUVScaleTest, YUVToRGBScaleDown)
Definition: scale_argb_test.cc:451
EGLSurface EGLint x
Definition: eglext.h:950
GLint GLint GLint GLint GLint GLint GLint GLbitfield GLenum filter
Definition: gl2ext.h:818
EGLImageKHR EGLint * name
Definition: eglext.h:851
Definition: unit_test.h:147