diff --git a/SConstruct b/SConstruct index f3ffbb90..270fc6f0 100644 --- a/SConstruct +++ b/SConstruct @@ -167,6 +167,7 @@ if mymode == "debug": Export( "env" ) Export( "envJava" ) Export( "envPy" ) +Export( "mymode" ) Export( "installPrefix" ) Export( "resampleLibraryName" ) @@ -180,4 +181,3 @@ sconscripts = [ SConscript('src/SConscript', variant_dir='build/'+mymode+'/src') SConscript('app/SConscript', variant_dir='build/'+mymode+'/app') - diff --git a/app/SConscript b/app/SConscript index 08c5b6b7..e712dfc3 100644 --- a/app/SConscript +++ b/app/SConscript @@ -1,121 +1,28 @@ import os import platform +Import( 'env' ) +Import( 'envJava' ) +Import( 'envPy' ) +Import( 'mymode' ) Import( 'AvTranscoder' ) Import( 'sAvTranscoder' ) -#Import( 'AvTranscoder_jar' ) -Import( 'installPrefix' ) -Import( "resampleLibraryName" ) - -env = Environment().Clone() - -Import( 'env' ) - -avinfo = env.Program( - 'avinfo', - Glob( 'avInfo/*.cpp' ), - LIBS = [ - sAvTranscoder, - 'avutil', - 'avformat', - 'avcodec', - 'swscale', - resampleLibraryName, - ] - ) - -avmeta = env.Program( - 'avmeta', - Glob( 'avMeta/*.cpp' ), - LIBS = [ - sAvTranscoder, - 'avutil', - 'avformat', - 'avcodec', - 'swscale', - resampleLibraryName, - ] - ) - -avtransform = env.Program( - 'av++', - Glob( 'avTranscoder/*.cpp' ), - LIBS = [ - sAvTranscoder, - 'avutil', - 'avformat', - 'avcodec', - 'swscale', - resampleLibraryName, - ] - ) - -avprocessor = env.Program( - 'avprocessor', - Glob( 'genericProcessor/*.cpp' ), - LIBS = [ - sAvTranscoder, - 'avutil', - 'avformat', - 'avcodec', - 'swscale', - resampleLibraryName, - ], - CXXFLAGS = [ - '-std=c++0x' - ], - ) - -if platform.system() != 'Windows': - avplayer = env.Program( - 'avplayer', - Glob( 'avplay/*.cpp' ), - LIBS = [ - sAvTranscoder, - 'avutil', - 'avformat', - 'avcodec', - 'swscale', - resampleLibraryName, - 'GL', - 'glut', - ] - ) - - avprofiles = env.Program( - 'avprofiles', - Glob( 'presetChecker/*.cpp' ), - LIBS = [ - sAvTranscoder, - 'avutil', - 'avformat', - 'avcodec', - 'swscale', - resampleLibraryName, - ], - CXXFLAGS = [ - '-std=c++0x' - ], - ) - - avprofiles = env.Program( - 'avoptions', - Glob( 'optionChecker/*.cpp' ), - LIBS = [ - sAvTranscoder, - 'avutil', - 'avformat', - 'avcodec', - 'swscale', - resampleLibraryName, - ], - CXXFLAGS = [ - '-std=c++0x' - ], - ) - -env.Depends( avmeta, sAvTranscoder ) - -env.Alias( "install", env.Install(os.path.join( installPrefix, "bin" ), avmeta ) ) -env.Alias( "install", env.Install(os.path.join( installPrefix, "bin" ), avprocessor ) ) -env.Alias( "install", env.Install(os.path.join( installPrefix, "bin" ), avtransform ) ) +Import( 'jAvTranscoder' ) +Import( 'jAvTranscoderClass' ) +Import( 'pyAvTranscoder' ) +Import( 'resampleLibraryName' ) + +Export( 'env' ) +Export( 'envJava' ) +Export( 'envPy' ) +Export( 'mymode' ) +Export( 'AvTranscoder' ) +Export( 'sAvTranscoder' ) +Export( 'jAvTranscoder' ) +Export( 'jAvTranscoderClass' ) +Export( 'pyAvTranscoder' ) +Export( 'resampleLibraryName' ) + +SConscript('cpp/SConscript') +SConscript('java/SConscript') +SConscript('python/SConscript') diff --git a/app/cpp/SConscript b/app/cpp/SConscript new file mode 100644 index 00000000..3f33f476 --- /dev/null +++ b/app/cpp/SConscript @@ -0,0 +1,119 @@ +import os +import platform + +Import( 'env' ) +Import( 'AvTranscoder' ) +Import( 'sAvTranscoder' ) +Import( 'installPrefix' ) +Import( "resampleLibraryName" ) + +avinfo = env.Program( + 'avinfo', + Glob( 'avInfo/*.cpp' ), + LIBS = [ + sAvTranscoder, + 'avutil', + 'avformat', + 'avcodec', + 'swscale', + resampleLibraryName, + ] + ) + +avmeta = env.Program( + 'avmeta', + Glob( 'avMeta/*.cpp' ), + LIBS = [ + sAvTranscoder, + 'avutil', + 'avformat', + 'avcodec', + 'swscale', + resampleLibraryName, + ] + ) + +avtransform = env.Program( + 'av++', + Glob( 'avTranscoder/*.cpp' ), + LIBS = [ + sAvTranscoder, + 'avutil', + 'avformat', + 'avcodec', + 'swscale', + resampleLibraryName, + ] + ) + +avprocessor = env.Program( + 'avprocessor', + Glob( 'genericProcessor/*.cpp' ), + LIBS = [ + sAvTranscoder, + 'avutil', + 'avformat', + 'avcodec', + 'swscale', + resampleLibraryName, + ], + CXXFLAGS = [ + '-std=c++0x' + ], + ) + +if platform.system() != 'Windows': + avplayer = env.Program( + 'avplayer', + Glob( 'avplay/*.cpp' ), + LIBS = [ + sAvTranscoder, + 'avutil', + 'avformat', + 'avcodec', + 'swscale', + resampleLibraryName, + 'GL', + 'glut', + ] + ) + + avprofiles = env.Program( + 'avprofiles', + Glob( 'presetChecker/*.cpp' ), + LIBS = [ + sAvTranscoder, + 'avutil', + 'avformat', + 'avcodec', + 'swscale', + resampleLibraryName, + ], + CXXFLAGS = [ + '-std=c++0x' + ], + ) + + avprofiles = env.Program( + 'avoptions', + Glob( 'optionChecker/*.cpp' ), + LIBS = [ + sAvTranscoder, + 'avutil', + 'avformat', + 'avcodec', + 'swscale', + resampleLibraryName, + ], + CXXFLAGS = [ + '-std=c++0x' + ], + ) + +env.Depends( avmeta, sAvTranscoder ) +env.Depends( avprocessor, sAvTranscoder ) +env.Depends( avtransform, sAvTranscoder ) + +env.Alias( "install", env.Install(os.path.join( installPrefix, "bin" ), avmeta ) ) +env.Alias( "install", env.Install(os.path.join( installPrefix, "bin" ), avprocessor ) ) +env.Alias( "install", env.Install(os.path.join( installPrefix, "bin" ), avtransform ) ) diff --git a/app/avInfo/avInfo.cpp b/app/cpp/avInfo/avInfo.cpp similarity index 100% rename from app/avInfo/avInfo.cpp rename to app/cpp/avInfo/avInfo.cpp diff --git a/app/avInfo/avinfo.man b/app/cpp/avInfo/avinfo.man similarity index 100% rename from app/avInfo/avinfo.man rename to app/cpp/avInfo/avinfo.man diff --git a/app/avMeta/avMeta.cpp b/app/cpp/avMeta/avMeta.cpp similarity index 100% rename from app/avMeta/avMeta.cpp rename to app/cpp/avMeta/avMeta.cpp diff --git a/app/avMeta/avmeta.man b/app/cpp/avMeta/avmeta.man similarity index 100% rename from app/avMeta/avmeta.man rename to app/cpp/avMeta/avmeta.man diff --git a/app/avTranscoder/av++.man b/app/cpp/avTranscoder/av++.man similarity index 100% rename from app/avTranscoder/av++.man rename to app/cpp/avTranscoder/av++.man diff --git a/app/avTranscoder/avTranscoder.cpp b/app/cpp/avTranscoder/avTranscoder.cpp similarity index 100% rename from app/avTranscoder/avTranscoder.cpp rename to app/cpp/avTranscoder/avTranscoder.cpp diff --git a/app/avplay/AvReader.hpp b/app/cpp/avplay/AvReader.hpp similarity index 100% rename from app/avplay/AvReader.hpp rename to app/cpp/avplay/AvReader.hpp diff --git a/app/avplay/Reader.hpp b/app/cpp/avplay/Reader.hpp similarity index 100% rename from app/avplay/Reader.hpp rename to app/cpp/avplay/Reader.hpp diff --git a/app/avplay/Window.cpp b/app/cpp/avplay/Window.cpp similarity index 100% rename from app/avplay/Window.cpp rename to app/cpp/avplay/Window.cpp diff --git a/app/avplay/Window.hpp b/app/cpp/avplay/Window.hpp similarity index 100% rename from app/avplay/Window.hpp rename to app/cpp/avplay/Window.hpp diff --git a/app/avplay/main.cpp b/app/cpp/avplay/main.cpp similarity index 100% rename from app/avplay/main.cpp rename to app/cpp/avplay/main.cpp diff --git a/app/genericProcessor/avprocessor.man b/app/cpp/genericProcessor/avprocessor.man similarity index 100% rename from app/genericProcessor/avprocessor.man rename to app/cpp/genericProcessor/avprocessor.man diff --git a/app/genericProcessor/genericProcessor.cpp b/app/cpp/genericProcessor/genericProcessor.cpp similarity index 82% rename from app/genericProcessor/genericProcessor.cpp rename to app/cpp/genericProcessor/genericProcessor.cpp index 8dffc885..92d75068 100644 --- a/app/genericProcessor/genericProcessor.cpp +++ b/app/cpp/genericProcessor/genericProcessor.cpp @@ -1,4 +1,3 @@ - #include #include @@ -10,8 +9,12 @@ static const size_t dummyWidth = 1920; static const size_t dummyHeight = 1080; -static const std::string dummyPixelFormat = "yuv420p"; -static const std::string dummyVideoCodec = "mpeg2video"; +static const std::string dummyPixelFormat = "rgb24"; +static const std::string dummyVideoCodec = "png"; + +static const size_t dummyChannel = 1; +static const size_t dummySampleRate = 48000; +static const std::string dummySampleFormat = "s16"; static const std::string dummyAudioCodec = "pcm_s16le"; // bool verbose = false; @@ -69,6 +72,17 @@ void parseConfigFile( const std::string& configFilename, avtranscoder::Transcode inputVideoDesc.setImageParameters( imageDesc ); transcoder.add( filename, streamIndex, subStreamIndex, transcodeProfile, inputVideoDesc ); + + // audio +// avtranscoder::AudioFrameDesc audioDesc; +// audioDesc.setChannels( dummyChannel ); +// audioDesc.setSampleRate( dummySampleRate ); +// audioDesc.setSampleFormat( dummySampleFormat ); +// +// avtranscoder::AudioDesc inputAudioDesc( dummyAudioCodec ); +// inputAudioDesc.setAudioParameters( audioDesc ); +// +// transcoder.add( filename, streamIndex, subStreamIndex, transcodeProfile, inputAudioDesc ); } else { @@ -115,8 +129,7 @@ int main( int argc, char** argv ) // set verbose of all stream transcoder.setVerbose( verbose ); - transcoder.setProcessMethod( avtranscoder::eProcessMethodInfinity ); - //transcoder.setOutputFps( 12 ); + transcoder.setProcessMethod( avtranscoder::eProcessMethodLongest ); transcoder.init(); if( verbose ) diff --git a/app/optionChecker/optionChecker.cpp b/app/cpp/optionChecker/optionChecker.cpp similarity index 100% rename from app/optionChecker/optionChecker.cpp rename to app/cpp/optionChecker/optionChecker.cpp diff --git a/app/presetChecker/presetChecker.cpp b/app/cpp/presetChecker/presetChecker.cpp similarity index 100% rename from app/presetChecker/presetChecker.cpp rename to app/cpp/presetChecker/presetChecker.cpp diff --git a/app/jTranscoder/jTranscoder.java b/app/jTranscoder/jTranscoder.java deleted file mode 100644 index eb47b444..00000000 --- a/app/jTranscoder/jTranscoder.java +++ /dev/null @@ -1,11 +0,0 @@ - -import avTranscoder.Media; - - -public class jTranscoder { - public static void main( String[] args ){ - System.out.println( "hello grosse buse !"); - Media m = new Media( "/mnt/backup/PADdef/Livraison_20131003/001_From_OpenCube/Wrapped/OpenCube_Server_BWF/PADdef_1.2.3_3\'_Rocky_DNxHD185X.mxf" ); - System.out.println( "C'est fini biloute ...."); - } -} \ No newline at end of file diff --git a/app/java/SConscript b/app/java/SConscript new file mode 100644 index 00000000..395b87e6 --- /dev/null +++ b/app/java/SConscript @@ -0,0 +1,20 @@ +import os +import platform + +Import( 'env' ) +Import( 'envJava' ) +Import( 'mymode' ) +Import( 'jAvTranscoder' ) +Import( 'jAvTranscoderClass' ) +Import( 'installPrefix' ) + +if jAvTranscoderClass: + envJava.Append( + JAVACLASSPATH = '.:build/'+mymode+'/src/jAvTranscoderClass/' + ) + + #javtest_class = envJava.Java( + # target = 'javtestclass', + # source = Glob( 'jTranscoder/*.java') + #) + #env.Depends( javtest_class, jAvTranscoder ) diff --git a/app/java/jTranscoder/jTest.java b/app/java/jTranscoder/jTest.java new file mode 100644 index 00000000..099a5a85 --- /dev/null +++ b/app/java/jTranscoder/jTest.java @@ -0,0 +1,7 @@ +import org.AvTranscoder.InputFile; + +public class jTest { + public static void main( String[] args ){ + InputFile file = new InputFile( "Test.mxf" ); + } +} diff --git a/app/python/SConscript b/app/python/SConscript new file mode 100644 index 00000000..b45c25cd --- /dev/null +++ b/app/python/SConscript @@ -0,0 +1,6 @@ +import glob, re +import os + +Import( "env" ) +Import( "envPy" ) + diff --git a/src/SConscript b/src/SConscript index ef45f5ab..f58a8716 100644 --- a/src/SConscript +++ b/src/SConscript @@ -86,14 +86,23 @@ javaAvTranscoder_class = env.Java( target = 'jAvTranscoderClass', source = Glob( envJava['JARCHDIR'] ) ) - env.Depends( javaAvTranscoder_class, javaAvTranscoder ) +if not javaAvTranscoder_class: + print "Java binding: can't generate JAR file while first build, because java classes are not already generated. Relaunch the build to generate it." +else: + javaAvTranscoder_jar = env.Jar( + # Add version to the JAR name + target = os.path.join( 'jAvTranscoderJar', 'jAvTranscoder.' + avTranscoderVersion), + source = javaAvTranscoder_class + ) + env.Depends( javaAvTranscoder_jar, javaAvTranscoder_class ) + env.Alias( "install", env.Install( os.path.join( installPrefix, "jar" ), javaAvTranscoder_jar ) ) + Export( { 'sAvTranscoder' : staticAvTranscoder } ) Export( { 'AvTranscoder' : sharedAvTranscoder } ) Export( { 'jAvTranscoder' : javaAvTranscoder } ) Export( { 'pyAvTranscoder' : pythonAvTranscoder } ) - Export( { 'jAvTranscoderClass' : javaAvTranscoder_class } ) env.Alias( "install", env.InstallVersionedLib( os.path.join( installPrefix, "lib" ), sharedAvTranscoder) ) @@ -111,15 +120,3 @@ env.Alias( "install", env.Install(os.path.join( installPrefix, "include/AvTransc env.Alias( "install", env.Install(os.path.join( installPrefix, "include/AvTranscoder/Metadatas" ), Glob( 'AvTranscoder/Metadatas/MediaMetadatasStructures.hpp' ) ) ) env.Alias( "install", env.Install(os.path.join( installPrefix, "include/AvTranscoder/Metadatas" ), Glob( 'AvTranscoder/Metadatas/Print.hpp' ) ) ) env.Alias( "install", env.Install(os.path.join( installPrefix, "include/AvTranscoder/Transcoder" ), Glob( 'AvTranscoder/Transcoder/*.hpp' ) ) ) - -if not javaAvTranscoder_class: - print "Java binding: can't generate JAR file while first build, because java classes are not already generated. Relaunch the build to generate it." -else: - javaAvTranscoder_jar = env.Jar( - # Add version to the JAR name - target = 'jAvTranscoder.' + avTranscoderVersion, - source = javaAvTranscoder_class - ) - env.Depends( javaAvTranscoder_jar, javaAvTranscoder_class ) - Export( { 'jAvTranscoderJar' : javaAvTranscoder_jar } ) - env.Alias( "install", env.Install( os.path.join( installPrefix, "jar" ), javaAvTranscoder_jar ) )