[package] ffmpeg: Allow for more configurable FFmpeg build options (#7837, #8465)
[packages.git] / multimedia / ffmpeg / Config.in
1 menu "Configuration"
2         depends PACKAGE_libffmpeg
3
4 comment "Libav* build options ---"
5
6 config FFMPEG_LIBAV_FULL
7         bool "Toggle for full libav* support"
8         select FFMPEG_BSFS
9         select FFMPEG_DECODE
10         select FFMPEG_ENCODE
11         select FFMPEG_FILTERS
12         select FFMPEG_INDEVS
13         select FFMPEG_OUTDEVS
14         select FFMPEG_HWACCELS
15         select FFMPEG_PARSERS
16         select FFMPEG_PROTOCOLS
17         depends FFMPEG_PATENTED
18         help
19           This options selects each of the FFmpeg's toggles to create a full build
20           of the libav* libraries. Note: This is a large binary and not suitable
21           for most users.
22
23 config FFMPEG_BSFS
24         bool "Toggle for FFmpeg's bitstream filter support"
25
26 config FFMPEG_DECODE
27         bool "Toggle for FFmpeg's decoder/demuxer support"
28         depends FFMPEG_PATENTED
29
30 config FFMPEG_ENCODE
31         bool "Toggle for FFmpeg's encoder/muxer support"
32         depends FFMPEG_PATENTED
33
34 config FFMPEG_FILTERS
35         bool "Toggle for FFmpeg's video processing filter support"
36
37 config FFMPEG_INDEVS
38         bool "Toggle for FFmpeg's input device (camera, etc) support"
39
40 config FFMPEG_OUTDEVS
41         bool "Toggle for FFmpeg's output device support"
42
43 config FFMPEG_HWACCELS
44         bool "Toggle for FFmpeg's video hardware acceleration support"
45
46 config FFMPEG_PARSERS
47         bool "Toggle for FFmpeg's stream parsing support"
48
49 config FFMPEG_PROTOCOLS
50         bool "Toggle for FFmpeg's protocol support"
51
52 config FFMPEG_PATENTED
53         bool "Include patented codecs and technologies"
54         default BUILD_PATENTED
55
56 comment "Package Profiles ---"
57
58 config FFMPEG_FFSERVER_SUPPORT
59         bool "Include support for ffserver (FFmpeg streaming server)"
60         select FFMPEG_MUXER_ffm
61         select FFMPEG_DEMUXER_ffm
62         select FFMPEG_DEMUXER_rtsp
63         select FFMPEG_PROTOCOL_rtp
64
65 config FFMPEG_LIBDLNA_SUPPORT
66         bool "Include support for libdlna/ushare"
67         depends FFMPEG_PATENTED
68         select FFMPEG_DECODER_ac3
69         select FFMPEG_DECODER_atrac3
70         select FFMPEG_DECODER_h264
71         select FFMPEG_DECODER_jpegls
72         select FFMPEG_DECODER_mp3
73         select FFMPEG_DECODER_mpeg1video
74         select FFMPEG_DECODER_mpeg2video
75         select FFMPEG_DECODER_mpeg4
76         select FFMPEG_DECODER_mpegvideo
77         select FFMPEG_DECODER_wmav1
78         select FFMPEG_DECODER_wmav2
79         select FFMPEG_DECODER_png
80         select FFMPEG_DEMUXER_ac3
81         select FFMPEG_DEMUXER_h264
82         select FFMPEG_DEMUXER_mp3
83         select FFMPEG_DEMUXER_mpegvideo
84
85 config FFMPEG_MINIDLNA_SUPPORT
86         bool "Include support for minidlna"
87         depends FFMPEG_PATENTED
88         select FFMPEG_DECODER_aac
89         select FFMPEG_DECODER_ac3
90         select FFMPEG_DECODER_flac
91         select FFMPEG_DECODER_h264
92         select FFMPEG_DECODER_jpegls
93         select FFMPEG_DECODER_mp3
94         select FFMPEG_DECODER_mpeg1video
95         select FFMPEG_DECODER_mpeg2video
96         select FFMPEG_DECODER_mpeg4
97         select FFMPEG_DECODER_mpegvideo
98         select FFMPEG_DECODER_wmav1
99         select FFMPEG_DECODER_wmav2
100         select FFMPEG_DECODER_png
101         select FFMPEG_DEMUXER_aac
102         select FFMPEG_DEMUXER_ac3
103         select FFMPEG_DEMUXER_avi
104         select FFMPEG_DEMUXER_flac
105         select FFMPEG_DEMUXER_h264
106         select FFMPEG_DEMUXER_matroska
107         select FFMPEG_DEMUXER_mov
108         select FFMPEG_DEMUXER_mp3
109         select FFMPEG_DEMUXER_mpegvideo
110         select FFMPEG_PROTOCOL_file
111
112 comment "Encoders ---"
113
114 config FFMPEG_ENCODER_ac3
115         bool "AC3"
116         depends FFMPEG_PATENTED
117         select FFMPEG_PARSER_ac3
118
119 config FFMPEG_ENCODER_jpegls
120         bool "JPEG-LS"
121
122 config FFMPEG_ENCODER_mpeg1video
123         bool "MPEG-1 Video"
124
125 config FFMPEG_ENCODER_mpeg2video
126         bool "MPEG-2 Video"
127         depends FFMPEG_PATENTED
128
129 config FFMPEG_ENCODER_mpeg4
130         bool "MPEG-4"
131         depends FFMPEG_PATENTED
132
133 config FFMPEG_ENCODER_pcm_s16be
134         bool "PCM signed 16-bit big-endian"
135
136 config FFMPEG_ENCODER_pcm_s16le
137         bool "PCM signed 16-bit little-endian"
138
139 config FFMPEG_ENCODER_png
140         bool "PNG"
141         select FFMPEG_ENCODER_zlib
142
143 config FFMPEG_ENCODER_vorbis
144         bool "Vorbis"
145
146 config FFMPEG_ENCODER_zlib
147         bool "Zlib"
148
149 comment "Decoders ---"
150
151 config FFMPEG_DECODER_aac
152         bool "AAC (Advanced Audio Coding)"
153         depends FFMPEG_PATENTED
154         select FFMPEG_PARSER_aac
155
156 config FFMPEG_DECODER_ac3
157         bool "AC3"
158         depends FFMPEG_PATENTED
159         select FFMPEG_PARSER_ac3
160
161 config FFMPEG_DECODER_atrac3
162         bool "ATRAC3"
163         depends FFMPEG_PATENTED
164
165 config FFMPEG_DECODER_flac
166         bool "FLAC"
167
168 config FFMPEG_DECODER_gif
169         bool "GIF"
170
171 config FFMPEG_DECODER_h264
172         bool "H.264"
173         depends FFMPEG_PATENTED
174
175 config FFMPEG_DECODER_jpegls
176         bool "JPEG-LS"
177
178 config FFMPEG_DECODER_mp2
179         bool "MP2 (MPEG Audio Layer 2)"
180         depends FFMPEG_PATENTED
181
182 config FFMPEG_DECODER_mp3
183         bool "MP3 (MPEG Audio Layer 2)"
184         depends FFMPEG_PATENTED
185
186 config FFMPEG_DECODER_mpegvideo
187         bool "MPEG Video"
188
189 config FFMPEG_DECODER_mpeg1video
190         bool "MPEG-1 Video"
191
192 config FFMPEG_DECODER_mpeg2video
193         bool "MPEG-2 Video"
194         depends FFMPEG_PATENTED
195
196 config FFMPEG_DECODER_mpeg4
197         bool "MPEG-4"
198         depends FFMPEG_PATENTED
199
200 config FFMPEG_DECODER_pcm_s16be
201         bool "PCM signed 16-bit big-endian"
202
203 config FFMPEG_DECODER_pcm_s16le
204         bool "PCM signed 16-bit little-endian"
205
206 config FFMPEG_DECODER_png
207         bool "PNG"
208         select FFMPEG_DECODER_zlib
209
210 config FFMPEG_DECODER_vorbis
211         bool "Vorbis"
212
213 config FFMPEG_DECODER_wmav1
214         bool "WMAv1"
215         depends FFMPEG_PATENTED
216
217 config FFMPEG_DECODER_wmav2
218         bool "WMAv2"
219         depends FFMPEG_PATENTED
220
221 config FFMPEG_DECODER_zlib
222         bool "Zlib"
223
224 comment "Muxers ---"
225
226 config FFMPEG_MUXER_ac3
227         bool "AC3"
228         depends FFMPEG_PATENTED
229
230 config FFMPEG_MUXER_ffm
231         bool "FFM (ffserver live feed)"
232
233 config FFMPEG_MUXER_h264
234         bool "H.264"
235         depends FFMPEG_PATENTED
236
237 config FFMPEG_MUXER_mp3
238         bool "MP3 (MPEG Audio Layer 3)"
239
240 config FFMPEG_MUXER_mp4
241         bool "MP4"
242
243 config FFMPEG_MUXER_mpeg1video
244         bool "MPEG-1 Video"
245
246 config FFMPEG_MUXER_mpeg2video
247         bool "MPEG-2 Video"
248
249 config FFMPEG_MUXER_mpegts
250         bool "MPEG-2 (TS)"
251
252 config FFMPEG_MUXER_ogg
253         bool "Ogg"
254
255 config FFMPEG_MUXER_rtp
256         bool "RTP"
257
258 comment "Demuxers ---"
259
260 config FFMPEG_DEMUXER_aac
261         bool "AAC"
262
263 config FFMPEG_DEMUXER_avi
264         bool "AVI (Audio Video Interleave)"
265
266 config FFMPEG_DEMUXER_ac3
267         bool "AC3"
268
269 config FFMPEG_DEMUXER_flac
270         bool "FLAC"
271
272 config FFMPEG_DEMUXER_ffm
273         bool "FFM (ffserver live feed)"
274
275 config FFMPEG_DEMUXER_h264
276         bool "H.264"
277         depends FFMPEG_PATENTED
278
279 config FFMPEG_DEMUXER_matroska
280         bool "Matroska (MKA,MKV)"
281         select FFMPEG_DECODER_zlib
282
283 config FFMPEG_DEMUXER_mov
284         bool "MOV/MP4/M4A/3GP/3G2/MJ2"
285         select FFMPEG_DECODER_zlib
286
287 config FFMPEG_DEMUXER_mp3
288         bool "MP3 (MPEG Audio Layer 3)"
289         select FFMPEG_PARSER_mpegaudio
290
291 config FFMPEG_DEMUXER_mpegvideo
292         bool "MPEG Video"
293
294 config FFMPEG_DEMUXER_mpegps
295         bool "MPEG-2 (PS)"
296
297 config FFMPEG_DEMUXER_mpegts
298         bool "MPEG-2 (TS)"
299
300 config FFMPEG_DEMUXER_ogg
301         bool "Ogg"
302
303 config FFMPEG_DEMUXER_rm
304         bool "RM"
305         help
306           RealMedia format demuxer
307
308 config FFMPEG_DEMUXER_rtsp
309         bool "RTSP"
310         select FFMPEG_DEMUXER_rm
311         select FFMPEG_DEMUXER_sdp
312
313 config FFMPEG_DEMUXER_sdp
314         bool "SDP"
315         select FFMPEG_DEMUXER_mpegts
316
317 comment "Parsers ---"
318
319 config FFMPEG_PARSER_aac
320         bool "AAC (Advanced Audio Coding)"
321         depends FFMPEG_PATENTED
322
323 config FFMPEG_PARSER_ac3
324         bool "AC3"
325
326 config FFMPEG_PARSER_h264
327         bool "H.264"
328         depends FFMPEG_PATENTED
329         select FFMPEG_DECODER_h264
330
331 config FFMPEG_PARSER_mpegaudio
332         bool "MPEG Audio"
333
334 config FFMPEG_PARSER_mpegvideo
335         bool "MPEG Video"
336
337 config FFMPEG_PARSER_mpeg4video
338         bool "MPEG-4 Video"
339
340 comment "Protocols ---"
341
342 config FFMPEG_PROTOCOL_file
343         bool "file:"
344
345 config FFMPEG_PROTOCOL_http
346         bool "http:"
347
348 config FFMPEG_PROTOCOL_pipe
349         bool "pipe:"
350
351 config FFMPEG_PROTOCOL_rtp
352         bool "rtp:"
353         select FFMPEG_PROTOCOL_udp
354
355 config FFMPEG_PROTOCOL_tcp
356         bool "tcp:"
357
358 config FFMPEG_PROTOCOL_udp
359         bool "udp:"
360
361 endmenu