OpenSceneGraph Forum Forum Index OpenSceneGraph Forum
Official forum which mirrors the existent OSG mailing lists. Messages posted here are forwarded to the mailing list and vice versa.
 
   FAQFAQ    SearchSearch    MemberlistMemberlist    RulesRules    UsergroupsUsergroups    RegisterRegister 
 Mail2Forum SettingsMail2Forum Settings  ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 
   AlbumAlbum  OpenSceneGraph IRC ChatOpenSceneGraph IRC Chat   SmartFeedSmartFeed 

FindFFmpeg - the adventure continues ;-)

Goto page 1, 2  Next
 
Post new topic   Reply to topic    OpenSceneGraph Forum Forum Index -> Submission
View previous topic :: View next topic  
Author Message
Ulrich Hertlein
Guest





PostPosted: Fri Mar 06, 2009 11:46 am    Post subject:
FindFFmpeg - the adventure continues ;-)
Reply with quote

Hi list,

after the latest change away from pkg-config I today found that ffmpeg wouldn't compile
anymore on my OS X/DarwinPorts setup.

What was happening was that:
- first it would search /opt/local/include for avcodec.h not finding anything
- then it would search search /opt/local/include for libavcodec/avcodec.h *FINDING*
/opt/local/include (instead of /opt/local/include/libavcodec)
- it would never get around to check 'ffmpeg/...' since it believed it already found it.

This is with cmake 2.6-patch 2

So to resolve this (and learn a bit more about cmake) I've modified FindFFmpeg.cmake to:
- iterate over a list of prefixes
- try to find ${prefix}/${headername}
- if something was found then FFMPEG_${varname}_INCLUDE_DIR would be set to
/opt/local/include *NOT* /opt/local/include/${prefix}!
- if something was found then append the ${prefix} to FFMPEG_${varname}_INCLUDE_DIR

I've also relaxed the debug messages and added ".mkv" extension (Matroska) to the list of
supported formats.

Could somebody please test the modified FindFFmpeg.cmake?

Cheers,
/ulrich



------------------
Post generated by Mail2Forum
Back to top
Ulrich Hertlein
Guest





PostPosted: Sat Mar 07, 2009 9:24 am    Post subject:
FindFFmpeg - the adventure continues ;-)
Reply with quote

I need to withdraw the changes to FindFFmpeg.cmake

There's something really odd going on with cmake:
it detects the proper include directories (like /opt/local/include/ffmpeg for libavformat
and /opt/local/include/libavdevice for avdevice) but stores /opt/local/include in
CMakeCache so it won't actually find those files.

/ulrich


------------------
Post generated by Mail2Forum
Back to top
Robert Osfield
Guest





PostPosted: Sat Mar 07, 2009 9:46 am    Post subject:
FindFFmpeg - the adventure continues ;-)
Reply with quote

Hi Ulrich,

On Sat, Mar 7, 2009 at 9:24 AM, Ulrich Hertlein <> wrote:
Quote:
I need to withdraw the changes to FindFFmpeg.cmake

There's something really odd going on with cmake:
it detects the proper include directories (like /opt/local/include/ffmpeg
for libavformat and /opt/local/include/libavdevice for avdevice) but stores
/opt/local/include in CMakeCache so it won't actually find those files.

Peculiar. When I install ffmpeg from Ubuntu repositories I get all
the headers in ffmpeg, but if I compile myself from ffmpeg svn it
installs in include/libavformat, include/libavdevice etc. So it's odd
that your install is mix of this. Even more odd that cmake is doing
precular things. Any chance our FindFFmpeg.cmake is playing up?

The ffmpeg/CMakeList.txt adds extra search paths for ffmpeg,
lbavformat etc as well as the base include directories so should find
them even if the base directory /opt/local/include is used.

Robert.


------------------
Post generated by Mail2Forum
Back to top
Ulrich Hertlein
Guest





PostPosted: Sat Mar 07, 2009 12:14 pm    Post subject:
FindFFmpeg - the adventure continues ;-)
Reply with quote

,Hi Robert,

On 7/3/09 8:46 PM, Robert Osfield wrote:
Quote:
Quote:
There's something really odd going on with cmake:
it detects the proper include directories (like /opt/local/include/ffmpeg
for libavformat and /opt/local/include/libavdevice for avdevice) but stores
/opt/local/include in CMakeCache so it won't actually find those files.

Peculiar. When I install ffmpeg from Ubuntu repositories I get all
the headers in ffmpeg, but if I compile myself from ffmpeg svn it
installs in include/libavformat, include/libavdevice etc. So it's odd
that your install is mix of this.

I'll say! The files in include/ffmpeg are symlinks to ../libavcodec/, ../libavformat/,
and ../libavutil. But it doesn't have symlinks for libavdevice, libswscale. libavdevice
seems to be more recent (kubuntu 8.04 doesn't even know about this) so I get the
impression that include/ffmpeg is provided for backwards compatibility.

Quote:
The ffmpeg/CMakeList.txt adds extra search paths for ffmpeg,
lbavformat etc as well as the base include directories so should find
them even if the base directory /opt/local/include is used.

Yes, I've seen that just today. Oddly enough after reverting everything it's compiling
fine again. Maybe it was a botched CMakeCache or whatnot. Whatever.

Cheers,
/ulrich


------------------
Post generated by Mail2Forum
Back to top
ledocc (David Callu)
Appreciator


Joined: 03 Mar 2009
Posts: 157

PostPosted: Thu Mar 12, 2009 12:39 pm    Post subject:
FindFFmpeg - the adventure continues ;-)
Reply with quote

Hi Ulrich, Hi Robert, Hi FindFFmpeg.cmake contributor


Under Fedora, and perhaps other Linux distribution, ffmpeg header are located in
    /usr/include/ffmpeg/libavcodec
    /usr/include/ffmpeg/libavdevice
    /usr/include/ffmpeg/libavutil
    /usr/include/ffmpeg/libavformat
    /usr/include/ffmpeg/libswscale

So I modify the FindFFmpeg.cmake to properly find ffmpeg header.





