Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
F
FFmpeg
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container Registry
Model registry
Operate
Environments
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
libremedia
Tethys
FFmpeg
Commits
c0853697
Commit
c0853697
authored
12 years ago
by
Diego Biurrun
Browse files
Options
Downloads
Patches
Plain Diff
avutil/lzo: K&R formatting cosmetics
parent
c9ef4321
No related branches found
No related tags found
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
libavutil/lzo.c
+53
-43
53 additions, 43 deletions
libavutil/lzo.c
libavutil/lzo.h
+5
-5
5 additions, 5 deletions
libavutil/lzo.h
with
58 additions
and
48 deletions
libavutil/lzo.c
+
53
−
43
View file @
c0853697
...
@@ -29,6 +29,7 @@
...
@@ -29,6 +29,7 @@
#define OUTBUF_PADDED 1
#define OUTBUF_PADDED 1
/// Define if we may read up to 8 bytes beyond the input buffer.
/// Define if we may read up to 8 bytes beyond the input buffer.
#define INBUF_PADDED 1
#define INBUF_PADDED 1
typedef
struct
LZOContext
{
typedef
struct
LZOContext
{
const
uint8_t
*
in
,
*
in_end
;
const
uint8_t
*
in
,
*
in_end
;
uint8_t
*
out_start
,
*
out
,
*
out_end
;
uint8_t
*
out_start
,
*
out
,
*
out_end
;
...
@@ -39,7 +40,8 @@ typedef struct LZOContext {
...
@@ -39,7 +40,8 @@ typedef struct LZOContext {
* @brief Reads one byte from the input buffer, avoiding an overrun.
* @brief Reads one byte from the input buffer, avoiding an overrun.
* @return byte read
* @return byte read
*/
*/
static
inline
int
get_byte
(
LZOContext
*
c
)
{
static
inline
int
get_byte
(
LZOContext
*
c
)
{
if
(
c
->
in
<
c
->
in_end
)
if
(
c
->
in
<
c
->
in_end
)
return
*
c
->
in
++
;
return
*
c
->
in
++
;
c
->
error
|=
AV_LZO_INPUT_DEPLETED
;
c
->
error
|=
AV_LZO_INPUT_DEPLETED
;
...
@@ -58,10 +60,12 @@ static inline int get_byte(LZOContext *c) {
...
@@ -58,10 +60,12 @@ static inline int get_byte(LZOContext *c) {
* @param mask bits used from x
* @param mask bits used from x
* @return decoded length value
* @return decoded length value
*/
*/
static
inline
int
get_len
(
LZOContext
*
c
,
int
x
,
int
mask
)
{
static
inline
int
get_len
(
LZOContext
*
c
,
int
x
,
int
mask
)
{
int
cnt
=
x
&
mask
;
int
cnt
=
x
&
mask
;
if
(
!
cnt
)
{
if
(
!
cnt
)
{
while
(
!
(
x
=
get_byte
(
c
)))
cnt
+=
255
;
while
(
!
(
x
=
get_byte
(
c
)))
cnt
+=
255
;
cnt
+=
mask
+
x
;
cnt
+=
mask
+
x
;
}
}
return
cnt
;
return
cnt
;
...
@@ -84,15 +88,16 @@ static inline int get_len(LZOContext *c, int x, int mask) {
...
@@ -84,15 +88,16 @@ static inline int get_len(LZOContext *c, int x, int mask) {
* @brief Copies bytes from input to output buffer with checking.
* @brief Copies bytes from input to output buffer with checking.
* @param cnt number of bytes to copy, must be >= 0
* @param cnt number of bytes to copy, must be >= 0
*/
*/
static
inline
void
copy
(
LZOContext
*
c
,
int
cnt
)
{
static
inline
void
copy
(
LZOContext
*
c
,
int
cnt
)
{
register
const
uint8_t
*
src
=
c
->
in
;
register
const
uint8_t
*
src
=
c
->
in
;
register
uint8_t
*
dst
=
c
->
out
;
register
uint8_t
*
dst
=
c
->
out
;
if
(
cnt
>
c
->
in_end
-
src
)
{
if
(
cnt
>
c
->
in_end
-
src
)
{
cnt
=
FFMAX
(
c
->
in_end
-
src
,
0
);
cnt
=
FFMAX
(
c
->
in_end
-
src
,
0
);
c
->
error
|=
AV_LZO_INPUT_DEPLETED
;
c
->
error
|=
AV_LZO_INPUT_DEPLETED
;
}
}
if
(
cnt
>
c
->
out_end
-
dst
)
{
if
(
cnt
>
c
->
out_end
-
dst
)
{
cnt
=
FFMAX
(
c
->
out_end
-
dst
,
0
);
cnt
=
FFMAX
(
c
->
out_end
-
dst
,
0
);
c
->
error
|=
AV_LZO_OUTPUT_FULL
;
c
->
error
|=
AV_LZO_OUTPUT_FULL
;
}
}
#if defined(INBUF_PADDED) && defined(OUTBUF_PADDED)
#if defined(INBUF_PADDED) && defined(OUTBUF_PADDED)
...
@@ -102,8 +107,8 @@ static inline void copy(LZOContext *c, int cnt) {
...
@@ -102,8 +107,8 @@ static inline void copy(LZOContext *c, int cnt) {
cnt
-=
4
;
cnt
-=
4
;
if
(
cnt
>
0
)
if
(
cnt
>
0
)
#endif
#endif
memcpy
(
dst
,
src
,
cnt
);
memcpy
(
dst
,
src
,
cnt
);
c
->
in
=
src
+
cnt
;
c
->
in
=
src
+
cnt
;
c
->
out
=
dst
+
cnt
;
c
->
out
=
dst
+
cnt
;
}
}
...
@@ -117,22 +122,24 @@ static inline void memcpy_backptr(uint8_t *dst, int back, int cnt);
...
@@ -117,22 +122,24 @@ static inline void memcpy_backptr(uint8_t *dst, int back, int cnt);
* cnt > back is valid, this will copy the bytes we just copied,
* cnt > back is valid, this will copy the bytes we just copied,
* thus creating a repeating pattern with a period length of back.
* thus creating a repeating pattern with a period length of back.
*/
*/
static
inline
void
copy_backptr
(
LZOContext
*
c
,
int
back
,
int
cnt
)
{
static
inline
void
copy_backptr
(
LZOContext
*
c
,
int
back
,
int
cnt
)
{
register
const
uint8_t
*
src
=
&
c
->
out
[
-
back
];
register
const
uint8_t
*
src
=
&
c
->
out
[
-
back
];
register
uint8_t
*
dst
=
c
->
out
;
register
uint8_t
*
dst
=
c
->
out
;
if
(
src
<
c
->
out_start
||
src
>
dst
)
{
if
(
src
<
c
->
out_start
||
src
>
dst
)
{
c
->
error
|=
AV_LZO_INVALID_BACKPTR
;
c
->
error
|=
AV_LZO_INVALID_BACKPTR
;
return
;
return
;
}
}
if
(
cnt
>
c
->
out_end
-
dst
)
{
if
(
cnt
>
c
->
out_end
-
dst
)
{
cnt
=
FFMAX
(
c
->
out_end
-
dst
,
0
);
cnt
=
FFMAX
(
c
->
out_end
-
dst
,
0
);
c
->
error
|=
AV_LZO_OUTPUT_FULL
;
c
->
error
|=
AV_LZO_OUTPUT_FULL
;
}
}
memcpy_backptr
(
dst
,
back
,
cnt
);
memcpy_backptr
(
dst
,
back
,
cnt
);
c
->
out
=
dst
+
cnt
;
c
->
out
=
dst
+
cnt
;
}
}
static
inline
void
memcpy_backptr
(
uint8_t
*
dst
,
int
back
,
int
cnt
)
{
static
inline
void
memcpy_backptr
(
uint8_t
*
dst
,
int
back
,
int
cnt
)
{
const
uint8_t
*
src
=
&
dst
[
-
back
];
const
uint8_t
*
src
=
&
dst
[
-
back
];
if
(
back
==
1
)
{
if
(
back
==
1
)
{
memset
(
dst
,
*
src
,
cnt
);
memset
(
dst
,
*
src
,
cnt
);
...
@@ -157,8 +164,8 @@ static inline void memcpy_backptr(uint8_t *dst, int back, int cnt) {
...
@@ -157,8 +164,8 @@ static inline void memcpy_backptr(uint8_t *dst, int back, int cnt) {
int
blocklen
=
back
;
int
blocklen
=
back
;
while
(
cnt
>
blocklen
)
{
while
(
cnt
>
blocklen
)
{
memcpy
(
dst
,
src
,
blocklen
);
memcpy
(
dst
,
src
,
blocklen
);
dst
+=
blocklen
;
dst
+=
blocklen
;
cnt
-=
blocklen
;
cnt
-=
blocklen
;
blocklen
<<=
1
;
blocklen
<<=
1
;
}
}
memcpy
(
dst
,
src
,
cnt
);
memcpy
(
dst
,
src
,
cnt
);
...
@@ -166,12 +173,14 @@ static inline void memcpy_backptr(uint8_t *dst, int back, int cnt) {
...
@@ -166,12 +173,14 @@ static inline void memcpy_backptr(uint8_t *dst, int back, int cnt) {
}
}
}
}
void
av_memcpy_backptr
(
uint8_t
*
dst
,
int
back
,
int
cnt
)
{
void
av_memcpy_backptr
(
uint8_t
*
dst
,
int
back
,
int
cnt
)
{
memcpy_backptr
(
dst
,
back
,
cnt
);
memcpy_backptr
(
dst
,
back
,
cnt
);
}
}
int
av_lzo1x_decode
(
void
*
out
,
int
*
outlen
,
const
void
*
in
,
int
*
inlen
)
{
int
av_lzo1x_decode
(
void
*
out
,
int
*
outlen
,
const
void
*
in
,
int
*
inlen
)
int
state
=
0
;
{
int
state
=
0
;
int
x
;
int
x
;
LZOContext
c
;
LZOContext
c
;
if
(
!*
outlen
||
!*
inlen
)
{
if
(
!*
outlen
||
!*
inlen
)
{
...
@@ -182,16 +191,17 @@ int av_lzo1x_decode(void *out, int *outlen, const void *in, int *inlen) {
...
@@ -182,16 +191,17 @@ int av_lzo1x_decode(void *out, int *outlen, const void *in, int *inlen) {
res
|=
AV_LZO_INPUT_DEPLETED
;
res
|=
AV_LZO_INPUT_DEPLETED
;
return
res
;
return
res
;
}
}
c
.
in
=
in
;
c
.
in
=
in
;
c
.
in_end
=
(
const
uint8_t
*
)
in
+
*
inlen
;
c
.
in_end
=
(
const
uint8_t
*
)
in
+
*
inlen
;
c
.
out
=
c
.
out_start
=
out
;
c
.
out
=
c
.
out_start
=
out
;
c
.
out_end
=
(
uint8_t
*
)
out
+
*
outlen
;
c
.
out_end
=
(
uint8_t
*
)
out
+
*
outlen
;
c
.
error
=
0
;
c
.
error
=
0
;
x
=
GETB
(
c
);
x
=
GETB
(
c
);
if
(
x
>
17
)
{
if
(
x
>
17
)
{
copy
(
&
c
,
x
-
17
);
copy
(
&
c
,
x
-
17
);
x
=
GETB
(
c
);
x
=
GETB
(
c
);
if
(
x
<
16
)
c
.
error
|=
AV_LZO_ERROR
;
if
(
x
<
16
)
c
.
error
|=
AV_LZO_ERROR
;
}
}
if
(
c
.
in
>
c
.
in_end
)
if
(
c
.
in
>
c
.
in_end
)
c
.
error
|=
AV_LZO_INPUT_DEPLETED
;
c
.
error
|=
AV_LZO_INPUT_DEPLETED
;
...
@@ -199,16 +209,16 @@ int av_lzo1x_decode(void *out, int *outlen, const void *in, int *inlen) {
...
@@ -199,16 +209,16 @@ int av_lzo1x_decode(void *out, int *outlen, const void *in, int *inlen) {
int
cnt
,
back
;
int
cnt
,
back
;
if
(
x
>
15
)
{
if
(
x
>
15
)
{
if
(
x
>
63
)
{
if
(
x
>
63
)
{
cnt
=
(
x
>>
5
)
-
1
;
cnt
=
(
x
>>
5
)
-
1
;
back
=
(
GETB
(
c
)
<<
3
)
+
((
x
>>
2
)
&
7
)
+
1
;
back
=
(
GETB
(
c
)
<<
3
)
+
((
x
>>
2
)
&
7
)
+
1
;
}
else
if
(
x
>
31
)
{
}
else
if
(
x
>
31
)
{
cnt
=
get_len
(
&
c
,
x
,
31
);
cnt
=
get_len
(
&
c
,
x
,
31
);
x
=
GETB
(
c
);
x
=
GETB
(
c
);
back
=
(
GETB
(
c
)
<<
6
)
+
(
x
>>
2
)
+
1
;
back
=
(
GETB
(
c
)
<<
6
)
+
(
x
>>
2
)
+
1
;
}
else
{
}
else
{
cnt
=
get_len
(
&
c
,
x
,
7
);
cnt
=
get_len
(
&
c
,
x
,
7
);
back
=
(
1
<<
14
)
+
((
x
&
8
)
<<
11
);
back
=
(
1
<<
14
)
+
((
x
&
8
)
<<
11
);
x
=
GETB
(
c
);
x
=
GETB
(
c
);
back
+=
(
GETB
(
c
)
<<
6
)
+
(
x
>>
2
);
back
+=
(
GETB
(
c
)
<<
6
)
+
(
x
>>
2
);
if
(
back
==
(
1
<<
14
))
{
if
(
back
==
(
1
<<
14
))
{
if
(
cnt
!=
1
)
if
(
cnt
!=
1
)
...
@@ -216,21 +226,21 @@ int av_lzo1x_decode(void *out, int *outlen, const void *in, int *inlen) {
...
@@ -216,21 +226,21 @@ int av_lzo1x_decode(void *out, int *outlen, const void *in, int *inlen) {
break
;
break
;
}
}
}
}
}
else
if
(
!
state
){
}
else
if
(
!
state
)
{
cnt
=
get_len
(
&
c
,
x
,
15
);
cnt
=
get_len
(
&
c
,
x
,
15
);
copy
(
&
c
,
cnt
+
3
);
copy
(
&
c
,
cnt
+
3
);
x
=
GETB
(
c
);
x
=
GETB
(
c
);
if
(
x
>
15
)
if
(
x
>
15
)
continue
;
continue
;
cnt
=
1
;
cnt
=
1
;
back
=
(
1
<<
11
)
+
(
GETB
(
c
)
<<
2
)
+
(
x
>>
2
)
+
1
;
back
=
(
1
<<
11
)
+
(
GETB
(
c
)
<<
2
)
+
(
x
>>
2
)
+
1
;
}
else
{
}
else
{
cnt
=
0
;
cnt
=
0
;
back
=
(
GETB
(
c
)
<<
2
)
+
(
x
>>
2
)
+
1
;
back
=
(
GETB
(
c
)
<<
2
)
+
(
x
>>
2
)
+
1
;
}
}
copy_backptr
(
&
c
,
back
,
cnt
+
2
);
copy_backptr
(
&
c
,
back
,
cnt
+
2
);
state
=
state
=
cnt
=
x
&
3
;
cnt
=
x
&
3
;
copy
(
&
c
,
cnt
);
copy
(
&
c
,
cnt
);
x
=
GETB
(
c
);
x
=
GETB
(
c
);
}
}
...
...
This diff is collapsed.
Click to expand it.
libavutil/lzo.h
+
5
−
5
View file @
c0853697
...
@@ -32,18 +32,18 @@
...
@@ -32,18 +32,18 @@
#include
<stdint.h>
#include
<stdint.h>
/** @name Error flags returned by av_lzo1x_decode
/** @name Error flags returned by av_lzo1x_decode
* @{ */
* @{ */
/// end of the input buffer reached before decoding finished
/// end of the input buffer reached before decoding finished
#define AV_LZO_INPUT_DEPLETED 1
#define AV_LZO_INPUT_DEPLETED
1
/// decoded data did not fit into output buffer
/// decoded data did not fit into output buffer
#define AV_LZO_OUTPUT_FULL 2
#define AV_LZO_OUTPUT_FULL
2
/// a reference to previously decoded data was wrong
/// a reference to previously decoded data was wrong
#define AV_LZO_INVALID_BACKPTR 4
#define AV_LZO_INVALID_BACKPTR 4
/// a non-specific error in the compressed bitstream
/// a non-specific error in the compressed bitstream
#define AV_LZO_ERROR 8
#define AV_LZO_ERROR
8
/** @} */
/** @} */
#define AV_LZO_INPUT_PADDING 8
#define AV_LZO_INPUT_PADDING
8
#define AV_LZO_OUTPUT_PADDING 12
#define AV_LZO_OUTPUT_PADDING 12
/**
/**
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment