]> git.sesse.net Git - ffmpeg/commitdiff
WinCE cross-compilation support
authorGildas Bazin <gbazi@altern.org>
Sun, 22 Jan 2006 18:34:17 +0000 (18:34 +0000)
committerDiego Biurrun <diego@biurrun.de>
Sun, 22 Jan 2006 18:34:17 +0000 (18:34 +0000)
patch by Gildas Bazin < gbazin **@** altern **.** org >

Originally committed as revision 4881 to svn://svn.ffmpeg.org/ffmpeg/trunk

configure
libavformat/os_support.c
libavformat/utils.c
libavutil/common.h

index ccc04416b90a77d7142b4ef55cb133a04f9e7e59..5f4cbd1c4d7fc0ad12d113b99003cde61c36b633 100755 (executable)
--- 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
index 1e1a38f4710e5caeb2f830c2f9eecc69759a5998..a99a6a50dba667fa0fbb9f023d112e847f7b68b1 100644 (file)
@@ -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) */
index f8ecd04595e0a66d8fb8e95251e192b630a47342..5ed508dbcea9ca7bfb88526d5b88ae687994bf51 100644 (file)
@@ -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.
index d45ca40aca63bdfdc975496795ca8c698048247a..09638c39e7e728d2bd9da8485ab42162683f7401 100644 (file)
@@ -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)