summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xconfigure19
-rw-r--r--libavformat/os_support.c8
-rw-r--r--libavformat/utils.c2
-rw-r--r--libavutil/common.h8
4 files changed, 34 insertions, 3 deletions
diff --git a/configure b/configure
index ccc0441..5f4cbd1 100755
--- a/configure
+++ b/configure
@@ -26,6 +26,7 @@ echo " --enable-libgsm enable GSM support via libgsm [default=no]"
echo " --enable-xvid enable XviD support via xvidcore [default=no]"
echo " --enable-x264 enable H.264 encoding via x264 [default=no]"
echo " --enable-mingw32 enable MinGW native/cross Windows compile"
+echo " --enable-mingwce enable MinGW native/cross WinCE compile"
echo " --enable-a52 enable GPLed A52 support [default=no]"
echo " --enable-a52bin open liba52.so.0 at runtime [default=no]"
echo " --enable-dts enable GPLed DTS support [default=no]"
@@ -202,6 +203,7 @@ a52bin="no"
dts="no"
pp="no"
mingw32="no"
+mingwce="no"
cygwin="no"
os2="no"
lshared="no"
@@ -545,6 +547,8 @@ for opt do
;;
--enable-mingw32) mingw32="yes"
;;
+ --enable-mingwce) mingwce="yes"
+ ;;
--enable-shared) lshared="yes"
;;
--disable-debug) debug="no"
@@ -864,7 +868,7 @@ EOF
$cc -o $TMPE $TMPC 2> /dev/null || mmi="no"
fi
-if test "$mingw32" = "yes" ; then
+if test "$mingw32" = "yes" -o "$mingwce" = "yes"; then
v4l="no"
bktr="no"
audio_oss="no"
@@ -872,6 +876,9 @@ if test "$mingw32" = "yes" ; then
dc1394="no"
ffserver="no"
network="no"
+if test "$mingw32" = "yes"; then
+ protocols="no"
+fi
SLIBPREF=""
SLIBSUF=".dll"
EXESUF=".exe"
@@ -1685,6 +1692,16 @@ if test "$mingw32" = "yes" ; then
echo "#endif" >> $TMPH
fi
+if test "$mingwce" = "yes" ; then
+ echo "#define CONFIG_WIN32 1" >> $TMPH
+ echo "CONFIG_WIN32=yes" >> config.mak
+ echo "#define CONFIG_WINCE 1" >> $TMPH
+ echo "CONFIG_WINCE=yes" >> config.mak
+ echo "#ifndef __MINGW32__" >> $TMPH
+ echo "#define __MINGW32__ 1" >> $TMPH
+ echo "#endif" >> $TMPH
+fi
+
if test "$os2" = "yes" ; then
echo "#define CONFIG_OS2 1" >> $TMPH
echo "CONFIG_OS2=yes" >> config.mak
diff --git a/libavformat/os_support.c b/libavformat/os_support.c
index 1e1a38f..a99a6a5 100644
--- a/libavformat/os_support.c
+++ b/libavformat/os_support.c
@@ -18,7 +18,7 @@
*/
#include "config.h"
#include "avformat.h"
-#ifdef CONFIG_WIN32
+#if defined(CONFIG_WIN32) && !defined(CONFIG_WINCE)
#include <sys/types.h>
#include <sys/timeb.h>
#elif defined(CONFIG_OS2)
@@ -36,7 +36,9 @@
*/
int64_t av_gettime(void)
{
-#ifdef CONFIG_WIN32
+#if defined(CONFIG_WINCE)
+ return timeGetTime() * int64_t_C(1000);
+#elif defined(CONFIG_WIN32)
struct timeb tb;
_ftime(&tb);
return ((int64_t)tb.time * int64_t_C(1000) + (int64_t)tb.millitm) * int64_t_C(1000);
@@ -47,6 +49,7 @@ int64_t av_gettime(void)
#endif
}
+#if !defined(CONFIG_WINCE)
#if !defined(HAVE_LOCALTIME_R)
struct tm *localtime_r(const time_t *t, struct tm *tp)
{
@@ -59,3 +62,4 @@ struct tm *localtime_r(const time_t *t, struct tm *tp)
return tp;
}
#endif /* !defined(HAVE_LOCALTIME_R) */
+#endif /* !defined(CONFIG_WINCE) */
diff --git a/libavformat/utils.c b/libavformat/utils.c
index f8ecd04..5ed508d 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -2739,6 +2739,7 @@ int parse_frame_rate(int *frame_rate, int *frame_rate_base, const char *arg)
* S+[.m...]
* @endcode
*/
+#ifndef CONFIG_WINCE
int64_t parse_date(const char *datestr, int duration)
{
const char *p;
@@ -2846,6 +2847,7 @@ int64_t parse_date(const char *datestr, int duration)
}
return negative ? -t : t;
}
+#endif /* CONFIG_WINCE */
/**
* Attempts to find a specific tag in a URL.
diff --git a/libavutil/common.h b/libavutil/common.h
index d45ca40..09638c3 100644
--- a/libavutil/common.h
+++ b/libavutil/common.h
@@ -200,6 +200,11 @@ static inline float floorf(float f) {
# define snprintf _snprintf
# define vsnprintf _vsnprintf
+
+# ifdef CONFIG_WINCE
+# define perror(a)
+# endif
+
# endif
/* CONFIG_WIN32 end */
@@ -281,6 +286,9 @@ inline void dprintf(const char* fmt,...) {}
# endif
# endif /* !CONFIG_WIN32 */
+# ifdef CONFIG_WINCE
+# define abort()
+# endif
# define av_abort() do { av_log(NULL, AV_LOG_ERROR, "Abort at %s:%d\n", __FILE__, __LINE__); abort(); } while (0)
OpenPOWER on IntegriCloud