Thursday, February 25, 2010

MinGW: Building GPAC

GPAC is an MPEG-4 multimedia transcoder suite. This post documents my attempt to compile GPAC with MinGW for the Win32 platform.




  1. Compile OpenSSL as shown in this post.

  2. Build FreeType as shown below.
    tar xjvf freetype-2.3.9.tar.bz2
    cd freetype-2.3.9
    ./configure --prefix=/mingw --disable-shared
    make
    make install


  3. liba52 AC3 decoder


    Download the liba52 source from liba52.sf.net and compile libA52 like this:

    tar xzvf a52dec-0.7.4.tar.gz
    cd a52dec-0.7.4/
    ./configure --prefix=/mingw
    make
    make install

    The following files are installed:

    bin/a52dec.exe
    bin/extract_a52.exe
    include/a52dec/a52.h
    include/a52dec/attributes.h
    include/a52dec/audio_out.h
    include/a52dec/mm_accel.h
    lib/liba52.a
    lib/liba52.la
    man/man1/a52dec.1
    man/man1/extract_a52.1


  4. MAD Library


    The MAD (MPEG Audio Decoder) library is a fast fixed-point MPEG audio decoder that doesn't require an FPU numeric processor. Download the libmad source from mad.sf.net and compile MAD like this:


    tar xzvf libmad-0.15.1b.tar.gz
    cd libmad-0.15.1b
    ./configure --prefix=/mingw --disable-shared --enable-fpm=intel --disable-debugging
    make
    make install

    The following files are installed:

    include/mad.h
    lib/libmad.a
    lib/libmad.la


  5. Get DirectX headers from either location below and extract it into /mingw/include:


  6. Download the source for the JPEG library and compile as follows:
    tar xzvf jpegsrc.v7.tar.gz
    cd jpeg-7
    ./configure --prefix=/mingw --enable-static
    make
    make install


  7. Download the source for the PNG library and compile like this:
    tar xzvf libpng-1.2.38.tar.gz
    cd libpng-1.2.38/
    ./configure --prefix=/mingw --disable-shared
    make
    make install


  8. Then, compile GPAC like this:
    ./configure --prefix=/mingw --cpu=i586 --strip --use-png=no --use-ffmpeg=no

    cp config.h include/gpac/internal


    Before compilation, I edited config.mak:


    SSL_LIBS=-lssleay32 -leay32 -lgdi32 -lws2_32 -lz

    Then, I started make:


    make

    make install


    I encountered an error during the final compilation. But I got MP4Box.exe which was all I needed. So I copied mp4box.exe and libgpac.dll from ~/gpac/bin/gcc.





List Of Created Files


The following files are created as a result of compiling GPAC with MinGW:


gm_aac_in.dll
gm_ac3_in.dll
gm_bifs_dec.dll
gm_ctx_load.dll
gm_dummy_in.dll
gm_dx_hw.dll
gm_ft_font.dll
gm_img_in.dll
gm_ismacryp.dll
gm_isom_in.dll
gm_laser_dec.dll
gm_mp3_in.dll
gm_mpegts_in.dll
gm_odf_dec.dll
gm_ogg_xiph.dll
gm_raw_out.dll
gm_rtp_in.dll
gm_saf_in.dll
gm_soft_raster.dll
gm_svg_in.dll
gm_timedtext.dll
gm_wav_audio.dll
gm_xvid_dec.dll
libgpac.dll
MP4Box.exe
MP4Client.exe

No comments:

Post a Comment

About This Blog

KBlog logo This blog is about current events and issues concerning general population. Thanks for visiting the blog and posting your comments.

© Contents by KBlog

© Blogger template by Emporium Digital 2008

Followers

Total Pageviews

icon
Powered By Blogger