FFmpeg
Macros | Functions
vc1_loopfilter.c File Reference
#include "avcodec.h"
#include "mpegvideo.h"
#include "vc1.h"
#include "vc1dsp.h"

Go to the source code of this file.

Macros

#define LEFT_EDGE   (1 << 0)
 
#define RIGHT_EDGE   (1 << 1)
 
#define TOP_EDGE   (1 << 2)
 
#define BOTTOM_EDGE   (1 << 3)
 

Functions

static av_always_inline void vc1_h_overlap_filter (VC1Context *v, int16_t(*left_block)[64], int16_t(*right_block)[64], int left_fieldtx, int right_fieldtx, int block_num)
 
static av_always_inline void vc1_v_overlap_filter (VC1Context *v, int16_t(*top_block)[64], int16_t(*bottom_block)[64], int block_num)
 
void ff_vc1_i_overlap_filter (VC1Context *v)
 
void ff_vc1_p_overlap_filter (VC1Context *v)
 
static av_always_inline void vc1_i_h_loop_filter (VC1Context *v, uint8_t *dest, uint32_t flags, int block_num)
 
static av_always_inline void vc1_i_v_loop_filter (VC1Context *v, uint8_t *dest, uint32_t flags, uint8_t fieldtx, int block_num)
 
void ff_vc1_i_loop_filter (VC1Context *v)
 
static av_always_inline void vc1_p_h_loop_filter (VC1Context *v, uint8_t *dest, uint32_t *cbp, uint8_t *is_intra, int16_t(*mv)[2], uint8_t *mv_f, int *ttblk, uint32_t flags, int block_num)
 
static av_always_inline void vc1_p_v_loop_filter (VC1Context *v, uint8_t *dest, const uint32_t *cbp, const uint8_t *is_intra, int16_t(*mv)[2], const uint8_t *mv_f, const int *ttblk, uint32_t flags, int block_num)
 
void ff_vc1_p_loop_filter (VC1Context *v)
 
static av_always_inline void vc1_p_h_intfr_loop_filter (VC1Context *v, uint8_t *dest, const int *ttblk, uint32_t flags, uint8_t fieldtx, int block_num)
 
static av_always_inline void vc1_p_v_intfr_loop_filter (VC1Context *v, uint8_t *dest, const int *ttblk, uint32_t flags, uint8_t fieldtx, int block_num)
 
void ff_vc1_p_intfr_loop_filter (VC1Context *v)
 
static av_always_inline void vc1_b_h_intfi_loop_filter (VC1Context *v, uint8_t *dest, const uint32_t *cbp, const int *ttblk, uint32_t flags, int block_num)
 
static av_always_inline void vc1_b_v_intfi_loop_filter (VC1Context *v, uint8_t *dest, const uint32_t *cbp, const int *ttblk, uint32_t flags, int block_num)
 
void ff_vc1_b_intfi_loop_filter (VC1Context *v)
 

Detailed Description

VC-1 and WMV3 loopfilter

Definition in file vc1_loopfilter.c.

Macro Definition Documentation

◆ LEFT_EDGE

#define LEFT_EDGE   (1 << 0)

Definition at line 201 of file vc1_loopfilter.c.

◆ RIGHT_EDGE

#define RIGHT_EDGE   (1 << 1)

Definition at line 202 of file vc1_loopfilter.c.

◆ TOP_EDGE

#define TOP_EDGE   (1 << 2)

Definition at line 203 of file vc1_loopfilter.c.

◆ BOTTOM_EDGE

#define BOTTOM_EDGE   (1 << 3)

Definition at line 204 of file vc1_loopfilter.c.

Function Documentation

◆ vc1_h_overlap_filter()

static av_always_inline void vc1_h_overlap_filter ( VC1Context v,
int16_t(*)  left_block[64],
int16_t(*)  right_block[64],
int  left_fieldtx,
int  right_fieldtx,
int  block_num 
)
static

Definition at line 34 of file vc1_loopfilter.c.

Referenced by ff_vc1_i_overlap_filter(), and ff_vc1_p_overlap_filter().

◆ vc1_v_overlap_filter()

static av_always_inline void vc1_v_overlap_filter ( VC1Context v,
int16_t(*)  top_block[64],
int16_t(*)  bottom_block[64],
int  block_num 
)
static

Definition at line 78 of file vc1_loopfilter.c.

Referenced by ff_vc1_i_overlap_filter(), and ff_vc1_p_overlap_filter().

◆ ff_vc1_i_overlap_filter()

void ff_vc1_i_overlap_filter ( VC1Context v)

