1"""
2A set of objects representing each file extension recognized by ImageIO. If an
3extension is not listed here it is still supported, as long as there exists a
4supporting backend.
5
6"""
7
8
9class FileExtension:
10 """File Extension Metadata
11
12 This class holds information about a image file format associated with a
13 given extension. This information is used to track plugins that are known to
14 be able to handle a particular format. It also contains additional
15 information about a format, which is used when creating the supported format
16 docs.
17
18 Plugins known to be able to handle this format are ordered by a ``priority``
19 list. This list is used to determine the ideal plugin to use when choosing a
20 plugin based on file extension.
21
22 Parameters
23 ----------
24 extension : str
25 The name of the extension including the initial dot, e.g. ".png".
26 priority : List
27 A list of plugin names (entries in config.known_plugins) that can handle
28 this format. The position of a plugin expresses a preference, e.g.
29 ["plugin1", "plugin2"] indicates that, if available, plugin1 should be
30 preferred over plugin2 when handling a request related to this format.
31 name : str
32 The full name of the format.
33 description : str
34 A description of the format.
35 external_link : str
36 A link to further information about the format. Typically, the format's
37 specification.
38 volume_support : str
39 If True, the format/extension supports volumetric image data.
40
41 Examples
42 --------
43 >>> FileExtension(
44 name="Bitmap",
45 extension=".bmp",
46 priority=["pillow", "BMP-PIL", "BMP-FI", "ITK"],
47 external_link="https://en.wikipedia.org/wiki/BMP_file_format",
48 )
49
50 """
51
52 def __init__(
53 self,
54 *,
55 extension,
56 priority,
57 name=None,
58 description=None,
59 external_link=None,
60 volume_support=False
61 ):
62 self.extension = extension
63 self.priority = priority
64 self.name = name
65 self.description = description
66 self.external_link = external_link
67 self.default_priority = priority.copy()
68 self.volume_support = volume_support
69
70 def reset(self):
71 self.priority = self.default_priority.copy()
72
73
74extension_list = [
75 FileExtension(
76 name="Hasselblad raw",
77 extension=".3fr",
78 priority=["RAW-FI"],
79 ),
80 FileExtension(
81 name="Sony alpha",
82 extension=".arw",
83 priority=["RAW-FI"],
84 ),
85 FileExtension(
86 name="Animated Portable Network Graphics",
87 external_link="https://en.wikipedia.org/wiki/APNG",
88 extension=".apng",
89 priority=["pillow", "pyav"],
90 ),
91 FileExtension(
92 name="Audio Video Interleave",
93 extension=".avi",
94 priority=["FFMPEG"],
95 ),
96 FileExtension(
97 name="Casio raw format",
98 extension=".bay",
99 priority=["RAW-FI"],
100 ),
101 FileExtension(
102 extension=".blp",
103 priority=["pillow"],
104 ),
105 FileExtension(
106 name="Bitmap",
107 extension=".bmp",
108 priority=["pillow", "BMP-PIL", "BMP-FI", "ITK", "pyav", "opencv"],
109 external_link="https://en.wikipedia.org/wiki/BMP_file_format",
110 ),
111 FileExtension(
112 name="Device-Independent Bitmap",
113 extension=".dip",
114 priority=["opencv"],
115 external_link="https://en.wikipedia.org/wiki/BMP_file_format",
116 ),
117 FileExtension(
118 name="Re-Volt mipmap",
119 extension=".bmq",
120 priority=["RAW-FI"],
121 ),
122 FileExtension(
123 name="Binary Structured Data Format",
124 extension=".bsdf",
125 priority=["BSDF"],
126 external_link="http://bsdf.io/",
127 ),
128 FileExtension(
129 name="Binary Universal Form for the Representation of meteorological data",
130 extension=".bufr",
131 priority=["pillow", "BUFR-PIL"],
132 ),
133 FileExtension(
134 name="Silicon Graphics Image",
135 extension=".bw",
136 priority=["pillow", "SGI-PIL", "SGI-FI"],
137 ),
138 FileExtension(
139 name="Scirra Construct",
140 extension=".cap",
141 priority=["RAW-FI"],
142 ),
143 FileExtension(
144 name="AMETEK High Speed Camera Format",
145 extension=".cine",
146 priority=["RAW-FI"],
147 external_link="https://phantomhighspeed-knowledge.secure.force.com/servlet/fileField?id=0BE1N000000kD2i#:~:text=Cine%20is%20a%20video%20file,camera%20model%20and%20image%20resolution",
148 ),
149 FileExtension(extension=".cr2", priority=["RAW-FI"]),
150 FileExtension(
151 extension=".crw",
152 priority=["RAW-FI"],
153 ),
154 FileExtension(
155 extension=".cs1",
156 priority=["RAW-FI"],
157 ),
158 FileExtension(
159 name="Computerized Tomography",
160 extension=".ct",
161 priority=["DICOM"],
162 ),
163 FileExtension(
164 name="Windows Cursor Icons",
165 extension=".cur",
166 priority=["pillow", "CUR-PIL"],
167 ),
168 FileExtension(
169 name="Dr. Halo",
170 extension=".cut",
171 priority=["CUT-FI"],
172 ),
173 FileExtension(
174 extension=".dc2",
175 priority=["RAW-FI"],
176 ),
177 FileExtension(
178 name="DICOM file format",
179 extension=".dcm",
180 priority=["DICOM", "ITK"],
181 ),
182 FileExtension(
183 extension=".dcr",
184 priority=["RAW-FI"],
185 ),
186 FileExtension(
187 name="Intel DCX",
188 extension=".dcx",
189 priority=["pillow", "DCX-PIL"],
190 ),
191 FileExtension(
192 name="DirectX Texture Container",
193 extension=".dds",
194 priority=["pillow", "DDS-FI", "DDS-PIL"],
195 ),
196 FileExtension(
197 name="Windows Bitmap",
198 extension=".dib",
199 priority=["pillow", "DIB-PIL"],
200 ),
201 FileExtension(
202 name="DICOM file format",
203 extension=".dicom",
204 priority=["ITK"],
205 ),
206 FileExtension(
207 extension=".dng",
208 priority=["RAW-FI"],
209 ),
210 FileExtension(
211 extension=".drf",
212 priority=["RAW-FI"],
213 ),
214 FileExtension(
215 extension=".dsc",
216 priority=["RAW-FI"],
217 ),
218 FileExtension(
219 name="Enhanced Compression Wavelet",
220 extension=".ecw",
221 priority=["GDAL"],
222 ),
223 FileExtension(
224 name="Windows Metafile",
225 extension=".emf",
226 priority=["pillow", "WMF-PIL"],
227 ),
228 FileExtension(
229 name="Encapsulated Postscript",
230 extension=".eps",
231 priority=["pillow", "EPS-PIL"],
232 ),
233 FileExtension(
234 extension=".erf",
235 priority=["RAW-FI"],
236 ),
237 FileExtension(
238 name="OpenEXR",
239 extension=".exr",
240 external_link="https://openexr.readthedocs.io/en/latest/",
241 priority=["EXR-FI", "pyav", "opencv"],
242 ),
243 FileExtension(
244 extension=".fff",
245 priority=["RAW-FI"],
246 ),
247 FileExtension(
248 name="Flexible Image Transport System File",
249 extension=".fit",
250 priority=["pillow", "FITS-PIL", "FITS"],
251 ),
252 FileExtension(
253 name="Flexible Image Transport System File",
254 extension=".fits",
255 priority=["pillow", "FITS-PIL", "FITS", "pyav"],
256 ),
257 FileExtension(
258 name="Autodesk FLC Animation",
259 extension=".flc",
260 priority=["pillow", "FLI-PIL"],
261 ),
262 FileExtension(
263 name="Autodesk FLI Animation",
264 extension=".fli",
265 priority=["pillow", "FLI-PIL"],
266 ),
267 FileExtension(
268 name="Kodak FlashPix",
269 extension=".fpx",
270 priority=["pillow", "FPX-PIL"],
271 ),
272 FileExtension(
273 name="Independence War 2: Edge Of Chaos Texture Format",
274 extension=".ftc",
275 priority=["pillow", "FTEX-PIL"],
276 ),
277 FileExtension(
278 name="Flexible Image Transport System File",
279 extension=".fts",
280 priority=["FITS"],
281 ),
282 FileExtension(
283 name="Independence War 2: Edge Of Chaos Texture Format",
284 extension=".ftu",
285 priority=["pillow", "FTEX-PIL"],
286 ),
287 FileExtension(
288 name="Flexible Image Transport System File",
289 extension=".fz",
290 priority=["FITS"],
291 ),
292 FileExtension(
293 name="Raw fax format CCITT G.3",
294 extension=".g3",
295 priority=["G3-FI"],
296 ),
297 FileExtension(
298 name="GIMP brush file",
299 extension=".gbr",
300 priority=["pillow", "GBR-PIL"],
301 ),
302 FileExtension(
303 name="Grassroots DICOM",
304 extension=".gdcm",
305 priority=["ITK"],
306 ),
307 FileExtension(
308 name="Graphics Interchange Format",
309 extension=".gif",
310 priority=["pillow", "GIF-PIL", "pyav"],
311 ),
312 FileExtension(
313 name="UMDS GIPL",
314 extension=".gipl",
315 priority=["ITK"],
316 ),
317 FileExtension(
318 name="gridded meteorological data",
319 extension=".grib",
320 priority=["pillow", "GRIB-PIL"],
321 ),
322 FileExtension(
323 name="Hierarchical Data Format 5",
324 extension=".h5",
325 priority=["pillow", "HDF5-PIL"],
326 ),
327 FileExtension(
328 name="Hierarchical Data Format 5",
329 extension=".hdf",
330 priority=["pillow", "HDF5-PIL"],
331 ),
332 FileExtension(
333 name="Hierarchical Data Format 5",
334 extension=".hdf5",
335 priority=["ITK"],
336 ),
337 FileExtension(
338 name="JPEG Extended Range",
339 extension=".hdp",
340 priority=["JPEG-XR-FI"],
341 ),
342 FileExtension(
343 name="High Dynamic Range Image",
344 extension=".hdr",
345 priority=["HDR-FI", "ITK", "opencv"],
346 ),
347 FileExtension(
348 extension=".ia",
349 priority=["RAW-FI"],
350 ),
351 FileExtension(
352 extension=".icb",
353 priority=["pillow"],
354 ),
355 FileExtension(
356 name="Mac OS Icon File",
357 extension=".icns",
358 priority=["pillow", "ICNS-PIL"],
359 ),
360 FileExtension(
361 name="Windows Icon File",
362 extension=".ico",
363 priority=["pillow", "ICO-FI", "ICO-PIL", "pyav"],
364 ),
365 FileExtension(
366 name="ILBM Interleaved Bitmap",
367 extension=".iff",
368 priority=["IFF-FI"],
369 ),
370 FileExtension(
371 name="IPTC/NAA",
372 extension=".iim",
373 priority=["pillow", "IPTC-PIL"],
374 ),
375 FileExtension(
376 extension=".iiq",
377 priority=["RAW-FI"],
378 ),
379 FileExtension(
380 name="IFUNC Image Memory",
381 extension=".im",
382 priority=["pillow", "IM-PIL"],
383 ),
384 FileExtension(
385 extension=".img",
386 priority=["ITK", "GDAL"],
387 ),
388 FileExtension(
389 extension=".img.gz",
390 priority=["ITK"],
391 ),
392 FileExtension(
393 name="IM Tools",
394 extension=".IMT",
395 priority=["pillow", "IMT-PIL"],
396 ),
397 FileExtension(
398 name="Image Processing Lab",
399 extension=".ipl",
400 priority=["ITK"],
401 ),
402 FileExtension(
403 name="JPEG 2000",
404 extension=".j2c",
405 priority=["pillow", "J2K-FI", "JPEG2000-PIL", "pyav"],
406 ),
407 FileExtension(
408 name="JPEG 2000",
409 extension=".j2k",
410 priority=["pillow", "J2K-FI", "JPEG2000-PIL", "pyav"],
411 ),
412 FileExtension(
413 name="JPEG",
414 extension=".jfif",
415 priority=["pillow", "JPEG-PIL"],
416 ),
417 FileExtension(
418 name="JPEG",
419 extension=".jif",
420 priority=["JPEG-FI"],
421 ),
422 FileExtension(
423 name="JPEG Network Graphics",
424 extension=".jng",
425 priority=["JNG-FI"],
426 ),
427 FileExtension(
428 name="JPEG 2000",
429 extension=".jp2",
430 priority=["pillow", "JP2-FI", "JPEG2000-PIL", "pyav", "opencv"],
431 ),
432 FileExtension(
433 name="JPEG 2000",
434 extension=".jpc",
435 priority=["pillow", "JPEG2000-PIL"],
436 ),
437 FileExtension(
438 name="JPEG",
439 extension=".jpe",
440 priority=["pillow", "JPEG-FI", "JPEG-PIL", "opencv"],
441 ),
442 FileExtension(
443 name="Joint Photographic Experts Group",
444 extension=".jpeg",
445 priority=["pillow", "JPEG-PIL", "JPEG-FI", "ITK", "GDAL", "pyav", "opencv"],
446 ),
447 FileExtension(
448 name="JPEG 2000",
449 extension=".jpf",
450 priority=["pillow", "JPEG2000-PIL"],
451 ),
452 FileExtension(
453 name="Joint Photographic Experts Group",
454 extension=".jpg",
455 priority=["pillow", "JPEG-PIL", "JPEG-FI", "ITK", "GDAL", "pyav", "opencv"],
456 ),
457 FileExtension(
458 name="JPEG 2000",
459 extension=".jpx",
460 priority=["pillow", "JPEG2000-PIL"],
461 ),
462 FileExtension(
463 name="JPEG Extended Range",
464 extension=".jxr",
465 priority=["JPEG-XR-FI"],
466 ),
467 FileExtension(
468 extension=".k25",
469 priority=["RAW-FI"],
470 ),
471 FileExtension(
472 extension=".kc2",
473 priority=["RAW-FI"],
474 ),
475 FileExtension(
476 extension=".kdc",
477 priority=["RAW-FI"],
478 ),
479 FileExtension(
480 name="C64 Koala Graphics",
481 extension=".koa",
482 priority=["KOALA-FI"],
483 ),
484 FileExtension(
485 name="ILBM Interleaved Bitmap",
486 extension=".lbm",
487 priority=["IFF-FI"],
488 ),
489 FileExtension(
490 name="Lytro F01",
491 extension=".lfp",
492 priority=["LYTRO-LFP"],
493 ),
494 FileExtension(
495 name="Lytro Illum",
496 extension=".lfr",
497 priority=["LYTRO-LFR"],
498 ),
499 FileExtension(
500 name="ZEISS LSM",
501 extension=".lsm",
502 priority=["tifffile", "ITK", "TIFF"],
503 ),
504 FileExtension(
505 name="McIdas area file",
506 extension=".MCIDAS",
507 priority=["pillow", "MCIDAS-PIL"],
508 external_link="https://www.ssec.wisc.edu/mcidas/doc/prog_man/2003print/progman2003-formats.html",
509 ),
510 FileExtension(
511 extension=".mdc",
512 priority=["RAW-FI"],
513 ),
514 FileExtension(
515 extension=".mef",
516 priority=["RAW-FI"],
517 ),
518 FileExtension(
519 name="FreeSurfer File Format",
520 extension=".mgh",
521 priority=["ITK"],
522 ),
523 FileExtension(
524 name="ITK MetaImage",
525 extension=".mha",
526 priority=["ITK"],
527 ),
528 FileExtension(
529 name="ITK MetaImage Header",
530 extension=".mhd",
531 priority=["ITK"],
532 ),
533 FileExtension(
534 name="Microsoft Image Composer",
535 extension=".mic",
536 priority=["pillow", "MIC-PIL"],
537 ),
538 FileExtension(
539 name="Matroska Multimedia Container",
540 extension=".mkv",
541 priority=["FFMPEG", "pyav"],
542 ),
543 FileExtension(
544 name="Medical Imaging NetCDF",
545 extension=".mnc",
546 priority=["ITK"],
547 ),
548 FileExtension(
549 name="Medical Imaging NetCDF 2",
550 extension=".mnc2",
551 priority=["ITK"],
552 ),
553 FileExtension(
554 name="Leaf Raw Image Format",
555 extension=".mos",
556 priority=["RAW-FI"],
557 ),
558 FileExtension(
559 name="QuickTime File Format",
560 extension=".mov",
561 priority=["FFMPEG", "pyav"],
562 ),
563 FileExtension(
564 name="MPEG-4 Part 14",
565 extension=".mp4",
566 priority=["FFMPEG", "pyav"],
567 ),
568 FileExtension(
569 name="MPEG-1 Moving Picture Experts Group",
570 extension=".mpeg",
571 priority=["FFMPEG", "pyav"],
572 ),
573 FileExtension(
574 name="Moving Picture Experts Group",
575 extension=".mpg",
576 priority=["pillow", "FFMPEG", "pyav"],
577 ),
578 FileExtension(
579 name="JPEG Multi-Picture Format",
580 extension=".mpo",
581 priority=["pillow", "MPO-PIL"],
582 ),
583 FileExtension(
584 name="Magnetic resonance imaging",
585 extension=".mri",
586 priority=["DICOM"],
587 ),
588 FileExtension(
589 extension=".mrw",
590 priority=["RAW-FI"],
591 ),
592 FileExtension(
593 name="Windows Paint",
594 extension=".msp",
595 priority=["pillow", "MSP-PIL"],
596 ),
597 FileExtension(
598 extension=".nef",
599 priority=["RAW-FI", "rawpy"],
600 ),
601 FileExtension(
602 extension=".nhdr",
603 priority=["ITK"],
604 ),
605 FileExtension(
606 extension=".nia",
607 priority=["ITK"],
608 ),
609 FileExtension(
610 extension=".nii",
611 priority=["ITK"],
612 ),
613 FileExtension(
614 name="nii.gz",
615 extension=".nii.gz",
616 priority=["ITK"],
617 ),
618 FileExtension(
619 name="Numpy Array",
620 extension=".npz",
621 priority=["NPZ"],
622 volume_support=True,
623 ),
624 FileExtension(
625 extension=".nrrd",
626 priority=["ITK"],
627 ),
628 FileExtension(
629 extension=".nrw",
630 priority=["RAW-FI"],
631 ),
632 FileExtension(
633 extension=".orf",
634 priority=["RAW-FI"],
635 ),
636 FileExtension(
637 extension=".palm",
638 priority=["pillow"],
639 ),
640 FileExtension(
641 name="Portable Bitmap",
642 extension=".pbm",
643 priority=["PGM-FI", "PGMRAW-FI", "pyav", "opencv"],
644 ),
645 FileExtension(
646 name="Kodak PhotoCD",
647 extension=".pcd",
648 priority=["pillow", "PCD-FI", "PCD-PIL"],
649 ),
650 FileExtension(
651 name="Macintosh PICT",
652 extension=".pct",
653 priority=["PICT-FI"],
654 ),
655 FileExtension(
656 name="Zsoft Paintbrush",
657 extension=".PCX",
658 priority=["pillow", "PCX-FI", "PCX-PIL"],
659 ),
660 FileExtension(
661 extension=".pdf",
662 priority=["pillow"],
663 ),
664 FileExtension(
665 extension=".pef",
666 priority=["RAW-FI"],
667 ),
668 FileExtension(
669 extension=".pfm",
670 priority=["PFM-FI", "pyav", "opencv"],
671 ),
672 FileExtension(
673 name="Portable Greymap",
674 extension=".pgm",
675 priority=["pillow", "PGM-FI", "PGMRAW-FI", "pyav", "opencv"],
676 ),
677 FileExtension(
678 name="Macintosh PICT",
679 extension=".pic",
680 priority=["PICT-FI", "ITK", "opencv"],
681 ),
682 FileExtension(
683 name="Macintosh PICT",
684 extension=".pict",
685 priority=["PICT-FI"],
686 ),
687 FileExtension(
688 name="Portable Network Graphics",
689 extension=".png",
690 priority=["pillow", "PNG-PIL", "PNG-FI", "ITK", "pyav", "opencv"],
691 ),
692 FileExtension(
693 name="Portable Image Format",
694 extension=".pnm",
695 priority=["pillow", "opencv"],
696 ),
697 FileExtension(
698 name="Pbmplus image",
699 extension=".ppm",
700 priority=["pillow", "PPM-PIL", "pyav"],
701 ),
702 FileExtension(
703 name="Pbmplus image",
704 extension=".pbm",
705 priority=["pillow", "PPM-PIL", "PPM-FI"],
706 ),
707 FileExtension(
708 name="Portable image format",
709 extension=".pxm",
710 priority=["opencv"],
711 ),
712 FileExtension(
713 name="Portable Pixelmap (ASCII)",
714 extension=".ppm",
715 priority=["PPM-FI", "opencv"],
716 ),
717 FileExtension(
718 name="Portable Pixelmap (Raw)",
719 extension=".ppm",
720 priority=["PPMRAW-FI"],
721 ),
722 FileExtension(
723 name="Ghostscript",
724 extension=".ps",
725 priority=["pillow", "EPS-PIL"],
726 ),
727 FileExtension(
728 name="Adope Photoshop 2.5 and 3.0",
729 extension=".psd",
730 priority=["pillow", "PSD-PIL", "PSD-FI"],
731 ),
732 FileExtension(
733 extension=".ptx",
734 priority=["RAW-FI"],
735 ),
736 FileExtension(
737 extension=".pxn",
738 priority=["RAW-FI"],
739 ),
740 FileExtension(
741 name="PIXAR raster image",
742 extension=".pxr",
743 priority=["pillow", "PIXAR-PIL"],
744 ),
745 FileExtension(
746 extension=".qtk",
747 priority=["RAW-FI"],
748 ),
749 FileExtension(
750 extension=".raf",
751 priority=["RAW-FI"],
752 ),
753 FileExtension(
754 name="Sun Raster File",
755 extension=".ras",
756 priority=["pillow", "SUN-PIL", "RAS-FI", "pyav", "opencv"],
757 ),
758 FileExtension(
759 name="Sun Raster File",
760 extension=".sr",
761 priority=["opencv"],
762 ),
763 FileExtension(
764 extension=".raw",
765 priority=["RAW-FI", "LYTRO-ILLUM-RAW", "LYTRO-F01-RAW", "rawpy"],
766 ),
767 FileExtension(
768 extension=".rdc",
769 priority=["RAW-FI"],
770 ),
771 FileExtension(
772 name="Silicon Graphics Image",
773 extension=".rgb",
774 priority=["pillow", "SGI-PIL"],
775 ),
776 FileExtension(
777 name="Silicon Graphics Image",
778 extension=".rgba",
779 priority=["pillow", "SGI-PIL"],
780 ),
781 FileExtension(
782 extension=".rw2",
783 priority=["RAW-FI"],
784 ),
785 FileExtension(
786 extension=".rwl",
787 priority=["RAW-FI"],
788 ),
789 FileExtension(
790 extension=".rwz",
791 priority=["RAW-FI"],
792 ),
793 FileExtension(
794 name="Silicon Graphics Image",
795 extension=".sgi",
796 priority=["pillow", "SGI-PIL", "pyav"],
797 ),
798 FileExtension(
799 name="SPE File Format",
800 extension=".spe",
801 priority=["SPE"],
802 ),
803 FileExtension(
804 extension=".SPIDER",
805 priority=["pillow", "SPIDER-PIL"],
806 ),
807 FileExtension(
808 extension=".sr2",
809 priority=["RAW-FI"],
810 ),
811 FileExtension(
812 extension=".srf",
813 priority=["RAW-FI"],
814 ),
815 FileExtension(
816 extension=".srw",
817 priority=["RAW-FI"],
818 ),
819 FileExtension(
820 extension=".sti",
821 priority=["RAW-FI"],
822 ),
823 FileExtension(
824 extension=".stk",
825 priority=["tifffile", "TIFF"],
826 ),
827 FileExtension(
828 name="ShockWave Flash",
829 extension=".swf",
830 priority=["SWF", "pyav"],
831 ),
832 FileExtension(
833 name="Truevision TGA",
834 extension=".targa",
835 priority=["pillow", "TARGA-FI"],
836 ),
837 FileExtension(
838 name="Truevision TGA",
839 extension=".tga",
840 priority=["pillow", "TGA-PIL", "TARGA-FI", "pyav"],
841 ),
842 FileExtension(
843 name="Tagged Image File",
844 extension=".tif",
845 priority=[
846 "tifffile",
847 "TIFF",
848 "pillow",
849 "TIFF-PIL",
850 "TIFF-FI",
851 "FEI",
852 "ITK",
853 "GDAL",
854 "pyav",
855 "opencv",
856 ],
857 volume_support=True,
858 ),
859 FileExtension(
860 name="Tagged Image File Format",
861 extension=".tiff",
862 priority=[
863 "tifffile",
864 "TIFF",
865 "pillow",
866 "TIFF-PIL",
867 "TIFF-FI",
868 "FEI",
869 "ITK",
870 "GDAL",
871 "pyav",
872 "opencv",
873 ],
874 volume_support=True,
875 ),
876 FileExtension(
877 extension=".vda",
878 priority=["pillow"],
879 ),
880 FileExtension(
881 extension=".vst",
882 priority=["pillow"],
883 ),
884 FileExtension(
885 extension=".vtk",
886 priority=["ITK"],
887 ),
888 FileExtension(
889 name="Wireless Bitmap",
890 extension=".wap",
891 priority=["WBMP-FI"],
892 ),
893 FileExtension(
894 name="Wireless Bitmap",
895 extension=".wbm",
896 priority=["WBMP-FI"],
897 ),
898 FileExtension(
899 name="Wireless Bitmap",
900 extension=".wbmp",
901 priority=["WBMP-FI"],
902 ),
903 FileExtension(
904 name="JPEG Extended Range",
905 extension=".wdp",
906 priority=["JPEG-XR-FI"],
907 ),
908 FileExtension(
909 name="Matroska",
910 extension=".webm",
911 priority=["FFMPEG", "pyav"],
912 ),
913 FileExtension(
914 name="Google WebP",
915 extension=".webp",
916 priority=["pillow", "WEBP-FI", "pyav", "opencv"],
917 ),
918 FileExtension(
919 name="Windows Meta File",
920 extension=".wmf",
921 priority=["pillow", "WMF-PIL"],
922 ),
923 FileExtension(
924 name="Windows Media Video",
925 extension=".wmv",
926 priority=["FFMPEG"],
927 ),
928 FileExtension(
929 name="X11 Bitmap",
930 extension=".xbm",
931 priority=["pillow", "XBM-PIL", "XBM-FI", "pyav"],
932 ),
933 FileExtension(
934 name="X11 Pixel Map",
935 extension=".xpm",
936 priority=["pillow", "XPM-PIL", "XPM-FI"],
937 ),
938 FileExtension(
939 name="Thumbnail Image",
940 extension=".XVTHUMB",
941 priority=["pillow", "XVTHUMB-PIL"],
942 ),
943 FileExtension(
944 extension=".dpx",
945 priority=["pyav"],
946 ),
947 FileExtension(
948 extension=".im1",
949 priority=["pyav"],
950 ),
951 FileExtension(
952 extension=".im24",
953 priority=["pyav"],
954 ),
955 FileExtension(
956 extension=".im8",
957 priority=["pyav"],
958 ),
959 FileExtension(
960 extension=".jls",
961 priority=["pyav"],
962 ),
963 FileExtension(
964 extension=".ljpg",
965 priority=["pyav"],
966 ),
967 FileExtension(
968 extension=".pam",
969 priority=["pyav"],
970 ),
971 FileExtension(
972 extension=".pcx",
973 priority=["pyav"],
974 ),
975 FileExtension(
976 extension=".pgmyuv",
977 priority=["pyav"],
978 ),
979 FileExtension(
980 extension=".pix",
981 priority=["pyav"],
982 ),
983 FileExtension(
984 extension=".ppm",
985 priority=["pyav"],
986 ),
987 FileExtension(
988 extension=".rs",
989 priority=["pyav"],
990 ),
991 FileExtension(
992 extension=".sun",
993 priority=["pyav"],
994 ),
995 FileExtension(
996 extension=".sunras",
997 priority=["pyav"],
998 ),
999 FileExtension(
1000 extension=".xface",
1001 priority=["pyav"],
1002 ),
1003 FileExtension(
1004 extension=".xwd",
1005 priority=["pyav"],
1006 ),
1007 FileExtension(
1008 extension=".y",
1009 priority=["pyav"],
1010 ),
1011 FileExtension(
1012 name="3GP (3GPP file format)",
1013 extension=".3g2",
1014 priority=["pyav"],
1015 ),
1016 FileExtension(
1017 name="3GP (3GPP file format)",
1018 extension=".3gp",
1019 priority=["pyav"],
1020 ),
1021 FileExtension(
1022 name="3GP (3GPP file format)",
1023 extension=".f4v",
1024 priority=["pyav"],
1025 ),
1026 FileExtension(
1027 name="3GP (3GPP file format)",
1028 extension=".ism",
1029 priority=["pyav"],
1030 ),
1031 FileExtension(
1032 name="3GP (3GPP file format)",
1033 extension=".isma",
1034 priority=["pyav"],
1035 ),
1036 FileExtension(
1037 name="3GP (3GPP file format)",
1038 extension=".ismv",
1039 priority=["pyav"],
1040 ),
1041 FileExtension(
1042 name="3GP (3GPP file format)",
1043 extension=".m4a",
1044 priority=["pyav"],
1045 ),
1046 FileExtension(
1047 name="3GP (3GPP file format)",
1048 extension=".m4b",
1049 priority=["pyav"],
1050 ),
1051 FileExtension(
1052 name="3GP (3GPP file format)",
1053 extension=".mj2",
1054 priority=["pyav"],
1055 ),
1056 FileExtension(
1057 name="3GP (3GPP file format)",
1058 extension=".psp",
1059 priority=["pyav"],
1060 ),
1061 FileExtension(
1062 name="3GP2 (3GPP2 file format)",
1063 extension=".3g2",
1064 priority=["pyav"],
1065 ),
1066 FileExtension(
1067 name="3GP2 (3GPP2 file format)",
1068 extension=".3gp",
1069 priority=["pyav"],
1070 ),
1071 FileExtension(
1072 name="3GP2 (3GPP2 file format)",
1073 extension=".f4v",
1074 priority=["pyav"],
1075 ),
1076 FileExtension(
1077 name="3GP2 (3GPP2 file format)",
1078 extension=".ism",
1079 priority=["pyav"],
1080 ),
1081 FileExtension(
1082 name="3GP2 (3GPP2 file format)",
1083 extension=".isma",
1084 priority=["pyav"],
1085 ),
1086 FileExtension(
1087 name="3GP2 (3GPP2 file format)",
1088 extension=".ismv",
1089 priority=["pyav"],
1090 ),
1091 FileExtension(
1092 name="3GP2 (3GPP2 file format)",
1093 extension=".m4a",
1094 priority=["pyav"],
1095 ),
1096 FileExtension(
1097 name="3GP2 (3GPP2 file format)",
1098 extension=".m4b",
1099 priority=["pyav"],
1100 ),
1101 FileExtension(
1102 name="3GP2 (3GPP2 file format)",
1103 extension=".mj2",
1104 priority=["pyav"],
1105 ),
1106 FileExtension(
1107 name="3GP2 (3GPP2 file format)",
1108 extension=".psp",
1109 priority=["pyav"],
1110 ),
1111 FileExtension(
1112 name="3GPP AMR",
1113 extension=".amr",
1114 priority=["pyav"],
1115 ),
1116 FileExtension(
1117 name="a64 - video for Commodore 64",
1118 extension=".A64",
1119 priority=["pyav"],
1120 ),
1121 FileExtension(
1122 name="a64 - video for Commodore 64",
1123 extension=".a64",
1124 priority=["pyav"],
1125 ),
1126 FileExtension(
1127 name="Adobe Filmstrip",
1128 extension=".flm",
1129 priority=["pyav"],
1130 ),
1131 FileExtension(
1132 name="AMV",
1133 extension=".amv",
1134 priority=["pyav"],
1135 ),
1136 FileExtension(
1137 name="ASF (Advanced / Active Streaming Format)",
1138 extension=".asf",
1139 priority=["pyav"],
1140 ),
1141 FileExtension(
1142 name="ASF (Advanced / Active Streaming Format)",
1143 extension=".asf",
1144 priority=["pyav"],
1145 ),
1146 FileExtension(
1147 name="ASF (Advanced / Active Streaming Format)",
1148 extension=".wmv",
1149 priority=["pyav"],
1150 ),
1151 FileExtension(
1152 name="ASF (Advanced / Active Streaming Format)",
1153 extension=".wmv",
1154 priority=["pyav"],
1155 ),
1156 FileExtension(
1157 name="AV1 Annex B",
1158 extension=".obu",
1159 priority=["pyav"],
1160 ),
1161 FileExtension(
1162 name="AV1 low overhead OBU",
1163 extension=".obu",
1164 priority=["pyav"],
1165 ),
1166 FileExtension(
1167 name="AVI (Audio Video Interleaved)",
1168 extension=".avi",
1169 priority=["pyav"],
1170 ),
1171 FileExtension(
1172 name="AVR (Audio Visual Research)",
1173 extension=".avr",
1174 priority=["pyav"],
1175 ),
1176 FileExtension(
1177 name="Beam Software SIFF",
1178 extension=".vb",
1179 priority=["pyav"],
1180 ),
1181 FileExtension(
1182 name="CD Graphics",
1183 extension=".cdg",
1184 priority=["pyav"],
1185 ),
1186 FileExtension(
1187 name="Commodore CDXL video",
1188 extension=".cdxl",
1189 priority=["pyav"],
1190 ),
1191 FileExtension(
1192 name="Commodore CDXL video",
1193 extension=".xl",
1194 priority=["pyav"],
1195 ),
1196 FileExtension(
1197 name="DASH Muxer",
1198 extension=".mpd",
1199 priority=["pyav"],
1200 ),
1201 FileExtension(
1202 name="Digital Pictures SGA",
1203 extension=".sga",
1204 priority=["pyav"],
1205 ),
1206 FileExtension(
1207 name="Discworld II BMV",
1208 extension=".bmv",
1209 priority=["pyav"],
1210 ),
1211 FileExtension(
1212 name="DV (Digital Video)",
1213 extension=".dif",
1214 priority=["pyav"],
1215 ),
1216 FileExtension(
1217 name="DV (Digital Video)",
1218 extension=".dv",
1219 priority=["pyav"],
1220 ),
1221 FileExtension(
1222 name="F4V Adobe Flash Video",
1223 extension=".f4v",
1224 priority=["pyav"],
1225 ),
1226 FileExtension(
1227 name="FLV (Flash Video)",
1228 extension=".flv",
1229 priority=["pyav"],
1230 ),
1231 FileExtension(
1232 name="GXF (General eXchange Format)",
1233 extension=".gxf",
1234 priority=["pyav"],
1235 ),
1236 FileExtension(
1237 name="iCE Draw File",
1238 extension=".idf",
1239 priority=["pyav"],
1240 ),
1241 FileExtension(
1242 name="IFV CCTV DVR",
1243 extension=".ifv",
1244 priority=["pyav"],
1245 ),
1246 FileExtension(
1247 name="iPod H.264 MP4 (MPEG-4 Part 14)",
1248 extension=".m4a",
1249 priority=["pyav"],
1250 ),
1251 FileExtension(
1252 name="iPod H.264 MP4 (MPEG-4 Part 14)",
1253 extension=".m4b",
1254 priority=["pyav"],
1255 ),
1256 FileExtension(
1257 name="iPod H.264 MP4 (MPEG-4 Part 14)",
1258 extension=".m4v",
1259 priority=["pyav"],
1260 ),
1261 FileExtension(
1262 name="IVR (Internet Video Recording)",
1263 extension=".ivr",
1264 priority=["pyav"],
1265 ),
1266 FileExtension(
1267 name="Konami PS2 SVAG",
1268 extension=".svag",
1269 priority=["pyav"],
1270 ),
1271 FileExtension(
1272 name="KUX (YouKu)",
1273 extension=".kux",
1274 priority=["pyav"],
1275 ),
1276 FileExtension(
1277 name="live RTMP FLV (Flash Video)",
1278 extension=".flv",
1279 priority=["pyav"],
1280 ),
1281 FileExtension(
1282 name="Loki SDL MJPEG",
1283 extension=".mjpg",
1284 priority=["pyav"],
1285 ),
1286 FileExtension(
1287 name="LVF",
1288 extension=".lvf",
1289 priority=["pyav"],
1290 ),
1291 FileExtension(
1292 name="Matroska / WebM",
1293 extension=".mk3d",
1294 priority=["pyav"],
1295 ),
1296 FileExtension(
1297 name="Matroska / WebM",
1298 extension=".mka",
1299 priority=["pyav"],
1300 ),
1301 FileExtension(
1302 name="Matroska / WebM",
1303 extension=".mks",
1304 priority=["pyav"],
1305 ),
1306 FileExtension(
1307 name="Microsoft XMV",
1308 extension=".xmv",
1309 priority=["pyav"],
1310 ),
1311 FileExtension(
1312 name="MIME multipart JPEG",
1313 extension=".mjpg",
1314 priority=["pyav"],
1315 ),
1316 FileExtension(
1317 name="MobiClip MODS",
1318 extension=".mods",
1319 priority=["pyav"],
1320 ),
1321 FileExtension(
1322 name="MobiClip MOFLEX",
1323 extension=".moflex",
1324 priority=["pyav"],
1325 ),
1326 FileExtension(
1327 name="Motion Pixels MVI",
1328 extension=".mvi",
1329 priority=["pyav"],
1330 ),
1331 FileExtension(
1332 name="MP4 (MPEG-4 Part 14)",
1333 extension=".3g2",
1334 priority=["pyav"],
1335 ),
1336 FileExtension(
1337 name="MP4 (MPEG-4 Part 14)",
1338 extension=".3gp",
1339 priority=["pyav"],
1340 ),
1341 FileExtension(
1342 name="MP4 (MPEG-4 Part 14)",
1343 extension=".f4v",
1344 priority=["pyav"],
1345 ),
1346 FileExtension(
1347 name="MP4 (MPEG-4 Part 14)",
1348 extension=".ism",
1349 priority=["pyav"],
1350 ),
1351 FileExtension(
1352 name="MP4 (MPEG-4 Part 14)",
1353 extension=".isma",
1354 priority=["pyav"],
1355 ),
1356 FileExtension(
1357 name="MP4 (MPEG-4 Part 14)",
1358 extension=".ismv",
1359 priority=["pyav"],
1360 ),
1361 FileExtension(
1362 name="MP4 (MPEG-4 Part 14)",
1363 extension=".m4a",
1364 priority=["pyav"],
1365 ),
1366 FileExtension(
1367 name="MP4 (MPEG-4 Part 14)",
1368 extension=".m4b",
1369 priority=["pyav"],
1370 ),
1371 FileExtension(
1372 name="MP4 (MPEG-4 Part 14)",
1373 extension=".mj2",
1374 priority=["pyav"],
1375 ),
1376 FileExtension(
1377 name="MP4 (MPEG-4 Part 14)",
1378 extension=".psp",
1379 priority=["pyav"],
1380 ),
1381 FileExtension(
1382 name="MPEG-2 PS (DVD VOB)",
1383 extension=".dvd",
1384 priority=["pyav"],
1385 ),
1386 FileExtension(
1387 name="MPEG-2 PS (SVCD)",
1388 extension=".vob",
1389 priority=["pyav"],
1390 ),
1391 FileExtension(
1392 name="MPEG-2 PS (VOB)",
1393 extension=".vob",
1394 priority=["pyav"],
1395 ),
1396 FileExtension(
1397 name="MPEG-TS (MPEG-2 Transport Stream)",
1398 extension=".m2t",
1399 priority=["pyav"],
1400 ),
1401 FileExtension(
1402 name="MPEG-TS (MPEG-2 Transport Stream)",
1403 extension=".m2ts",
1404 priority=["pyav"],
1405 ),
1406 FileExtension(
1407 name="MPEG-TS (MPEG-2 Transport Stream)",
1408 extension=".mts",
1409 priority=["pyav"],
1410 ),
1411 FileExtension(
1412 name="MPEG-TS (MPEG-2 Transport Stream)",
1413 extension=".ts",
1414 priority=["pyav"],
1415 ),
1416 FileExtension(
1417 name="Musepack",
1418 extension=".mpc",
1419 priority=["pyav"],
1420 ),
1421 FileExtension(
1422 name="MXF (Material eXchange Format) Operational Pattern Atom",
1423 extension=".mxf",
1424 priority=["pyav"],
1425 ),
1426 FileExtension(
1427 name="MXF (Material eXchange Format)",
1428 extension=".mxf",
1429 priority=["pyav"],
1430 ),
1431 FileExtension(
1432 name="MxPEG clip",
1433 extension=".mxg",
1434 priority=["pyav"],
1435 ),
1436 FileExtension(
1437 name="NC camera feed",
1438 extension=".v",
1439 priority=["pyav"],
1440 ),
1441 FileExtension(
1442 name="NUT",
1443 extension=".nut",
1444 priority=["pyav"],
1445 ),
1446 FileExtension(
1447 name="Ogg Video",
1448 extension=".ogv",
1449 priority=["pyav"],
1450 ),
1451 FileExtension(
1452 name="Ogg",
1453 extension=".ogg",
1454 priority=["pyav"],
1455 ),
1456 FileExtension(
1457 name="On2 IVF",
1458 extension=".ivf",
1459 priority=["pyav"],
1460 ),
1461 FileExtension(
1462 name="PSP MP4 (MPEG-4 Part 14)",
1463 extension=".psp",
1464 priority=["pyav"],
1465 ),
1466 FileExtension(
1467 name="Psygnosis YOP",
1468 extension=".yop",
1469 priority=["pyav"],
1470 ),
1471 FileExtension(
1472 name="QuickTime / MOV",
1473 extension=".3g2",
1474 priority=["pyav"],
1475 ),
1476 FileExtension(
1477 name="QuickTime / MOV",
1478 extension=".3gp",
1479 priority=["pyav"],
1480 ),
1481 FileExtension(
1482 name="QuickTime / MOV",
1483 extension=".f4v",
1484 priority=["pyav"],
1485 ),
1486 FileExtension(
1487 name="QuickTime / MOV",
1488 extension=".ism",
1489 priority=["pyav"],
1490 ),
1491 FileExtension(
1492 name="QuickTime / MOV",
1493 extension=".isma",
1494 priority=["pyav"],
1495 ),
1496 FileExtension(
1497 name="QuickTime / MOV",
1498 extension=".ismv",
1499 priority=["pyav"],
1500 ),
1501 FileExtension(
1502 name="QuickTime / MOV",
1503 extension=".m4a",
1504 priority=["pyav"],
1505 ),
1506 FileExtension(
1507 name="QuickTime / MOV",
1508 extension=".m4b",
1509 priority=["pyav"],
1510 ),
1511 FileExtension(
1512 name="QuickTime / MOV",
1513 extension=".mj2",
1514 priority=["pyav"],
1515 ),
1516 FileExtension(
1517 name="QuickTime / MOV",
1518 extension=".psp",
1519 priority=["pyav"],
1520 ),
1521 FileExtension(
1522 name="raw AVS2-P2/IEEE1857.4 video",
1523 extension=".avs",
1524 priority=["pyav"],
1525 ),
1526 FileExtension(
1527 name="raw AVS2-P2/IEEE1857.4 video",
1528 extension=".avs2",
1529 priority=["pyav"],
1530 ),
1531 FileExtension(
1532 name="raw AVS3-P2/IEEE1857.10",
1533 extension=".avs3",
1534 priority=["pyav"],
1535 ),
1536 FileExtension(
1537 name="raw Chinese AVS (Audio Video Standard) video",
1538 extension=".cavs",
1539 priority=["pyav"],
1540 ),
1541 FileExtension(
1542 name="raw Dirac",
1543 extension=".drc",
1544 priority=["pyav"],
1545 ),
1546 FileExtension(
1547 name="raw Dirac",
1548 extension=".vc2",
1549 priority=["pyav"],
1550 ),
1551 FileExtension(
1552 name="raw DNxHD (SMPTE VC-3)",
1553 extension=".dnxhd",
1554 priority=["pyav"],
1555 ),
1556 FileExtension(
1557 name="raw DNxHD (SMPTE VC-3)",
1558 extension=".dnxhr",
1559 priority=["pyav"],
1560 ),
1561 FileExtension(
1562 name="raw GSM",
1563 extension=".gsm",
1564 priority=["pyav"],
1565 ),
1566 FileExtension(
1567 name="raw H.261",
1568 extension=".h261",
1569 priority=["pyav"],
1570 ),
1571 FileExtension(
1572 name="raw H.263",
1573 extension=".h263",
1574 priority=["pyav"],
1575 ),
1576 FileExtension(
1577 name="raw H.264 video",
1578 extension=".264",
1579 priority=["pyav"],
1580 ),
1581 FileExtension(
1582 name="raw H.264 video",
1583 extension=".avc",
1584 priority=["pyav"],
1585 ),
1586 FileExtension(
1587 name="raw H.264 video",
1588 extension=".h264",
1589 priority=["pyav", "FFMPEG"],
1590 ),
1591 FileExtension(
1592 name="raw H.264 video",
1593 extension=".h26l",
1594 priority=["pyav"],
1595 ),
1596 FileExtension(
1597 name="raw HEVC video",
1598 extension=".265",
1599 priority=["pyav"],
1600 ),
1601 FileExtension(
1602 name="raw HEVC video",
1603 extension=".h265",
1604 priority=["pyav"],
1605 ),
1606 FileExtension(
1607 name="raw HEVC video",
1608 extension=".hevc",
1609 priority=["pyav"],
1610 ),
1611 FileExtension(
1612 name="raw id RoQ",
1613 extension=".roq",
1614 priority=["pyav"],
1615 ),
1616 FileExtension(
1617 name="raw Ingenient MJPEG",
1618 extension=".cgi",
1619 priority=["pyav"],
1620 ),
1621 FileExtension(
1622 name="raw IPU Video",
1623 extension=".ipu",
1624 priority=["pyav"],
1625 ),
1626 FileExtension(
1627 name="raw MJPEG 2000 video",
1628 extension=".j2k",
1629 priority=["pyav"],
1630 ),
1631 FileExtension(
1632 name="raw MJPEG video",
1633 extension=".mjpeg",
1634 priority=["pyav"],
1635 ),
1636 FileExtension(
1637 name="raw MJPEG video",
1638 extension=".mjpg",
1639 priority=["pyav"],
1640 ),
1641 FileExtension(
1642 name="raw MJPEG video",
1643 extension=".mpo",
1644 priority=["pyav"],
1645 ),
1646 FileExtension(
1647 name="raw MPEG-1 video",
1648 extension=".m1v",
1649 priority=["pyav"],
1650 ),
1651 FileExtension(
1652 name="raw MPEG-1 video",
1653 extension=".mpeg",
1654 priority=["pyav"],
1655 ),
1656 FileExtension(
1657 name="raw MPEG-1 video",
1658 extension=".mpg",
1659 priority=["pyav"],
1660 ),
1661 FileExtension(
1662 name="raw MPEG-2 video",
1663 extension=".m2v",
1664 priority=["pyav"],
1665 ),
1666 FileExtension(
1667 name="raw MPEG-4 video",
1668 extension=".m4v",
1669 priority=["pyav"],
1670 ),
1671 FileExtension(
1672 name="raw VC-1 video",
1673 extension=".vc1",
1674 priority=["pyav"],
1675 ),
1676 FileExtension(
1677 name="raw video",
1678 extension=".cif",
1679 priority=["pyav"],
1680 ),
1681 FileExtension(
1682 name="raw video",
1683 extension=".qcif",
1684 priority=["pyav"],
1685 ),
1686 FileExtension(
1687 name="raw video",
1688 extension=".rgb",
1689 priority=["pyav"],
1690 ),
1691 FileExtension(
1692 name="raw video",
1693 extension=".yuv",
1694 priority=["pyav"],
1695 ),
1696 FileExtension(
1697 name="RealMedia",
1698 extension=".rm",
1699 priority=["pyav"],
1700 ),
1701 FileExtension(
1702 name="SDR2",
1703 extension=".sdr2",
1704 priority=["pyav"],
1705 ),
1706 FileExtension(
1707 name="Sega FILM / CPK",
1708 extension=".cpk",
1709 priority=["pyav"],
1710 ),
1711 FileExtension(
1712 name="SER (Simple uncompressed video format for astronomical capturing)",
1713 extension=".ser",
1714 priority=["pyav"],
1715 ),
1716 FileExtension(
1717 name="Simbiosis Interactive IMX",
1718 extension=".imx",
1719 priority=["pyav"],
1720 ),
1721 FileExtension(
1722 name="Square SVS",
1723 extension=".svs",
1724 priority=["tifffile", "pyav"],
1725 ),
1726 FileExtension(
1727 name="TiVo TY Stream",
1728 extension=".ty",
1729 priority=["pyav"],
1730 ),
1731 FileExtension(
1732 name="TiVo TY Stream",
1733 extension=".ty+",
1734 priority=["pyav"],
1735 ),
1736 FileExtension(
1737 name="Uncompressed 4:2:2 10-bit",
1738 extension=".v210",
1739 priority=["pyav"],
1740 ),
1741 FileExtension(
1742 name="Uncompressed 4:2:2 10-bit",
1743 extension=".yuv10",
1744 priority=["pyav"],
1745 ),
1746 FileExtension(
1747 name="VC-1 test bitstream",
1748 extension=".rcv",
1749 priority=["pyav"],
1750 ),
1751 FileExtension(
1752 name="Video CCTV DAT",
1753 extension=".dat",
1754 priority=["pyav"],
1755 ),
1756 FileExtension(
1757 name="Video DAV",
1758 extension=".dav",
1759 priority=["pyav"],
1760 ),
1761 FileExtension(
1762 name="Vivo",
1763 extension=".viv",
1764 priority=["pyav"],
1765 ),
1766 FileExtension(
1767 name="WebM Chunk Muxer",
1768 extension=".chk",
1769 priority=["pyav"],
1770 ),
1771 FileExtension(
1772 name="WebM",
1773 extension=".mk3d",
1774 priority=["pyav"],
1775 ),
1776 FileExtension(
1777 name="WebM",
1778 extension=".mka",
1779 priority=["pyav"],
1780 ),
1781 FileExtension(
1782 name="WebM",
1783 extension=".mks",
1784 priority=["pyav"],
1785 ),
1786 FileExtension(
1787 name="Windows Television (WTV)",
1788 extension=".wtv",
1789 priority=["pyav"],
1790 ),
1791 FileExtension(
1792 name="Xilam DERF",
1793 extension=".adp",
1794 priority=["pyav"],
1795 ),
1796 FileExtension(
1797 name="YUV4MPEG pipe",
1798 extension=".y4m",
1799 priority=["pyav"],
1800 ),
1801 FileExtension(
1802 extension=".qpi",
1803 priority=["tifffile"],
1804 ),
1805 FileExtension(
1806 name="PCO Camera",
1807 extension=".pcoraw",
1808 priority=["tifffile"],
1809 ),
1810 FileExtension(
1811 name="PCO Camera",
1812 extension=".rec",
1813 priority=["tifffile"],
1814 ),
1815 FileExtension(
1816 name="Perkin Elmer Vectra",
1817 extension=".qptiff",
1818 priority=["tifffile"],
1819 ),
1820 FileExtension(
1821 name="Pyramid Encoded TIFF",
1822 extension=".ptiff",
1823 priority=["tifffile"],
1824 ),
1825 FileExtension(
1826 name="Pyramid Encoded TIFF",
1827 extension=".ptif",
1828 priority=["tifffile"],
1829 ),
1830 FileExtension(
1831 name="Opticks Gel",
1832 extension=".gel",
1833 priority=["tifffile"],
1834 ),
1835 FileExtension(
1836 name="Zoomify Image Format",
1837 extension=".zif",
1838 priority=["tifffile"],
1839 ),
1840 FileExtension(
1841 name="Hamamatsu Slide Scanner",
1842 extension=".ndpi",
1843 priority=["tifffile"],
1844 ),
1845 FileExtension(
1846 name="Roche Digital Pathology",
1847 extension=".bif",
1848 priority=["tifffile"],
1849 ),
1850 FileExtension(
1851 extension=".tf8",
1852 priority=["tifffile"],
1853 ),
1854 FileExtension(
1855 extension=".btf",
1856 priority=["tifffile"],
1857 ),
1858 FileExtension(
1859 name="High Efficiency Image File Format",
1860 extension=".heic",
1861 priority=["pillow"],
1862 ),
1863 FileExtension(
1864 name="AV1 Image File Format",
1865 extension=".avif",
1866 priority=["pillow"],
1867 ),
1868]
1869extension_list.sort(key=lambda x: x.extension)
1870
1871
1872known_extensions = dict()
1873for ext in extension_list:
1874 if ext.extension not in known_extensions:
1875 known_extensions[ext.extension] = list()
1876 known_extensions[ext.extension].append(ext)
1877
1878extension_list = [ext for ext_list in known_extensions.values() for ext in ext_list]
1879
1880_video_extension_strings = [
1881 ".264",
1882 ".265",
1883 ".3g2",
1884 ".3gp",
1885 ".a64",
1886 ".A64",
1887 ".adp",
1888 ".amr",
1889 ".amv",
1890 ".asf",
1891 ".avc",
1892 ".avi",
1893 ".avr",
1894 ".avs",
1895 ".avs2",
1896 ".avs3",
1897 ".bmv",
1898 ".cavs",
1899 ".cdg",
1900 ".cdxl",
1901 ".cgi",
1902 ".chk",
1903 ".cif",
1904 ".cpk",
1905 ".dat",
1906 ".dav",
1907 ".dif",
1908 ".dnxhd",
1909 ".dnxhr",
1910 ".drc",
1911 ".dv",
1912 ".dvd",
1913 ".f4v",
1914 ".flm",
1915 ".flv",
1916 ".gsm",
1917 ".gxf",
1918 ".h261",
1919 ".h263",
1920 ".h264",
1921 ".h265",
1922 ".h26l",
1923 ".hevc",
1924 ".idf",
1925 ".ifv",
1926 ".imx",
1927 ".ipu",
1928 ".ism",
1929 ".isma",
1930 ".ismv",
1931 ".ivf",
1932 ".ivr",
1933 ".j2k",
1934 ".kux",
1935 ".lvf",
1936 ".m1v",
1937 ".m2t",
1938 ".m2ts",
1939 ".m2v",
1940 ".m4a",
1941 ".m4b",
1942 ".m4v",
1943 ".mj2",
1944 ".mjpeg",
1945 ".mjpg",
1946 ".mk3d",
1947 ".mka",
1948 ".mks",
1949 ".mkv",
1950 ".mods",
1951 ".moflex",
1952 ".mov",
1953 ".mp4",
1954 ".mpc",
1955 ".mpd",
1956 ".mpeg",
1957 ".mpg",
1958 ".mpo",
1959 ".mts",
1960 ".mvi",
1961 ".mxf",
1962 ".mxg",
1963 ".nut",
1964 ".obu",
1965 ".ogg",
1966 ".ogv",
1967 ".psp",
1968 ".qcif",
1969 ".rcv",
1970 ".rgb",
1971 ".rm",
1972 ".roq",
1973 ".sdr2",
1974 ".ser",
1975 ".sga",
1976 ".svag",
1977 ".svs",
1978 ".ts",
1979 ".ty",
1980 ".ty+",
1981 ".v",
1982 ".v210",
1983 ".vb",
1984 ".vc1",
1985 ".vc2",
1986 ".viv",
1987 ".vob",
1988 ".webm",
1989 ".wmv",
1990 ".wtv",
1991 ".xl",
1992 ".xmv",
1993 ".y4m",
1994 ".yop",
1995 ".yuv",
1996 ".yuv10",
1997]
1998video_extensions = list()
1999for ext_string in _video_extension_strings:
2000 formats = known_extensions[ext_string]
2001 video_extensions.append(formats[0])
2002video_extensions.sort(key=lambda x: x.extension)