Browse Source

okay, the only current video textures now supported are avi and mov, but they are both running through ffmpeg

Zachary Pavlov 19 years ago
parent
commit
366f48314e
2 changed files with 22 additions and 5 deletions
  1. 6 4
      panda/src/grutil/Sources.pp
  2. 16 1
      panda/src/grutil/config_grutil.cxx

+ 6 - 4
panda/src/grutil/Sources.pp

@@ -1,7 +1,7 @@
 #define OTHER_LIBS interrogatedb:c dconfig:c dtoolconfig:m \
 #define OTHER_LIBS interrogatedb:c dconfig:c dtoolconfig:m \
                    dtoolutil:c dtoolbase:c dtool:m prc:c
                    dtoolutil:c dtoolbase:c dtool:m prc:c
 
 
-#define USE_PACKAGES opencv
+#define USE_PACKAGES opencv ffmpeg
 
 
 #begin lib_target
 #begin lib_target
   #define TARGET grutil
   #define TARGET grutil
@@ -17,7 +17,7 @@
     frameRateMeter.I frameRateMeter.h \
     frameRateMeter.I frameRateMeter.h \
     lineSegs.I lineSegs.h \
     lineSegs.I lineSegs.h \
     multitexReducer.I multitexReducer.h multitexReducer.cxx \
     multitexReducer.I multitexReducer.h multitexReducer.cxx \
-    openCVTexture.h openCVTexture.I 
+    openCVTexture.h openCVTexture.I ffmpegTexture.h ffmpegTexture.I 
     
     
   #define INCLUDED_SOURCES \
   #define INCLUDED_SOURCES \
     cardMaker.cxx \
     cardMaker.cxx \
@@ -25,7 +25,8 @@
     config_grutil.cxx \
     config_grutil.cxx \
     frameRateMeter.cxx \
     frameRateMeter.cxx \
     openCVTexture.cxx \    	 
     openCVTexture.cxx \    	 
-    lineSegs.cxx 
+    lineSegs.cxx \
+    ffmpegTexture.cxx
     
     
 
 
   #define INSTALL_HEADERS \
   #define INSTALL_HEADERS \
@@ -34,7 +35,8 @@
     frameRateMeter.I frameRateMeter.h \
     frameRateMeter.I frameRateMeter.h \
     lineSegs.I lineSegs.h \
     lineSegs.I lineSegs.h \
     multitexReducer.I multitexReducer.h \
     multitexReducer.I multitexReducer.h \
-    openCVTexture.I openCVTexture.h
+    openCVTexture.I openCVTexture.h\
+    ffmpegTexture.I ffmpegTexture.h
 
 
   #define IGATESCAN all
   #define IGATESCAN all
 
 

+ 16 - 1
panda/src/grutil/config_grutil.cxx

@@ -66,13 +66,28 @@ init_libgrutil() {
   FrameRateMeter::init_type();
   FrameRateMeter::init_type();
 
 
 #ifdef HAVE_OPENCV
 #ifdef HAVE_OPENCV
+  
+  {
   OpenCVTexture::init_type();
   OpenCVTexture::init_type();
   OpenCVTexture::register_with_read_factory();
   OpenCVTexture::register_with_read_factory();
 
 
   PandaSystem *ps = PandaSystem::get_global_ptr();
   PandaSystem *ps = PandaSystem::get_global_ptr();
   ps->add_system("OpenCV");
   ps->add_system("OpenCV");
   TexturePool *ts = TexturePool::get_global_ptr();
   TexturePool *ts = TexturePool::get_global_ptr();
-  ts->register_texture_type(OpenCVTexture::make_texture, "avi mpg");
+  ts->register_texture_type(OpenCVTexture::make_texture, "");
+	}
 #endif // HAVE_OPENCV
 #endif // HAVE_OPENCV
+
+#ifdef HAVE_FFMPEG
+  {
+  FFMpegTexture::init_type();
+  FFMpegTexture::register_with_read_factory();
+
+  PandaSystem *ps = PandaSystem::get_global_ptr();
+  ps->add_system("FFMpeg");
+  TexturePool *ts = TexturePool::get_global_ptr();
+  ts->register_texture_type(FFMpegTexture::make_texture, "avi mov");
+	}
+#endif // HAVE_FFMPEG
 }
 }