#include <stdint.h>
#include "libavcodec/vp8dsp.h"
Go to the source code of this file.
Defines | |
#define | idct_funcs(opt) |
#define | simple_lf_funcs(opt) |
#define | VP8_MC_OPT(n, opt) |
#define | VP8_MC(n) VP8_MC_OPT(n, neon) |
#define | VP8_EPEL(w) |
#define | VP8_V6_MC(n) |
#define | VP8_EPEL_HV(SIZE, TAPNUMX, TAPNUMY, NAME, HNAME, VNAME, MAXHEIGHT) |
#define | VP8_EPEL_H_OR_V(SIZE, NAME, HV) |
#define | set_func_ptrs(opt) |
Functions | |
void | ff_vp8_luma_dc_wht_dc_armv6 (DCTELEM block[4][4][16], DCTELEM dc[16]) |
This file is part of FFmpeg. | |
idct_funcs (neon) | |
idct_funcs (armv6) | |
void | ff_vp8_v_loop_filter16_neon (uint8_t *dst, int stride, int flim_E, int flim_I, int hev_thresh) |
void | ff_vp8_h_loop_filter16_neon (uint8_t *dst, int stride, int flim_E, int flim_I, int hev_thresh) |
void | ff_vp8_v_loop_filter8uv_neon (uint8_t *dstU, uint8_t *dstV, int stride, int flim_E, int flim_I, int hev_thresh) |
void | ff_vp8_h_loop_filter8uv_neon (uint8_t *dstU, uint8_t *dstV, int stride, int flim_E, int flim_I, int hev_thresh) |
void | ff_vp8_v_loop_filter16_inner_neon (uint8_t *dst, int stride, int flim_E, int flim_I, int hev_thresh) |
void | ff_vp8_h_loop_filter16_inner_neon (uint8_t *dst, int stride, int flim_E, int flim_I, int hev_thresh) |
void | ff_vp8_v_loop_filter8uv_inner_neon (uint8_t *dstU, uint8_t *dstV, int stride, int flim_E, int flim_I, int hev_thresh) |
void | ff_vp8_h_loop_filter8uv_inner_neon (uint8_t *dstU, uint8_t *dstV, int stride, int flim_E, int flim_I, int hev_thresh) |
void | ff_vp8_v_loop_filter_inner_armv6 (uint8_t *dst, int stride, int flim_E, int flim_I, int hev_thresh, int count) |
void | ff_vp8_h_loop_filter_inner_armv6 (uint8_t *dst, int stride, int flim_E, int flim_I, int hev_thresh, int count) |
void | ff_vp8_v_loop_filter_armv6 (uint8_t *dst, int stride, int flim_E, int flim_I, int hev_thresh, int count) |
void | ff_vp8_h_loop_filter_armv6 (uint8_t *dst, int stride, int flim_E, int flim_I, int hev_thresh, int count) |
static void | ff_vp8_v_loop_filter16_armv6 (uint8_t *dst, int stride, int flim_E, int flim_I, int hev_thresh) |
static void | ff_vp8_h_loop_filter16_armv6 (uint8_t *dst, int stride, int flim_E, int flim_I, int hev_thresh) |
static void | ff_vp8_v_loop_filter8uv_armv6 (uint8_t *dstU, uint8_t *dstV, int stride, int flim_E, int flim_I, int hev_thresh) |
static void | ff_vp8_h_loop_filter8uv_armv6 (uint8_t *dstU, uint8_t *dstV, int stride, int flim_E, int flim_I, int hev_thresh) |
static void | ff_vp8_v_loop_filter16_inner_armv6 (uint8_t *dst, int stride, int flim_E, int flim_I, int hev_thresh) |
static void | ff_vp8_h_loop_filter16_inner_armv6 (uint8_t *dst, int stride, int flim_E, int flim_I, int hev_thresh) |
static void | ff_vp8_v_loop_filter8uv_inner_armv6 (uint8_t *dstU, uint8_t *dstV, int stride, int flim_E, int flim_I, int hev_thresh) |
static void | ff_vp8_h_loop_filter8uv_inner_armv6 (uint8_t *dstU, uint8_t *dstV, int stride, int flim_E, int flim_I, int hev_thresh) |
simple_lf_funcs (neon) | |
simple_lf_funcs (armv6) | |
VP8_EPEL (16) | |
VP8_MC (pixels16) | |
VP8_MC_OPT (pixels16, armv6) | |
VP8_EPEL (8) | |
VP8_MC (pixels8) | |
VP8_MC_OPT (pixels8, armv6) | |
VP8_EPEL (4) | |
VP8_MC_OPT (pixels4, armv6) | |
VP8_MC (bilin16_h) | |
VP8_MC (bilin16_v) | |
VP8_MC (bilin16_hv) | |
VP8_MC (bilin8_h) | |
VP8_MC (bilin8_v) | |
VP8_MC (bilin8_hv) | |
VP8_MC (bilin4_h) | |
VP8_MC (bilin4_v) | |
VP8_MC (bilin4_hv) | |
VP8_V6_MC (epel_v6) | |
VP8_V6_MC (epel_h6) | |
VP8_V6_MC (epel_v4) | |
VP8_V6_MC (epel_h4) | |
VP8_V6_MC (bilin_v) | |
VP8_V6_MC (bilin_h) | |
VP8_EPEL_HV (16, 6, 6, epel, h6, v6, 16) | |
VP8_EPEL_HV (16, 2, 2, bilin, h, v, 16) | |
VP8_EPEL_HV (8, 6, 6, epel, h6, v6, 16) | |
VP8_EPEL_HV (8, 4, 6, epel, h4, v6, 16) | |
VP8_EPEL_HV (8, 6, 4, epel, h6, v4, 16) | |
VP8_EPEL_HV (8, 4, 4, epel, h4, v4, 16) | |
VP8_EPEL_HV (8, 2, 2, bilin, h, v, 16) | |
VP8_EPEL_HV (4, 6, 6, epel, h6, v6, 8) | |
VP8_EPEL_HV (4, 4, 6, epel, h4, v6, 8) | |
VP8_EPEL_HV (4, 6, 4, epel, h6, v4, 8) | |
VP8_EPEL_HV (4, 4, 4, epel, h4, v4, 8) | |
VP8_EPEL_HV (4, 2, 2, bilin, h, v, 8) | |
void | put_vp8_epel4_v6_c (uint8_t *dst, int d, uint8_t *src, int s, int h, int mx, int my) |
VP8_EPEL_H_OR_V (4, epel, h6) | |
VP8_EPEL_H_OR_V (4, epel, h4) | |
VP8_EPEL_H_OR_V (4, epel, v6) | |
VP8_EPEL_H_OR_V (4, epel, v4) | |
VP8_EPEL_H_OR_V (4, bilin, v) | |
VP8_EPEL_H_OR_V (4, bilin, h) | |
VP8_EPEL_H_OR_V (8, epel, h6) | |
VP8_EPEL_H_OR_V (8, epel, h4) | |
VP8_EPEL_H_OR_V (8, epel, v6) | |
VP8_EPEL_H_OR_V (8, epel, v4) | |
VP8_EPEL_H_OR_V (8, bilin, v) | |
VP8_EPEL_H_OR_V (8, bilin, h) | |
VP8_EPEL_H_OR_V (16, epel, h6) | |
VP8_EPEL_H_OR_V (16, epel, v6) | |
VP8_EPEL_H_OR_V (16, bilin, v) | |
VP8_EPEL_H_OR_V (16, bilin, h) | |
av_cold void | ff_vp8dsp_init_arm (VP8DSPContext *dsp) |
#define idct_funcs | ( | opt | ) |
Value:
void ff_vp8_luma_dc_wht_ ## opt(DCTELEM block[4][4][16], DCTELEM dc[16]); \ void ff_vp8_idct_add_ ## opt(uint8_t *dst, DCTELEM block[16], int stride); \ void ff_vp8_idct_dc_add_ ## opt(uint8_t *dst, DCTELEM block[16], int stride); \ void ff_vp8_idct_dc_add4y_ ## opt(uint8_t *dst, DCTELEM block[4][16], int stride); \ void ff_vp8_idct_dc_add4uv_ ## opt(uint8_t *dst, DCTELEM block[4][16], int stride)
Definition at line 24 of file vp8dsp_init_arm.c.
#define set_func_ptrs | ( | opt | ) |
Referenced by ff_vp8dsp_init_arm().
#define simple_lf_funcs | ( | opt | ) |
Value:
void ff_vp8_v_loop_filter16_simple_ ## opt(uint8_t *dst, int stride, int flim); \ void ff_vp8_h_loop_filter16_simple_ ## opt(uint8_t *dst, int stride, int flim)
Definition at line 121 of file vp8dsp_init_arm.c.
#define VP8_EPEL | ( | w | ) |
#define VP8_EPEL_H_OR_V | ( | SIZE, | |||
NAME, | |||||
HV | ) |
#define VP8_EPEL_HV | ( | SIZE, | |||
TAPNUMX, | |||||
TAPNUMY, | |||||
NAME, | |||||
HNAME, | |||||
VNAME, | |||||
MAXHEIGHT | ) |
Value:
static void ff_put_vp8_##NAME##SIZE##_##HNAME##VNAME##_armv6( \ uint8_t *dst, int dststride, uint8_t *src, \ int srcstride, int h, int mx, int my) \ { \ DECLARE_ALIGNED(4, uint8_t, tmp)[SIZE * (MAXHEIGHT + TAPNUMY - 1)]; \ uint8_t *tmpptr = tmp + SIZE * (TAPNUMY / 2 - 1); \ src -= srcstride * (TAPNUMY / 2 - 1); \ ff_put_vp8_ ## NAME ## _ ## HNAME ## _armv6(tmp, SIZE, src, srcstride, \ SIZE, h + TAPNUMY - 1, mx); \ ff_put_vp8_ ## NAME ## _ ## VNAME ## _armv6(dst, dststride, tmpptr, SIZE, \ SIZE, h, my); \ }
Definition at line 176 of file vp8dsp_init_arm.c.
#define VP8_MC | ( | n | ) | VP8_MC_OPT(n, neon) |
Definition at line 133 of file vp8dsp_init_arm.c.
#define VP8_MC_OPT | ( | n, | |||
opt | ) |
Value:
void ff_put_vp8_##n##_##opt(uint8_t *dst, int dststride, \ uint8_t *src, int srcstride, \ int h, int x, int y)
Definition at line 128 of file vp8dsp_init_arm.c.
#define VP8_V6_MC | ( | n | ) |
Value:
void ff_put_vp8_##n##_armv6(uint8_t *dst, int dststride, uint8_t *src, \ int srcstride, int w, int h, int mxy)
Definition at line 165 of file vp8dsp_init_arm.c.
static void ff_vp8_h_loop_filter16_armv6 | ( | uint8_t * | dst, | |
int | stride, | |||
int | flim_E, | |||
int | flim_I, | |||
int | hev_thresh | |||
) | [static] |
Definition at line 73 of file vp8dsp_init_arm.c.
static void ff_vp8_h_loop_filter16_inner_armv6 | ( | uint8_t * | dst, | |
int | stride, | |||
int | flim_E, | |||
int | flim_I, | |||
int | hev_thresh | |||
) | [static] |
Definition at line 99 of file vp8dsp_init_arm.c.
void ff_vp8_h_loop_filter16_inner_neon | ( | uint8_t * | dst, | |
int | stride, | |||
int | flim_E, | |||
int | flim_I, | |||
int | hev_thresh | |||
) |
void ff_vp8_h_loop_filter16_neon | ( | uint8_t * | dst, | |
int | stride, | |||
int | flim_E, | |||
int | flim_I, | |||
int | hev_thresh | |||
) |
static void ff_vp8_h_loop_filter8uv_armv6 | ( | uint8_t * | dstU, | |
uint8_t * | dstV, | |||
int | stride, | |||
int | flim_E, | |||
int | flim_I, | |||
int | hev_thresh | |||
) | [static] |
Definition at line 86 of file vp8dsp_init_arm.c.
static void ff_vp8_h_loop_filter8uv_inner_armv6 | ( | uint8_t * | dstU, | |
uint8_t * | dstV, | |||
int | stride, | |||
int | flim_E, | |||
int | flim_I, | |||
int | hev_thresh | |||
) | [static] |
Definition at line 113 of file vp8dsp_init_arm.c.
void ff_vp8_h_loop_filter8uv_inner_neon | ( | uint8_t * | dstU, | |
uint8_t * | dstV, | |||
int | stride, | |||
int | flim_E, | |||
int | flim_I, | |||
int | hev_thresh | |||
) |
void ff_vp8_h_loop_filter8uv_neon | ( | uint8_t * | dstU, | |
uint8_t * | dstV, | |||
int | stride, | |||
int | flim_E, | |||
int | flim_I, | |||
int | hev_thresh | |||
) |
void ff_vp8_h_loop_filter_armv6 | ( | uint8_t * | dst, | |
int | stride, | |||
int | flim_E, | |||
int | flim_I, | |||
int | hev_thresh, | |||
int | count | |||
) |
Referenced by ff_vp8_h_loop_filter16_armv6(), and ff_vp8_h_loop_filter8uv_armv6().
void ff_vp8_h_loop_filter_inner_armv6 | ( | uint8_t * | dst, | |
int | stride, | |||
int | flim_E, | |||
int | flim_I, | |||
int | hev_thresh, | |||
int | count | |||
) |
Referenced by ff_vp8_h_loop_filter16_inner_armv6(), and ff_vp8_h_loop_filter8uv_inner_armv6().
This file is part of FFmpeg.
FFmpeg is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
FFmpeg is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with FFmpeg; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
static void ff_vp8_v_loop_filter16_armv6 | ( | uint8_t * | dst, | |
int | stride, | |||
int | flim_E, | |||
int | flim_I, | |||
int | hev_thresh | |||
) | [static] |
Definition at line 67 of file vp8dsp_init_arm.c.
static void ff_vp8_v_loop_filter16_inner_armv6 | ( | uint8_t * | dst, | |
int | stride, | |||
int | flim_E, | |||
int | flim_I, | |||
int | hev_thresh | |||
) | [static] |
Definition at line 93 of file vp8dsp_init_arm.c.
void ff_vp8_v_loop_filter16_inner_neon | ( | uint8_t * | dst, | |
int | stride, | |||
int | flim_E, | |||
int | flim_I, | |||
int | hev_thresh | |||
) |
void ff_vp8_v_loop_filter16_neon | ( | uint8_t * | dst, | |
int | stride, | |||
int | flim_E, | |||
int | flim_I, | |||
int | hev_thresh | |||
) |
static void ff_vp8_v_loop_filter8uv_armv6 | ( | uint8_t * | dstU, | |
uint8_t * | dstV, | |||
int | stride, | |||
int | flim_E, | |||
int | flim_I, | |||
int | hev_thresh | |||
) | [static] |
Definition at line 79 of file vp8dsp_init_arm.c.
static void ff_vp8_v_loop_filter8uv_inner_armv6 | ( | uint8_t * | dstU, | |
uint8_t * | dstV, | |||
int | stride, | |||
int | flim_E, | |||
int | flim_I, | |||
int | hev_thresh | |||
) | [static] |
Definition at line 105 of file vp8dsp_init_arm.c.
void ff_vp8_v_loop_filter8uv_inner_neon | ( | uint8_t * | dstU, | |
uint8_t * | dstV, | |||
int | stride, | |||
int | flim_E, | |||
int | flim_I, | |||
int | hev_thresh | |||
) |
void ff_vp8_v_loop_filter8uv_neon | ( | uint8_t * | dstU, | |
uint8_t * | dstV, | |||
int | stride, | |||
int | flim_E, | |||
int | flim_I, | |||
int | hev_thresh | |||
) |
void ff_vp8_v_loop_filter_armv6 | ( | uint8_t * | dst, | |
int | stride, | |||
int | flim_E, | |||
int | flim_I, | |||
int | hev_thresh, | |||
int | count | |||
) |
Referenced by ff_vp8_v_loop_filter16_armv6(), and ff_vp8_v_loop_filter8uv_armv6().
void ff_vp8_v_loop_filter_inner_armv6 | ( | uint8_t * | dst, | |
int | stride, | |||
int | flim_E, | |||
int | flim_I, | |||
int | hev_thresh, | |||
int | count | |||
) |
Referenced by ff_vp8_v_loop_filter16_inner_armv6(), and ff_vp8_v_loop_filter8uv_inner_armv6().
av_cold void ff_vp8dsp_init_arm | ( | VP8DSPContext * | dsp | ) |
idct_funcs | ( | armv6 | ) |
idct_funcs | ( | neon | ) |
void put_vp8_epel4_v6_c | ( | uint8_t * | dst, | |
int | d, | |||
uint8_t * | src, | |||
int | s, | |||
int | h, | |||
int | mx, | |||
int | my | |||
) |
simple_lf_funcs | ( | armv6 | ) |
simple_lf_funcs | ( | neon | ) |
VP8_EPEL | ( | 4 | ) |
VP8_EPEL | ( | 8 | ) |
VP8_EPEL | ( | 16 | ) |
VP8_EPEL_H_OR_V | ( | 16 | , | |
bilin | , | |||
h | ||||
) |
VP8_EPEL_H_OR_V | ( | 16 | , | |
bilin | , | |||
v | ||||
) |
VP8_EPEL_H_OR_V | ( | 16 | , | |
epel | , | |||
v6 | ||||
) |
VP8_EPEL_H_OR_V | ( | 16 | , | |
epel | , | |||
h6 | ||||
) |
VP8_EPEL_H_OR_V | ( | 8 | , | |
bilin | , | |||
h | ||||
) |
VP8_EPEL_H_OR_V | ( | 8 | , | |
bilin | , | |||
v | ||||
) |
VP8_EPEL_H_OR_V | ( | 8 | , | |
epel | , | |||
v4 | ||||
) |
VP8_EPEL_H_OR_V | ( | 8 | , | |
epel | , | |||
v6 | ||||
) |
VP8_EPEL_H_OR_V | ( | 8 | , | |
epel | , | |||
h4 | ||||
) |
VP8_EPEL_H_OR_V | ( | 8 | , | |
epel | , | |||
h6 | ||||
) |
VP8_EPEL_H_OR_V | ( | 4 | , | |
bilin | , | |||
h | ||||
) |
VP8_EPEL_H_OR_V | ( | 4 | , | |
bilin | , | |||
v | ||||
) |
VP8_EPEL_H_OR_V | ( | 4 | , | |
epel | , | |||
v4 | ||||
) |
VP8_EPEL_H_OR_V | ( | 4 | , | |
epel | , | |||
v6 | ||||
) |
VP8_EPEL_H_OR_V | ( | 4 | , | |
epel | , | |||
h4 | ||||
) |
VP8_EPEL_H_OR_V | ( | 4 | , | |
epel | , | |||
h6 | ||||
) |
VP8_EPEL_HV | ( | 4 | , | |
2 | , | |||
2 | , | |||
bilin | , | |||
h | , | |||
v | , | |||
8 | ||||
) |
VP8_EPEL_HV | ( | 4 | , | |
4 | , | |||
4 | , | |||
epel | , | |||
h4 | , | |||
v4 | , | |||
8 | ||||
) |
VP8_EPEL_HV | ( | 4 | , | |
6 | , | |||
4 | , | |||
epel | , | |||
h6 | , | |||
v4 | , | |||
8 | ||||
) |
VP8_EPEL_HV | ( | 4 | , | |
4 | , | |||
6 | , | |||
epel | , | |||
h4 | , | |||
v6 | , | |||
8 | ||||
) |
VP8_EPEL_HV | ( | 4 | , | |
6 | , | |||
6 | , | |||
epel | , | |||
h6 | , | |||
v6 | , | |||
8 | ||||
) |
VP8_EPEL_HV | ( | 8 | , | |
2 | , | |||
2 | , | |||
bilin | , | |||
h | , | |||
v | , | |||
16 | ||||
) |
VP8_EPEL_HV | ( | 8 | , | |
4 | , | |||
4 | , | |||
epel | , | |||
h4 | , | |||
v4 | , | |||
16 | ||||
) |
VP8_EPEL_HV | ( | 8 | , | |
6 | , | |||
4 | , | |||
epel | , | |||
h6 | , | |||
v4 | , | |||
16 | ||||
) |
VP8_EPEL_HV | ( | 8 | , | |
4 | , | |||
6 | , | |||
epel | , | |||
h4 | , | |||
v6 | , | |||
16 | ||||
) |
VP8_EPEL_HV | ( | 8 | , | |
6 | , | |||
6 | , | |||
epel | , | |||
h6 | , | |||
v6 | , | |||
16 | ||||
) |
VP8_EPEL_HV | ( | 16 | , | |
2 | , | |||
2 | , | |||
bilin | , | |||
h | , | |||
v | , | |||
16 | ||||
) |
VP8_EPEL_HV | ( | 16 | , | |
6 | , | |||
6 | , | |||
epel | , | |||
h6 | , | |||
v6 | , | |||
16 | ||||
) |
VP8_MC | ( | bilin4_hv | ) |
VP8_MC | ( | bilin4_v | ) |
VP8_MC | ( | bilin4_h | ) |
VP8_MC | ( | bilin8_hv | ) |
VP8_MC | ( | bilin8_v | ) |
VP8_MC | ( | bilin8_h | ) |
VP8_MC | ( | bilin16_hv | ) |
VP8_MC | ( | bilin16_v | ) |
VP8_MC | ( | bilin16_h | ) |
VP8_MC | ( | pixels8 | ) |
VP8_MC | ( | pixels16 | ) |
VP8_MC_OPT | ( | pixels4 | , | |
armv6 | ||||
) |
VP8_MC_OPT | ( | pixels8 | , | |
armv6 | ||||
) |
VP8_MC_OPT | ( | pixels16 | , | |
armv6 | ||||
) |
VP8_V6_MC | ( | bilin_h | ) |
VP8_V6_MC | ( | bilin_v | ) |
VP8_V6_MC | ( | epel_h4 | ) |
VP8_V6_MC | ( | epel_v4 | ) |
VP8_V6_MC | ( | epel_h6 | ) |
VP8_V6_MC | ( | epel_v6 | ) |