Definition at line 105 of file vc1_loopfilter.c.

Referenced by vc1_decode_i_blocks(), and vc1_decode_i_blocks_adv().

◆ ff_vc1_p_overlap_filter()

void ff_vc1_p_overlap_filter ( VC1Context v)

Definition at line 161 of file vc1_loopfilter.c.

Referenced by vc1_decode_p_mb(), vc1_decode_p_mb_intfi(), and vc1_decode_p_mb_intfr().

◆ vc1_i_h_loop_filter()

static av_always_inline void vc1_i_h_loop_filter ( VC1Context v,
uint8_t *  dest,
uint32_t  flags,
int  block_num 
)
static

Definition at line 206 of file vc1_loopfilter.c.

Referenced by ff_vc1_i_loop_filter().

◆ vc1_i_v_loop_filter()

static av_always_inline void vc1_i_v_loop_filter ( VC1Context v,
uint8_t *  dest,
uint32_t  flags,
uint8_t  fieldtx,
int  block_num 
)
static

Definition at line 238 of file vc1_loopfilter.c.

Referenced by ff_vc1_i_loop_filter().

◆ ff_vc1_i_loop_filter()

void ff_vc1_i_loop_filter ( VC1Context v)

◆ vc1_p_h_loop_filter()

static av_always_inline void vc1_p_h_loop_filter ( VC1Context v,
uint8_t *  dest,
uint32_t *  cbp,
uint8_t *  is_intra,
int16_t(*)  mv[2],
uint8_t *  mv_f,
int *  ttblk,
uint32_t  flags,
int  block_num 
)
static

Definition at line 363 of file vc1_loopfilter.c.

Referenced by ff_vc1_p_loop_filter().

◆ vc1_p_v_loop_filter()

static av_always_inline void vc1_p_v_loop_filter ( VC1Context v,
uint8_t *  dest,
const uint32_t *  cbp,
const uint8_t *  is_intra,
int16_t(*)  mv[2],
const uint8_t *  mv_f,
const int *  ttblk,
uint32_t  flags,
int  block_num 
)
static

Definition at line 417 of file vc1_loopfilter.c.

Referenced by ff_vc1_p_loop_filter().

◆ ff_vc1_p_loop_filter()

void ff_vc1_p_loop_filter ( VC1Context v)

Definition at line 471 of file vc1_loopfilter.c.

Referenced by vc1_decode_p_blocks().

◆ vc1_p_h_intfr_loop_filter()

static av_always_inline void vc1_p_h_intfr_loop_filter ( VC1Context v,
uint8_t *  dest,
const int *  ttblk,
uint32_t  flags,
uint8_t  fieldtx,
int  block_num 
)
static

Definition at line 803 of file vc1_loopfilter.c.

Referenced by ff_vc1_p_intfr_loop_filter().

◆ vc1_p_v_intfr_loop_filter()

static av_always_inline void vc1_p_v_intfr_loop_filter ( VC1Context v,
uint8_t *  dest,
const int *  ttblk,
uint32_t  flags,
uint8_t  fieldtx,
int  block_num 
)
static

Definition at line 854 of file vc1_loopfilter.c.

Referenced by ff_vc1_p_intfr_loop_filter().

◆ ff_vc1_p_intfr_loop_filter()

void ff_vc1_p_intfr_loop_filter ( VC1Context v)

Definition at line 911 of file vc1_loopfilter.c.

Referenced by vc1_decode_b_blocks(), and vc1_decode_p_blocks().

◆ vc1_b_h_intfi_loop_filter()

static av_always_inline void vc1_b_h_intfi_loop_filter ( VC1Context v,
uint8_t *  dest,
const uint32_t *  cbp,
const int *  ttblk,
uint32_t  flags,
int  block_num 
)
static

Definition at line 1115 of file vc1_loopfilter.c.

Referenced by ff_vc1_b_intfi_loop_filter().

◆ vc1_b_v_intfi_loop_filter()

static av_always_inline void vc1_b_v_intfi_loop_filter ( VC1Context v,
uint8_t *  dest,
const uint32_t *  cbp,
const int *  ttblk,
uint32_t  flags,
int  block_num 
)
static

Definition at line 1145 of file vc1_loopfilter.c.

Referenced by ff_vc1_b_intfi_loop_filter().

◆ ff_vc1_b_intfi_loop_filter()

void ff_vc1_b_intfi_loop_filter ( VC1Context v)

Definition at line 1173 of file vc1_loopfilter.c.

Referenced by vc1_decode_b_blocks().