FFmpeg
|
#include <stddef.h>
#include "libavutil/attributes.h"
#include "libavutil/internal.h"
#include "libavutil/mem_internal.h"
#include "avcodec.h"
#include "copy_block.h"
#include "simple_idct.h"
#include "me_cmp.h"
#include "mpegvideoenc.h"
#include "config.h"
#include "config_components.h"
Go to the source code of this file.
Macros | |
#define | avg2(a, b) (((a) + (b) + 1) >> 1) |
#define | avg4(a, b, c, d) (((a) + (b) + (c) + (d) + 2) >> 2) |
#define | V(x) (pix1[x] - pix2[x]) |
#define | V(x) (pix1[x] - pix2[x]) |
#define | ENTRY(CMP_FLAG, ARRAY, MPVENC_ONLY) |
#define | BUTTERFLY2(o1, o2, i1, i2) |
#define | BUTTERFLY1(x, y) |
#define | BUTTERFLYA(x, y) (FFABS((x) + (y)) + FFABS((x) - (y))) |
#define | VSAD_INTRA(size) |
#define | VSAD(size) |
#define | SQ(a) ((a) * (a)) |
#define | VSSE_INTRA(size) |
#define | VSSE(size) |
#define | WRAPPER8_16_SQ(name8, name16) |
#define | SET_CMP_FUNC(name) |
Functions | |
static int | sse4_c (MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h) |
static int | sse8_c (MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h) |
static int | sse16_c (MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h) |
static int | sum_abs_dctelem_c (const int16_t *block) |
static int | pix_abs16_c (MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h) |
static int | pix_median_abs16_c (MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h) |
static int | pix_abs16_x2_c (MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h) |
static int | pix_abs16_y2_c (MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h) |
static int | pix_abs16_xy2_c (MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h) |
static int | pix_abs8_c (MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h) |
static int | pix_median_abs8_c (MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h) |
static int | pix_abs8_x2_c (MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h) |
static int | pix_abs8_y2_c (MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h) |
static int | pix_abs8_xy2_c (MpegEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t stride, int h) |
static int | nsse16_c (MpegEncContext *c, const uint8_t *s1, const uint8_t *s2, ptrdiff_t stride, int h) |
static int | nsse8_c (MpegEncContext *c, const uint8_t *s1, const uint8_t *s2, ptrdiff_t stride, int h) |
static int | zero_cmp (MpegEncContext *s, const uint8_t *a, const uint8_t *b, ptrdiff_t stride, int h) |
av_cold int | ff_set_cmp (const MECmpContext *c, me_cmp_func *cmp, int type, int mpvenc) |
Fill the function pointer array cmp[6] with me_cmp_funcs from c based upon type. More... | |
static int | hadamard8_diff8x8_c (MpegEncContext *s, const uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int h) |
static int | hadamard8_intra8x8_c (MpegEncContext *s, const uint8_t *src, const uint8_t *dummy, ptrdiff_t stride, int h) |
static int | dct_sad8x8_c (MpegEncContext *s, const uint8_t *src1, const uint8_t *src2, ptrdiff_t stride, int h) |
static int | dct_max8x8_c (MpegEncContext *s, const uint8_t *src1, const uint8_t *src2, ptrdiff_t stride, int h) |
static int | quant_psnr8x8_c (MpegEncContext *s, const uint8_t *src1, const uint8_t *src2, ptrdiff_t stride, int h) |
static int | rd8x8_c (MpegEncContext *s, const uint8_t *src1, const uint8_t *src2, ptrdiff_t stride, int h) |
static int | bit8x8_c (MpegEncContext *s, const uint8_t *src1, const uint8_t *src2, ptrdiff_t stride, int h) |
av_cold void | ff_me_cmp_init (MECmpContext *c, AVCodecContext *avctx) |
Variables | |
const uint32_t | ff_square_tab [512] |
#define V | ( | x | ) | (pix1[x] - pix2[x]) |
#define V | ( | x | ) | (pix1[x] - pix2[x]) |
#define ENTRY | ( | CMP_FLAG, | |
ARRAY, | |||
MPVENC_ONLY | |||
) |
#define BUTTERFLY2 | ( | o1, | |
o2, | |||
i1, | |||
i2 | |||
) |
#define BUTTERFLY1 | ( | x, | |
y | |||
) |
#define VSAD_INTRA | ( | size | ) |
#define VSAD | ( | size | ) |
#define VSSE_INTRA | ( | size | ) |
#define VSSE | ( | size | ) |
#define WRAPPER8_16_SQ | ( | name8, | |
name16 | |||
) |
|
static |
Definition at line 72 of file me_cmp.c.
Referenced by ff_me_cmp_init().
|
static |
Definition at line 89 of file me_cmp.c.
Referenced by ff_me_cmp_init().
|
static |
Definition at line 110 of file me_cmp.c.
Referenced by ff_me_cmp_init().
|
static |
Definition at line 140 of file me_cmp.c.
Referenced by ff_me_cmp_init().
|
inlinestatic |
Definition at line 152 of file me_cmp.c.
Referenced by ff_me_cmp_init().
|
inlinestatic |
Definition at line 180 of file me_cmp.c.
Referenced by ff_me_cmp_init().
|
static |
Definition at line 219 of file me_cmp.c.
Referenced by ff_me_cmp_init().
|
static |
Definition at line 247 of file me_cmp.c.
Referenced by ff_me_cmp_init().
|
static |
Definition at line 277 of file me_cmp.c.
Referenced by ff_me_cmp_init().
|
inlinestatic |
Definition at line 307 of file me_cmp.c.
Referenced by ff_me_cmp_init().
|
inlinestatic |
Definition at line 327 of file me_cmp.c.
Referenced by ff_me_cmp_init().
|
static |
Definition at line 358 of file me_cmp.c.
Referenced by ff_me_cmp_init().
|
static |
Definition at line 378 of file me_cmp.c.
Referenced by ff_me_cmp_init().
|
static |
Definition at line 400 of file me_cmp.c.
Referenced by ff_me_cmp_init().
|
static |
Definition at line 422 of file me_cmp.c.
Referenced by ff_me_cmp_init().
|
static |
Definition at line 447 of file me_cmp.c.
Referenced by ff_me_cmp_init().
|
static |
Definition at line 472 of file me_cmp.c.
Referenced by ff_set_cmp().
av_cold int ff_set_cmp | ( | const MECmpContext * | c, |
me_cmp_func * | cmp, | ||
int | type, | ||
int | mpvenc | ||
) |
Fill the function pointer array cmp[6] with me_cmp_funcs from c based upon type.
If mpvenc is not set, an error is returned if the type of comparison functions requires an initialized MpegEncContext.
Definition at line 478 of file me_cmp.c.
Referenced by dvvideo_encode_init(), ff_me_init(), and me_cmp_init().
|
static |
|
static |
Definition at line 599 of file me_cmp.c.
Referenced by ff_me_cmp_init().
|
static |
|
static |
|
static |
|
static |
|
static |
av_cold void ff_me_cmp_init | ( | MECmpContext * | c, |
AVCodecContext * | avctx | ||
) |
Definition at line 996 of file me_cmp.c.
Referenced by check_motion(), dvvideo_encode_init(), encode_init(), ff_ac3_encode_init(), ff_er_frame_start(), main(), me_cmp_init(), and svq1_encode_init().
const uint32_t ff_square_tab[512] |
Definition at line 37 of file me_cmp.c.
Referenced by pix_norm1(), pix_norm1_c(), sse(), sse16_c(), sse4_c(), and sse8_c().