Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
F
ffmpeg.wasm-core
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
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Linshizhi
ffmpeg.wasm-core
Commits
b7c27ee6
Commit
b7c27ee6
authored
Sep 14, 2002
by
Michael Niedermayer
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
alignment info
Originally committed as revision 947 to
svn://svn.ffmpeg.org/ffmpeg/trunk
parent
a172cae6
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
23 additions
and
13 deletions
+23
-13
dsputil.h
libavcodec/dsputil.h
+23
-13
No files found.
libavcodec/dsputil.h
View file @
b7c27ee6
...
@@ -50,17 +50,26 @@ extern UINT8 cropTbl[256 + 2 * MAX_NEG_CROP];
...
@@ -50,17 +50,26 @@ extern UINT8 cropTbl[256 + 2 * MAX_NEG_CROP];
void
dsputil_init
(
void
);
void
dsputil_init
(
void
);
/* pixel ops : interface with DCT */
/* minimum alignment rules ;)
if u notice errors in the align stuff, need more alignment for some asm code for some cpu
or need to use a function with less aligned data then send a mail to the ffmpeg-dev list, ...
!warning these alignments might not match reallity, (missing attribute((align)) stuff somewhere possible)
i (michael) didnt check them, these are just the alignents which i think could be reached easily ...
extern
void
(
*
ff_idct
)(
DCTELEM
*
block
);
!future video codecs might need functions with less strict alignment
extern
void
(
*
ff_idct_put
)(
UINT8
*
dest
,
int
line_size
,
DCTELEM
*
block
);
*/
extern
void
(
*
ff_idct_add
)(
UINT8
*
dest
,
int
line_size
,
DCTELEM
*
block
);
extern
void
(
*
get_pixels
)(
DCTELEM
*
block
,
const
UINT8
*
pixels
,
int
line_size
);
/* pixel ops : interface with DCT */
extern
void
(
*
diff_pixels
)(
DCTELEM
*
block
,
const
UINT8
*
s1
,
const
UINT8
*
s2
,
int
stride
);
extern
void
(
*
ff_idct
)(
DCTELEM
*
block
/*align 16*/
);
extern
void
(
*
put_pixels_clamped
)(
const
DCTELEM
*
block
,
UINT8
*
pixels
,
int
line_size
);
extern
void
(
*
ff_idct_put
)(
UINT8
*
dest
/*align 8*/
,
int
line_size
,
DCTELEM
*
block
/*align 16*/
);
extern
void
(
*
add_pixels_clamped
)(
const
DCTELEM
*
block
,
UINT8
*
pixels
,
int
line_size
);
extern
void
(
*
ff_idct_add
)(
UINT8
*
dest
/*align 8*/
,
int
line_size
,
DCTELEM
*
block
/*align 16*/
);
extern
void
(
*
gmc1
)(
UINT8
*
dst
,
UINT8
*
src
,
int
srcStride
,
int
h
,
int
x16
,
int
y16
,
int
rounder
);
extern
void
(
*
get_pixels
)(
DCTELEM
*
block
/*align 16*/
,
const
UINT8
*
pixels
/*align 8*/
,
int
line_size
);
extern
void
(
*
clear_blocks
)(
DCTELEM
*
blocks
);
extern
void
(
*
diff_pixels
)(
DCTELEM
*
block
/*align 16*/
,
const
UINT8
*
s1
/*align 8*/
,
const
UINT8
*
s2
/*align 8*/
,
int
stride
);
extern
void
(
*
put_pixels_clamped
)(
const
DCTELEM
*
block
/*align 16*/
,
UINT8
*
pixels
/*align 8*/
,
int
line_size
);
extern
void
(
*
add_pixels_clamped
)(
const
DCTELEM
*
block
/*align 16*/
,
UINT8
*
pixels
/*align 8*/
,
int
line_size
);
extern
void
(
*
gmc1
)(
UINT8
*
dst
/*align 8*/
,
UINT8
*
src
/*align 1*/
,
int
srcStride
,
int
h
,
int
x16
,
int
y16
,
int
rounder
);
extern
void
(
*
clear_blocks
)(
DCTELEM
*
blocks
/*align 16*/
);
extern
int
(
*
pix_sum
)(
UINT8
*
pix
,
int
line_size
);
extern
int
(
*
pix_sum
)(
UINT8
*
pix
,
int
line_size
);
extern
int
(
*
pix_norm1
)(
UINT8
*
pix
,
int
line_size
);
extern
int
(
*
pix_norm1
)(
UINT8
*
pix
,
int
line_size
);
...
@@ -73,8 +82,9 @@ void add_pixels_clamped_c(const DCTELEM *block, UINT8 *pixels, int line_size);
...
@@ -73,8 +82,9 @@ void add_pixels_clamped_c(const DCTELEM *block, UINT8 *pixels, int line_size);
void
clear_blocks_c
(
DCTELEM
*
blocks
);
void
clear_blocks_c
(
DCTELEM
*
blocks
);
/* add and put pixel (decoding) */
/* add and put pixel (decoding) */
typedef
void
(
*
op_pixels_func
)(
UINT8
*
block
,
const
UINT8
*
pixels
,
int
line_size
,
int
h
);
// blocksizes for op_pixels_func are 8x4,8x8 16x8 16x16
typedef
void
(
*
qpel_mc_func
)(
UINT8
*
dst
,
UINT8
*
src
,
int
stride
);
typedef
void
(
*
op_pixels_func
)(
UINT8
*
block
/*align width (8 or 16)*/
,
const
UINT8
*
pixels
/*align 1*/
,
int
line_size
,
int
h
);
typedef
void
(
*
qpel_mc_func
)(
UINT8
*
dst
/*align width (8 or 16)*/
,
UINT8
*
src
/*align 1*/
,
int
stride
);
extern
op_pixels_func
put_pixels_tab
[
2
][
4
];
extern
op_pixels_func
put_pixels_tab
[
2
][
4
];
extern
op_pixels_func
avg_pixels_tab
[
2
][
4
];
extern
op_pixels_func
avg_pixels_tab
[
2
][
4
];
...
@@ -93,7 +103,7 @@ static void a(uint8_t *block, const uint8_t *pixels, int line_size, int h){\
...
@@ -93,7 +103,7 @@ static void a(uint8_t *block, const uint8_t *pixels, int line_size, int h){\
/* motion estimation */
/* motion estimation */
typedef
int
(
*
op_pixels_abs_func
)(
UINT8
*
blk1
,
UINT8
*
blk2
,
int
line_size
);
typedef
int
(
*
op_pixels_abs_func
)(
UINT8
*
blk1
/*align width (8 or 16)*/
,
UINT8
*
blk2
/*align 1*/
,
int
line_size
);
extern
op_pixels_abs_func
pix_abs16x16
;
extern
op_pixels_abs_func
pix_abs16x16
;
extern
op_pixels_abs_func
pix_abs16x16_x2
;
extern
op_pixels_abs_func
pix_abs16x16_x2
;
...
...
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