Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Mathis Rosenhauer
libaec
Commits
a57748e3
Commit
a57748e3
authored
Jul 24, 2014
by
Mathis Rosenhauer
Browse files
DLL support for Windows.
parent
99291d6c
Changes
16
Hide whitespace changes
Inline
Side-by-side
CMakeLists.txt
View file @
a57748e3
...
...
@@ -2,7 +2,6 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.8.6)
INCLUDE
(
CheckIncludeFiles
)
INCLUDE
(
TestBigEndian
)
INCLUDE
(
CheckCSourceCompiles
)
INCLUDE
(
GenerateExportHeader
)
PROJECT
(
libaec
)
SET
(
libaec_VERSION_MAJOR 0
)
SET
(
libaec_VERSION_MINOR 2
)
...
...
@@ -83,9 +82,19 @@ CONFIGURE_FILE(
${
CMAKE_CURRENT_SOURCE_DIR
}
/config.h.in
${
CMAKE_CURRENT_BINARY_DIR
}
/config.h
)
ADD_DEFINITIONS
(
"-DHAVE_CONFIG_H"
)
# Allow the developer to select if Dynamic or Static libraries are built
OPTION
(
BUILD_SHARED_LIBS
"Build Shared Libraries"
OFF
)
SET
(
LIB_TYPE STATIC
)
IF
(
BUILD_SHARED_LIBS
)
# User wants to build Dynamic Libraries,
# so change the LIB_TYPE variable to CMake keyword 'SHARED'
SET
(
LIB_TYPE SHARED
)
ENDIF
(
BUILD_SHARED_LIBS
)
SET
(
BUILD_SHARED_LIBS FALSE
)
INCLUDE_DIRECTORIES
(
"
${
PROJECT_BINARY_DIR
}
"
)
INCLUDE_DIRECTORIES
(
"
${
PROJECT_BINARY_DIR
}
/src"
)
INCLUDE_DIRECTORIES
(
"
${
PROJECT_SOURCE_DIR
}
/src"
)
ADD_SUBDIRECTORY
(
src
)
...
...
src/CMakeLists.txt
View file @
a57748e3
INCLUDE
(
GenerateExportHeader
)
SET
(
libaec_SRCS encode.c encode_accessors.c decode.c
)
ADD_LIBRARY
(
aec
${
libaec_SRCS
}
)
ADD_LIBRARY
(
aec
${
LIB_TYPE
}
${
libaec_SRCS
}
)
SET_TARGET_PROPERTIES
(
aec PROPERTIES
VERSION 0
SOVERSION 0.0
)
ADD_LIBRARY
(
sz sz_compat.c
)
ADD_LIBRARY
(
sz
${
LIB_TYPE
}
sz_compat.c
)
SET_TARGET_PROPERTIES
(
sz PROPERTIES
VERSION 0
SOVERSION 0.0
)
TARGET_LINK_LIBRARIES
(
sz aec
)
IF
(
WIN32
)
GENERATE_EXPORT_HEADER
(
aec
BASE_NAME aec
EXPORT_MACRO_NAME aec_EXPORT
EXPORT_FILE_NAME aec_Export.h
STATIC_DEFINE aec_BUILT_AS_STATIC
)
GENERATE_EXPORT_HEADER
(
sz
BASE_NAME sz
EXPORT_MACRO_NAME sz_EXPORT
EXPORT_FILE_NAME sz_Export.h
STATIC_DEFINE sz_BUILT_AS_STATIC
)
SET_TARGET_PROPERTIES
(
aec PROPERTIES DEFINE_SYMBOL
"DLL_EXPORT"
)
SET_TARGET_PROPERTIES
(
sz PROPERTIES DEFINE_SYMBOL
"DLL_EXPORT"
)
ENDIF
(
WIN32
)
TARGET_LINK_LIBRARIES
(
sz aec
)
ADD_EXECUTABLE
(
aec_client aec.c
)
SET_TARGET_PROPERTIES
(
aec_client PROPERTIES OUTPUT_NAME
"aec"
)
TARGET_LINK_LIBRARIES
(
aec_client aec
)
IF
(
UNIX
)
ADD_EXECUTABLE
(
utime EXCLUDE_FROM_ALL utime.c
)
ENDIF
(
UNIX
)
...
...
src/decode.c
View file @
a57748e3
...
...
@@ -51,23 +51,17 @@
*
*/
#include <config.h>
#if HAVE_STDINT_H
#include <stdint.h>
#endif
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#ifdef HAVE_BSR64
#include <intrin.h>
#endif
#include "libaec.h"
#include "decode.h"
#if HAVE_BSR64
# include <intrin.h>
#endif
#define ROS 5
#define BUFFERSPACE(strm) (strm->avail_in >= strm->state->in_blklen \
...
...
src/decode.h
View file @
a57748e3
...
...
@@ -52,16 +52,12 @@
*/
#ifndef DECODE_H
#define DECODE_H
#include <config.h>
#define DECODE_H 1
#if HAVE_STDINT_H
# include <stdint.h>
#
include <stdint.h>
#endif
#include "libaec.h"
#define M_CONTINUE 1
#define M_EXIT 0
#define M_ERROR (-1)
...
...
src/encode.c
View file @
a57748e3
...
...
@@ -51,12 +51,6 @@
*
*/
#include <config.h>
#if HAVE_STDINT_H
# include <stdint.h>
#endif
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
...
...
src/encode.h
View file @
a57748e3
...
...
@@ -52,16 +52,12 @@
*/
#ifndef ENCODE_H
#define ENCODE_H
#include <config.h>
#define ENCODE_H 1
#if HAVE_STDINT_H
# include <stdint.h>
#
include <stdint.h>
#endif
#include "libaec.h"
#define M_CONTINUE 1
#define M_EXIT 0
#define MIN(a, b) (((a) < (b))? (a): (b))
...
...
src/encode_accessors.h
View file @
a57748e3
...
...
@@ -51,16 +51,12 @@
*/
#ifndef ENCODE_ACCESSORS_H
#define ENCODE_ACCESSORS_H
#include <config.h>
#define ENCODE_ACCESSORS_H 1
#if HAVE_STDINT_H
# include <stdint.h>
#
include <stdint.h>
#endif
#include "libaec.h"
uint32_t
aec_get_8
(
struct
aec_stream
*
strm
);
uint32_t
aec_get_lsb_16
(
struct
aec_stream
*
strm
);
uint32_t
aec_get_msb_16
(
struct
aec_stream
*
strm
);
...
...
src/libaec.h
View file @
a57748e3
...
...
@@ -51,10 +51,25 @@
*/
#ifndef LIBAEC_H
#define LIBAEC_H
#define LIBAEC_H
1
#include <stddef.h>
#if HAVE_CONFIG_H
# include <config.h>
#endif
#ifdef _WIN32
# ifdef DLL_EXPORT
# define AEC_SCOPE __declspec(dllexport)
# else
# define AEC_SCOPE extern __declspec(dllimport)
# endif
#endif
#ifndef AEC_SCOPE
# define AEC_SCOPE extern
#endif
struct
internal_state
;
struct
aec_stream
{
...
...
@@ -124,16 +139,16 @@ struct aec_stream {
*/
/* Streaming encoding and decoding functions */
int
aec_encode_init
(
struct
aec_stream
*
strm
);
int
aec_encode
(
struct
aec_stream
*
strm
,
int
flush
);
int
aec_encode_end
(
struct
aec_stream
*
strm
);
AEC_SCOPE
int
aec_encode_init
(
struct
aec_stream
*
strm
);
AEC_SCOPE
int
aec_encode
(
struct
aec_stream
*
strm
,
int
flush
);
AEC_SCOPE
int
aec_encode_end
(
struct
aec_stream
*
strm
);
int
aec_decode_init
(
struct
aec_stream
*
strm
);
int
aec_decode
(
struct
aec_stream
*
strm
,
int
flush
);
int
aec_decode_end
(
struct
aec_stream
*
strm
);
AEC_SCOPE
int
aec_decode_init
(
struct
aec_stream
*
strm
);
AEC_SCOPE
int
aec_decode
(
struct
aec_stream
*
strm
,
int
flush
);
AEC_SCOPE
int
aec_decode_end
(
struct
aec_stream
*
strm
);
/* Utility functions for encoding or decoding a memory buffer. */
int
aec_buffer_encode
(
struct
aec_stream
*
strm
);
int
aec_buffer_decode
(
struct
aec_stream
*
strm
);
AEC_SCOPE
int
aec_buffer_encode
(
struct
aec_stream
*
strm
);
AEC_SCOPE
int
aec_buffer_decode
(
struct
aec_stream
*
strm
);
#endif
/* LIBAEC_H */
src/sz_compat.c
View file @
a57748e3
#include <stdio.h>
#include <stddef.h>
#include <string.h>
#include <stdlib.h>
#include <string.h>
#include "szlib.h"
#include "libaec.h"
#define NOPTS 129
...
...
src/szlib.h
View file @
a57748e3
#ifndef SZLIB_H
#define SZLIB_H
#define SZLIB_H
1
#include "libaec.h"
...
...
@@ -30,13 +30,13 @@ typedef struct SZ_com_t_s
int
pixels_per_scanline
;
}
SZ_com_t
;
int
SZ_BufftoBuffCompress
(
void
*
dest
,
size_t
*
destLen
,
AEC_SCOPE
int
SZ_BufftoBuffCompress
(
void
*
dest
,
size_t
*
destLen
,
const
void
*
source
,
size_t
sourceLen
,
SZ_com_t
*
param
);
int
SZ_BufftoBuffDecompress
(
void
*
dest
,
size_t
*
destLen
,
AEC_SCOPE
int
SZ_BufftoBuffDecompress
(
void
*
dest
,
size_t
*
destLen
,
const
void
*
source
,
size_t
sourceLen
,
SZ_com_t
*
param
);
int
SZ_encoder_enabled
(
void
);
AEC_SCOPE
int
SZ_encoder_enabled
(
void
);
#endif
/* SZLIB_H */
tests/CMakeLists.txt
View file @
a57748e3
ADD_LIBRARY
(
check_aec check_aec.c
)
ADD_LIBRARY
(
check_aec STATIC check_aec.c
)
TARGET_LINK_LIBRARIES
(
check_aec aec
)
ADD_EXECUTABLE
(
check_code_options check_code_options.c
)
TARGET_LINK_LIBRARIES
(
check_code_options check_aec aec
)
...
...
tests/check_aec.c
View file @
a57748e3
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "libaec.h"
#include "check_aec.h"
static
void
out_lsb
(
unsigned
char
*
dest
,
unsigned
int
val
,
int
size
)
...
...
tests/check_aec.h
View file @
a57748e3
#ifndef CHECK_AEC_H
#define CHECK_AEC_H
#define CHECK_AEC_H
1
#include "libaec.h"
struct
test_state
{
...
...
tests/check_buffer_sizes.c
View file @
a57748e3
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "libaec.h"
#include "check_aec.h"
#define BUF_SIZE 1024 * 3
...
...
tests/check_code_options.c
View file @
a57748e3
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "libaec.h"
#include "check_aec.h"
#define BUF_SIZE 1024 * 3
...
...
tests/check_long_fs.c
View file @
a57748e3
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "libaec.h"
#include "check_aec.h"
#define BUF_SIZE (64 * 4)
...
...
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