diff --git a/tools_common.h b/tools_common.h index 7dfd5ad21..068e7b518 100644 --- a/tools_common.h +++ b/tools_common.h @@ -12,6 +12,46 @@ #include +#include "./vpx_config.h" + +#if defined(_MSC_VER) +/* MSVS doesn't define off_t, and uses _f{seek,tell}i64. */ +typedef __int64 off_t; +#define fseeko _fseeki64 +#define ftello _ftelli64 +#elif defined(_WIN32) +/* MinGW defines off_t as long and uses f{seek,tell}o64/off64_t for large + * files. */ +#define fseeko fseeko64 +#define ftello ftello64 +#define off_t off64_t +#endif /* _WIN32 */ + +#if CONFIG_OS_SUPPORT +#if defined(_MSC_VER) +#include /* NOLINT */ +#define snprintf _snprintf +#define isatty _isatty +#define fileno _fileno +#else +#include /* NOLINT */ +#endif /* _MSC_VER */ +#endif /* CONFIG_OS_SUPPORT */ + +/* Use 32-bit file operations in WebM file format when building ARM + * executables (.axf) with RVCT. */ +#if !CONFIG_OS_SUPPORT +typedef long off_t; /* NOLINT */ +#define fseeko fseek +#define ftello ftell +#endif /* CONFIG_OS_SUPPORT */ + +#define LITERALU64(hi, lo) ((((uint64_t)hi) << 32) | lo) + +#ifndef PATH_MAX +#define PATH_MAX 512 +#endif + #define VP8_FOURCC (0x30385056) #define VP9_FOURCC (0x30395056) #define VP8_FOURCC_MASK (0x00385056) diff --git a/vpxdec.c b/vpxdec.c index 8e575e16f..110e4ac24 100644 --- a/vpxdec.c +++ b/vpxdec.c @@ -33,21 +33,6 @@ #include "nestegg/include/nestegg/nestegg.h" #include "third_party/libyuv/include/libyuv/scale.h" -#if CONFIG_OS_SUPPORT -#if defined(_MSC_VER) -#include -#define snprintf _snprintf -#define isatty _isatty -#define fileno _fileno -#else -#include -#endif -#endif - -#ifndef PATH_MAX -#define PATH_MAX 256 -#endif - static const char *exec_name; static const struct { diff --git a/vpxenc.c b/vpxenc.c index df75b853a..b9efa18a5 100644 --- a/vpxenc.c +++ b/vpxenc.c @@ -49,31 +49,6 @@ #include "webmenc.h" #include "y4minput.h" - -/* Need special handling of these functions on Windows */ -#if defined(_MSC_VER) -/* MSVS doesn't define off_t, and uses _f{seek,tell}i64 */ -typedef __int64 off_t; -#define fseeko _fseeki64 -#define ftello _ftelli64 -#elif defined(_WIN32) -/* MinGW defines off_t as long - and uses f{seek,tell}o64/off64_t for large files */ -#define fseeko fseeko64 -#define ftello ftello64 -#define off_t off64_t -#endif - -#define LITERALU64(hi,lo) ((((uint64_t)hi)<<32)|lo) - -/* We should use 32-bit file operations in WebM file format - * when building ARM executable file (.axf) with RVCT */ -#if !CONFIG_OS_SUPPORT -typedef long off_t; -#define fseeko fseek -#define ftello ftell -#endif - /* Swallow warnings about unused results of fread/fwrite */ static size_t wrap_fread(void *ptr, size_t size, size_t nmemb, FILE *stream) { diff --git a/webmenc.c b/webmenc.c index a584e9db9..17bbeec78 100644 --- a/webmenc.c +++ b/webmenc.c @@ -15,20 +15,6 @@ #include "third_party/libmkv/EbmlWriter.h" #include "third_party/libmkv/EbmlIDs.h" -#if defined(_MSC_VER) -/* MSVS uses _f{seek,tell}i64 */ -#define fseeko _fseeki64 -#define ftello _ftelli64 -#elif defined(_WIN32) -/* MinGW defines off_t as long, and uses f{seek,tell}o64/off64_t for large - * files */ -#define fseeko fseeko64 -#define ftello ftello64 -#define off_t off64_t -#endif - -#define LITERALU64(hi, lo) ((((uint64_t)hi) << 32) | lo) - void Ebml_Write(struct EbmlGlobal *glob, const void *buffer_in, unsigned long len) {