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
2cc4f3b2
Commit
2cc4f3b2
authored
Jul 21, 2011
by
Mans Rullgard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
simple_idct: whitespace cosmetics
Signed-off-by:
Mans Rullgard
<
mans@mansr.com
>
parent
a402f109
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
124 additions
and
124 deletions
+124
-124
simple_idct_template.c
libavcodec/simple_idct_template.c
+124
-124
No files found.
libavcodec/simple_idct_template.c
View file @
2cc4f3b2
...
...
@@ -87,78 +87,77 @@
static
inline
void
FUNC
(
idctRowCondDC
)(
DCTELEM
*
row
)
{
int
a0
,
a1
,
a2
,
a3
,
b0
,
b1
,
b2
,
b3
;
int
a0
,
a1
,
a2
,
a3
,
b0
,
b1
,
b2
,
b3
;
#if HAVE_FAST_64BIT
#define ROW0_MASK (0xffffLL << 48 * HAVE_BIGENDIAN)
if
(((((
uint64_t
*
)
row
)[
0
]
&
~
ROW0_MASK
)
|
((
uint64_t
*
)
row
)[
1
])
==
0
)
{
uint64_t
temp
=
(
row
[
0
]
<<
DC_SHIFT
)
&
0xffff
;
temp
+=
temp
<<
16
;
temp
+=
temp
<<
32
;
((
uint64_t
*
)
row
)[
0
]
=
temp
;
((
uint64_t
*
)
row
)[
1
]
=
temp
;
return
;
}
if
(((((
uint64_t
*
)
row
)[
0
]
&
~
ROW0_MASK
)
|
((
uint64_t
*
)
row
)[
1
])
==
0
)
{
uint64_t
temp
=
(
row
[
0
]
<<
DC_SHIFT
)
&
0xffff
;
temp
+=
temp
<<
16
;
temp
+=
temp
<<
32
;
((
uint64_t
*
)
row
)[
0
]
=
temp
;
((
uint64_t
*
)
row
)[
1
]
=
temp
;
return
;
}
#else
if
(
!
(((
uint32_t
*
)
row
)[
1
]
|
((
uint32_t
*
)
row
)[
2
]
|
((
uint32_t
*
)
row
)[
3
]
|
row
[
1
]))
{
uint32_t
temp
=
(
row
[
0
]
<<
DC_SHIFT
)
&
0xffff
;
temp
+=
temp
<<
16
;
((
uint32_t
*
)
row
)[
0
]
=
((
uint32_t
*
)
row
)[
1
]
=
((
uint32_t
*
)
row
)[
2
]
=
((
uint32_t
*
)
row
)[
3
]
=
temp
;
return
;
}
if
(
!
(((
uint32_t
*
)
row
)[
1
]
|
((
uint32_t
*
)
row
)[
2
]
|
((
uint32_t
*
)
row
)[
3
]
|
row
[
1
]))
{
uint32_t
temp
=
(
row
[
0
]
<<
DC_SHIFT
)
&
0xffff
;
temp
+=
temp
<<
16
;
((
uint32_t
*
)
row
)[
0
]
=
((
uint32_t
*
)
row
)[
1
]
=
((
uint32_t
*
)
row
)[
2
]
=
((
uint32_t
*
)
row
)[
3
]
=
temp
;
return
;
}
#endif
a0
=
(
W4
*
row
[
0
])
+
(
1
<<
(
ROW_SHIFT
-
1
));
a1
=
a0
;
a2
=
a0
;
a3
=
a0
;
/* no need to optimize : gcc does it */
a0
+=
W2
*
row
[
2
];
a1
+=
W6
*
row
[
2
];
a2
-=
W6
*
row
[
2
];
a3
-=
W2
*
row
[
2
];
b0
=
MUL
(
W1
,
row
[
1
]);
MAC
(
b0
,
W3
,
row
[
3
]);
b1
=
MUL
(
W3
,
row
[
1
]);
MAC
(
b1
,
-
W7
,
row
[
3
]);
b2
=
MUL
(
W5
,
row
[
1
]);
MAC
(
b2
,
-
W1
,
row
[
3
]);
b3
=
MUL
(
W7
,
row
[
1
]);
MAC
(
b3
,
-
W5
,
row
[
3
]);
if
(
AV_RN64A
(
row
+
4
))
{
a0
+=
W4
*
row
[
4
]
+
W6
*
row
[
6
];
a1
+=
-
W4
*
row
[
4
]
-
W2
*
row
[
6
];
a2
+=
-
W4
*
row
[
4
]
+
W2
*
row
[
6
];
a3
+=
W4
*
row
[
4
]
-
W6
*
row
[
6
];
MAC
(
b0
,
W5
,
row
[
5
]);
MAC
(
b0
,
W7
,
row
[
7
]);
MAC
(
b1
,
-
W1
,
row
[
5
]);
MAC
(
b1
,
-
W5
,
row
[
7
]);
MAC
(
b2
,
W7
,
row
[
5
]);
MAC
(
b2
,
W3
,
row
[
7
]);
MAC
(
b3
,
W3
,
row
[
5
]);
MAC
(
b3
,
-
W1
,
row
[
7
]);
}
row
[
0
]
=
(
a0
+
b0
)
>>
ROW_SHIFT
;
row
[
7
]
=
(
a0
-
b0
)
>>
ROW_SHIFT
;
row
[
1
]
=
(
a1
+
b1
)
>>
ROW_SHIFT
;
row
[
6
]
=
(
a1
-
b1
)
>>
ROW_SHIFT
;
row
[
2
]
=
(
a2
+
b2
)
>>
ROW_SHIFT
;
row
[
5
]
=
(
a2
-
b2
)
>>
ROW_SHIFT
;
row
[
3
]
=
(
a3
+
b3
)
>>
ROW_SHIFT
;
row
[
4
]
=
(
a3
-
b3
)
>>
ROW_SHIFT
;
a0
=
(
W4
*
row
[
0
])
+
(
1
<<
(
ROW_SHIFT
-
1
));
a1
=
a0
;
a2
=
a0
;
a3
=
a0
;
a0
+=
W2
*
row
[
2
];
a1
+=
W6
*
row
[
2
];
a2
-=
W6
*
row
[
2
];
a3
-=
W2
*
row
[
2
];
b0
=
MUL
(
W1
,
row
[
1
]);
MAC
(
b0
,
W3
,
row
[
3
]);
b1
=
MUL
(
W3
,
row
[
1
]);
MAC
(
b1
,
-
W7
,
row
[
3
]);
b2
=
MUL
(
W5
,
row
[
1
]);
MAC
(
b2
,
-
W1
,
row
[
3
]);
b3
=
MUL
(
W7
,
row
[
1
]);
MAC
(
b3
,
-
W5
,
row
[
3
]);
if
(
AV_RN64A
(
row
+
4
))
{
a0
+=
W4
*
row
[
4
]
+
W6
*
row
[
6
];
a1
+=
-
W4
*
row
[
4
]
-
W2
*
row
[
6
];
a2
+=
-
W4
*
row
[
4
]
+
W2
*
row
[
6
];
a3
+=
W4
*
row
[
4
]
-
W6
*
row
[
6
];
MAC
(
b0
,
W5
,
row
[
5
]);
MAC
(
b0
,
W7
,
row
[
7
]);
MAC
(
b1
,
-
W1
,
row
[
5
]);
MAC
(
b1
,
-
W5
,
row
[
7
]);
MAC
(
b2
,
W7
,
row
[
5
]);
MAC
(
b2
,
W3
,
row
[
7
]);
MAC
(
b3
,
W3
,
row
[
5
]);
MAC
(
b3
,
-
W1
,
row
[
7
]);
}
row
[
0
]
=
(
a0
+
b0
)
>>
ROW_SHIFT
;
row
[
7
]
=
(
a0
-
b0
)
>>
ROW_SHIFT
;
row
[
1
]
=
(
a1
+
b1
)
>>
ROW_SHIFT
;
row
[
6
]
=
(
a1
-
b1
)
>>
ROW_SHIFT
;
row
[
2
]
=
(
a2
+
b2
)
>>
ROW_SHIFT
;
row
[
5
]
=
(
a2
-
b2
)
>>
ROW_SHIFT
;
row
[
3
]
=
(
a3
+
b3
)
>>
ROW_SHIFT
;
row
[
4
]
=
(
a3
-
b3
)
>>
ROW_SHIFT
;
}
#define IDCT_COLS do { \
...
...
@@ -214,67 +213,67 @@ static inline void FUNC(idctRowCondDC)(DCTELEM *row)
static
inline
void
FUNC
(
idctSparseColPut
)(
pixel
*
dest
,
int
line_size
,
DCTELEM
*
col
)
{
int
a0
,
a1
,
a2
,
a3
,
b0
,
b1
,
b2
,
b3
;
INIT_CLIP
;
IDCT_COLS
;
dest
[
0
]
=
CLIP
((
a0
+
b0
)
>>
COL_SHIFT
);
dest
+=
line_size
;
dest
[
0
]
=
CLIP
((
a1
+
b1
)
>>
COL_SHIFT
);
dest
+=
line_size
;
dest
[
0
]
=
CLIP
((
a2
+
b2
)
>>
COL_SHIFT
);
dest
+=
line_size
;
dest
[
0
]
=
CLIP
((
a3
+
b3
)
>>
COL_SHIFT
);
dest
+=
line_size
;
dest
[
0
]
=
CLIP
((
a3
-
b3
)
>>
COL_SHIFT
);
dest
+=
line_size
;
dest
[
0
]
=
CLIP
((
a2
-
b2
)
>>
COL_SHIFT
);
dest
+=
line_size
;
dest
[
0
]
=
CLIP
((
a1
-
b1
)
>>
COL_SHIFT
);
dest
+=
line_size
;
dest
[
0
]
=
CLIP
((
a0
-
b0
)
>>
COL_SHIFT
);
int
a0
,
a1
,
a2
,
a3
,
b0
,
b1
,
b2
,
b3
;
INIT_CLIP
;
IDCT_COLS
;
dest
[
0
]
=
CLIP
((
a0
+
b0
)
>>
COL_SHIFT
);
dest
+=
line_size
;
dest
[
0
]
=
CLIP
((
a1
+
b1
)
>>
COL_SHIFT
);
dest
+=
line_size
;
dest
[
0
]
=
CLIP
((
a2
+
b2
)
>>
COL_SHIFT
);
dest
+=
line_size
;
dest
[
0
]
=
CLIP
((
a3
+
b3
)
>>
COL_SHIFT
);
dest
+=
line_size
;
dest
[
0
]
=
CLIP
((
a3
-
b3
)
>>
COL_SHIFT
);
dest
+=
line_size
;
dest
[
0
]
=
CLIP
((
a2
-
b2
)
>>
COL_SHIFT
);
dest
+=
line_size
;
dest
[
0
]
=
CLIP
((
a1
-
b1
)
>>
COL_SHIFT
);
dest
+=
line_size
;
dest
[
0
]
=
CLIP
((
a0
-
b0
)
>>
COL_SHIFT
);
}
static
inline
void
FUNC
(
idctSparseColAdd
)(
pixel
*
dest
,
int
line_size
,
DCTELEM
*
col
)
{
int
a0
,
a1
,
a2
,
a3
,
b0
,
b1
,
b2
,
b3
;
INIT_CLIP
;
IDCT_COLS
;
dest
[
0
]
=
CLIP
(
dest
[
0
]
+
((
a0
+
b0
)
>>
COL_SHIFT
));
dest
+=
line_size
;
dest
[
0
]
=
CLIP
(
dest
[
0
]
+
((
a1
+
b1
)
>>
COL_SHIFT
));
dest
+=
line_size
;
dest
[
0
]
=
CLIP
(
dest
[
0
]
+
((
a2
+
b2
)
>>
COL_SHIFT
));
dest
+=
line_size
;
dest
[
0
]
=
CLIP
(
dest
[
0
]
+
((
a3
+
b3
)
>>
COL_SHIFT
));
dest
+=
line_size
;
dest
[
0
]
=
CLIP
(
dest
[
0
]
+
((
a3
-
b3
)
>>
COL_SHIFT
));
dest
+=
line_size
;
dest
[
0
]
=
CLIP
(
dest
[
0
]
+
((
a2
-
b2
)
>>
COL_SHIFT
));
dest
+=
line_size
;
dest
[
0
]
=
CLIP
(
dest
[
0
]
+
((
a1
-
b1
)
>>
COL_SHIFT
));
dest
+=
line_size
;
dest
[
0
]
=
CLIP
(
dest
[
0
]
+
((
a0
-
b0
)
>>
COL_SHIFT
));
int
a0
,
a1
,
a2
,
a3
,
b0
,
b1
,
b2
,
b3
;
INIT_CLIP
;
IDCT_COLS
;
dest
[
0
]
=
CLIP
(
dest
[
0
]
+
((
a0
+
b0
)
>>
COL_SHIFT
));
dest
+=
line_size
;
dest
[
0
]
=
CLIP
(
dest
[
0
]
+
((
a1
+
b1
)
>>
COL_SHIFT
));
dest
+=
line_size
;
dest
[
0
]
=
CLIP
(
dest
[
0
]
+
((
a2
+
b2
)
>>
COL_SHIFT
));
dest
+=
line_size
;
dest
[
0
]
=
CLIP
(
dest
[
0
]
+
((
a3
+
b3
)
>>
COL_SHIFT
));
dest
+=
line_size
;
dest
[
0
]
=
CLIP
(
dest
[
0
]
+
((
a3
-
b3
)
>>
COL_SHIFT
));
dest
+=
line_size
;
dest
[
0
]
=
CLIP
(
dest
[
0
]
+
((
a2
-
b2
)
>>
COL_SHIFT
));
dest
+=
line_size
;
dest
[
0
]
=
CLIP
(
dest
[
0
]
+
((
a1
-
b1
)
>>
COL_SHIFT
));
dest
+=
line_size
;
dest
[
0
]
=
CLIP
(
dest
[
0
]
+
((
a0
-
b0
)
>>
COL_SHIFT
));
}
static
inline
void
FUNC
(
idctSparseCol
)(
DCTELEM
*
col
)
{
int
a0
,
a1
,
a2
,
a3
,
b0
,
b1
,
b2
,
b3
;
IDCT_COLS
;
col
[
0
]
=
((
a0
+
b0
)
>>
COL_SHIFT
);
col
[
8
]
=
((
a1
+
b1
)
>>
COL_SHIFT
);
col
[
16
]
=
((
a2
+
b2
)
>>
COL_SHIFT
);
col
[
24
]
=
((
a3
+
b3
)
>>
COL_SHIFT
);
col
[
32
]
=
((
a3
-
b3
)
>>
COL_SHIFT
);
col
[
40
]
=
((
a2
-
b2
)
>>
COL_SHIFT
);
col
[
48
]
=
((
a1
-
b1
)
>>
COL_SHIFT
);
col
[
56
]
=
((
a0
-
b0
)
>>
COL_SHIFT
);
int
a0
,
a1
,
a2
,
a3
,
b0
,
b1
,
b2
,
b3
;
IDCT_COLS
;
col
[
0
]
=
((
a0
+
b0
)
>>
COL_SHIFT
);
col
[
8
]
=
((
a1
+
b1
)
>>
COL_SHIFT
);
col
[
16
]
=
((
a2
+
b2
)
>>
COL_SHIFT
);
col
[
24
]
=
((
a3
+
b3
)
>>
COL_SHIFT
);
col
[
32
]
=
((
a3
-
b3
)
>>
COL_SHIFT
);
col
[
40
]
=
((
a2
-
b2
)
>>
COL_SHIFT
);
col
[
48
]
=
((
a1
-
b1
)
>>
COL_SHIFT
);
col
[
56
]
=
((
a0
-
b0
)
>>
COL_SHIFT
);
}
void
FUNC
(
ff_simple_idct_put
)(
uint8_t
*
dest_
,
int
line_size
,
DCTELEM
*
block
)
...
...
@@ -284,10 +283,10 @@ void FUNC(ff_simple_idct_put)(uint8_t *dest_, int line_size, DCTELEM *block)
line_size
/=
sizeof
(
pixel
);
for
(
i
=
0
;
i
<
8
;
i
++
)
for
(
i
=
0
;
i
<
8
;
i
++
)
FUNC
(
idctRowCondDC
)(
block
+
i
*
8
);
for
(
i
=
0
;
i
<
8
;
i
++
)
for
(
i
=
0
;
i
<
8
;
i
++
)
FUNC
(
idctSparseColPut
)(
dest
+
i
,
line_size
,
block
+
i
);
}
...
...
@@ -298,19 +297,20 @@ void FUNC(ff_simple_idct_add)(uint8_t *dest_, int line_size, DCTELEM *block)
line_size
/=
sizeof
(
pixel
);
for
(
i
=
0
;
i
<
8
;
i
++
)
for
(
i
=
0
;
i
<
8
;
i
++
)
FUNC
(
idctRowCondDC
)(
block
+
i
*
8
);
for
(
i
=
0
;
i
<
8
;
i
++
)
for
(
i
=
0
;
i
<
8
;
i
++
)
FUNC
(
idctSparseColAdd
)(
dest
+
i
,
line_size
,
block
+
i
);
}
void
FUNC
(
ff_simple_idct
)(
DCTELEM
*
block
)
{
int
i
;
for
(
i
=
0
;
i
<
8
;
i
++
)
for
(
i
=
0
;
i
<
8
;
i
++
)
FUNC
(
idctRowCondDC
)(
block
+
i
*
8
);
for
(
i
=
0
;
i
<
8
;
i
++
)
for
(
i
=
0
;
i
<
8
;
i
++
)
FUNC
(
idctSparseCol
)(
block
+
i
);
}
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