BTW, I notice that other FIND_PATH macro search
  - ${headername}
  - lib${shortname}/${headername}
  - ffmpeg/${headername}
 in
  - /usr/local/include
  - /usr/include

but ffmpeg plugin use <avcodec.h>, so cmake have to search avcodec.h in
  - /usr/include/
  - /usr/include/lib${shortname}
  - /usr/include/ffmpeg
  - /usr/include/ffmpeg/lib${shortname}

Am i wrong ?




I join the modified FindFFmpeg.cmake.

Cheer
David



2009/3/7 Ulrich Hertlein < (
Only registered users can see emails on this board!
Get registred or enter the forums!
)>
Quote:
,Hi Robert,

On 7/3/09 8:46 PM, Robert Osfield wrote:
Quote:
Quote:
There's something really odd going on with cmake:
it detects the proper include directories (like /opt/local/include/ffmpeg
for libavformat and /opt/local/include/libavdevice for avdevice) but stores
/opt/local/include in CMakeCache so it won't actually find those files.

Peculiar.  When I install ffmpeg from Ubuntu repositories I get all
the headers in ffmpeg, but if I compile myself from ffmpeg svn it
installs in include/libavformat, include/libavdevice etc.  So it's odd
that your install is mix of this.


I'll say!  The files in include/ffmpeg are symlinks to ../libavcodec/, ../libavformat/, and ../libavutil.  But it doesn't have symlinks for libavdevice, libswscale.  libavdevice seems to be more recent (kubuntu 8.04 doesn't even know about this) so I get the impression that include/ffmpeg is provided for backwards compatibility.

Quote:
The ffmpeg/CMakeList.txt adds extra search paths for ffmpeg,
lbavformat etc as well as the base include directories so should find
them even if the base directory /opt/local/include is used.


Yes, I've seen that just today.  Oddly enough after reverting everything it's compiling fine again.  Maybe it was a botched CMakeCache or whatnot.  Whatever.

Cheers,
/ulrich

_______________________________________________
osg-submissions mailing list
(
Only registered users can see emails on this board!
Get registred or enter the forums!
)
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org




------------------
Post generated by Mail2Forum
Back to top
View user's profile Send private message Send e-mail
ledocc (David Callu)
Appreciator


Joined: 03 Mar 2009
Posts: 157

PostPosted: Thu Mar 12, 2009 1:14 pm    Post subject:
FindFFmpeg - the adventure continues ;-)
Reply with quote

My bad

After complete rebuild, fix break the compilation.


Please ignore this submission for now.

David


2009/3/12 David Callu < (
Only registered users can see emails on this board!
Get registred or enter the forums!
)>
Quote:
Hi Ulrich, Hi Robert, Hi FindFFmpeg.cmake contributor


Under Fedora, and perhaps other Linux distribution, ffmpeg header are located in
    /usr/include/ffmpeg/libavcodec
    /usr/include/ffmpeg/libavdevice
    /usr/include/ffmpeg/libavutil
    /usr/include/ffmpeg/libavformat
    /usr/include/ffmpeg/libswscale

So I modify the FindFFmpeg.cmake to properly find ffmpeg header.





BTW, I notice that other FIND_PATH macro search
  - ${headername}
  - lib${shortname}/${headername}
  - ffmpeg/${headername}
 in
  - /usr/local/include
  - /usr/include

but ffmpeg plugin use <avcodec.h>, so cmake have to search avcodec.h in
  - /usr/include/
  - /usr/include/lib${shortname}
  - /usr/include/ffmpeg
  - /usr/include/ffmpeg/lib${shortname}

Am i wrong ?




I join the modified FindFFmpeg.cmake.

Cheer
David



2009/3/7 Ulrich Hertlein < (
Only registered users can see emails on this board!
Get registred or enter the forums!
)>

Quote:
,Hi Robert,

On 7/3/09 8:46 PM, Robert Osfield wrote:
Quote:
Quote:
There's something really odd going on with cmake:
it detects the proper include directories (like /opt/local/include/ffmpeg
for libavformat and /opt/local/include/libavdevice for avdevice) but stores
/opt/local/include in CMakeCache so it won't actually find those files.

Peculiar.  When I install ffmpeg from Ubuntu repositories I get all
the headers in ffmpeg, but if I compile myself from ffmpeg svn it
installs in include/libavformat, include/libavdevice etc.  So it's odd
that your install is mix of this.


I'll say!  The files in include/ffmpeg are symlinks to ../libavcodec/, ../libavformat/, and ../libavutil.  But it doesn't have symlinks for libavdevice, libswscale.  libavdevice seems to be more recent (kubuntu 8.04 doesn't even know about this) so I get the impression that include/ffmpeg is provided for backwards compatibility.

Quote:
The ffmpeg/CMakeList.txt adds extra search paths for ffmpeg,
lbavformat etc as well as the base include directories so should find
them even if the base directory /opt/local/include is used.


Yes, I've seen that just today.  Oddly enough after reverting everything it's compiling fine again.  Maybe it was a botched CMakeCache or whatnot.  Whatever.

Cheers,
/ulrich

_______________________________________________
osg-submissions mailing list
(
Only registered users can see emails on this board!
Get registred or enter the forums!
)
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org








------------------
Post generated by Mail2Forum
Back to top
View user's profile Send private message Send e-mail
Skylark (Jean-Sébastien Guay)
Professional


Joined: 05 Jan 2009
Posts: 2249

PostPosted: Thu Mar 12, 2009 1:30 pm    Post subject:
FindFFmpeg - the adventure continues ;-)
Reply with quote

Hi David,

Quote:
BTW, I notice that other FIND_PATH macro search
- ${headername}
- lib${shortname}/${headername}
- ffmpeg/${headername}
in
- /usr/local/include
- /usr/include

but ffmpeg plugin use <avcodec.h>, so cmake have to search avcodec.h in
- /usr/include/
- /usr/include/lib${shortname}
- /usr/include/ffmpeg
- /usr/include/ffmpeg/lib${shortname}

Am i wrong ?

Check src/osgPlugins/ffmpeg/CMakeLists.txt, you will see lines like this:

