FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
vc1_loopfilter.c File Reference

VC-1 and WMV3 loopfilter. More...

#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, uint32_t *cbp, uint8_t *is_intra, int16_t(*mv)[2], uint8_t *mv_f, 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, 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, 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, uint32_t *cbp, int *ttblk, uint32_t flags, int block_num)
 
static av_always_inline void vc1_b_v_intfi_loop_filter (VC1Context *v, uint8_t *dest, uint32_t *cbp, 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

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

Function Documentation

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().

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().

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().

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().

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().

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().

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

Definition at line 363 of file vc1_loopfilter.c.

Referenced by ff_vc1_p_loop_filter().

static av_always_inline void vc1_p_v_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 416 of file vc1_loopfilter.c.

Referenced by ff_vc1_p_loop_filter().

void ff_vc1_p_loop_filter ( VC1Context v)

Definition at line 470 of file vc1_loopfilter.c.

Referenced by vc1_decode_p_blocks().

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

Definition at line 802 of file vc1_loopfilter.c.

Referenced by ff_vc1_p_intfr_loop_filter().

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

Definition at line 852 of file vc1_loopfilter.c.

Referenced by ff_vc1_p_intfr_loop_filter().

void ff_vc1_p_intfr_loop_filter ( VC1Context v)

Definition at line 909 of file vc1_loopfilter.c.

Referenced by vc1_decode_b_blocks(), and vc1_decode_p_blocks().

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

Definition at line 1112 of file vc1_loopfilter.c.

Referenced by ff_vc1_b_intfi_loop_filter().

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

Definition at line 1144 of file vc1_loopfilter.c.

Referenced by ff_vc1_b_intfi_loop_filter().

void ff_vc1_b_intfi_loop_filter ( VC1Context v)

Definition at line 1172 of file vc1_loopfilter.c.

Referenced by vc1_decode_b_blocks().