zoukankan      html  css  js  c++  java
  • androidvlc 精简

    首先精简ffmpeg rules.mak

    改为:

    # FFmpeg
    
    HASH=HEAD
    
    #FFMPEG_SNAPURL := http://git.videolan.org/?p=ffmpeg.git;a=snapshot;h=$(HASH);sf=tgz
    FFMPEG_SNAPURL := http://git.libav.org/?p=libav.git;a=snapshot;h=$(HASH);sf=tgz
    
    FFMPEGCONF = \
    	--cc="$(CC)" \
    	--disable-doc \
    	--enable-libgsm \
    	--enable-libopenjpeg \
    	--disable-debug \
    	--disable-avdevice \
    	--disable-devices \
    	--disable-avfilter \
    	--disable-filters \
    	--disable-bsfs \
    	--disable-bzlib
    
    # Those tools are named differently in FFmpeg and Libav
    #	--disable-ffserver \
    #	--disable-ffplay \
    #	--disable-ffprobe
    DEPS_ffmpeg = zlib gsm openjpeg
    
    # Optional dependencies
    ifdef BUILD_ENCODERS
    FFMPEGCONF += --enable-libmp3lame --enable-libvpx --disable-decoder=libvpx --disable-decoder=libvpx_vp8 --disable-decoder=libvpx_vp9
    DEPS_ffmpeg += lame $(DEPS_lame) vpx $(DEPS_vpx)
    else
    FFMPEGCONF += --disable-encoders --enable-encoder=png	
    FFMPEGCONF += --disable-decoders --enable-decoder=h264 
    FFMPEGCONF += --disable-muxers
    FFMPEGCONF += --disable-demuxers --enable-demuxer=rtp --enable-demuxer=rtsp
    FFMPEGCONF += --disable-protocols --enable-protocol=rtp --enable-protocol=rtsp
    FFMPEGCONF += --disable-parsers --enable-parser=h264 --enable-parser=mpeg4video 
    endif
    
    # Small size
    ifdef ENABLE_SMALL
    FFMPEGCONF += --enable-small
    ifeq ($(ARCH),arm)
    ifdef HAVE_ARMV7A
    FFMPEGCONF += --enable-thumb
    endif
    endif
    endif
    
    ifdef HAVE_CROSS_COMPILE
    FFMPEGCONF += --enable-cross-compile
    ifndef HAVE_IOS
    FFMPEGCONF += --cross-prefix=$(HOST)-
    endif
    endif
    
    # ARM stuff
    ifeq ($(ARCH),arm)
    FFMPEGCONF += --arch=arm
    ifdef HAVE_NEON
    FFMPEGCONF += --enable-neon
    endif
    ifdef HAVE_ARMV7A
    FFMPEGCONF += --cpu=cortex-a8
    endif
    endif
    
    # MIPS stuff
    ifeq ($(ARCH),mipsel)
    FFMPEGCONF += --arch=mips
    endif
    
    # x86 stuff
    ifeq ($(ARCH),i386)
    ifndef HAVE_DARWIN_OS
    FFMPEGCONF += --arch=x86
    endif
    endif
    
    # Darwin
    ifdef HAVE_DARWIN_OS
    FFMPEGCONF += --arch=$(ARCH) --target-os=darwin
    ifneq ($(findstring $(ARCH),i386 x86_64),)
    FFMPEGCONF += --enable-memalign-hack
    endif
    ifeq ($(ARCH),x86_64)
    FFMPEGCONF += --cpu=core2
    endif
    endif
    ifdef HAVE_IOS
    ifeq ($(ARCH),arm)
    FFMPEGCONF += --enable-pic --as="$(AS)"
    endif
    endif
    
    # Linux
    ifdef HAVE_LINUX
    FFMPEGCONF += --target-os=linux --enable-pic
    
    endif
    
    # Windows
    ifdef HAVE_WIN32
    ifndef HAVE_MINGW_W64
    DEPS_ffmpeg += directx
    endif
    FFMPEGCONF += --target-os=mingw32 --enable-memalign-hack
    FFMPEGCONF += --enable-w32threads --enable-dxva2 \
    	--disable-decoder=dca
    
    ifdef HAVE_WIN64
    FFMPEGCONF += --cpu=athlon64 --arch=x86_64
    else # !WIN64
    FFMPEGCONF+= --cpu=i686 --arch=x86
    endif
    
    else # !Windows
    FFMPEGCONF += --enable-pthreads
    endif
    
    # Build
    PKGS += ffmpeg
    ifeq ($(call need_pkg,"libavcodec >= 52.25.0 libavformat >= 52.30.0 libswscale"),)
    PKGS_FOUND += ffmpeg
    endif
    
    $(TARBALLS)/ffmpeg-$(HASH).tar.gz:
    	$(call download,$(FFMPEG_SNAPURL))
    
    .sum-ffmpeg: $(TARBALLS)/ffmpeg-$(HASH).tar.gz
    	$(warning Not implemented.)
    	touch $@
    
    ffmpeg: ffmpeg-$(HASH).tar.gz .sum-ffmpeg
    	rm -Rf $@ $@-$(HASH)
    	mkdir -p $@-$(HASH)
    	$(ZCAT) "$<" | (cd $@-$(HASH) && tar xv --strip-components=1)
    	$(MOVE)
    
    .ffmpeg: ffmpeg
    	cd $< && $(HOSTVARS) ./configure \
    		--extra-ldflags="$(LDFLAGS)" $(FFMPEGCONF) \
    		--prefix="$(PREFIX)" --enable-static --disable-shared
    	cd $< && $(MAKE) install-libs install-headers
    	touch $@
  • 相关阅读:
    P1311 选择客栈 模拟 ( + st表)
    P2656 采蘑菇 tarjan + spfa
    送别
    10.16互测题 贪心+数论
    poj 2823 Sliding Window 单调队列
    P1036 选数 dfs
    P3370 【模板】字符串哈希
    A Tear or A Smile?
    KMP 算法
    jQuery 中 attr 和 prop 的区别
  • 原文地址:https://www.cnblogs.com/dyllove98/p/3125153.html
Copyright © 2011-2022 走看看