FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
cavsdsp.c File Reference
#include <stdio.h>
#include "idctdsp.h"
#include "mathops.h"
#include "cavsdsp.h"
#include "libavutil/common.h"

Go to the source code of this file.

Macros

#define P2   p0_p[-3*stride]
 
#define P1   p0_p[-2*stride]
 
#define P0   p0_p[-1*stride]
 
#define Q0   p0_p[ 0*stride]
 
#define Q1   p0_p[ 1*stride]
 
#define Q2   p0_p[ 2*stride]
 
#define CAVS_SUBPIX(OPNAME, OP, NAME, A, B, C, D, E, F)
 
#define CAVS_SUBPIX_HV(OPNAME, OP, NAME, AH, BH, CH, DH, EH, FH, AV, BV, CV, DV, EV, FV, FULL)
 
#define CAVS_MC(OPNAME, SIZE)
 
#define op_put1(a, b)   a = cm[((b)+4)>>3]
 
#define op_put2(a, b)   a = cm[((b)+64)>>7]
 
#define op_put3(a, b)   a = cm[((b)+32)>>6]
 
#define op_put4(a, b)   a = cm[((b)+512)>>10]
 
#define op_avg1(a, b)   a = ((a)+cm[((b)+4)>>3] +1)>>1
 
#define op_avg2(a, b)   a = ((a)+cm[((b)+64)>>7] +1)>>1
 
#define op_avg3(a, b)   a = ((a)+cm[((b)+32)>>6] +1)>>1
 
#define op_avg4(a, b)   a = ((a)+cm[((b)+512)>>10]+1)>>1
 
#define put_cavs_qpel8_mc00_c   ff_put_pixels8x8_c
 
#define avg_cavs_qpel8_mc00_c   ff_avg_pixels8x8_c
 
#define put_cavs_qpel16_mc00_c   ff_put_pixels16x16_c
 
#define avg_cavs_qpel16_mc00_c   ff_avg_pixels16x16_c
 
#define dspfunc(PFX, IDX, NUM)
 

Functions

static void loop_filter_l2 (uint8_t *p0_p, int stride, int alpha, int beta)
 
static void loop_filter_l1 (uint8_t *p0_p, int stride, int alpha, int beta, int tc)
 
static void loop_filter_c2 (uint8_t *p0_p, int stride, int alpha, int beta)
 
static void loop_filter_c1 (uint8_t *p0_p, int stride, int alpha, int beta, int tc)
 
static void cavs_filter_lv_c (uint8_t *d, int stride, int alpha, int beta, int tc, int bs1, int bs2)
 
static void cavs_filter_lh_c (uint8_t *d, int stride, int alpha, int beta, int tc, int bs1, int bs2)
 
static void cavs_filter_cv_c (uint8_t *d, int stride, int alpha, int beta, int tc, int bs1, int bs2)
 
static void cavs_filter_ch_c (uint8_t *d, int stride, int alpha, int beta, int tc, int bs1, int bs2)
 
static void cavs_idct8_add_c (uint8_t *dst, int16_t *block, int stride)
 
av_cold void ff_cavsdsp_init (CAVSDSPContext *c, AVCodecContext *avctx)
 

Macro Definition Documentation

#define P2   p0_p[-3*stride]

Definition at line 38 of file cavsdsp.c.

Referenced by loop_filter_c2(), loop_filter_l1(), and loop_filter_l2().

#define P1   p0_p[-2*stride]

Definition at line 39 of file cavsdsp.c.

Referenced by loop_filter_c1(), loop_filter_c2(), loop_filter_l1(), and loop_filter_l2().

#define P0   p0_p[-1*stride]

Definition at line 40 of file cavsdsp.c.

Referenced by loop_filter_c1(), loop_filter_c2(), loop_filter_l1(), and loop_filter_l2().

#define Q0   p0_p[ 0*stride]

Definition at line 41 of file cavsdsp.c.

Referenced by loop_filter_c1(), loop_filter_c2(), loop_filter_l1(), and loop_filter_l2().

#define Q1   p0_p[ 1*stride]

Definition at line 42 of file cavsdsp.c.

Referenced by loop_filter_c1(), loop_filter_c2(), loop_filter_l1(), and loop_filter_l2().

#define Q2   p0_p[ 2*stride]

Definition at line 43 of file cavsdsp.c.

Referenced by loop_filter_c2(), loop_filter_l1(), and loop_filter_l2().

#define CAVS_SUBPIX (   OPNAME,
  OP,
  NAME,
  A,
  B,
  C,
  D,
  E,
  F 
)

Definition at line 262 of file cavsdsp.c.

#define CAVS_SUBPIX_HV (   OPNAME,
  OP,
  NAME,
  AH,
  BH,
  CH,
  DH,
  EH,
  FH,
  AV,
  BV,
  CV,
  DV,
  EV,
  FV,
  FULL 
)

Definition at line 332 of file cavsdsp.c.

#define CAVS_MC (   OPNAME,
  SIZE 
)

Definition at line 424 of file cavsdsp.c.

#define op_put1 (   a,
  b 
)    a = cm[((b)+4)>>3]

Definition at line 500 of file cavsdsp.c.

#define op_put2 (   a,
  b 
)    a = cm[((b)+64)>>7]

Definition at line 501 of file cavsdsp.c.

#define op_put3 (   a,
  b 
)    a = cm[((b)+32)>>6]

Definition at line 502 of file cavsdsp.c.

#define op_put4 (   a,
  b 
)    a = cm[((b)+512)>>10]

Definition at line 503 of file cavsdsp.c.

