Page 2 of 7 FirstFirst 1234 ... LastLast
Results 11 to 20 of 62

Thread: HOWTO: Compiling mplayer with multi-core decoding support

  1. #11
    Join Date
    Apr 2006
    Beans
    4
    Distro
    Ubuntu 9.04 Jaunty Jackalope

    Re: HOWTO: Compiling mplayer with multi-core decoding support

    Does this HWOTO work for all of guys on Januty or is there experiencing similar problems as I am, when using the libavcodec libavformat libavutil libs from ffmpeg-mt instead of the ones shipped with mplayer trunk?

    If I am the only one having those troubles, then it might be something wrong on my end here...cuz I have basically just followed the HOWTO step-by-step and still getting these errors when compiling mplayer. I tried the previous and current svn revision of mplayer, but it fails on both

    I appreciate any ideas...Thanks

  2. #12
    Join Date
    Apr 2007
    Location
    Germany
    Beans
    10
    Distro
    Ubuntu 9.04 Jaunty Jackalope

    Re: HOWTO: Compiling mplayer with multi-core decoding support

    I'm having the same problems as disembowler. Maybe there's something changed in ffmpeg-mt...

  3. #13
    Join Date
    Jun 2007
    Beans
    17,337

    Re: HOWTO: Compiling mplayer with multi-core decoding support

    I don't have any h.264/good enough hardware to test so can't see if there are any issues. (mplayer build works fine for what I do use for

    MPlayer SVN-r29241

    If you also replace the libswscale folder in mplayer using the one from the 0.5 release then the build succeeds
    (( 'replace' meant merge. not rm & cp
    (again may be unintended consequences, could be narrowed down to a file(s) and or line(s)

    http://www.ffmpeg.org/download.html
    (at very bottom of page

    (interesting that there is nothing in the libswscale folder in ffmpeg-mt source
    Last edited by mc4man; April 28th, 2009 at 05:21 AM. Reason: svn ver. of mplayer

  4. #14
    Join Date
    Apr 2006
    Beans
    4
    Distro
    Ubuntu 9.04 Jaunty Jackalope

    Re: HOWTO: Compiling mplayer with multi-core decoding support

    Quote Originally Posted by mc4man View Post
    MPlayer SVN-r29241

    If you also replace the libswscale folder in mplayer using the one from the 0.5 release then the build succeeds
    (( 'replace' meant merge. not rm & cp
    (again may be unintended consequences, could be narrowed down to a file(s) and or line(s)

    http://www.ffmpeg.org/download.html
    (at very bottom of page

    (interesting that there is nothing in the libswscale folder in ffmpeg-mt source
    Nope, still doesn't work for me.

    Step-by-step description of what I did:
    1. Get the current SVN version of mplayer (r 29241), ffmpeg, ffmpeg-mt
    Code:
    svn checkout svn://svn.mplayerhq.hu/mplayer/trunk mplayer
    svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg
    git clone git://gitorious.org/ffmpeg/ffmpeg-mt.git
    2. Replace the folders in the mplayer directory with the ones from ffmpeg-mt
    Code:
    cd mplayer
    rm -rf libavcodec libavformat libavutil
    cp -a ../ffmpeg-mt/libavcodec .
    cp -a ../ffmpeg-mt/libavformat .
    cp -a ../ffmpeg-mt/libavutil .
    3. Use the libswscale stuff from ffmpeg sources and "merge" it into my mplayer/libswscale folder
    Code:
    cd ..
    cp -fr ffmpeg/libswscale/* mplayer/libswscale/
    4. Configure and Make mplayer
    Code:
    cd mplayer
    ./configure --codecsdir=/usr/lib/codecs --confdir=/etc/mplayer --enable-gui --prefix=/usr
    make

    make produces the same error.
    Code:
    swscale.c: In function 'sws_format_name':
    swscale.c:482: error: 'PIX_FMT_YUV420PLE' undeclared (first use in this function)
    swscale.c:482: error: (Each undeclared identifier is reported only once
    swscale.c:482: error: for each function it appears in.)
    swscale.c:484: error: 'PIX_FMT_YUV422PLE' undeclared (first use in this function)
    swscale.c:486: error: 'PIX_FMT_YUV444PLE' undeclared (first use in this function)
    swscale.c:488: error: 'PIX_FMT_YUV420PBE' undeclared (first use in this function)
    swscale.c:490: error: 'PIX_FMT_YUV422PBE' undeclared (first use in this function)
    swscale.c:492: error: 'PIX_FMT_YUV444PBE' undeclared (first use in this function)
    In file included from swscale.c:1196:
    swscale_template.c: In function 'yuv2yuv1_MMX2':
    swscale_template.c:961: warning: initialization from incompatible pointer type
    swscale_template.c:961: warning: initialization from incompatible pointer type
    swscale_template.c:961: warning: initialization from incompatible pointer type
    swscale_template.c:961: warning: initialization from incompatible pointer type
    swscale_template.c: In function 'yuv2packed2_MMX2':
    swscale_template.c:1246: warning: dereferencing type-punned pointer will break strict-aliasing rules
    swscale_template.c:1246: warning: assignment discards qualifiers from pointer target type
    swscale_template.c:1247: warning: dereferencing type-punned pointer will break strict-aliasing rules
    swscale_template.c:1247: warning: assignment discards qualifiers from pointer target type
    swscale_template.c: In function 'hScale_MMX2':
    swscale_template.c:2244: warning: initialization discards qualifiers from pointer target type
    swscale_template.c: In function 'swScale_MMX2':
    swscale_template.c:2946: warning: assignment discards qualifiers from pointer target type
    swscale_template.c:2947: warning: assignment discards qualifiers from pointer target type
    swscale_template.c:2952: warning: assignment discards qualifiers from pointer target type
    swscale_template.c:2953: warning: assignment discards qualifiers from pointer target type
    swscale_template.c:2959: warning: assignment discards qualifiers from pointer target type
    swscale_template.c:2960: warning: assignment discards qualifiers from pointer target type
    swscale_template.c:2969: warning: cast from pointer to integer of different size
    swscale_template.c:2975: warning: cast from pointer to integer of different size
    swscale_template.c:2983: warning: cast from pointer to integer of different size
    swscale_template.c:2998: error: 'PIX_FMT_YUV420PLE' undeclared (first use in this function)
    swscale_template.c:2998: error: 'PIX_FMT_YUV422PLE' undeclared (first use in this function)
    swscale_template.c:2998: error: 'PIX_FMT_YUV444PLE' undeclared (first use in this function)
    swscale_template.c:2998: error: 'PIX_FMT_YUV420PBE' undeclared (first use in this function)
    swscale_template.c:2998: error: 'PIX_FMT_YUV422PBE' undeclared (first use in this function)
    swscale_template.c:2998: error: 'PIX_FMT_YUV444PBE' undeclared (first use in this function)
    swscale_template.c: In function 'sws_init_swScale_MMX2':
    swscale_template.c:3155: error: 'PIX_FMT_YUV420PBE' undeclared (first use in this function)
    swscale_template.c:3156: error: 'PIX_FMT_YUV422PBE' undeclared (first use in this function)
    swscale_template.c:3157: error: 'PIX_FMT_YUV444PBE' undeclared (first use in this function)
    swscale_template.c:3158: error: 'PIX_FMT_YUV420PLE' undeclared (first use in this function)
    swscale_template.c:3159: error: 'PIX_FMT_YUV422PLE' undeclared (first use in this function)
    swscale_template.c:3160: error: 'PIX_FMT_YUV444PLE' undeclared (first use in this function)
    swscale.c: In function 'getSwsFunc':
    swscale.c:1795: warning: unused variable 'flags'
    swscale.c: In function 'planarCopy':
    swscale.c:2166: error: 'PIX_FMT_YUV420PLE' undeclared (first use in this function)
    swscale.c:2166: error: 'PIX_FMT_YUV422PLE' undeclared (first use in this function)
    swscale.c:2166: error: 'PIX_FMT_YUV444PLE' undeclared (first use in this function)
    swscale.c:2166: error: 'PIX_FMT_YUV420PBE' undeclared (first use in this function)
    swscale.c:2166: error: 'PIX_FMT_YUV422PBE' undeclared (first use in this function)
    swscale.c:2166: error: 'PIX_FMT_YUV444PBE' undeclared (first use in this function)
    swscale.c: In function 'getSubSampleFactors':
    swscale.c:2223: error: 'PIX_FMT_YUV420PLE' undeclared (first use in this function)
    swscale.c:2224: error: 'PIX_FMT_YUV420PBE' undeclared (first use in this function)
    swscale.c:2243: error: 'PIX_FMT_YUV444PLE' undeclared (first use in this function)
    swscale.c:2244: error: 'PIX_FMT_YUV444PBE' undeclared (first use in this function)
    swscale.c:2249: error: 'PIX_FMT_YUV422PLE' undeclared (first use in this function)
    swscale.c:2250: error: 'PIX_FMT_YUV422PBE' undeclared (first use in this function)
    swscale.c: In function 'sws_setColorspaceDetails':
    swscale.c:2288: error: 'PIX_FMT_YUV420PLE' undeclared (first use in this function)
    swscale.c:2288: error: 'PIX_FMT_YUV422PLE' undeclared (first use in this function)
    swscale.c:2288: error: 'PIX_FMT_YUV444PLE' undeclared (first use in this function)
    swscale.c:2288: error: 'PIX_FMT_YUV420PBE' undeclared (first use in this function)
    swscale.c:2288: error: 'PIX_FMT_YUV422PBE' undeclared (first use in this function)
    swscale.c:2288: error: 'PIX_FMT_YUV444PBE' undeclared (first use in this function)
    swscale.c: In function 'sws_getColorspaceDetails':
    swscale.c:2336: error: 'PIX_FMT_YUV420PLE' undeclared (first use in this function)
    swscale.c:2336: error: 'PIX_FMT_YUV422PLE' undeclared (first use in this function)
    swscale.c:2336: error: 'PIX_FMT_YUV444PLE' undeclared (first use in this function)
    swscale.c:2336: error: 'PIX_FMT_YUV420PBE' undeclared (first use in this function)
    swscale.c:2336: error: 'PIX_FMT_YUV422PBE' undeclared (first use in this function)
    swscale.c:2336: error: 'PIX_FMT_YUV444PBE' undeclared (first use in this function)
    swscale.c: In function 'sws_getContext':
    swscale.c:2408: error: 'PIX_FMT_YUV420PLE' undeclared (first use in this function)
    swscale.c:2408: error: 'PIX_FMT_YUV422PLE' undeclared (first use in this function)
    swscale.c:2408: error: 'PIX_FMT_YUV444PLE' undeclared (first use in this function)
    swscale.c:2408: error: 'PIX_FMT_YUV420PBE' undeclared (first use in this function)
    swscale.c:2408: error: 'PIX_FMT_YUV422PBE' undeclared (first use in this function)
    swscale.c:2408: error: 'PIX_FMT_YUV444PBE' undeclared (first use in this function)
    swscale.c: In function 'reset_ptr':
    swscale.c:2917: error: 'PIX_FMT_YUV420PLE' undeclared (first use in this function)
    swscale.c:2917: error: 'PIX_FMT_YUV422PLE' undeclared (first use in this function)
    swscale.c:2917: error: 'PIX_FMT_YUV444PLE' undeclared (first use in this function)
    swscale.c:2917: error: 'PIX_FMT_YUV420PBE' undeclared (first use in this function)
    swscale.c:2917: error: 'PIX_FMT_YUV422PBE' undeclared (first use in this function)
    swscale.c:2917: error: 'PIX_FMT_YUV444PBE' undeclared (first use in this function)
    swscale.c: In function 'sws_getCachedContext':
    swscale.c:3404: warning: assignment discards qualifiers from pointer target type
    make[1]: *** [swscale.o] Error 1
    make[1]: Leaving directory `/home/ingo/SOURCE/mplayer/libswscale'
    make: *** [libswscale/libswscale.a] Error 2

    @mc4man: Is this what you did as well and where it worked for you???

    The funny thing is though that it works if I do not replace the three libav* folders with the stuff from ffmpeg-mt (step 2). So I don't actually think it' just related to libswscale but (also) to something else.

    Fresh ideas are welcome ...

  5. #15
    Join Date
    Feb 2009
    Location
    Germany
    Beans
    1

    Re: HOWTO: Compiling mplayer with multi-core decoding support

    mc4man's solution worked fine for me.
    Try the libswscale folder from the 0.5 ffmpege release, not from current SVN ffmpeg.

  6. #16
    Join Date
    Jun 2007
    Beans
    17,337

    Re: HOWTO: Compiling mplayer with multi-core decoding support

    @disembowler
    I didn't see the errors, warnings you show
    svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg

    ..........using the one from the 0.5 release
    (link in orig. post

    If you know ffmpeg's code well I'm sure it could be patched, if not then some time spent could point to the differences.

    As a start a merge worked, noting I can't test other than normal (for me) use of mplayer in which I've noticed no ill effects

    For the moment I'd assumme BarryBooze is using the patched mplayer for what it's meant for and seems ok with it
    Last edited by mc4man; April 29th, 2009 at 04:22 AM.

  7. #17
    Join Date
    Apr 2009
    Beans
    1

    Re: HOWTO: Compiling mplayer with multi-core decoding support

    Quote Originally Posted by BarryBooze View Post
    mc4man's solution worked fine for me.
    Try the libswscale folder from the 0.5 ffmpege release, not from current SVN ffmpeg.
    thanks, it realy work for me. after copy folder from version 0.5 to mplayer/libswscale all configured and maked correctly.

  8. #18
    Join Date
    Apr 2006
    Beans
    4
    Distro
    Ubuntu 9.04 Jaunty Jackalope

    Re: HOWTO: Compiling mplayer with multi-core decoding support

    Quote Originally Posted by mc4man
    try the libswscale folder from the 0.5 ffmpege release, not from current SVN ffmpeg.

    Alright! After using the libswscale libraries from the 0.5 ffmpeg release I got it working! Many thanks for helping me out here!
    Well ... I thought because 0.5 was just released March 10, there probably weren't many changes to the libswscale libs and I could just use them ... which was obvisouly wrong.


    It might be good to update the initial post as well to reflect the necessity of having to update the libswscale sources, too.

  9. #19
    Join Date
    Apr 2007
    Location
    /dev/random
    Beans
    3,052

    Re: HOWTO: Compiling mplayer with multi-core decoding support

    Nevermind, I omitted --enable-live when ./configuring and then it compiled.
    Quote Originally Posted by me
    I get the following and then it stops.
    Code:
    cc -Wundef -Wdisabled-optimization -Wno-pointer-sign -Wdeclaration-after-statement -std=gnu99 -Wall -Wno-switch -Wpointer-arith -Wredundant-decls -O4 -march=native -mtune=native -pipe -ffast-math -fomit-frame-pointer -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D__STDC_LIMIT_MACROS -I.  -D_REENTRANT -I/usr/include/directfb -I/usr/include/  -I/usr/include/SDL  -D_REENTRANT   -D_REENTRANT   -Ilibdvdread4  -I/usr/include/freetype2 -I/usr/include   -I/usr/include/schroedinger-1.0 -I/usr/include/liboil-0.3      -c -o libmpdemux/demux_rtp.o libmpdemux/demux_rtp.cpp                                                                                
    cc1plus: warning: command line option "-Wno-pointer-sign" is valid for C/ObjC but not for C++                  
    cc1plus: warning: command line option "-Wdeclaration-after-statement" is valid for C/ObjC but not for C++      
    cc1plus: warning: command line option "-std=gnu99" is valid for C/ObjC but not for C++                         
    In file included from libmpdemux/demux_rtp.cpp:12:                                                             
    libmpdemux/demux_rtp_internal.h:20:24: error: liveMedia.hh: No such file or directory                          
    libmpdemux/demux_rtp.cpp:14:36: error: BasicUsageEnvironment.hh: No such file or directory                     
    libmpdemux/demux_rtp.cpp:16:30: error: GroupsockHelper.hh: No such file or directory                           
    In file included from libmpdemux/demux_rtp.cpp:12:                                                             
    libmpdemux/demux_rtp_internal.h:25: error: 'MediaSubsession' has not been declared                             
    libmpdemux/demux_rtp_internal.h:27: error: 'MediaSubsession' has not been declared                             
    libmpdemux/demux_rtp_internal.h:36: error: 'Boolean' does not name a type                                      
    libmpdemux/demux_rtp.cpp:22: error: expected `)' before '*' token                                              
    libmpdemux/demux_rtp.cpp:26: error: ISO C++ forbids declaration of 'FramedSource' with no type                 
    libmpdemux/demux_rtp.cpp:26: error: expected ';' before '*' token                                              
    libmpdemux/demux_rtp.cpp:27: error: expected `;' before 'RTPSource'
    libmpdemux/demux_rtp.cpp:27: error: ISO C++ forbids declaration of 'RTPSource' with no type
    libmpdemux/demux_rtp.cpp:27: error: expected ';' before '*' token
    libmpdemux/demux_rtp.cpp:28: error: expected `;' before 'demuxer_t'
    libmpdemux/demux_rtp.cpp:34: error: 'Boolean' does not name a type
    libmpdemux/demux_rtp.cpp:54: error: ISO C++ forbids declaration of 'FramedSource' with no type
    libmpdemux/demux_rtp.cpp:54: error: expected ';' before '*' token
    libmpdemux/demux_rtp.cpp:55: error: ISO C++ forbids declaration of 'RTPSource' with no type
    libmpdemux/demux_rtp.cpp:55: error: expected ';' before '*' token
    libmpdemux/demux_rtp.cpp:64: error: ISO C++ forbids declaration of 'RTSPClient' with no type
    libmpdemux/demux_rtp.cpp:64: error: expected ';' before '*' token
    libmpdemux/demux_rtp.cpp:65: error: ISO C++ forbids declaration of 'SIPClient' with no type
    libmpdemux/demux_rtp.cpp:65: error: expected ';' before '*' token
    libmpdemux/demux_rtp.cpp:66: error: ISO C++ forbids declaration of 'MediaSession' with no type
    libmpdemux/demux_rtp.cpp:66: error: expected ';' before '*' token
    libmpdemux/demux_rtp.cpp:71: warning: 'typedef' was ignored in this declaration
    libmpdemux/demux_rtp.cpp:75: error: 'RTSPClient' was not declared in this scope
    libmpdemux/demux_rtp.cpp:75: error: 'client' was not declared in this scope
    libmpdemux/demux_rtp.cpp:75: error: expected primary-expression before 'char'
    libmpdemux/demux_rtp.cpp:75: error: initializer expression list treated as compound expression
    libmpdemux/demux_rtp.cpp:75: error: expected ',' or ';' before '{' token
    libmpdemux/demux_rtp.cpp:75: warning: 'openURL_rtsp' defined but not used
    make: *** [libmpdemux/demux_rtp.o] Error 1
    Any ideas? mplayer vanilla compiles properly, but pulling ffmpeg-mt and copying those directories to the mplayer directory breaks things.
    I also get the libswscale thing, but fetching the 0.5 tarball and copying its files into the svn mplayer's libswscale subdirectory made it compile properly.
    Last edited by Zorael; April 30th, 2009 at 06:39 PM.
    ...

  10. #20
    Join Date
    May 2009
    Beans
    8

    Re: HOWTO: Compiling mplayer with multi-core decoding support

    Hi all!
    I've just compiled latest mplayer with multi-threaded h.264 support. It's easier then in this guide, just:
    Code:
    1. $ sudo apt-get install build-essential checkinstall subversion git-core libgpac-dev yasm
    2. $sudo apt-get build-dep mplayer mencoder
    3. $ git clone git://repo.or.cz/mplayer && cd mplayer && git checkout origin/mt && git submodule init && git submodule update && ./configure && make && sudo make install
    That's all! Now 1080 movies can be smoothly played on my 1.3Ghz c2d without dropped frames

    $mplayer -benchmark -lavdopts threads=2 somemovie.mkv
    Last edited by white_hat; May 8th, 2009 at 02:13 PM.

Page 2 of 7 FirstFirst 1234 ... LastLast

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •