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.

511 lines
12 KiB

  1. if PACKAGE_libffmpeg-custom
  2. comment "Build Licensing"
  3. config FFMPEG_CUSTOM_GPL
  4. bool "Allow use of GPL code"
  5. help
  6. By default, FFMpeg is licensed under the LGPL. This builds a GPL licensed version.
  7. Some software requires this, such as libx264.
  8. default y
  9. config FFMPEG_CUSTOM_GPLV3
  10. bool "Use (L)GPL v3"
  11. help
  12. Uses the LPGL v3 if GPL isn't selected, or GPL v3 if it is.
  13. config FFMPEG_CUSTOM_NONFREE
  14. bool "Use code with complex licensing requirements; see help"
  15. help
  16. This sets --enable-nonfree, which in almost all cases, will prohibit redistribution of the resulting package.
  17. Use this with care.
  18. default n
  19. config FFMPEG_CUSTOM_PATENTED
  20. bool "Include patented codecs and technologies"
  21. default BUILD_PATENTED
  22. comment "Build Properties"
  23. config FFMPEG_CUSTOM_LARGE
  24. bool "Build libffmpeg for performance instead of minimizing size on disk"
  25. default y if ( x86_64 )
  26. default n
  27. comment "Profiles"
  28. config FFMPEG_CUSTOM_FFSERVER_SUPPORT
  29. bool "Include support for ffserver (FFmpeg streaming server)"
  30. select FFMPEG_CUSTOM_MUXER_ffm
  31. select FFMPEG_CUSTOM_DEMUXER_ffm
  32. select FFMPEG_CUSTOM_DEMUXER_rtsp
  33. select FFMPEG_CUSTOM_PROTOCOL_rtp
  34. config FFMPEG_CUSTOM_MINIDLNA_SUPPORT
  35. bool "Include support for minidlna"
  36. depends on FFMPEG_CUSTOM_PATENTED
  37. select FFMPEG_CUSTOM_DECODER_aac
  38. select FFMPEG_CUSTOM_DECODER_ac3
  39. select FFMPEG_CUSTOM_DECODER_flac
  40. select FFMPEG_CUSTOM_DECODER_h264
  41. select FFMPEG_CUSTOM_DECODER_hevc
  42. select FFMPEG_CUSTOM_DECODER_jpegls
  43. select FFMPEG_CUSTOM_DECODER_mp3
  44. select FFMPEG_CUSTOM_DECODER_mpeg1video
  45. select FFMPEG_CUSTOM_DECODER_mpeg2video
  46. select FFMPEG_CUSTOM_DECODER_mpeg4
  47. select FFMPEG_CUSTOM_DECODER_mpegvideo
  48. select FFMPEG_CUSTOM_DECODER_png
  49. select FFMPEG_CUSTOM_DECODER_opus
  50. select FFMPEG_CUSTOM_DECODER_vc1
  51. select FFMPEG_CUSTOM_DECODER_vorbis
  52. select FFMPEG_CUSTOM_DECODER_wmav1
  53. select FFMPEG_CUSTOM_DECODER_wmav2
  54. select FFMPEG_CUSTOM_DEMUXER_avi
  55. select FFMPEG_CUSTOM_DEMUXER_flac
  56. select FFMPEG_CUSTOM_DEMUXER_matroska
  57. select FFMPEG_CUSTOM_DEMUXER_mov
  58. select FFMPEG_CUSTOM_DEMUXER_mp3
  59. select FFMPEG_CUSTOM_DEMUXER_mpegts
  60. select FFMPEG_CUSTOM_DEMUXER_mpegvideo
  61. select FFMPEG_CUSTOM_DEMUXER_ogg
  62. select FFMPEG_CUSTOM_PROTOCOL_file
  63. config FFMPEG_CUSTOM_AUDIO_DEC_SUPPORT
  64. bool "Include support for most audio decoding requirements"
  65. depends on FFMPEG_CUSTOM_PATENTED
  66. select FFMPEG_CUSTOM_DECODER_aac
  67. select FFMPEG_CUSTOM_DECODER_aac_latm
  68. select FFMPEG_CUSTOM_DECODER_ac3
  69. select FFMPEG_CUSTOM_SELECT_adpcm
  70. select FFMPEG_CUSTOM_DECODER_alac
  71. select FFMPEG_CUSTOM_DECODER_amrnb
  72. select FFMPEG_CUSTOM_DECODER_amrwb
  73. select FFMPEG_CUSTOM_DECODER_ape
  74. select FFMPEG_CUSTOM_DECODER_atrac3
  75. select FFMPEG_CUSTOM_DECODER_flac
  76. select FFMPEG_CUSTOM_DECODER_mp2
  77. select FFMPEG_CUSTOM_DECODER_mp3
  78. select FFMPEG_CUSTOM_DECODER_mpc7
  79. select FFMPEG_CUSTOM_DECODER_mpc8
  80. select FFMPEG_CUSTOM_DECODER_opus
  81. select FFMPEG_CUSTOM_DECODER_pcm_s16be
  82. select FFMPEG_CUSTOM_DECODER_pcm_s16le
  83. select FFMPEG_CUSTOM_DECODER_vorbis
  84. select FFMPEG_CUSTOM_DECODER_wavpack
  85. select FFMPEG_CUSTOM_DECODER_wmav1
  86. select FFMPEG_CUSTOM_DECODER_wmav2
  87. select FFMPEG_CUSTOM_DECODER_wmalossless
  88. select FFMPEG_CUSTOM_DECODER_wmapro
  89. select FFMPEG_CUSTOM_DECODER_zlib
  90. select FFMPEG_CUSTOM_DEMUXER_aac
  91. select FFMPEG_CUSTOM_DEMUXER_ac3
  92. select FFMPEG_CUSTOM_DEMUXER_aiff
  93. select FFMPEG_CUSTOM_DEMUXER_amr
  94. select FFMPEG_CUSTOM_DEMUXER_ape
  95. select FFMPEG_CUSTOM_DEMUXER_avi
  96. select FFMPEG_CUSTOM_DEMUXER_flac
  97. select FFMPEG_CUSTOM_DEMUXER_ffm
  98. select FFMPEG_CUSTOM_DEMUXER_matroska
  99. select FFMPEG_CUSTOM_DEMUXER_mp3
  100. select FFMPEG_CUSTOM_DEMUXER_mov
  101. select FFMPEG_CUSTOM_DEMUXER_mpc
  102. select FFMPEG_CUSTOM_DEMUXER_mpc8
  103. select FFMPEG_CUSTOM_DEMUXER_mpegts
  104. select FFMPEG_CUSTOM_DEMUXER_ogg
  105. select FFMPEG_CUSTOM_DEMUXER_rm
  106. select FFMPEG_CUSTOM_DEMUXER_rtsp
  107. select FFMPEG_CUSTOM_DEMUXER_rtp
  108. select FFMPEG_CUSTOM_DEMUXER_sdp
  109. select FFMPEG_CUSTOM_DEMUXER_wav
  110. select FFMPEG_CUSTOM_DEMUXER_wv
  111. select FFMPEG_CUSTOM_PARSER_aac
  112. select FFMPEG_CUSTOM_PARSER_aac_latm
  113. select FFMPEG_CUSTOM_PARSER_ac3
  114. select FFMPEG_CUSTOM_PARSER_flac
  115. select FFMPEG_CUSTOM_PARSER_mpegaudio
  116. select FFMPEG_CUSTOM_PARSER_opus
  117. select FFMPEG_CUSTOM_PROTOCOL_file
  118. select FFMPEG_CUSTOM_PROTOCOL_http
  119. select FFMPEG_CUSTOM_PROTOCOL_rtp
  120. select FFMPEG_CUSTOM_PROTOCOL_tcp
  121. select FFMPEG_CUSTOM_PROTOCOL_udp
  122. comment "External Libraries"
  123. config FFMPEG_CUSTOM_SELECT_libfdk-aac
  124. bool "Fraunhofer FDK AAC encoding library (libfdk-aac)"
  125. depends on FFMPEG_CUSTOM_NONFREE
  126. depends on FFMPEG_CUSTOM_PATENTED
  127. depends on PACKAGE_fdk-aac
  128. config FFMPEG_CUSTOM_SELECT_libmp3lame
  129. bool "Libmp3lame"
  130. depends on FFMPEG_CUSTOM_PATENTED
  131. depends on PACKAGE_lame-lib
  132. select FFMPEG_CUSTOM_DECODER_mp3
  133. select FFMPEG_CUSTOM_MUXER_mp3
  134. select FFMPEG_CUSTOM_DEMUXER_mp3
  135. config FFMPEG_CUSTOM_SELECT_libopus
  136. bool "Libopus"
  137. config FFMPEG_CUSTOM_SELECT_libshine
  138. bool "Libshine"
  139. config FFMPEG_CUSTOM_SELECT_libx264
  140. bool "Libx264"
  141. depends on FFMPEG_CUSTOM_PATENTED
  142. depends on FFMPEG_CUSTOM_GPL
  143. depends on PACKAGE_libx264
  144. select FFMPEG_CUSTOM_DECODER_h264
  145. select FFMPEG_CUSTOM_MUXER_h264
  146. select FFMPEG_CUSTOM_DEMUXER_h264
  147. select FFMPEG_CUSTOM_PARSER_h264
  148. comment "Encoders"
  149. config FFMPEG_CUSTOM_ENCODER_ac3
  150. bool "AC3"
  151. depends on FFMPEG_CUSTOM_PATENTED
  152. select FFMPEG_CUSTOM_PARSER_ac3
  153. config FFMPEG_CUSTOM_ENCODER_jpegls
  154. bool "JPEG-LS"
  155. config FFMPEG_CUSTOM_ENCODER_mpeg1video
  156. bool "MPEG-1 Video"
  157. config FFMPEG_CUSTOM_ENCODER_mpeg2video
  158. bool "MPEG-2 Video"
  159. depends on FFMPEG_CUSTOM_PATENTED
  160. config FFMPEG_CUSTOM_ENCODER_mpeg4
  161. bool "MPEG-4"
  162. depends on FFMPEG_CUSTOM_PATENTED
  163. config FFMPEG_CUSTOM_ENCODER_pcm_s16be
  164. bool "PCM signed 16-bit big-endian"
  165. config FFMPEG_CUSTOM_ENCODER_pcm_s16le
  166. bool "PCM signed 16-bit little-endian"
  167. config FFMPEG_CUSTOM_ENCODER_png
  168. bool "PNG"
  169. select FFMPEG_CUSTOM_ENCODER_zlib
  170. config FFMPEG_CUSTOM_ENCODER_vorbis
  171. bool "Vorbis"
  172. config FFMPEG_CUSTOM_ENCODER_zlib
  173. bool "Zlib"
  174. comment "Decoders"
  175. config FFMPEG_CUSTOM_DECODER_aac
  176. bool "AAC (Advanced Audio Coding)"
  177. depends on FFMPEG_CUSTOM_PATENTED
  178. select FFMPEG_CUSTOM_PARSER_aac
  179. config FFMPEG_CUSTOM_SELECT_adpcm
  180. bool "ADPCM (multiple types)"
  181. config FFMPEG_CUSTOM_DECODER_ac3
  182. bool "AC3"
  183. depends on FFMPEG_CUSTOM_PATENTED
  184. select FFMPEG_CUSTOM_PARSER_ac3
  185. config FFMPEG_CUSTOM_DECODER_alac
  186. bool "ALAC"
  187. config FFMPEG_CUSTOM_DECODER_amrnb
  188. bool "AMR-NB"
  189. select FFMPEG_CUSTOM_DEMUXER_amr
  190. config FFMPEG_CUSTOM_DECODER_amrwb
  191. bool "AMR-WB"
  192. select FFMPEG_CUSTOM_DEMUXER_amr
  193. config FFMPEG_CUSTOM_DECODER_ape
  194. bool "APE"
  195. config FFMPEG_CUSTOM_DECODER_atrac3
  196. bool "ATRAC3"
  197. depends on FFMPEG_CUSTOM_PATENTED
  198. config FFMPEG_CUSTOM_DECODER_flac
  199. bool "FLAC"
  200. select FFMPEG_CUSTOM_PARSER_flac
  201. config FFMPEG_CUSTOM_DECODER_gif
  202. bool "GIF"
  203. config FFMPEG_CUSTOM_DECODER_h264
  204. bool "H.264"
  205. depends on FFMPEG_CUSTOM_PATENTED
  206. config FFMPEG_CUSTOM_DECODER_hevc
  207. bool "HEVC / H.265 Video"
  208. depends on FFMPEG_CUSTOM_PATENTED
  209. config FFMPEG_CUSTOM_DECODER_jpegls
  210. bool "JPEG-LS"
  211. config FFMPEG_CUSTOM_DECODER_mp2
  212. bool "MP2 (MPEG Audio Layer 2)"
  213. depends on FFMPEG_CUSTOM_PATENTED
  214. config FFMPEG_CUSTOM_DECODER_mp3
  215. bool "MP3 (MPEG Audio Layer 2)"
  216. depends on FFMPEG_CUSTOM_PATENTED
  217. config FFMPEG_CUSTOM_DECODER_mpegvideo
  218. bool "MPEG Video"
  219. config FFMPEG_CUSTOM_DECODER_mpeg1video
  220. bool "MPEG-1 Video"
  221. config FFMPEG_CUSTOM_DECODER_mpeg2video
  222. bool "MPEG-2 Video"
  223. depends on FFMPEG_CUSTOM_PATENTED
  224. config FFMPEG_CUSTOM_DECODER_mpeg4
  225. bool "MPEG-4"
  226. depends on FFMPEG_CUSTOM_PATENTED
  227. config FFMPEG_CUSTOM_DECODER_mpc7
  228. bool "Musepack 7"
  229. select FFMPEG_CUSTOM_DEMUXER_mpc
  230. config FFMPEG_CUSTOM_DECODER_mpc8
  231. bool "Musepack 8"
  232. select FFMPEG_CUSTOM_DEMUXER_mpc8
  233. config FFMPEG_CUSTOM_DECODER_opus
  234. bool "Opus"
  235. config FFMPEG_CUSTOM_DECODER_pcm_s16be
  236. bool "PCM signed 16-bit big-endian"
  237. config FFMPEG_CUSTOM_DECODER_pcm_s16le
  238. bool "PCM signed 16-bit little-endian"
  239. config FFMPEG_CUSTOM_DECODER_png
  240. bool "PNG"
  241. select FFMPEG_CUSTOM_DECODER_zlib
  242. config FFMPEG_CUSTOM_DECODER_vc1
  243. bool "VC-1 / WMV9"
  244. depends on FFMPEG_CUSTOM_PATENTED
  245. config FFMPEG_CUSTOM_DECODER_vorbis
  246. bool "Vorbis"
  247. select FFMPEG_CUSTOM_DEMUXER_ogg
  248. config FFMPEG_CUSTOM_DECODER_wavpack
  249. bool "Wavpack"
  250. config FFMPEG_CUSTOM_DECODER_wmav1
  251. bool "WMAv1"
  252. depends on FFMPEG_CUSTOM_PATENTED
  253. config FFMPEG_CUSTOM_DECODER_wmav2
  254. bool "WMAv2"
  255. depends on FFMPEG_CUSTOM_PATENTED
  256. config FFMPEG_CUSTOM_DECODER_zlib
  257. bool "Zlib"
  258. comment "Muxers"
  259. config FFMPEG_CUSTOM_MUXER_ac3
  260. bool "AC3"
  261. depends on FFMPEG_CUSTOM_PATENTED
  262. config FFMPEG_CUSTOM_MUXER_ffm
  263. bool "FFM (ffserver live feed)"
  264. config FFMPEG_CUSTOM_MUXER_h264
  265. bool "H.264 Raw Video"
  266. depends on FFMPEG_CUSTOM_PATENTED
  267. config FFMPEG_CUSTOM_MUXER_hevc
  268. bool "HEVC / H265 Raw Video"
  269. depends on FFMPEG_CUSTOM_PATENTED
  270. config FFMPEG_CUSTOM_MUXER_mp3
  271. bool "MP3 (MPEG Audio Layer 3)"
  272. config FFMPEG_CUSTOM_MUXER_mp4
  273. bool "MP4"
  274. config FFMPEG_CUSTOM_MUXER_mpeg1video
  275. bool "MPEG-1 Video"
  276. config FFMPEG_CUSTOM_MUXER_mpeg2video
  277. bool "MPEG-2 Video"
  278. config FFMPEG_CUSTOM_MUXER_mpegts
  279. bool "MPEG-2 (TS)"
  280. config FFMPEG_CUSTOM_MUXER_ogg
  281. bool "Ogg"
  282. config FFMPEG_CUSTOM_MUXER_rtp
  283. bool "RTP"
  284. comment "Demuxers"
  285. config FFMPEG_CUSTOM_DEMUXER_aac
  286. bool "AAC"
  287. config FFMPEG_CUSTOM_DEMUXER_avi
  288. bool "AVI (Audio Video Interleave)"
  289. config FFMPEG_CUSTOM_DEMUXER_ac3
  290. bool "AC3"
  291. config FFMPEG_CUSTOM_DEMUXER_amr
  292. bool "AMR"
  293. config FFMPEG_CUSTOM_DEMUXER_ape
  294. bool "APE"
  295. config FFMPEG_CUSTOM_DEMUXER_flac
  296. bool "FLAC"
  297. config FFMPEG_CUSTOM_DEMUXER_ffm
  298. bool "FFM (ffserver live feed)"
  299. config FFMPEG_CUSTOM_DEMUXER_h264
  300. bool "H.264 Raw Video"
  301. depends on FFMPEG_CUSTOM_PATENTED
  302. config FFMPEG_CUSTOM_DEMUXER_hevc
  303. bool "HEVC / H265 Raw Video"
  304. depends on FFMPEG_CUSTOM_PATENTED
  305. config FFMPEG_CUSTOM_DEMUXER_matroska
  306. bool "Matroska (MKA,MKV)"
  307. select FFMPEG_CUSTOM_DECODER_zlib
  308. config FFMPEG_CUSTOM_DEMUXER_mov
  309. bool "MOV/MP4/M4A/3GP/3G2/MJ2"
  310. select FFMPEG_CUSTOM_DECODER_zlib
  311. config FFMPEG_CUSTOM_DEMUXER_mp3
  312. bool "MP3 (MPEG Audio Layer 3)"
  313. select FFMPEG_CUSTOM_PARSER_mpegaudio
  314. config FFMPEG_CUSTOM_DEMUXER_mpegvideo
  315. bool "MPEG Video"
  316. config FFMPEG_CUSTOM_DEMUXER_mpegps
  317. bool "MPEG-2 (PS)"
  318. config FFMPEG_CUSTOM_DEMUXER_mpegts
  319. bool "MPEG-2 (TS)"
  320. config FFMPEG_CUSTOM_DEMUXER_mpc
  321. bool "Musepack"
  322. config FFMPEG_CUSTOM_DEMUXER_mpc8
  323. bool "Musepack 8"
  324. config FFMPEG_CUSTOM_DEMUXER_ogg
  325. bool "Ogg"
  326. config FFMPEG_CUSTOM_DEMUXER_rm
  327. bool "RM"
  328. help
  329. RealMedia format demuxer
  330. config FFMPEG_CUSTOM_DEMUXER_rtsp
  331. bool "RTSP"
  332. select FFMPEG_CUSTOM_DEMUXER_rm
  333. select FFMPEG_CUSTOM_DEMUXER_sdp
  334. select FFMPEG_CUSTOM_DEMUXER_rtp
  335. config FFMPEG_CUSTOM_DEMUXER_sdp
  336. bool "SDP"
  337. select FFMPEG_CUSTOM_DEMUXER_mpegts
  338. config FFMPEG_CUSTOM_DEMUXER_rtp
  339. bool "RTP"
  340. config FFMPEG_CUSTOM_DEMUXER_vc1
  341. bool "VC-1 / WMV9 Raw Video"
  342. depends on FFMPEG_CUSTOM_PATENTED
  343. config FFMPEG_CUSTOM_DEMUXER_wav
  344. bool "WAV"
  345. config FFMPEG_CUSTOM_DEMUXER_wv
  346. bool "WV"
  347. comment "Parsers"
  348. config FFMPEG_CUSTOM_PARSER_aac
  349. bool "AAC (Advanced Audio Coding)"
  350. depends on FFMPEG_CUSTOM_PATENTED
  351. config FFMPEG_CUSTOM_PARSER_ac3
  352. bool "AC3"
  353. config FFMPEG_CUSTOM_PARSER_flac
  354. bool "FLAC"
  355. config FFMPEG_CUSTOM_PARSER_h264
  356. bool "H.264"
  357. depends on FFMPEG_CUSTOM_PATENTED
  358. select FFMPEG_CUSTOM_DECODER_h264
  359. config FFMPEG_CUSTOM_PARSER_hevc
  360. bool "HEVC / H265"
  361. depends on FFMPEG_CUSTOM_PATENTED
  362. select FFMPEG_CUSTOM_DECODER_hevc
  363. config FFMPEG_CUSTOM_PARSER_mpegaudio
  364. bool "MPEG Audio"
  365. config FFMPEG_CUSTOM_PARSER_mpegvideo
  366. bool "MPEG Video"
  367. config FFMPEG_CUSTOM_PARSER_mpeg4video
  368. bool "MPEG-4 Video"
  369. config FFMPEG_CUSTOM_PARSER_opus
  370. bool "Opus"
  371. config FFMPEG_CUSTOM_PARSER_vc1
  372. bool "VC-1 / WMV9"
  373. depends on FFMPEG_CUSTOM_PATENTED
  374. select FFMPEG_CUSTOM_DECODER_vc1
  375. comment "Protocols"
  376. config FFMPEG_CUSTOM_PROTOCOL_file
  377. bool "file:"
  378. config FFMPEG_CUSTOM_PROTOCOL_http
  379. bool "http:"
  380. config FFMPEG_CUSTOM_PROTOCOL_icecast
  381. bool "icecast:"
  382. select FFMPEG_CUSTOM_PROTOCOL_http
  383. config FFMPEG_CUSTOM_PROTOCOL_pipe
  384. bool "pipe:"
  385. config FFMPEG_CUSTOM_PROTOCOL_rtp
  386. bool "rtp:"
  387. select FFMPEG_CUSTOM_PROTOCOL_udp
  388. config FFMPEG_CUSTOM_PROTOCOL_tcp
  389. bool "tcp:"
  390. config FFMPEG_CUSTOM_PROTOCOL_udp
  391. bool "udp:"
  392. endif