FFmpeg
Macros | Functions | Variables
hevc_pel.c File Reference
#include <string.h>
#include "checkasm.h"
#include "libavcodec/hevcdsp.h"
#include "libavutil/common.h"
#include "libavutil/internal.h"
#include "libavutil/intreadwrite.h"

Go to the source code of this file.

Macros

#define SIZEOF_PIXEL   ((bit_depth + 7) / 8)
 
#define BUF_SIZE   (2 * MAX_PB_SIZE * (2 * 4 + MAX_PB_SIZE))
 
#define randomize_buffers()
 
#define randomize_buffers_ref()
 
#define src0   (buf0 + 2 * 4 * MAX_PB_SIZE) /* hevc qpel functions read data from negative src pointer offsets */
 
#define src1   (buf1 + 2 * 4 * MAX_PB_SIZE)
 

Functions

void checkasm_check_hevc_qpel (void)
 
void checkasm_check_hevc_qpel_uni (void)
 
void checkasm_check_hevc_qpel_uni_w (void)
 
void checkasm_check_hevc_qpel_bi (void)
 
void checkasm_check_hevc_qpel_bi_w (void)
 
void checkasm_check_hevc_epel (void)
 
void checkasm_check_hevc_epel_uni (void)
 
void checkasm_check_hevc_epel_uni_w (void)
 
void checkasm_check_hevc_epel_bi (void)
 
void checkasm_check_hevc_epel_bi_w (void)
 

Variables

static const uint32_t pixel_mask [] = { 0xffffffff, 0x01ff01ff, 0x03ff03ff, 0x07ff07ff, 0x0fff0fff }
 
static const uint32_t pixel_mask16 [] = { 0x00ff00ff, 0x01ff01ff, 0x03ff03ff, 0x07ff07ff, 0x0fff0fff }
 
static const int sizes [] = { -1, 4, 6, 8, 12, 16, 24, 32, 48, 64 }
 
static const int weights [] = { 0, 128, 255, -1 }
 
static const int denoms [] = {0, 7, 12, -1 }
 
static const int offsets [] = {0, 255, -1 }
 

Macro Definition Documentation

#define SIZEOF_PIXEL   ((bit_depth + 7) / 8)
#define BUF_SIZE   (2 * MAX_PB_SIZE * (2 * 4 + MAX_PB_SIZE))
#define randomize_buffers ( )
Value:
do { \
uint32_t mask = pixel_mask[bit_depth - 8]; \
int k; \
for (k = 0; k < BUF_SIZE; k += 4) { \
uint32_t r = rnd() & mask; \
AV_WN32A(buf0 + k, r); \
AV_WN32A(buf1 + k, r); \
r = rnd(); \
AV_WN32A(dst0 + k, r); \
AV_WN32A(dst1 + k, r); \
} \
} while (0)
#define AV_WN32A(p, v)
Definition: intreadwrite.h:538
static const uint16_t mask[17]
Definition: lzw.c:38
const char * r
Definition: vf_curves.c:116
static void bit_depth(AudioStatsContext *s, uint64_t mask, uint64_t imask, AVRational *depth)
Definition: af_astats.c:254
#define BUF_SIZE
Definition: hevc_pel.c:37
int
#define rnd()
Definition: checkasm.h:117
static const uint32_t pixel_mask[]
Definition: hevc_pel.c:29
for(j=16;j >0;--j)

Definition at line 39 of file hevc_pel.c.

Referenced by checkasm_check_hevc_epel(), checkasm_check_hevc_epel_uni(), checkasm_check_hevc_epel_uni_w(), checkasm_check_hevc_qpel(), checkasm_check_hevc_qpel_uni(), and checkasm_check_hevc_qpel_uni_w().

#define randomize_buffers_ref ( )
Value:
do { \
uint32_t mask = pixel_mask16[bit_depth - 8]; \
int k; \
for (k = 0; k < BUF_SIZE; k += 2) { \
uint32_t r = rnd() & mask; \
AV_WN32A(ref0 + k, r); \
AV_WN32A(ref1 + k, r); \
} \
} while (0)
static const uint32_t pixel_mask16[]
Definition: hevc_pel.c:30
#define AV_WN32A(p, v)
Definition: intreadwrite.h:538
static const uint16_t mask[17]
Definition: lzw.c:38
const char * r
Definition: vf_curves.c:116
it s the only field you need to keep assuming you have a context There is some magic you don t need to care about around this just let it vf default minimum maximum flags name is the option keep it simple and lowercase description are in without and describe what they do
#define randomize_buffers()
Definition: hevc_pel.c:39
static void bit_depth(AudioStatsContext *s, uint64_t mask, uint64_t imask, AVRational *depth)
Definition: af_astats.c:254
#define BUF_SIZE
Definition: hevc_pel.c:37
int
#define rnd()
Definition: checkasm.h:117
for(j=16;j >0;--j)

Definition at line 53 of file hevc_pel.c.

Referenced by checkasm_check_hevc_epel_bi(), checkasm_check_hevc_epel_bi_w(), checkasm_check_hevc_qpel_bi(), and checkasm_check_hevc_qpel_bi_w().

#define src0   (buf0 + 2 * 4 * MAX_PB_SIZE) /* hevc qpel functions read data from negative src pointer offsets */
#define src1   (buf1 + 2 * 4 * MAX_PB_SIZE)

Function Documentation

void checkasm_check_hevc_qpel ( void  )

Definition at line 68 of file hevc_pel.c.

void checkasm_check_hevc_qpel_uni ( void  )

Definition at line 112 of file hevc_pel.c.

void checkasm_check_hevc_qpel_uni_w ( void  )

Definition at line 153 of file hevc_pel.c.

void checkasm_check_hevc_qpel_bi ( void  )

Definition at line 201 of file hevc_pel.c.

void checkasm_check_hevc_qpel_bi_w ( void  )

Definition at line 245 of file hevc_pel.c.

void checkasm_check_hevc_epel ( void  )

Definition at line 297 of file hevc_pel.c.

void checkasm_check_hevc_epel_uni ( void  )

Definition at line 341 of file hevc_pel.c.

void checkasm_check_hevc_epel_uni_w ( void  )

Definition at line 382 of file hevc_pel.c.

void checkasm_check_hevc_epel_bi ( void  )

Definition at line 430 of file hevc_pel.c.

void checkasm_check_hevc_epel_bi_w ( void  )

Definition at line 474 of file hevc_pel.c.

Variable Documentation

const uint32_t pixel_mask[] = { 0xffffffff, 0x01ff01ff, 0x03ff03ff, 0x07ff07ff, 0x0fff0fff }
static

Definition at line 29 of file hevc_pel.c.

const uint32_t pixel_mask16[] = { 0x00ff00ff, 0x01ff01ff, 0x03ff03ff, 0x07ff07ff, 0x0fff0fff }
static

Definition at line 30 of file hevc_pel.c.

const int sizes[] = { -1, 4, 6, 8, 12, 16, 24, 32, 48, 64 }
static
const int weights[] = { 0, 128, 255, -1 }
static
const int denoms[] = {0, 7, 12, -1 }
static
const int offsets[] = {0, 255, -1 }
static