#define op_avg1 (   a,
  b 
)    a = ((a)+cm[((b)+4)>>3] +1)>>1

Definition at line 504 of file cavsdsp.c.

#define op_avg2 (   a,
  b 
)    a = ((a)+cm[((b)+64)>>7] +1)>>1

Definition at line 505 of file cavsdsp.c.

#define op_avg3 (   a,
  b 
)    a = ((a)+cm[((b)+32)>>6] +1)>>1

Definition at line 506 of file cavsdsp.c.

#define op_avg4 (   a,
  b 
)    a = ((a)+cm[((b)+512)>>10]+1)>>1

Definition at line 507 of file cavsdsp.c.

#define put_cavs_qpel8_mc00_c   ff_put_pixels8x8_c

Definition at line 531 of file cavsdsp.c.

#define avg_cavs_qpel8_mc00_c   ff_avg_pixels8x8_c

Definition at line 532 of file cavsdsp.c.

#define put_cavs_qpel16_mc00_c   ff_put_pixels16x16_c

Definition at line 533 of file cavsdsp.c.

#define avg_cavs_qpel16_mc00_c   ff_avg_pixels16x16_c

Definition at line 534 of file cavsdsp.c.

#define dspfunc (   PFX,
  IDX,
  NUM 
)
Value:
c->PFX ## _pixels_tab[IDX][ 0] = PFX ## NUM ## _mc00_c; \
c->PFX ## _pixels_tab[IDX][ 1] = PFX ## NUM ## _mc10_c; \
c->PFX ## _pixels_tab[IDX][ 2] = PFX ## NUM ## _mc20_c; \
c->PFX ## _pixels_tab[IDX][ 3] = PFX ## NUM ## _mc30_c; \
c->PFX ## _pixels_tab[IDX][ 4] = PFX ## NUM ## _mc01_c; \
c->PFX ## _pixels_tab[IDX][ 5] = PFX ## NUM ## _mc11_c; \
c->PFX ## _pixels_tab[IDX][ 6] = PFX ## NUM ## _mc21_c; \
c->PFX ## _pixels_tab[IDX][ 7] = PFX ## NUM ## _mc31_c; \
c->PFX ## _pixels_tab[IDX][ 8] = PFX ## NUM ## _mc02_c; \
c->PFX ## _pixels_tab[IDX][ 9] = PFX ## NUM ## _mc12_c; \
c->PFX ## _pixels_tab[IDX][10] = PFX ## NUM ## _mc22_c; \
c->PFX ## _pixels_tab[IDX][11] = PFX ## NUM ## _mc32_c; \
c->PFX ## _pixels_tab[IDX][12] = PFX ## NUM ## _mc03_c; \
c->PFX ## _pixels_tab[IDX][13] = PFX ## NUM ## _mc13_c; \
c->PFX ## _pixels_tab[IDX][14] = PFX ## NUM ## _mc23_c; \
c->PFX ## _pixels_tab[IDX][15] = PFX ## NUM ## _mc33_c
static AVCodec * c

Referenced by ff_cavsdsp_init(), and ff_h264qpel_init_ppc().

Function Documentation

static void loop_filter_l2 ( uint8_t p0_p,
int  stride,
int  alpha,
int  beta 
)
inlinestatic

Definition at line 45 of file cavsdsp.c.

Referenced by cavs_filter_lh_c(), and cavs_filter_lv_c().

static void loop_filter_l1 ( uint8_t p0_p,
int  stride,
int  alpha,
int  beta,
int  tc 
)
inlinestatic

Definition at line 65 of file cavsdsp.c.

Referenced by cavs_filter_lh_c(), and cavs_filter_lv_c().

static void loop_filter_c2 ( uint8_t p0_p,
int  stride,
int  alpha,
int  beta 
)
inlinestatic

Definition at line 84 of file cavsdsp.c.

Referenced by cavs_filter_ch_c(), and cavs_filter_cv_c().

static void loop_filter_c1 ( uint8_t p0_p,
int  stride,
int  alpha,
int  beta,
int  tc 
)
inlinestatic

Definition at line 102 of file cavsdsp.c.

Referenced by cavs_filter_ch_c(), and cavs_filter_cv_c().

static void cavs_filter_lv_c ( uint8_t d,
int  stride,
int  alpha,
int  beta,
int  tc,
int  bs1,
int  bs2 
)
static

Definition at line 118 of file cavsdsp.c.

Referenced by ff_cavsdsp_init().

static void cavs_filter_lh_c ( uint8_t d,
int  stride,
int  alpha,
int  beta,
int  tc,
int  bs1,
int  bs2 
)
static

Definition at line 134 of file cavsdsp.c.

Referenced by ff_cavsdsp_init().

static void cavs_filter_cv_c ( uint8_t d,
int  stride,
int  alpha,
int  beta,
int  tc,
int  bs1,
int  bs2 
)
static

Definition at line 150 of file cavsdsp.c.

Referenced by ff_cavsdsp_init().

static void cavs_filter_ch_c ( uint8_t d,
int  stride,
int  alpha,
int  beta,
int  tc,
int  bs1,
int  bs2 
)
static

Definition at line 166 of file cavsdsp.c.

Referenced by ff_cavsdsp_init().

static void cavs_idct8_add_c ( uint8_t dst,
int16_t *  block,
int  stride 
)
static

Definition at line 188 of file cavsdsp.c.

Referenced by ff_cavsdsp_init().

av_cold void ff_cavsdsp_init ( CAVSDSPContext c,
AVCodecContext avctx 
)

Definition at line 536 of file cavsdsp.c.

Referenced by ff_cavs_init().