Hi. Right now I'm trying to decompress on Windows because it's easier to debug... But when I tried on WinCE I think that it all work good... But as soon as I can I'll try that...
Now I'm just in a battle with MFC and the CreateBitmap ;) Pedro Alves wrote: > Oooops, > > Here is the patch. > > Cheers, > Pedro Alves > > > > Pedro Alves escreveu: >> Danny Backx escreveu: >> >>> On Mon, 2007-01-22 at 21:13 +0000, Cool_Zer0 wrote: >>> >>>> I just want to be able to decompress H.263 :( >>>> Now that I've compiled FFMpeg it seems that isn't working correctly... >>>> >>> Is this something we can help you with ? >>> >>> >> >> Another user (Daniel, CCed) has reported me privately that he built >> FFMpeg with cegcc, and that loading it from an MSVC app wasn't >> working. My guess is that the cegcc.dll isn't being correctly >> initialized. There was a thread about that a few months ago, about >> someone >> loading a cegcc based dll into a MSVC app, and that resolved into a >> patch being integrated into cegcc. I can't find that >> thread in my archives, but the symptoms were very close. Anyway, >> with current mingw32ce from trunk and with the attached >> patch I could build ffmpeg with the following options. >> >> ../ffmpeg-checkout-2007-01-21/configure \ >> --enable-mingwce \ >> --cross-compile \ >> --cross-prefix=arm-wince-mingw32ce- \ >> --arch=arm \ >> --target-os=WinCE \ >> --disable-static \ >> --enable-shared >> >> The new math stuff is needed because ffmpeg is calling llrint. >> >> I didn't try building with any plugins enabled. Nuno, Daniel, could >> you try this? >> I have no idea if it runs or if it runs correctly. I never used >> FFMpeg before. Any hints on how to test it? >> I think I may take a stab at building VLC with this. Should be a >> smooth re-port, since it used to build with >> the VLC mingwce toolchain (Looks like the nightly builds for WinCE >> stopped a year ago). >> >> Anyway, if this is reported to work, I will clean a bit the errno >> stuff (perhaps introduce AV_ENOMEM, etc.) and >> post a patch upstream. >> >> Cheers, >> Pedro Alves >> >> >> >> ------------------------------------------------------------------------- >> >> Using Tomcat but need to do more? Need to support web services, >> security? >> Get stuff done quickly with pre-integrated technology to make your >> job easier. >> Download IBM WebSphere Application Server v.1.0.1 based on Apache >> Geronimo >> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 >> _______________________________________________ >> Cegcc-devel mailing list >> Cegcc-devel@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/cegcc-devel >> >> > > ------------------------------------------------------------------------ > > Index: configure > =================================================================== > --- configure (revision 7594) > +++ configure (working copy) > @@ -103,6 +103,7 @@ show_help(){ > echo " --source-path=PATH path to source code [$source_path]" > echo " --cross-prefix=PREFIX use PREFIX for compilation tools > [$cross_prefix]" > echo " --cross-compile assume a cross-compiler is used" > + echo " --target-os Set the target OS. Only valid when cross > compiling." > echo " --cc=CC use C compiler CC [$cc]" > echo " --make=MAKE use specified make [$make]" > echo " --extra-cflags=ECFLAGS add ECFLAGS to CFLAGS [$CFLAGS]" > @@ -661,8 +662,24 @@ memalign_hack="no" > asmalign_pot="unknown" > LIB_INSTALL_EXTRA_CMD='$(RANLIB) "$(libdir)/$(LIB)"' > > +# Handle these earlier, the rest will be handled after setting > +# the target OS defaults. > +for opt do > + optval="${opt#*=}" > + case "$opt" in > + --cross-compile) cross_compile=yes > + ;; > + --target-os=*) targetos="$optval" > + ;; > + esac > +done > + > # OS specific > + > +if [ "$cross_compile" != "yes" ]; then > targetos=`uname -s` > +fi > + > case $targetos in > BeOS) > PREFIX="/boot/home/config" > @@ -777,6 +794,11 @@ SLIBNAME_WITH_VERSION='$(SLIBPREF)$(NAME > SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(NAME).$(LIBMAJOR)$(SLIBSUF)' > FFSERVERLDFLAGS=-Wl,-bind_at_load > ;; > +WinCE* | MINGW32CE*) > +mingw32="yes" > +wince="yes" > +add_extralibs "-lmmtimer" > +;; > MINGW32*) > # Note: the rest of the mingw32 config is done afterwards as mingw32 > # can be forced on the command line for Linux cross compilation. > @@ -891,6 +913,8 @@ for opt do > ;; > --cross-compile) cross_compile=yes > ;; > + --target-os=*) targetos="$optval" > + ;; > --cc=*) cc="$optval" > ;; > --make=*) make="$optval" > @@ -1105,7 +1129,14 @@ EOF > EXESUF=".exe" > SLIBNAME_WITH_VERSION='$(SLIBPREF)$(NAME)-$(LIBVERSION)$(SLIBSUF)' > SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(NAME)-$(LIBMAJOR)$(SLIBSUF)' > - SLIB_EXTRA_CMD="-lib /machine:i386 /def:\$(@:${SLIBSUF}=.def)" > + > + case "$arch" in > + x86_32) machine="i386" ;; > + arm*) machine="arm" ;; > + mips) machine="mips" ;; > + sh4) machine="sh4" ;; > + esac > + SLIB_EXTRA_CMD="-lib /machine:$machine /def:\$(@:${SLIBSUF}=.def)" > SLIB_INSTALL_EXTRA_CMD="-install -m 644 > \$(SLIBNAME_WITH_MAJOR:\$(SLIBSUF)=.lib) > \"\$(shlibdir)/\$(SLIBNAME_WITH_MAJOR:\$(SLIBSUF)=.lib)\"" > SHFLAGS="-shared > -Wl,--output-def,\$(@:${SLIBSUF}=.def),--out-implib,lib\$(SLIBNAME:\$(SLIBSUF)=.dll.a) > -Wl,--enable-runtime-pseudo-reloc" > fi > @@ -1832,6 +1863,7 @@ if test "$gpl" = "no" ; then > else > echo "License: GPL" > fi > +echo "Target OS $targetos" > > echo "Creating config.mak and config.h..." > > Index: ffmpeg.c > =================================================================== > --- ffmpeg.c (revision 7594) > +++ ffmpeg.c (working copy) > @@ -19,7 +19,9 @@ > * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 > USA > */ > #define HAVE_AV_CONFIG_H > +#ifndef __MINGW32CE__ > #include <signal.h> > +#endif > #include <limits.h> > #include "avformat.h" > #include "swscale.h" > @@ -303,6 +305,7 @@ static void term_exit(void) > #endif > } > > +#if defined (SIGINT) || defined (SIGTERM) > static volatile sig_atomic_t received_sigterm = 0; > > static void > @@ -311,6 +314,7 @@ sigterm_handler(int sig) > received_sigterm = sig; > term_exit(); > } > +#endif > > static void term_init(void) > { > @@ -333,8 +337,13 @@ static void term_init(void) > signal(SIGQUIT, sigterm_handler); /* Quit (POSIX). */ > #endif > > +#ifdef SIGINT > signal(SIGINT , sigterm_handler); /* Interrupt (ANSI). */ > +#endif > +#ifdef SIGTERM > signal(SIGTERM, sigterm_handler); /* Termination (ANSI). */ > +#endif > + > /* > register a function to be called at normal program termination > */ > @@ -347,7 +356,9 @@ static void term_init(void) > /* read a key without blocking */ > static int read_key(void) > { > -#ifdef __MINGW32__ > +#ifdef __MINGW32CE__ > + return getchar(); > +#elif defined __MINGW32__ > if(kbhit()) > return(getch()); > #else > @@ -1833,7 +1844,11 @@ static int av_encode(AVFormatContext **o > stream_no_data = 0; > key = -1; > > +#ifndef __MINGW32CE__ > for(; received_sigterm == 0;) { > +#else > + for(;;) { > +#endif > int file_index, ist_index; > AVPacket pkt; > double ipts_min; > @@ -3967,12 +3982,14 @@ int main(int argc, char **argv) > powerpc_display_perf_report(); > #endif /* POWERPC_PERFORMANCE_REPORT */ > > +#ifndef __MINGW32CE__ > if (received_sigterm) { > fprintf(stderr, > "Received signal %d: terminating.\n", > (int) received_sigterm); > exit (255); > } > +#endif > > exit(0); /* not all OS-es handle main() return value */ > return 0; > Index: libavutil/bswap.h > =================================================================== > --- libavutil/bswap.h (revision 7594) > +++ libavutil/bswap.h (working copy) > @@ -116,7 +116,7 @@ static av_always_inline uint16_t bswap_1 > > #ifdef ARCH_ARM > static av_always_inline uint32_t bswap_32(uint32_t x){ > - uint32_t t; > + uint32_t t = 0; > __asm__ ( > "eor %1, %0, %0, ror #16 \n\t" > "bic %1, %1, #0xFF0000 \n\t" > Index: libavutil/common.h > =================================================================== > --- libavutil/common.h (revision 7594) > +++ libavutil/common.h (working copy) > @@ -37,11 +37,12 @@ > # include <string.h> > # include <ctype.h> > # include <limits.h> > -# ifndef __BEOS__ > -# include <errno.h> > -# else > +# ifdef __BEOS__ > # include "berrno.h" > +# elif !defined __MINGW32CE__ > +# include <errno.h> > # endif > + > # include <math.h> > #endif /* HAVE_AV_CONFIG_H */ > > Index: libavcodec/dv.c > =================================================================== > --- libavcodec/dv.c (revision 7594) > +++ libavcodec/dv.c (working copy) > @@ -39,6 +39,7 @@ > #include "mpegvideo.h" > #include "simple_idct.h" > #include "dvdata.h" > +#include "libavformat/avio.h" > > //#undef NDEBUG > //#include <assert.h> > Index: libavcodec/sonic.c > =================================================================== > --- libavcodec/sonic.c (revision 7594) > +++ libavcodec/sonic.c (working copy) > @@ -21,6 +21,7 @@ > #include "avcodec.h" > #include "bitstream.h" > #include "golomb.h" > +#include "libavformat/avio.h" > > /** > * @file sonic.c > Index: libavcodec/g726.c > =================================================================== > --- libavcodec/g726.c (revision 7594) > +++ libavcodec/g726.c (working copy) > @@ -25,6 +25,7 @@ > #include "avcodec.h" > #include "common.h" > #include "bitstream.h" > +#include "libavformat/avio.h" > > /** > * G.726 11bit float. > Index: libavcodec/gifdec.c > =================================================================== > --- libavcodec/gifdec.c (revision 7594) > +++ libavcodec/gifdec.c (working copy) > @@ -25,6 +25,7 @@ > #include "avcodec.h" > #include "bytestream.h" > #include "lzw.h" > +#include "libavformat/avio.h" > > #define GCE_DISPOSAL_NONE 0 > #define GCE_DISPOSAL_INPLACE 1 > Index: libavformat/utils.c > =================================================================== > --- libavformat/utils.c (revision 7594) > +++ libavformat/utils.c (working copy) > @@ -2685,7 +2685,6 @@ int parse_frame_rate(int *frame_rate, in > * S+[.m...] > * @endcode > */ > -#ifndef CONFIG_WINCE > int64_t parse_date(const char *datestr, int duration) > { > const char *p; > @@ -2793,7 +2792,6 @@ int64_t parse_date(const char *datestr, > } > return negative ? -t : t; > } > -#endif /* CONFIG_WINCE */ > > /** > * Attempts to find a specific tag in a URL. > Index: libavformat/avio.h > =================================================================== > --- libavformat/avio.h (revision 7594) > +++ libavformat/avio.h (working copy) > @@ -202,6 +202,15 @@ int udp_set_remote_url(URLContext *h, co > int udp_get_local_port(URLContext *h); > int udp_get_file_handle(URLContext *h); > > +#ifdef __MINGW32CE__ > +# define EPIPE 2 > +# define EAGAIN 3 > +# define ENOENT 4 > +# define ENOMEM 5 > +# define EINVAL 6 > +# define EIO 7 > +#endif > + > /* tcp.c */ > extern URLProtocol tcp_protocol; > > Index: libavformat/framehook.c > =================================================================== > --- libavformat/framehook.c (revision 7594) > +++ libavformat/framehook.c (working copy) > @@ -18,7 +18,9 @@ > * License along with FFmpeg; if not, write to the Free Software > * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 > USA > */ > +#ifndef __MINGW32CE__ > #include <errno.h> > +#endif > #include "config.h" > #include "avformat.h" > #include "framehook.h" > > ------------------------------------------------------------------------ > > ------------------------------------------------------------------------- > Using Tomcat but need to do more? Need to support web services, security? > Get stuff done quickly with pre-integrated technology to make your job easier. > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > ------------------------------------------------------------------------ > > _______________________________________________ > Cegcc-devel mailing list > Cegcc-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/cegcc-devel > ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier. Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ Cegcc-devel mailing list Cegcc-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/cegcc-devel