INCLUDE_DIRECTORIES(
${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}
${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}/libavformat
${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}/ffmpeg
...

That means that the three cases in FIND_PATH are added to the lib path.

In your case, you would need to add ffmpeg/lib${shortname}/${headername}
to the FIND_PATH macro, and
${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}/ffmpeg/libavformat to the
INCLUDE_DIRECTORIES... Or we could just make it search for ${headername}
and use the complete directory it finds it in to the
INCLUDE_DIRECTORIES, so we can add new cases to a single place instead
of two places.

J-S
--
______________________________________________________
Jean-Sebastien Guay
http://www.cm-labs.com/
http://whitestar02.webhop.org/


------------------
Post generated by Mail2Forum
Back to top
View user's profile Send private message
ledocc (David Callu)
Appreciator


Joined: 03 Mar 2009
Posts: 157

PostPosted: Thu Mar 12, 2009 4:47 pm    Post subject:
FindFFmpeg - the adventure continues ;-)
Reply with quote

Hi JS

Thanks for help.

I just add the path /usr/include/ffmpeg in
"FIND_PATH(FFMPEG_${varname}_INCLUDE_DIRS lib${shortname}/${headername}"
All work fine.




On Fedora, ffmpeg library internally use
    #include "libavcodec/avcodec.h"
    #include "libavutil/avutil.h"
    and so on

But on Ubuntu, ffmpeg library internally use
    #include "avcodec.h"
    #include "avutil.h"

I can't check the original code, ffmpeg.org site seem to be down,
but, as Robert said in previous message, original path seem to be
"libavcodec/avcodec.h", "libavutil/avutil.h", etc



So we have to search path which contain "libavcodec/avcodec.h"     (common case)
If not found, search path which contain "avcodec.h"                        (special case for Ubuntu)

