android-vlc精简

 

android-vlc 精简

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

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

首先精简ffmpeg rules.mak

改为:

[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 $@  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值