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.

498 lines
11 KiB

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