Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
F
ffmpeg
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
ffmpeg
Commits
7fb993d3
Commit
7fb993d3
authored
Jul 24, 2014
by
Diego Biurrun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
qpeldsp: Mark source pointer in qpel_mc_func function pointer const
parent
060e4a9e
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
208 additions
and
192 deletions
+208
-192
h264qpel_init_arm.c
libavcodec/arm/h264qpel_init_arm.c
+64
-64
rv40dsp_init_arm.c
libavcodec/arm/rv40dsp_init_arm.c
+4
-2
cavsdsp.c
libavcodec/cavsdsp.c
+21
-21
h264qpel_template.c
libavcodec/h264qpel_template.c
+0
-0
h264qpel.c
libavcodec/ppc/h264qpel.c
+16
-16
h264qpel_template.c
libavcodec/ppc/h264qpel_template.c
+14
-4
qpeldsp.c
libavcodec/qpeldsp.c
+0
-0
qpeldsp.h
libavcodec/qpeldsp.h
+16
-12
rv30dsp.c
libavcodec/rv30dsp.c
+20
-20
rv40dsp.c
libavcodec/rv40dsp.c
+20
-20
wmv2dsp.c
libavcodec/wmv2dsp.c
+9
-9
cavsdsp.c
libavcodec/x86/cavsdsp.c
+19
-19
h264_qpel.c
libavcodec/x86/h264_qpel.c
+0
-0
qpeldsp_init.c
libavcodec/x86/qpeldsp_init.c
+0
-0
rv40dsp_init.c
libavcodec/x86/rv40dsp_init.c
+5
-5
No files found.
libavcodec/arm/h264qpel_init_arm.c
View file @
7fb993d3
...
...
@@ -26,73 +26,73 @@
#include "libavutil/arm/cpu.h"
#include "libavcodec/h264qpel.h"
void
ff_put_h264_qpel16_mc00_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_put_h264_qpel16_mc10_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_put_h264_qpel16_mc20_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_put_h264_qpel16_mc30_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_put_h264_qpel16_mc01_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_put_h264_qpel16_mc11_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_put_h264_qpel16_mc21_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_put_h264_qpel16_mc31_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_put_h264_qpel16_mc02_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_put_h264_qpel16_mc12_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_put_h264_qpel16_mc22_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_put_h264_qpel16_mc32_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_put_h264_qpel16_mc03_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_put_h264_qpel16_mc13_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_put_h264_qpel16_mc23_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_put_h264_qpel16_mc33_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_put_h264_qpel16_mc00_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_put_h264_qpel16_mc10_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_put_h264_qpel16_mc20_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_put_h264_qpel16_mc30_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_put_h264_qpel16_mc01_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_put_h264_qpel16_mc11_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_put_h264_qpel16_mc21_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_put_h264_qpel16_mc31_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_put_h264_qpel16_mc02_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_put_h264_qpel16_mc12_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_put_h264_qpel16_mc22_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_put_h264_qpel16_mc32_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_put_h264_qpel16_mc03_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_put_h264_qpel16_mc13_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_put_h264_qpel16_mc23_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_put_h264_qpel16_mc33_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_put_h264_qpel8_mc00_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_put_h264_qpel8_mc10_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_put_h264_qpel8_mc20_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_put_h264_qpel8_mc30_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_put_h264_qpel8_mc01_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_put_h264_qpel8_mc11_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_put_h264_qpel8_mc21_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_put_h264_qpel8_mc31_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_put_h264_qpel8_mc02_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_put_h264_qpel8_mc12_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_put_h264_qpel8_mc22_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_put_h264_qpel8_mc32_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_put_h264_qpel8_mc03_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_put_h264_qpel8_mc13_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_put_h264_qpel8_mc23_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_put_h264_qpel8_mc33_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_put_h264_qpel8_mc00_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_put_h264_qpel8_mc10_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_put_h264_qpel8_mc20_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_put_h264_qpel8_mc30_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_put_h264_qpel8_mc01_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_put_h264_qpel8_mc11_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_put_h264_qpel8_mc21_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_put_h264_qpel8_mc31_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_put_h264_qpel8_mc02_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_put_h264_qpel8_mc12_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_put_h264_qpel8_mc22_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_put_h264_qpel8_mc32_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_put_h264_qpel8_mc03_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_put_h264_qpel8_mc13_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_put_h264_qpel8_mc23_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_put_h264_qpel8_mc33_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_avg_h264_qpel16_mc00_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_avg_h264_qpel16_mc10_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_avg_h264_qpel16_mc20_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_avg_h264_qpel16_mc30_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_avg_h264_qpel16_mc01_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_avg_h264_qpel16_mc11_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_avg_h264_qpel16_mc21_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_avg_h264_qpel16_mc31_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_avg_h264_qpel16_mc02_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_avg_h264_qpel16_mc12_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_avg_h264_qpel16_mc22_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_avg_h264_qpel16_mc32_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_avg_h264_qpel16_mc03_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_avg_h264_qpel16_mc13_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_avg_h264_qpel16_mc23_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_avg_h264_qpel16_mc33_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_avg_h264_qpel16_mc00_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_avg_h264_qpel16_mc10_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_avg_h264_qpel16_mc20_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_avg_h264_qpel16_mc30_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_avg_h264_qpel16_mc01_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_avg_h264_qpel16_mc11_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_avg_h264_qpel16_mc21_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_avg_h264_qpel16_mc31_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_avg_h264_qpel16_mc02_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_avg_h264_qpel16_mc12_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_avg_h264_qpel16_mc22_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_avg_h264_qpel16_mc32_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_avg_h264_qpel16_mc03_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_avg_h264_qpel16_mc13_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_avg_h264_qpel16_mc23_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_avg_h264_qpel16_mc33_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_avg_h264_qpel8_mc00_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_avg_h264_qpel8_mc10_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_avg_h264_qpel8_mc20_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_avg_h264_qpel8_mc30_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_avg_h264_qpel8_mc01_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_avg_h264_qpel8_mc11_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_avg_h264_qpel8_mc21_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_avg_h264_qpel8_mc31_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_avg_h264_qpel8_mc02_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_avg_h264_qpel8_mc12_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_avg_h264_qpel8_mc22_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_avg_h264_qpel8_mc32_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_avg_h264_qpel8_mc03_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_avg_h264_qpel8_mc13_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_avg_h264_qpel8_mc23_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_avg_h264_qpel8_mc33_neon
(
uint8_t
*
,
uint8_t
*
,
ptrdiff_t
);
void
ff_avg_h264_qpel8_mc00_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_avg_h264_qpel8_mc10_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_avg_h264_qpel8_mc20_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_avg_h264_qpel8_mc30_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_avg_h264_qpel8_mc01_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_avg_h264_qpel8_mc11_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_avg_h264_qpel8_mc21_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_avg_h264_qpel8_mc31_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_avg_h264_qpel8_mc02_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_avg_h264_qpel8_mc12_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_avg_h264_qpel8_mc22_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_avg_h264_qpel8_mc32_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_avg_h264_qpel8_mc03_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_avg_h264_qpel8_mc13_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_avg_h264_qpel8_mc23_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_avg_h264_qpel8_mc33_neon
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
av_cold
void
ff_h264qpel_init_arm
(
H264QpelContext
*
c
,
int
bit_depth
)
{
...
...
libavcodec/arm/rv40dsp_init_arm.c
View file @
7fb993d3
...
...
@@ -26,8 +26,10 @@
#include "libavutil/arm/cpu.h"
#define DECL_QPEL3(type, w, pos) \
void ff_##type##_rv40_qpel##w##_mc##pos##_neon(uint8_t *dst, uint8_t *src,\
ptrdiff_t stride)
void ff_ ## type ## _rv40_qpel ## w ## _mc ## pos ## _neon(uint8_t *dst, \
const uint8_t *src, \
ptrdiff_t stride)
#define DECL_QPEL2(w, pos) \
DECL_QPEL3(put, w, pos); \
DECL_QPEL3(avg, w, pos)
...
...
libavcodec/cavsdsp.c
View file @
7fb993d3
...
...
@@ -261,7 +261,7 @@ static void cavs_idct8_add_c(uint8_t *dst, int16_t *block, int stride) {
****************************************************************************/
#define CAVS_SUBPIX(OPNAME, OP, NAME, A, B, C, D, E, F) \
static void OPNAME ## cavs_filt8_h_ ## NAME(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
static void OPNAME ## cavs_filt8_h_ ## NAME(uint8_t *dst,
const
uint8_t *src, int dstStride, int srcStride){\
const int h=8;\
const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\
int i;\
...
...
@@ -280,7 +280,7 @@ static void OPNAME ## cavs_filt8_h_ ## NAME(uint8_t *dst, uint8_t *src, int dstS
}\
}\
\
static void OPNAME ## cavs_filt8_v_ ## NAME(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
static void OPNAME ## cavs_filt8_v_ ## NAME(uint8_t *dst,
const
uint8_t *src, int dstStride, int srcStride){\
const int w=8;\
const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\
int i;\
...
...
@@ -312,7 +312,7 @@ static void OPNAME ## cavs_filt8_v_ ## NAME(uint8_t *dst, uint8_t *src, int dst
}\
}\
\
static void OPNAME ## cavs_filt16_v_ ## NAME(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
static void OPNAME ## cavs_filt16_v_ ## NAME(uint8_t *dst,
const
uint8_t *src, int dstStride, int srcStride){\
OPNAME ## cavs_filt8_v_ ## NAME(dst , src , dstStride, srcStride);\
OPNAME ## cavs_filt8_v_ ## NAME(dst+8, src+8, dstStride, srcStride);\
src += 8*srcStride;\
...
...
@@ -321,7 +321,7 @@ static void OPNAME ## cavs_filt16_v_ ## NAME(uint8_t *dst, uint8_t *src, int dst
OPNAME ## cavs_filt8_v_ ## NAME(dst+8, src+8, dstStride, srcStride);\
}\
\
static void OPNAME ## cavs_filt16_h_ ## NAME(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
static void OPNAME ## cavs_filt16_h_ ## NAME(uint8_t *dst,
const
uint8_t *src, int dstStride, int srcStride){\
OPNAME ## cavs_filt8_h_ ## NAME(dst , src , dstStride, srcStride);\
OPNAME ## cavs_filt8_h_ ## NAME(dst+8, src+8, dstStride, srcStride);\
src += 8*srcStride;\
...
...
@@ -331,7 +331,7 @@ static void OPNAME ## cavs_filt16_h_ ## NAME(uint8_t *dst, uint8_t *src, int dst
}\
#define CAVS_SUBPIX_HV(OPNAME, OP, NAME, AH, BH, CH, DH, EH, FH, AV, BV, CV, DV, EV, FV, FULL) \
static void OPNAME ## cavs_filt8_hv_ ## NAME(uint8_t *dst,
uint8_t *src1,
uint8_t *src2, int dstStride, int srcStride){\
static void OPNAME ## cavs_filt8_hv_ ## NAME(uint8_t *dst,
const uint8_t *src1, const
uint8_t *src2, int dstStride, int srcStride){\
int16_t temp[8*(8+5)];\
int16_t *tmp = temp;\
const int h=8;\
...
...
@@ -412,7 +412,7 @@ static void OPNAME ## cavs_filt8_hv_ ## NAME(uint8_t *dst, uint8_t *src1, uint8_
}\
}\
\
static void OPNAME ## cavs_filt16_hv_ ## NAME(uint8_t *dst,
uint8_t *src1,
uint8_t *src2, int dstStride, int srcStride){ \
static void OPNAME ## cavs_filt16_hv_ ## NAME(uint8_t *dst,
const uint8_t *src1, const
uint8_t *src2, int dstStride, int srcStride){ \
OPNAME ## cavs_filt8_hv_ ## NAME(dst , src1, src2 , dstStride, srcStride); \
OPNAME ## cavs_filt8_hv_ ## NAME(dst+8, src1+8, src2+8, dstStride, srcStride); \
src1 += 8*srcStride;\
...
...
@@ -423,77 +423,77 @@ static void OPNAME ## cavs_filt16_hv_ ## NAME(uint8_t *dst, uint8_t *src1, uint8
}\
#define CAVS_MC(OPNAME, SIZE) \
static void OPNAME ## cavs_qpel ## SIZE ## _mc10_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
static void OPNAME ## cavs_qpel ## SIZE ## _mc10_c(uint8_t *dst,
const
uint8_t *src, ptrdiff_t stride)\
{\
OPNAME ## cavs_filt ## SIZE ## _h_qpel_l(dst, src, stride, stride);\
}\
\
static void OPNAME ## cavs_qpel ## SIZE ## _mc20_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
static void OPNAME ## cavs_qpel ## SIZE ## _mc20_c(uint8_t *dst,
const
uint8_t *src, ptrdiff_t stride)\
{\
OPNAME ## cavs_filt ## SIZE ## _h_hpel(dst, src, stride, stride);\
}\
\
static void OPNAME ## cavs_qpel ## SIZE ## _mc30_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
static void OPNAME ## cavs_qpel ## SIZE ## _mc30_c(uint8_t *dst,
const
uint8_t *src, ptrdiff_t stride)\
{\
OPNAME ## cavs_filt ## SIZE ## _h_qpel_r(dst, src, stride, stride);\
}\
\
static void OPNAME ## cavs_qpel ## SIZE ## _mc01_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
static void OPNAME ## cavs_qpel ## SIZE ## _mc01_c(uint8_t *dst,
const
uint8_t *src, ptrdiff_t stride)\
{\
OPNAME ## cavs_filt ## SIZE ## _v_qpel_l(dst, src, stride, stride);\
}\
\
static void OPNAME ## cavs_qpel ## SIZE ## _mc02_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
static void OPNAME ## cavs_qpel ## SIZE ## _mc02_c(uint8_t *dst,
const
uint8_t *src, ptrdiff_t stride)\
{\
OPNAME ## cavs_filt ## SIZE ## _v_hpel(dst, src, stride, stride);\
}\
\
static void OPNAME ## cavs_qpel ## SIZE ## _mc03_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
static void OPNAME ## cavs_qpel ## SIZE ## _mc03_c(uint8_t *dst,
const
uint8_t *src, ptrdiff_t stride)\
{\
OPNAME ## cavs_filt ## SIZE ## _v_qpel_r(dst, src, stride, stride);\
}\
\
static void OPNAME ## cavs_qpel ## SIZE ## _mc22_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
static void OPNAME ## cavs_qpel ## SIZE ## _mc22_c(uint8_t *dst,
const
uint8_t *src, ptrdiff_t stride)\
{\
OPNAME ## cavs_filt ## SIZE ## _hv_jj(dst, src, NULL, stride, stride); \
}\
\
static void OPNAME ## cavs_qpel ## SIZE ## _mc11_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
static void OPNAME ## cavs_qpel ## SIZE ## _mc11_c(uint8_t *dst,
const
uint8_t *src, ptrdiff_t stride)\
{\
OPNAME ## cavs_filt ## SIZE ## _hv_egpr(dst, src, src, stride, stride); \
}\
\
static void OPNAME ## cavs_qpel ## SIZE ## _mc13_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
static void OPNAME ## cavs_qpel ## SIZE ## _mc13_c(uint8_t *dst,
const
uint8_t *src, ptrdiff_t stride)\
{\
OPNAME ## cavs_filt ## SIZE ## _hv_egpr(dst, src, src+stride, stride, stride); \
}\
\
static void OPNAME ## cavs_qpel ## SIZE ## _mc31_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
static void OPNAME ## cavs_qpel ## SIZE ## _mc31_c(uint8_t *dst,
const
uint8_t *src, ptrdiff_t stride)\
{\
OPNAME ## cavs_filt ## SIZE ## _hv_egpr(dst, src, src+1, stride, stride); \
}\
\
static void OPNAME ## cavs_qpel ## SIZE ## _mc33_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
static void OPNAME ## cavs_qpel ## SIZE ## _mc33_c(uint8_t *dst,
const
uint8_t *src, ptrdiff_t stride)\
{\
OPNAME ## cavs_filt ## SIZE ## _hv_egpr(dst, src, src+stride+1,stride, stride); \
}\
\
static void OPNAME ## cavs_qpel ## SIZE ## _mc21_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
static void OPNAME ## cavs_qpel ## SIZE ## _mc21_c(uint8_t *dst,
const
uint8_t *src, ptrdiff_t stride)\
{\
OPNAME ## cavs_filt ## SIZE ## _hv_ff(dst, src, src+stride+1,stride, stride); \
}\
\
static void OPNAME ## cavs_qpel ## SIZE ## _mc12_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
static void OPNAME ## cavs_qpel ## SIZE ## _mc12_c(uint8_t *dst,
const
uint8_t *src, ptrdiff_t stride)\
{\
OPNAME ## cavs_filt ## SIZE ## _hv_ii(dst, src, src+stride+1,stride, stride); \
}\
\
static void OPNAME ## cavs_qpel ## SIZE ## _mc32_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
static void OPNAME ## cavs_qpel ## SIZE ## _mc32_c(uint8_t *dst,
const
uint8_t *src, ptrdiff_t stride)\
{\
OPNAME ## cavs_filt ## SIZE ## _hv_kk(dst, src, src+stride+1,stride, stride); \
}\
\
static void OPNAME ## cavs_qpel ## SIZE ## _mc23_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
static void OPNAME ## cavs_qpel ## SIZE ## _mc23_c(uint8_t *dst,
const
uint8_t *src, ptrdiff_t stride)\
{\
OPNAME ## cavs_filt ## SIZE ## _hv_qq(dst, src, src+stride+1,stride, stride); \
}\
...
...
libavcodec/h264qpel_template.c
View file @
7fb993d3
This diff is collapsed.
Click to expand it.
libavcodec/ppc/h264qpel.c
View file @
7fb993d3
...
...
@@ -66,50 +66,50 @@
#undef PREFIX_h264_qpel16_hv_lowpass_num
#define H264_MC(OPNAME, SIZE, CODETYPE) \
static void OPNAME ## h264_qpel ## SIZE ## _mc00_ ## CODETYPE (uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
static void OPNAME ## h264_qpel ## SIZE ## _mc00_ ## CODETYPE (uint8_t *dst,
const
uint8_t *src, ptrdiff_t stride)\
{\
ff_ ## OPNAME ## pixels ## SIZE ## _ ## CODETYPE(dst, src, stride, SIZE);\
}\
\
static void OPNAME ## h264_qpel ## SIZE ## _mc10_ ## CODETYPE(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
static void OPNAME ## h264_qpel ## SIZE ## _mc10_ ## CODETYPE(uint8_t *dst,
const
uint8_t *src, ptrdiff_t stride)\
{ \
DECLARE_ALIGNED(16, uint8_t, half)[SIZE*SIZE];\
put_h264_qpel ## SIZE ## _h_lowpass_ ## CODETYPE(half, src, SIZE, stride);\
OPNAME ## pixels ## SIZE ## _l2_ ## CODETYPE(dst, src, half, stride, stride, SIZE);\
}\
\
static void OPNAME ## h264_qpel ## SIZE ## _mc20_ ## CODETYPE(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
static void OPNAME ## h264_qpel ## SIZE ## _mc20_ ## CODETYPE(uint8_t *dst,
const
uint8_t *src, ptrdiff_t stride)\
{\
OPNAME ## h264_qpel ## SIZE ## _h_lowpass_ ## CODETYPE(dst, src, stride, stride);\
}\
\
static void OPNAME ## h264_qpel ## SIZE ## _mc30_ ## CODETYPE(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
static void OPNAME ## h264_qpel ## SIZE ## _mc30_ ## CODETYPE(uint8_t *dst,
const
uint8_t *src, ptrdiff_t stride)\
{\
DECLARE_ALIGNED(16, uint8_t, half)[SIZE*SIZE];\
put_h264_qpel ## SIZE ## _h_lowpass_ ## CODETYPE(half, src, SIZE, stride);\
OPNAME ## pixels ## SIZE ## _l2_ ## CODETYPE(dst, src+1, half, stride, stride, SIZE);\
}\
\
static void OPNAME ## h264_qpel ## SIZE ## _mc01_ ## CODETYPE(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
static void OPNAME ## h264_qpel ## SIZE ## _mc01_ ## CODETYPE(uint8_t *dst,
const
uint8_t *src, ptrdiff_t stride)\
{\
DECLARE_ALIGNED(16, uint8_t, half)[SIZE*SIZE];\
put_h264_qpel ## SIZE ## _v_lowpass_ ## CODETYPE(half, src, SIZE, stride);\
OPNAME ## pixels ## SIZE ## _l2_ ## CODETYPE(dst, src, half, stride, stride, SIZE);\
}\
\
static void OPNAME ## h264_qpel ## SIZE ## _mc02_ ## CODETYPE(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
static void OPNAME ## h264_qpel ## SIZE ## _mc02_ ## CODETYPE(uint8_t *dst,
const
uint8_t *src, ptrdiff_t stride)\
{\
OPNAME ## h264_qpel ## SIZE ## _v_lowpass_ ## CODETYPE(dst, src, stride, stride);\
}\
\
static void OPNAME ## h264_qpel ## SIZE ## _mc03_ ## CODETYPE(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
static void OPNAME ## h264_qpel ## SIZE ## _mc03_ ## CODETYPE(uint8_t *dst,
const
uint8_t *src, ptrdiff_t stride)\
{\
DECLARE_ALIGNED(16, uint8_t, half)[SIZE*SIZE];\
put_h264_qpel ## SIZE ## _v_lowpass_ ## CODETYPE(half, src, SIZE, stride);\
OPNAME ## pixels ## SIZE ## _l2_ ## CODETYPE(dst, src+stride, half, stride, stride, SIZE);\
}\
\
static void OPNAME ## h264_qpel ## SIZE ## _mc11_ ## CODETYPE(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
static void OPNAME ## h264_qpel ## SIZE ## _mc11_ ## CODETYPE(uint8_t *dst,
const
uint8_t *src, ptrdiff_t stride)\
{\
DECLARE_ALIGNED(16, uint8_t, halfH)[SIZE*SIZE];\
DECLARE_ALIGNED(16, uint8_t, halfV)[SIZE*SIZE];\
...
...
@@ -118,7 +118,7 @@ static void OPNAME ## h264_qpel ## SIZE ## _mc11_ ## CODETYPE(uint8_t *dst, uint
OPNAME ## pixels ## SIZE ## _l2_ ## CODETYPE(dst, halfH, halfV, stride, SIZE, SIZE);\
}\
\
static void OPNAME ## h264_qpel ## SIZE ## _mc31_ ## CODETYPE(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
static void OPNAME ## h264_qpel ## SIZE ## _mc31_ ## CODETYPE(uint8_t *dst,
const
uint8_t *src, ptrdiff_t stride)\
{\
DECLARE_ALIGNED(16, uint8_t, halfH)[SIZE*SIZE];\
DECLARE_ALIGNED(16, uint8_t, halfV)[SIZE*SIZE];\
...
...
@@ -127,7 +127,7 @@ static void OPNAME ## h264_qpel ## SIZE ## _mc31_ ## CODETYPE(uint8_t *dst, uint
OPNAME ## pixels ## SIZE ## _l2_ ## CODETYPE(dst, halfH, halfV, stride, SIZE, SIZE);\
}\
\
static void OPNAME ## h264_qpel ## SIZE ## _mc13_ ## CODETYPE(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
static void OPNAME ## h264_qpel ## SIZE ## _mc13_ ## CODETYPE(uint8_t *dst,
const
uint8_t *src, ptrdiff_t stride)\
{\
DECLARE_ALIGNED(16, uint8_t, halfH)[SIZE*SIZE];\
DECLARE_ALIGNED(16, uint8_t, halfV)[SIZE*SIZE];\
...
...
@@ -136,7 +136,7 @@ static void OPNAME ## h264_qpel ## SIZE ## _mc13_ ## CODETYPE(uint8_t *dst, uint
OPNAME ## pixels ## SIZE ## _l2_ ## CODETYPE(dst, halfH, halfV, stride, SIZE, SIZE);\
}\
\
static void OPNAME ## h264_qpel ## SIZE ## _mc33_ ## CODETYPE(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
static void OPNAME ## h264_qpel ## SIZE ## _mc33_ ## CODETYPE(uint8_t *dst,
const
uint8_t *src, ptrdiff_t stride)\
{\
DECLARE_ALIGNED(16, uint8_t, halfH)[SIZE*SIZE];\
DECLARE_ALIGNED(16, uint8_t, halfV)[SIZE*SIZE];\
...
...
@@ -145,13 +145,13 @@ static void OPNAME ## h264_qpel ## SIZE ## _mc33_ ## CODETYPE(uint8_t *dst, uint
OPNAME ## pixels ## SIZE ## _l2_ ## CODETYPE(dst, halfH, halfV, stride, SIZE, SIZE);\
}\
\
static void OPNAME ## h264_qpel ## SIZE ## _mc22_ ## CODETYPE(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
static void OPNAME ## h264_qpel ## SIZE ## _mc22_ ## CODETYPE(uint8_t *dst,
const
uint8_t *src, ptrdiff_t stride)\
{\
DECLARE_ALIGNED(16, int16_t, tmp)[SIZE*(SIZE+8)];\
OPNAME ## h264_qpel ## SIZE ## _hv_lowpass_ ## CODETYPE(dst, tmp, src, stride, SIZE, stride);\
}\
\
static void OPNAME ## h264_qpel ## SIZE ## _mc21_ ## CODETYPE(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
static void OPNAME ## h264_qpel ## SIZE ## _mc21_ ## CODETYPE(uint8_t *dst,
const
uint8_t *src, ptrdiff_t stride)\
{\
DECLARE_ALIGNED(16, uint8_t, halfH)[SIZE*SIZE];\
DECLARE_ALIGNED(16, uint8_t, halfHV)[SIZE*SIZE];\
...
...
@@ -161,7 +161,7 @@ static void OPNAME ## h264_qpel ## SIZE ## _mc21_ ## CODETYPE(uint8_t *dst, uint
OPNAME ## pixels ## SIZE ## _l2_ ## CODETYPE(dst, halfH, halfHV, stride, SIZE, SIZE);\
}\
\
static void OPNAME ## h264_qpel ## SIZE ## _mc23_ ## CODETYPE(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
static void OPNAME ## h264_qpel ## SIZE ## _mc23_ ## CODETYPE(uint8_t *dst,
const
uint8_t *src, ptrdiff_t stride)\
{\
DECLARE_ALIGNED(16, uint8_t, halfH)[SIZE*SIZE];\
DECLARE_ALIGNED(16, uint8_t, halfHV)[SIZE*SIZE];\
...
...
@@ -171,7 +171,7 @@ static void OPNAME ## h264_qpel ## SIZE ## _mc23_ ## CODETYPE(uint8_t *dst, uint
OPNAME ## pixels ## SIZE ## _l2_ ## CODETYPE(dst, halfH, halfHV, stride, SIZE, SIZE);\
}\
\
static void OPNAME ## h264_qpel ## SIZE ## _mc12_ ## CODETYPE(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
static void OPNAME ## h264_qpel ## SIZE ## _mc12_ ## CODETYPE(uint8_t *dst,
const
uint8_t *src, ptrdiff_t stride)\
{\
DECLARE_ALIGNED(16, uint8_t, halfV)[SIZE*SIZE];\
DECLARE_ALIGNED(16, uint8_t, halfHV)[SIZE*SIZE];\
...
...
@@ -181,7 +181,7 @@ static void OPNAME ## h264_qpel ## SIZE ## _mc12_ ## CODETYPE(uint8_t *dst, uint
OPNAME ## pixels ## SIZE ## _l2_ ## CODETYPE(dst, halfV, halfHV, stride, SIZE, SIZE);\
}\
\
static void OPNAME ## h264_qpel ## SIZE ## _mc32_ ## CODETYPE(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
static void OPNAME ## h264_qpel ## SIZE ## _mc32_ ## CODETYPE(uint8_t *dst,
const
uint8_t *src, ptrdiff_t stride)\
{\
DECLARE_ALIGNED(16, uint8_t, halfV)[SIZE*SIZE];\
DECLARE_ALIGNED(16, uint8_t, halfHV)[SIZE*SIZE];\
...
...
libavcodec/ppc/h264qpel_template.c
View file @
7fb993d3
...
...
@@ -28,7 +28,10 @@
/* this code assume stride % 16 == 0 */
#ifdef PREFIX_h264_qpel16_h_lowpass_altivec
static
void
PREFIX_h264_qpel16_h_lowpass_altivec
(
uint8_t
*
dst
,
uint8_t
*
src
,
int
dstStride
,
int
srcStride
)
{
static
void
PREFIX_h264_qpel16_h_lowpass_altivec
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
int
dstStride
,
int
srcStride
)
{
register
int
i
;
LOAD_ZERO
;
...
...
@@ -168,7 +171,10 @@ static void PREFIX_h264_qpel16_h_lowpass_altivec(uint8_t * dst, uint8_t * src, i
/* this code assume stride % 16 == 0 */
#ifdef PREFIX_h264_qpel16_v_lowpass_altivec
static
void
PREFIX_h264_qpel16_v_lowpass_altivec
(
uint8_t
*
dst
,
uint8_t
*
src
,
int
dstStride
,
int
srcStride
)
{
static
void
PREFIX_h264_qpel16_v_lowpass_altivec
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
int
dstStride
,
int
srcStride
)
{
register
int
i
;
LOAD_ZERO
;
...
...
@@ -178,7 +184,7 @@ static void PREFIX_h264_qpel16_v_lowpass_altivec(uint8_t * dst, uint8_t * src, i
const
vec_s16
v5ss
=
vec_splat_s16
(
5
);
const
vec_s16
v16ss
=
vec_sl
(
vec_splat_s16
(
1
),
vec_splat_u16
(
4
));
uint8_t
*
srcbis
=
src
-
(
srcStride
*
2
);
const
uint8_t
*
srcbis
=
src
-
(
srcStride
*
2
);
const
vec_u8
srcM2a
=
vec_ld
(
0
,
srcbis
);
const
vec_u8
srcM2b
=
vec_ld
(
16
,
srcbis
);
...
...
@@ -275,7 +281,11 @@ static void PREFIX_h264_qpel16_v_lowpass_altivec(uint8_t * dst, uint8_t * src, i
/* this code assume stride % 16 == 0 *and* tmp is properly aligned */
#ifdef PREFIX_h264_qpel16_hv_lowpass_altivec
static
void
PREFIX_h264_qpel16_hv_lowpass_altivec
(
uint8_t
*
dst
,
int16_t
*
tmp
,
uint8_t
*
src
,
int
dstStride
,
int
tmpStride
,
int
srcStride
)
{
static
void
PREFIX_h264_qpel16_hv_lowpass_altivec
(
uint8_t
*
dst
,
int16_t
*
tmp
,
const
uint8_t
*
src
,
int
dstStride
,
int
tmpStride
,
int
srcStride
)
{
register
int
i
;
LOAD_ZERO
;
const
vec_u8
permM2
=
vec_lvsl
(
-
2
,
src
);
...
...
libavcodec/qpeldsp.c
View file @
7fb993d3
This diff is collapsed.
Click to expand it.
libavcodec/qpeldsp.h
View file @
7fb993d3
...
...
@@ -29,22 +29,25 @@
#include <stddef.h>
#include <stdint.h>
void
ff_put_pixels8x8_c
(
uint8_t
*
dst
,
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_avg_pixels8x8_c
(
uint8_t
*
dst
,
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_put_pixels16x16_c
(
uint8_t
*
dst
,
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_avg_pixels16x16_c
(
uint8_t
*
dst
,
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_put_pixels8x8_c
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_avg_pixels8x8_c
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_put_pixels16x16_c
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_avg_pixels16x16_c
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
);
void
ff_put_pixels8_l2_8
(
uint8_t
*
dst
,
const
uint8_t
*
src1
,
const
uint8_t
*
src2
,
int
dst_stride
,
int
src_stride1
,
int
src_stride2
,
int
h
);
#define DEF_OLD_QPEL(name) \
void ff_put_ ## name(uint8_t *dst
/* align width (8 or 16) */
, \
uint8_t *src
/* align 1 */
, ptrdiff_t stride); \
void ff_put_no_rnd_ ## name(uint8_t *dst
/* align width (8 or 16) */
, \
uint8_t *src
/* align 1 */
, ptrdiff_t stride); \
void ff_avg_ ## name(uint8_t *dst
/* align width (8 or 16) */
, \
uint8_t *src
/* align 1 */
, ptrdiff_t stride);
#define DEF_OLD_QPEL(name) \
void ff_put_ ## name(uint8_t *dst
/* align width (8 or 16) */
, \
const uint8_t *src
/* align 1 */
, \
ptrdiff_t stride); \
void ff_put_no_rnd_ ## name(uint8_t *dst
/* align width (8 or 16) */
, \
const uint8_t *src
/* align 1 */
, \
ptrdiff_t stride); \
void ff_avg_ ## name(uint8_t *dst
/* align width (8 or 16) */
, \
const uint8_t *src
/* align 1 */
, \
ptrdiff_t stride);
DEF_OLD_QPEL
(
qpel16_mc11_old_c
)
DEF_OLD_QPEL
(
qpel16_mc31_old_c
)
...
...
@@ -60,7 +63,8 @@ DEF_OLD_QPEL(qpel8_mc13_old_c)
DEF_OLD_QPEL
(
qpel8_mc33_old_c
)
typedef
void
(
*
qpel_mc_func
)(
uint8_t
*
dst
/* align width (8 or 16) */
,
uint8_t
*
src
/* align 1 */
,
ptrdiff_t
stride
);
const
uint8_t
*
src
/* align 1 */
,
ptrdiff_t
stride
);
/**
* quarterpel DSP context
...
...
libavcodec/rv30dsp.c
View file @
7fb993d3
...
...
@@ -31,7 +31,7 @@
#include "rv34dsp.h"
#define RV30_LOWPASS(OPNAME, OP) \
static av_unused void OPNAME ## rv30_tpel8_h_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, const int C1, const int C2){\
static av_unused void OPNAME ## rv30_tpel8_h_lowpass(uint8_t *dst,
const
uint8_t *src, int dstStride, int srcStride, const int C1, const int C2){\
const int h = 8;\
const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\
int i;\
...
...
@@ -50,7 +50,7 @@ static av_unused void OPNAME ## rv30_tpel8_h_lowpass(uint8_t *dst, uint8_t *src,
}\
}\
\
static void OPNAME ## rv30_tpel8_v_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, const int C1, const int C2){\
static void OPNAME ## rv30_tpel8_v_lowpass(uint8_t *dst,
const
uint8_t *src, int dstStride, int srcStride, const int C1, const int C2){\
const int w = 8;\
const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\
int i;\
...
...
@@ -80,7 +80,7 @@ static void OPNAME ## rv30_tpel8_v_lowpass(uint8_t *dst, uint8_t *src, int dstSt
}\
}\
\
static void OPNAME ## rv30_tpel8_hv_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
static void OPNAME ## rv30_tpel8_hv_lowpass(uint8_t *dst,
const
uint8_t *src, int dstStride, int srcStride){\
const int w = 8;\
const int h = 8;\
const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\
...
...
@@ -99,7 +99,7 @@ static void OPNAME ## rv30_tpel8_hv_lowpass(uint8_t *dst, uint8_t *src, int dstS
}\
}\
\
static void OPNAME ## rv30_tpel8_hhv_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
static void OPNAME ## rv30_tpel8_hhv_lowpass(uint8_t *dst,
const
uint8_t *src, int dstStride, int srcStride){\
const int w = 8;\
const int h = 8;\
const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\
...
...
@@ -118,7 +118,7 @@ static void OPNAME ## rv30_tpel8_hhv_lowpass(uint8_t *dst, uint8_t *src, int dst
}\
}\
\
static void OPNAME ## rv30_tpel8_hvv_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
static void OPNAME ## rv30_tpel8_hvv_lowpass(uint8_t *dst,
const
uint8_t *src, int dstStride, int srcStride){\
const int w = 8;\
const int h = 8;\
const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\
...
...
@@ -137,7 +137,7 @@ static void OPNAME ## rv30_tpel8_hvv_lowpass(uint8_t *dst, uint8_t *src, int dst
}\
}\
\
static void OPNAME ## rv30_tpel8_hhvv_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
static void OPNAME ## rv30_tpel8_hhvv_lowpass(uint8_t *dst,
const
uint8_t *src, int dstStride, int srcStride){\
const int w = 8;\
const int h = 8;\
const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\
...
...
@@ -155,7 +155,7 @@ static void OPNAME ## rv30_tpel8_hhvv_lowpass(uint8_t *dst, uint8_t *src, int ds
}\
}\
\
static void OPNAME ## rv30_tpel16_v_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, const int C1, const int C2){\
static void OPNAME ## rv30_tpel16_v_lowpass(uint8_t *dst,
const
uint8_t *src, int dstStride, int srcStride, const int C1, const int C2){\
OPNAME ## rv30_tpel8_v_lowpass(dst , src , dstStride, srcStride, C1, C2);\
OPNAME ## rv30_tpel8_v_lowpass(dst+8, src+8, dstStride, srcStride, C1, C2);\
src += 8*srcStride;\
...
...
@@ -164,7 +164,7 @@ static void OPNAME ## rv30_tpel16_v_lowpass(uint8_t *dst, uint8_t *src, int dstS
OPNAME ## rv30_tpel8_v_lowpass(dst+8, src+8, dstStride, srcStride, C1, C2);\
}\
\
static void OPNAME ## rv30_tpel16_h_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, const int C1, const int C2){\
static void OPNAME ## rv30_tpel16_h_lowpass(uint8_t *dst,
const
uint8_t *src, int dstStride, int srcStride, const int C1, const int C2){\
OPNAME ## rv30_tpel8_h_lowpass(dst , src , dstStride, srcStride, C1, C2);\
OPNAME ## rv30_tpel8_h_lowpass(dst+8, src+8, dstStride, srcStride, C1, C2);\
src += 8*srcStride;\
...
...
@@ -173,7 +173,7 @@ static void OPNAME ## rv30_tpel16_h_lowpass(uint8_t *dst, uint8_t *src, int dstS
OPNAME ## rv30_tpel8_h_lowpass(dst+8, src+8, dstStride, srcStride, C1, C2);\
}\
\
static void OPNAME ## rv30_tpel16_hv_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
static void OPNAME ## rv30_tpel16_hv_lowpass(uint8_t *dst,
const
uint8_t *src, int dstStride, int srcStride){\
OPNAME ## rv30_tpel8_hv_lowpass(dst , src , dstStride, srcStride);\
OPNAME ## rv30_tpel8_hv_lowpass(dst+8, src+8, dstStride, srcStride);\
src += 8*srcStride;\
...
...
@@ -182,7 +182,7 @@ static void OPNAME ## rv30_tpel16_hv_lowpass(uint8_t *dst, uint8_t *src, int dst
OPNAME ## rv30_tpel8_hv_lowpass(dst+8, src+8, dstStride, srcStride);\
}\
\
static void OPNAME ## rv30_tpel16_hhv_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
static void OPNAME ## rv30_tpel16_hhv_lowpass(uint8_t *dst,
const
uint8_t *src, int dstStride, int srcStride){\
OPNAME ## rv30_tpel8_hhv_lowpass(dst , src , dstStride, srcStride);\
OPNAME ## rv30_tpel8_hhv_lowpass(dst+8, src+8, dstStride, srcStride);\
src += 8*srcStride;\
...
...
@@ -191,7 +191,7 @@ static void OPNAME ## rv30_tpel16_hhv_lowpass(uint8_t *dst, uint8_t *src, int ds
OPNAME ## rv30_tpel8_hhv_lowpass(dst+8, src+8, dstStride, srcStride);\
}\
\
static void OPNAME ## rv30_tpel16_hvv_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
static void OPNAME ## rv30_tpel16_hvv_lowpass(uint8_t *dst,
const
uint8_t *src, int dstStride, int srcStride){\
OPNAME ## rv30_tpel8_hvv_lowpass(dst , src , dstStride, srcStride);\
OPNAME ## rv30_tpel8_hvv_lowpass(dst+8, src+8, dstStride, srcStride);\
src += 8*srcStride;\
...
...
@@ -200,7 +200,7 @@ static void OPNAME ## rv30_tpel16_hvv_lowpass(uint8_t *dst, uint8_t *src, int ds
OPNAME ## rv30_tpel8_hvv_lowpass(dst+8, src+8, dstStride, srcStride);\
}\
\
static void OPNAME ## rv30_tpel16_hhvv_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
static void OPNAME ## rv30_tpel16_hhvv_lowpass(uint8_t *dst,
const
uint8_t *src, int dstStride, int srcStride){\
OPNAME ## rv30_tpel8_hhvv_lowpass(dst , src , dstStride, srcStride);\
OPNAME ## rv30_tpel8_hhvv_lowpass(dst+8, src+8, dstStride, srcStride);\
src += 8*srcStride;\
...
...
@@ -211,42 +211,42 @@ static void OPNAME ## rv30_tpel16_hhvv_lowpass(uint8_t *dst, uint8_t *src, int d
\
#define RV30_MC(OPNAME, SIZE) \
static void OPNAME ## rv30_tpel ## SIZE ## _mc10_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
static void OPNAME ## rv30_tpel ## SIZE ## _mc10_c(uint8_t *dst,
const
uint8_t *src, ptrdiff_t stride)\
{\
OPNAME ## rv30_tpel ## SIZE ## _h_lowpass(dst, src, stride, stride, 12, 6);\
}\
\
static void OPNAME ## rv30_tpel ## SIZE ## _mc20_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
static void OPNAME ## rv30_tpel ## SIZE ## _mc20_c(uint8_t *dst,
const
uint8_t *src, ptrdiff_t stride)\
{\
OPNAME ## rv30_tpel ## SIZE ## _h_lowpass(dst, src, stride, stride, 6, 12);\
}\
\
static void OPNAME ## rv30_tpel ## SIZE ## _mc01_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
static void OPNAME ## rv30_tpel ## SIZE ## _mc01_c(uint8_t *dst,
const
uint8_t *src, ptrdiff_t stride)\
{\
OPNAME ## rv30_tpel ## SIZE ## _v_lowpass(dst, src, stride, stride, 12, 6);\
}\
\
static void OPNAME ## rv30_tpel ## SIZE ## _mc02_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
static void OPNAME ## rv30_tpel ## SIZE ## _mc02_c(uint8_t *dst,
const
uint8_t *src, ptrdiff_t stride)\
{\
OPNAME ## rv30_tpel ## SIZE ## _v_lowpass(dst, src, stride, stride, 6, 12);\
}\
\
static void OPNAME ## rv30_tpel ## SIZE ## _mc11_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
static void OPNAME ## rv30_tpel ## SIZE ## _mc11_c(uint8_t *dst,
const
uint8_t *src, ptrdiff_t stride)\
{\
OPNAME ## rv30_tpel ## SIZE ## _hv_lowpass(dst, src, stride, stride);\
}\
\
static void OPNAME ## rv30_tpel ## SIZE ## _mc12_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
static void OPNAME ## rv30_tpel ## SIZE ## _mc12_c(uint8_t *dst,
const
uint8_t *src, ptrdiff_t stride)\
{\
OPNAME ## rv30_tpel ## SIZE ## _hvv_lowpass(dst, src, stride, stride);\
}\
\
static void OPNAME ## rv30_tpel ## SIZE ## _mc21_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
static void OPNAME ## rv30_tpel ## SIZE ## _mc21_c(uint8_t *dst,
const
uint8_t *src, ptrdiff_t stride)\
{\
OPNAME ## rv30_tpel ## SIZE ## _hhv_lowpass(dst, src, stride, stride);\
}\
\
static void OPNAME ## rv30_tpel ## SIZE ## _mc22_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
static void OPNAME ## rv30_tpel ## SIZE ## _mc22_c(uint8_t *dst,
const
uint8_t *src, ptrdiff_t stride)\
{\
OPNAME ## rv30_tpel ## SIZE ## _hhvv_lowpass(dst, src, stride, stride);\
}\
...
...
libavcodec/rv40dsp.c
View file @
7fb993d3
...
...
@@ -34,7 +34,7 @@
#include "rv34dsp.h"
#define RV40_LOWPASS(OPNAME, OP) \
static av_unused void OPNAME ## rv40_qpel8_h_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride,\
static av_unused void OPNAME ## rv40_qpel8_h_lowpass(uint8_t *dst,
const
uint8_t *src, int dstStride, int srcStride,\
const int h, const int C1, const int C2, const int SHIFT){\
const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\
int i;\
...
...
@@ -53,7 +53,7 @@ static av_unused void OPNAME ## rv40_qpel8_h_lowpass(uint8_t *dst, uint8_t *src,
}\
}\
\
static void OPNAME ## rv40_qpel8_v_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride,\
static void OPNAME ## rv40_qpel8_v_lowpass(uint8_t *dst,
const
uint8_t *src, int dstStride, int srcStride,\
const int w, const int C1, const int C2, const int SHIFT){\
const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\
int i;\
...
...
@@ -85,7 +85,7 @@ static void OPNAME ## rv40_qpel8_v_lowpass(uint8_t *dst, uint8_t *src, int dstSt
}\
}\
\
static void OPNAME ## rv40_qpel16_v_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride,\
static void OPNAME ## rv40_qpel16_v_lowpass(uint8_t *dst,
const
uint8_t *src, int dstStride, int srcStride,\
const int w, const int C1, const int C2, const int SHIFT){\
OPNAME ## rv40_qpel8_v_lowpass(dst , src , dstStride, srcStride, 8, C1, C2, SHIFT);\
OPNAME ## rv40_qpel8_v_lowpass(dst+8, src+8, dstStride, srcStride, 8, C1, C2, SHIFT);\
...
...
@@ -95,7 +95,7 @@ static void OPNAME ## rv40_qpel16_v_lowpass(uint8_t *dst, uint8_t *src, int dstS
OPNAME ## rv40_qpel8_v_lowpass(dst+8, src+8, dstStride, srcStride, w-8, C1, C2, SHIFT);\
}\
\
static void OPNAME ## rv40_qpel16_h_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride,\
static void OPNAME ## rv40_qpel16_h_lowpass(uint8_t *dst,
const
uint8_t *src, int dstStride, int srcStride,\
const int h, const int C1, const int C2, const int SHIFT){\
OPNAME ## rv40_qpel8_h_lowpass(dst , src , dstStride, srcStride, 8, C1, C2, SHIFT);\
OPNAME ## rv40_qpel8_h_lowpass(dst+8, src+8, dstStride, srcStride, 8, C1, C2, SHIFT);\
...
...
@@ -107,22 +107,22 @@ static void OPNAME ## rv40_qpel16_h_lowpass(uint8_t *dst, uint8_t *src, int dstS
\
#define RV40_MC(OPNAME, SIZE) \
static void OPNAME ## rv40_qpel ## SIZE ## _mc10_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
static void OPNAME ## rv40_qpel ## SIZE ## _mc10_c(uint8_t *dst,
const
uint8_t *src, ptrdiff_t stride)\
{\
OPNAME ## rv40_qpel ## SIZE ## _h_lowpass(dst, src, stride, stride, SIZE, 52, 20, 6);\
}\
\
static void OPNAME ## rv40_qpel ## SIZE ## _mc30_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
static void OPNAME ## rv40_qpel ## SIZE ## _mc30_c(uint8_t *dst,
const
uint8_t *src, ptrdiff_t stride)\
{\
OPNAME ## rv40_qpel ## SIZE ## _h_lowpass(dst, src, stride, stride, SIZE, 20, 52, 6);\
}\
\
static void OPNAME ## rv40_qpel ## SIZE ## _mc01_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
static void OPNAME ## rv40_qpel ## SIZE ## _mc01_c(uint8_t *dst,
const
uint8_t *src, ptrdiff_t stride)\
{\
OPNAME ## rv40_qpel ## SIZE ## _v_lowpass(dst, src, stride, stride, SIZE, 52, 20, 6);\
}\
\
static void OPNAME ## rv40_qpel ## SIZE ## _mc11_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
static void OPNAME ## rv40_qpel ## SIZE ## _mc11_c(uint8_t *dst,
const
uint8_t *src, ptrdiff_t stride)\
{\
uint8_t full[SIZE*(SIZE+5)];\
uint8_t * const full_mid = full + SIZE*2;\
...
...
@@ -130,7 +130,7 @@ static void OPNAME ## rv40_qpel ## SIZE ## _mc11_c(uint8_t *dst, uint8_t *src, p
OPNAME ## rv40_qpel ## SIZE ## _v_lowpass(dst, full_mid, stride, SIZE, SIZE, 52, 20, 6);\
}\
\
static void OPNAME ## rv40_qpel ## SIZE ## _mc21_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
static void OPNAME ## rv40_qpel ## SIZE ## _mc21_c(uint8_t *dst,
const
uint8_t *src, ptrdiff_t stride)\
{\
uint8_t full[SIZE*(SIZE+5)];\
uint8_t * const full_mid = full + SIZE*2;\
...
...
@@ -138,7 +138,7 @@ static void OPNAME ## rv40_qpel ## SIZE ## _mc21_c(uint8_t *dst, uint8_t *src, p
OPNAME ## rv40_qpel ## SIZE ## _v_lowpass(dst, full_mid, stride, SIZE, SIZE, 52, 20, 6);\
}\
\
static void OPNAME ## rv40_qpel ## SIZE ## _mc31_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
static void OPNAME ## rv40_qpel ## SIZE ## _mc31_c(uint8_t *dst,
const
uint8_t *src, ptrdiff_t stride)\
{\
uint8_t full[SIZE*(SIZE+5)];\
uint8_t * const full_mid = full + SIZE*2;\
...
...
@@ -146,7 +146,7 @@ static void OPNAME ## rv40_qpel ## SIZE ## _mc31_c(uint8_t *dst, uint8_t *src, p
OPNAME ## rv40_qpel ## SIZE ## _v_lowpass(dst, full_mid, stride, SIZE, SIZE, 52, 20, 6);\
}\
\
static void OPNAME ## rv40_qpel ## SIZE ## _mc12_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
static void OPNAME ## rv40_qpel ## SIZE ## _mc12_c(uint8_t *dst,
const
uint8_t *src, ptrdiff_t stride)\
{\
uint8_t full[SIZE*(SIZE+5)];\
uint8_t * const full_mid = full + SIZE*2;\
...
...
@@ -154,7 +154,7 @@ static void OPNAME ## rv40_qpel ## SIZE ## _mc12_c(uint8_t *dst, uint8_t *src, p
OPNAME ## rv40_qpel ## SIZE ## _v_lowpass(dst, full_mid, stride, SIZE, SIZE, 20, 20, 5);\
}\
\
static void OPNAME ## rv40_qpel ## SIZE ## _mc22_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
static void OPNAME ## rv40_qpel ## SIZE ## _mc22_c(uint8_t *dst,
const
uint8_t *src, ptrdiff_t stride)\
{\
uint8_t full[SIZE*(SIZE+5)];\
uint8_t * const full_mid = full + SIZE*2;\
...
...
@@ -162,7 +162,7 @@ static void OPNAME ## rv40_qpel ## SIZE ## _mc22_c(uint8_t *dst, uint8_t *src, p
OPNAME ## rv40_qpel ## SIZE ## _v_lowpass(dst, full_mid, stride, SIZE, SIZE, 20, 20, 5);\
}\
\
static void OPNAME ## rv40_qpel ## SIZE ## _mc32_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
static void OPNAME ## rv40_qpel ## SIZE ## _mc32_c(uint8_t *dst,
const
uint8_t *src, ptrdiff_t stride)\
{\
uint8_t full[SIZE*(SIZE+5)];\
uint8_t * const full_mid = full + SIZE*2;\
...
...
@@ -170,12 +170,12 @@ static void OPNAME ## rv40_qpel ## SIZE ## _mc32_c(uint8_t *dst, uint8_t *src, p
OPNAME ## rv40_qpel ## SIZE ## _v_lowpass(dst, full_mid, stride, SIZE, SIZE, 20, 20, 5);\
}\
\
static void OPNAME ## rv40_qpel ## SIZE ## _mc03_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
static void OPNAME ## rv40_qpel ## SIZE ## _mc03_c(uint8_t *dst,
const
uint8_t *src, ptrdiff_t stride)\
{\
OPNAME ## rv40_qpel ## SIZE ## _v_lowpass(dst, src, stride, stride, SIZE, 20, 52, 6);\
}\
\
static void OPNAME ## rv40_qpel ## SIZE ## _mc13_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
static void OPNAME ## rv40_qpel ## SIZE ## _mc13_c(uint8_t *dst,
const
uint8_t *src, ptrdiff_t stride)\
{\
uint8_t full[SIZE*(SIZE+5)];\
uint8_t * const full_mid = full + SIZE*2;\
...
...
@@ -183,7 +183,7 @@ static void OPNAME ## rv40_qpel ## SIZE ## _mc13_c(uint8_t *dst, uint8_t *src, p
OPNAME ## rv40_qpel ## SIZE ## _v_lowpass(dst, full_mid, stride, SIZE, SIZE, 20, 52, 6);\
}\
\
static void OPNAME ## rv40_qpel ## SIZE ## _mc23_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
static void OPNAME ## rv40_qpel ## SIZE ## _mc23_c(uint8_t *dst,
const
uint8_t *src, ptrdiff_t stride)\
{\
uint8_t full[SIZE*(SIZE+5)];\
uint8_t * const full_mid = full + SIZE*2;\
...
...
@@ -266,19 +266,19 @@ PIXOP2(put, op_put)
#undef op_avg
#undef op_put
static
void
put_rv40_qpel16_mc33_c
(
uint8_t
*
dst
,
uint8_t
*
src
,
ptrdiff_t
stride
)
static
void
put_rv40_qpel16_mc33_c
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
)
{
put_pixels16_xy2_8_c
(
dst
,
src
,
stride
,
16
);
}
static
void
avg_rv40_qpel16_mc33_c
(
uint8_t
*
dst
,
uint8_t
*
src
,
ptrdiff_t
stride
)
static
void
avg_rv40_qpel16_mc33_c
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
)
{
avg_pixels16_xy2_8_c
(
dst
,
src
,
stride
,
16
);
}
static
void
put_rv40_qpel8_mc33_c
(
uint8_t
*
dst
,
uint8_t
*
src
,
ptrdiff_t
stride
)
static
void
put_rv40_qpel8_mc33_c
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
)
{
put_pixels8_xy2_8_c
(
dst
,
src
,
stride
,
8
);
}
static
void
avg_rv40_qpel8_mc33_c
(
uint8_t
*
dst
,
uint8_t
*
src
,
ptrdiff_t
stride
)
static
void
avg_rv40_qpel8_mc33_c
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
)
{
avg_pixels8_xy2_8_c
(
dst
,
src
,
stride
,
8
);
}
...
...
libavcodec/wmv2dsp.c
View file @
7fb993d3
...
...
@@ -139,7 +139,7 @@ static void wmv2_idct_put_c(uint8_t *dest, int line_size, int16_t *block)
}
}
static
void
wmv2_mspel8_h_lowpass
(
uint8_t
*
dst
,
uint8_t
*
src
,
static
void
wmv2_mspel8_h_lowpass
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
int
dstStride
,
int
srcStride
,
int
h
)
{
const
uint8_t
*
cm
=
ff_crop_tab
+
MAX_NEG_CROP
;
...
...
@@ -159,7 +159,7 @@ static void wmv2_mspel8_h_lowpass(uint8_t *dst, uint8_t *src,
}
}
static
void
wmv2_mspel8_v_lowpass
(
uint8_t
*
dst
,
uint8_t
*
src
,
static
void
wmv2_mspel8_v_lowpass
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
int
dstStride
,
int
srcStride
,
int
w
)
{
const
uint8_t
*
cm
=
ff_crop_tab
+
MAX_NEG_CROP
;
...
...
@@ -190,7 +190,7 @@ static void wmv2_mspel8_v_lowpass(uint8_t *dst, uint8_t *src,
}
}
static
void
put_mspel8_mc10_c
(
uint8_t
*
dst
,
uint8_t
*
src
,
ptrdiff_t
stride
)
static
void
put_mspel8_mc10_c
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
)
{
uint8_t
half
[
64
];
...
...
@@ -198,12 +198,12 @@ static void put_mspel8_mc10_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)
ff_put_pixels8_l2_8
(
dst
,
src
,
half
,
stride
,
stride
,
8
,
8
);
}
static
void
put_mspel8_mc20_c
(
uint8_t
*
dst
,
uint8_t
*
src
,
ptrdiff_t
stride
)
static
void
put_mspel8_mc20_c
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
)
{
wmv2_mspel8_h_lowpass
(
dst
,
src
,
stride
,
stride
,
8
);
}
static
void
put_mspel8_mc30_c
(
uint8_t
*
dst
,
uint8_t
*
src
,
ptrdiff_t
stride
)
static
void
put_mspel8_mc30_c
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
)
{
uint8_t
half
[
64
];
...
...
@@ -211,12 +211,12 @@ static void put_mspel8_mc30_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)
ff_put_pixels8_l2_8
(
dst
,
src
+
1
,
half
,
stride
,
stride
,
8
,
8
);
}
static
void
put_mspel8_mc02_c
(
uint8_t
*
dst
,
uint8_t
*
src
,
ptrdiff_t
stride
)
static
void
put_mspel8_mc02_c
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
)
{
wmv2_mspel8_v_lowpass
(
dst
,
src
,
stride
,
stride
,
8
);
}
static
void
put_mspel8_mc12_c
(
uint8_t
*
dst
,
uint8_t
*
src
,
ptrdiff_t
stride
)
static
void
put_mspel8_mc12_c
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
)
{
uint8_t
halfH
[
88
];
uint8_t
halfV
[
64
];
...
...
@@ -228,7 +228,7 @@ static void put_mspel8_mc12_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)
ff_put_pixels8_l2_8
(
dst
,
halfV
,
halfHV
,
stride
,
8
,
8
,
8
);
}
static
void
put_mspel8_mc32_c
(
uint8_t
*
dst
,
uint8_t
*
src
,
ptrdiff_t
stride
)
static
void
put_mspel8_mc32_c
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
)
{
uint8_t
halfH
[
88
];
uint8_t
halfV
[
64
];
...
...
@@ -240,7 +240,7 @@ static void put_mspel8_mc32_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)
ff_put_pixels8_l2_8
(
dst
,
halfV
,
halfHV
,
stride
,
8
,
8
,
8
);
}
static
void
put_mspel8_mc22_c
(
uint8_t
*
dst
,
uint8_t
*
src
,
ptrdiff_t
stride
)
static
void
put_mspel8_mc22_c
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
)
{
uint8_t
halfH
[
88
];
...
...
libavcodec/x86/cavsdsp.c
View file @
7fb993d3
...
...
@@ -334,7 +334,7 @@ static void cavs_idct8_add_mmx(uint8_t *dst, int16_t *block, int stride)
}
#define QPEL_CAVS(OPNAME, OP, MMX)\
static void OPNAME ## cavs_qpel8_h_ ## MMX(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
static void OPNAME ## cavs_qpel8_h_ ## MMX(uint8_t *dst,
const
uint8_t *src, int dstStride, int srcStride){\
int h=8;\
__asm__ volatile(\
"pxor %%mm7, %%mm7 \n\t"\
...
...
@@ -381,43 +381,43 @@ static void OPNAME ## cavs_qpel8_h_ ## MMX(uint8_t *dst, uint8_t *src, int dstSt
);\
}\
\
static inline void OPNAME ## cavs_qpel8or16_v1_ ## MMX(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h){\
static inline void OPNAME ## cavs_qpel8or16_v1_ ## MMX(uint8_t *dst,
const
uint8_t *src, int dstStride, int srcStride, int h){\
QPEL_CAVSVNUM(QPEL_CAVSV1,OP,ff_pw_64,ff_pw_96,ff_pw_42) \
}\
\
static inline void OPNAME ## cavs_qpel8or16_v2_ ## MMX(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h){\
static inline void OPNAME ## cavs_qpel8or16_v2_ ## MMX(uint8_t *dst,
const
uint8_t *src, int dstStride, int srcStride, int h){\
QPEL_CAVSVNUM(QPEL_CAVSV2,OP,ff_pw_4,ff_pw_5,ff_pw_5) \
}\
\
static inline void OPNAME ## cavs_qpel8or16_v3_ ## MMX(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h){\
static inline void OPNAME ## cavs_qpel8or16_v3_ ## MMX(uint8_t *dst,
const
uint8_t *src, int dstStride, int srcStride, int h){\
QPEL_CAVSVNUM(QPEL_CAVSV3,OP,ff_pw_64,ff_pw_96,ff_pw_42) \
}\
\
static void OPNAME ## cavs_qpel8_v1_ ## MMX(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
static void OPNAME ## cavs_qpel8_v1_ ## MMX(uint8_t *dst,
const
uint8_t *src, int dstStride, int srcStride){\
OPNAME ## cavs_qpel8or16_v1_ ## MMX(dst , src , dstStride, srcStride, 8);\
}\
static void OPNAME ## cavs_qpel16_v1_ ## MMX(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
static void OPNAME ## cavs_qpel16_v1_ ## MMX(uint8_t *dst,
const
uint8_t *src, int dstStride, int srcStride){\
OPNAME ## cavs_qpel8or16_v1_ ## MMX(dst , src , dstStride, srcStride, 16);\
OPNAME ## cavs_qpel8or16_v1_ ## MMX(dst+8, src+8, dstStride, srcStride, 16);\
}\
\
static void OPNAME ## cavs_qpel8_v2_ ## MMX(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
static void OPNAME ## cavs_qpel8_v2_ ## MMX(uint8_t *dst,
const
uint8_t *src, int dstStride, int srcStride){\
OPNAME ## cavs_qpel8or16_v2_ ## MMX(dst , src , dstStride, srcStride, 8);\
}\
static void OPNAME ## cavs_qpel16_v2_ ## MMX(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
static void OPNAME ## cavs_qpel16_v2_ ## MMX(uint8_t *dst,
const
uint8_t *src, int dstStride, int srcStride){\
OPNAME ## cavs_qpel8or16_v2_ ## MMX(dst , src , dstStride, srcStride, 16);\
OPNAME ## cavs_qpel8or16_v2_ ## MMX(dst+8, src+8, dstStride, srcStride, 16);\
}\
\
static void OPNAME ## cavs_qpel8_v3_ ## MMX(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
static void OPNAME ## cavs_qpel8_v3_ ## MMX(uint8_t *dst,
const
uint8_t *src, int dstStride, int srcStride){\
OPNAME ## cavs_qpel8or16_v3_ ## MMX(dst , src , dstStride, srcStride, 8);\
}\
static void OPNAME ## cavs_qpel16_v3_ ## MMX(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
static void OPNAME ## cavs_qpel16_v3_ ## MMX(uint8_t *dst,
const
uint8_t *src, int dstStride, int srcStride){\
OPNAME ## cavs_qpel8or16_v3_ ## MMX(dst , src , dstStride, srcStride, 16);\
OPNAME ## cavs_qpel8or16_v3_ ## MMX(dst+8, src+8, dstStride, srcStride, 16);\
}\
\
static void OPNAME ## cavs_qpel16_h_ ## MMX(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
static void OPNAME ## cavs_qpel16_h_ ## MMX(uint8_t *dst,
const
uint8_t *src, int dstStride, int srcStride){\
OPNAME ## cavs_qpel8_h_ ## MMX(dst , src , dstStride, srcStride);\
OPNAME ## cavs_qpel8_h_ ## MMX(dst+8, src+8, dstStride, srcStride);\
src += 8*srcStride;\
...
...
@@ -427,22 +427,22 @@ static void OPNAME ## cavs_qpel16_h_ ## MMX(uint8_t *dst, uint8_t *src, int dstS
}\
#define CAVS_MC(OPNAME, SIZE, MMX) \
static void OPNAME ## cavs_qpel ## SIZE ## _mc20_ ## MMX(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
static void OPNAME ## cavs_qpel ## SIZE ## _mc20_ ## MMX(uint8_t *dst,
const
uint8_t *src, ptrdiff_t stride)\
{\
OPNAME ## cavs_qpel ## SIZE ## _h_ ## MMX(dst, src, stride, stride);\
}\
\
static void OPNAME ## cavs_qpel ## SIZE ## _mc01_ ## MMX(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
static void OPNAME ## cavs_qpel ## SIZE ## _mc01_ ## MMX(uint8_t *dst,
const
uint8_t *src, ptrdiff_t stride)\
{\
OPNAME ## cavs_qpel ## SIZE ## _v1_ ## MMX(dst, src, stride, stride);\
}\
\
static void OPNAME ## cavs_qpel ## SIZE ## _mc02_ ## MMX(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
static void OPNAME ## cavs_qpel ## SIZE ## _mc02_ ## MMX(uint8_t *dst,
const
uint8_t *src, ptrdiff_t stride)\
{\
OPNAME ## cavs_qpel ## SIZE ## _v2_ ## MMX(dst, src, stride, stride);\
}\
\
static void OPNAME ## cavs_qpel ## SIZE ## _mc03_ ## MMX(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
static void OPNAME ## cavs_qpel ## SIZE ## _mc03_ ## MMX(uint8_t *dst,
const
uint8_t *src, ptrdiff_t stride)\
{\
OPNAME ## cavs_qpel ## SIZE ## _v3_ ## MMX(dst, src, stride, stride);\
}\
...
...
@@ -460,25 +460,25 @@ static void OPNAME ## cavs_qpel ## SIZE ## _mc03_ ## MMX(uint8_t *dst, uint8_t *
#endif
/* (HAVE_MMXEXT_INLINE || HAVE_AMD3DNOW_INLINE) */
#if HAVE_MMX_INLINE
static
void
put_cavs_qpel8_mc00_mmx
(
uint8_t
*
dst
,
uint8_t
*
src
,
static
void
put_cavs_qpel8_mc00_mmx
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
)
{
ff_put_pixels8_mmx
(
dst
,
src
,
stride
,
8
);
}
static
void
avg_cavs_qpel8_mc00_mmx
(
uint8_t
*
dst
,
uint8_t
*
src
,
static
void
avg_cavs_qpel8_mc00_mmx
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
)
{
ff_avg_pixels8_mmx
(
dst
,
src
,
stride
,
8
);
}
static
void
put_cavs_qpel16_mc00_mmx
(
uint8_t
*
dst
,
uint8_t
*
src
,
static
void
put_cavs_qpel16_mc00_mmx
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
)
{
ff_put_pixels16_mmx
(
dst
,
src
,
stride
,
16
);
}
static
void
avg_cavs_qpel16_mc00_mmx
(
uint8_t
*
dst
,
uint8_t
*
src
,
static
void
avg_cavs_qpel16_mc00_mmx
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
)
{
ff_avg_pixels16_mmx
(
dst
,
src
,
stride
,
16
);
...
...
libavcodec/x86/h264_qpel.c
View file @
7fb993d3
This diff is collapsed.
Click to expand it.
libavcodec/x86/qpeldsp_init.c
View file @
7fb993d3
This diff is collapsed.
Click to expand it.
libavcodec/x86/rv40dsp_init.c
View file @
7fb993d3
...
...
@@ -70,7 +70,7 @@ DECLARE_WEIGHT(ssse3)
*/
#define QPEL_FUNC_DECL(OP, SIZE, PH, PV, OPT) \
static void OP ## rv40_qpel ##SIZE ##_mc ##PH ##PV ##OPT(uint8_t *dst, \
uint8_t *src,
\
const uint8_t *src,
\
ptrdiff_t stride) \
{ \
int i; \
...
...
@@ -189,22 +189,22 @@ QPEL_FUNCS_SET (OP, 3, 2, OPT)
#endif
/* HAVE_YASM */
#if HAVE_MMX_INLINE
static
void
put_rv40_qpel8_mc33_mmx
(
uint8_t
*
dst
,
uint8_t
*
src
,
static
void
put_rv40_qpel8_mc33_mmx
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
)
{
ff_put_pixels8_xy2_mmx
(
dst
,
src
,
stride
,
8
);
}
static
void
put_rv40_qpel16_mc33_mmx
(
uint8_t
*
dst
,
uint8_t
*
src
,
static
void
put_rv40_qpel16_mc33_mmx
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
)
{
ff_put_pixels16_xy2_mmx
(
dst
,
src
,
stride
,
16
);
}
static
void
avg_rv40_qpel8_mc33_mmx
(
uint8_t
*
dst
,
uint8_t
*
src
,
static
void
avg_rv40_qpel8_mc33_mmx
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
)
{
ff_avg_pixels8_xy2_mmx
(
dst
,
src
,
stride
,
8
);
}
static
void
avg_rv40_qpel16_mc33_mmx
(
uint8_t
*
dst
,
uint8_t
*
src
,
static
void
avg_rv40_qpel16_mc33_mmx
(
uint8_t
*
dst
,
const
uint8_t
*
src
,
ptrdiff_t
stride
)
{
ff_avg_pixels16_xy2_mmx
(
dst
,
src
,
stride
,
16
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment