You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

641 lines
14 KiB

  1. #
  2. # Copyright (C) 2006-2016 OpenWrt.org
  3. #
  4. # This is free software, licensed under the GNU General Public License v2.
  5. # See /LICENSE for more information.
  6. #
  7. include $(TOPDIR)/rules.mk
  8. PKG_NAME:=ffmpeg
  9. PKG_VERSION:=2.8.7
  10. PKG_RELEASE:=3
  11. PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
  12. PKG_SOURCE_URL:=http://ffmpeg.org/releases/
  13. PKG_MD5SUM:=7e5b1c98eedfc3a364fa8c4095deeae5
  14. PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>
  15. PKG_LICENSE:=LGPL-2.1+ GPL-2+ LGPL-3
  16. PKG_LICENSE_FILES:=COPYING.GPLv2 COPYING.GPLv3 COPYING.LGPLv2.1 COPYING.LGPLv3
  17. FFMPEG_CUSTOM_ENCODERS:= \
  18. ac3 \
  19. jpegls \
  20. mpeg1video \
  21. mpeg2video \
  22. mpeg4 \
  23. pcm_s16be \
  24. pcm_s16le \
  25. png \
  26. vorbis \
  27. zlib \
  28. FFMPEG_CUSTOM_DECODERS:= \
  29. aac \
  30. ac3 \
  31. alac \
  32. amrnb \
  33. amrwb \
  34. ape \
  35. atrac3 \
  36. flac \
  37. gif \
  38. h264 \
  39. jpegls \
  40. mp2 \
  41. mp3 \
  42. mpeg1video \
  43. mpeg2video \
  44. mpeg4 \
  45. mpegvideo \
  46. mpc7 \
  47. mpc8 \
  48. pcm_s16be \
  49. pcm_s16le \
  50. png \
  51. vorbis \
  52. wavpack \
  53. wmav1 \
  54. wmav2 \
  55. zlib \
  56. FFMPEG_CUSTOM_MUXERS:= \
  57. ac3 \
  58. ffm \
  59. h264 \
  60. mp3 \
  61. mp4 \
  62. mpeg1video \
  63. mpeg2video \
  64. mpegts \
  65. ogg \
  66. rtp \
  67. FFMPEG_CUSTOM_DEMUXERS:= \
  68. aac \
  69. ac3 \
  70. amr \
  71. ape \
  72. avi \
  73. flac \
  74. ffm \
  75. h264 \
  76. matroska \
  77. mov \
  78. mp3 \
  79. mpegps \
  80. mpegts \
  81. mpegvideo \
  82. mpc \
  83. mpc8 \
  84. ogg \
  85. rm \
  86. rtsp \
  87. rtp \
  88. sdp \
  89. v4l2 \
  90. wav \
  91. wv \
  92. FFMPEG_CUSTOM_PARSERS:= \
  93. aac \
  94. flac \
  95. ac3 \
  96. h264 \
  97. mpegaudio \
  98. mpeg4video \
  99. mpegvideo \
  100. FFMPEG_CUSTOM_PROTOCOLS:= \
  101. file http icecast pipe rtp tcp udp
  102. FFMPEG_MINI_DECODERS:= \
  103. aac \
  104. ac3 \
  105. flac \
  106. h264 \
  107. jpegls \
  108. mp3 \
  109. mpeg1video \
  110. mpeg2video \
  111. mpeg4 \
  112. mpegvideo \
  113. png \
  114. wmav1 \
  115. wmav2 \
  116. FFMPEG_MINI_DEMUXERS:= \
  117. aac \
  118. ac3 \
  119. avi \
  120. flac \
  121. h264 \
  122. matroska \
  123. mov \
  124. mp3 \
  125. mpegts \
  126. mpegvideo \
  127. FFMPEG_MINI_PARSERS:= \
  128. ac3 \
  129. flac \
  130. h264 \
  131. mpeg4video \
  132. mpegaudio \
  133. FFMPEG_MINI_PROTOCOLS:= \
  134. file \
  135. FFMPEG_AUDIO_DECODERS:= \
  136. aac \
  137. aac_latm \
  138. ac3 \
  139. adpcm_* \
  140. alac \
  141. amrnb \
  142. amrwb \
  143. ape \
  144. atrac3 \
  145. flac \
  146. mp2 \
  147. mp3* \
  148. mpc7 \
  149. mpc8 \
  150. opus \
  151. pcm_* \
  152. vorbis \
  153. wavpack \
  154. wmav1 \
  155. wmav2 \
  156. wmalossless \
  157. wmapro \
  158. zlib \
  159. FFMPEG_AUDIO_DEMUXERS:= \
  160. aac \
  161. ac3 \
  162. aiff \
  163. amr \
  164. ape \
  165. avi \
  166. flac \
  167. ffm \
  168. matroska \
  169. mp3 \
  170. mov \
  171. mpc \
  172. mpc8 \
  173. mpegts \
  174. ogg \
  175. rm \
  176. rtsp \
  177. rtp \
  178. sdp \
  179. wav \
  180. wv \
  181. FFMPEG_AUDIO_PARSERS:= \
  182. aac \
  183. aac_latm \
  184. ac3 \
  185. flac \
  186. mpegaudio \
  187. opus \
  188. FFMPEG_AUDIO_PROTOCOLS:= \
  189. file http icecast rtp tcp udp
  190. PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
  191. PKG_CONFIG_DEPENDS:= \
  192. $(patsubst %,CONFIG_FFMPEG_CUSTOM_ENCODER_%,$(FFMPEG_CUSTOM_ENCODERS)) \
  193. $(patsubst %,CONFIG_FFMPEG_CUSTOM_DECODER_%,$(FFMPEG_CUSTOM_DECODERS)) \
  194. $(patsubst %,CONFIG_FFMPEG_CUSTOM_MUXER_%,$(FFMPEG_CUSTOM_DEMUXERS)) \
  195. $(patsubst %,CONFIG_FFMPEG_CUSTOM_DEMUXER_%,$(FFMPEG_CUSTOM_DEMUXERS)) \
  196. $(patsubst %,CONFIG_FFMPEG_CUSTOM_PARSER_%,$(FFMPEG_CUSTOM_PARSERS)) \
  197. $(patsubst %,CONFIG_FFMPEG_CUSTOM_PROTOCOL_%,$(FFMPEG_CUSTOM_PROTOCOLS))
  198. include $(INCLUDE_DIR)/package.mk
  199. define Package/ffmpeg/Default
  200. TITLE:=FFmpeg
  201. URL:=http://ffmpeg.mplayerhq.hu/
  202. endef
  203. define Package/ffmpeg/Default/description
  204. FFmpeg is a a software package that can record, convert and stream digital
  205. audio and video in numerous formats.
  206. endef
  207. define Package/ffmpeg
  208. $(call Package/ffmpeg/Default)
  209. SECTION:=multimedia
  210. CATEGORY:=Multimedia
  211. TITLE+= program
  212. DEPENDS+= +libpthread +libffmpeg-full
  213. VARIANT:=full
  214. endef
  215. define Package/ffmpeg/description
  216. $(call Package/ffmpeg/Default/description)
  217. .
  218. This package contains the FFmpeg command line tool.
  219. endef
  220. define Package/ffprobe
  221. $(call Package/ffmpeg/Default)
  222. SECTION:=multimedia
  223. CATEGORY:=Multimedia
  224. TITLE+= CLI media identifier
  225. DEPENDS+= +libffmpeg-full
  226. VARIANT:=full
  227. endef
  228. define Package/ffprobe/description
  229. $(call Package/ffmpeg/Default/description)
  230. .
  231. This package contains the FFprobe command line tool.
  232. endef
  233. define Package/ffserver
  234. $(call Package/ffserver/Default)
  235. SECTION:=multimedia
  236. CATEGORY:=Multimedia
  237. TITLE+= streaming server
  238. DEPENDS+= +libpthread +libffmpeg-full
  239. VARIANT:=full
  240. endef
  241. define Package/ffserver/description
  242. $(call Package/ffmpeg/Default/description)
  243. .
  244. This package contains the FFmpeg streaming server.
  245. endef
  246. define Package/libffmpeg/Default
  247. $(call Package/ffmpeg/Default)
  248. SECTION:=libs
  249. CATEGORY:=Libraries
  250. TITLE+= libraries
  251. DEPENDS+= @BUILD_PATENTED +libpthread +zlib +libbz2
  252. PROVIDES:= libffmpeg
  253. endef
  254. define Package/libffmpeg-custom
  255. $(call Package/libffmpeg/Default)
  256. TITLE+= (custom)
  257. DEPENDS+= +FFMPEG_CUSTOM_SELECT_libopus:libopus +FFMPEG_CUSTOM_SELECT_speex:libspeex \
  258. +PACKAGE_libx264:libx264 +PACKAGE_lame-lib:lame-lib
  259. VARIANT:=custom
  260. MENU:=1
  261. endef
  262. define Package/libffmpeg-custom/config
  263. source "$(SOURCE)/Config.in"
  264. endef
  265. define Package/libffmpeg-custom/description
  266. $(call Package/ffmpeg/Default/description)
  267. .
  268. This package contains customized FFmpeg shared libraries.
  269. endef
  270. define Package/libffmpeg-audio-dec
  271. $(call Package/libffmpeg/Default)
  272. TITLE+= (audio)
  273. DEPENDS+= +libspeex +libopus
  274. VARIANT:=audio-dec
  275. endef
  276. define Package/libffmpeg-audio-dec/description
  277. $(call Package/ffmpeg/Default/description)
  278. .
  279. This package contains FFmpeg shared libraries for audio decoding
  280. endef
  281. define Package/libffmpeg-full
  282. $(call Package/libffmpeg/Default)
  283. TITLE+= (full)
  284. DEPENDS+= +alsa-lib +PACKAGE_libx264:libx264 +PACKAGE_lame-lib:lame-lib +libopus +libspeex
  285. VARIANT:=full
  286. endef
  287. define Package/libffmpeg-full/description
  288. $(call Package/ffmpeg/Default/description)
  289. .
  290. This package contains full-featured FFmpeg shared libraries.
  291. endef
  292. define Package/libffmpeg-mini
  293. $(call Package/libffmpeg/Default)
  294. TITLE+= (mini)
  295. VARIANT:=mini
  296. endef
  297. define Package/libffmpeg-mini/description
  298. $(call Package/ffmpeg/Default/description)
  299. .
  300. This package contains minimal-featured FFmpeg shared libraries.
  301. endef
  302. FFMPEG_CONFIGURE:= \
  303. CFLAGS="$(TARGET_CFLAGS) $(TARGET_CPPFLAGS) $(FPIC)" \
  304. LDFLAGS="$(TARGET_LDFLAGS)" \
  305. ./configure \
  306. --enable-cross-compile \
  307. --cross-prefix="$(TARGET_CROSS)" \
  308. --arch="$(ARCH)" \
  309. --target-os=linux \
  310. --prefix="/usr" \
  311. --pkg-config="pkg-config" \
  312. --enable-shared \
  313. --enable-static \
  314. --enable-small \
  315. --enable-pthreads \
  316. --enable-zlib \
  317. --disable-doc \
  318. --disable-debug \
  319. \
  320. --enable-gpl \
  321. --enable-version3 \
  322. \
  323. --disable-dxva2 \
  324. --disable-lzma \
  325. --disable-vaapi \
  326. --disable-vda \
  327. --disable-vdpau \
  328. --disable-outdevs
  329. ifeq ($(CONFIG_SOFT_FLOAT),y)
  330. FFMPEG_CONFIGURE += \
  331. --disable-altivec \
  332. --disable-amd3dnow \
  333. --disable-amd3dnowext \
  334. --disable-mmx \
  335. --disable-mmxext \
  336. --disable-sse \
  337. --disable-sse2 \
  338. --disable-sse3 \
  339. --disable-ssse3 \
  340. --disable-sse4 \
  341. --disable-sse42 \
  342. --disable-avx \
  343. --disable-xop \
  344. --disable-fma3 \
  345. --disable-fma4 \
  346. --disable-avx2 \
  347. --disable-inline-asm \
  348. --disable-mips32r2 \
  349. --disable-mipsdspr1 \
  350. --disable-mipsdspr2 \
  351. --disable-mipsfpu \
  352. --disable-runtime-cpudetect
  353. else ifneq ($(findstring arm,$(CONFIG_ARCH)),)
  354. FFMPEG_CONFIGURE += \
  355. --disable-runtime-cpudetect
  356. endif
  357. ifneq ($(CONFIG_YASM),y)
  358. FFMPEG_CONFIGURE += \
  359. --disable-yasm
  360. endif
  361. #selectibly disable optimizations according to arch/cpu type
  362. ifneq ($(findstring arm,$(CONFIG_ARCH)),)
  363. ifeq (,$(findstring vfp,$(CONFIG_TARGET_OPTIMIZATION)))
  364. FFMPEG_CONFIGURE+= \
  365. --disable-vfp
  366. endif
  367. ifeq (,$(findstring neon,$(CONFIG_TARGET_OPTIMIZATION)))
  368. FFMPEG_CONFIGURE+= \
  369. --disable-neon
  370. endif
  371. endif
  372. ifeq ($(BUILD_VARIANT),full)
  373. FFMPEG_CONFIGURE+= \
  374. --enable-libopus --enable-decoder=libopus \
  375. --enable-libspeex --enable-decoder=libspeex \
  376. $(if $(CONFIG_PACKAGE_libx264),--enable-libx264) \
  377. $(if $(CONFIG_PACKAGE_lame-lib),--enable-libmp3lame)
  378. endif
  379. ifeq ($(BUILD_VARIANT),custom)
  380. FFMPEG_ENABLE= \
  381. $(foreach c, $(2), \
  382. $(if $($(3)_$(c)),--enable-$(1)="$(c)") \
  383. )
  384. FFMPEG_CONFIGURE+= \
  385. --disable-programs \
  386. --disable-avfilter \
  387. --disable-postproc \
  388. --disable-swresample \
  389. --disable-swscale \
  390. --disable-everything \
  391. $(call FFMPEG_ENABLE,encoder,$(FFMPEG_CUSTOM_ENCODERS),CONFIG_FFMPEG_CUSTOM_ENCODER) \
  392. $(call FFMPEG_ENABLE,decoder,$(FFMPEG_CUSTOM_DECODERS),CONFIG_FFMPEG_CUSTOM_DECODER) \
  393. $(call FFMPEG_ENABLE,muxer,$(FFMPEG_CUSTOM_MUXERS),CONFIG_FFMPEG_CUSTOM_MUXER) \
  394. $(call FFMPEG_ENABLE,demuxer,$(FFMPEG_CUSTOM_DEMUXERS),CONFIG_FFMPEG_CUSTOM_DEMUXER) \
  395. $(call FFMPEG_ENABLE,parser,$(FFMPEG_CUSTOM_PARSERS),CONFIG_FFMPEG_CUSTOM_PARSER) \
  396. $(call FFMPEG_ENABLE,protocol,$(FFMPEG_CUSTOM_PROTOCOLS),CONFIG_FFMPEG_CUSTOM_PROTOCOL) \
  397. ifeq ($(CONFIG_FFMPEG_CUSTOM_SELECT_adpcm),y)
  398. FFMPEG_CONFIGURE+= \
  399. --enable-decoder=adpcm_ima_wav \
  400. --enable-decoder=adpcm_ima_qt \
  401. --enable-decoder=adpcm_ms \
  402. endif
  403. ifeq ($(CONFIG_FFMPEG_CUSTOM_SELECT_libopus),y)
  404. FFMPEG_CONFIGURE+= \
  405. --enable-libopus --enable-decoder=libopus
  406. endif
  407. ifeq ($(CONFIG_FFMPEG_CUSTOM_SELECT_speex),y)
  408. FFMPEG_CONFIGURE+= \
  409. --enable-libspeex --enable-decoder=libspeex
  410. endif
  411. ifeq ($(CONFIG_FFMPEG_CUSTOM_SELECT_x264),y)
  412. FFMPEG_CONFIGURE+= \
  413. --enable-libx264
  414. endif
  415. ifeq ($(CONFIG_FFMPEG_CUSTOM_SELECT_mp3lame),y)
  416. FFMPEG_CONFIGURE+= \
  417. --enable-libmp3lame
  418. endif
  419. endif
  420. ifeq ($(BUILD_VARIANT),audio-dec)
  421. FFMPEG_ENABLE= \
  422. $(foreach c, $(2), \
  423. --enable-$(1)="$(c)" \
  424. )
  425. FFMPEG_CONFIGURE+= \
  426. --disable-programs \
  427. --disable-avfilter \
  428. --disable-postproc \
  429. --disable-swresample \
  430. --disable-swscale \
  431. --disable-everything \
  432. $(call FFMPEG_ENABLE,decoder,$(FFMPEG_AUDIO_DECODERS)) \
  433. $(call FFMPEG_ENABLE,demuxer,$(FFMPEG_AUDIO_DEMUXERS)) \
  434. $(call FFMPEG_ENABLE,parser,$(FFMPEG_AUDIO_PARSERS)) \
  435. $(call FFMPEG_ENABLE,protocol,$(FFMPEG_AUDIO_PROTOCOLS)) \
  436. --enable-libspeex --enable-decoder=libspeex \
  437. --disable-decoder=pcm_bluray,pcm_dvd \
  438. endif
  439. ifeq ($(BUILD_VARIANT),mini)
  440. FFMPEG_ENABLE= \
  441. $(foreach c, $(2), \
  442. --enable-$(1)="$(c)" \
  443. )
  444. FFMPEG_CONFIGURE+= \
  445. --disable-programs \
  446. --disable-avdevice \
  447. --disable-avfilter \
  448. --disable-postproc \
  449. --disable-swresample \
  450. --disable-swscale \
  451. --disable-everything \
  452. $(call FFMPEG_ENABLE,decoder,$(FFMPEG_MINI_DECODERS)) \
  453. $(call FFMPEG_ENABLE,demuxer,$(FFMPEG_MINI_DEMUXERS)) \
  454. $(call FFMPEG_ENABLE,parser,$(FFMPEG_MINI_PARSERS)) \
  455. $(call FFMPEG_ENABLE,protocol,$(FFMPEG_MINI_PROTOCOLS)) \
  456. endif
  457. ifneq ($(CONFIG_TARGET_x86),)
  458. TARGET_CFLAGS += -fomit-frame-pointer
  459. endif
  460. define Build/Configure
  461. ( cd $(PKG_BUILD_DIR); $(FFMPEG_CONFIGURE) )
  462. endef
  463. define Build/Compile
  464. $(MAKE) -C $(PKG_BUILD_DIR) \
  465. DESTDIR="$(PKG_INSTALL_DIR)" \
  466. all install
  467. endef
  468. define Build/InstallDev/custom
  469. $(INSTALL_DIR) $(1)/usr/include
  470. $(CP) $(PKG_INSTALL_DIR)/usr/include/lib{avcodec,avdevice,avformat,avutil} $(1)/usr/include/
  471. $(INSTALL_DIR) $(1)/usr/lib
  472. $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{avcodec,avdevice,avformat,avutil}.{a,so*} $(1)/usr/lib/
  473. $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
  474. $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/lib{avcodec,avdevice,avformat,avutil}.pc $(1)/usr/lib/pkgconfig/
  475. endef
  476. define Build/InstallDev/full
  477. $(INSTALL_DIR) $(1)/usr/include
  478. $(CP) $(PKG_INSTALL_DIR)/usr/include/lib{avcodec,avdevice,avfilter,avformat,avutil,postproc,swresample,swscale} $(1)/usr/include/
  479. $(INSTALL_DIR) $(1)/usr/lib
  480. $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{avcodec,avdevice,avfilter,avformat,avutil,postproc,swresample,swscale}.{a,so*} $(1)/usr/lib/
  481. $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
  482. $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/lib{avcodec,avdevice,avfilter,avformat,avutil,postproc,swresample,swscale}.pc $(1)/usr/lib/pkgconfig/
  483. endef
  484. define Build/InstallDev/mini
  485. $(INSTALL_DIR) $(1)/usr/include
  486. $(CP) $(PKG_INSTALL_DIR)/usr/include/lib{avcodec,avformat,avutil} $(1)/usr/include/
  487. $(INSTALL_DIR) $(1)/usr/lib
  488. $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{avcodec,avformat,avutil}.{a,so*} $(1)/usr/lib/
  489. $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
  490. $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/lib{avcodec,avformat,avutil}.pc $(1)/usr/lib/pkgconfig/
  491. endef
  492. Build/InstallDev/audio-dec = $(Build/InstallDev/custom)
  493. # XXX: attempt at installing "best" dev files available
  494. ifeq ($(BUILD_VARIANT),custom)
  495. # XXX: only install "custom" dev files if -full & -mini are not selected
  496. ifeq ($(CONFIG_PACKAGE_libffmpeg-full)$(CONFIG_PACKAGE_libffmpeg-mini),)
  497. Build/InstallDev = $(Build/InstallDev/custom)
  498. endif
  499. endif
  500. ifeq ($(BUILD_VARIANT),audio-dec)
  501. # XXX: only install "audio-dec" dev files if -full & -mini are not selected
  502. ifeq ($(CONFIG_PACKAGE_libffmpeg-full)$(CONFIG_PACKAGE_libffmpeg-mini),)
  503. Build/InstallDev = $(Build/InstallDev/audio-dec)
  504. endif
  505. endif
  506. ifeq ($(BUILD_VARIANT),full)
  507. # XXX: always install "full" dev files if -full is selected
  508. Build/InstallDev = $(Build/InstallDev/full)
  509. endif
  510. ifeq ($(BUILD_VARIANT),mini)
  511. # XXX: only install "mini" dev files if -full is not selected
  512. ifeq ($(CONFIG_PACKAGE_libffmpeg-full),)
  513. Build/InstallDev = $(Build/InstallDev/mini)
  514. endif
  515. endif
  516. define Package/ffmpeg/install
  517. $(INSTALL_DIR) $(1)/usr/bin
  518. $(CP) $(PKG_INSTALL_DIR)/usr/bin/ffmpeg $(1)/usr/bin/
  519. endef
  520. define Package/ffprobe/install
  521. $(INSTALL_DIR) $(1)/usr/bin
  522. $(CP) $(PKG_INSTALL_DIR)/usr/bin/ffprobe $(1)/usr/bin/
  523. endef
  524. define Package/ffserver/install
  525. $(INSTALL_DIR) $(1)/usr/bin
  526. $(CP) $(PKG_INSTALL_DIR)/usr/bin/ffserver $(1)/usr/bin/
  527. endef
  528. define Package/libffmpeg-custom/install
  529. $(INSTALL_DIR) $(1)/usr/lib
  530. $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{avcodec,avdevice,avformat,avutil}.so.* $(1)/usr/lib/
  531. endef
  532. define Package/libffmpeg-full/install
  533. $(INSTALL_DIR) $(1)/usr/lib
  534. $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{avcodec,avdevice,avfilter,avformat,avutil,postproc,swresample,swscale}.so.* $(1)/usr/lib/
  535. endef
  536. define Package/libffmpeg-mini/install
  537. $(INSTALL_DIR) $(1)/usr/lib
  538. $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{avcodec,avformat,avutil}.so.* $(1)/usr/lib/
  539. endef
  540. Package/libffmpeg-audio-dec/install = $(Package/libffmpeg-custom/install)
  541. $(eval $(call BuildPackage,ffmpeg))
  542. $(eval $(call BuildPackage,ffprobe))
  543. $(eval $(call BuildPackage,ffserver))
  544. $(eval $(call BuildPackage,libffmpeg-audio-dec))
  545. $(eval $(call BuildPackage,libffmpeg-full))
  546. $(eval $(call BuildPackage,libffmpeg-mini))
  547. ifneq ($(CONFIG_ALL),y)
  548. $(eval $(call BuildPackage,libffmpeg-custom))
  549. endif