FFmpeg
Macros | Functions
vp9mvs.c File Reference
#include "internal.h"
#include "vp56.h"
#include "vp9.h"
#include "vp9data.h"
#include "vp9dec.h"

Go to the source code of this file.

Macros

#define INVALID_MV   0x80008000U
 
#define RETURN_DIRECT_MV(mv)
 
#define RETURN_MV(mv)
 
#define RETURN_SCALE_MV(mv, scale)
 

Functions

static av_always_inline void clamp_mv (VP56mv *dst, const VP56mv *src, VP9TileData *td)
 
static void find_ref_mvs (VP9TileData *td, VP56mv *pmv, int ref, int z, int idx, int sb)
 
static av_always_inline int read_mv_component (VP9TileData *td, int idx, int hp)
 
void ff_vp9_fill_mv (VP9TileData *td, VP56mv *mv, int mode, int sb)
 

Macro Definition Documentation

◆ INVALID_MV

#define INVALID_MV   0x80008000U

◆ RETURN_DIRECT_MV

#define RETURN_DIRECT_MV (   mv)
Value:
do { \
uint32_t m = AV_RN32A(&mv); \
if (!idx) { \
AV_WN32A(pmv, m); \
return; \
} else if (mem == INVALID_MV) { \
mem = m; \
} else if (m != mem) { \
AV_WN32A(pmv, m); \
return; \
} \
} while (0)

◆ RETURN_MV

#define RETURN_MV (   mv)

◆ RETURN_SCALE_MV

#define RETURN_SCALE_MV (   mv,
  scale 
)
Value:
do { \
if (scale) { \
VP56mv mv_temp = { -mv.x, -mv.y }; \
RETURN_MV(mv_temp); \
} else { \
RETURN_MV(mv); \
} \
} while (0)

Function Documentation

◆ clamp_mv()

static av_always_inline void clamp_mv ( VP56mv dst,
const VP56mv src,
VP9TileData td 
)
static

Definition at line 30 of file vp9mvs.c.

Referenced by find_ref_mvs().

◆ find_ref_mvs()

static void find_ref_mvs ( VP9TileData td,
VP56mv pmv,
int  ref,
int  z,
int  idx,
int  sb 
)
static

Definition at line 37 of file vp9mvs.c.

Referenced by ff_vp9_fill_mv().

◆ read_mv_component()

static av_always_inline int read_mv_component ( VP9TileData td,
int  idx,
int  hp 
)
static

Definition at line 236 of file vp9mvs.c.

Referenced by ff_vp9_fill_mv().

◆ ff_vp9_fill_mv()

void ff_vp9_fill_mv ( VP9TileData td,
VP56mv mv,
int  mode,
int  sb 
)

Definition at line 291 of file vp9mvs.c.

Referenced by decode_mode().

mv
static const int8_t mv[256][2]
Definition: 4xm.c:79
INVALID_MV
#define INVALID_MV
scale
static av_always_inline float scale(float x, float s)
Definition: vf_v360.c:1388
AV_RN32A
#define AV_RN32A(p)
Definition: intreadwrite.h:526