FFmpeg
|
H.264 / AVC / MPEG4 part10 loop filter. More...
#include "libavutil/internal.h"
#include "libavutil/intreadwrite.h"
#include "internal.h"
#include "avcodec.h"
#include "h264.h"
#include "mathops.h"
#include "mpegutils.h"
#include "rectangle.h"
Go to the source code of this file.
Macros | |
#define | FILTER(hv, dir, edge, intra) |
Functions | |
static av_always_inline void | filter_mb_edgev (uint8_t *pix, int stride, const int16_t bS[4], unsigned int qp, int a, int b, const H264Context *h, int intra) |
static av_always_inline void | filter_mb_edgecv (uint8_t *pix, int stride, const int16_t bS[4], unsigned int qp, int a, int b, const H264Context *h, int intra) |
static av_always_inline void | filter_mb_mbaff_edgev (const H264Context *h, uint8_t *pix, int stride, const int16_t bS[7], int bsi, int qp, int a, int b, int intra) |
static av_always_inline void | filter_mb_mbaff_edgecv (const H264Context *h, uint8_t *pix, int stride, const int16_t bS[7], int bsi, int qp, int a, int b, int intra) |
static av_always_inline void | filter_mb_edgeh (uint8_t *pix, int stride, const int16_t bS[4], unsigned int qp, int a, int b, const H264Context *h, int intra) |
static av_always_inline void | filter_mb_edgech (uint8_t *pix, int stride, const int16_t bS[4], unsigned int qp, int a, int b, const H264Context *h, int intra) |
static av_always_inline void | h264_filter_mb_fast_internal (const H264Context *h, H264SliceContext *sl, int mb_x, int mb_y, uint8_t *img_y, uint8_t *img_cb, uint8_t *img_cr, unsigned int linesize, unsigned int uvlinesize, int pixel_shift) |
void | ff_h264_filter_mb_fast (const H264Context *h, H264SliceContext *sl, int mb_x, int mb_y, uint8_t *img_y, uint8_t *img_cb, uint8_t *img_cr, unsigned int linesize, unsigned int uvlinesize) |
static int | check_mv (H264SliceContext *sl, long b_idx, long bn_idx, int mvy_limit) |
static av_always_inline void | filter_mb_dir (const H264Context *h, H264SliceContext *sl, int mb_x, int mb_y, uint8_t *img_y, uint8_t *img_cb, uint8_t *img_cr, unsigned int linesize, unsigned int uvlinesize, int mb_xy, int mb_type, int mvy_limit, int first_vertical_edge_done, int a, int b, int chroma, int dir) |
void | ff_h264_filter_mb (const H264Context *h, H264SliceContext *sl, int mb_x, int mb_y, uint8_t *img_y, uint8_t *img_cb, uint8_t *img_cr, unsigned int linesize, unsigned int uvlinesize) |
Variables | |
static const uint8_t | alpha_table [52 *3] |
static const uint8_t | beta_table [52 *3] |
static const uint8_t | tc0_table [52 *3][4] |
H.264 / AVC / MPEG4 part10 loop filter.
Definition in file h264_loopfilter.c.
#define FILTER | ( | hv, | |
dir, | |||
edge, | |||
intra | |||
) |
Referenced by h264_filter_mb_fast_internal().
|
static |
Definition at line 101 of file h264_loopfilter.c.
Referenced by filter_mb_dir(), and h264_filter_mb_fast_internal().
|
static |
Definition at line 123 of file h264_loopfilter.c.
Referenced by filter_mb_dir(), and h264_filter_mb_fast_internal().
|
static |
Definition at line 145 of file h264_loopfilter.c.
Referenced by ff_h264_filter_mb().
|
static |
Definition at line 168 of file h264_loopfilter.c.
Referenced by ff_h264_filter_mb().
|
static |
Definition at line 191 of file h264_loopfilter.c.
Referenced by filter_mb_dir(), and h264_filter_mb_fast_internal().
|
static |
Definition at line 213 of file h264_loopfilter.c.
Referenced by filter_mb_dir(), and h264_filter_mb_fast_internal().
|
static |
Definition at line 235 of file h264_loopfilter.c.
Referenced by ff_h264_filter_mb_fast().
void ff_h264_filter_mb_fast | ( | const H264Context * | h, |
H264SliceContext * | sl, | ||
int | mb_x, | ||
int | mb_y, | ||
uint8_t * | img_y, | ||
uint8_t * | img_cb, | ||
uint8_t * | img_cr, | ||
unsigned int | linesize, | ||
unsigned int | uvlinesize | ||
) |
Definition at line 417 of file h264_loopfilter.c.
Referenced by loop_filter().
|
static |
Definition at line 439 of file h264_loopfilter.c.
Referenced by filter_mb_dir().
|
static |
Definition at line 469 of file h264_loopfilter.c.
Referenced by ff_h264_filter_mb().
void ff_h264_filter_mb | ( | const H264Context * | h, |
H264SliceContext * | sl, | ||
int | mb_x, | ||
int | mb_y, | ||
uint8_t * | img_y, | ||
uint8_t * | img_cb, | ||
uint8_t * | img_cr, | ||
unsigned int | linesize, | ||
unsigned int | uvlinesize | ||
) |
Definition at line 717 of file h264_loopfilter.c.
Referenced by ff_h264_filter_mb_fast(), and loop_filter().
|
static |
Definition at line 38 of file h264_loopfilter.c.
Referenced by filter_mb_edgech(), filter_mb_edgecv(), filter_mb_edgeh(), filter_mb_edgev(), filter_mb_mbaff_edgecv(), and filter_mb_mbaff_edgev().
|
static |
Definition at line 54 of file h264_loopfilter.c.
Referenced by filter_mb_edgech(), filter_mb_edgecv(), filter_mb_edgeh(), filter_mb_edgev(), filter_mb_mbaff_edgecv(), and filter_mb_mbaff_edgev().
|
static |
Definition at line 70 of file h264_loopfilter.c.
Referenced by filter_mb_edgech(), filter_mb_edgecv(), filter_mb_edgeh(), filter_mb_edgev(), filter_mb_mbaff_edgecv(), and filter_mb_mbaff_edgev().