in src/osgPlugins/ffmpeg/CMakeLists.txt
 INCLUDE_DIRECTORIES(
       ${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}/
       ${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}/libavformat

${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS} is usefull for
  - original ffmpeg header when FFMPEG_LIBAVFORMAT_INCLUDE_DIRS = /usr/include/
  - ubuntu special case ffmpeg header when FFMPEG_LIBAVFORMAT_INCLUDE_DIRS = /usr/include/ffmpeg
  - osg plugin code on ubuntu when FFMPEG_LIBAVFORMAT_INCLUDE_DIRS = /usr/include/ffmpeg
${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}/libavformat is usefull for
  - osg plugin code with original header when FFMPEG_LIBAVFORMAT_INCLUDE_DIRS = /usr/include/


finally in the osg plugin code we use
    #include "avcodec.h"
    #include "avutil.h"
which is the smallest common denominator








In future, if Ubuntu maintainer don't do a special case, we could just search path containing "libavcodec", "libavdevice" , etc directory.

then in src/osgPlugins/ffmpeg/CMakeLists.txt
just include directory :
INCLUDE_DIRECTORIES(  ${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}
                                        ${FFMPEG_LIBAVDEVICE_INCLUDE_DIRS}
                                        ${FFMPEG_LIBAVCODEC_INCLUDE_DIRS}
                                        ${FFMPEG_LIBAVUTIL_INCLUDE_DIRS}
                                        ${FFMPEG_LIBSWSCALE_INCLUDE_DIRS}
                                     )
and finally use
    #include "libavcodec/avcodec.h"
in the osg plugin code







Last thing I don't understand is this search
FIND_PATH(FFMPEG_${varname}_INCLUDE_DIRS ffmpeg/${headername}

and this line in INCLUDE_DIRECTORIES macro
       ${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}/ffmpeg


this case could be easily handle by the first search:
    FIND_PATH(FFMPEG_${varname}_INCLUDE_DIRS ${headername}
        ${FFMPEG_ROOT}/include
        $ENV{FFMPEG_DIR}/include
        $ENV{OSGDIR}/include
        $ENV{OSG_ROOT}/include
        ~/Library/Frameworks
        /Library/Frameworks
        /usr/local/include
        /usr/include/
        /sw/include # Fink
        /opt/local/include # DarwinPorts
        /opt/csw/include # Blastwave
        /opt/include
        /usr/freeware/include
    )
by adding /usr/include/ffmpeg and so on.
Then we can remove extra include path ${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}/ffmpeg in INCLUDE_DIRECTORIES macro




What a complex code just for handle Ubuntu modification ...
I will email the ubuntu maintainer for more information on
this strange modification of headers and headers location.



I join FindFFmpeg.cmake and CMakeLists.txt of ffmpeg plugin.


Cheer
David



2009/3/12 Jean-Sébastien Guay < (
Only registered users can see emails on this board!
Get registred or enter the forums!
)>
Quote:
Hi David,


Check src/osgPlugins/ffmpeg/CMakeLists.txt, you will see lines like this:

   INCLUDE_DIRECTORIES(
       ${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}
       ${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}/libavformat
       ${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}/ffmpeg
       ...

That means that the three cases in FIND_PATH are added to the lib path.

In your case, you would need to add ffmpeg/lib${shortname}/${headername} to the FIND_PATH macro, and ${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}/ffmpeg/libavformat to the INCLUDE_DIRECTORIES... Or we could just make it search for ${headername} and use the complete directory it finds it in to the INCLUDE_DIRECTORIES, so we can add new cases to a single place instead of two places.

J-S
--
______________________________________________________
Jean-Sebastien Guay     (
Only registered users can see emails on this board!
Get registred or enter the forums!
)
                              http://www.cm-labs.com/
                       http://whitestar02.webhop.org/

_______________________________________________
osg-submissions mailing list
(
Only registered users can see emails on this board!
Get registred or enter the forums!
)
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org




------------------
Post generated by Mail2Forum
Back to top
View user's profile Send private message Send e-mail
ledocc (David Callu)
Appreciator


Joined: 03 Mar 2009
Posts: 157

PostPosted: Thu Mar 12, 2009 5:23 pm    Post subject:
FindFFmpeg - the adventure continues ;-)
Reply with quote

Hi all


After little dig in ubuntu packages on packages.ubuntu.com (really nice web page to found package informations):

Hardy, Hardy-update use cvs 20070307 version and Intrepid use svn 20080206 version
this package store ffmpeg header in /usr/include/ffmpeg

Jaunty use svn 20090204 version and the package store ffmpeg header in
/usr/include /libavcodec
/usr/include /libavformat
etc

So just wait some month and every body use the same directory, then FindFFmpeg.cmake and ffmpeg plugin CMakeLists.txt
will become more simple.


Cheer
David


2009/3/12 David Callu < (
Only registered users can see emails on this board!
Get registred or enter the forums!
)>
Quote:
Hi JS

Thanks for help.

I just add the path /usr/include/ffmpeg in
"FIND_PATH(FFMPEG_${varname}_INCLUDE_DIRS lib${shortname}/${headername}"
All work fine.




On Fedora, ffmpeg library internally use
    #include "libavcodec/avcodec.h"
    #include "libavutil/avutil.h"
    and so on

But on Ubuntu, ffmpeg library internally use
    #include "avcodec.h"
    #include "avutil.h"

I can't check the original code, ffmpeg.org site seem to be down,
but, as Robert said in previous message, original path seem to be
"libavcodec/avcodec.h", "libavutil/avutil.h", etc



So we have to search path which contain "libavcodec/avcodec.h"     (common case)
If not found, search path which contain "avcodec.h"                        (special case for Ubuntu)

in src/osgPlugins/ffmpeg/CMakeLists.txt
 INCLUDE_DIRECTORIES(
       ${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}/
       ${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}/libavformat


${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS} is usefull for
  - original ffmpeg header when FFMPEG_LIBAVFORMAT_INCLUDE_DIRS = /usr/include/
  - ubuntu special case ffmpeg header when FFMPEG_LIBAVFORMAT_INCLUDE_DIRS = /usr/include/ffmpeg
  - osg plugin code on ubuntu when FFMPEG_LIBAVFORMAT_INCLUDE_DIRS = /usr/include/ffmpeg
${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}/libavformat is usefull for
  - osg plugin code with original header when FFMPEG_LIBAVFORMAT_INCLUDE_DIRS = /usr/include/


finally in the osg plugin code we use
    #include "avcodec.h"
    #include "avutil.h"
which is the smallest common denominator








In future, if Ubuntu maintainer don't do a special case, we could just search path containing "libavcodec", "libavdevice" , etc directory.

then in src/osgPlugins/ffmpeg/CMakeLists.txt
just include directory :
INCLUDE_DIRECTORIES(  ${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}

                                        ${FFMPEG_LIBAVDEVICE_INCLUDE_DIRS}
                                        ${FFMPEG_LIBAVCODEC_INCLUDE_DIRS}
                                        ${FFMPEG_LIBAVUTIL_INCLUDE_DIRS}
                                        ${FFMPEG_LIBSWSCALE_INCLUDE_DIRS}
                                     )
and finally use
    #include "libavcodec/avcodec.h"
in the osg plugin code







Last thing I don't understand is this search
FIND_PATH(FFMPEG_${varname}_INCLUDE_DIRS ffmpeg/${headername}

and this line in INCLUDE_DIRECTORIES macro
       ${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}/ffmpeg



this case could be easily handle by the first search:
    FIND_PATH(FFMPEG_${varname}_INCLUDE_DIRS ${headername}
        ${FFMPEG_ROOT}/include
        $ENV{FFMPEG_DIR}/include
        $ENV{OSGDIR}/include
        $ENV{OSG_ROOT}/include
        ~/Library/Frameworks
        /Library/Frameworks
        /usr/local/include
        /usr/include/
        /sw/include # Fink
        /opt/local/include # DarwinPorts
        /opt/csw/include # Blastwave
        /opt/include
        /usr/freeware/include
    )
by adding /usr/include/ffmpeg and so on.
Then we can remove extra include path ${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}/ffmpeg in INCLUDE_DIRECTORIES macro




What a complex code just for handle Ubuntu modification ...
I will email the ubuntu maintainer for more information on
this strange modification of headers and headers location.



I join FindFFmpeg.cmake and CMakeLists.txt of ffmpeg plugin.


Cheer
David



2009/3/12 Jean-Sébastien Guay < (
Only registered users can see emails on this board!
Get registred or enter the forums!
)>
Quote:
Hi David,


Check src/osgPlugins/ffmpeg/CMakeLists.txt, you will see lines like this:

   INCLUDE_DIRECTORIES(
       ${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}
       ${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}/libavformat
       ${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}/ffmpeg
       ...

That means that the three cases in FIND_PATH are added to the lib path.

In your case, you would need to add ffmpeg/lib${shortname}/${headername} to the FIND_PATH macro, and ${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}/ffmpeg/libavformat to the INCLUDE_DIRECTORIES... Or we could just make it search for ${headername} and use the complete directory it finds it in to the INCLUDE_DIRECTORIES, so we can add new cases to a single place instead of two places.

J-S
--
______________________________________________________
Jean-Sebastien Guay     (
Only registered users can see emails on this board!
Get registred or enter the forums!
)
                              http://www.cm-labs.com/
                       http://whitestar02.webhop.org/

_______________________________________________
osg-submissions mailing list
(
Only registered users can see emails on this board!
Get registred or enter the forums!
)
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org







------------------
Post generated by Mail2Forum
Back to top
View user's profile Send private message Send e-mail
Robert Osfield
Guest





PostPosted: Thu Mar 12, 2009 5:31 pm    Post subject:
FindFFmpeg - the adventure continues ;-)
Reply with quote

Hi David,

We'll need to maintain support for ffmpeg directory containing all the
headers for backwards compatibility with older revs of Ubuntu and
other distro's that have chosen a similar packaging. A little
complexity in the find scripts is a small price to pay for better
compatibility.

I'm curious to why you've need to change the FindFFmpeg.cmake
ffmpeg/CMakeLists.txt as I've tested against Kubuntu 8.10's version of
ffmpeg and it worked find. Exactly which version of Linux are you
using? What happens if you delete your CMakeCache.txt and then run
ccmake to force a new search for headers?

Robert.

On Thu, Mar 12, 2009 at 5:23 PM, David Callu <> wrote:
Quote:
Hi all


After little dig in ubuntu packages on packages.ubuntu.com (really nice web
page to found package informations):

Hardy, Hardy-update use cvs 20070307 version and Intrepid use svn 20080206
version
this package store ffmpeg header in /usr/include/ffmpeg

Jaunty use svn 20090204 version and the package store ffmpeg header in
/usr/include /libavcodec
/usr/include /libavformat
etc

So just wait some month and every body use the same directory, then
FindFFmpeg.cmake and ffmpeg plugin CMakeLists.txt
will become more simple.


Cheer
David


2009/3/12 David Callu <>
Quote:

Hi JS

Thanks for help.

I just add the path /usr/include/ffmpeg in
"FIND_PATH(FFMPEG_${varname}_INCLUDE_DIRS lib${shortname}/${headername}"
All work fine.




On Fedora, ffmpeg library internally use
    #include "libavcodec/avcodec.h"
    #include "libavutil/avutil.h"
    and so on

But on Ubuntu, ffmpeg library internally use
    #include "avcodec.h"
    #include "avutil.h"

I can't check the original code, ffmpeg.org site seem to be down,
but, as Robert said in previous message, original path seem to be
"libavcodec/avcodec.h", "libavutil/avutil.h", etc



So we have to search path which contain "libavcodec/avcodec.h"     (common
case)
If not found, search path which contain "avcodec.h"
(special case for Ubuntu)

in src/osgPlugins/ffmpeg/CMakeLists.txt
 INCLUDE_DIRECTORIES(
       ${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}/
       ${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}/libavformat

${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS} is usefull for
  - original ffmpeg header when FFMPEG_LIBAVFORMAT_INCLUDE_DIRS =
/usr/include/
  - ubuntu special case ffmpeg header when FFMPEG_LIBAVFORMAT_INCLUDE_DIRS
= /usr/include/ffmpeg
  - osg plugin code on ubuntu when FFMPEG_LIBAVFORMAT_INCLUDE_DIRS =
/usr/include/ffmpeg
${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}/libavformat is usefull for
  - osg plugin code with original header when
FFMPEG_LIBAVFORMAT_INCLUDE_DIRS = /usr/include/


finally in the osg plugin code we use
    #include "avcodec.h"
    #include "avutil.h"
which is the smallest common denominator








In future, if Ubuntu maintainer don't do a special case, we could just
search path containing "libavcodec", "libavdevice" , etc directory.

then in src/osgPlugins/ffmpeg/CMakeLists.txt
just include directory :
INCLUDE_DIRECTORIES(  ${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}
                                        ${FFMPEG_LIBAVDEVICE_INCLUDE_DIRS}
                                        ${FFMPEG_LIBAVCODEC_INCLUDE_DIRS}
                                        ${FFMPEG_LIBAVUTIL_INCLUDE_DIRS}
                                        ${FFMPEG_LIBSWSCALE_INCLUDE_DIRS}
                                     )
and finally use
    #include "libavcodec/avcodec.h"
in the osg plugin code







Last thing I don't understand is this search
FIND_PATH(FFMPEG_${varname}_INCLUDE_DIRS ffmpeg/${headername}

and this line in INCLUDE_DIRECTORIES macro
       ${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}/ffmpeg


this case could be easily handle by the first search:
    FIND_PATH(FFMPEG_${varname}_INCLUDE_DIRS ${headername}
        ${FFMPEG_ROOT}/include
        $ENV{FFMPEG_DIR}/include
        $ENV{OSGDIR}/include
        $ENV{OSG_ROOT}/include
        ~/Library/Frameworks
        /Library/Frameworks
        /usr/local/include
        /usr/include/
        /sw/include # Fink
        /opt/local/include # DarwinPorts
        /opt/csw/include # Blastwave
        /opt/include
        /usr/freeware/include
    )
by adding /usr/include/ffmpeg and so on.
Then we can remove extra include path
${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}/ffmpeg in INCLUDE_DIRECTORIES macro




What a complex code just for handle Ubuntu modification ...
I will email the ubuntu maintainer for more information on
this strange modification of headers and headers location.



I join FindFFmpeg.cmake and CMakeLists.txt of ffmpeg plugin.


Cheer
David



2009/3/12 Jean-Sébastien Guay <>
Quote:

Hi David,

Check src/osgPlugins/ffmpeg/CMakeLists.txt, you will see lines like this:

   INCLUDE_DIRECTORIES(
       ${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}
       ${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}/libavformat
       ${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}/ffmpeg
       ...

That means that the three cases in FIND_PATH are added to the lib path.

In your case, you would need to add ffmpeg/lib${shortname}/${headername}
to the FIND_PATH macro, and
${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}/ffmpeg/libavformat to the
INCLUDE_DIRECTORIES... Or we could just make it search for ${headername} and
use the complete directory it finds it in to the INCLUDE_DIRECTORIES, so we
can add new cases to a single place instead of two places.

J-S
--
______________________________________________________
Jean-Sebastien Guay    
                              http://www.cm-labs.com/
                       http://whitestar02.webhop.org/









------------------
Post generated by Mail2Forum
Back to top
ledocc (David Callu)
Appreciator


Joined: 03 Mar 2009
Posts: 157

PostPosted: Thu Mar 12, 2009 6:45 pm    Post subject:
FindFFmpeg - the adventure continues ;-)
Reply with quote

Hi Robert

Primary change is just in FindFFmpeg.cmake to handle
header location on Fedora 10. ffmpeg header are located in
- /usr/include/ffmpeg/libavcodec/
- /usr/include/ffmpeg/libavformat/
- etc


After J-S message, I dig the code (ffmpeg plugin and CMakeLists.txt) to understand exactly
what is wrong in my first submission.

Finally, just add a line in FIND_PATH(FFMPEG_${varname}_INCLUDE_DIRS lib${shortname}/${headername}
fix the problem.

BTW I supposed the 3rd FIND_PATH and the
  INCLUDE_DIRECTORIES(  ...  ${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}/ffmpeg ... )
in CMakeLists.txt is redundant code. And not really simplify reading and maintaining.
so I remove them and just add a line in the first FIND_PATH macro.

        FIND_PATH(FFMPEG_${varname}_INCLUDE_DIRS ${headername}
            ${FFMPEG_ROOT}/include
            $ENV{FFMPEG_DIR}/include
            $ENV{OSGDIR}/include
            $ENV{OSG_ROOT}/include
            ~/Library/Frameworks
            /Library/Frameworks
            /usr/local/include
            /usr/include/
            /usr/include/ffmpeg  #                         <<-- this line
            /sw/include # Fink
            /opt/local/include # DarwinPorts
            /opt/csw/include # Blastwave
            /opt/include
            /usr/freeware/include
        )

This have the same result of the previous code.
Am I wrong ?



2009/3/12 Robert Osfield < (
Only registered users can see emails on this board!
Get registred or enter the forums!
)>
Quote:
Hi David,

We'll need to maintain support for ffmpeg directory containing all the
headers for backwards compatibility with older revs of Ubuntu and
other distro's that have chosen a similar packaging.  A little
complexity in the find scripts is a small price to pay for better
compatibility.
Right.
 
Quote:

I'm curious to why you've need to change the FindFFmpeg.cmake
ffmpeg/CMakeLists.txt as I've tested against Kubuntu 8.10's version of
ffmpeg and it worked find.  Exactly which version of Linux are you
using?  What happens if you delete your CMakeCache.txt and then run
ccmake to force a new search for headers?

With the fix, header are properly found.

David








 
Quote:

Robert.


On Thu, Mar 12, 2009 at 5:23 PM, David Callu < (
Only registered users can see emails on this board!
Get registred or enter the forums!
)> wrote:
Quote:
Hi all


After little dig in ubuntu packages on packages.ubuntu.com (really nice web
page to found package informations):

Hardy, Hardy-update use cvs 20070307 version and Intrepid use svn 20080206
version
this package store ffmpeg header in /usr/include/ffmpeg

Jaunty use svn 20090204 version and the package store ffmpeg header in
/usr/include /libavcodec
/usr/include /libavformat
etc

So just wait some month and every body use the same directory, then
FindFFmpeg.cmake and ffmpeg plugin CMakeLists.txt
will become more simple.


Cheer
David


2009/3/12 David Callu < (
Only registered users can see emails on this board!
Get registred or enter the forums!
)>
Quote:

Hi JS

Thanks for help.

I just add the path /usr/include/ffmpeg in
"FIND_PATH(FFMPEG_${varname}_INCLUDE_DIRS lib${shortname}/${headername}"
All work fine.




On Fedora, ffmpeg library internally use
    #include "libavcodec/avcodec.h"
    #include "libavutil/avutil.h"
    and so on

But on Ubuntu, ffmpeg library internally use
    #include "avcodec.h"
    #include "avutil.h"

I can't check the original code, ffmpeg.org site seem to be down,
but, as Robert said in previous message, original path seem to be
"libavcodec/avcodec.h", "libavutil/avutil.h", etc



So we have to search path which contain "libavcodec/avcodec.h"     (common
case)
If not found, search path which contain "avcodec.h"
(special case for Ubuntu)

in src/osgPlugins/ffmpeg/CMakeLists.txt
 INCLUDE_DIRECTORIES(
       ${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}/
       ${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}/libavformat

${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS} is usefull for
  - original ffmpeg header when FFMPEG_LIBAVFORMAT_INCLUDE_DIRS =
/usr/include/
  - ubuntu special case ffmpeg header when FFMPEG_LIBAVFORMAT_INCLUDE_DIRS
= /usr/include/ffmpeg
  - osg plugin code on ubuntu when FFMPEG_LIBAVFORMAT_INCLUDE_DIRS =
/usr/include/ffmpeg
${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}/libavformat is usefull for
  - osg plugin code with original header when
FFMPEG_LIBAVFORMAT_INCLUDE_DIRS = /usr/include/


finally in the osg plugin code we use
    #include "avcodec.h"
    #include "avutil.h"
which is the smallest common denominator








In future, if Ubuntu maintainer don't do a special case, we could just
search path containing "libavcodec", "libavdevice" , etc directory.

then in src/osgPlugins/ffmpeg/CMakeLists.txt
just include directory :
INCLUDE_DIRECTORIES(  ${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}
                                        ${FFMPEG_LIBAVDEVICE_INCLUDE_DIRS}
                                        ${FFMPEG_LIBAVCODEC_INCLUDE_DIRS}
                                        ${FFMPEG_LIBAVUTIL_INCLUDE_DIRS}
                                        ${FFMPEG_LIBSWSCALE_INCLUDE_DIRS}
                                     )
and finally use
    #include "libavcodec/avcodec.h"
in the osg plugin code







Last thing I don't understand is this search
FIND_PATH(FFMPEG_${varname}_INCLUDE_DIRS ffmpeg/${headername}

and this line in INCLUDE_DIRECTORIES macro
       ${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}/ffmpeg


this case could be easily handle by the first search:
    FIND_PATH(FFMPEG_${varname}_INCLUDE_DIRS ${headername}
        ${FFMPEG_ROOT}/include
        $ENV{FFMPEG_DIR}/include
        $ENV{OSGDIR}/include
        $ENV{OSG_ROOT}/include
        ~/Library/Frameworks
        /Library/Frameworks
        /usr/local/include
        /usr/include/
        /sw/include # Fink
        /opt/local/include # DarwinPorts
        /opt/csw/include # Blastwave
        /opt/include
        /usr/freeware/include
    )
by adding /usr/include/ffmpeg and so on.
Then we can remove extra include path
${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}/ffmpeg in INCLUDE_DIRECTORIES macro




What a complex code just for handle Ubuntu modification ...
I will email the ubuntu maintainer for more information on
this strange modification of headers and headers location.



I join FindFFmpeg.cmake and CMakeLists.txt of ffmpeg plugin.


Cheer
David



2009/3/12 Jean-Sébastien Guay < (
Only registered users can see emails on this board!
Get registred or enter the forums!
)>
Quote:

Hi David,

Check src/osgPlugins/ffmpeg/CMakeLists.txt, you will see lines like this:

   INCLUDE_DIRECTORIES(
       ${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}
       ${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}/libavformat
       ${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}/ffmpeg
       ...

That means that the three cases in FIND_PATH are added to the lib path.

In your case, you would need to add ffmpeg/lib${shortname}/${headername}
to the FIND_PATH macro, and
${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}/ffmpeg/libavformat to the
INCLUDE_DIRECTORIES... Or we could just make it search for ${headername} and
use the complete directory it finds it in to the INCLUDE_DIRECTORIES, so we
can add new cases to a single place instead of two places.

J-S
--
______________________________________________________
Jean-Sebastien Guay     (
Only registered users can see emails on this board!
Get registred or enter the forums!
)
                              http://www.cm-labs.com/
                       http://whitestar02.webhop.org/
_______________________________________________
osg-submissions mailing list
(
Only registered users can see emails on this board!
Get registred or enter the forums!
)

http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org



_______________________________________________
osg-submissions mailing list
(
Only registered users can see emails on this board!
Get registred or enter the forums!
)
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org


_______________________________________________
osg-submissions mailing list
(
Only registered users can see emails on this board!
Get registred or enter the forums!
)
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org




------------------
Post generated by Mail2Forum
Back to top
View user's profile Send private message Send e-mail
Robert Osfield
Guest





PostPosted: Fri Mar 13, 2009 10:36 am    Post subject:
FindFFmpeg - the adventure continues ;-)
Reply with quote

Hi David,

On Thu, Mar 12, 2009 at 6:45 PM, David Callu <> wrote:
Quote:
        FIND_PATH(FFMPEG_${varname}_INCLUDE_DIRS ${headername}
            ${FFMPEG_ROOT}/include
            $ENV{FFMPEG_DIR}/include
            $ENV{OSGDIR}/include
            $ENV{OSG_ROOT}/include
            ~/Library/Frameworks
            /Library/Frameworks
            /usr/local/include
            /usr/include/
            /usr/include/ffmpeg  #                         <<-- this line
            /sw/include # Fink
            /opt/local/include # DarwinPorts
            /opt/csw/include # Blastwave
            /opt/include
            /usr/freeware/include
        )

This seems like a sensible change.

Do you want to revise you changes then resubmit?

Something else I've considered is simplying the ffmpeg/CMakeLists.txt
so it just includes the directories directly without adding any extra
paths, this pushes the FindFFmpeg.cmake do to a thorough job, but that
is the normal practice for our Find scripts.

Robert.


------------------
Post generated by Mail2Forum
Back to top
ledocc (David Callu)
Appreciator


Joined: 03 Mar 2009
Posts: 157

PostPosted: Fri Mar 13, 2009 11:11 am    Post subject:
FindFFmpeg - the adventure continues ;-)
Reply with quote

Hi Robert

Sleep on.


We have to manage 2 version of ffmpeg:
- The old one with ffmpeg's header which include "avcodec.h" ...
- The new one with ffmpeg's header which include "libavcodec/avcodec.h" ...

In osg plugin code, to handle old and new version, we have to include "avcodec.h", as the old version did.

Then, on compilation command line, we have to include directory which contain
- "avcodec.h" for old version
- "libavcodec/avcodec.h" and "avcodec.h" for new version


2009/3/13 Robert Osfield < (
Only registered users can see emails on this board!
Get registred or enter the forums!
)>
Quote:
Hi David,

On Thu, Mar 12, 2009 at 6:45 PM, David Callu < (
Only registered users can see emails on this board!
Get registred or enter the forums!
)> wrote:
Quote:
        FIND_PATH(FFMPEG_${varname}_INCLUDE_DIRS ${headername}
            ${FFMPEG_ROOT}/include
            $ENV{FFMPEG_DIR}/include
            $ENV{OSGDIR}/include
            $ENV{OSG_ROOT}/include
            ~/Library/Frameworks
            /Library/Frameworks
            /usr/local/include
            /usr/include/
            /usr/include/ffmpeg  #                         <<-- this line
            /sw/include # Fink
            /opt/local/include # DarwinPorts
            /opt/csw/include # Blastwave
            /opt/include
            /usr/freeware/include
        )


This seems like a sensible change.

Do you want to revise you changes then resubmit?
Yes, it will probably not really different, but comment will explain
issue about new and old version.
 
Quote:

Something else I've considered is simplying the ffmpeg/CMakeLists.txt
so it just includes the directories directly without adding any extra
paths,
As I explain before, for new version of ffmpeg, we have to include 2 path
because ffmpeg's header use "libavcodec/avcodec.h" and osg code use "avcodec.h"

Seem good for you ?

David

 
Quote:
this pushes the FindFFmpeg.cmake do to a thorough job, but that
is the normal practice for our Find scripts.

Robert.

_______________________________________________
osg-submissions mailing list
(
Only registered users can see emails on this board!
Get registred or enter the forums!
)
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org




------------------
Post generated by Mail2Forum
Back to top
View user's profile Send private message Send e-mail
ledocc (David Callu)
Appreciator


Joined: 03 Mar 2009
Posts: 157

PostPosted: Tue Mar 17, 2009 4:03 pm    Post subject:
FindFFmpeg - the adventure continues ;-)
Reply with quote

Hi Robert

I add some little change of original code :

in CMakeModules/FindFFmpeg.cmake:
I add at the end of FIND_PATH macro

        PATH_SUFFIXES ffmpeg
        DOC "Location of FFMPEG Headers"

and a better explanation about old and new version of ffmpeg
and why we include 2 path


in src/osgPlugins/ffmpeg/CMakeLists.txt:
 - refactor the code
 - remove ${FFMPEG_libname_INCLUDE_DIRS}/ffmpeg


Cheer
David Callu


2009/3/13 David Callu < (
Only registered users can see emails on this board!
Get registred or enter the forums!
)>
Quote:
Hi Robert

Sleep on.


We have to manage 2 version of ffmpeg:
- The old one with ffmpeg's header which include "avcodec.h" ...
- The new one with ffmpeg's header which include "libavcodec/avcodec.h" ...

In osg plugin code, to handle old and new version, we have to include "avcodec.h", as the old version did.

Then, on compilation command line, we have to include directory which contain
- "avcodec.h" for old version
- "libavcodec/avcodec.h" and "avcodec.h" for new version


2009/3/13 Robert Osfield < (
Only registered users can see emails on this board!
Get registred or enter the forums!
)>
Quote:
Hi David,

On Thu, Mar 12, 2009 at 6:45 PM, David Callu < (
Only registered users can see emails on this board!
Get registred or enter the forums!
)> wrote:
Quote:
        FIND_PATH(FFMPEG_${varname}_INCLUDE_DIRS ${headername}
            ${FFMPEG_ROOT}/include
            $ENV{FFMPEG_DIR}/include
            $ENV{OSGDIR}/include
            $ENV{OSG_ROOT}/include
            ~/Library/Frameworks
            /Library/Frameworks
            /usr/local/include
            /usr/include/
            /usr/include/ffmpeg  #                         <<-- this line
            /sw/include # Fink
            /opt/local/include # DarwinPorts
            /opt/csw/include # Blastwave
            /opt/include
            /usr/freeware/include
        )


This seems like a sensible change.

Do you want to revise you changes then resubmit?

Yes, it will probably not really different, but comment will explain
issue about new and old version.
 
Quote:

Something else I've considered is simplying the ffmpeg/CMakeLists.txt
so it just includes the directories directly without adding any extra
paths,

As I explain before, for new version of ffmpeg, we have to include 2 path
because ffmpeg's header use "libavcodec/avcodec.h" and osg code use "avcodec.h"

Seem good for you ?

David

 
Quote:
this pushes the FindFFmpeg.cmake do to a thorough job, but that
is the normal practice for our Find scripts.

Robert.

_______________________________________________
osg-submissions mailing list
(
Only registered users can see emails on this board!
Get registred or enter the forums!
)
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org







------------------
Post generated by Mail2Forum
Back to top
View user's profile Send private message Send e-mail
robertosfield
OSG Project Lead


Joined: 18 Mar 2009
Posts: 12206

PostPosted: Mon Mar 23, 2009 3:44 pm    Post subject:
FindFFmpeg - the adventure continues ;-)
Reply with quote

Thanks David, changes look sensible, I've tested then against ffmpeg installed from Ubuntu repositories and svn/trunk of ffmpeg and both are picked up fine.  Fingers crossed things will continue working fine under other platforms as well.

On Tue, Mar 17, 2009 at 4:03 PM, David Callu < (
Only registered users can see emails on this board!
Get registred or enter the forums!
)> wrote:
Quote:
Hi Robert

I add some little change of original code :

in CMakeModules/FindFFmpeg.cmake:
I add at the end of FIND_PATH macro

        PATH_SUFFIXES ffmpeg
        DOC "Location of FFMPEG Headers"

and a better explanation about old and new version of ffmpeg
and why we include 2 path


in src/osgPlugins/ffmpeg/CMakeLists.txt:
 - refactor the code
 - remove ${FFMPEG_libname_INCLUDE_DIRS}/ffmpeg


Cheer
David Callu


2009/3/13 David Callu < (
Only registered users can see emails on this board!
Get registred or enter the forums!
)>

Quote:
Hi Robert

Sleep on.


We have to manage 2 version of ffmpeg:
- The old one with ffmpeg's header which include "avcodec.h" ...
- The new one with ffmpeg's header which include "libavcodec/avcodec.h" ...

In osg plugin code, to handle old and new version, we have to include "avcodec.h", as the old version did.

Then, on compilation command line, we have to include directory which contain
- "avcodec.h" for old version
- "libavcodec/avcodec.h" and "avcodec.h" for new version


2009/3/13 Robert Osfield < (
Only registered users can see emails on this board!
Get registred or enter the forums!
)>
Quote:
Hi David,

On Thu, Mar 12, 2009 at 6:45 PM, David Callu < (
Only registered users can see emails on this board!
Get registred or enter the forums!
)> wrote:
Quote:
        FIND_PATH(FFMPEG_${varname}_INCLUDE_DIRS ${headername}
            ${FFMPEG_ROOT}/include
            $ENV{FFMPEG_DIR}/include
            $ENV{OSGDIR}/include
            $ENV{OSG_ROOT}/include
            ~/Library/Frameworks
            /Library/Frameworks
            /usr/local/include
            /usr/include/
            /usr/include/ffmpeg  #                         <<-- this line
            /sw/include # Fink
            /opt/local/include # DarwinPorts
            /opt/csw/include # Blastwave
            /opt/include
            /usr/freeware/include
        )


This seems like a sensible change.

Do you want to revise you changes then resubmit?

Yes, it will probably not really different, but comment will explain
issue about new and old version.
 
Quote:

Something else I've considered is simplying the ffmpeg/CMakeLists.txt
so it just includes the directories directly without adding any extra
paths,

As I explain before, for new version of ffmpeg, we have to include 2 path
because ffmpeg's header use "libavcodec/avcodec.h" and osg code use "avcodec.h"

Seem good for you ?

David

 
Quote:
this pushes the FindFFmpeg.cmake do to a thorough job, but that
is the normal practice for our Find scripts.

Robert.

_______________________________________________
osg-submissions mailing list
(
Only registered users can see emails on this board!
Get registred or enter the forums!
)
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org










_______________________________________________
osg-submissions mailing list
(
Only registered users can see emails on this board!
Get registred or enter the forums!
)
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org



------------------
Post generated by Mail2Forum
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    OpenSceneGraph Forum Forum Index -> Submission All times are GMT
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You cannot download files in this forum

Similar Topics
Topic Author Forum Replies Posted
No new posts Weekend adventure robertosfield General 5 Fri Jun 11, 2010 1:07 pm View latest post
No new posts FindFFMPEG.cmake module to find FFMPE... Skylark Submission 13 Wed Mar 04, 2009 3:36 pm View latest post


Board Security Anti Bot Question MOD - phpBB MOD against Spam Bots
Powered by phpBB © 2001, 2005 phpBB Group
Protected by Anti-Spam ACP