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
ceb754d0
Commit
ceb754d0
authored
Oct 22, 2012
by
Diego Biurrun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
lzo: Use AV_COPY*U macros where appropriate
parent
a9f0dce2
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
8 additions
and
20 deletions
+8
-20
lzo.c
libavutil/lzo.c
+8
-20
No files found.
libavutil/lzo.c
View file @
ceb754d0
...
...
@@ -23,6 +23,7 @@
#include "avutil.h"
#include "common.h"
#include "intreadwrite.h"
#include "lzo.h"
/// Define if we may write up to 12 bytes beyond the output buffer.
...
...
@@ -71,19 +72,6 @@ static inline int get_len(LZOContext *c, int x, int mask)
return
cnt
;
}
//#define UNALIGNED_LOADSTORE
#define BUILTIN_MEMCPY
#ifdef UNALIGNED_LOADSTORE
#define COPY2(d, s) *(uint16_t *)(d) = *(uint16_t *)(s);
#define COPY4(d, s) *(uint32_t *)(d) = *(uint32_t *)(s);
#elif defined(BUILTIN_MEMCPY)
#define COPY2(d, s) memcpy(d, s, 2);
#define COPY4(d, s) memcpy(d, s, 4);
#else
#define COPY2(d, s) (d)[0] = (s)[0]; (d)[1] = (s)[1];
#define COPY4(d, s) (d)[0] = (s)[0]; (d)[1] = (s)[1]; (d)[2] = (s)[2]; (d)[3] = (s)[3];
#endif
/**
* @brief Copies bytes from input to output buffer with checking.
* @param cnt number of bytes to copy, must be >= 0
...
...
@@ -101,7 +89,7 @@ static inline void copy(LZOContext *c, int cnt)
c
->
error
|=
AV_LZO_OUTPUT_FULL
;
}
#if defined(INBUF_PADDED) && defined(OUTBUF_PADDED)
COPY4
(
dst
,
src
);
AV_COPY32U
(
dst
,
src
);
src
+=
4
;
dst
+=
4
;
cnt
-=
4
;
...
...
@@ -145,16 +133,16 @@ static inline void memcpy_backptr(uint8_t *dst, int back, int cnt)
memset
(
dst
,
*
src
,
cnt
);
}
else
{
#ifdef OUTBUF_PADDED
COPY2
(
dst
,
src
);
COPY2
(
dst
+
2
,
src
+
2
);
AV_COPY16U
(
dst
,
src
);
AV_COPY16U
(
dst
+
2
,
src
+
2
);
src
+=
4
;
dst
+=
4
;
cnt
-=
4
;
if
(
cnt
>
0
)
{
COPY2
(
dst
,
src
);
COPY2
(
dst
+
2
,
src
+
2
);
COPY2
(
dst
+
4
,
src
+
4
);
COPY2
(
dst
+
6
,
src
+
6
);
AV_COPY16U
(
dst
,
src
);
AV_COPY16U
(
dst
+
2
,
src
+
2
);
AV_COPY16U
(
dst
+
4
,
src
+
4
);
AV_COPY16U
(
dst
+
6
,
src
+
6
);
src
+=
8
;
dst
+=
8
;
cnt
-=
8
;
...
...
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