android-vlc精简

2020年07月12日 阅读数:6
这篇文章主要向大家介绍android-vlc精简,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。
 

android-vlc 精简

转载自:原文连接 http://blog.csdn.net/vertx/article/details/9047725

分类: 多媒体   561人阅读  评论(3)  收藏  举报

首先精简ffmpeg rules.maklinux

改成:android

[plain]  view plain copy
  1. # FFmpeg  
  2.   
  3. HASH=HEAD  
  4.   
  5. #FFMPEG_SNAPURL := http://git.videolan.org/?p=ffmpeg.git;a=snapshot;h=$(HASH);sf=tgz  
  6. FFMPEG_SNAPURL := http://git.libav.org/?p=libav.git;a=snapshot;h=$(HASH);sf=tgz  
  7.   
  8. FFMPEGCONF = \  
  9.     --cc="$(CC)" \  
  10.     --disable-doc \  
  11.     --enable-libgsm \  
  12.     --enable-libopenjpeg \  
  13.     --disable-debug \  
  14.     --disable-avdevice \  
  15.     --disable-devices \  
  16.     --disable-avfilter \  
  17.     --disable-filters \  
  18.     --disable-bsfs \  
  19.     --disable-bzlib  
  20.   
  21. # Those tools are named differently in FFmpeg and Libav  
  22. #   --disable-ffserver \  
  23. #   --disable-ffplay \  
  24. #   --disable-ffprobe  
  25. DEPS_ffmpeg = zlib gsm openjpeg  
  26.   
  27. # Optional dependencies  
  28. ifdef BUILD_ENCODERS  
  29. FFMPEGCONF += --enable-libmp3lame --enable-libvpx --disable-decoder=libvpx --disable-decoder=libvpx_vp8 --disable-decoder=libvpx_vp9  
  30. DEPS_ffmpeg += lame $(DEPS_lame) vpx $(DEPS_vpx)  
  31. else  
  32. FFMPEGCONF += --disable-encoders --enable-encoder=png     
  33. FFMPEGCONF += --disable-decoders --enable-decoder=h264   
  34. FFMPEGCONF += --disable-muxers  
  35. FFMPEGCONF += --disable-demuxers --enable-demuxer=rtp --enable-demuxer=rtsp  
  36. FFMPEGCONF += --disable-protocols --enable-protocol=rtp --enable-protocol=rtsp  
  37. FFMPEGCONF += --disable-parsers --enable-parser=h264 --enable-parser=mpeg4video   
  38. endif  
  39.   
  40. # Small size  
  41. ifdef ENABLE_SMALL  
  42. FFMPEGCONF += --enable-small  
  43. ifeq ($(ARCH),arm)  
  44. ifdef HAVE_ARMV7A  
  45. FFMPEGCONF += --enable-thumb  
  46. endif  
  47. endif  
  48. endif  
  49.   
  50. ifdef HAVE_CROSS_COMPILE  
  51. FFMPEGCONF += --enable-cross-compile  
  52. ifndef HAVE_IOS  
  53. FFMPEGCONF += --cross-prefix=$(HOST)-  
  54. endif  
  55. endif  
  56.   
  57. # ARM stuff  
  58. ifeq ($(ARCH),arm)  
  59. FFMPEGCONF += --arch=arm  
  60. ifdef HAVE_NEON  
  61. FFMPEGCONF += --enable-neon  
  62. endif  
  63. ifdef HAVE_ARMV7A  
  64. FFMPEGCONF += --cpu=cortex-a8  
  65. endif  
  66. endif  
  67.   
  68. # MIPS stuff  
  69. ifeq ($(ARCH),mipsel)  
  70. FFMPEGCONF += --arch=mips  
  71. endif  
  72.   
  73. # x86 stuff  
  74. ifeq ($(ARCH),i386)  
  75. ifndef HAVE_DARWIN_OS  
  76. FFMPEGCONF += --arch=x86  
  77. endif  
  78. endif  
  79.   
  80. # Darwin  
  81. ifdef HAVE_DARWIN_OS  
  82. FFMPEGCONF += --arch=$(ARCH) --target-os=darwin  
  83. ifneq ($(findstring $(ARCH),i386 x86_64),)  
  84. FFMPEGCONF += --enable-memalign-hack  
  85. endif  
  86. ifeq ($(ARCH),x86_64)  
  87. FFMPEGCONF += --cpu=core2  
  88. endif  
  89. endif  
  90. ifdef HAVE_IOS  
  91. ifeq ($(ARCH),arm)  
  92. FFMPEGCONF += --enable-pic --as="$(AS)"  
  93. endif  
  94. endif  
  95.   
  96. # Linux  
  97. ifdef HAVE_LINUX  
  98. FFMPEGCONF += --target-os=linux --enable-pic  
  99.   
  100. endif  
  101.   
  102. # Windows  
  103. ifdef HAVE_WIN32  
  104. ifndef HAVE_MINGW_W64  
  105. DEPS_ffmpeg += directx  
  106. endif  
  107. FFMPEGCONF += --target-os=mingw32 --enable-memalign-hack  
  108. FFMPEGCONF += --enable-w32threads --enable-dxva2 \  
  109.     --disable-decoder=dca  
  110.   
  111. ifdef HAVE_WIN64  
  112. FFMPEGCONF += --cpu=athlon64 --arch=x86_64  
  113. else # !WIN64  
  114. FFMPEGCONF+= --cpu=i686 --arch=x86  
  115. endif  
  116.   
  117. else # !Windows  
  118. FFMPEGCONF += --enable-pthreads  
  119. endif  
  120.   
  121. # Build  
  122. PKGS += ffmpeg  
  123. ifeq ($(call need_pkg,"libavcodec >= 52.25.0 libavformat >= 52.30.0 libswscale"),)  
  124. PKGS_FOUND += ffmpeg  
  125. endif  
  126.   
  127. $(TARBALLS)/ffmpeg-$(HASH).tar.gz:  
  128.     $(call download,$(FFMPEG_SNAPURL))  
  129.   
  130. .sum-ffmpeg: $(TARBALLS)/ffmpeg-$(HASH).tar.gz  
  131.     $(warning Not implemented.)  
  132.     touch $@  
  133.   
  134. ffmpeg: ffmpeg-$(HASH).tar.gz .sum-ffmpeg  
  135.     rm -Rf $@ $@-$(HASH)  
  136.     mkdir -p $@-$(HASH)  
  137.     $(ZCAT) "$<" | (cd $@-$(HASH) && tar xv --strip-components=1)  
  138.     $(MOVE)  
  139.   
  140. .ffmpeg: ffmpeg  
  141.     cd $< && $(HOSTVARS) ./configure \  
  142.         --extra-ldflags="$(LDFLAGS)" $(FFMPEGCONF) \  
  143.         --prefix="$(PREFIX)" --enable-static --disable-shared  
  144.     cd $< && $(MAKE) install-libs install-headers  
  145.     touch $@