FFmpeg
|
RV40 decoder motion compensation functions. More...
#include "avcodec.h"
#include "h264qpel.h"
#include "rv34dsp.h"
#include "libavutil/avassert.h"
#include "libavutil/common.h"
Go to the source code of this file.
Macros | |
#define | RV40_LOWPASS(OPNAME, OP) |
#define | RV40_MC(OPNAME, SIZE) |
#define | op_avg(a, b) a = (((a)+cm[b]+1)>>1) |
#define | op_put(a, b) a = cm[b] |
#define | RV40_CHROMA_MC(OPNAME, OP) |
#define | op_avg(a, b) a = (((a)+((b)>>6)+1)>>1) |
#define | op_put(a, b) a = ((b)>>6) |
#define | RV40_WEIGHT_FUNC(size) |
#define | CLIP_SYMM(a, b) av_clip(a, -(b), b) |
Functions | |
static av_always_inline void | rv40_weak_loop_filter (uint8_t *src, const int step, const ptrdiff_t stride, const int filter_p1, const int filter_q1, const int alpha, const int beta, const int lim_p0q0, const int lim_q1, const int lim_p1) |
weaker deblocking very similar to the one described in 4.4.2 of JVT-A003r1 | |
static void | rv40_h_weak_loop_filter (uint8_t *src, const ptrdiff_t stride, const int filter_p1, const int filter_q1, const int alpha, const int beta, const int lim_p0q0, const int lim_q1, const int lim_p1) |
static void | rv40_v_weak_loop_filter (uint8_t *src, const ptrdiff_t stride, const int filter_p1, const int filter_q1, const int alpha, const int beta, const int lim_p0q0, const int lim_q1, const int lim_p1) |
static av_always_inline void | rv40_strong_loop_filter (uint8_t *src, const int step, const ptrdiff_t stride, const int alpha, const int lims, const int dmode, const int chroma) |
static void | rv40_h_strong_loop_filter (uint8_t *src, const ptrdiff_t stride, const int alpha, const int lims, const int dmode, const int chroma) |
static void | rv40_v_strong_loop_filter (uint8_t *src, const ptrdiff_t stride, const int alpha, const int lims, const int dmode, const int chroma) |
static av_always_inline int | rv40_loop_filter_strength (uint8_t *src, int step, ptrdiff_t stride, int beta, int beta2, int edge, int *p1, int *q1) |
static int | rv40_h_loop_filter_strength (uint8_t *src, ptrdiff_t stride, int beta, int beta2, int edge, int *p1, int *q1) |
static int | rv40_v_loop_filter_strength (uint8_t *src, ptrdiff_t stride, int beta, int beta2, int edge, int *p1, int *q1) |
av_cold void | ff_rv40dsp_init (RV34DSPContext *c) |
Variables | |
static const int | rv40_bias [4][4] |
static const uint8_t | rv40_dither_l [16] |
dither values for deblocking filter - left/top values | |
static const uint8_t | rv40_dither_r [16] |
dither values for deblocking filter - right/bottom values | |
RV40 decoder motion compensation functions.
Definition in file rv40dsp.c.
#define RV40_WEIGHT_FUNC | ( | size | ) |
Definition at line 327 of file rv40dsp.c.
Referenced by rv40_weak_loop_filter().
|
static |
weaker deblocking very similar to the one described in 4.4.2 of JVT-A003r1
Definition at line 331 of file rv40dsp.c.
Referenced by rv40_h_weak_loop_filter(), and rv40_v_weak_loop_filter().
|
static |
Definition at line 379 of file rv40dsp.c.
Referenced by ff_rv40dsp_init().
|
static |
Definition at line 389 of file rv40dsp.c.
Referenced by ff_rv40dsp_init().
|
static |
Definition at line 399 of file rv40dsp.c.
Referenced by rv40_h_strong_loop_filter(), and rv40_v_strong_loop_filter().
|
static |
Definition at line 457 of file rv40dsp.c.
Referenced by ff_rv40dsp_init().
|
static |
Definition at line 464 of file rv40dsp.c.
Referenced by ff_rv40dsp_init().
|
static |
Definition at line 471 of file rv40dsp.c.
Referenced by rv40_h_loop_filter_strength(), and rv40_v_loop_filter_strength().
|
static |
Definition at line 507 of file rv40dsp.c.
Referenced by ff_rv40dsp_init().
|
static |
Definition at line 514 of file rv40dsp.c.
Referenced by ff_rv40dsp_init().
av_cold void ff_rv40dsp_init | ( | RV34DSPContext * | c | ) |
Definition at line 521 of file rv40dsp.c.
Referenced by ff_rv34_decode_init().
|
static |
|
static |
dither values for deblocking filter - left/top values
Definition at line 314 of file rv40dsp.c.
Referenced by rv40_strong_loop_filter().