1SubDir HAIKU_TOP src add-ons media plugins ffmpeg ; 2 3SetSubDirSupportedPlatformsBeOSCompatible ; 4 5UsePrivateHeaders media shared ; 6UsePrivateHeaders [ FDirName media experimental ] ; 7 8SubDirC++Flags -D__STDC_CONSTANT_MACROS -Wno-deprecated-declarations ; 9 10local sources = 11 AVCodecDecoder.cpp 12 AVCodecEncoder.cpp 13 AVFormatReader.cpp 14 AVFormatWriter.cpp 15 CodecTable.cpp 16 DemuxerTable.cpp 17 EncoderTable.cpp 18 FFmpegPlugin.cpp 19 MuxerTable.cpp 20 CpuCapabilities.cpp 21 22 gfx_conv_c.cpp 23 gfx_conv_c_lookup.cpp 24 gfx_util.cpp 25 ; 26 27if $(TARGET_ARCH) != x86_64 { 28 sources += 29 gfx_conv_mmx.cpp 30 yuvrgb_sse.nasm 31 yuvrgb_sse2.nasm 32 yuvrgb_ssse3.nasm 33 ; 34} 35 36local architectureObject ; 37for architectureObject in [ MultiArchSubDirSetup ] { 38 on $(architectureObject) { 39 UseBuildFeatureHeaders ffmpeg ; 40 Includes [ FGristFiles $(sources) ] 41 : [ BuildFeatureAttribute ffmpeg : headers ] ; 42 43 local ffmpegHeaders = [ BuildFeatureAttribute ffmpeg : headers : path ] ; 44 UseHeaders $(ffmpegHeaders) ; 45 UseHeaders [ FDirName $(ffmpegHeaders) libavcodec ] ; 46 UseHeaders [ FDirName $(ffmpegHeaders) libavfilter ] ; 47 UseHeaders [ FDirName $(ffmpegHeaders) libavformat ] ; 48 UseHeaders [ FDirName $(ffmpegHeaders) libavutil ] ; 49 UseHeaders [ FDirName $(ffmpegHeaders) libswscale ] ; 50 UseHeaders [ FDirName $(ffmpegHeaders) libswresample ] ; 51 52 Addon [ MultiArchDefaultGristFiles ffmpeg ] : 53 $(sources) 54 : 55 56 # FFmpeg libraries (from FFmpeg optional package): 57 [ BuildFeatureAttribute ffmpeg : libraries ] 58 59 be 60 media 61 [ TargetLibsupc++ ] 62 ; 63 } 64} 65 66 67