FFmpeg
Loading...
Searching...
No Matches
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, 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

◆ RIGHT_EDGE

◆ TOP_EDGE

◆ BOTTOM_EDGE

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