thanks to ffmpeg ❤
Browse filesThis view is limited to 50 files because it contains too many changes.
See raw diff
- .gitattributes +30 -35
- .gitignore +43 -0
- .mailmap +24 -0
- .travis.yml +30 -0
- .version +0 -0
- CONTRIBUTING.md +4 -0
- COPYING.GPLv2 +339 -0
- COPYING.GPLv3 +674 -0
- COPYING.LGPLv2.1 +502 -0
- COPYING.LGPLv3 +165 -0
- CREDITS +6 -0
- Changelog +2103 -0
- INSTALL.md +17 -0
- LICENSE.md +129 -0
- MAINTAINERS +647 -0
- Makefile +200 -0
- README.md +46 -0
- RELEASE +1 -0
- compat/aix/math.h +31 -0
- compat/atomics/dummy/stdatomic.h +176 -0
- compat/atomics/gcc/stdatomic.h +173 -0
- compat/atomics/pthread/stdatomic.c +39 -0
- compat/atomics/pthread/stdatomic.h +197 -0
- compat/atomics/suncc/stdatomic.h +186 -0
- compat/atomics/win32/stdatomic.h +180 -0
- compat/cuda/cuda_runtime.h +192 -0
- compat/cuda/dynlink_loader.h +33 -0
- compat/dispatch_semaphore/semaphore.h +42 -0
- compat/djgpp/math.c +47 -0
- compat/djgpp/math.h +25 -0
- compat/float/float.h +35 -0
- compat/float/limits.h +22 -0
- compat/getopt.c +84 -0
- compat/msvcrt/snprintf.c +71 -0
- compat/msvcrt/snprintf.h +38 -0
- compat/os2threads.h +229 -0
- compat/solaris/make_sunver.pl +352 -0
- compat/strtod.c +93 -0
- compat/va_copy.h +34 -0
- compat/w32dlfcn.h +150 -0
- compat/w32pthreads.h +197 -0
- compat/windows/makedef +129 -0
- compat/windows/mslink +9 -0
- compat/windows/mswindres +32 -0
- config.asm +747 -0
- config.h +764 -0
- config_components.h +2193 -0
- configure +0 -0
- doc/.gitignore +9 -0
- doc/APIchanges +0 -0
.gitattributes
CHANGED
@@ -1,35 +1,30 @@
|
|
1 |
-
*.
|
2 |
-
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
*.wasm filter=lfs diff=lfs merge=lfs -text
|
32 |
-
*.xz filter=lfs diff=lfs merge=lfs -text
|
33 |
-
*.zip filter=lfs diff=lfs merge=lfs -text
|
34 |
-
*.zst filter=lfs diff=lfs merge=lfs -text
|
35 |
-
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
|
|
1 |
+
*.pnm -diff -text
|
2 |
+
tests/ref/fate/sub-scc eol=crlf
|
3 |
+
ffmpeg_g filter=lfs diff=lfs merge=lfs -text
|
4 |
+
libavcodec/cbs_h2645.o filter=lfs diff=lfs merge=lfs -text
|
5 |
+
libavcodec/h264qpel.o filter=lfs diff=lfs merge=lfs -text
|
6 |
+
libavcodec/libavcodec.so filter=lfs diff=lfs merge=lfs -text
|
7 |
+
libavcodec/libavcodec.so.60 filter=lfs diff=lfs merge=lfs -text
|
8 |
+
libavcodec/vp8.o filter=lfs diff=lfs merge=lfs -text
|
9 |
+
libavcodec/vp9dsp_10bpp.o filter=lfs diff=lfs merge=lfs -text
|
10 |
+
libavcodec/vp9dsp_8bpp.o filter=lfs diff=lfs merge=lfs -text
|
11 |
+
libavcodec/vp9recon.o filter=lfs diff=lfs merge=lfs -text
|
12 |
+
libavcodec/x86/hevcdsp_init.o filter=lfs diff=lfs merge=lfs -text
|
13 |
+
libavfilter/libavfilter.so filter=lfs diff=lfs merge=lfs -text
|
14 |
+
libavfilter/libavfilter.so.9 filter=lfs diff=lfs merge=lfs -text
|
15 |
+
libavfilter/vf_bilateral_cuda.ptx.gz filter=lfs diff=lfs merge=lfs -text
|
16 |
+
libavfilter/vf_bwdif_cuda.ptx.gz filter=lfs diff=lfs merge=lfs -text
|
17 |
+
libavfilter/vf_chromakey_cuda.ptx.gz filter=lfs diff=lfs merge=lfs -text
|
18 |
+
libavfilter/vf_colorspace_cuda.ptx.gz filter=lfs diff=lfs merge=lfs -text
|
19 |
+
libavfilter/vf_lut3d.o filter=lfs diff=lfs merge=lfs -text
|
20 |
+
libavfilter/vf_overlay_cuda.ptx.gz filter=lfs diff=lfs merge=lfs -text
|
21 |
+
libavfilter/vf_scale_cuda.ptx.gz filter=lfs diff=lfs merge=lfs -text
|
22 |
+
libavfilter/vf_thumbnail_cuda.ptx.gz filter=lfs diff=lfs merge=lfs -text
|
23 |
+
libavfilter/vf_yadif_cuda.ptx.gz filter=lfs diff=lfs merge=lfs -text
|
24 |
+
libavformat/libavformat.so filter=lfs diff=lfs merge=lfs -text
|
25 |
+
libavformat/libavformat.so.60 filter=lfs diff=lfs merge=lfs -text
|
26 |
+
libavutil/libavutil.so filter=lfs diff=lfs merge=lfs -text
|
27 |
+
libavutil/libavutil.so.58 filter=lfs diff=lfs merge=lfs -text
|
28 |
+
libswscale/libswscale.so filter=lfs diff=lfs merge=lfs -text
|
29 |
+
libswscale/libswscale.so.7 filter=lfs diff=lfs merge=lfs -text
|
30 |
+
libswscale/output.o filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
|
|
|
|
.gitignore
ADDED
@@ -0,0 +1,43 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
*.a
|
2 |
+
*.o
|
3 |
+
*.o.*
|
4 |
+
*.d
|
5 |
+
*.def
|
6 |
+
*.dll
|
7 |
+
*.dylib
|
8 |
+
*.exe
|
9 |
+
*.exp
|
10 |
+
*.gcda
|
11 |
+
*.gcno
|
12 |
+
*.h.c
|
13 |
+
*.ilk
|
14 |
+
*.lib
|
15 |
+
*.pc
|
16 |
+
*.pdb
|
17 |
+
*.so
|
18 |
+
*.so.*
|
19 |
+
*.swp
|
20 |
+
*.ver
|
21 |
+
*.version
|
22 |
+
*.metal.air
|
23 |
+
*.metallib
|
24 |
+
*.metallib.c
|
25 |
+
*.ptx
|
26 |
+
*.ptx.c
|
27 |
+
*.ptx.gz
|
28 |
+
*_g
|
29 |
+
\#*
|
30 |
+
.\#*
|
31 |
+
/.config
|
32 |
+
/.version
|
33 |
+
/ffmpeg
|
34 |
+
/ffplay
|
35 |
+
/ffprobe
|
36 |
+
/config.asm
|
37 |
+
/config.h
|
38 |
+
/config_components.h
|
39 |
+
/coverage.info
|
40 |
+
/lcov/
|
41 |
+
/src
|
42 |
+
/mapfile
|
43 |
+
/tools/python/__pycache__/
|
.mailmap
ADDED
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<jeebjp@gmail.com> <jan.ekstrom@aminocom.com>
|
2 |
+
<sw@jkqxz.net> <mrt@jkqxz.net>
|
3 |
+
<u@pkh.me> <cboesch@gopro.com>
|
4 |
+
<zhilizhao@tencent.com> <quinkblack@foxmail.com>
|
5 |
+
<zhilizhao@tencent.com> <wantlamy@gmail.com>
|
6 |
+
<modmaker@google.com> <modmaker-at-google.com@ffmpeg.org>
|
7 |
+
<stebbins@jetheaddev.com> <jstebbins@jetheaddev.com>
|
8 |
+
<barryjzhao@tencent.com> <mypopydev@gmail.com>
|
9 |
+
<barryjzhao@tencent.com> <jun.zhao@intel.com>
|
10 |
+
<josh@itanimul.li> <joshdk@obe.tv>
|
11 |
+
<michael@niedermayer.cc> <michaelni@gmx.at>
|
12 |
+
<linjie.justin.fu@gmail.com> <linjie.fu@intel.com>
|
13 |
+
<linjie.justin.fu@gmail.com> <fulinjie@zju.edu.cn>
|
14 |
+
<ceffmpeg@gmail.com> <cehoyos@ag.or.at>
|
15 |
+
<ceffmpeg@gmail.com> <cehoyos@rainbow.studorg.tuwien.ac.at>
|
16 |
+
<ffmpeg@gyani.pro> <gyandoshi@gmail.com>
|
17 |
+
<atomnuker@gmail.com> <rpehlivanov@obe.tv>
|
18 |
+
<lizhong1008@gmail.com> <zhong.li@intel.com>
|
19 |
+
<lizhong1008@gmail.com> <zhongli_dev@126.com>
|
20 |
+
<andreas.rheinhardt@gmail.com> <andreas.rheinhardt@googlemail.com>
|
21 |
+
rcombs <rcombs@rcombs.me> <rodger.combs@gmail.com>
|
22 |
+
<thilo.borgmann@mail.de> <thilo.borgmann@googlemail.com>
|
23 |
+
<liuqi05@kuaishou.com> <lq@chinaffmpeg.org>
|
24 |
+
<ruiling.song83@gmail.com> <ruiling.song@intel.com>
|
.travis.yml
ADDED
@@ -0,0 +1,30 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
language: c
|
2 |
+
sudo: false
|
3 |
+
os:
|
4 |
+
- linux
|
5 |
+
- osx
|
6 |
+
addons:
|
7 |
+
apt:
|
8 |
+
packages:
|
9 |
+
- nasm
|
10 |
+
- diffutils
|
11 |
+
compiler:
|
12 |
+
- clang
|
13 |
+
- gcc
|
14 |
+
matrix:
|
15 |
+
exclude:
|
16 |
+
- os: osx
|
17 |
+
compiler: gcc
|
18 |
+
cache:
|
19 |
+
directories:
|
20 |
+
- ffmpeg-samples
|
21 |
+
before_install:
|
22 |
+
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew update; fi
|
23 |
+
install:
|
24 |
+
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew install nasm; fi
|
25 |
+
script:
|
26 |
+
- mkdir -p ffmpeg-samples
|
27 |
+
- ./configure --samples=ffmpeg-samples --cc=$CC
|
28 |
+
- make -j 8
|
29 |
+
- make fate-rsync
|
30 |
+
- make check -j 8
|
.version
ADDED
File without changes
|
CONTRIBUTING.md
ADDED
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Note to Github users
|
2 |
+
Patches should be submitted to the [ffmpeg-devel mailing list](https://ffmpeg.org/mailman/listinfo/ffmpeg-devel) using `git format-patch` or `git send-email`. Github pull requests should be avoided because they are not part of our review process and **will be ignored**.
|
3 |
+
|
4 |
+
See [https://ffmpeg.org/developer.html#Contributing](https://ffmpeg.org/developer.html#Contributing) for more information.
|
COPYING.GPLv2
ADDED
@@ -0,0 +1,339 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
GNU GENERAL PUBLIC LICENSE
|
2 |
+
Version 2, June 1991
|
3 |
+
|
4 |
+
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
5 |
+
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
6 |
+
Everyone is permitted to copy and distribute verbatim copies
|
7 |
+
of this license document, but changing it is not allowed.
|
8 |
+
|
9 |
+
Preamble
|
10 |
+
|
11 |
+
The licenses for most software are designed to take away your
|
12 |
+
freedom to share and change it. By contrast, the GNU General Public
|
13 |
+
License is intended to guarantee your freedom to share and change free
|
14 |
+
software--to make sure the software is free for all its users. This
|
15 |
+
General Public License applies to most of the Free Software
|
16 |
+
Foundation's software and to any other program whose authors commit to
|
17 |
+
using it. (Some other Free Software Foundation software is covered by
|
18 |
+
the GNU Lesser General Public License instead.) You can apply it to
|
19 |
+
your programs, too.
|
20 |
+
|
21 |
+
When we speak of free software, we are referring to freedom, not
|
22 |
+
price. Our General Public Licenses are designed to make sure that you
|
23 |
+
have the freedom to distribute copies of free software (and charge for
|
24 |
+
this service if you wish), that you receive source code or can get it
|
25 |
+
if you want it, that you can change the software or use pieces of it
|
26 |
+
in new free programs; and that you know you can do these things.
|
27 |
+
|
28 |
+
To protect your rights, we need to make restrictions that forbid
|
29 |
+
anyone to deny you these rights or to ask you to surrender the rights.
|
30 |
+
These restrictions translate to certain responsibilities for you if you
|
31 |
+
distribute copies of the software, or if you modify it.
|
32 |
+
|
33 |
+
For example, if you distribute copies of such a program, whether
|
34 |
+
gratis or for a fee, you must give the recipients all the rights that
|
35 |
+
you have. You must make sure that they, too, receive or can get the
|
36 |
+
source code. And you must show them these terms so they know their
|
37 |
+
rights.
|
38 |
+
|
39 |
+
We protect your rights with two steps: (1) copyright the software, and
|
40 |
+
(2) offer you this license which gives you legal permission to copy,
|
41 |
+
distribute and/or modify the software.
|
42 |
+
|
43 |
+
Also, for each author's protection and ours, we want to make certain
|
44 |
+
that everyone understands that there is no warranty for this free
|
45 |
+
software. If the software is modified by someone else and passed on, we
|
46 |
+
want its recipients to know that what they have is not the original, so
|
47 |
+
that any problems introduced by others will not reflect on the original
|
48 |
+
authors' reputations.
|
49 |
+
|
50 |
+
Finally, any free program is threatened constantly by software
|
51 |
+
patents. We wish to avoid the danger that redistributors of a free
|
52 |
+
program will individually obtain patent licenses, in effect making the
|
53 |
+
program proprietary. To prevent this, we have made it clear that any
|
54 |
+
patent must be licensed for everyone's free use or not licensed at all.
|
55 |
+
|
56 |
+
The precise terms and conditions for copying, distribution and
|
57 |
+
modification follow.
|
58 |
+
|
59 |
+
GNU GENERAL PUBLIC LICENSE
|
60 |
+
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
61 |
+
|
62 |
+
0. This License applies to any program or other work which contains
|
63 |
+
a notice placed by the copyright holder saying it may be distributed
|
64 |
+
under the terms of this General Public License. The "Program", below,
|
65 |
+
refers to any such program or work, and a "work based on the Program"
|
66 |
+
means either the Program or any derivative work under copyright law:
|
67 |
+
that is to say, a work containing the Program or a portion of it,
|
68 |
+
either verbatim or with modifications and/or translated into another
|
69 |
+
language. (Hereinafter, translation is included without limitation in
|
70 |
+
the term "modification".) Each licensee is addressed as "you".
|
71 |
+
|
72 |
+
Activities other than copying, distribution and modification are not
|
73 |
+
covered by this License; they are outside its scope. The act of
|
74 |
+
running the Program is not restricted, and the output from the Program
|
75 |
+
is covered only if its contents constitute a work based on the
|
76 |
+
Program (independent of having been made by running the Program).
|
77 |
+
Whether that is true depends on what the Program does.
|
78 |
+
|
79 |
+
1. You may copy and distribute verbatim copies of the Program's
|
80 |
+
source code as you receive it, in any medium, provided that you
|
81 |
+
conspicuously and appropriately publish on each copy an appropriate
|
82 |
+
copyright notice and disclaimer of warranty; keep intact all the
|
83 |
+
notices that refer to this License and to the absence of any warranty;
|
84 |
+
and give any other recipients of the Program a copy of this License
|
85 |
+
along with the Program.
|
86 |
+
|
87 |
+
You may charge a fee for the physical act of transferring a copy, and
|
88 |
+
you may at your option offer warranty protection in exchange for a fee.
|
89 |
+
|
90 |
+
2. You may modify your copy or copies of the Program or any portion
|
91 |
+
of it, thus forming a work based on the Program, and copy and
|
92 |
+
distribute such modifications or work under the terms of Section 1
|
93 |
+
above, provided that you also meet all of these conditions:
|
94 |
+
|
95 |
+
a) You must cause the modified files to carry prominent notices
|
96 |
+
stating that you changed the files and the date of any change.
|
97 |
+
|
98 |
+
b) You must cause any work that you distribute or publish, that in
|
99 |
+
whole or in part contains or is derived from the Program or any
|
100 |
+
part thereof, to be licensed as a whole at no charge to all third
|
101 |
+
parties under the terms of this License.
|
102 |
+
|
103 |
+
c) If the modified program normally reads commands interactively
|
104 |
+
when run, you must cause it, when started running for such
|
105 |
+
interactive use in the most ordinary way, to print or display an
|
106 |
+
announcement including an appropriate copyright notice and a
|
107 |
+
notice that there is no warranty (or else, saying that you provide
|
108 |
+
a warranty) and that users may redistribute the program under
|
109 |
+
these conditions, and telling the user how to view a copy of this
|
110 |
+
License. (Exception: if the Program itself is interactive but
|
111 |
+
does not normally print such an announcement, your work based on
|
112 |
+
the Program is not required to print an announcement.)
|
113 |
+
|
114 |
+
These requirements apply to the modified work as a whole. If
|
115 |
+
identifiable sections of that work are not derived from the Program,
|
116 |
+
and can be reasonably considered independent and separate works in
|
117 |
+
themselves, then this License, and its terms, do not apply to those
|
118 |
+
sections when you distribute them as separate works. But when you
|
119 |
+
distribute the same sections as part of a whole which is a work based
|
120 |
+
on the Program, the distribution of the whole must be on the terms of
|
121 |
+
this License, whose permissions for other licensees extend to the
|
122 |
+
entire whole, and thus to each and every part regardless of who wrote it.
|
123 |
+
|
124 |
+
Thus, it is not the intent of this section to claim rights or contest
|
125 |
+
your rights to work written entirely by you; rather, the intent is to
|
126 |
+
exercise the right to control the distribution of derivative or
|
127 |
+
collective works based on the Program.
|
128 |
+
|
129 |
+
In addition, mere aggregation of another work not based on the Program
|
130 |
+
with the Program (or with a work based on the Program) on a volume of
|
131 |
+
a storage or distribution medium does not bring the other work under
|
132 |
+
the scope of this License.
|
133 |
+
|
134 |
+
3. You may copy and distribute the Program (or a work based on it,
|
135 |
+
under Section 2) in object code or executable form under the terms of
|
136 |
+
Sections 1 and 2 above provided that you also do one of the following:
|
137 |
+
|
138 |
+
a) Accompany it with the complete corresponding machine-readable
|
139 |
+
source code, which must be distributed under the terms of Sections
|
140 |
+
1 and 2 above on a medium customarily used for software interchange; or,
|
141 |
+
|
142 |
+
b) Accompany it with a written offer, valid for at least three
|
143 |
+
years, to give any third party, for a charge no more than your
|
144 |
+
cost of physically performing source distribution, a complete
|
145 |
+
machine-readable copy of the corresponding source code, to be
|
146 |
+
distributed under the terms of Sections 1 and 2 above on a medium
|
147 |
+
customarily used for software interchange; or,
|
148 |
+
|
149 |
+
c) Accompany it with the information you received as to the offer
|
150 |
+
to distribute corresponding source code. (This alternative is
|
151 |
+
allowed only for noncommercial distribution and only if you
|
152 |
+
received the program in object code or executable form with such
|
153 |
+
an offer, in accord with Subsection b above.)
|
154 |
+
|
155 |
+
The source code for a work means the preferred form of the work for
|
156 |
+
making modifications to it. For an executable work, complete source
|
157 |
+
code means all the source code for all modules it contains, plus any
|
158 |
+
associated interface definition files, plus the scripts used to
|
159 |
+
control compilation and installation of the executable. However, as a
|
160 |
+
special exception, the source code distributed need not include
|
161 |
+
anything that is normally distributed (in either source or binary
|
162 |
+
form) with the major components (compiler, kernel, and so on) of the
|
163 |
+
operating system on which the executable runs, unless that component
|
164 |
+
itself accompanies the executable.
|
165 |
+
|
166 |
+
If distribution of executable or object code is made by offering
|
167 |
+
access to copy from a designated place, then offering equivalent
|
168 |
+
access to copy the source code from the same place counts as
|
169 |
+
distribution of the source code, even though third parties are not
|
170 |
+
compelled to copy the source along with the object code.
|
171 |
+
|
172 |
+
4. You may not copy, modify, sublicense, or distribute the Program
|
173 |
+
except as expressly provided under this License. Any attempt
|
174 |
+
otherwise to copy, modify, sublicense or distribute the Program is
|
175 |
+
void, and will automatically terminate your rights under this License.
|
176 |
+
However, parties who have received copies, or rights, from you under
|
177 |
+
this License will not have their licenses terminated so long as such
|
178 |
+
parties remain in full compliance.
|
179 |
+
|
180 |
+
5. You are not required to accept this License, since you have not
|
181 |
+
signed it. However, nothing else grants you permission to modify or
|
182 |
+
distribute the Program or its derivative works. These actions are
|
183 |
+
prohibited by law if you do not accept this License. Therefore, by
|
184 |
+
modifying or distributing the Program (or any work based on the
|
185 |
+
Program), you indicate your acceptance of this License to do so, and
|
186 |
+
all its terms and conditions for copying, distributing or modifying
|
187 |
+
the Program or works based on it.
|
188 |
+
|
189 |
+
6. Each time you redistribute the Program (or any work based on the
|
190 |
+
Program), the recipient automatically receives a license from the
|
191 |
+
original licensor to copy, distribute or modify the Program subject to
|
192 |
+
these terms and conditions. You may not impose any further
|
193 |
+
restrictions on the recipients' exercise of the rights granted herein.
|
194 |
+
You are not responsible for enforcing compliance by third parties to
|
195 |
+
this License.
|
196 |
+
|
197 |
+
7. If, as a consequence of a court judgment or allegation of patent
|
198 |
+
infringement or for any other reason (not limited to patent issues),
|
199 |
+
conditions are imposed on you (whether by court order, agreement or
|
200 |
+
otherwise) that contradict the conditions of this License, they do not
|
201 |
+
excuse you from the conditions of this License. If you cannot
|
202 |
+
distribute so as to satisfy simultaneously your obligations under this
|
203 |
+
License and any other pertinent obligations, then as a consequence you
|
204 |
+
may not distribute the Program at all. For example, if a patent
|
205 |
+
license would not permit royalty-free redistribution of the Program by
|
206 |
+
all those who receive copies directly or indirectly through you, then
|
207 |
+
the only way you could satisfy both it and this License would be to
|
208 |
+
refrain entirely from distribution of the Program.
|
209 |
+
|
210 |
+
If any portion of this section is held invalid or unenforceable under
|
211 |
+
any particular circumstance, the balance of the section is intended to
|
212 |
+
apply and the section as a whole is intended to apply in other
|
213 |
+
circumstances.
|
214 |
+
|
215 |
+
It is not the purpose of this section to induce you to infringe any
|
216 |
+
patents or other property right claims or to contest validity of any
|
217 |
+
such claims; this section has the sole purpose of protecting the
|
218 |
+
integrity of the free software distribution system, which is
|
219 |
+
implemented by public license practices. Many people have made
|
220 |
+
generous contributions to the wide range of software distributed
|
221 |
+
through that system in reliance on consistent application of that
|
222 |
+
system; it is up to the author/donor to decide if he or she is willing
|
223 |
+
to distribute software through any other system and a licensee cannot
|
224 |
+
impose that choice.
|
225 |
+
|
226 |
+
This section is intended to make thoroughly clear what is believed to
|
227 |
+
be a consequence of the rest of this License.
|
228 |
+
|
229 |
+
8. If the distribution and/or use of the Program is restricted in
|
230 |
+
certain countries either by patents or by copyrighted interfaces, the
|
231 |
+
original copyright holder who places the Program under this License
|
232 |
+
may add an explicit geographical distribution limitation excluding
|
233 |
+
those countries, so that distribution is permitted only in or among
|
234 |
+
countries not thus excluded. In such case, this License incorporates
|
235 |
+
the limitation as if written in the body of this License.
|
236 |
+
|
237 |
+
9. The Free Software Foundation may publish revised and/or new versions
|
238 |
+
of the General Public License from time to time. Such new versions will
|
239 |
+
be similar in spirit to the present version, but may differ in detail to
|
240 |
+
address new problems or concerns.
|
241 |
+
|
242 |
+
Each version is given a distinguishing version number. If the Program
|
243 |
+
specifies a version number of this License which applies to it and "any
|
244 |
+
later version", you have the option of following the terms and conditions
|
245 |
+
either of that version or of any later version published by the Free
|
246 |
+
Software Foundation. If the Program does not specify a version number of
|
247 |
+
this License, you may choose any version ever published by the Free Software
|
248 |
+
Foundation.
|
249 |
+
|
250 |
+
10. If you wish to incorporate parts of the Program into other free
|
251 |
+
programs whose distribution conditions are different, write to the author
|
252 |
+
to ask for permission. For software which is copyrighted by the Free
|
253 |
+
Software Foundation, write to the Free Software Foundation; we sometimes
|
254 |
+
make exceptions for this. Our decision will be guided by the two goals
|
255 |
+
of preserving the free status of all derivatives of our free software and
|
256 |
+
of promoting the sharing and reuse of software generally.
|
257 |
+
|
258 |
+
NO WARRANTY
|
259 |
+
|
260 |
+
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
261 |
+
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
262 |
+
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
263 |
+
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
264 |
+
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
265 |
+
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
266 |
+
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
267 |
+
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
268 |
+
REPAIR OR CORRECTION.
|
269 |
+
|
270 |
+
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
271 |
+
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
272 |
+
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
273 |
+
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
274 |
+
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
275 |
+
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
276 |
+
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
277 |
+
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
278 |
+
POSSIBILITY OF SUCH DAMAGES.
|
279 |
+
|
280 |
+
END OF TERMS AND CONDITIONS
|
281 |
+
|
282 |
+
How to Apply These Terms to Your New Programs
|
283 |
+
|
284 |
+
If you develop a new program, and you want it to be of the greatest
|
285 |
+
possible use to the public, the best way to achieve this is to make it
|
286 |
+
free software which everyone can redistribute and change under these terms.
|
287 |
+
|
288 |
+
To do so, attach the following notices to the program. It is safest
|
289 |
+
to attach them to the start of each source file to most effectively
|
290 |
+
convey the exclusion of warranty; and each file should have at least
|
291 |
+
the "copyright" line and a pointer to where the full notice is found.
|
292 |
+
|
293 |
+
<one line to give the program's name and a brief idea of what it does.>
|
294 |
+
Copyright (C) <year> <name of author>
|
295 |
+
|
296 |
+
This program is free software; you can redistribute it and/or modify
|
297 |
+
it under the terms of the GNU General Public License as published by
|
298 |
+
the Free Software Foundation; either version 2 of the License, or
|
299 |
+
(at your option) any later version.
|
300 |
+
|
301 |
+
This program is distributed in the hope that it will be useful,
|
302 |
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
303 |
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
304 |
+
GNU General Public License for more details.
|
305 |
+
|
306 |
+
You should have received a copy of the GNU General Public License along
|
307 |
+
with this program; if not, write to the Free Software Foundation, Inc.,
|
308 |
+
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
309 |
+
|
310 |
+
Also add information on how to contact you by electronic and paper mail.
|
311 |
+
|
312 |
+
If the program is interactive, make it output a short notice like this
|
313 |
+
when it starts in an interactive mode:
|
314 |
+
|
315 |
+
Gnomovision version 69, Copyright (C) year name of author
|
316 |
+
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
317 |
+
This is free software, and you are welcome to redistribute it
|
318 |
+
under certain conditions; type `show c' for details.
|
319 |
+
|
320 |
+
The hypothetical commands `show w' and `show c' should show the appropriate
|
321 |
+
parts of the General Public License. Of course, the commands you use may
|
322 |
+
be called something other than `show w' and `show c'; they could even be
|
323 |
+
mouse-clicks or menu items--whatever suits your program.
|
324 |
+
|
325 |
+
You should also get your employer (if you work as a programmer) or your
|
326 |
+
school, if any, to sign a "copyright disclaimer" for the program, if
|
327 |
+
necessary. Here is a sample; alter the names:
|
328 |
+
|
329 |
+
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
330 |
+
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
331 |
+
|
332 |
+
<signature of Ty Coon>, 1 April 1989
|
333 |
+
Ty Coon, President of Vice
|
334 |
+
|
335 |
+
This General Public License does not permit incorporating your program into
|
336 |
+
proprietary programs. If your program is a subroutine library, you may
|
337 |
+
consider it more useful to permit linking proprietary applications with the
|
338 |
+
library. If this is what you want to do, use the GNU Lesser General
|
339 |
+
Public License instead of this License.
|
COPYING.GPLv3
ADDED
@@ -0,0 +1,674 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
GNU GENERAL PUBLIC LICENSE
|
2 |
+
Version 3, 29 June 2007
|
3 |
+
|
4 |
+
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
|
5 |
+
Everyone is permitted to copy and distribute verbatim copies
|
6 |
+
of this license document, but changing it is not allowed.
|
7 |
+
|
8 |
+
Preamble
|
9 |
+
|
10 |
+
The GNU General Public License is a free, copyleft license for
|
11 |
+
software and other kinds of works.
|
12 |
+
|
13 |
+
The licenses for most software and other practical works are designed
|
14 |
+
to take away your freedom to share and change the works. By contrast,
|
15 |
+
the GNU General Public License is intended to guarantee your freedom to
|
16 |
+
share and change all versions of a program--to make sure it remains free
|
17 |
+
software for all its users. We, the Free Software Foundation, use the
|
18 |
+
GNU General Public License for most of our software; it applies also to
|
19 |
+
any other work released this way by its authors. You can apply it to
|
20 |
+
your programs, too.
|
21 |
+
|
22 |
+
When we speak of free software, we are referring to freedom, not
|
23 |
+
price. Our General Public Licenses are designed to make sure that you
|
24 |
+
have the freedom to distribute copies of free software (and charge for
|
25 |
+
them if you wish), that you receive source code or can get it if you
|
26 |
+
want it, that you can change the software or use pieces of it in new
|
27 |
+
free programs, and that you know you can do these things.
|
28 |
+
|
29 |
+
To protect your rights, we need to prevent others from denying you
|
30 |
+
these rights or asking you to surrender the rights. Therefore, you have
|
31 |
+
certain responsibilities if you distribute copies of the software, or if
|
32 |
+
you modify it: responsibilities to respect the freedom of others.
|
33 |
+
|
34 |
+
For example, if you distribute copies of such a program, whether
|
35 |
+
gratis or for a fee, you must pass on to the recipients the same
|
36 |
+
freedoms that you received. You must make sure that they, too, receive
|
37 |
+
or can get the source code. And you must show them these terms so they
|
38 |
+
know their rights.
|
39 |
+
|
40 |
+
Developers that use the GNU GPL protect your rights with two steps:
|
41 |
+
(1) assert copyright on the software, and (2) offer you this License
|
42 |
+
giving you legal permission to copy, distribute and/or modify it.
|
43 |
+
|
44 |
+
For the developers' and authors' protection, the GPL clearly explains
|
45 |
+
that there is no warranty for this free software. For both users' and
|
46 |
+
authors' sake, the GPL requires that modified versions be marked as
|
47 |
+
changed, so that their problems will not be attributed erroneously to
|
48 |
+
authors of previous versions.
|
49 |
+
|
50 |
+
Some devices are designed to deny users access to install or run
|
51 |
+
modified versions of the software inside them, although the manufacturer
|
52 |
+
can do so. This is fundamentally incompatible with the aim of
|
53 |
+
protecting users' freedom to change the software. The systematic
|
54 |
+
pattern of such abuse occurs in the area of products for individuals to
|
55 |
+
use, which is precisely where it is most unacceptable. Therefore, we
|
56 |
+
have designed this version of the GPL to prohibit the practice for those
|
57 |
+
products. If such problems arise substantially in other domains, we
|
58 |
+
stand ready to extend this provision to those domains in future versions
|
59 |
+
of the GPL, as needed to protect the freedom of users.
|
60 |
+
|
61 |
+
Finally, every program is threatened constantly by software patents.
|
62 |
+
States should not allow patents to restrict development and use of
|
63 |
+
software on general-purpose computers, but in those that do, we wish to
|
64 |
+
avoid the special danger that patents applied to a free program could
|
65 |
+
make it effectively proprietary. To prevent this, the GPL assures that
|
66 |
+
patents cannot be used to render the program non-free.
|
67 |
+
|
68 |
+
The precise terms and conditions for copying, distribution and
|
69 |
+
modification follow.
|
70 |
+
|
71 |
+
TERMS AND CONDITIONS
|
72 |
+
|
73 |
+
0. Definitions.
|
74 |
+
|
75 |
+
"This License" refers to version 3 of the GNU General Public License.
|
76 |
+
|
77 |
+
"Copyright" also means copyright-like laws that apply to other kinds of
|
78 |
+
works, such as semiconductor masks.
|
79 |
+
|
80 |
+
"The Program" refers to any copyrightable work licensed under this
|
81 |
+
License. Each licensee is addressed as "you". "Licensees" and
|
82 |
+
"recipients" may be individuals or organizations.
|
83 |
+
|
84 |
+
To "modify" a work means to copy from or adapt all or part of the work
|
85 |
+
in a fashion requiring copyright permission, other than the making of an
|
86 |
+
exact copy. The resulting work is called a "modified version" of the
|
87 |
+
earlier work or a work "based on" the earlier work.
|
88 |
+
|
89 |
+
A "covered work" means either the unmodified Program or a work based
|
90 |
+
on the Program.
|
91 |
+
|
92 |
+
To "propagate" a work means to do anything with it that, without
|
93 |
+
permission, would make you directly or secondarily liable for
|
94 |
+
infringement under applicable copyright law, except executing it on a
|
95 |
+
computer or modifying a private copy. Propagation includes copying,
|
96 |
+
distribution (with or without modification), making available to the
|
97 |
+
public, and in some countries other activities as well.
|
98 |
+
|
99 |
+
To "convey" a work means any kind of propagation that enables other
|
100 |
+
parties to make or receive copies. Mere interaction with a user through
|
101 |
+
a computer network, with no transfer of a copy, is not conveying.
|
102 |
+
|
103 |
+
An interactive user interface displays "Appropriate Legal Notices"
|
104 |
+
to the extent that it includes a convenient and prominently visible
|
105 |
+
feature that (1) displays an appropriate copyright notice, and (2)
|
106 |
+
tells the user that there is no warranty for the work (except to the
|
107 |
+
extent that warranties are provided), that licensees may convey the
|
108 |
+
work under this License, and how to view a copy of this License. If
|
109 |
+
the interface presents a list of user commands or options, such as a
|
110 |
+
menu, a prominent item in the list meets this criterion.
|
111 |
+
|
112 |
+
1. Source Code.
|
113 |
+
|
114 |
+
The "source code" for a work means the preferred form of the work
|
115 |
+
for making modifications to it. "Object code" means any non-source
|
116 |
+
form of a work.
|
117 |
+
|
118 |
+
A "Standard Interface" means an interface that either is an official
|
119 |
+
standard defined by a recognized standards body, or, in the case of
|
120 |
+
interfaces specified for a particular programming language, one that
|
121 |
+
is widely used among developers working in that language.
|
122 |
+
|
123 |
+
The "System Libraries" of an executable work include anything, other
|
124 |
+
than the work as a whole, that (a) is included in the normal form of
|
125 |
+
packaging a Major Component, but which is not part of that Major
|
126 |
+
Component, and (b) serves only to enable use of the work with that
|
127 |
+
Major Component, or to implement a Standard Interface for which an
|
128 |
+
implementation is available to the public in source code form. A
|
129 |
+
"Major Component", in this context, means a major essential component
|
130 |
+
(kernel, window system, and so on) of the specific operating system
|
131 |
+
(if any) on which the executable work runs, or a compiler used to
|
132 |
+
produce the work, or an object code interpreter used to run it.
|
133 |
+
|
134 |
+
The "Corresponding Source" for a work in object code form means all
|
135 |
+
the source code needed to generate, install, and (for an executable
|
136 |
+
work) run the object code and to modify the work, including scripts to
|
137 |
+
control those activities. However, it does not include the work's
|
138 |
+
System Libraries, or general-purpose tools or generally available free
|
139 |
+
programs which are used unmodified in performing those activities but
|
140 |
+
which are not part of the work. For example, Corresponding Source
|
141 |
+
includes interface definition files associated with source files for
|
142 |
+
the work, and the source code for shared libraries and dynamically
|
143 |
+
linked subprograms that the work is specifically designed to require,
|
144 |
+
such as by intimate data communication or control flow between those
|
145 |
+
subprograms and other parts of the work.
|
146 |
+
|
147 |
+
The Corresponding Source need not include anything that users
|
148 |
+
can regenerate automatically from other parts of the Corresponding
|
149 |
+
Source.
|
150 |
+
|
151 |
+
The Corresponding Source for a work in source code form is that
|
152 |
+
same work.
|
153 |
+
|
154 |
+
2. Basic Permissions.
|
155 |
+
|
156 |
+
All rights granted under this License are granted for the term of
|
157 |
+
copyright on the Program, and are irrevocable provided the stated
|
158 |
+
conditions are met. This License explicitly affirms your unlimited
|
159 |
+
permission to run the unmodified Program. The output from running a
|
160 |
+
covered work is covered by this License only if the output, given its
|
161 |
+
content, constitutes a covered work. This License acknowledges your
|
162 |
+
rights of fair use or other equivalent, as provided by copyright law.
|
163 |
+
|
164 |
+
You may make, run and propagate covered works that you do not
|
165 |
+
convey, without conditions so long as your license otherwise remains
|
166 |
+
in force. You may convey covered works to others for the sole purpose
|
167 |
+
of having them make modifications exclusively for you, or provide you
|
168 |
+
with facilities for running those works, provided that you comply with
|
169 |
+
the terms of this License in conveying all material for which you do
|
170 |
+
not control copyright. Those thus making or running the covered works
|
171 |
+
for you must do so exclusively on your behalf, under your direction
|
172 |
+
and control, on terms that prohibit them from making any copies of
|
173 |
+
your copyrighted material outside their relationship with you.
|
174 |
+
|
175 |
+
Conveying under any other circumstances is permitted solely under
|
176 |
+
the conditions stated below. Sublicensing is not allowed; section 10
|
177 |
+
makes it unnecessary.
|
178 |
+
|
179 |
+
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
|
180 |
+
|
181 |
+
No covered work shall be deemed part of an effective technological
|
182 |
+
measure under any applicable law fulfilling obligations under article
|
183 |
+
11 of the WIPO copyright treaty adopted on 20 December 1996, or
|
184 |
+
similar laws prohibiting or restricting circumvention of such
|
185 |
+
measures.
|
186 |
+
|
187 |
+
When you convey a covered work, you waive any legal power to forbid
|
188 |
+
circumvention of technological measures to the extent such circumvention
|
189 |
+
is effected by exercising rights under this License with respect to
|
190 |
+
the covered work, and you disclaim any intention to limit operation or
|
191 |
+
modification of the work as a means of enforcing, against the work's
|
192 |
+
users, your or third parties' legal rights to forbid circumvention of
|
193 |
+
technological measures.
|
194 |
+
|
195 |
+
4. Conveying Verbatim Copies.
|
196 |
+
|
197 |
+
You may convey verbatim copies of the Program's source code as you
|
198 |
+
receive it, in any medium, provided that you conspicuously and
|
199 |
+
appropriately publish on each copy an appropriate copyright notice;
|
200 |
+
keep intact all notices stating that this License and any
|
201 |
+
non-permissive terms added in accord with section 7 apply to the code;
|
202 |
+
keep intact all notices of the absence of any warranty; and give all
|
203 |
+
recipients a copy of this License along with the Program.
|
204 |
+
|
205 |
+
You may charge any price or no price for each copy that you convey,
|
206 |
+
and you may offer support or warranty protection for a fee.
|
207 |
+
|
208 |
+
5. Conveying Modified Source Versions.
|
209 |
+
|
210 |
+
You may convey a work based on the Program, or the modifications to
|
211 |
+
produce it from the Program, in the form of source code under the
|
212 |
+
terms of section 4, provided that you also meet all of these conditions:
|
213 |
+
|
214 |
+
a) The work must carry prominent notices stating that you modified
|
215 |
+
it, and giving a relevant date.
|
216 |
+
|
217 |
+
b) The work must carry prominent notices stating that it is
|
218 |
+
released under this License and any conditions added under section
|
219 |
+
7. This requirement modifies the requirement in section 4 to
|
220 |
+
"keep intact all notices".
|
221 |
+
|
222 |
+
c) You must license the entire work, as a whole, under this
|
223 |
+
License to anyone who comes into possession of a copy. This
|
224 |
+
License will therefore apply, along with any applicable section 7
|
225 |
+
additional terms, to the whole of the work, and all its parts,
|
226 |
+
regardless of how they are packaged. This License gives no
|
227 |
+
permission to license the work in any other way, but it does not
|
228 |
+
invalidate such permission if you have separately received it.
|
229 |
+
|
230 |
+
d) If the work has interactive user interfaces, each must display
|
231 |
+
Appropriate Legal Notices; however, if the Program has interactive
|
232 |
+
interfaces that do not display Appropriate Legal Notices, your
|
233 |
+
work need not make them do so.
|
234 |
+
|
235 |
+
A compilation of a covered work with other separate and independent
|
236 |
+
works, which are not by their nature extensions of the covered work,
|
237 |
+
and which are not combined with it such as to form a larger program,
|
238 |
+
in or on a volume of a storage or distribution medium, is called an
|
239 |
+
"aggregate" if the compilation and its resulting copyright are not
|
240 |
+
used to limit the access or legal rights of the compilation's users
|
241 |
+
beyond what the individual works permit. Inclusion of a covered work
|
242 |
+
in an aggregate does not cause this License to apply to the other
|
243 |
+
parts of the aggregate.
|
244 |
+
|
245 |
+
6. Conveying Non-Source Forms.
|
246 |
+
|
247 |
+
You may convey a covered work in object code form under the terms
|
248 |
+
of sections 4 and 5, provided that you also convey the
|
249 |
+
machine-readable Corresponding Source under the terms of this License,
|
250 |
+
in one of these ways:
|
251 |
+
|
252 |
+
a) Convey the object code in, or embodied in, a physical product
|
253 |
+
(including a physical distribution medium), accompanied by the
|
254 |
+
Corresponding Source fixed on a durable physical medium
|
255 |
+
customarily used for software interchange.
|
256 |
+
|
257 |
+
b) Convey the object code in, or embodied in, a physical product
|
258 |
+
(including a physical distribution medium), accompanied by a
|
259 |
+
written offer, valid for at least three years and valid for as
|
260 |
+
long as you offer spare parts or customer support for that product
|
261 |
+
model, to give anyone who possesses the object code either (1) a
|
262 |
+
copy of the Corresponding Source for all the software in the
|
263 |
+
product that is covered by this License, on a durable physical
|
264 |
+
medium customarily used for software interchange, for a price no
|
265 |
+
more than your reasonable cost of physically performing this
|
266 |
+
conveying of source, or (2) access to copy the
|
267 |
+
Corresponding Source from a network server at no charge.
|
268 |
+
|
269 |
+
c) Convey individual copies of the object code with a copy of the
|
270 |
+
written offer to provide the Corresponding Source. This
|
271 |
+
alternative is allowed only occasionally and noncommercially, and
|
272 |
+
only if you received the object code with such an offer, in accord
|
273 |
+
with subsection 6b.
|
274 |
+
|
275 |
+
d) Convey the object code by offering access from a designated
|
276 |
+
place (gratis or for a charge), and offer equivalent access to the
|
277 |
+
Corresponding Source in the same way through the same place at no
|
278 |
+
further charge. You need not require recipients to copy the
|
279 |
+
Corresponding Source along with the object code. If the place to
|
280 |
+
copy the object code is a network server, the Corresponding Source
|
281 |
+
may be on a different server (operated by you or a third party)
|
282 |
+
that supports equivalent copying facilities, provided you maintain
|
283 |
+
clear directions next to the object code saying where to find the
|
284 |
+
Corresponding Source. Regardless of what server hosts the
|
285 |
+
Corresponding Source, you remain obligated to ensure that it is
|
286 |
+
available for as long as needed to satisfy these requirements.
|
287 |
+
|
288 |
+
e) Convey the object code using peer-to-peer transmission, provided
|
289 |
+
you inform other peers where the object code and Corresponding
|
290 |
+
Source of the work are being offered to the general public at no
|
291 |
+
charge under subsection 6d.
|
292 |
+
|
293 |
+
A separable portion of the object code, whose source code is excluded
|
294 |
+
from the Corresponding Source as a System Library, need not be
|
295 |
+
included in conveying the object code work.
|
296 |
+
|
297 |
+
A "User Product" is either (1) a "consumer product", which means any
|
298 |
+
tangible personal property which is normally used for personal, family,
|
299 |
+
or household purposes, or (2) anything designed or sold for incorporation
|
300 |
+
into a dwelling. In determining whether a product is a consumer product,
|
301 |
+
doubtful cases shall be resolved in favor of coverage. For a particular
|
302 |
+
product received by a particular user, "normally used" refers to a
|
303 |
+
typical or common use of that class of product, regardless of the status
|
304 |
+
of the particular user or of the way in which the particular user
|
305 |
+
actually uses, or expects or is expected to use, the product. A product
|
306 |
+
is a consumer product regardless of whether the product has substantial
|
307 |
+
commercial, industrial or non-consumer uses, unless such uses represent
|
308 |
+
the only significant mode of use of the product.
|
309 |
+
|
310 |
+
"Installation Information" for a User Product means any methods,
|
311 |
+
procedures, authorization keys, or other information required to install
|
312 |
+
and execute modified versions of a covered work in that User Product from
|
313 |
+
a modified version of its Corresponding Source. The information must
|
314 |
+
suffice to ensure that the continued functioning of the modified object
|
315 |
+
code is in no case prevented or interfered with solely because
|
316 |
+
modification has been made.
|
317 |
+
|
318 |
+
If you convey an object code work under this section in, or with, or
|
319 |
+
specifically for use in, a User Product, and the conveying occurs as
|
320 |
+
part of a transaction in which the right of possession and use of the
|
321 |
+
User Product is transferred to the recipient in perpetuity or for a
|
322 |
+
fixed term (regardless of how the transaction is characterized), the
|
323 |
+
Corresponding Source conveyed under this section must be accompanied
|
324 |
+
by the Installation Information. But this requirement does not apply
|
325 |
+
if neither you nor any third party retains the ability to install
|
326 |
+
modified object code on the User Product (for example, the work has
|
327 |
+
been installed in ROM).
|
328 |
+
|
329 |
+
The requirement to provide Installation Information does not include a
|
330 |
+
requirement to continue to provide support service, warranty, or updates
|
331 |
+
for a work that has been modified or installed by the recipient, or for
|
332 |
+
the User Product in which it has been modified or installed. Access to a
|
333 |
+
network may be denied when the modification itself materially and
|
334 |
+
adversely affects the operation of the network or violates the rules and
|
335 |
+
protocols for communication across the network.
|
336 |
+
|
337 |
+
Corresponding Source conveyed, and Installation Information provided,
|
338 |
+
in accord with this section must be in a format that is publicly
|
339 |
+
documented (and with an implementation available to the public in
|
340 |
+
source code form), and must require no special password or key for
|
341 |
+
unpacking, reading or copying.
|
342 |
+
|
343 |
+
7. Additional Terms.
|
344 |
+
|
345 |
+
"Additional permissions" are terms that supplement the terms of this
|
346 |
+
License by making exceptions from one or more of its conditions.
|
347 |
+
Additional permissions that are applicable to the entire Program shall
|
348 |
+
be treated as though they were included in this License, to the extent
|
349 |
+
that they are valid under applicable law. If additional permissions
|
350 |
+
apply only to part of the Program, that part may be used separately
|
351 |
+
under those permissions, but the entire Program remains governed by
|
352 |
+
this License without regard to the additional permissions.
|
353 |
+
|
354 |
+
When you convey a copy of a covered work, you may at your option
|
355 |
+
remove any additional permissions from that copy, or from any part of
|
356 |
+
it. (Additional permissions may be written to require their own
|
357 |
+
removal in certain cases when you modify the work.) You may place
|
358 |
+
additional permissions on material, added by you to a covered work,
|
359 |
+
for which you have or can give appropriate copyright permission.
|
360 |
+
|
361 |
+
Notwithstanding any other provision of this License, for material you
|
362 |
+
add to a covered work, you may (if authorized by the copyright holders of
|
363 |
+
that material) supplement the terms of this License with terms:
|
364 |
+
|
365 |
+
a) Disclaiming warranty or limiting liability differently from the
|
366 |
+
terms of sections 15 and 16 of this License; or
|
367 |
+
|
368 |
+
b) Requiring preservation of specified reasonable legal notices or
|
369 |
+
author attributions in that material or in the Appropriate Legal
|
370 |
+
Notices displayed by works containing it; or
|
371 |
+
|
372 |
+
c) Prohibiting misrepresentation of the origin of that material, or
|
373 |
+
requiring that modified versions of such material be marked in
|
374 |
+
reasonable ways as different from the original version; or
|
375 |
+
|
376 |
+
d) Limiting the use for publicity purposes of names of licensors or
|
377 |
+
authors of the material; or
|
378 |
+
|
379 |
+
e) Declining to grant rights under trademark law for use of some
|
380 |
+
trade names, trademarks, or service marks; or
|
381 |
+
|
382 |
+
f) Requiring indemnification of licensors and authors of that
|
383 |
+
material by anyone who conveys the material (or modified versions of
|
384 |
+
it) with contractual assumptions of liability to the recipient, for
|
385 |
+
any liability that these contractual assumptions directly impose on
|
386 |
+
those licensors and authors.
|
387 |
+
|
388 |
+
All other non-permissive additional terms are considered "further
|
389 |
+
restrictions" within the meaning of section 10. If the Program as you
|
390 |
+
received it, or any part of it, contains a notice stating that it is
|
391 |
+
governed by this License along with a term that is a further
|
392 |
+
restriction, you may remove that term. If a license document contains
|
393 |
+
a further restriction but permits relicensing or conveying under this
|
394 |
+
License, you may add to a covered work material governed by the terms
|
395 |
+
of that license document, provided that the further restriction does
|
396 |
+
not survive such relicensing or conveying.
|
397 |
+
|
398 |
+
If you add terms to a covered work in accord with this section, you
|
399 |
+
must place, in the relevant source files, a statement of the
|
400 |
+
additional terms that apply to those files, or a notice indicating
|
401 |
+
where to find the applicable terms.
|
402 |
+
|
403 |
+
Additional terms, permissive or non-permissive, may be stated in the
|
404 |
+
form of a separately written license, or stated as exceptions;
|
405 |
+
the above requirements apply either way.
|
406 |
+
|
407 |
+
8. Termination.
|
408 |
+
|
409 |
+
You may not propagate or modify a covered work except as expressly
|
410 |
+
provided under this License. Any attempt otherwise to propagate or
|
411 |
+
modify it is void, and will automatically terminate your rights under
|
412 |
+
this License (including any patent licenses granted under the third
|
413 |
+
paragraph of section 11).
|
414 |
+
|
415 |
+
However, if you cease all violation of this License, then your
|
416 |
+
license from a particular copyright holder is reinstated (a)
|
417 |
+
provisionally, unless and until the copyright holder explicitly and
|
418 |
+
finally terminates your license, and (b) permanently, if the copyright
|
419 |
+
holder fails to notify you of the violation by some reasonable means
|
420 |
+
prior to 60 days after the cessation.
|
421 |
+
|
422 |
+
Moreover, your license from a particular copyright holder is
|
423 |
+
reinstated permanently if the copyright holder notifies you of the
|
424 |
+
violation by some reasonable means, this is the first time you have
|
425 |
+
received notice of violation of this License (for any work) from that
|
426 |
+
copyright holder, and you cure the violation prior to 30 days after
|
427 |
+
your receipt of the notice.
|
428 |
+
|
429 |
+
Termination of your rights under this section does not terminate the
|
430 |
+
licenses of parties who have received copies or rights from you under
|
431 |
+
this License. If your rights have been terminated and not permanently
|
432 |
+
reinstated, you do not qualify to receive new licenses for the same
|
433 |
+
material under section 10.
|
434 |
+
|
435 |
+
9. Acceptance Not Required for Having Copies.
|
436 |
+
|
437 |
+
You are not required to accept this License in order to receive or
|
438 |
+
run a copy of the Program. Ancillary propagation of a covered work
|
439 |
+
occurring solely as a consequence of using peer-to-peer transmission
|
440 |
+
to receive a copy likewise does not require acceptance. However,
|
441 |
+
nothing other than this License grants you permission to propagate or
|
442 |
+
modify any covered work. These actions infringe copyright if you do
|
443 |
+
not accept this License. Therefore, by modifying or propagating a
|
444 |
+
covered work, you indicate your acceptance of this License to do so.
|
445 |
+
|
446 |
+
10. Automatic Licensing of Downstream Recipients.
|
447 |
+
|
448 |
+
Each time you convey a covered work, the recipient automatically
|
449 |
+
receives a license from the original licensors, to run, modify and
|
450 |
+
propagate that work, subject to this License. You are not responsible
|
451 |
+
for enforcing compliance by third parties with this License.
|
452 |
+
|
453 |
+
An "entity transaction" is a transaction transferring control of an
|
454 |
+
organization, or substantially all assets of one, or subdividing an
|
455 |
+
organization, or merging organizations. If propagation of a covered
|
456 |
+
work results from an entity transaction, each party to that
|
457 |
+
transaction who receives a copy of the work also receives whatever
|
458 |
+
licenses to the work the party's predecessor in interest had or could
|
459 |
+
give under the previous paragraph, plus a right to possession of the
|
460 |
+
Corresponding Source of the work from the predecessor in interest, if
|
461 |
+
the predecessor has it or can get it with reasonable efforts.
|
462 |
+
|
463 |
+
You may not impose any further restrictions on the exercise of the
|
464 |
+
rights granted or affirmed under this License. For example, you may
|
465 |
+
not impose a license fee, royalty, or other charge for exercise of
|
466 |
+
rights granted under this License, and you may not initiate litigation
|
467 |
+
(including a cross-claim or counterclaim in a lawsuit) alleging that
|
468 |
+
any patent claim is infringed by making, using, selling, offering for
|
469 |
+
sale, or importing the Program or any portion of it.
|
470 |
+
|
471 |
+
11. Patents.
|
472 |
+
|
473 |
+
A "contributor" is a copyright holder who authorizes use under this
|
474 |
+
License of the Program or a work on which the Program is based. The
|
475 |
+
work thus licensed is called the contributor's "contributor version".
|
476 |
+
|
477 |
+
A contributor's "essential patent claims" are all patent claims
|
478 |
+
owned or controlled by the contributor, whether already acquired or
|
479 |
+
hereafter acquired, that would be infringed by some manner, permitted
|
480 |
+
by this License, of making, using, or selling its contributor version,
|
481 |
+
but do not include claims that would be infringed only as a
|
482 |
+
consequence of further modification of the contributor version. For
|
483 |
+
purposes of this definition, "control" includes the right to grant
|
484 |
+
patent sublicenses in a manner consistent with the requirements of
|
485 |
+
this License.
|
486 |
+
|
487 |
+
Each contributor grants you a non-exclusive, worldwide, royalty-free
|
488 |
+
patent license under the contributor's essential patent claims, to
|
489 |
+
make, use, sell, offer for sale, import and otherwise run, modify and
|
490 |
+
propagate the contents of its contributor version.
|
491 |
+
|
492 |
+
In the following three paragraphs, a "patent license" is any express
|
493 |
+
agreement or commitment, however denominated, not to enforce a patent
|
494 |
+
(such as an express permission to practice a patent or covenant not to
|
495 |
+
sue for patent infringement). To "grant" such a patent license to a
|
496 |
+
party means to make such an agreement or commitment not to enforce a
|
497 |
+
patent against the party.
|
498 |
+
|
499 |
+
If you convey a covered work, knowingly relying on a patent license,
|
500 |
+
and the Corresponding Source of the work is not available for anyone
|
501 |
+
to copy, free of charge and under the terms of this License, through a
|
502 |
+
publicly available network server or other readily accessible means,
|
503 |
+
then you must either (1) cause the Corresponding Source to be so
|
504 |
+
available, or (2) arrange to deprive yourself of the benefit of the
|
505 |
+
patent license for this particular work, or (3) arrange, in a manner
|
506 |
+
consistent with the requirements of this License, to extend the patent
|
507 |
+
license to downstream recipients. "Knowingly relying" means you have
|
508 |
+
actual knowledge that, but for the patent license, your conveying the
|
509 |
+
covered work in a country, or your recipient's use of the covered work
|
510 |
+
in a country, would infringe one or more identifiable patents in that
|
511 |
+
country that you have reason to believe are valid.
|
512 |
+
|
513 |
+
If, pursuant to or in connection with a single transaction or
|
514 |
+
arrangement, you convey, or propagate by procuring conveyance of, a
|
515 |
+
covered work, and grant a patent license to some of the parties
|
516 |
+
receiving the covered work authorizing them to use, propagate, modify
|
517 |
+
or convey a specific copy of the covered work, then the patent license
|
518 |
+
you grant is automatically extended to all recipients of the covered
|
519 |
+
work and works based on it.
|
520 |
+
|
521 |
+
A patent license is "discriminatory" if it does not include within
|
522 |
+
the scope of its coverage, prohibits the exercise of, or is
|
523 |
+
conditioned on the non-exercise of one or more of the rights that are
|
524 |
+
specifically granted under this License. You may not convey a covered
|
525 |
+
work if you are a party to an arrangement with a third party that is
|
526 |
+
in the business of distributing software, under which you make payment
|
527 |
+
to the third party based on the extent of your activity of conveying
|
528 |
+
the work, and under which the third party grants, to any of the
|
529 |
+
parties who would receive the covered work from you, a discriminatory
|
530 |
+
patent license (a) in connection with copies of the covered work
|
531 |
+
conveyed by you (or copies made from those copies), or (b) primarily
|
532 |
+
for and in connection with specific products or compilations that
|
533 |
+
contain the covered work, unless you entered into that arrangement,
|
534 |
+
or that patent license was granted, prior to 28 March 2007.
|
535 |
+
|
536 |
+
Nothing in this License shall be construed as excluding or limiting
|
537 |
+
any implied license or other defenses to infringement that may
|
538 |
+
otherwise be available to you under applicable patent law.
|
539 |
+
|
540 |
+
12. No Surrender of Others' Freedom.
|
541 |
+
|
542 |
+
If conditions are imposed on you (whether by court order, agreement or
|
543 |
+
otherwise) that contradict the conditions of this License, they do not
|
544 |
+
excuse you from the conditions of this License. If you cannot convey a
|
545 |
+
covered work so as to satisfy simultaneously your obligations under this
|
546 |
+
License and any other pertinent obligations, then as a consequence you may
|
547 |
+
not convey it at all. For example, if you agree to terms that obligate you
|
548 |
+
to collect a royalty for further conveying from those to whom you convey
|
549 |
+
the Program, the only way you could satisfy both those terms and this
|
550 |
+
License would be to refrain entirely from conveying the Program.
|
551 |
+
|
552 |
+
13. Use with the GNU Affero General Public License.
|
553 |
+
|
554 |
+
Notwithstanding any other provision of this License, you have
|
555 |
+
permission to link or combine any covered work with a work licensed
|
556 |
+
under version 3 of the GNU Affero General Public License into a single
|
557 |
+
combined work, and to convey the resulting work. The terms of this
|
558 |
+
License will continue to apply to the part which is the covered work,
|
559 |
+
but the special requirements of the GNU Affero General Public License,
|
560 |
+
section 13, concerning interaction through a network will apply to the
|
561 |
+
combination as such.
|
562 |
+
|
563 |
+
14. Revised Versions of this License.
|
564 |
+
|
565 |
+
The Free Software Foundation may publish revised and/or new versions of
|
566 |
+
the GNU General Public License from time to time. Such new versions will
|
567 |
+
be similar in spirit to the present version, but may differ in detail to
|
568 |
+
address new problems or concerns.
|
569 |
+
|
570 |
+
Each version is given a distinguishing version number. If the
|
571 |
+
Program specifies that a certain numbered version of the GNU General
|
572 |
+
Public License "or any later version" applies to it, you have the
|
573 |
+
option of following the terms and conditions either of that numbered
|
574 |
+
version or of any later version published by the Free Software
|
575 |
+
Foundation. If the Program does not specify a version number of the
|
576 |
+
GNU General Public License, you may choose any version ever published
|
577 |
+
by the Free Software Foundation.
|
578 |
+
|
579 |
+
If the Program specifies that a proxy can decide which future
|
580 |
+
versions of the GNU General Public License can be used, that proxy's
|
581 |
+
public statement of acceptance of a version permanently authorizes you
|
582 |
+
to choose that version for the Program.
|
583 |
+
|
584 |
+
Later license versions may give you additional or different
|
585 |
+
permissions. However, no additional obligations are imposed on any
|
586 |
+
author or copyright holder as a result of your choosing to follow a
|
587 |
+
later version.
|
588 |
+
|
589 |
+
15. Disclaimer of Warranty.
|
590 |
+
|
591 |
+
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
|
592 |
+
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
|
593 |
+
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
|
594 |
+
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
|
595 |
+
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
596 |
+
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
|
597 |
+
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
|
598 |
+
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
599 |
+
|
600 |
+
16. Limitation of Liability.
|
601 |
+
|
602 |
+
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
603 |
+
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
|
604 |
+
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
|
605 |
+
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
|
606 |
+
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
|
607 |
+
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
|
608 |
+
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
|
609 |
+
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
|
610 |
+
SUCH DAMAGES.
|
611 |
+
|
612 |
+
17. Interpretation of Sections 15 and 16.
|
613 |
+
|
614 |
+
If the disclaimer of warranty and limitation of liability provided
|
615 |
+
above cannot be given local legal effect according to their terms,
|
616 |
+
reviewing courts shall apply local law that most closely approximates
|
617 |
+
an absolute waiver of all civil liability in connection with the
|
618 |
+
Program, unless a warranty or assumption of liability accompanies a
|
619 |
+
copy of the Program in return for a fee.
|
620 |
+
|
621 |
+
END OF TERMS AND CONDITIONS
|
622 |
+
|
623 |
+
How to Apply These Terms to Your New Programs
|
624 |
+
|
625 |
+
If you develop a new program, and you want it to be of the greatest
|
626 |
+
possible use to the public, the best way to achieve this is to make it
|
627 |
+
free software which everyone can redistribute and change under these terms.
|
628 |
+
|
629 |
+
To do so, attach the following notices to the program. It is safest
|
630 |
+
to attach them to the start of each source file to most effectively
|
631 |
+
state the exclusion of warranty; and each file should have at least
|
632 |
+
the "copyright" line and a pointer to where the full notice is found.
|
633 |
+
|
634 |
+
<one line to give the program's name and a brief idea of what it does.>
|
635 |
+
Copyright (C) <year> <name of author>
|
636 |
+
|
637 |
+
This program is free software: you can redistribute it and/or modify
|
638 |
+
it under the terms of the GNU General Public License as published by
|
639 |
+
the Free Software Foundation, either version 3 of the License, or
|
640 |
+
(at your option) any later version.
|
641 |
+
|
642 |
+
This program is distributed in the hope that it will be useful,
|
643 |
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
644 |
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
645 |
+
GNU General Public License for more details.
|
646 |
+
|
647 |
+
You should have received a copy of the GNU General Public License
|
648 |
+
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
649 |
+
|
650 |
+
Also add information on how to contact you by electronic and paper mail.
|
651 |
+
|
652 |
+
If the program does terminal interaction, make it output a short
|
653 |
+
notice like this when it starts in an interactive mode:
|
654 |
+
|
655 |
+
<program> Copyright (C) <year> <name of author>
|
656 |
+
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
657 |
+
This is free software, and you are welcome to redistribute it
|
658 |
+
under certain conditions; type `show c' for details.
|
659 |
+
|
660 |
+
The hypothetical commands `show w' and `show c' should show the appropriate
|
661 |
+
parts of the General Public License. Of course, your program's commands
|
662 |
+
might be different; for a GUI interface, you would use an "about box".
|
663 |
+
|
664 |
+
You should also get your employer (if you work as a programmer) or school,
|
665 |
+
if any, to sign a "copyright disclaimer" for the program, if necessary.
|
666 |
+
For more information on this, and how to apply and follow the GNU GPL, see
|
667 |
+
<http://www.gnu.org/licenses/>.
|
668 |
+
|
669 |
+
The GNU General Public License does not permit incorporating your program
|
670 |
+
into proprietary programs. If your program is a subroutine library, you
|
671 |
+
may consider it more useful to permit linking proprietary applications with
|
672 |
+
the library. If this is what you want to do, use the GNU Lesser General
|
673 |
+
Public License instead of this License. But first, please read
|
674 |
+
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
|
COPYING.LGPLv2.1
ADDED
@@ -0,0 +1,502 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
GNU LESSER GENERAL PUBLIC LICENSE
|
2 |
+
Version 2.1, February 1999
|
3 |
+
|
4 |
+
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
|
5 |
+
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
6 |
+
Everyone is permitted to copy and distribute verbatim copies
|
7 |
+
of this license document, but changing it is not allowed.
|
8 |
+
|
9 |
+
[This is the first released version of the Lesser GPL. It also counts
|
10 |
+
as the successor of the GNU Library Public License, version 2, hence
|
11 |
+
the version number 2.1.]
|
12 |
+
|
13 |
+
Preamble
|
14 |
+
|
15 |
+
The licenses for most software are designed to take away your
|
16 |
+
freedom to share and change it. By contrast, the GNU General Public
|
17 |
+
Licenses are intended to guarantee your freedom to share and change
|
18 |
+
free software--to make sure the software is free for all its users.
|
19 |
+
|
20 |
+
This license, the Lesser General Public License, applies to some
|
21 |
+
specially designated software packages--typically libraries--of the
|
22 |
+
Free Software Foundation and other authors who decide to use it. You
|
23 |
+
can use it too, but we suggest you first think carefully about whether
|
24 |
+
this license or the ordinary General Public License is the better
|
25 |
+
strategy to use in any particular case, based on the explanations below.
|
26 |
+
|
27 |
+
When we speak of free software, we are referring to freedom of use,
|
28 |
+
not price. Our General Public Licenses are designed to make sure that
|
29 |
+
you have the freedom to distribute copies of free software (and charge
|
30 |
+
for this service if you wish); that you receive source code or can get
|
31 |
+
it if you want it; that you can change the software and use pieces of
|
32 |
+
it in new free programs; and that you are informed that you can do
|
33 |
+
these things.
|
34 |
+
|
35 |
+
To protect your rights, we need to make restrictions that forbid
|
36 |
+
distributors to deny you these rights or to ask you to surrender these
|
37 |
+
rights. These restrictions translate to certain responsibilities for
|
38 |
+
you if you distribute copies of the library or if you modify it.
|
39 |
+
|
40 |
+
For example, if you distribute copies of the library, whether gratis
|
41 |
+
or for a fee, you must give the recipients all the rights that we gave
|
42 |
+
you. You must make sure that they, too, receive or can get the source
|
43 |
+
code. If you link other code with the library, you must provide
|
44 |
+
complete object files to the recipients, so that they can relink them
|
45 |
+
with the library after making changes to the library and recompiling
|
46 |
+
it. And you must show them these terms so they know their rights.
|
47 |
+
|
48 |
+
We protect your rights with a two-step method: (1) we copyright the
|
49 |
+
library, and (2) we offer you this license, which gives you legal
|
50 |
+
permission to copy, distribute and/or modify the library.
|
51 |
+
|
52 |
+
To protect each distributor, we want to make it very clear that
|
53 |
+
there is no warranty for the free library. Also, if the library is
|
54 |
+
modified by someone else and passed on, the recipients should know
|
55 |
+
that what they have is not the original version, so that the original
|
56 |
+
author's reputation will not be affected by problems that might be
|
57 |
+
introduced by others.
|
58 |
+
|
59 |
+
Finally, software patents pose a constant threat to the existence of
|
60 |
+
any free program. We wish to make sure that a company cannot
|
61 |
+
effectively restrict the users of a free program by obtaining a
|
62 |
+
restrictive license from a patent holder. Therefore, we insist that
|
63 |
+
any patent license obtained for a version of the library must be
|
64 |
+
consistent with the full freedom of use specified in this license.
|
65 |
+
|
66 |
+
Most GNU software, including some libraries, is covered by the
|
67 |
+
ordinary GNU General Public License. This license, the GNU Lesser
|
68 |
+
General Public License, applies to certain designated libraries, and
|
69 |
+
is quite different from the ordinary General Public License. We use
|
70 |
+
this license for certain libraries in order to permit linking those
|
71 |
+
libraries into non-free programs.
|
72 |
+
|
73 |
+
When a program is linked with a library, whether statically or using
|
74 |
+
a shared library, the combination of the two is legally speaking a
|
75 |
+
combined work, a derivative of the original library. The ordinary
|
76 |
+
General Public License therefore permits such linking only if the
|
77 |
+
entire combination fits its criteria of freedom. The Lesser General
|
78 |
+
Public License permits more lax criteria for linking other code with
|
79 |
+
the library.
|
80 |
+
|
81 |
+
We call this license the "Lesser" General Public License because it
|
82 |
+
does Less to protect the user's freedom than the ordinary General
|
83 |
+
Public License. It also provides other free software developers Less
|
84 |
+
of an advantage over competing non-free programs. These disadvantages
|
85 |
+
are the reason we use the ordinary General Public License for many
|
86 |
+
libraries. However, the Lesser license provides advantages in certain
|
87 |
+
special circumstances.
|
88 |
+
|
89 |
+
For example, on rare occasions, there may be a special need to
|
90 |
+
encourage the widest possible use of a certain library, so that it becomes
|
91 |
+
a de-facto standard. To achieve this, non-free programs must be
|
92 |
+
allowed to use the library. A more frequent case is that a free
|
93 |
+
library does the same job as widely used non-free libraries. In this
|
94 |
+
case, there is little to gain by limiting the free library to free
|
95 |
+
software only, so we use the Lesser General Public License.
|
96 |
+
|
97 |
+
In other cases, permission to use a particular library in non-free
|
98 |
+
programs enables a greater number of people to use a large body of
|
99 |
+
free software. For example, permission to use the GNU C Library in
|
100 |
+
non-free programs enables many more people to use the whole GNU
|
101 |
+
operating system, as well as its variant, the GNU/Linux operating
|
102 |
+
system.
|
103 |
+
|
104 |
+
Although the Lesser General Public License is Less protective of the
|
105 |
+
users' freedom, it does ensure that the user of a program that is
|
106 |
+
linked with the Library has the freedom and the wherewithal to run
|
107 |
+
that program using a modified version of the Library.
|
108 |
+
|
109 |
+
The precise terms and conditions for copying, distribution and
|
110 |
+
modification follow. Pay close attention to the difference between a
|
111 |
+
"work based on the library" and a "work that uses the library". The
|
112 |
+
former contains code derived from the library, whereas the latter must
|
113 |
+
be combined with the library in order to run.
|
114 |
+
|
115 |
+
GNU LESSER GENERAL PUBLIC LICENSE
|
116 |
+
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
117 |
+
|
118 |
+
0. This License Agreement applies to any software library or other
|
119 |
+
program which contains a notice placed by the copyright holder or
|
120 |
+
other authorized party saying it may be distributed under the terms of
|
121 |
+
this Lesser General Public License (also called "this License").
|
122 |
+
Each licensee is addressed as "you".
|
123 |
+
|
124 |
+
A "library" means a collection of software functions and/or data
|
125 |
+
prepared so as to be conveniently linked with application programs
|
126 |
+
(which use some of those functions and data) to form executables.
|
127 |
+
|
128 |
+
The "Library", below, refers to any such software library or work
|
129 |
+
which has been distributed under these terms. A "work based on the
|
130 |
+
Library" means either the Library or any derivative work under
|
131 |
+
copyright law: that is to say, a work containing the Library or a
|
132 |
+
portion of it, either verbatim or with modifications and/or translated
|
133 |
+
straightforwardly into another language. (Hereinafter, translation is
|
134 |
+
included without limitation in the term "modification".)
|
135 |
+
|
136 |
+
"Source code" for a work means the preferred form of the work for
|
137 |
+
making modifications to it. For a library, complete source code means
|
138 |
+
all the source code for all modules it contains, plus any associated
|
139 |
+
interface definition files, plus the scripts used to control compilation
|
140 |
+
and installation of the library.
|
141 |
+
|
142 |
+
Activities other than copying, distribution and modification are not
|
143 |
+
covered by this License; they are outside its scope. The act of
|
144 |
+
running a program using the Library is not restricted, and output from
|
145 |
+
such a program is covered only if its contents constitute a work based
|
146 |
+
on the Library (independent of the use of the Library in a tool for
|
147 |
+
writing it). Whether that is true depends on what the Library does
|
148 |
+
and what the program that uses the Library does.
|
149 |
+
|
150 |
+
1. You may copy and distribute verbatim copies of the Library's
|
151 |
+
complete source code as you receive it, in any medium, provided that
|
152 |
+
you conspicuously and appropriately publish on each copy an
|
153 |
+
appropriate copyright notice and disclaimer of warranty; keep intact
|
154 |
+
all the notices that refer to this License and to the absence of any
|
155 |
+
warranty; and distribute a copy of this License along with the
|
156 |
+
Library.
|
157 |
+
|
158 |
+
You may charge a fee for the physical act of transferring a copy,
|
159 |
+
and you may at your option offer warranty protection in exchange for a
|
160 |
+
fee.
|
161 |
+
|
162 |
+
2. You may modify your copy or copies of the Library or any portion
|
163 |
+
of it, thus forming a work based on the Library, and copy and
|
164 |
+
distribute such modifications or work under the terms of Section 1
|
165 |
+
above, provided that you also meet all of these conditions:
|
166 |
+
|
167 |
+
a) The modified work must itself be a software library.
|
168 |
+
|
169 |
+
b) You must cause the files modified to carry prominent notices
|
170 |
+
stating that you changed the files and the date of any change.
|
171 |
+
|
172 |
+
c) You must cause the whole of the work to be licensed at no
|
173 |
+
charge to all third parties under the terms of this License.
|
174 |
+
|
175 |
+
d) If a facility in the modified Library refers to a function or a
|
176 |
+
table of data to be supplied by an application program that uses
|
177 |
+
the facility, other than as an argument passed when the facility
|
178 |
+
is invoked, then you must make a good faith effort to ensure that,
|
179 |
+
in the event an application does not supply such function or
|
180 |
+
table, the facility still operates, and performs whatever part of
|
181 |
+
its purpose remains meaningful.
|
182 |
+
|
183 |
+
(For example, a function in a library to compute square roots has
|
184 |
+
a purpose that is entirely well-defined independent of the
|
185 |
+
application. Therefore, Subsection 2d requires that any
|
186 |
+
application-supplied function or table used by this function must
|
187 |
+
be optional: if the application does not supply it, the square
|
188 |
+
root function must still compute square roots.)
|
189 |
+
|
190 |
+
These requirements apply to the modified work as a whole. If
|
191 |
+
identifiable sections of that work are not derived from the Library,
|
192 |
+
and can be reasonably considered independent and separate works in
|
193 |
+
themselves, then this License, and its terms, do not apply to those
|
194 |
+
sections when you distribute them as separate works. But when you
|
195 |
+
distribute the same sections as part of a whole which is a work based
|
196 |
+
on the Library, the distribution of the whole must be on the terms of
|
197 |
+
this License, whose permissions for other licensees extend to the
|
198 |
+
entire whole, and thus to each and every part regardless of who wrote
|
199 |
+
it.
|
200 |
+
|
201 |
+
Thus, it is not the intent of this section to claim rights or contest
|
202 |
+
your rights to work written entirely by you; rather, the intent is to
|
203 |
+
exercise the right to control the distribution of derivative or
|
204 |
+
collective works based on the Library.
|
205 |
+
|
206 |
+
In addition, mere aggregation of another work not based on the Library
|
207 |
+
with the Library (or with a work based on the Library) on a volume of
|
208 |
+
a storage or distribution medium does not bring the other work under
|
209 |
+
the scope of this License.
|
210 |
+
|
211 |
+
3. You may opt to apply the terms of the ordinary GNU General Public
|
212 |
+
License instead of this License to a given copy of the Library. To do
|
213 |
+
this, you must alter all the notices that refer to this License, so
|
214 |
+
that they refer to the ordinary GNU General Public License, version 2,
|
215 |
+
instead of to this License. (If a newer version than version 2 of the
|
216 |
+
ordinary GNU General Public License has appeared, then you can specify
|
217 |
+
that version instead if you wish.) Do not make any other change in
|
218 |
+
these notices.
|
219 |
+
|
220 |
+
Once this change is made in a given copy, it is irreversible for
|
221 |
+
that copy, so the ordinary GNU General Public License applies to all
|
222 |
+
subsequent copies and derivative works made from that copy.
|
223 |
+
|
224 |
+
This option is useful when you wish to copy part of the code of
|
225 |
+
the Library into a program that is not a library.
|
226 |
+
|
227 |
+
4. You may copy and distribute the Library (or a portion or
|
228 |
+
derivative of it, under Section 2) in object code or executable form
|
229 |
+
under the terms of Sections 1 and 2 above provided that you accompany
|
230 |
+
it with the complete corresponding machine-readable source code, which
|
231 |
+
must be distributed under the terms of Sections 1 and 2 above on a
|
232 |
+
medium customarily used for software interchange.
|
233 |
+
|
234 |
+
If distribution of object code is made by offering access to copy
|
235 |
+
from a designated place, then offering equivalent access to copy the
|
236 |
+
source code from the same place satisfies the requirement to
|
237 |
+
distribute the source code, even though third parties are not
|
238 |
+
compelled to copy the source along with the object code.
|
239 |
+
|
240 |
+
5. A program that contains no derivative of any portion of the
|
241 |
+
Library, but is designed to work with the Library by being compiled or
|
242 |
+
linked with it, is called a "work that uses the Library". Such a
|
243 |
+
work, in isolation, is not a derivative work of the Library, and
|
244 |
+
therefore falls outside the scope of this License.
|
245 |
+
|
246 |
+
However, linking a "work that uses the Library" with the Library
|
247 |
+
creates an executable that is a derivative of the Library (because it
|
248 |
+
contains portions of the Library), rather than a "work that uses the
|
249 |
+
library". The executable is therefore covered by this License.
|
250 |
+
Section 6 states terms for distribution of such executables.
|
251 |
+
|
252 |
+
When a "work that uses the Library" uses material from a header file
|
253 |
+
that is part of the Library, the object code for the work may be a
|
254 |
+
derivative work of the Library even though the source code is not.
|
255 |
+
Whether this is true is especially significant if the work can be
|
256 |
+
linked without the Library, or if the work is itself a library. The
|
257 |
+
threshold for this to be true is not precisely defined by law.
|
258 |
+
|
259 |
+
If such an object file uses only numerical parameters, data
|
260 |
+
structure layouts and accessors, and small macros and small inline
|
261 |
+
functions (ten lines or less in length), then the use of the object
|
262 |
+
file is unrestricted, regardless of whether it is legally a derivative
|
263 |
+
work. (Executables containing this object code plus portions of the
|
264 |
+
Library will still fall under Section 6.)
|
265 |
+
|
266 |
+
Otherwise, if the work is a derivative of the Library, you may
|
267 |
+
distribute the object code for the work under the terms of Section 6.
|
268 |
+
Any executables containing that work also fall under Section 6,
|
269 |
+
whether or not they are linked directly with the Library itself.
|
270 |
+
|
271 |
+
6. As an exception to the Sections above, you may also combine or
|
272 |
+
link a "work that uses the Library" with the Library to produce a
|
273 |
+
work containing portions of the Library, and distribute that work
|
274 |
+
under terms of your choice, provided that the terms permit
|
275 |
+
modification of the work for the customer's own use and reverse
|
276 |
+
engineering for debugging such modifications.
|
277 |
+
|
278 |
+
You must give prominent notice with each copy of the work that the
|
279 |
+
Library is used in it and that the Library and its use are covered by
|
280 |
+
this License. You must supply a copy of this License. If the work
|
281 |
+
during execution displays copyright notices, you must include the
|
282 |
+
copyright notice for the Library among them, as well as a reference
|
283 |
+
directing the user to the copy of this License. Also, you must do one
|
284 |
+
of these things:
|
285 |
+
|
286 |
+
a) Accompany the work with the complete corresponding
|
287 |
+
machine-readable source code for the Library including whatever
|
288 |
+
changes were used in the work (which must be distributed under
|
289 |
+
Sections 1 and 2 above); and, if the work is an executable linked
|
290 |
+
with the Library, with the complete machine-readable "work that
|
291 |
+
uses the Library", as object code and/or source code, so that the
|
292 |
+
user can modify the Library and then relink to produce a modified
|
293 |
+
executable containing the modified Library. (It is understood
|
294 |
+
that the user who changes the contents of definitions files in the
|
295 |
+
Library will not necessarily be able to recompile the application
|
296 |
+
to use the modified definitions.)
|
297 |
+
|
298 |
+
b) Use a suitable shared library mechanism for linking with the
|
299 |
+
Library. A suitable mechanism is one that (1) uses at run time a
|
300 |
+
copy of the library already present on the user's computer system,
|
301 |
+
rather than copying library functions into the executable, and (2)
|
302 |
+
will operate properly with a modified version of the library, if
|
303 |
+
the user installs one, as long as the modified version is
|
304 |
+
interface-compatible with the version that the work was made with.
|
305 |
+
|
306 |
+
c) Accompany the work with a written offer, valid for at
|
307 |
+
least three years, to give the same user the materials
|
308 |
+
specified in Subsection 6a, above, for a charge no more
|
309 |
+
than the cost of performing this distribution.
|
310 |
+
|
311 |
+
d) If distribution of the work is made by offering access to copy
|
312 |
+
from a designated place, offer equivalent access to copy the above
|
313 |
+
specified materials from the same place.
|
314 |
+
|
315 |
+
e) Verify that the user has already received a copy of these
|
316 |
+
materials or that you have already sent this user a copy.
|
317 |
+
|
318 |
+
For an executable, the required form of the "work that uses the
|
319 |
+
Library" must include any data and utility programs needed for
|
320 |
+
reproducing the executable from it. However, as a special exception,
|
321 |
+
the materials to be distributed need not include anything that is
|
322 |
+
normally distributed (in either source or binary form) with the major
|
323 |
+
components (compiler, kernel, and so on) of the operating system on
|
324 |
+
which the executable runs, unless that component itself accompanies
|
325 |
+
the executable.
|
326 |
+
|
327 |
+
It may happen that this requirement contradicts the license
|
328 |
+
restrictions of other proprietary libraries that do not normally
|
329 |
+
accompany the operating system. Such a contradiction means you cannot
|
330 |
+
use both them and the Library together in an executable that you
|
331 |
+
distribute.
|
332 |
+
|
333 |
+
7. You may place library facilities that are a work based on the
|
334 |
+
Library side-by-side in a single library together with other library
|
335 |
+
facilities not covered by this License, and distribute such a combined
|
336 |
+
library, provided that the separate distribution of the work based on
|
337 |
+
the Library and of the other library facilities is otherwise
|
338 |
+
permitted, and provided that you do these two things:
|
339 |
+
|
340 |
+
a) Accompany the combined library with a copy of the same work
|
341 |
+
based on the Library, uncombined with any other library
|
342 |
+
facilities. This must be distributed under the terms of the
|
343 |
+
Sections above.
|
344 |
+
|
345 |
+
b) Give prominent notice with the combined library of the fact
|
346 |
+
that part of it is a work based on the Library, and explaining
|
347 |
+
where to find the accompanying uncombined form of the same work.
|
348 |
+
|
349 |
+
8. You may not copy, modify, sublicense, link with, or distribute
|
350 |
+
the Library except as expressly provided under this License. Any
|
351 |
+
attempt otherwise to copy, modify, sublicense, link with, or
|
352 |
+
distribute the Library is void, and will automatically terminate your
|
353 |
+
rights under this License. However, parties who have received copies,
|
354 |
+
or rights, from you under this License will not have their licenses
|
355 |
+
terminated so long as such parties remain in full compliance.
|
356 |
+
|
357 |
+
9. You are not required to accept this License, since you have not
|
358 |
+
signed it. However, nothing else grants you permission to modify or
|
359 |
+
distribute the Library or its derivative works. These actions are
|
360 |
+
prohibited by law if you do not accept this License. Therefore, by
|
361 |
+
modifying or distributing the Library (or any work based on the
|
362 |
+
Library), you indicate your acceptance of this License to do so, and
|
363 |
+
all its terms and conditions for copying, distributing or modifying
|
364 |
+
the Library or works based on it.
|
365 |
+
|
366 |
+
10. Each time you redistribute the Library (or any work based on the
|
367 |
+
Library), the recipient automatically receives a license from the
|
368 |
+
original licensor to copy, distribute, link with or modify the Library
|
369 |
+
subject to these terms and conditions. You may not impose any further
|
370 |
+
restrictions on the recipients' exercise of the rights granted herein.
|
371 |
+
You are not responsible for enforcing compliance by third parties with
|
372 |
+
this License.
|
373 |
+
|
374 |
+
11. If, as a consequence of a court judgment or allegation of patent
|
375 |
+
infringement or for any other reason (not limited to patent issues),
|
376 |
+
conditions are imposed on you (whether by court order, agreement or
|
377 |
+
otherwise) that contradict the conditions of this License, they do not
|
378 |
+
excuse you from the conditions of this License. If you cannot
|
379 |
+
distribute so as to satisfy simultaneously your obligations under this
|
380 |
+
License and any other pertinent obligations, then as a consequence you
|
381 |
+
may not distribute the Library at all. For example, if a patent
|
382 |
+
license would not permit royalty-free redistribution of the Library by
|
383 |
+
all those who receive copies directly or indirectly through you, then
|
384 |
+
the only way you could satisfy both it and this License would be to
|
385 |
+
refrain entirely from distribution of the Library.
|
386 |
+
|
387 |
+
If any portion of this section is held invalid or unenforceable under any
|
388 |
+
particular circumstance, the balance of the section is intended to apply,
|
389 |
+
and the section as a whole is intended to apply in other circumstances.
|
390 |
+
|
391 |
+
It is not the purpose of this section to induce you to infringe any
|
392 |
+
patents or other property right claims or to contest validity of any
|
393 |
+
such claims; this section has the sole purpose of protecting the
|
394 |
+
integrity of the free software distribution system which is
|
395 |
+
implemented by public license practices. Many people have made
|
396 |
+
generous contributions to the wide range of software distributed
|
397 |
+
through that system in reliance on consistent application of that
|
398 |
+
system; it is up to the author/donor to decide if he or she is willing
|
399 |
+
to distribute software through any other system and a licensee cannot
|
400 |
+
impose that choice.
|
401 |
+
|
402 |
+
This section is intended to make thoroughly clear what is believed to
|
403 |
+
be a consequence of the rest of this License.
|
404 |
+
|
405 |
+
12. If the distribution and/or use of the Library is restricted in
|
406 |
+
certain countries either by patents or by copyrighted interfaces, the
|
407 |
+
original copyright holder who places the Library under this License may add
|
408 |
+
an explicit geographical distribution limitation excluding those countries,
|
409 |
+
so that distribution is permitted only in or among countries not thus
|
410 |
+
excluded. In such case, this License incorporates the limitation as if
|
411 |
+
written in the body of this License.
|
412 |
+
|
413 |
+
13. The Free Software Foundation may publish revised and/or new
|
414 |
+
versions of the Lesser General Public License from time to time.
|
415 |
+
Such new versions will be similar in spirit to the present version,
|
416 |
+
but may differ in detail to address new problems or concerns.
|
417 |
+
|
418 |
+
Each version is given a distinguishing version number. If the Library
|
419 |
+
specifies a version number of this License which applies to it and
|
420 |
+
"any later version", you have the option of following the terms and
|
421 |
+
conditions either of that version or of any later version published by
|
422 |
+
the Free Software Foundation. If the Library does not specify a
|
423 |
+
license version number, you may choose any version ever published by
|
424 |
+
the Free Software Foundation.
|
425 |
+
|
426 |
+
14. If you wish to incorporate parts of the Library into other free
|
427 |
+
programs whose distribution conditions are incompatible with these,
|
428 |
+
write to the author to ask for permission. For software which is
|
429 |
+
copyrighted by the Free Software Foundation, write to the Free
|
430 |
+
Software Foundation; we sometimes make exceptions for this. Our
|
431 |
+
decision will be guided by the two goals of preserving the free status
|
432 |
+
of all derivatives of our free software and of promoting the sharing
|
433 |
+
and reuse of software generally.
|
434 |
+
|
435 |
+
NO WARRANTY
|
436 |
+
|
437 |
+
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
|
438 |
+
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
|
439 |
+
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
|
440 |
+
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
|
441 |
+
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
|
442 |
+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
443 |
+
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
|
444 |
+
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
|
445 |
+
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
446 |
+
|
447 |
+
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
|
448 |
+
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
|
449 |
+
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
|
450 |
+
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
|
451 |
+
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
|
452 |
+
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
|
453 |
+
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
|
454 |
+
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
|
455 |
+
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
|
456 |
+
DAMAGES.
|
457 |
+
|
458 |
+
END OF TERMS AND CONDITIONS
|
459 |
+
|
460 |
+
How to Apply These Terms to Your New Libraries
|
461 |
+
|
462 |
+
If you develop a new library, and you want it to be of the greatest
|
463 |
+
possible use to the public, we recommend making it free software that
|
464 |
+
everyone can redistribute and change. You can do so by permitting
|
465 |
+
redistribution under these terms (or, alternatively, under the terms of the
|
466 |
+
ordinary General Public License).
|
467 |
+
|
468 |
+
To apply these terms, attach the following notices to the library. It is
|
469 |
+
safest to attach them to the start of each source file to most effectively
|
470 |
+
convey the exclusion of warranty; and each file should have at least the
|
471 |
+
"copyright" line and a pointer to where the full notice is found.
|
472 |
+
|
473 |
+
<one line to give the library's name and a brief idea of what it does.>
|
474 |
+
Copyright (C) <year> <name of author>
|
475 |
+
|
476 |
+
This library is free software; you can redistribute it and/or
|
477 |
+
modify it under the terms of the GNU Lesser General Public
|
478 |
+
License as published by the Free Software Foundation; either
|
479 |
+
version 2.1 of the License, or (at your option) any later version.
|
480 |
+
|
481 |
+
This library is distributed in the hope that it will be useful,
|
482 |
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
483 |
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
484 |
+
Lesser General Public License for more details.
|
485 |
+
|
486 |
+
You should have received a copy of the GNU Lesser General Public
|
487 |
+
License along with this library; if not, write to the Free Software
|
488 |
+
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
489 |
+
|
490 |
+
Also add information on how to contact you by electronic and paper mail.
|
491 |
+
|
492 |
+
You should also get your employer (if you work as a programmer) or your
|
493 |
+
school, if any, to sign a "copyright disclaimer" for the library, if
|
494 |
+
necessary. Here is a sample; alter the names:
|
495 |
+
|
496 |
+
Yoyodyne, Inc., hereby disclaims all copyright interest in the
|
497 |
+
library `Frob' (a library for tweaking knobs) written by James Random Hacker.
|
498 |
+
|
499 |
+
<signature of Ty Coon>, 1 April 1990
|
500 |
+
Ty Coon, President of Vice
|
501 |
+
|
502 |
+
That's all there is to it!
|
COPYING.LGPLv3
ADDED
@@ -0,0 +1,165 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
GNU LESSER GENERAL PUBLIC LICENSE
|
2 |
+
Version 3, 29 June 2007
|
3 |
+
|
4 |
+
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
|
5 |
+
Everyone is permitted to copy and distribute verbatim copies
|
6 |
+
of this license document, but changing it is not allowed.
|
7 |
+
|
8 |
+
|
9 |
+
This version of the GNU Lesser General Public License incorporates
|
10 |
+
the terms and conditions of version 3 of the GNU General Public
|
11 |
+
License, supplemented by the additional permissions listed below.
|
12 |
+
|
13 |
+
0. Additional Definitions.
|
14 |
+
|
15 |
+
As used herein, "this License" refers to version 3 of the GNU Lesser
|
16 |
+
General Public License, and the "GNU GPL" refers to version 3 of the GNU
|
17 |
+
General Public License.
|
18 |
+
|
19 |
+
"The Library" refers to a covered work governed by this License,
|
20 |
+
other than an Application or a Combined Work as defined below.
|
21 |
+
|
22 |
+
An "Application" is any work that makes use of an interface provided
|
23 |
+
by the Library, but which is not otherwise based on the Library.
|
24 |
+
Defining a subclass of a class defined by the Library is deemed a mode
|
25 |
+
of using an interface provided by the Library.
|
26 |
+
|
27 |
+
A "Combined Work" is a work produced by combining or linking an
|
28 |
+
Application with the Library. The particular version of the Library
|
29 |
+
with which the Combined Work was made is also called the "Linked
|
30 |
+
Version".
|
31 |
+
|
32 |
+
The "Minimal Corresponding Source" for a Combined Work means the
|
33 |
+
Corresponding Source for the Combined Work, excluding any source code
|
34 |
+
for portions of the Combined Work that, considered in isolation, are
|
35 |
+
based on the Application, and not on the Linked Version.
|
36 |
+
|
37 |
+
The "Corresponding Application Code" for a Combined Work means the
|
38 |
+
object code and/or source code for the Application, including any data
|
39 |
+
and utility programs needed for reproducing the Combined Work from the
|
40 |
+
Application, but excluding the System Libraries of the Combined Work.
|
41 |
+
|
42 |
+
1. Exception to Section 3 of the GNU GPL.
|
43 |
+
|
44 |
+
You may convey a covered work under sections 3 and 4 of this License
|
45 |
+
without being bound by section 3 of the GNU GPL.
|
46 |
+
|
47 |
+
2. Conveying Modified Versions.
|
48 |
+
|
49 |
+
If you modify a copy of the Library, and, in your modifications, a
|
50 |
+
facility refers to a function or data to be supplied by an Application
|
51 |
+
that uses the facility (other than as an argument passed when the
|
52 |
+
facility is invoked), then you may convey a copy of the modified
|
53 |
+
version:
|
54 |
+
|
55 |
+
a) under this License, provided that you make a good faith effort to
|
56 |
+
ensure that, in the event an Application does not supply the
|
57 |
+
function or data, the facility still operates, and performs
|
58 |
+
whatever part of its purpose remains meaningful, or
|
59 |
+
|
60 |
+
b) under the GNU GPL, with none of the additional permissions of
|
61 |
+
this License applicable to that copy.
|
62 |
+
|
63 |
+
3. Object Code Incorporating Material from Library Header Files.
|
64 |
+
|
65 |
+
The object code form of an Application may incorporate material from
|
66 |
+
a header file that is part of the Library. You may convey such object
|
67 |
+
code under terms of your choice, provided that, if the incorporated
|
68 |
+
material is not limited to numerical parameters, data structure
|
69 |
+
layouts and accessors, or small macros, inline functions and templates
|
70 |
+
(ten or fewer lines in length), you do both of the following:
|
71 |
+
|
72 |
+
a) Give prominent notice with each copy of the object code that the
|
73 |
+
Library is used in it and that the Library and its use are
|
74 |
+
covered by this License.
|
75 |
+
|
76 |
+
b) Accompany the object code with a copy of the GNU GPL and this license
|
77 |
+
document.
|
78 |
+
|
79 |
+
4. Combined Works.
|
80 |
+
|
81 |
+
You may convey a Combined Work under terms of your choice that,
|
82 |
+
taken together, effectively do not restrict modification of the
|
83 |
+
portions of the Library contained in the Combined Work and reverse
|
84 |
+
engineering for debugging such modifications, if you also do each of
|
85 |
+
the following:
|
86 |
+
|
87 |
+
a) Give prominent notice with each copy of the Combined Work that
|
88 |
+
the Library is used in it and that the Library and its use are
|
89 |
+
covered by this License.
|
90 |
+
|
91 |
+
b) Accompany the Combined Work with a copy of the GNU GPL and this license
|
92 |
+
document.
|
93 |
+
|
94 |
+
c) For a Combined Work that displays copyright notices during
|
95 |
+
execution, include the copyright notice for the Library among
|
96 |
+
these notices, as well as a reference directing the user to the
|
97 |
+
copies of the GNU GPL and this license document.
|
98 |
+
|
99 |
+
d) Do one of the following:
|
100 |
+
|
101 |
+
0) Convey the Minimal Corresponding Source under the terms of this
|
102 |
+
License, and the Corresponding Application Code in a form
|
103 |
+
suitable for, and under terms that permit, the user to
|
104 |
+
recombine or relink the Application with a modified version of
|
105 |
+
the Linked Version to produce a modified Combined Work, in the
|
106 |
+
manner specified by section 6 of the GNU GPL for conveying
|
107 |
+
Corresponding Source.
|
108 |
+
|
109 |
+
1) Use a suitable shared library mechanism for linking with the
|
110 |
+
Library. A suitable mechanism is one that (a) uses at run time
|
111 |
+
a copy of the Library already present on the user's computer
|
112 |
+
system, and (b) will operate properly with a modified version
|
113 |
+
of the Library that is interface-compatible with the Linked
|
114 |
+
Version.
|
115 |
+
|
116 |
+
e) Provide Installation Information, but only if you would otherwise
|
117 |
+
be required to provide such information under section 6 of the
|
118 |
+
GNU GPL, and only to the extent that such information is
|
119 |
+
necessary to install and execute a modified version of the
|
120 |
+
Combined Work produced by recombining or relinking the
|
121 |
+
Application with a modified version of the Linked Version. (If
|
122 |
+
you use option 4d0, the Installation Information must accompany
|
123 |
+
the Minimal Corresponding Source and Corresponding Application
|
124 |
+
Code. If you use option 4d1, you must provide the Installation
|
125 |
+
Information in the manner specified by section 6 of the GNU GPL
|
126 |
+
for conveying Corresponding Source.)
|
127 |
+
|
128 |
+
5. Combined Libraries.
|
129 |
+
|
130 |
+
You may place library facilities that are a work based on the
|
131 |
+
Library side by side in a single library together with other library
|
132 |
+
facilities that are not Applications and are not covered by this
|
133 |
+
License, and convey such a combined library under terms of your
|
134 |
+
choice, if you do both of the following:
|
135 |
+
|
136 |
+
a) Accompany the combined library with a copy of the same work based
|
137 |
+
on the Library, uncombined with any other library facilities,
|
138 |
+
conveyed under the terms of this License.
|
139 |
+
|
140 |
+
b) Give prominent notice with the combined library that part of it
|
141 |
+
is a work based on the Library, and explaining where to find the
|
142 |
+
accompanying uncombined form of the same work.
|
143 |
+
|
144 |
+
6. Revised Versions of the GNU Lesser General Public License.
|
145 |
+
|
146 |
+
The Free Software Foundation may publish revised and/or new versions
|
147 |
+
of the GNU Lesser General Public License from time to time. Such new
|
148 |
+
versions will be similar in spirit to the present version, but may
|
149 |
+
differ in detail to address new problems or concerns.
|
150 |
+
|
151 |
+
Each version is given a distinguishing version number. If the
|
152 |
+
Library as you received it specifies that a certain numbered version
|
153 |
+
of the GNU Lesser General Public License "or any later version"
|
154 |
+
applies to it, you have the option of following the terms and
|
155 |
+
conditions either of that published version or of any later version
|
156 |
+
published by the Free Software Foundation. If the Library as you
|
157 |
+
received it does not specify a version number of the GNU Lesser
|
158 |
+
General Public License, you may choose any version of the GNU Lesser
|
159 |
+
General Public License ever published by the Free Software Foundation.
|
160 |
+
|
161 |
+
If the Library as you received it specifies that a proxy can decide
|
162 |
+
whether future versions of the GNU Lesser General Public License shall
|
163 |
+
apply, that proxy's public statement of acceptance of any version is
|
164 |
+
permanent authorization for you to choose that version for the
|
165 |
+
Library.
|
CREDITS
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
See the Git history of the project (https://git.ffmpeg.org/ffmpeg) to
|
2 |
+
get the names of people who have contributed to FFmpeg.
|
3 |
+
|
4 |
+
To check the log, you can type the command "git log" in the FFmpeg
|
5 |
+
source directory, or browse the online repository at
|
6 |
+
https://git.ffmpeg.org/ffmpeg
|
Changelog
ADDED
@@ -0,0 +1,2103 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
Entries are sorted chronologically from oldest to youngest within each release,
|
2 |
+
releases are sorted from youngest to oldest.
|
3 |
+
|
4 |
+
version <next>:
|
5 |
+
- libaribcaption decoder
|
6 |
+
- Playdate video decoder and demuxer
|
7 |
+
- Extend VAAPI support for libva-win32 on Windows
|
8 |
+
- afireqsrc audio source filter
|
9 |
+
- arls filter
|
10 |
+
- ffmpeg CLI new option: -readrate_initial_burst
|
11 |
+
- zoneplate video source filter
|
12 |
+
- command support in the setpts and asetpts filters
|
13 |
+
- Vulkan decode hwaccel, supporting H264, HEVC and AV1
|
14 |
+
- color_vulkan filter
|
15 |
+
- bwdif_vulkan filter
|
16 |
+
- nlmeans_vulkan filter
|
17 |
+
- RivaTuner video decoder
|
18 |
+
- xfade_vulkan filter
|
19 |
+
- vMix video decoder
|
20 |
+
- Essential Video Coding parser, muxer and demuxer
|
21 |
+
- Essential Video Coding frame merge bsf
|
22 |
+
- bwdif_cuda filter
|
23 |
+
- Microsoft RLE video encoder
|
24 |
+
- Raw AC-4 muxer and demuxer
|
25 |
+
- Raw VVC bitstream parser, muxer and demuxer
|
26 |
+
- Bitstream filter for editing metadata in VVC streams
|
27 |
+
- Bitstream filter for converting VVC from MP4 to Annex B
|
28 |
+
- scale_vt filter for videotoolbox
|
29 |
+
- transpose_vt filter for videotoolbox
|
30 |
+
- support for the P_SKIP hinting to speed up libx264 encoding
|
31 |
+
- Support HEVC,VP9,AV1 codec in enhanced flv format
|
32 |
+
- apsnr and asisdr audio filters
|
33 |
+
- OSQ demuxer and decoder
|
34 |
+
- Support HEVC,VP9,AV1 codec fourcclist in enhanced rtmp protocol
|
35 |
+
|
36 |
+
|
37 |
+
version 6.0:
|
38 |
+
- Radiance HDR image support
|
39 |
+
- ddagrab (Desktop Duplication) video capture filter
|
40 |
+
- ffmpeg -shortest_buf_duration option
|
41 |
+
- ffmpeg now requires threading to be built
|
42 |
+
- ffmpeg now runs every muxer in a separate thread
|
43 |
+
- Add new mode to cropdetect filter to detect crop-area based on motion vectors and edges
|
44 |
+
- VAAPI decoding and encoding for 10/12bit 422, 10/12bit 444 HEVC and VP9
|
45 |
+
- WBMP (Wireless Application Protocol Bitmap) image format
|
46 |
+
- a3dscope filter
|
47 |
+
- bonk decoder and demuxer
|
48 |
+
- Micronas SC-4 audio decoder
|
49 |
+
- LAF demuxer
|
50 |
+
- APAC decoder and demuxer
|
51 |
+
- Media 100i decoders
|
52 |
+
- DTS to PTS reorder bsf
|
53 |
+
- ViewQuest VQC decoder
|
54 |
+
- backgroundkey filter
|
55 |
+
- nvenc AV1 encoding support
|
56 |
+
- MediaCodec decoder via NDKMediaCodec
|
57 |
+
- MediaCodec encoder
|
58 |
+
- oneVPL support for QSV
|
59 |
+
- QSV AV1 encoder
|
60 |
+
- QSV decoding and encoding for 10/12bit 422, 10/12bit 444 HEVC and VP9
|
61 |
+
- showcwt multimedia filter
|
62 |
+
- corr video filter
|
63 |
+
- adrc audio filter
|
64 |
+
- afdelaysrc audio filter
|
65 |
+
- WADY DPCM decoder and demuxer
|
66 |
+
- CBD2 DPCM decoder
|
67 |
+
- ssim360 video filter
|
68 |
+
- ffmpeg CLI new options: -stats_enc_pre[_fmt], -stats_enc_post[_fmt],
|
69 |
+
-stats_mux_pre[_fmt]
|
70 |
+
- hstack_vaapi, vstack_vaapi and xstack_vaapi filters
|
71 |
+
- XMD ADPCM decoder and demuxer
|
72 |
+
- media100 to mjpegb bsf
|
73 |
+
- ffmpeg CLI new option: -fix_sub_duration_heartbeat
|
74 |
+
- WavArc decoder and demuxer
|
75 |
+
- CrystalHD decoders deprecated
|
76 |
+
- SDNS demuxer
|
77 |
+
- RKA decoder and demuxer
|
78 |
+
- filtergraph syntax in ffmpeg CLI now supports passing file contents
|
79 |
+
as option values, by prefixing option name with '/'
|
80 |
+
- hstack_qsv, vstack_qsv and xstack_qsv filters
|
81 |
+
|
82 |
+
|
83 |
+
version 5.1:
|
84 |
+
- add ipfs/ipns gateway support
|
85 |
+
- dialogue enhance audio filter
|
86 |
+
- dropped obsolete XvMC hwaccel
|
87 |
+
- pcm-bluray encoder
|
88 |
+
- DFPWM audio encoder/decoder and raw muxer/demuxer
|
89 |
+
- SITI filter
|
90 |
+
- Vizrt Binary Image encoder/decoder
|
91 |
+
- avsynctest source filter
|
92 |
+
- feedback video filter
|
93 |
+
- pixelize video filter
|
94 |
+
- colormap video filter
|
95 |
+
- colorchart video source filter
|
96 |
+
- multiply video filter
|
97 |
+
- PGS subtitle frame merge bitstream filter
|
98 |
+
- blurdetect filter
|
99 |
+
- tiltshelf audio filter
|
100 |
+
- QOI image format support
|
101 |
+
- ffprobe -o option
|
102 |
+
- virtualbass audio filter
|
103 |
+
- VDPAU AV1 hwaccel
|
104 |
+
- PHM image format support
|
105 |
+
- remap_opencl filter
|
106 |
+
- added chromakey_cuda filter
|
107 |
+
- added bilateral_cuda filter
|
108 |
+
|
109 |
+
|
110 |
+
version 5.0:
|
111 |
+
- ADPCM IMA Westwood encoder
|
112 |
+
- Westwood AUD muxer
|
113 |
+
- ADPCM IMA Acorn Replay decoder
|
114 |
+
- Argonaut Games CVG demuxer
|
115 |
+
- Argonaut Games CVG muxer
|
116 |
+
- Concatf protocol
|
117 |
+
- afwtdn audio filter
|
118 |
+
- audio and video segment filters
|
119 |
+
- Apple Graphics (SMC) encoder
|
120 |
+
- hsvkey and hsvhold video filters
|
121 |
+
- adecorrelate audio filter
|
122 |
+
- atilt audio filter
|
123 |
+
- grayworld video filter
|
124 |
+
- AV1 Low overhead bitstream format muxer
|
125 |
+
- swscale slice threading
|
126 |
+
- MSN Siren decoder
|
127 |
+
- scharr video filter
|
128 |
+
- apsyclip audio filter
|
129 |
+
- morpho video filter
|
130 |
+
- amr parser
|
131 |
+
- (a)latency filters
|
132 |
+
- GEM Raster image decoder
|
133 |
+
- asdr audio filter
|
134 |
+
- speex decoder
|
135 |
+
- limitdiff video filter
|
136 |
+
- xcorrelate video filter
|
137 |
+
- varblur video filter
|
138 |
+
- huesaturation video filter
|
139 |
+
- colorspectrum source video filter
|
140 |
+
- RTP packetizer for uncompressed video (RFC 4175)
|
141 |
+
- bitpacked encoder
|
142 |
+
- VideoToolbox VP9 hwaccel
|
143 |
+
- VideoToolbox ProRes hwaccel
|
144 |
+
- support loongarch.
|
145 |
+
- aspectralstats audio filter
|
146 |
+
- adynamicsmooth audio filter
|
147 |
+
- libplacebo filter
|
148 |
+
- vflip_vulkan, hflip_vulkan and flip_vulkan filters
|
149 |
+
- adynamicequalizer audio filter
|
150 |
+
- yadif_videotoolbox filter
|
151 |
+
- VideoToolbox ProRes encoder
|
152 |
+
- anlmf audio filter
|
153 |
+
- IMF demuxer (experimental)
|
154 |
+
|
155 |
+
|
156 |
+
version 4.4:
|
157 |
+
- AudioToolbox output device
|
158 |
+
- MacCaption demuxer
|
159 |
+
- PGX decoder
|
160 |
+
- chromanr video filter
|
161 |
+
- VDPAU accelerated HEVC 10/12bit decoding
|
162 |
+
- ADPCM IMA Ubisoft APM encoder
|
163 |
+
- Rayman 2 APM muxer
|
164 |
+
- AV1 encoding support SVT-AV1
|
165 |
+
- Cineform HD encoder
|
166 |
+
- ADPCM Argonaut Games encoder
|
167 |
+
- Argonaut Games ASF muxer
|
168 |
+
- AV1 Low overhead bitstream format demuxer
|
169 |
+
- RPZA video encoder
|
170 |
+
- ADPCM IMA MOFLEX decoder
|
171 |
+
- MobiClip FastAudio decoder
|
172 |
+
- MobiClip video decoder
|
173 |
+
- MOFLEX demuxer
|
174 |
+
- MODS demuxer
|
175 |
+
- PhotoCD decoder
|
176 |
+
- MCA demuxer
|
177 |
+
- AV1 decoder (Hardware acceleration used only)
|
178 |
+
- SVS demuxer
|
179 |
+
- Argonaut Games BRP demuxer
|
180 |
+
- DAT demuxer
|
181 |
+
- aax demuxer
|
182 |
+
- IPU decoder, parser and demuxer
|
183 |
+
- Intel QSV-accelerated AV1 decoding
|
184 |
+
- Argonaut Games Video decoder
|
185 |
+
- libwavpack encoder removed
|
186 |
+
- ACE demuxer
|
187 |
+
- AVS3 demuxer
|
188 |
+
- AVS3 video decoder via libuavs3d
|
189 |
+
- Cintel RAW decoder
|
190 |
+
- VDPAU accelerated VP9 10/12bit decoding
|
191 |
+
- afreqshift and aphaseshift filters
|
192 |
+
- High Voltage Software ADPCM encoder
|
193 |
+
- LEGO Racers ALP (.tun & .pcm) muxer
|
194 |
+
- AV1 VAAPI decoder
|
195 |
+
- adenorm filter
|
196 |
+
- ADPCM IMA AMV encoder
|
197 |
+
- AMV muxer
|
198 |
+
- NVDEC AV1 hwaccel
|
199 |
+
- DXVA2/D3D11VA hardware accelerated AV1 decoding
|
200 |
+
- speechnorm filter
|
201 |
+
- SpeedHQ encoder
|
202 |
+
- asupercut filter
|
203 |
+
- asubcut filter
|
204 |
+
- Microsoft Paint (MSP) version 2 decoder
|
205 |
+
- Microsoft Paint (MSP) demuxer
|
206 |
+
- AV1 monochrome encoding support via libaom >= 2.0.1
|
207 |
+
- asuperpass and asuperstop filter
|
208 |
+
- shufflepixels filter
|
209 |
+
- tmidequalizer filter
|
210 |
+
- estdif filter
|
211 |
+
- epx filter
|
212 |
+
- Dolby E parser
|
213 |
+
- shear filter
|
214 |
+
- kirsch filter
|
215 |
+
- colortemperature filter
|
216 |
+
- colorcontrast filter
|
217 |
+
- PFM encoder
|
218 |
+
- colorcorrect filter
|
219 |
+
- binka demuxer
|
220 |
+
- XBM parser
|
221 |
+
- xbm_pipe demuxer
|
222 |
+
- colorize filter
|
223 |
+
- CRI parser
|
224 |
+
- aexciter audio filter
|
225 |
+
- exposure video filter
|
226 |
+
- monochrome video filter
|
227 |
+
- setts bitstream filter
|
228 |
+
- vif video filter
|
229 |
+
- OpenEXR image encoder
|
230 |
+
- Simbiosis IMX decoder
|
231 |
+
- Simbiosis IMX demuxer
|
232 |
+
- Digital Pictures SGA demuxer and decoders
|
233 |
+
- TTML subtitle encoder and muxer
|
234 |
+
- identity video filter
|
235 |
+
- msad video filter
|
236 |
+
- gophers protocol
|
237 |
+
- RIST protocol via librist
|
238 |
+
|
239 |
+
|
240 |
+
version 4.3:
|
241 |
+
- v360 filter
|
242 |
+
- Intel QSV-accelerated MJPEG decoding
|
243 |
+
- Intel QSV-accelerated VP9 decoding
|
244 |
+
- Support for TrueHD in mp4
|
245 |
+
- Support AMD AMF encoder on Linux (via Vulkan)
|
246 |
+
- IMM5 video decoder
|
247 |
+
- ZeroMQ protocol
|
248 |
+
- support Sipro ACELP.KELVIN decoding
|
249 |
+
- streamhash muxer
|
250 |
+
- sierpinski video source
|
251 |
+
- scroll video filter
|
252 |
+
- photosensitivity filter
|
253 |
+
- anlms filter
|
254 |
+
- arnndn filter
|
255 |
+
- bilateral filter
|
256 |
+
- maskedmin and maskedmax filters
|
257 |
+
- VDPAU VP9 hwaccel
|
258 |
+
- median filter
|
259 |
+
- QSV-accelerated VP9 encoding
|
260 |
+
- AV1 encoding support via librav1e
|
261 |
+
- AV1 frame merge bitstream filter
|
262 |
+
- AV1 Annex B demuxer
|
263 |
+
- axcorrelate filter
|
264 |
+
- mvdv decoder
|
265 |
+
- mvha decoder
|
266 |
+
- MPEG-H 3D Audio support in mp4
|
267 |
+
- thistogram filter
|
268 |
+
- freezeframes filter
|
269 |
+
- Argonaut Games ADPCM decoder
|
270 |
+
- Argonaut Games ASF demuxer
|
271 |
+
- xfade video filter
|
272 |
+
- xfade_opencl filter
|
273 |
+
- afirsrc audio filter source
|
274 |
+
- pad_opencl filter
|
275 |
+
- Simon & Schuster Interactive ADPCM decoder
|
276 |
+
- Real War KVAG demuxer
|
277 |
+
- CDToons video decoder
|
278 |
+
- siren audio decoder
|
279 |
+
- Rayman 2 ADPCM decoder
|
280 |
+
- Rayman 2 APM demuxer
|
281 |
+
- cas video filter
|
282 |
+
- High Voltage Software ADPCM decoder
|
283 |
+
- LEGO Racers ALP (.tun & .pcm) demuxer
|
284 |
+
- AMQP 0-9-1 protocol (RabbitMQ)
|
285 |
+
- Vulkan support
|
286 |
+
- avgblur_vulkan, overlay_vulkan, scale_vulkan and chromaber_vulkan filters
|
287 |
+
- ADPCM IMA MTF decoder
|
288 |
+
- FWSE demuxer
|
289 |
+
- DERF DPCM decoder
|
290 |
+
- DERF demuxer
|
291 |
+
- CRI HCA decoder
|
292 |
+
- CRI HCA demuxer
|
293 |
+
- overlay_cuda filter
|
294 |
+
- switch from AvxSynth to AviSynth+ on Linux
|
295 |
+
- mv30 decoder
|
296 |
+
- Expanded styling support for 3GPP Timed Text Subtitles (movtext)
|
297 |
+
- WebP parser
|
298 |
+
- tmedian filter
|
299 |
+
- maskedthreshold filter
|
300 |
+
- Support for muxing pcm and pgs in m2ts
|
301 |
+
- Cunning Developments ADPCM decoder
|
302 |
+
- asubboost filter
|
303 |
+
- Pro Pinball Series Soundbank demuxer
|
304 |
+
- pcm_rechunk bitstream filter
|
305 |
+
- scdet filter
|
306 |
+
- NotchLC decoder
|
307 |
+
- gradients source video filter
|
308 |
+
- MediaFoundation encoder wrapper
|
309 |
+
- untile filter
|
310 |
+
- Simon & Schuster Interactive ADPCM encoder
|
311 |
+
- PFM decoder
|
312 |
+
- dblur video filter
|
313 |
+
- Real War KVAG muxer
|
314 |
+
|
315 |
+
|
316 |
+
version 4.2:
|
317 |
+
- tpad filter
|
318 |
+
- AV1 decoding support through libdav1d
|
319 |
+
- dedot filter
|
320 |
+
- chromashift and rgbashift filters
|
321 |
+
- freezedetect filter
|
322 |
+
- truehd_core bitstream filter
|
323 |
+
- dhav demuxer
|
324 |
+
- PCM-DVD encoder
|
325 |
+
- GIF parser
|
326 |
+
- vividas demuxer
|
327 |
+
- hymt decoder
|
328 |
+
- anlmdn filter
|
329 |
+
- maskfun filter
|
330 |
+
- hcom demuxer and decoder
|
331 |
+
- ARBC decoder
|
332 |
+
- libaribb24 based ARIB STD-B24 caption support (profiles A and C)
|
333 |
+
- Support decoding of HEVC 4:4:4 content in nvdec and cuviddec
|
334 |
+
- removed libndi-newtek
|
335 |
+
- agm decoder
|
336 |
+
- KUX demuxer
|
337 |
+
- AV1 frame split bitstream filter
|
338 |
+
- lscr decoder
|
339 |
+
- lagfun filter
|
340 |
+
- asoftclip filter
|
341 |
+
- Support decoding of HEVC 4:4:4 content in vdpau
|
342 |
+
- colorhold filter
|
343 |
+
- xmedian filter
|
344 |
+
- asr filter
|
345 |
+
- showspatial multimedia filter
|
346 |
+
- VP4 video decoder
|
347 |
+
- IFV demuxer
|
348 |
+
- derain filter
|
349 |
+
- deesser filter
|
350 |
+
- mov muxer writes tracks with unspecified language instead of English by default
|
351 |
+
- add support for using clang to compile CUDA kernels
|
352 |
+
|
353 |
+
|
354 |
+
version 4.1:
|
355 |
+
- deblock filter
|
356 |
+
- tmix filter
|
357 |
+
- amplify filter
|
358 |
+
- fftdnoiz filter
|
359 |
+
- aderivative and aintegral audio filters
|
360 |
+
- pal75bars and pal100bars video filter sources
|
361 |
+
- support mbedTLS based TLS
|
362 |
+
- adeclick filter
|
363 |
+
- adeclip filter
|
364 |
+
- libtensorflow backend for DNN based filters like srcnn
|
365 |
+
- vc1 decoder is now bit-exact
|
366 |
+
- ATRAC9 decoder
|
367 |
+
- lensfun wrapper filter
|
368 |
+
- colorconstancy filter
|
369 |
+
- AVS2 video decoder via libdavs2
|
370 |
+
- IMM4 video decoder
|
371 |
+
- Brooktree ProSumer video decoder
|
372 |
+
- MatchWare Screen Capture Codec decoder
|
373 |
+
- WinCam Motion Video decoder
|
374 |
+
- 1D LUT filter (lut1d)
|
375 |
+
- RemotelyAnywhere Screen Capture decoder
|
376 |
+
- cue and acue filters
|
377 |
+
- support for AV1 in MP4
|
378 |
+
- transpose_npp filter
|
379 |
+
- AVS2 video encoder via libxavs2
|
380 |
+
- amultiply filter
|
381 |
+
- Block-Matching 3d (bm3d) denoising filter
|
382 |
+
- acrossover filter
|
383 |
+
- ilbc decoder
|
384 |
+
- audio denoiser as afftdn filter
|
385 |
+
- AV1 parser
|
386 |
+
- SER demuxer
|
387 |
+
- sinc audio filter source
|
388 |
+
- chromahold filter
|
389 |
+
- setparams filter
|
390 |
+
- vibrance filter
|
391 |
+
- decoding S12M timecode in h264
|
392 |
+
- xstack filter
|
393 |
+
- pcm vidc decoder and encoder
|
394 |
+
- (a)graphmonitor filter
|
395 |
+
- yadif_cuda filter
|
396 |
+
|
397 |
+
|
398 |
+
version 4.0:
|
399 |
+
- Bitstream filters for editing metadata in H.264, HEVC and MPEG-2 streams
|
400 |
+
- Dropped support for OpenJPEG versions 2.0 and below. Using OpenJPEG now
|
401 |
+
requires 2.1 (or later) and pkg-config.
|
402 |
+
- VDA dropped (use VideoToolbox instead)
|
403 |
+
- MagicYUV encoder
|
404 |
+
- Raw AMR-NB and AMR-WB demuxers
|
405 |
+
- TiVo ty/ty+ demuxer
|
406 |
+
- Intel QSV-accelerated MJPEG encoding
|
407 |
+
- PCE support for extended channel layouts in the AAC encoder
|
408 |
+
- native aptX and aptX HD encoder and decoder
|
409 |
+
- Raw aptX and aptX HD muxer and demuxer
|
410 |
+
- NVIDIA NVDEC-accelerated H.264, HEVC, MJPEG, MPEG-1/2/4, VC1, VP8/9 hwaccel decoding
|
411 |
+
- Intel QSV-accelerated overlay filter
|
412 |
+
- mcompand audio filter
|
413 |
+
- acontrast audio filter
|
414 |
+
- OpenCL overlay filter
|
415 |
+
- video mix filter
|
416 |
+
- video normalize filter
|
417 |
+
- audio lv2 wrapper filter
|
418 |
+
- VAAPI MJPEG and VP8 decoding
|
419 |
+
- AMD AMF H.264 and HEVC encoders
|
420 |
+
- video fillborders filter
|
421 |
+
- video setrange filter
|
422 |
+
- nsp demuxer
|
423 |
+
- support LibreSSL (via libtls)
|
424 |
+
- AVX-512/ZMM support added
|
425 |
+
- Dropped support for building for Windows XP. The minimum supported Windows
|
426 |
+
version is Windows Vista.
|
427 |
+
- deconvolve video filter
|
428 |
+
- entropy video filter
|
429 |
+
- hilbert audio filter source
|
430 |
+
- aiir audio filter
|
431 |
+
- aiff: add support for CD-ROM XA ADPCM
|
432 |
+
- Removed the ffserver program
|
433 |
+
- Removed the ffmenc and ffmdec muxer and demuxer
|
434 |
+
- VideoToolbox HEVC encoder and hwaccel
|
435 |
+
- VAAPI-accelerated ProcAmp (color balance), denoise and sharpness filters
|
436 |
+
- Add android_camera indev
|
437 |
+
- codec2 en/decoding via libcodec2
|
438 |
+
- muxer/demuxer for raw codec2 files and .c2 files
|
439 |
+
- Moved nvidia codec headers into an external repository.
|
440 |
+
They can be found at http://git.videolan.org/?p=ffmpeg/nv-codec-headers.git
|
441 |
+
- native SBC encoder and decoder
|
442 |
+
- drmeter audio filter
|
443 |
+
- hapqa_extract bitstream filter
|
444 |
+
- filter_units bitstream filter
|
445 |
+
- AV1 Support through libaom
|
446 |
+
- E-AC-3 dependent frames support
|
447 |
+
- bitstream filter for extracting E-AC-3 core
|
448 |
+
- Haivision SRT protocol via libsrt
|
449 |
+
- segafilm muxer
|
450 |
+
- vfrdet filter
|
451 |
+
- SRCNN filter
|
452 |
+
|
453 |
+
|
454 |
+
version 3.4:
|
455 |
+
- deflicker video filter
|
456 |
+
- doubleweave video filter
|
457 |
+
- lumakey video filter
|
458 |
+
- pixscope video filter
|
459 |
+
- oscilloscope video filter
|
460 |
+
- config.log and other configuration files moved into ffbuild/ directory
|
461 |
+
- update cuvid/nvenc headers to Video Codec SDK 8.0.14
|
462 |
+
- afir audio filter
|
463 |
+
- scale_cuda CUDA based video scale filter
|
464 |
+
- librsvg support for svg rasterization
|
465 |
+
- crossfeed audio filter
|
466 |
+
- spec compliant VP9 muxing support in MP4
|
467 |
+
- remove the libnut muxer/demuxer wrappers
|
468 |
+
- remove the libschroedinger encoder/decoder wrappers
|
469 |
+
- surround audio filter
|
470 |
+
- sofalizer filter switched to libmysofa
|
471 |
+
- Gremlin Digital Video demuxer and decoder
|
472 |
+
- headphone audio filter
|
473 |
+
- superequalizer audio filter
|
474 |
+
- roberts video filter
|
475 |
+
- The x86 assembler default switched from yasm to nasm, pass
|
476 |
+
--x86asmexe=yasm to configure to restore the old behavior.
|
477 |
+
- additional frame format support for Interplay MVE movies
|
478 |
+
- support for decoding through D3D11VA in ffmpeg
|
479 |
+
- limiter video filter
|
480 |
+
- libvmaf video filter
|
481 |
+
- Dolby E decoder and SMPTE 337M demuxer
|
482 |
+
- unpremultiply video filter
|
483 |
+
- tlut2 video filter
|
484 |
+
- floodfill video filter
|
485 |
+
- pseudocolor video filter
|
486 |
+
- raw G.726 muxer and demuxer, left- and right-justified
|
487 |
+
- NewTek NDI input/output device
|
488 |
+
- Some video filters with several inputs now use a common set of options:
|
489 |
+
blend, libvmaf, lut3d, overlay, psnr, ssim.
|
490 |
+
They must always be used by name.
|
491 |
+
- FITS demuxer and decoder
|
492 |
+
- FITS muxer and encoder
|
493 |
+
- add --disable-autodetect build switch
|
494 |
+
- drop deprecated qtkit input device (use avfoundation instead)
|
495 |
+
- despill video filter
|
496 |
+
- haas audio filter
|
497 |
+
- SUP/PGS subtitle muxer
|
498 |
+
- convolve video filter
|
499 |
+
- VP9 tile threading support
|
500 |
+
- KMS screen grabber
|
501 |
+
- CUDA thumbnail filter
|
502 |
+
- V4L2 mem2mem HW assisted codecs
|
503 |
+
- Rockchip MPP hardware decoding
|
504 |
+
- vmafmotion video filter
|
505 |
+
- use MIME type "G726" for little-endian G.726, "AAL2-G726" for big-endian G.726
|
506 |
+
|
507 |
+
|
508 |
+
version 3.3:
|
509 |
+
- CrystalHD decoder moved to new decode API
|
510 |
+
- add internal ebur128 library, remove external libebur128 dependency
|
511 |
+
- Pro-MPEG CoP #3-R2 FEC protocol
|
512 |
+
- premultiply video filter
|
513 |
+
- Support for spherical videos
|
514 |
+
- configure now fails if autodetect-libraries are requested but not found
|
515 |
+
- PSD Decoder
|
516 |
+
- 16.8 floating point pcm decoder
|
517 |
+
- 24.0 floating point pcm decoder
|
518 |
+
- Apple Pixlet decoder
|
519 |
+
- QDMC audio decoder
|
520 |
+
- NewTek SpeedHQ decoder
|
521 |
+
- MIDI Sample Dump Standard demuxer
|
522 |
+
- readeia608 filter
|
523 |
+
- Sample Dump eXchange demuxer
|
524 |
+
- abitscope multimedia filter
|
525 |
+
- Scenarist Closed Captions demuxer and muxer
|
526 |
+
- threshold filter
|
527 |
+
- midequalizer filter
|
528 |
+
- Optimal Huffman tables for (M)JPEG encoding
|
529 |
+
- VAAPI-accelerated MPEG-2 and VP8 encoding
|
530 |
+
- FM Screen Capture Codec decoder
|
531 |
+
- native Opus encoder
|
532 |
+
- ScreenPressor decoder
|
533 |
+
- incomplete ClearVideo decoder
|
534 |
+
- Intel QSV video scaling and deinterlacing filters
|
535 |
+
- Support MOV with multiple sample description tables
|
536 |
+
- XPM decoder
|
537 |
+
- Removed the legacy X11 screen grabber, use XCB instead
|
538 |
+
- MPEG-7 Video Signature filter
|
539 |
+
- Removed asyncts filter (use af_aresample instead)
|
540 |
+
- Intel QSV-accelerated VP8 video decoding
|
541 |
+
- VAAPI-accelerated deinterlacing
|
542 |
+
|
543 |
+
|
544 |
+
version 3.2:
|
545 |
+
- libopenmpt demuxer
|
546 |
+
- tee protocol
|
547 |
+
- Changed metadata print option to accept general urls
|
548 |
+
- Alias muxer for Ogg Video (.ogv)
|
549 |
+
- VP8 in Ogg muxing
|
550 |
+
- curves filter doesn't automatically insert points at x=0 and x=1 anymore
|
551 |
+
- 16-bit support in curves filter and selectivecolor filter
|
552 |
+
- OpenH264 decoder wrapper
|
553 |
+
- MediaCodec H.264/HEVC/MPEG-4/VP8/VP9 hwaccel
|
554 |
+
- True Audio (TTA) muxer
|
555 |
+
- crystalizer audio filter
|
556 |
+
- acrusher audio filter
|
557 |
+
- bitplanenoise video filter
|
558 |
+
- floating point support in als decoder
|
559 |
+
- fifo muxer
|
560 |
+
- maskedclamp filter
|
561 |
+
- hysteresis filter
|
562 |
+
- lut2 filter
|
563 |
+
- yuvtestsrc filter
|
564 |
+
- CUDA CUVID H.263/VP8/VP9/10 bit HEVC (Dithered) Decoding
|
565 |
+
- vaguedenoiser filter
|
566 |
+
- added threads option per filter instance
|
567 |
+
- weave filter
|
568 |
+
- gblur filter
|
569 |
+
- avgblur filter
|
570 |
+
- sobel and prewitt filter
|
571 |
+
- MediaCodec HEVC/MPEG-4/VP8/VP9 decoding
|
572 |
+
- Meridian Lossless Packing (MLP) / TrueHD encoder
|
573 |
+
- Non-Local Means (nlmeans) denoising filter
|
574 |
+
- sdl2 output device and ffplay support
|
575 |
+
- sdl1 output device and sdl1 support removed
|
576 |
+
- extended mov edit list support
|
577 |
+
- libfaac encoder removed
|
578 |
+
- Matroska muxer now writes CRC32 elements by default in all Level 1 elements
|
579 |
+
- sidedata video and asidedata audio filter
|
580 |
+
- Changed mapping of rtp MIME type G726 to codec g726le.
|
581 |
+
- spec compliant VAAPI/DXVA2 VC-1 decoding of slices in frame-coded images
|
582 |
+
|
583 |
+
|
584 |
+
version 3.1:
|
585 |
+
- DXVA2-accelerated HEVC Main10 decoding
|
586 |
+
- fieldhint filter
|
587 |
+
- loop video filter and aloop audio filter
|
588 |
+
- Bob Weaver deinterlacing filter
|
589 |
+
- firequalizer filter
|
590 |
+
- datascope filter
|
591 |
+
- bench and abench filters
|
592 |
+
- ciescope filter
|
593 |
+
- protocol blacklisting API
|
594 |
+
- MediaCodec H264 decoding
|
595 |
+
- VC-2 HQ RTP payload format (draft v1) depacketizer and packetizer
|
596 |
+
- VP9 RTP payload format (draft v2) packetizer
|
597 |
+
- AudioToolbox audio decoders
|
598 |
+
- AudioToolbox audio encoders
|
599 |
+
- coreimage filter (GPU based image filtering on OSX)
|
600 |
+
- libdcadec removed
|
601 |
+
- bitstream filter for extracting DTS core
|
602 |
+
- ADPCM IMA DAT4 decoder
|
603 |
+
- musx demuxer
|
604 |
+
- aix demuxer
|
605 |
+
- remap filter
|
606 |
+
- hash and framehash muxers
|
607 |
+
- colorspace filter
|
608 |
+
- hdcd filter
|
609 |
+
- readvitc filter
|
610 |
+
- VAAPI-accelerated format conversion and scaling
|
611 |
+
- libnpp/CUDA-accelerated format conversion and scaling
|
612 |
+
- Duck TrueMotion 2.0 Real Time decoder
|
613 |
+
- Wideband Single-bit Data (WSD) demuxer
|
614 |
+
- VAAPI-accelerated H.264/HEVC/MJPEG encoding
|
615 |
+
- DTS Express (LBR) decoder
|
616 |
+
- Generic OpenMAX IL encoder with support for Raspberry Pi
|
617 |
+
- IFF ANIM demuxer & decoder
|
618 |
+
- Direct Stream Transfer (DST) decoder
|
619 |
+
- loudnorm filter
|
620 |
+
- MTAF demuxer and decoder
|
621 |
+
- MagicYUV decoder
|
622 |
+
- OpenExr improvements (tile data and B44/B44A support)
|
623 |
+
- BitJazz SheerVideo decoder
|
624 |
+
- CUDA CUVID H264/HEVC decoder
|
625 |
+
- 10-bit depth support in native utvideo decoder
|
626 |
+
- libutvideo wrapper removed
|
627 |
+
- YUY2 Lossless Codec decoder
|
628 |
+
- VideoToolbox H.264 encoder
|
629 |
+
|
630 |
+
|
631 |
+
version 3.0:
|
632 |
+
- Common Encryption (CENC) MP4 encoding and decoding support
|
633 |
+
- DXV decoding
|
634 |
+
- extrastereo filter
|
635 |
+
- ocr filter
|
636 |
+
- alimiter filter
|
637 |
+
- stereowiden filter
|
638 |
+
- stereotools filter
|
639 |
+
- rubberband filter
|
640 |
+
- tremolo filter
|
641 |
+
- agate filter
|
642 |
+
- chromakey filter
|
643 |
+
- maskedmerge filter
|
644 |
+
- Screenpresso SPV1 decoding
|
645 |
+
- chromaprint fingerprinting muxer
|
646 |
+
- ffplay dynamic volume control
|
647 |
+
- displace filter
|
648 |
+
- selectivecolor filter
|
649 |
+
- extensive native AAC encoder improvements and removal of experimental flag
|
650 |
+
- ADPCM PSX decoder
|
651 |
+
- 3dostr, dcstr, fsb, genh, vag, xvag, ads, msf, svag & vpk demuxer
|
652 |
+
- zscale filter
|
653 |
+
- wve demuxer
|
654 |
+
- zero-copy Intel QSV transcoding in ffmpeg
|
655 |
+
- shuffleframes filter
|
656 |
+
- SDX2 DPCM decoder
|
657 |
+
- vibrato filter
|
658 |
+
- innoHeim/Rsupport Screen Capture Codec decoder
|
659 |
+
- ADPCM AICA decoder
|
660 |
+
- Interplay ACM demuxer and audio decoder
|
661 |
+
- XMA1 & XMA2 decoder
|
662 |
+
- realtime filter
|
663 |
+
- anoisesrc audio filter source
|
664 |
+
- IVR demuxer
|
665 |
+
- compensationdelay filter
|
666 |
+
- acompressor filter
|
667 |
+
- support encoding 16-bit RLE SGI images
|
668 |
+
- apulsator filter
|
669 |
+
- sidechaingate audio filter
|
670 |
+
- mipsdspr1 option has been renamed to mipsdsp
|
671 |
+
- aemphasis filter
|
672 |
+
- mips32r5 option has been removed
|
673 |
+
- mips64r6 option has been removed
|
674 |
+
- DXVA2-accelerated VP9 decoding
|
675 |
+
- SOFAlizer: virtual binaural acoustics filter
|
676 |
+
- VAAPI VP9 hwaccel
|
677 |
+
- audio high-order multiband parametric equalizer
|
678 |
+
- automatic bitstream filtering
|
679 |
+
- showspectrumpic filter
|
680 |
+
- libstagefright support removed
|
681 |
+
- spectrumsynth filter
|
682 |
+
- ahistogram filter
|
683 |
+
- only seek with the right mouse button in ffplay
|
684 |
+
- toggle full screen when double-clicking with the left mouse button in ffplay
|
685 |
+
- afftfilt filter
|
686 |
+
- convolution filter
|
687 |
+
- libquvi support removed
|
688 |
+
- support for dvaudio in wav and avi
|
689 |
+
- libaacplus and libvo-aacenc support removed
|
690 |
+
- Cineform HD decoder
|
691 |
+
- new DCA decoder with full support for DTS-HD extensions
|
692 |
+
- significant performance improvements in Windows Television (WTV) demuxer
|
693 |
+
- nnedi deinterlacer
|
694 |
+
- streamselect video and astreamselect audio filter
|
695 |
+
- swaprect filter
|
696 |
+
- metadata video and ametadata audio filter
|
697 |
+
- SMPTE VC-2 HQ profile support for the Dirac decoder
|
698 |
+
- SMPTE VC-2 native encoder supporting the HQ profile
|
699 |
+
|
700 |
+
|
701 |
+
version 2.8:
|
702 |
+
- colorkey video filter
|
703 |
+
- BFSTM/BCSTM demuxer
|
704 |
+
- little-endian ADPCM_THP decoder
|
705 |
+
- Hap decoder and encoder
|
706 |
+
- DirectDraw Surface image/texture decoder
|
707 |
+
- ssim filter
|
708 |
+
- optional new ASF demuxer
|
709 |
+
- showvolume filter
|
710 |
+
- Many improvements to the JPEG 2000 decoder
|
711 |
+
- Go2Meeting decoding support
|
712 |
+
- adrawgraph audio and drawgraph video filter
|
713 |
+
- removegrain video filter
|
714 |
+
- Intel QSV-accelerated MPEG-2 video and HEVC encoding
|
715 |
+
- Intel QSV-accelerated MPEG-2 video and HEVC decoding
|
716 |
+
- Intel QSV-accelerated VC-1 video decoding
|
717 |
+
- libkvazaar HEVC encoder
|
718 |
+
- erosion, dilation, deflate and inflate video filters
|
719 |
+
- Dynamic Audio Normalizer as dynaudnorm filter
|
720 |
+
- Reverse video and areverse audio filter
|
721 |
+
- Random filter
|
722 |
+
- deband filter
|
723 |
+
- AAC fixed-point decoding
|
724 |
+
- sidechaincompress audio filter
|
725 |
+
- bitstream filter for converting HEVC from MP4 to Annex B
|
726 |
+
- acrossfade audio filter
|
727 |
+
- allyuv and allrgb video sources
|
728 |
+
- atadenoise video filter
|
729 |
+
- OS X VideoToolbox support
|
730 |
+
- aphasemeter filter
|
731 |
+
- showfreqs filter
|
732 |
+
- vectorscope filter
|
733 |
+
- waveform filter
|
734 |
+
- hstack and vstack filter
|
735 |
+
- Support DNx100 (1440x1080@8)
|
736 |
+
- VAAPI hevc hwaccel
|
737 |
+
- VDPAU hevc hwaccel
|
738 |
+
- framerate filter
|
739 |
+
- Switched default encoders for webm to VP9 and Opus
|
740 |
+
- Removed experimental flag from the JPEG 2000 encoder
|
741 |
+
|
742 |
+
|
743 |
+
version 2.7:
|
744 |
+
- FFT video filter
|
745 |
+
- TDSC decoder
|
746 |
+
- DTS lossless extension (XLL) decoding (not lossless, disabled by default)
|
747 |
+
- showwavespic filter
|
748 |
+
- DTS decoding through libdcadec
|
749 |
+
- Drop support for nvenc API before 5.0
|
750 |
+
- nvenc HEVC encoder
|
751 |
+
- Detelecine filter
|
752 |
+
- Intel QSV-accelerated H.264 encoding
|
753 |
+
- MMAL-accelerated H.264 decoding
|
754 |
+
- basic APNG encoder and muxer with default extension "apng"
|
755 |
+
- unpack DivX-style packed B-frames in MPEG-4 bitstream filter
|
756 |
+
- WebM Live Chunk Muxer
|
757 |
+
- nvenc level and tier options
|
758 |
+
- chorus filter
|
759 |
+
- Canopus HQ/HQA decoder
|
760 |
+
- Automatically rotate videos based on metadata in ffmpeg
|
761 |
+
- improved Quickdraw compatibility
|
762 |
+
- VP9 high bit-depth and extended colorspaces decoding support
|
763 |
+
- WebPAnimEncoder API when available for encoding and muxing WebP
|
764 |
+
- Direct3D11-accelerated decoding
|
765 |
+
- Support Secure Transport
|
766 |
+
- Multipart JPEG demuxer
|
767 |
+
|
768 |
+
|
769 |
+
version 2.6:
|
770 |
+
- nvenc encoder
|
771 |
+
- 10bit spp filter
|
772 |
+
- colorlevels filter
|
773 |
+
- RIFX format for *.wav files
|
774 |
+
- RTP/mpegts muxer
|
775 |
+
- non continuous cache protocol support
|
776 |
+
- tblend filter
|
777 |
+
- cropdetect support for non 8bpp, absolute (if limit >= 1) and relative (if limit < 1.0) threshold
|
778 |
+
- Camellia symmetric block cipher
|
779 |
+
- OpenH264 encoder wrapper
|
780 |
+
- VOC seeking support
|
781 |
+
- Closed caption Decoder
|
782 |
+
- fspp, uspp, pp7 MPlayer postprocessing filters ported to native filters
|
783 |
+
- showpalette filter
|
784 |
+
- Twofish symmetric block cipher
|
785 |
+
- Support DNx100 (960x720@8)
|
786 |
+
- eq2 filter ported from libmpcodecs as eq filter
|
787 |
+
- removed libmpcodecs
|
788 |
+
- Changed default DNxHD colour range in QuickTime .mov derivatives to mpeg range
|
789 |
+
- ported softpulldown filter from libmpcodecs as repeatfields filter
|
790 |
+
- dcshift filter
|
791 |
+
- RTP depacketizer for loss tolerant payload format for MP3 audio (RFC 5219)
|
792 |
+
- RTP depacketizer for AC3 payload format (RFC 4184)
|
793 |
+
- palettegen and paletteuse filters
|
794 |
+
- VP9 RTP payload format (draft 0) experimental depacketizer
|
795 |
+
- RTP depacketizer for DV (RFC 6469)
|
796 |
+
- DXVA2-accelerated HEVC decoding
|
797 |
+
- AAC ELD 480 decoding
|
798 |
+
- Intel QSV-accelerated H.264 decoding
|
799 |
+
- DSS SP decoder and DSS demuxer
|
800 |
+
- Fix stsd atom corruption in DNxHD QuickTimes
|
801 |
+
- Canopus HQX decoder
|
802 |
+
- RTP depacketization of T.140 text (RFC 4103)
|
803 |
+
- Port MIPS optimizations to 64-bit
|
804 |
+
|
805 |
+
|
806 |
+
version 2.5:
|
807 |
+
- HEVC/H.265 RTP payload format (draft v6) packetizer
|
808 |
+
- SUP/PGS subtitle demuxer
|
809 |
+
- ffprobe -show_pixel_formats option
|
810 |
+
- CAST128 symmetric block cipher, ECB mode
|
811 |
+
- STL subtitle demuxer and decoder
|
812 |
+
- libutvideo YUV 4:2:2 10bit support
|
813 |
+
- XCB-based screen-grabber
|
814 |
+
- UDP-Lite support (RFC 3828)
|
815 |
+
- xBR scaling filter
|
816 |
+
- AVFoundation screen capturing support
|
817 |
+
- ffserver supports codec private options
|
818 |
+
- creating DASH compatible fragmented MP4, MPEG-DASH segmenting muxer
|
819 |
+
- WebP muxer with animated WebP support
|
820 |
+
- zygoaudio decoding support
|
821 |
+
- APNG demuxer
|
822 |
+
- postproc visualization support
|
823 |
+
|
824 |
+
|
825 |
+
version 2.4:
|
826 |
+
- Icecast protocol
|
827 |
+
- ported lenscorrection filter from frei0r filter
|
828 |
+
- large optimizations in dctdnoiz to make it usable
|
829 |
+
- ICY metadata are now requested by default with the HTTP protocol
|
830 |
+
- support for using metadata in stream specifiers in fftools
|
831 |
+
- LZMA compression support in TIFF decoder
|
832 |
+
- H.261 RTP payload format (RFC 4587) depacketizer and experimental packetizer
|
833 |
+
- HEVC/H.265 RTP payload format (draft v6) depacketizer
|
834 |
+
- added codecview filter to visualize information exported by some codecs
|
835 |
+
- Matroska 3D support thorugh side data
|
836 |
+
- HTML generation using texi2html is deprecated in favor of makeinfo/texi2any
|
837 |
+
- silenceremove filter
|
838 |
+
|
839 |
+
|
840 |
+
version 2.3:
|
841 |
+
- AC3 fixed-point decoding
|
842 |
+
- shuffleplanes filter
|
843 |
+
- subfile protocol
|
844 |
+
- Phantom Cine demuxer
|
845 |
+
- replaygain data export
|
846 |
+
- VP7 video decoder
|
847 |
+
- Alias PIX image encoder and decoder
|
848 |
+
- Improvements to the BRender PIX image decoder
|
849 |
+
- Improvements to the XBM decoder
|
850 |
+
- QTKit input device
|
851 |
+
- improvements to OpenEXR image decoder
|
852 |
+
- support decoding 16-bit RLE SGI images
|
853 |
+
- GDI screen grabbing for Windows
|
854 |
+
- alternative rendition support for HTTP Live Streaming
|
855 |
+
- AVFoundation input device
|
856 |
+
- Direct Stream Digital (DSD) decoder
|
857 |
+
- Magic Lantern Video (MLV) demuxer
|
858 |
+
- On2 AVC (Audio for Video) decoder
|
859 |
+
- support for decoding through DXVA2 in ffmpeg
|
860 |
+
- libbs2b-based stereo-to-binaural audio filter
|
861 |
+
- libx264 reference frames count limiting depending on level
|
862 |
+
- native Opus decoder
|
863 |
+
- display matrix export and rotation API
|
864 |
+
- WebVTT encoder
|
865 |
+
- showcqt multimedia filter
|
866 |
+
- zoompan filter
|
867 |
+
- signalstats filter
|
868 |
+
- hqx filter (hq2x, hq3x, hq4x)
|
869 |
+
- flanger filter
|
870 |
+
- Image format auto-detection
|
871 |
+
- LRC demuxer and muxer
|
872 |
+
- Samba protocol (via libsmbclient)
|
873 |
+
- WebM DASH Manifest muxer
|
874 |
+
- libfribidi support in drawtext
|
875 |
+
|
876 |
+
|
877 |
+
version 2.2:
|
878 |
+
|
879 |
+
- HNM version 4 demuxer and video decoder
|
880 |
+
- Live HDS muxer
|
881 |
+
- setsar/setdar filters now support variables in ratio expressions
|
882 |
+
- elbg filter
|
883 |
+
- string validation in ffprobe
|
884 |
+
- support for decoding through VDPAU in ffmpeg (the -hwaccel option)
|
885 |
+
- complete Voxware MetaSound decoder
|
886 |
+
- remove mp3_header_compress bitstream filter
|
887 |
+
- Windows resource files for shared libraries
|
888 |
+
- aeval filter
|
889 |
+
- stereoscopic 3d metadata handling
|
890 |
+
- WebP encoding via libwebp
|
891 |
+
- ATRAC3+ decoder
|
892 |
+
- VP8 in Ogg demuxing
|
893 |
+
- side & metadata support in NUT
|
894 |
+
- framepack filter
|
895 |
+
- XYZ12 rawvideo support in NUT
|
896 |
+
- Exif metadata support in WebP decoder
|
897 |
+
- OpenGL device
|
898 |
+
- Use metadata_header_padding to control padding in ID3 tags (currently used in
|
899 |
+
MP3, AIFF, and OMA files), FLAC header, and the AVI "junk" block.
|
900 |
+
- Mirillis FIC video decoder
|
901 |
+
- Support DNx444
|
902 |
+
- libx265 encoder
|
903 |
+
- dejudder filter
|
904 |
+
- Autodetect VDA like all other hardware accelerations
|
905 |
+
- aliases and defaults for Ogg subtypes (opus, spx)
|
906 |
+
|
907 |
+
|
908 |
+
version 2.1:
|
909 |
+
|
910 |
+
- aecho filter
|
911 |
+
- perspective filter ported from libmpcodecs
|
912 |
+
- ffprobe -show_programs option
|
913 |
+
- compand filter
|
914 |
+
- RTMP seek support
|
915 |
+
- when transcoding with ffmpeg (i.e. not streamcopying), -ss is now accurate
|
916 |
+
even when used as an input option. Previous behavior can be restored with
|
917 |
+
the -noaccurate_seek option.
|
918 |
+
- ffmpeg -t option can now be used for inputs, to limit the duration of
|
919 |
+
data read from an input file
|
920 |
+
- incomplete Voxware MetaSound decoder
|
921 |
+
- read EXIF metadata from JPEG
|
922 |
+
- DVB teletext decoder
|
923 |
+
- phase filter ported from libmpcodecs
|
924 |
+
- w3fdif filter
|
925 |
+
- Opus support in Matroska
|
926 |
+
- FFV1 version 1.3 is stable and no longer experimental
|
927 |
+
- FFV1: YUVA(444,422,420) 9, 10 and 16 bit support
|
928 |
+
- changed DTS stream id in lavf mpeg ps muxer from 0x8a to 0x88, to be
|
929 |
+
more consistent with other muxers.
|
930 |
+
- adelay filter
|
931 |
+
- pullup filter ported from libmpcodecs
|
932 |
+
- ffprobe -read_intervals option
|
933 |
+
- Lossless and alpha support for WebP decoder
|
934 |
+
- Error Resilient AAC syntax (ER AAC LC) decoding
|
935 |
+
- Low Delay AAC (ER AAC LD) decoding
|
936 |
+
- mux chapters in ASF files
|
937 |
+
- SFTP protocol (via libssh)
|
938 |
+
- libx264: add ability to encode in YUVJ422P and YUVJ444P
|
939 |
+
- Fraps: use BT.709 colorspace by default for yuv, as reference fraps decoder does
|
940 |
+
- make decoding alpha optional for prores, ffv1 and vp6 by setting
|
941 |
+
the skip_alpha flag.
|
942 |
+
- ladspa wrapper filter
|
943 |
+
- native VP9 decoder
|
944 |
+
- dpx parser
|
945 |
+
- max_error_rate parameter in ffmpeg
|
946 |
+
- PulseAudio output device
|
947 |
+
- ReplayGain scanner
|
948 |
+
- Enhanced Low Delay AAC (ER AAC ELD) decoding (no LD SBR support)
|
949 |
+
- Linux framebuffer output device
|
950 |
+
- HEVC decoder
|
951 |
+
- raw HEVC, HEVC in MOV/MP4, HEVC in Matroska, HEVC in MPEG-TS demuxing
|
952 |
+
- mergeplanes filter
|
953 |
+
|
954 |
+
|
955 |
+
version 2.0:
|
956 |
+
|
957 |
+
- curves filter
|
958 |
+
- reference-counting for AVFrame and AVPacket data
|
959 |
+
- ffmpeg now fails when input options are used for output file
|
960 |
+
or vice versa
|
961 |
+
- support for Monkey's Audio versions from 3.93
|
962 |
+
- perms and aperms filters
|
963 |
+
- audio filtering support in ffplay
|
964 |
+
- 10% faster aac encoding on x86 and MIPS
|
965 |
+
- sine audio filter source
|
966 |
+
- WebP demuxing and decoding support
|
967 |
+
- ffmpeg options -filter_script and -filter_complex_script, which allow a
|
968 |
+
filtergraph description to be read from a file
|
969 |
+
- OpenCL support
|
970 |
+
- audio phaser filter
|
971 |
+
- separatefields filter
|
972 |
+
- libquvi demuxer
|
973 |
+
- uniform options syntax across all filters
|
974 |
+
- telecine filter
|
975 |
+
- interlace filter
|
976 |
+
- smptehdbars source
|
977 |
+
- inverse telecine filters (fieldmatch and decimate)
|
978 |
+
- colorbalance filter
|
979 |
+
- colorchannelmixer filter
|
980 |
+
- The matroska demuxer can now output proper verbatim ASS packets. It will
|
981 |
+
become the default at the next libavformat major bump.
|
982 |
+
- decent native animated GIF encoding
|
983 |
+
- asetrate filter
|
984 |
+
- interleave filter
|
985 |
+
- timeline editing with filters
|
986 |
+
- vidstabdetect and vidstabtransform filters for video stabilization using
|
987 |
+
the vid.stab library
|
988 |
+
- astats filter
|
989 |
+
- trim and atrim filters
|
990 |
+
- ffmpeg -t and -ss (output-only) options are now sample-accurate when
|
991 |
+
transcoding audio
|
992 |
+
- Matroska muxer can now put the index at the beginning of the file.
|
993 |
+
- extractplanes filter
|
994 |
+
- avectorscope filter
|
995 |
+
- ADPCM DTK decoder
|
996 |
+
- ADP demuxer
|
997 |
+
- RSD demuxer
|
998 |
+
- RedSpark demuxer
|
999 |
+
- ADPCM IMA Radical decoder
|
1000 |
+
- zmq filters
|
1001 |
+
- DCT denoiser filter (dctdnoiz)
|
1002 |
+
- Wavelet denoiser filter ported from libmpcodecs as owdenoise (formerly "ow")
|
1003 |
+
- Apple Intermediate Codec decoder
|
1004 |
+
- Escape 130 video decoder
|
1005 |
+
- FTP protocol support
|
1006 |
+
- V4L2 output device
|
1007 |
+
- 3D LUT filter (lut3d)
|
1008 |
+
- SMPTE 302M audio encoder
|
1009 |
+
- support for slice multithreading in libavfilter
|
1010 |
+
- Hald CLUT support (generation and filtering)
|
1011 |
+
- VC-1 interlaced B-frame support
|
1012 |
+
- support for WavPack muxing (raw and in Matroska)
|
1013 |
+
- XVideo output device
|
1014 |
+
- vignette filter
|
1015 |
+
- True Audio (TTA) encoder
|
1016 |
+
- Go2Webinar decoder
|
1017 |
+
- mcdeint filter ported from libmpcodecs
|
1018 |
+
- sab filter ported from libmpcodecs
|
1019 |
+
- ffprobe -show_chapters option
|
1020 |
+
- WavPack encoding through libwavpack
|
1021 |
+
- rotate filter
|
1022 |
+
- spp filter ported from libmpcodecs
|
1023 |
+
- libgme support
|
1024 |
+
- psnr filter
|
1025 |
+
|
1026 |
+
|
1027 |
+
version 1.2:
|
1028 |
+
|
1029 |
+
- VDPAU hardware acceleration through normal hwaccel
|
1030 |
+
- SRTP support
|
1031 |
+
- Error diffusion dither in Swscale
|
1032 |
+
- Chained Ogg support
|
1033 |
+
- Theora Midstream reconfiguration support
|
1034 |
+
- EVRC decoder
|
1035 |
+
- audio fade filter
|
1036 |
+
- filtering audio with unknown channel layout
|
1037 |
+
- allpass, bass, bandpass, bandreject, biquad, equalizer, highpass, lowpass
|
1038 |
+
and treble audio filter
|
1039 |
+
- improved showspectrum filter, with multichannel support and sox-like colors
|
1040 |
+
- histogram filter
|
1041 |
+
- tee muxer
|
1042 |
+
- il filter ported from libmpcodecs
|
1043 |
+
- support ID3v2 tags in ASF files
|
1044 |
+
- encrypted TTA stream decoding support
|
1045 |
+
- RF64 support in WAV muxer
|
1046 |
+
- noise filter ported from libmpcodecs
|
1047 |
+
- Subtitles character encoding conversion
|
1048 |
+
- blend filter
|
1049 |
+
- stereo3d filter ported from libmpcodecs
|
1050 |
+
|
1051 |
+
|
1052 |
+
version 1.1:
|
1053 |
+
|
1054 |
+
- stream disposition information printing in ffprobe
|
1055 |
+
- filter for loudness analysis following EBU R128
|
1056 |
+
- Opus encoder using libopus
|
1057 |
+
- ffprobe -select_streams option
|
1058 |
+
- Pinnacle TARGA CineWave YUV16 decoder
|
1059 |
+
- TAK demuxer, decoder and parser
|
1060 |
+
- DTS-HD demuxer
|
1061 |
+
- remove -same_quant, it hasn't worked for years
|
1062 |
+
- FFM2 support
|
1063 |
+
- X-Face image encoder and decoder
|
1064 |
+
- 24-bit FLAC encoding
|
1065 |
+
- multi-channel ALAC encoding up to 7.1
|
1066 |
+
- metadata (INFO tag) support in WAV muxer
|
1067 |
+
- subtitles raw text decoder
|
1068 |
+
- support for building DLLs using MSVC
|
1069 |
+
- LVF demuxer
|
1070 |
+
- ffescape tool
|
1071 |
+
- metadata (info chunk) support in CAF muxer
|
1072 |
+
- field filter ported from libmpcodecs
|
1073 |
+
- AVR demuxer
|
1074 |
+
- geq filter ported from libmpcodecs
|
1075 |
+
- remove ffserver daemon mode
|
1076 |
+
- AST muxer/demuxer
|
1077 |
+
- new expansion syntax for drawtext
|
1078 |
+
- BRender PIX image decoder
|
1079 |
+
- ffprobe -show_entries option
|
1080 |
+
- ffprobe -sections option
|
1081 |
+
- ADPCM IMA Dialogic decoder
|
1082 |
+
- BRSTM demuxer
|
1083 |
+
- animated GIF decoder and demuxer
|
1084 |
+
- PVF demuxer
|
1085 |
+
- subtitles filter
|
1086 |
+
- IRCAM muxer/demuxer
|
1087 |
+
- Paris Audio File demuxer
|
1088 |
+
- Virtual concatenation demuxer
|
1089 |
+
- VobSub demuxer
|
1090 |
+
- JSON captions for TED talks decoding support
|
1091 |
+
- SOX Resampler support in libswresample
|
1092 |
+
- aselect filter
|
1093 |
+
- SGI RLE 8-bit / Silicon Graphics RLE 8-bit video decoder
|
1094 |
+
- Silicon Graphics Motion Video Compressor 1 & 2 decoder
|
1095 |
+
- Silicon Graphics Movie demuxer
|
1096 |
+
- apad filter
|
1097 |
+
- Resolution & pixel format change support with multithreading for H.264
|
1098 |
+
- documentation split into per-component manuals
|
1099 |
+
- pp (postproc) filter ported from MPlayer
|
1100 |
+
- NIST Sphere demuxer
|
1101 |
+
- MPL2, VPlayer, MPlayer, AQTitle, PJS and SubViewer v1 subtitles demuxers and decoders
|
1102 |
+
- Sony Wave64 muxer
|
1103 |
+
- adobe and limelight publisher authentication in RTMP
|
1104 |
+
- data: URI scheme
|
1105 |
+
- support building on the Plan 9 operating system
|
1106 |
+
- kerndeint filter ported from MPlayer
|
1107 |
+
- histeq filter ported from VirtualDub
|
1108 |
+
- Megalux Frame demuxer
|
1109 |
+
- 012v decoder
|
1110 |
+
- Improved AVC Intra decoding support
|
1111 |
+
|
1112 |
+
|
1113 |
+
version 1.0:
|
1114 |
+
|
1115 |
+
- INI and flat output in ffprobe
|
1116 |
+
- Scene detection in libavfilter
|
1117 |
+
- Indeo Audio decoder
|
1118 |
+
- channelsplit audio filter
|
1119 |
+
- setnsamples audio filter
|
1120 |
+
- atempo filter
|
1121 |
+
- ffprobe -show_data option
|
1122 |
+
- RTMPT protocol support
|
1123 |
+
- iLBC encoding/decoding via libilbc
|
1124 |
+
- Microsoft Screen 1 decoder
|
1125 |
+
- join audio filter
|
1126 |
+
- audio channel mapping filter
|
1127 |
+
- Microsoft ATC Screen decoder
|
1128 |
+
- RTSP listen mode
|
1129 |
+
- TechSmith Screen Codec 2 decoder
|
1130 |
+
- AAC encoding via libfdk-aac
|
1131 |
+
- Microsoft Expression Encoder Screen decoder
|
1132 |
+
- RTMPS protocol support
|
1133 |
+
- RTMPTS protocol support
|
1134 |
+
- RTMPE protocol support
|
1135 |
+
- RTMPTE protocol support
|
1136 |
+
- showwaves and showspectrum filter
|
1137 |
+
- LucasArts SMUSH SANM playback support
|
1138 |
+
- LucasArts SMUSH VIMA audio decoder (ADPCM)
|
1139 |
+
- LucasArts SMUSH demuxer
|
1140 |
+
- SAMI, RealText and SubViewer demuxers and decoders
|
1141 |
+
- Heart Of Darkness PAF playback support
|
1142 |
+
- iec61883 device
|
1143 |
+
- asettb filter
|
1144 |
+
- new option: -progress
|
1145 |
+
- 3GPP Timed Text encoder/decoder
|
1146 |
+
- GeoTIFF decoder support
|
1147 |
+
- ffmpeg -(no)stdin option
|
1148 |
+
- Opus decoder using libopus
|
1149 |
+
- caca output device using libcaca
|
1150 |
+
- alphaextract and alphamerge filters
|
1151 |
+
- concat filter
|
1152 |
+
- flite filter
|
1153 |
+
- Canopus Lossless Codec decoder
|
1154 |
+
- bitmap subtitles in filters (experimental and temporary)
|
1155 |
+
- MP2 encoding via TwoLAME
|
1156 |
+
- bmp parser
|
1157 |
+
- smptebars source
|
1158 |
+
- asetpts filter
|
1159 |
+
- hue filter
|
1160 |
+
- ICO muxer
|
1161 |
+
- SubRip encoder and decoder without embedded timing
|
1162 |
+
- edge detection filter
|
1163 |
+
- framestep filter
|
1164 |
+
- ffmpeg -shortest option is now per-output file
|
1165 |
+
-pass and -passlogfile are now per-output stream
|
1166 |
+
- volume measurement filter
|
1167 |
+
- Ut Video encoder
|
1168 |
+
- Microsoft Screen 2 decoder
|
1169 |
+
- smartblur filter ported from MPlayer
|
1170 |
+
- CPiA decoder
|
1171 |
+
- decimate filter ported from MPlayer
|
1172 |
+
- RTP depacketization of JPEG
|
1173 |
+
- Smooth Streaming live segmenter muxer
|
1174 |
+
- F4V muxer
|
1175 |
+
- sendcmd and asendcmd filters
|
1176 |
+
- WebVTT demuxer and decoder (simple tags supported)
|
1177 |
+
- RTP packetization of JPEG
|
1178 |
+
- faststart option in the MOV/MP4 muxer
|
1179 |
+
- support for building with MSVC
|
1180 |
+
|
1181 |
+
|
1182 |
+
version 0.11:
|
1183 |
+
|
1184 |
+
- Fixes: CVE-2012-2772, CVE-2012-2774, CVE-2012-2775, CVE-2012-2776, CVE-2012-2777,
|
1185 |
+
CVE-2012-2779, CVE-2012-2782, CVE-2012-2783, CVE-2012-2784, CVE-2012-2785,
|
1186 |
+
CVE-2012-2786, CVE-2012-2787, CVE-2012-2788, CVE-2012-2789, CVE-2012-2790,
|
1187 |
+
CVE-2012-2791, CVE-2012-2792, CVE-2012-2793, CVE-2012-2794, CVE-2012-2795,
|
1188 |
+
CVE-2012-2796, CVE-2012-2797, CVE-2012-2798, CVE-2012-2799, CVE-2012-2800,
|
1189 |
+
CVE-2012-2801, CVE-2012-2802, CVE-2012-2803, CVE-2012-2804,
|
1190 |
+
- v408 Quicktime and Microsoft AYUV Uncompressed 4:4:4:4 encoder and decoder
|
1191 |
+
- setfield filter
|
1192 |
+
- CDXL demuxer and decoder
|
1193 |
+
- Apple ProRes encoder
|
1194 |
+
- ffprobe -count_packets and -count_frames options
|
1195 |
+
- Sun Rasterfile Encoder
|
1196 |
+
- ID3v2 attached pictures reading and writing
|
1197 |
+
- WMA Lossless decoder
|
1198 |
+
- bluray protocol
|
1199 |
+
- blackdetect filter
|
1200 |
+
- libutvideo encoder wrapper (--enable-libutvideo)
|
1201 |
+
- swapuv filter
|
1202 |
+
- bbox filter
|
1203 |
+
- XBM encoder and decoder
|
1204 |
+
- RealAudio Lossless decoder
|
1205 |
+
- ZeroCodec decoder
|
1206 |
+
- tile video filter
|
1207 |
+
- Metal Gear Solid: The Twin Snakes demuxer
|
1208 |
+
- OpenEXR image decoder
|
1209 |
+
- removelogo filter
|
1210 |
+
- drop support for ffmpeg without libavfilter
|
1211 |
+
- drawtext video filter: fontconfig support
|
1212 |
+
- ffmpeg -benchmark_all option
|
1213 |
+
- super2xsai filter ported from libmpcodecs
|
1214 |
+
- add libavresample audio conversion library for compatibility
|
1215 |
+
- MicroDVD decoder
|
1216 |
+
- Avid Meridien (AVUI) encoder and decoder
|
1217 |
+
- accept + prefix to -pix_fmt option to disable automatic conversions.
|
1218 |
+
- complete audio filtering in libavfilter and ffmpeg
|
1219 |
+
- add fps filter
|
1220 |
+
- vorbis parser
|
1221 |
+
- png parser
|
1222 |
+
- audio mix filter
|
1223 |
+
- ffv1: support (draft) version 1.3
|
1224 |
+
|
1225 |
+
|
1226 |
+
version 0.10:
|
1227 |
+
|
1228 |
+
- Fixes: CVE-2011-3929, CVE-2011-3934, CVE-2011-3935, CVE-2011-3936,
|
1229 |
+
CVE-2011-3937, CVE-2011-3940, CVE-2011-3941, CVE-2011-3944,
|
1230 |
+
CVE-2011-3945, CVE-2011-3946, CVE-2011-3947, CVE-2011-3949,
|
1231 |
+
CVE-2011-3950, CVE-2011-3951, CVE-2011-3952
|
1232 |
+
- v410 Quicktime Uncompressed 4:4:4 10-bit encoder and decoder
|
1233 |
+
- SBaGen (SBG) binaural beats script demuxer
|
1234 |
+
- OpenMG Audio muxer
|
1235 |
+
- Timecode extraction in DV and MOV
|
1236 |
+
- thumbnail video filter
|
1237 |
+
- XML output in ffprobe
|
1238 |
+
- asplit audio filter
|
1239 |
+
- tinterlace video filter
|
1240 |
+
- astreamsync audio filter
|
1241 |
+
- amerge audio filter
|
1242 |
+
- ISMV (Smooth Streaming) muxer
|
1243 |
+
- GSM audio parser
|
1244 |
+
- SMJPEG muxer
|
1245 |
+
- XWD encoder and decoder
|
1246 |
+
- Automatic thread count based on detection number of (available) CPU cores
|
1247 |
+
- y41p Brooktree Uncompressed 4:1:1 12-bit encoder and decoder
|
1248 |
+
- ffprobe -show_error option
|
1249 |
+
- Avid 1:1 10-bit RGB Packer codec
|
1250 |
+
- v308 Quicktime Uncompressed 4:4:4 encoder and decoder
|
1251 |
+
- yuv4 libquicktime packed 4:2:0 encoder and decoder
|
1252 |
+
- ffprobe -show_frames option
|
1253 |
+
- silencedetect audio filter
|
1254 |
+
- ffprobe -show_program_version, -show_library_versions, -show_versions options
|
1255 |
+
- rv34: frame-level multi-threading
|
1256 |
+
- optimized iMDCT transform on x86 using SSE for for mpegaudiodec
|
1257 |
+
- Improved PGS subtitle decoder
|
1258 |
+
- dumpgraph option to lavfi device
|
1259 |
+
- r210 and r10k encoders
|
1260 |
+
- ffwavesynth decoder
|
1261 |
+
- aviocat tool
|
1262 |
+
- ffeval tool
|
1263 |
+
- support encoding and decoding 4-channel SGI images
|
1264 |
+
|
1265 |
+
|
1266 |
+
version 0.9:
|
1267 |
+
|
1268 |
+
- openal input device added
|
1269 |
+
- boxblur filter added
|
1270 |
+
- BWF muxer
|
1271 |
+
- Flash Screen Video 2 decoder
|
1272 |
+
- lavfi input device added
|
1273 |
+
- added avconv, which is almost the same for now, except
|
1274 |
+
for a few incompatible changes in the options, which will hopefully make them
|
1275 |
+
easier to use. The changes are:
|
1276 |
+
* The options placement is now strictly enforced! While in theory the
|
1277 |
+
options for ffmpeg should be given in [input options] -i INPUT [output
|
1278 |
+
options] OUTPUT order, in practice it was possible to give output options
|
1279 |
+
before the -i and it mostly worked. Except when it didn't - the behavior was
|
1280 |
+
a bit inconsistent. In avconv, it is not possible to mix input and output
|
1281 |
+
options. All non-global options are reset after an input or output filename.
|
1282 |
+
* All per-file options are now truly per-file - they apply only to the next
|
1283 |
+
input or output file and specifying different values for different files
|
1284 |
+
will now work properly (notably -ss and -t options).
|
1285 |
+
* All per-stream options are now truly per-stream - it is possible to
|
1286 |
+
specify which stream(s) should a given option apply to. See the Stream
|
1287 |
+
specifiers section in the avconv manual for details.
|
1288 |
+
* In ffmpeg some options (like -newvideo/-newaudio/...) are irregular in the
|
1289 |
+
sense that they're specified after the output filename instead of before,
|
1290 |
+
like all other options. In avconv this irregularity is removed, all options
|
1291 |
+
apply to the next input or output file.
|
1292 |
+
* -newvideo/-newaudio/-newsubtitle options were removed. Not only were they
|
1293 |
+
irregular and highly confusing, they were also redundant. In avconv the -map
|
1294 |
+
option will create new streams in the output file and map input streams to
|
1295 |
+
them. E.g. avconv -i INPUT -map 0 OUTPUT will create an output stream for
|
1296 |
+
each stream in the first input file.
|
1297 |
+
* The -map option now has slightly different and more powerful syntax:
|
1298 |
+
+ Colons (':') are used to separate file index/stream type/stream index
|
1299 |
+
instead of dots. Comma (',') is used to separate the sync stream instead
|
1300 |
+
of colon.. This is done for consistency with other options.
|
1301 |
+
+ It's possible to specify stream type. E.g. -map 0:a:2 creates an
|
1302 |
+
output stream from the third input audio stream.
|
1303 |
+
+ Omitting the stream index now maps all the streams of the given type,
|
1304 |
+
not just the first. E.g. -map 0:s creates output streams for all the
|
1305 |
+
subtitle streams in the first input file.
|
1306 |
+
+ Since -map can now match multiple streams, negative mappings were
|
1307 |
+
introduced. Negative mappings disable some streams from an already
|
1308 |
+
defined map. E.g. '-map 0 -map -0:a:1' means 'create output streams for
|
1309 |
+
all the stream in the first input file, except for the second audio
|
1310 |
+
stream'.
|
1311 |
+
* There is a new option -c (or -codec) for choosing the decoder/encoder to
|
1312 |
+
use, which makes it possible to precisely specify target stream(s) consistently with
|
1313 |
+
other options. E.g. -c:v lib264 sets the codec for all video streams, -c:a:0
|
1314 |
+
libvorbis sets the codec for the first audio stream and -c copy copies all
|
1315 |
+
the streams without reencoding. Old -vcodec/-acodec/-scodec options are now
|
1316 |
+
aliases to -c:v/a/s
|
1317 |
+
* It is now possible to precisely specify which stream should an AVOption
|
1318 |
+
apply to. E.g. -b:v:0 2M sets the bitrate for the first video stream, while
|
1319 |
+
-b:a 128k sets the bitrate for all audio streams. Note that the old -ab 128k
|
1320 |
+
syntax is deprecated and will stop working soon.
|
1321 |
+
* -map_chapters now takes only an input file index and applies to the next
|
1322 |
+
output file. This is consistent with how all the other options work.
|
1323 |
+
* -map_metadata now takes only an input metadata specifier and applies to
|
1324 |
+
the next output file. Output metadata specifier is now part of the option
|
1325 |
+
name, similarly to the AVOptions/map/codec feature above.
|
1326 |
+
* -metadata can now be used to set metadata on streams and chapters, e.g.
|
1327 |
+
-metadata:s:1 language=eng sets the language of the first stream to 'eng'.
|
1328 |
+
This made -vlang/-alang/-slang options redundant, so they were removed.
|
1329 |
+
* -qscale option now uses stream specifiers and applies to all streams, not
|
1330 |
+
just video. I.e. plain -qscale number would now apply to all streams. To get
|
1331 |
+
the old behavior, use -qscale:v. Also there is now a shortcut -q for -qscale
|
1332 |
+
and -aq is now an alias for -q:a.
|
1333 |
+
* -vbsf/-absf/-sbsf options were removed and replaced by a -bsf option which
|
1334 |
+
uses stream specifiers. Use -bsf:v/a/s instead of the old options.
|
1335 |
+
* -itsscale option now uses stream specifiers, so its argument is only the
|
1336 |
+
scale parameter.
|
1337 |
+
* -intra option was removed, use -g 0 for the same effect.
|
1338 |
+
* -psnr option was removed, use -flags +psnr for the same effect.
|
1339 |
+
* -vf option is now an alias to the new -filter option, which uses stream specifiers.
|
1340 |
+
* -vframes/-aframes/-dframes options are now aliases to the new -frames option.
|
1341 |
+
* -vtag/-atag/-stag options are now aliases to the new -tag option.
|
1342 |
+
- XMV demuxer
|
1343 |
+
- LOAS demuxer
|
1344 |
+
- ashowinfo filter added
|
1345 |
+
- Windows Media Image decoder
|
1346 |
+
- amovie source added
|
1347 |
+
- LATM muxer/demuxer
|
1348 |
+
- Speex encoder via libspeex
|
1349 |
+
- JSON output in ffprobe
|
1350 |
+
- WTV muxer
|
1351 |
+
- Optional C++ Support (needed for libstagefright)
|
1352 |
+
- H.264 Decoding on Android via Stagefright
|
1353 |
+
- Prores decoder
|
1354 |
+
- BIN/XBIN/ADF/IDF text file decoder
|
1355 |
+
- aconvert audio filter added
|
1356 |
+
- audio support to lavfi input device added
|
1357 |
+
- libcdio-paranoia input device for audio CD grabbing
|
1358 |
+
- Apple ProRes decoder
|
1359 |
+
- CELT in Ogg demuxing
|
1360 |
+
- G.723.1 demuxer and decoder
|
1361 |
+
- libmodplug support (--enable-libmodplug)
|
1362 |
+
- VC-1 interlaced decoding
|
1363 |
+
- libutvideo wrapper (--enable-libutvideo)
|
1364 |
+
- aevalsrc audio source added
|
1365 |
+
- Ut Video decoder
|
1366 |
+
- Speex encoding via libspeex
|
1367 |
+
- 4:2:2 H.264 decoding support
|
1368 |
+
- 4:2:2 and 4:4:4 H.264 encoding with libx264
|
1369 |
+
- Pulseaudio input device
|
1370 |
+
- Prores encoder
|
1371 |
+
- Video Decoder Acceleration (VDA) HWAccel module.
|
1372 |
+
- replacement Indeo 3 decoder
|
1373 |
+
- new ffmpeg option: -map_channel
|
1374 |
+
- volume audio filter added
|
1375 |
+
- earwax audio filter added
|
1376 |
+
- libv4l2 support (--enable-libv4l2)
|
1377 |
+
- TLS/SSL and HTTPS protocol support
|
1378 |
+
- AVOptions API rewritten and documented
|
1379 |
+
- most of CODEC_FLAG2_*, some CODEC_FLAG_* and many codec-specific fields in
|
1380 |
+
AVCodecContext deprecated. Codec private options should be used instead.
|
1381 |
+
- Properly working defaults in libx264 wrapper, support for native presets.
|
1382 |
+
- Encrypted OMA files support
|
1383 |
+
- Discworld II BMV decoding support
|
1384 |
+
- VBLE Decoder
|
1385 |
+
- OS X Video Decoder Acceleration (VDA) support
|
1386 |
+
- compact and csv output in ffprobe
|
1387 |
+
- pan audio filter
|
1388 |
+
- IFF Amiga Continuous Bitmap (ACBM) decoder
|
1389 |
+
- ass filter
|
1390 |
+
- CRI ADX audio format muxer and demuxer
|
1391 |
+
- Playstation Portable PMP format demuxer
|
1392 |
+
- Microsoft Windows ICO demuxer
|
1393 |
+
- life source
|
1394 |
+
- PCM format support in OMA demuxer
|
1395 |
+
- CLJR encoder
|
1396 |
+
- new option: -report
|
1397 |
+
- Dxtory capture format decoder
|
1398 |
+
- cellauto source
|
1399 |
+
- Simple segmenting muxer
|
1400 |
+
- Indeo 4 decoder
|
1401 |
+
- SMJPEG demuxer
|
1402 |
+
|
1403 |
+
|
1404 |
+
version 0.8:
|
1405 |
+
|
1406 |
+
- many many things we forgot because we rather write code than changelogs
|
1407 |
+
- WebM support in Matroska de/muxer
|
1408 |
+
- low overhead Ogg muxing
|
1409 |
+
- MMS-TCP support
|
1410 |
+
- VP8 de/encoding via libvpx
|
1411 |
+
- Demuxer for On2's IVF format
|
1412 |
+
- Pictor/PC Paint decoder
|
1413 |
+
- HE-AAC v2 decoder
|
1414 |
+
- HE-AAC v2 encoding with libaacplus
|
1415 |
+
- libfaad2 wrapper removed
|
1416 |
+
- DTS-ES extension (XCh) decoding support
|
1417 |
+
- native VP8 decoder
|
1418 |
+
- RTSP tunneling over HTTP
|
1419 |
+
- RTP depacketization of SVQ3
|
1420 |
+
- -strict inofficial replaced by -strict unofficial
|
1421 |
+
- ffplay -exitonkeydown and -exitonmousedown options added
|
1422 |
+
- native GSM / GSM MS decoder
|
1423 |
+
- RTP depacketization of QDM2
|
1424 |
+
- ANSI/ASCII art playback system
|
1425 |
+
- Lego Mindstorms RSO de/muxer
|
1426 |
+
- libavcore added (and subsequently removed)
|
1427 |
+
- SubRip subtitle file muxer and demuxer
|
1428 |
+
- Chinese AVS encoding via libxavs
|
1429 |
+
- ffprobe -show_packets option added
|
1430 |
+
- RTP packetization of Theora and Vorbis
|
1431 |
+
- RTP depacketization of MP4A-LATM
|
1432 |
+
- RTP packetization and depacketization of VP8
|
1433 |
+
- hflip filter
|
1434 |
+
- Apple HTTP Live Streaming demuxer
|
1435 |
+
- a64 codec
|
1436 |
+
- MMS-HTTP support
|
1437 |
+
- G.722 ADPCM audio encoder/decoder
|
1438 |
+
- R10k video decoder
|
1439 |
+
- ocv_smooth filter
|
1440 |
+
- frei0r wrapper filter
|
1441 |
+
- change crop filter syntax to width:height:x:y
|
1442 |
+
- make the crop filter accept parametric expressions
|
1443 |
+
- make ffprobe accept AVFormatContext options
|
1444 |
+
- yadif filter
|
1445 |
+
- blackframe filter
|
1446 |
+
- Demuxer for Leitch/Harris' VR native stream format (LXF)
|
1447 |
+
- RTP depacketization of the X-QT QuickTime format
|
1448 |
+
- SAP (Session Announcement Protocol, RFC 2974) muxer and demuxer
|
1449 |
+
- cropdetect filter
|
1450 |
+
- ffmpeg -crop* options removed
|
1451 |
+
- transpose filter added
|
1452 |
+
- ffmpeg -force_key_frames option added
|
1453 |
+
- demuxer for receiving raw rtp:// URLs without an SDP description
|
1454 |
+
- single stream LATM/LOAS decoder
|
1455 |
+
- setpts filter added
|
1456 |
+
- Win64 support for optimized x86 assembly functions
|
1457 |
+
- MJPEG/AVI1 to JPEG/JFIF bitstream filter
|
1458 |
+
- ASS subtitle encoder and decoder
|
1459 |
+
- IEC 61937 encapsulation for E-AC-3, TrueHD, DTS-HD (for HDMI passthrough)
|
1460 |
+
- overlay filter added
|
1461 |
+
- rename aspect filter to setdar, and pixelaspect to setsar
|
1462 |
+
- IEC 61937 demuxer
|
1463 |
+
- Mobotix .mxg demuxer
|
1464 |
+
- frei0r source added
|
1465 |
+
- hqdn3d filter added
|
1466 |
+
- RTP depacketization of QCELP
|
1467 |
+
- FLAC parser added
|
1468 |
+
- gradfun filter added
|
1469 |
+
- AMR-WB decoder
|
1470 |
+
- replace the ocv_smooth filter with a more generic ocv filter
|
1471 |
+
- Windows Televison (WTV) demuxer
|
1472 |
+
- FFmpeg metadata format muxer and demuxer
|
1473 |
+
- SubRip (srt) subtitle encoder and decoder
|
1474 |
+
- floating-point AC-3 encoder added
|
1475 |
+
- Lagarith decoder
|
1476 |
+
- ffmpeg -copytb option added
|
1477 |
+
- IVF muxer added
|
1478 |
+
- Wing Commander IV movies decoder added
|
1479 |
+
- movie source added
|
1480 |
+
- Bink version 'b' audio and video decoder
|
1481 |
+
- Bitmap Brothers JV playback system
|
1482 |
+
- Apple HTTP Live Streaming protocol handler
|
1483 |
+
- sndio support for playback and record
|
1484 |
+
- Linux framebuffer input device added
|
1485 |
+
- Chronomaster DFA decoder
|
1486 |
+
- DPX image encoder
|
1487 |
+
- MicroDVD subtitle file muxer and demuxer
|
1488 |
+
- Playstation Portable PMP format demuxer
|
1489 |
+
- fieldorder video filter added
|
1490 |
+
- AAC encoding via libvo-aacenc
|
1491 |
+
- AMR-WB encoding via libvo-amrwbenc
|
1492 |
+
- xWMA demuxer
|
1493 |
+
- Mobotix MxPEG decoder
|
1494 |
+
- VP8 frame-multithreading
|
1495 |
+
- NEON optimizations for VP8
|
1496 |
+
- Lots of deprecated API cruft removed
|
1497 |
+
- fft and imdct optimizations for AVX (Sandy Bridge) processors
|
1498 |
+
- showinfo filter added
|
1499 |
+
- SMPTE 302M AES3 audio decoder
|
1500 |
+
- Apple Core Audio Format muxer
|
1501 |
+
- 9 bits and 10 bits per sample support in the H.264 decoder
|
1502 |
+
- 9 bits and 10 bits FFV1 encoding / decoding
|
1503 |
+
- split filter added
|
1504 |
+
- select filter added
|
1505 |
+
- sdl output device added
|
1506 |
+
- libmpcodecs video filter support (3 times as many filters than before)
|
1507 |
+
- mpeg2 aspect ratio dection fixed
|
1508 |
+
- libxvid aspect pickiness fixed
|
1509 |
+
- Frame multithreaded decoding
|
1510 |
+
- E-AC-3 audio encoder
|
1511 |
+
- ac3enc: add channel coupling support
|
1512 |
+
- floating-point sample format support to the ac3, eac3, dca, aac, and vorbis decoders.
|
1513 |
+
- H264/MPEG frame-level multi-threading
|
1514 |
+
- All av_metadata_* functions renamed to av_dict_* and moved to libavutil
|
1515 |
+
- 4:4:4 H.264 decoding support
|
1516 |
+
- 10-bit H.264 optimizations for x86
|
1517 |
+
- lut, lutrgb, and lutyuv filters added
|
1518 |
+
- buffersink libavfilter sink added
|
1519 |
+
- Bump libswscale for recently reported ABI break
|
1520 |
+
- New J2K encoder (via OpenJPEG)
|
1521 |
+
|
1522 |
+
|
1523 |
+
version 0.7:
|
1524 |
+
|
1525 |
+
- all the changes for 0.8, but keeping API/ABI compatibility with the 0.6 release
|
1526 |
+
|
1527 |
+
|
1528 |
+
version 0.6:
|
1529 |
+
|
1530 |
+
- PB-frame decoding for H.263
|
1531 |
+
- deprecated vhook subsystem removed
|
1532 |
+
- deprecated old scaler removed
|
1533 |
+
- VQF demuxer
|
1534 |
+
- Alpha channel scaler
|
1535 |
+
- PCX encoder
|
1536 |
+
- RTP packetization of H.263
|
1537 |
+
- RTP packetization of AMR
|
1538 |
+
- RTP depacketization of Vorbis
|
1539 |
+
- CorePNG decoding support
|
1540 |
+
- Cook multichannel decoding support
|
1541 |
+
- introduced avlanguage helpers in libavformat
|
1542 |
+
- 8088flex TMV demuxer and decoder
|
1543 |
+
- per-stream language-tags extraction in asfdec
|
1544 |
+
- V210 decoder and encoder
|
1545 |
+
- remaining GPL parts in AC-3 decoder converted to LGPL
|
1546 |
+
- QCP demuxer
|
1547 |
+
- SoX native format muxer and demuxer
|
1548 |
+
- AMR-NB decoding/encoding, AMR-WB decoding via OpenCORE libraries
|
1549 |
+
- DPX image decoder
|
1550 |
+
- Electronic Arts Madcow decoder
|
1551 |
+
- DivX (XSUB) subtitle encoder
|
1552 |
+
- nonfree libamr support for AMR-NB/WB decoding/encoding removed
|
1553 |
+
- experimental AAC encoder
|
1554 |
+
- RTP depacketization of ASF and RTSP from WMS servers
|
1555 |
+
- RTMP support in libavformat
|
1556 |
+
- noX handling for OPT_BOOL X options
|
1557 |
+
- Wave64 demuxer
|
1558 |
+
- IEC-61937 compatible Muxer
|
1559 |
+
- TwinVQ decoder
|
1560 |
+
- Bluray (PGS) subtitle decoder
|
1561 |
+
- LPCM support in MPEG-TS (HDMV RID as found on Blu-ray disks)
|
1562 |
+
- WMA Pro decoder
|
1563 |
+
- Core Audio Format demuxer
|
1564 |
+
- ATRAC1 decoder
|
1565 |
+
- MD STUDIO audio demuxer
|
1566 |
+
- RF64 support in WAV demuxer
|
1567 |
+
- MPEG-4 Audio Lossless Coding (ALS) decoder
|
1568 |
+
- -formats option split into -formats, -codecs, -bsfs, and -protocols
|
1569 |
+
- IV8 demuxer
|
1570 |
+
- CDG demuxer and decoder
|
1571 |
+
- R210 decoder
|
1572 |
+
- Auravision Aura 1 and 2 decoders
|
1573 |
+
- Deluxe Paint Animation playback system
|
1574 |
+
- SIPR decoder
|
1575 |
+
- Adobe Filmstrip muxer and demuxer
|
1576 |
+
- RTP depacketization of H.263
|
1577 |
+
- Bink demuxer and audio/video decoders
|
1578 |
+
- enable symbol versioning by default for linkers that support it
|
1579 |
+
- IFF PBM/ILBM bitmap decoder
|
1580 |
+
- concat protocol
|
1581 |
+
- Indeo 5 decoder
|
1582 |
+
- RTP depacketization of AMR
|
1583 |
+
- WMA Voice decoder
|
1584 |
+
- ffprobe tool
|
1585 |
+
- AMR-NB decoder
|
1586 |
+
- RTSP muxer
|
1587 |
+
- HE-AAC v1 decoder
|
1588 |
+
- Kega Game Video (KGV1) decoder
|
1589 |
+
- VorbisComment writing for FLAC, Ogg FLAC and Ogg Speex files
|
1590 |
+
- RTP depacketization of Theora
|
1591 |
+
- HTTP Digest authentication
|
1592 |
+
- RTMP/RTMPT/RTMPS/RTMPE/RTMPTE protocol support via librtmp
|
1593 |
+
- Psygnosis YOP demuxer and video decoder
|
1594 |
+
- spectral extension support in the E-AC-3 decoder
|
1595 |
+
- unsharp video filter
|
1596 |
+
- RTP hinting in the mov/3gp/mp4 muxer
|
1597 |
+
- Dirac in Ogg demuxing
|
1598 |
+
- seek to keyframes in Ogg
|
1599 |
+
- 4:2:2 and 4:4:4 Theora decoding
|
1600 |
+
- 35% faster VP3/Theora decoding
|
1601 |
+
- faster AAC decoding
|
1602 |
+
- faster H.264 decoding
|
1603 |
+
- RealAudio 1.0 (14.4K) encoder
|
1604 |
+
|
1605 |
+
|
1606 |
+
version 0.5:
|
1607 |
+
|
1608 |
+
- DV50 AKA DVCPRO50 encoder, decoder, muxer and demuxer
|
1609 |
+
- TechSmith Camtasia (TSCC) video decoder
|
1610 |
+
- IBM Ultimotion (ULTI) video decoder
|
1611 |
+
- Sierra Online audio file demuxer and decoder
|
1612 |
+
- Apple QuickDraw (qdrw) video decoder
|
1613 |
+
- Creative ADPCM audio decoder (16 bits as well as 8 bits schemes)
|
1614 |
+
- Electronic Arts Multimedia (WVE/UV2/etc.) file demuxer
|
1615 |
+
- Miro VideoXL (VIXL) video decoder
|
1616 |
+
- H.261 video encoder
|
1617 |
+
- QPEG video decoder
|
1618 |
+
- Nullsoft Video (NSV) file demuxer
|
1619 |
+
- Shorten audio decoder
|
1620 |
+
- LOCO video decoder
|
1621 |
+
- Apple Lossless Audio Codec (ALAC) decoder
|
1622 |
+
- Winnov WNV1 video decoder
|
1623 |
+
- Autodesk Animator Studio Codec (AASC) decoder
|
1624 |
+
- Indeo 2 video decoder
|
1625 |
+
- Fraps FPS1 video decoder
|
1626 |
+
- Snow video encoder/decoder
|
1627 |
+
- Sonic audio encoder/decoder
|
1628 |
+
- Vorbis audio decoder
|
1629 |
+
- Macromedia ADPCM decoder
|
1630 |
+
- Duck TrueMotion 2 video decoder
|
1631 |
+
- support for decoding FLX and DTA extensions in FLIC files
|
1632 |
+
- H.264 custom quantization matrices support
|
1633 |
+
- ffserver fixed, it should now be usable again
|
1634 |
+
- QDM2 audio decoder
|
1635 |
+
- Real Cooker audio decoder
|
1636 |
+
- TrueSpeech audio decoder
|
1637 |
+
- WMA2 audio decoder fixed, now all files should play correctly
|
1638 |
+
- RealAudio 14.4 and 28.8 decoders fixed
|
1639 |
+
- JPEG-LS decoder
|
1640 |
+
- build system improvements
|
1641 |
+
- tabs and trailing whitespace removed from the codebase
|
1642 |
+
- CamStudio video decoder
|
1643 |
+
- AIFF/AIFF-C audio format, encoding and decoding
|
1644 |
+
- ADTS AAC file reading and writing
|
1645 |
+
- Creative VOC file reading and writing
|
1646 |
+
- American Laser Games multimedia (*.mm) playback system
|
1647 |
+
- Zip Motion Blocks Video decoder
|
1648 |
+
- improved Theora/VP3 decoder
|
1649 |
+
- True Audio (TTA) decoder
|
1650 |
+
- AVS demuxer and video decoder
|
1651 |
+
- JPEG-LS encoder
|
1652 |
+
- Smacker demuxer and decoder
|
1653 |
+
- NuppelVideo/MythTV demuxer and RTjpeg decoder
|
1654 |
+
- KMVC decoder
|
1655 |
+
- MPEG-2 intra VLC support
|
1656 |
+
- MPEG-2 4:2:2 encoder
|
1657 |
+
- Flash Screen Video decoder
|
1658 |
+
- GXF demuxer
|
1659 |
+
- Chinese AVS decoder
|
1660 |
+
- GXF muxer
|
1661 |
+
- MXF demuxer
|
1662 |
+
- VC-1/WMV3/WMV9 video decoder
|
1663 |
+
- MacIntel support
|
1664 |
+
- AviSynth support
|
1665 |
+
- VMware video decoder
|
1666 |
+
- VP5 video decoder
|
1667 |
+
- VP6 video decoder
|
1668 |
+
- WavPack lossless audio decoder
|
1669 |
+
- Targa (.TGA) picture decoder
|
1670 |
+
- Vorbis audio encoder
|
1671 |
+
- Delphine Software .cin demuxer/audio and video decoder
|
1672 |
+
- Tiertex .seq demuxer/video decoder
|
1673 |
+
- MTV demuxer
|
1674 |
+
- TIFF picture encoder and decoder
|
1675 |
+
- GIF picture decoder
|
1676 |
+
- Intel Music Coder decoder
|
1677 |
+
- Zip Motion Blocks Video encoder
|
1678 |
+
- Musepack decoder
|
1679 |
+
- Flash Screen Video encoder
|
1680 |
+
- Theora encoding via libtheora
|
1681 |
+
- BMP encoder
|
1682 |
+
- WMA encoder
|
1683 |
+
- GSM-MS encoder and decoder
|
1684 |
+
- DCA decoder
|
1685 |
+
- DXA demuxer and decoder
|
1686 |
+
- DNxHD decoder
|
1687 |
+
- Gamecube movie (.THP) playback system
|
1688 |
+
- Blackfin optimizations
|
1689 |
+
- Interplay C93 demuxer and video decoder
|
1690 |
+
- Bethsoft VID demuxer and video decoder
|
1691 |
+
- CRYO APC demuxer
|
1692 |
+
- ATRAC3 decoder
|
1693 |
+
- V.Flash PTX decoder
|
1694 |
+
- RoQ muxer, RoQ audio encoder
|
1695 |
+
- Renderware TXD demuxer and decoder
|
1696 |
+
- extern C declarations for C++ removed from headers
|
1697 |
+
- sws_flags command line option
|
1698 |
+
- codebook generator
|
1699 |
+
- RoQ video encoder
|
1700 |
+
- QTRLE encoder
|
1701 |
+
- OS/2 support removed and restored again
|
1702 |
+
- AC-3 decoder
|
1703 |
+
- NUT muxer
|
1704 |
+
- additional SPARC (VIS) optimizations
|
1705 |
+
- Matroska muxer
|
1706 |
+
- slice-based parallel H.264 decoding
|
1707 |
+
- Monkey's Audio demuxer and decoder
|
1708 |
+
- AMV audio and video decoder
|
1709 |
+
- DNxHD encoder
|
1710 |
+
- H.264 PAFF decoding
|
1711 |
+
- Nellymoser ASAO decoder
|
1712 |
+
- Beam Software SIFF demuxer and decoder
|
1713 |
+
- libvorbis Vorbis decoding removed in favor of native decoder
|
1714 |
+
- IntraX8 (J-Frame) subdecoder for WMV2 and VC-1
|
1715 |
+
- Ogg (Theora, Vorbis and FLAC) muxer
|
1716 |
+
- The "device" muxers and demuxers are now in a new libavdevice library
|
1717 |
+
- PC Paintbrush PCX decoder
|
1718 |
+
- Sun Rasterfile decoder
|
1719 |
+
- TechnoTrend PVA demuxer
|
1720 |
+
- Linux Media Labs MPEG-4 (LMLM4) demuxer
|
1721 |
+
- AVM2 (Flash 9) SWF muxer
|
1722 |
+
- QT variant of IMA ADPCM encoder
|
1723 |
+
- VFW grabber
|
1724 |
+
- iPod/iPhone compatible mp4 muxer
|
1725 |
+
- Mimic decoder
|
1726 |
+
- MSN TCP Webcam stream demuxer
|
1727 |
+
- RL2 demuxer / decoder
|
1728 |
+
- IFF demuxer
|
1729 |
+
- 8SVX audio decoder
|
1730 |
+
- non-recursive Makefiles
|
1731 |
+
- BFI demuxer
|
1732 |
+
- MAXIS EA XA (.xa) demuxer / decoder
|
1733 |
+
- BFI video decoder
|
1734 |
+
- OMA demuxer
|
1735 |
+
- MLP/TrueHD decoder
|
1736 |
+
- Electronic Arts CMV decoder
|
1737 |
+
- Motion Pixels Video decoder
|
1738 |
+
- Motion Pixels MVI demuxer
|
1739 |
+
- removed animated GIF decoder/demuxer
|
1740 |
+
- D-Cinema audio muxer
|
1741 |
+
- Electronic Arts TGV decoder
|
1742 |
+
- Apple Lossless Audio Codec (ALAC) encoder
|
1743 |
+
- AAC decoder
|
1744 |
+
- floating point PCM encoder/decoder
|
1745 |
+
- MXF muxer
|
1746 |
+
- DV100 AKA DVCPRO HD decoder and demuxer
|
1747 |
+
- E-AC-3 support added to AC-3 decoder
|
1748 |
+
- Nellymoser ASAO encoder
|
1749 |
+
- ASS and SSA demuxer and muxer
|
1750 |
+
- liba52 wrapper removed
|
1751 |
+
- SVQ3 watermark decoding support
|
1752 |
+
- Speex decoding via libspeex
|
1753 |
+
- Electronic Arts TGQ decoder
|
1754 |
+
- RV40 decoder
|
1755 |
+
- QCELP / PureVoice decoder
|
1756 |
+
- RV30 decoder
|
1757 |
+
- hybrid WavPack support
|
1758 |
+
- R3D REDCODE demuxer
|
1759 |
+
- ALSA support for playback and record
|
1760 |
+
- Electronic Arts TQI decoder
|
1761 |
+
- OpenJPEG based JPEG 2000 decoder
|
1762 |
+
- NC (NC4600) camera file demuxer
|
1763 |
+
- Gopher client support
|
1764 |
+
- MXF D-10 muxer
|
1765 |
+
- generic metadata API
|
1766 |
+
- flash ScreenVideo2 encoder
|
1767 |
+
|
1768 |
+
|
1769 |
+
version 0.4.9-pre1:
|
1770 |
+
|
1771 |
+
- DV encoder, DV muxer
|
1772 |
+
- Microsoft RLE video decoder
|
1773 |
+
- Microsoft Video-1 decoder
|
1774 |
+
- Apple Animation (RLE) decoder
|
1775 |
+
- Apple Graphics (SMC) decoder
|
1776 |
+
- Apple Video (RPZA) decoder
|
1777 |
+
- Cinepak decoder
|
1778 |
+
- Sega FILM (CPK) file demuxer
|
1779 |
+
- Westwood multimedia support (VQA & AUD files)
|
1780 |
+
- Id Quake II CIN playback support
|
1781 |
+
- 8BPS video decoder
|
1782 |
+
- FLIC playback support
|
1783 |
+
- RealVideo 2.0 (RV20) decoder
|
1784 |
+
- Duck TrueMotion v1 (DUCK) video decoder
|
1785 |
+
- Sierra VMD demuxer and video decoder
|
1786 |
+
- MSZH and ZLIB decoder support
|
1787 |
+
- SVQ1 video encoder
|
1788 |
+
- AMR-WB support
|
1789 |
+
- PPC optimizations
|
1790 |
+
- rate distortion optimal cbp support
|
1791 |
+
- rate distorted optimal ac prediction for MPEG-4
|
1792 |
+
- rate distorted optimal lambda->qp support
|
1793 |
+
- AAC encoding with libfaac
|
1794 |
+
- Sunplus JPEG codec (SP5X) support
|
1795 |
+
- use Lagrange multiplier instead of QP for ratecontrol
|
1796 |
+
- Theora/VP3 decoding support
|
1797 |
+
- XA and ADX ADPCM codecs
|
1798 |
+
- export MPEG-2 active display area / pan scan
|
1799 |
+
- Add support for configuring with IBM XLC
|
1800 |
+
- floating point AAN DCT
|
1801 |
+
- initial support for zygo video (not complete)
|
1802 |
+
- RGB ffv1 support
|
1803 |
+
- new audio/video parser API
|
1804 |
+
- av_log() system
|
1805 |
+
- av_read_frame() and av_seek_frame() support
|
1806 |
+
- missing last frame fixes
|
1807 |
+
- seek by mouse in ffplay
|
1808 |
+
- noise reduction of DCT coefficients
|
1809 |
+
- H.263 OBMC & 4MV support
|
1810 |
+
- H.263 alternative inter vlc support
|
1811 |
+
- H.263 loop filter
|
1812 |
+
- H.263 slice structured mode
|
1813 |
+
- interlaced DCT support for MPEG-2 encoding
|
1814 |
+
- stuffing to stay above min_bitrate
|
1815 |
+
- MB type & QP visualization
|
1816 |
+
- frame stepping for ffplay
|
1817 |
+
- interlaced motion estimation
|
1818 |
+
- alternate scantable support
|
1819 |
+
- SVCD scan offset support
|
1820 |
+
- closed GOP support
|
1821 |
+
- SSE2 FDCT
|
1822 |
+
- quantizer noise shaping
|
1823 |
+
- G.726 ADPCM audio codec
|
1824 |
+
- MS ADPCM encoding
|
1825 |
+
- multithreaded/SMP motion estimation
|
1826 |
+
- multithreaded/SMP encoding for MPEG-1/MPEG-2/MPEG-4/H.263
|
1827 |
+
- multithreaded/SMP decoding for MPEG-2
|
1828 |
+
- FLAC decoder
|
1829 |
+
- Metrowerks CodeWarrior suppport
|
1830 |
+
- H.263+ custom pcf support
|
1831 |
+
- nicer output for 'ffmpeg -formats'
|
1832 |
+
- Matroska demuxer
|
1833 |
+
- SGI image format, encoding and decoding
|
1834 |
+
- H.264 loop filter support
|
1835 |
+
- H.264 CABAC support
|
1836 |
+
- nicer looking arrows for the motion vector visualization
|
1837 |
+
- improved VCD support
|
1838 |
+
- audio timestamp drift compensation
|
1839 |
+
- MPEG-2 YUV 422/444 support
|
1840 |
+
- polyphase kaiser windowed sinc and blackman nuttall windowed sinc audio resample
|
1841 |
+
- better image scaling
|
1842 |
+
- H.261 support
|
1843 |
+
- correctly interleave packets during encoding
|
1844 |
+
- VIS optimized motion compensation
|
1845 |
+
- intra_dc_precision>0 encoding support
|
1846 |
+
- support reuse of motion vectors/MB types/field select values of the source video
|
1847 |
+
- more accurate deblock filter
|
1848 |
+
- padding support
|
1849 |
+
- many optimizations and bugfixes
|
1850 |
+
- FunCom ISS audio file demuxer and according ADPCM decoding
|
1851 |
+
|
1852 |
+
|
1853 |
+
version 0.4.8:
|
1854 |
+
|
1855 |
+
- MPEG-2 video encoding (Michael)
|
1856 |
+
- Id RoQ playback subsystem (Mike Melanson and Tim Ferguson)
|
1857 |
+
- Wing Commander III Movie (.mve) file playback subsystem (Mike Melanson
|
1858 |
+
and Mario Brito)
|
1859 |
+
- Xan DPCM audio decoder (Mario Brito)
|
1860 |
+
- Interplay MVE playback subsystem (Mike Melanson)
|
1861 |
+
- Duck DK3 and DK4 ADPCM audio decoders (Mike Melanson)
|
1862 |
+
|
1863 |
+
|
1864 |
+
version 0.4.7:
|
1865 |
+
|
1866 |
+
- RealAudio 1.0 (14_4) and 2.0 (28_8) native decoders. Author unknown, code from mplayerhq
|
1867 |
+
(originally from public domain player for Amiga at http://www.honeypot.net/audio)
|
1868 |
+
- current version now also compiles with older GCC (Fabrice)
|
1869 |
+
- 4X multimedia playback system including 4xm file demuxer (Mike
|
1870 |
+
Melanson), and 4X video and audio codecs (Michael)
|
1871 |
+
- Creative YUV (CYUV) decoder (Mike Melanson)
|
1872 |
+
- FFV1 codec (our very simple lossless intra only codec, compresses much better
|
1873 |
+
than HuffYUV) (Michael)
|
1874 |
+
- ASV1 (Asus), H.264, Intel indeo3 codecs have been added (various)
|
1875 |
+
- tiny PNG encoder and decoder, tiny GIF decoder, PAM decoder (PPM with
|
1876 |
+
alpha support), JPEG YUV colorspace support. (Fabrice Bellard)
|
1877 |
+
- ffplay has been replaced with a newer version which uses SDL (optionally)
|
1878 |
+
for multiplatform support (Fabrice)
|
1879 |
+
- Sorenson Version 3 codec (SVQ3) support has been added (decoding only) - donated
|
1880 |
+
by anonymous
|
1881 |
+
- AMR format has been added (Johannes Carlsson)
|
1882 |
+
- 3GP support has been added (Johannes Carlsson)
|
1883 |
+
- VP3 codec has been added (Mike Melanson)
|
1884 |
+
- more MPEG-1/2 fixes
|
1885 |
+
- better multiplatform support, MS Visual Studio fixes (various)
|
1886 |
+
- AltiVec optimizations (Magnus Damn and others)
|
1887 |
+
- SH4 processor support has been added (BERO)
|
1888 |
+
- new public interfaces (avcodec_get_pix_fmt) (Roman Shaposhnick)
|
1889 |
+
- VOB streaming support (Brian Foley)
|
1890 |
+
- better MP3 autodetection (Andriy Rysin)
|
1891 |
+
- qpel encoding (Michael)
|
1892 |
+
- 4mv+b frames encoding finally fixed (Michael)
|
1893 |
+
- chroma ME (Michael)
|
1894 |
+
- 5 comparison functions for ME (Michael)
|
1895 |
+
- B-frame encoding speedup (Michael)
|
1896 |
+
- WMV2 codec (unfinished - Michael)
|
1897 |
+
- user specified diamond size for EPZS (Michael)
|
1898 |
+
- Playstation STR playback subsystem, still experimental (Mike and Michael)
|
1899 |
+
- ASV2 codec (Michael)
|
1900 |
+
- CLJR decoder (Alex)
|
1901 |
+
|
1902 |
+
.. And lots more new enhancements and fixes.
|
1903 |
+
|
1904 |
+
|
1905 |
+
version 0.4.6:
|
1906 |
+
|
1907 |
+
- completely new integer only MPEG audio layer 1/2/3 decoder rewritten
|
1908 |
+
from scratch
|
1909 |
+
- Recoded DCT and motion vector search with gcc (no longer depends on nasm)
|
1910 |
+
- fix quantization bug in AC3 encoder
|
1911 |
+
- added PCM codecs and format. Corrected WAV/AVI/ASF PCM issues
|
1912 |
+
- added prototype ffplay program
|
1913 |
+
- added GOB header parsing on H.263/H.263+ decoder (Juanjo)
|
1914 |
+
- bug fix on MCBPC tables of H.263 (Juanjo)
|
1915 |
+
- bug fix on DC coefficients of H.263 (Juanjo)
|
1916 |
+
- added Advanced Prediction Mode on H.263/H.263+ decoder (Juanjo)
|
1917 |
+
- now we can decode H.263 streams found in QuickTime files (Juanjo)
|
1918 |
+
- now we can decode H.263 streams found in VIVO v1 files(Juanjo)
|
1919 |
+
- preliminary RTP "friendly" mode for H.263/H.263+ coding. (Juanjo)
|
1920 |
+
- added GOB header for H.263/H.263+ coding on RTP mode (Juanjo)
|
1921 |
+
- now H.263 picture size is returned on the first decoded frame (Juanjo)
|
1922 |
+
- added first regression tests
|
1923 |
+
- added MPEG-2 TS demuxer
|
1924 |
+
- new demux API for libav
|
1925 |
+
- more accurate and faster IDCT (Michael)
|
1926 |
+
- faster and entropy-controlled motion search (Michael)
|
1927 |
+
- two pass video encoding (Michael)
|
1928 |
+
- new video rate control (Michael)
|
1929 |
+
- added MSMPEG4V1, MSMPEGV2 and WMV1 support (Michael)
|
1930 |
+
- great performance improvement of video encoders and decoders (Michael)
|
1931 |
+
- new and faster bit readers and vlc parsers (Michael)
|
1932 |
+
- high quality encoding mode: tries all macroblock/VLC types (Michael)
|
1933 |
+
- added DV video decoder
|
1934 |
+
- preliminary RTP/RTSP support in ffserver and libavformat
|
1935 |
+
- H.263+ AIC decoding/encoding support (Juanjo)
|
1936 |
+
- VCD MPEG-PS mode (Juanjo)
|
1937 |
+
- PSNR stuff (Juanjo)
|
1938 |
+
- simple stats output (Juanjo)
|
1939 |
+
- 16-bit and 15-bit RGB/BGR/GBR support (Bisqwit)
|
1940 |
+
|
1941 |
+
|
1942 |
+
version 0.4.5:
|
1943 |
+
|
1944 |
+
- some header fixes (Zdenek Kabelac <kabi at informatics.muni.cz>)
|
1945 |
+
- many MMX optimizations (Nick Kurshev <nickols_k at mail.ru>)
|
1946 |
+
- added configure system (actually a small shell script)
|
1947 |
+
- added MPEG audio layer 1/2/3 decoding using LGPL'ed mpglib by
|
1948 |
+
Michael Hipp (temporary solution - waiting for integer only
|
1949 |
+
decoder)
|
1950 |
+
- fixed VIDIOCSYNC interrupt
|
1951 |
+
- added Intel H.263 decoding support ('I263' AVI fourCC)
|
1952 |
+
- added Real Video 1.0 decoding (needs further testing)
|
1953 |
+
- simplified image formats again. Added PGM format (=grey
|
1954 |
+
pgm). Renamed old PGM to PGMYUV.
|
1955 |
+
- fixed msmpeg4 slice issues (tell me if you still find problems)
|
1956 |
+
- fixed OpenDivX bugs with newer versions (added VOL header decoding)
|
1957 |
+
- added support for MPlayer interface
|
1958 |
+
- added macroblock skip optimization
|
1959 |
+
- added MJPEG decoder
|
1960 |
+
- added mmx/mmxext IDCT from libmpeg2
|
1961 |
+
- added pgmyuvpipe, ppm, and ppm_pipe formats (original patch by Celer
|
1962 |
+
<celer at shell.scrypt.net>)
|
1963 |
+
- added pixel format conversion layer (e.g. for MJPEG or PPM)
|
1964 |
+
- added deinterlacing option
|
1965 |
+
- MPEG-1/2 fixes
|
1966 |
+
- MPEG-4 vol header fixes (Jonathan Marsden <snmjbm at pacbell.net>)
|
1967 |
+
- ARM optimizations (Lionel Ulmer <lionel.ulmer at free.fr>).
|
1968 |
+
- Windows porting of file converter
|
1969 |
+
- added MJPEG raw format (input/output)
|
1970 |
+
- added JPEG image format support (input/output)
|
1971 |
+
|
1972 |
+
|
1973 |
+
version 0.4.4:
|
1974 |
+
|
1975 |
+
- fixed some std header definitions (Bjorn Lindgren
|
1976 |
+
<bjorn.e.lindgren at telia.com>).
|
1977 |
+
- added MPEG demuxer (MPEG-1 and 2 compatible).
|
1978 |
+
- added ASF demuxer
|
1979 |
+
- added prototype RM demuxer
|
1980 |
+
- added AC3 decoding (done with libac3 by Aaron Holtzman)
|
1981 |
+
- added decoding codec parameter guessing (.e.g. for MPEG, because the
|
1982 |
+
header does not include them)
|
1983 |
+
- fixed header generation in MPEG-1, AVI and ASF muxer: wmplayer can now
|
1984 |
+
play them (only tested video)
|
1985 |
+
- fixed H.263 white bug
|
1986 |
+
- fixed phase rounding in img resample filter
|
1987 |
+
- add MMX code for polyphase img resample filter
|
1988 |
+
- added CPU autodetection
|
1989 |
+
- added generic title/author/copyright/comment string handling (ASF and RM
|
1990 |
+
use them)
|
1991 |
+
- added SWF demux to extract MP3 track (not usable yet because no MP3
|
1992 |
+
decoder)
|
1993 |
+
- added fractional frame rate support
|
1994 |
+
- codecs are no longer searched by read_header() (should fix ffserver
|
1995 |
+
segfault)
|
1996 |
+
|
1997 |
+
|
1998 |
+
version 0.4.3:
|
1999 |
+
|
2000 |
+
- BGR24 patch (initial patch by Jeroen Vreeken <pe1rxq at amsat.org>)
|
2001 |
+
- fixed raw yuv output
|
2002 |
+
- added motion rounding support in MPEG-4
|
2003 |
+
- fixed motion bug rounding in MSMPEG4
|
2004 |
+
- added B-frame handling in video core
|
2005 |
+
- added full MPEG-1 decoding support
|
2006 |
+
- added partial (frame only) MPEG-2 support
|
2007 |
+
- changed the FOURCC code for H.263 to "U263" to be able to see the
|
2008 |
+
+AVI/H.263 file with the UB Video H.263+ decoder. MPlayer works with
|
2009 |
+
this +codec ;) (JuanJo).
|
2010 |
+
- Halfpel motion estimation after MB type selection (JuanJo)
|
2011 |
+
- added pgm and .Y.U.V output format
|
2012 |
+
- suppressed 'img:' protocol. Simply use: /tmp/test%d.[pgm|Y] as input or
|
2013 |
+
output.
|
2014 |
+
- added pgmpipe I/O format (original patch from Martin Aumueller
|
2015 |
+
<lists at reserv.at>, but changed completely since we use a format
|
2016 |
+
instead of a protocol)
|
2017 |
+
|
2018 |
+
|
2019 |
+
version 0.4.2:
|
2020 |
+
|
2021 |
+
- added H.263/MPEG-4/MSMPEG4 decoding support. MPEG-4 decoding support
|
2022 |
+
(for OpenDivX) is almost complete: 8x8 MVs and rounding are
|
2023 |
+
missing. MSMPEG4 support is complete.
|
2024 |
+
- added prototype MPEG-1 decoder. Only I- and P-frames handled yet (it
|
2025 |
+
can decode ffmpeg MPEGs :-)).
|
2026 |
+
- added libavcodec API documentation (see apiexample.c).
|
2027 |
+
- fixed image polyphase bug (the bottom of some images could be
|
2028 |
+
greenish)
|
2029 |
+
- added support for non clipped motion vectors (decoding only)
|
2030 |
+
and image sizes non-multiple of 16
|
2031 |
+
- added support for AC prediction (decoding only)
|
2032 |
+
- added file overwrite confirmation (can be disabled with -y)
|
2033 |
+
- added custom size picture to H.263 using H.263+ (Juanjo)
|
2034 |
+
|
2035 |
+
|
2036 |
+
version 0.4.1:
|
2037 |
+
|
2038 |
+
- added MSMPEG4 (aka DivX) compatible encoder. Changed default codec
|
2039 |
+
of AVI and ASF to DIV3.
|
2040 |
+
- added -me option to set motion estimation method
|
2041 |
+
(default=log). suppressed redundant -hq option.
|
2042 |
+
- added options -acodec and -vcodec to force a given codec (useful for
|
2043 |
+
AVI for example)
|
2044 |
+
- fixed -an option
|
2045 |
+
- improved dct_quantize speed
|
2046 |
+
- factorized some motion estimation code
|
2047 |
+
|
2048 |
+
|
2049 |
+
version 0.4.0:
|
2050 |
+
|
2051 |
+
- removing grab code from ffserver and moved it to ffmpeg. Added
|
2052 |
+
multistream support to ffmpeg.
|
2053 |
+
- added timeshifting support for live feeds (option ?date=xxx in the
|
2054 |
+
URL)
|
2055 |
+
- added high quality image resize code with polyphase filter (need
|
2056 |
+
mmx/see optimization). Enable multiple image size support in ffserver.
|
2057 |
+
- added multi live feed support in ffserver
|
2058 |
+
- suppressed master feature from ffserver (it should be done with an
|
2059 |
+
external program which opens the .ffm url and writes it to another
|
2060 |
+
ffserver)
|
2061 |
+
- added preliminary support for video stream parsing (WAV and AVI half
|
2062 |
+
done). Added proper support for audio/video file conversion in
|
2063 |
+
ffmpeg.
|
2064 |
+
- added preliminary support for video file sending from ffserver
|
2065 |
+
- redesigning I/O subsystem: now using URL based input and output
|
2066 |
+
(see avio.h)
|
2067 |
+
- added WAV format support
|
2068 |
+
- added "tty user interface" to ffmpeg to stop grabbing gracefully
|
2069 |
+
- added MMX/SSE optimizations to SAD (Sums of Absolutes Differences)
|
2070 |
+
(Juan J. Sierralta P. a.k.a. "Juanjo" <juanjo at atmlab.utfsm.cl>)
|
2071 |
+
- added MMX DCT from mpeg2_movie 1.5 (Juanjo)
|
2072 |
+
- added new motion estimation algorithms, log and phods (Juanjo)
|
2073 |
+
- changed directories: libav for format handling, libavcodec for
|
2074 |
+
codecs
|
2075 |
+
|
2076 |
+
|
2077 |
+
version 0.3.4:
|
2078 |
+
|
2079 |
+
- added stereo in MPEG audio encoder
|
2080 |
+
|
2081 |
+
|
2082 |
+
version 0.3.3:
|
2083 |
+
|
2084 |
+
- added 'high quality' mode which use motion vectors. It can be used in
|
2085 |
+
real time at low resolution.
|
2086 |
+
- fixed rounding problems which caused quality problems at high
|
2087 |
+
bitrates and large GOP size
|
2088 |
+
|
2089 |
+
|
2090 |
+
version 0.3.2: small fixes
|
2091 |
+
|
2092 |
+
- ASF fixes
|
2093 |
+
- put_seek bug fix
|
2094 |
+
|
2095 |
+
|
2096 |
+
version 0.3.1: added avi/divx support
|
2097 |
+
|
2098 |
+
- added AVI support
|
2099 |
+
- added MPEG-4 codec compatible with OpenDivX. It is based on the H.263 codec
|
2100 |
+
- added sound for flash format (not tested)
|
2101 |
+
|
2102 |
+
|
2103 |
+
version 0.3: initial public release
|
INSTALL.md
ADDED
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
## Installing FFmpeg
|
2 |
+
|
3 |
+
1. Type `./configure` to create the configuration. A list of configure
|
4 |
+
options is printed by running `configure --help`.
|
5 |
+
|
6 |
+
`configure` can be launched from a directory different from the FFmpeg
|
7 |
+
sources to build the objects out of tree. To do this, use an absolute
|
8 |
+
path when launching `configure`, e.g. `/ffmpegdir/ffmpeg/configure`.
|
9 |
+
|
10 |
+
2. Then type `make` to build FFmpeg. GNU Make 3.81 or later is required.
|
11 |
+
|
12 |
+
3. Type `make install` to install all binaries and libraries you built.
|
13 |
+
|
14 |
+
NOTICE
|
15 |
+
------
|
16 |
+
|
17 |
+
- Non system dependencies (e.g. libx264, libvpx) are disabled by default.
|
LICENSE.md
ADDED
@@ -0,0 +1,129 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# License
|
2 |
+
|
3 |
+
Most files in FFmpeg are under the GNU Lesser General Public License version 2.1
|
4 |
+
or later (LGPL v2.1+). Read the file `COPYING.LGPLv2.1` for details. Some other
|
5 |
+
files have MIT/X11/BSD-style licenses. In combination the LGPL v2.1+ applies to
|
6 |
+
FFmpeg.
|
7 |
+
|
8 |
+
Some optional parts of FFmpeg are licensed under the GNU General Public License
|
9 |
+
version 2 or later (GPL v2+). See the file `COPYING.GPLv2` for details. None of
|
10 |
+
these parts are used by default, you have to explicitly pass `--enable-gpl` to
|
11 |
+
configure to activate them. In this case, FFmpeg's license changes to GPL v2+.
|
12 |
+
|
13 |
+
Specifically, the GPL parts of FFmpeg are:
|
14 |
+
|
15 |
+
- libpostproc
|
16 |
+
- optional x86 optimization in the files
|
17 |
+
- `libavcodec/x86/flac_dsp_gpl.asm`
|
18 |
+
- `libavcodec/x86/idct_mmx.c`
|
19 |
+
- `libavfilter/x86/vf_removegrain.asm`
|
20 |
+
- the following building and testing tools
|
21 |
+
- `compat/solaris/make_sunver.pl`
|
22 |
+
- `doc/t2h.pm`
|
23 |
+
- `doc/texi2pod.pl`
|
24 |
+
- `libswresample/tests/swresample.c`
|
25 |
+
- `tests/checkasm/*`
|
26 |
+
- `tests/tiny_ssim.c`
|
27 |
+
- the following filters in libavfilter:
|
28 |
+
- `signature_lookup.c`
|
29 |
+
- `vf_blackframe.c`
|
30 |
+
- `vf_boxblur.c`
|
31 |
+
- `vf_colormatrix.c`
|
32 |
+
- `vf_cover_rect.c`
|
33 |
+
- `vf_cropdetect.c`
|
34 |
+
- `vf_delogo.c`
|
35 |
+
- `vf_eq.c`
|
36 |
+
- `vf_find_rect.c`
|
37 |
+
- `vf_fspp.c`
|
38 |
+
- `vf_histeq.c`
|
39 |
+
- `vf_hqdn3d.c`
|
40 |
+
- `vf_kerndeint.c`
|
41 |
+
- `vf_lensfun.c` (GPL version 3 or later)
|
42 |
+
- `vf_mcdeint.c`
|
43 |
+
- `vf_mpdecimate.c`
|
44 |
+
- `vf_nnedi.c`
|
45 |
+
- `vf_owdenoise.c`
|
46 |
+
- `vf_perspective.c`
|
47 |
+
- `vf_phase.c`
|
48 |
+
- `vf_pp.c`
|
49 |
+
- `vf_pp7.c`
|
50 |
+
- `vf_pullup.c`
|
51 |
+
- `vf_repeatfields.c`
|
52 |
+
- `vf_sab.c`
|
53 |
+
- `vf_signature.c`
|
54 |
+
- `vf_smartblur.c`
|
55 |
+
- `vf_spp.c`
|
56 |
+
- `vf_stereo3d.c`
|
57 |
+
- `vf_super2xsai.c`
|
58 |
+
- `vf_tinterlace.c`
|
59 |
+
- `vf_uspp.c`
|
60 |
+
- `vf_vaguedenoiser.c`
|
61 |
+
- `vsrc_mptestsrc.c`
|
62 |
+
|
63 |
+
Should you, for whatever reason, prefer to use version 3 of the (L)GPL, then
|
64 |
+
the configure parameter `--enable-version3` will activate this licensing option
|
65 |
+
for you. Read the file `COPYING.LGPLv3` or, if you have enabled GPL parts,
|
66 |
+
`COPYING.GPLv3` to learn the exact legal terms that apply in this case.
|
67 |
+
|
68 |
+
There are a handful of files under other licensing terms, namely:
|
69 |
+
|
70 |
+
* The files `libavcodec/jfdctfst.c`, `libavcodec/jfdctint_template.c` and
|
71 |
+
`libavcodec/jrevdct.c` are taken from libjpeg, see the top of the files for
|
72 |
+
licensing details. Specifically note that you must credit the IJG in the
|
73 |
+
documentation accompanying your program if you only distribute executables.
|
74 |
+
You must also indicate any changes including additions and deletions to
|
75 |
+
those three files in the documentation.
|
76 |
+
* `tests/reference.pnm` is under the expat license.
|
77 |
+
|
78 |
+
|
79 |
+
## External libraries
|
80 |
+
|
81 |
+
FFmpeg can be combined with a number of external libraries, which sometimes
|
82 |
+
affect the licensing of binaries resulting from the combination.
|
83 |
+
|
84 |
+
### Compatible libraries
|
85 |
+
|
86 |
+
The following libraries are under GPL version 2:
|
87 |
+
- avisynth
|
88 |
+
- frei0r
|
89 |
+
- libcdio
|
90 |
+
- libdavs2
|
91 |
+
- librubberband
|
92 |
+
- libvidstab
|
93 |
+
- libx264
|
94 |
+
- libx265
|
95 |
+
- libxavs
|
96 |
+
- libxavs2
|
97 |
+
- libxvid
|
98 |
+
|
99 |
+
When combining them with FFmpeg, FFmpeg needs to be licensed as GPL as well by
|
100 |
+
passing `--enable-gpl` to configure.
|
101 |
+
|
102 |
+
The following libraries are under LGPL version 3:
|
103 |
+
- gmp
|
104 |
+
- libaribb24
|
105 |
+
- liblensfun
|
106 |
+
|
107 |
+
When combining them with FFmpeg, use the configure option `--enable-version3` to
|
108 |
+
upgrade FFmpeg to the LGPL v3.
|
109 |
+
|
110 |
+
The VMAF, mbedTLS, RK MPI, OpenCORE and VisualOn libraries are under the Apache License
|
111 |
+
2.0. That license is incompatible with the LGPL v2.1 and the GPL v2, but not with
|
112 |
+
version 3 of those licenses. So to combine these libraries with FFmpeg, the
|
113 |
+
license version needs to be upgraded by passing `--enable-version3` to configure.
|
114 |
+
|
115 |
+
The smbclient library is under the GPL v3, to combine it with FFmpeg,
|
116 |
+
the options `--enable-gpl` and `--enable-version3` have to be passed to
|
117 |
+
configure to upgrade FFmpeg to the GPL v3.
|
118 |
+
|
119 |
+
### Incompatible libraries
|
120 |
+
|
121 |
+
There are certain libraries you can combine with FFmpeg whose licenses are not
|
122 |
+
compatible with the GPL and/or the LGPL. If you wish to enable these
|
123 |
+
libraries, even in circumstances that their license may be incompatible, pass
|
124 |
+
`--enable-nonfree` to configure. This will cause the resulting binary to be
|
125 |
+
unredistributable.
|
126 |
+
|
127 |
+
The Fraunhofer FDK AAC and OpenSSL libraries are under licenses which are
|
128 |
+
incompatible with the GPLv2 and v3. To the best of our knowledge, they are
|
129 |
+
compatible with the LGPL.
|
MAINTAINERS
ADDED
@@ -0,0 +1,647 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
FFmpeg maintainers
|
2 |
+
==================
|
3 |
+
|
4 |
+
Below is a list of the people maintaining different parts of the
|
5 |
+
FFmpeg code.
|
6 |
+
|
7 |
+
Please try to keep entries where you are the maintainer up to date!
|
8 |
+
|
9 |
+
Names in () mean that the maintainer currently has no time to maintain the code.
|
10 |
+
A (CC <address>) after the name means that the maintainer prefers to be CC-ed on
|
11 |
+
patches and related discussions.
|
12 |
+
|
13 |
+
|
14 |
+
Applications
|
15 |
+
============
|
16 |
+
|
17 |
+
ffmpeg:
|
18 |
+
ffmpeg.c Michael Niedermayer, Anton Khirnov
|
19 |
+
|
20 |
+
ffplay:
|
21 |
+
ffplay.c Marton Balint
|
22 |
+
|
23 |
+
ffprobe:
|
24 |
+
ffprobe.c Stefano Sabatini
|
25 |
+
|
26 |
+
Commandline utility code:
|
27 |
+
cmdutils.c, cmdutils.h Michael Niedermayer
|
28 |
+
|
29 |
+
QuickTime faststart:
|
30 |
+
tools/qt-faststart.c Baptiste Coudurier
|
31 |
+
|
32 |
+
|
33 |
+
Miscellaneous Areas
|
34 |
+
===================
|
35 |
+
|
36 |
+
documentation Stefano Sabatini, Mike Melanson, Timothy Gu, Gyan Doshi
|
37 |
+
project server day to day operations Árpád Gereöffy, Michael Niedermayer, Reimar Doeffinger, Alexander Strasser, Nikolay Aleksandrov
|
38 |
+
project server emergencies Árpád Gereöffy, Reimar Doeffinger, Alexander Strasser, Nikolay Aleksandrov
|
39 |
+
presets Robert Swain
|
40 |
+
metadata subsystem Aurelien Jacobs
|
41 |
+
release management Michael Niedermayer
|
42 |
+
API tests Ludmila Glinskih
|
43 |
+
|
44 |
+
|
45 |
+
Communication
|
46 |
+
=============
|
47 |
+
|
48 |
+
website Deby Barbara Lepage
|
49 |
+
fate.ffmpeg.org Timothy Gu
|
50 |
+
Trac bug tracker Alexander Strasser, Michael Niedermayer, Carl Eugen Hoyos
|
51 |
+
Patchwork Andriy Gelman
|
52 |
+
mailing lists Baptiste Coudurier
|
53 |
+
Twitter Reynaldo H. Verdejo Pinochet
|
54 |
+
Launchpad Timothy Gu
|
55 |
+
ffmpeg-security Andreas Cadhalpun, Carl Eugen Hoyos, Clément Bœsch, Michael Niedermayer, Reimar Doeffinger, rcombs, wm4
|
56 |
+
|
57 |
+
|
58 |
+
libavutil
|
59 |
+
=========
|
60 |
+
|
61 |
+
External Interfaces:
|
62 |
+
libavutil/avutil.h Michael Niedermayer
|
63 |
+
Internal Interfaces:
|
64 |
+
libavutil/common.h Michael Niedermayer
|
65 |
+
|
66 |
+
Other:
|
67 |
+
aes_ctr.c, aes_ctr.h Eran Kornblau
|
68 |
+
bprint Nicolas George
|
69 |
+
bswap.h
|
70 |
+
des Reimar Doeffinger
|
71 |
+
dynarray.h Nicolas George
|
72 |
+
eval.c, eval.h Michael Niedermayer
|
73 |
+
float_dsp Loren Merritt
|
74 |
+
hash Reimar Doeffinger
|
75 |
+
hwcontext_cuda* Timo Rothenpieler
|
76 |
+
hwcontext_vulkan* Lynne
|
77 |
+
intfloat* Michael Niedermayer
|
78 |
+
integer.c, integer.h Michael Niedermayer
|
79 |
+
lzo Reimar Doeffinger
|
80 |
+
mathematics.c, mathematics.h Michael Niedermayer
|
81 |
+
mem.c, mem.h Michael Niedermayer
|
82 |
+
opencl.c, opencl.h Wei Gao
|
83 |
+
opt.c, opt.h Michael Niedermayer
|
84 |
+
rational.c, rational.h Michael Niedermayer
|
85 |
+
rc4 Reimar Doeffinger
|
86 |
+
ripemd.c, ripemd.h James Almer
|
87 |
+
tx* Lynne
|
88 |
+
|
89 |
+
|
90 |
+
libavcodec
|
91 |
+
==========
|
92 |
+
|
93 |
+
Generic Parts:
|
94 |
+
External Interfaces:
|
95 |
+
avcodec.h Michael Niedermayer
|
96 |
+
utility code:
|
97 |
+
utils.c Michael Niedermayer
|
98 |
+
audio and video frame extraction:
|
99 |
+
parser.c Michael Niedermayer
|
100 |
+
bitstream reading:
|
101 |
+
bitstream.c, bitstream.h Michael Niedermayer
|
102 |
+
CABAC:
|
103 |
+
cabac.h, cabac.c Michael Niedermayer
|
104 |
+
codec names:
|
105 |
+
codec_names.sh Nicolas George
|
106 |
+
DSP utilities:
|
107 |
+
dsputils.c, dsputils.h Michael Niedermayer
|
108 |
+
entropy coding:
|
109 |
+
rangecoder.c, rangecoder.h Michael Niedermayer
|
110 |
+
lzw.* Michael Niedermayer
|
111 |
+
floating point AAN DCT:
|
112 |
+
faandct.c, faandct.h Michael Niedermayer
|
113 |
+
Golomb coding:
|
114 |
+
golomb.c, golomb.h Michael Niedermayer
|
115 |
+
motion estimation:
|
116 |
+
motion* Michael Niedermayer
|
117 |
+
rate control:
|
118 |
+
ratecontrol.c Michael Niedermayer
|
119 |
+
simple IDCT:
|
120 |
+
simple_idct.c, simple_idct.h Michael Niedermayer
|
121 |
+
postprocessing:
|
122 |
+
libpostproc/* Michael Niedermayer
|
123 |
+
table generation:
|
124 |
+
tableprint.c, tableprint.h Reimar Doeffinger
|
125 |
+
fixed point FFT:
|
126 |
+
fft* Zeljko Lukac
|
127 |
+
Text Subtitles Clément Bœsch
|
128 |
+
|
129 |
+
Codecs:
|
130 |
+
4xm.c Michael Niedermayer
|
131 |
+
8bps.c Roberto Togni
|
132 |
+
8svx.c Jaikrishnan Menon
|
133 |
+
aacenc*, aaccoder.c Rostislav Pehlivanov
|
134 |
+
adpcm.c Zane van Iperen
|
135 |
+
alacenc.c Jaikrishnan Menon
|
136 |
+
alsdec.c Thilo Borgmann, Umair Khan
|
137 |
+
amfenc* Dmitrii Ovchinnikov
|
138 |
+
aptx.c Aurelien Jacobs
|
139 |
+
ass* Aurelien Jacobs
|
140 |
+
asv* Michael Niedermayer
|
141 |
+
atrac3plus* Maxim Poliakovski
|
142 |
+
audiotoolbox* rcombs
|
143 |
+
avs2* Huiwen Ren
|
144 |
+
bgmc.c, bgmc.h Thilo Borgmann
|
145 |
+
binkaudio.c Peter Ross
|
146 |
+
cavs* Stefan Gehrer
|
147 |
+
cdxl.c Paul B Mahol
|
148 |
+
celp_filters.* Vitor Sessak
|
149 |
+
cinepak.c Roberto Togni
|
150 |
+
cinepakenc.c Rl / Aetey G.T. AB
|
151 |
+
ccaption_dec.c Anshul Maheshwari, Aman Gupta
|
152 |
+
cljr Alex Beregszaszi
|
153 |
+
cpia.c Stephan Hilb
|
154 |
+
cscd.c Reimar Doeffinger
|
155 |
+
cuviddec.c Timo Rothenpieler
|
156 |
+
dca* foo86
|
157 |
+
dfpwm* Jack Bruienne
|
158 |
+
dirac* Rostislav Pehlivanov
|
159 |
+
dnxhd* Baptiste Coudurier
|
160 |
+
dolby_e* foo86
|
161 |
+
dpcm.c Mike Melanson
|
162 |
+
dss_sp.c Oleksij Rempel
|
163 |
+
dv.c Roman Shaposhnik
|
164 |
+
dvbsubdec.c Anshul Maheshwari
|
165 |
+
eacmv*, eaidct*, eat* Peter Ross
|
166 |
+
evrc* Paul B Mahol
|
167 |
+
exif.c, exif.h Thilo Borgmann
|
168 |
+
ffv1* Michael Niedermayer
|
169 |
+
ffwavesynth.c Nicolas George
|
170 |
+
fifo.c Jan Sebechlebsky
|
171 |
+
flicvideo.c Mike Melanson
|
172 |
+
g722.c Martin Storsjo
|
173 |
+
g726.c Roman Shaposhnik
|
174 |
+
gifdec.c Baptiste Coudurier
|
175 |
+
h261* Michael Niedermayer
|
176 |
+
h263* Michael Niedermayer
|
177 |
+
h264* Loren Merritt, Michael Niedermayer
|
178 |
+
hap* Tom Butterworth
|
179 |
+
huffyuv* Michael Niedermayer
|
180 |
+
idcinvideo.c Mike Melanson
|
181 |
+
interplayvideo.c Mike Melanson
|
182 |
+
jni*, ffjni* Matthieu Bouron
|
183 |
+
jpeg2000* Nicolas Bertrand
|
184 |
+
jvdec.c Peter Ross
|
185 |
+
lcl*.c Roberto Togni, Reimar Doeffinger
|
186 |
+
libcelt_dec.c Nicolas George
|
187 |
+
libcodec2.c Tomas Härdin
|
188 |
+
libdirac* David Conrad
|
189 |
+
libdavs2.c Huiwen Ren
|
190 |
+
libjxl*.c, libjxl.h Leo Izen
|
191 |
+
libgsm.c Michel Bardiaux
|
192 |
+
libkvazaar.c Arttu Ylä-Outinen
|
193 |
+
libopenh264enc.c Martin Storsjo, Linjie Fu
|
194 |
+
libopenjpeg.c Jaikrishnan Menon
|
195 |
+
libopenjpegenc.c Michael Bradshaw
|
196 |
+
libtheoraenc.c David Conrad
|
197 |
+
libvorbis.c David Conrad
|
198 |
+
libvpx* James Zern
|
199 |
+
libxavs.c Stefan Gehrer
|
200 |
+
libxavs2.c Huiwen Ren
|
201 |
+
libzvbi-teletextdec.c Marton Balint
|
202 |
+
lzo.h, lzo.c Reimar Doeffinger
|
203 |
+
mdec.c Michael Niedermayer
|
204 |
+
mimic.c Ramiro Polla
|
205 |
+
mjpeg*.c Michael Niedermayer
|
206 |
+
mlp* Ramiro Polla, Jai Luthra
|
207 |
+
mmvideo.c Peter Ross
|
208 |
+
mpeg12.c, mpeg12data.h Michael Niedermayer
|
209 |
+
mpegvideo.c, mpegvideo.h Michael Niedermayer
|
210 |
+
mqc* Nicolas Bertrand
|
211 |
+
msmpeg4.c, msmpeg4data.h Michael Niedermayer
|
212 |
+
msrle.c Mike Melanson
|
213 |
+
msrleenc.c Tomas Härdin
|
214 |
+
msvideo1.c Mike Melanson
|
215 |
+
nuv.c Reimar Doeffinger
|
216 |
+
nvdec*, nvenc* Timo Rothenpieler
|
217 |
+
omx.c Martin Storsjo, Aman Gupta
|
218 |
+
opus* Rostislav Pehlivanov
|
219 |
+
paf.* Paul B Mahol
|
220 |
+
pcx.c Ivo van Poorten
|
221 |
+
pgssubdec.c Reimar Doeffinger
|
222 |
+
ptx.c Ivo van Poorten
|
223 |
+
qcelp* Reynaldo H. Verdejo Pinochet
|
224 |
+
qdm2.c, qdm2data.h Roberto Togni
|
225 |
+
qsv* Mark Thompson, Zhong Li, Haihao Xiang
|
226 |
+
qtrle.c Mike Melanson
|
227 |
+
ra144.c, ra144.h, ra288.c, ra288.h Roberto Togni
|
228 |
+
resample2.c Michael Niedermayer
|
229 |
+
rl2.c Sascha Sommer
|
230 |
+
rpza.c Roberto Togni
|
231 |
+
rtjpeg.c, rtjpeg.h Reimar Doeffinger
|
232 |
+
rv10.c Michael Niedermayer
|
233 |
+
s3tc* Ivo van Poorten
|
234 |
+
smc.c Mike Melanson
|
235 |
+
snow* Michael Niedermayer, Loren Merritt
|
236 |
+
sonic.c Alex Beregszaszi
|
237 |
+
speedhq.c Steinar H. Gunderson
|
238 |
+
srt* Aurelien Jacobs
|
239 |
+
sunrast.c Ivo van Poorten
|
240 |
+
svq3.c Michael Niedermayer
|
241 |
+
tak* Paul B Mahol
|
242 |
+
truemotion1* Mike Melanson
|
243 |
+
tta.c Alex Beregszaszi, Jaikrishnan Menon
|
244 |
+
ttaenc.c Paul B Mahol
|
245 |
+
txd.c Ivo van Poorten
|
246 |
+
v4l2_* Jorge Ramirez-Ortiz
|
247 |
+
vc2* Rostislav Pehlivanov
|
248 |
+
vcr1.c Michael Niedermayer
|
249 |
+
videotoolboxenc.c Rick Kern, Aman Gupta
|
250 |
+
vima.c Paul B Mahol
|
251 |
+
vorbisdec.c Denes Balatoni, David Conrad
|
252 |
+
vorbisenc.c Oded Shimon
|
253 |
+
vp3* Mike Melanson
|
254 |
+
vp5 Aurelien Jacobs
|
255 |
+
vp6 Aurelien Jacobs
|
256 |
+
vp8 David Conrad, Ronald Bultje
|
257 |
+
vp9 Ronald Bultje
|
258 |
+
vqavideo.c Mike Melanson
|
259 |
+
wmaprodec.c Sascha Sommer
|
260 |
+
wmavoice.c Ronald S. Bultje
|
261 |
+
wmv2.c Michael Niedermayer
|
262 |
+
xan.c Mike Melanson
|
263 |
+
xbm* Paul B Mahol
|
264 |
+
xface Stefano Sabatini
|
265 |
+
xwd* Paul B Mahol
|
266 |
+
|
267 |
+
Hardware acceleration:
|
268 |
+
dxva2* Hendrik Leppkes, Laurent Aimar, Steve Lhomme
|
269 |
+
d3d11va* Steve Lhomme
|
270 |
+
mediacodec* Matthieu Bouron, Aman Gupta
|
271 |
+
vaapi* Haihao Xiang
|
272 |
+
vaapi_encode* Mark Thompson, Haihao Xiang
|
273 |
+
vdpau* Philip Langdale, Carl Eugen Hoyos
|
274 |
+
videotoolbox* Rick Kern, Aman Gupta
|
275 |
+
|
276 |
+
|
277 |
+
libavdevice
|
278 |
+
===========
|
279 |
+
External Interface:
|
280 |
+
libavdevice/avdevice.h
|
281 |
+
|
282 |
+
|
283 |
+
avfoundation.m Thilo Borgmann
|
284 |
+
android_camera.c Felix Matouschek
|
285 |
+
decklink* Marton Balint
|
286 |
+
dshow.c Roger Pack (CC rogerdpack@gmail.com)
|
287 |
+
fbdev_enc.c Lukasz Marek
|
288 |
+
gdigrab.c Roger Pack (CC rogerdpack@gmail.com)
|
289 |
+
iec61883.c Georg Lippitsch
|
290 |
+
lavfi Stefano Sabatini
|
291 |
+
libdc1394.c Roman Shaposhnik
|
292 |
+
opengl_enc.c Lukasz Marek
|
293 |
+
pulse_audio_enc.c Lukasz Marek
|
294 |
+
sdl Stefano Sabatini
|
295 |
+
sdl2.c Josh de Kock
|
296 |
+
v4l2.c Giorgio Vazzana
|
297 |
+
vfwcap.c Ramiro Polla
|
298 |
+
xv.c Lukasz Marek
|
299 |
+
|
300 |
+
libavfilter
|
301 |
+
===========
|
302 |
+
|
303 |
+
Generic parts:
|
304 |
+
graphdump.c Nicolas George
|
305 |
+
|
306 |
+
motion_estimation.c Davinder Singh
|
307 |
+
|
308 |
+
Filters:
|
309 |
+
f_drawgraph.c Paul B Mahol
|
310 |
+
af_adelay.c Paul B Mahol
|
311 |
+
af_aecho.c Paul B Mahol
|
312 |
+
af_afade.c Paul B Mahol
|
313 |
+
af_amerge.c Nicolas George
|
314 |
+
af_aphaser.c Paul B Mahol
|
315 |
+
af_aresample.c Michael Niedermayer
|
316 |
+
af_astats.c Paul B Mahol
|
317 |
+
af_atempo.c Pavel Koshevoy
|
318 |
+
af_biquads.c Paul B Mahol
|
319 |
+
af_chorus.c Paul B Mahol
|
320 |
+
af_compand.c Paul B Mahol
|
321 |
+
af_firequalizer.c Muhammad Faiz
|
322 |
+
af_hdcd.c Burt P.
|
323 |
+
af_ladspa.c Paul B Mahol
|
324 |
+
af_loudnorm.c Kyle Swanson
|
325 |
+
af_pan.c Nicolas George
|
326 |
+
af_sidechaincompress.c Paul B Mahol
|
327 |
+
af_silenceremove.c Paul B Mahol
|
328 |
+
avf_aphasemeter.c Paul B Mahol
|
329 |
+
avf_avectorscope.c Paul B Mahol
|
330 |
+
avf_showcqt.c Muhammad Faiz
|
331 |
+
vf_blend.c Paul B Mahol
|
332 |
+
vf_bwdif Thomas Mundt (CC <thomas.mundt@hr.de>)
|
333 |
+
vf_chromakey.c Timo Rothenpieler
|
334 |
+
vf_colorchannelmixer.c Paul B Mahol
|
335 |
+
vf_colorconstancy.c Mina Sami (CC <minas.gorgy@gmail.com>)
|
336 |
+
vf_colorbalance.c Paul B Mahol
|
337 |
+
vf_colorkey.c Timo Rothenpieler
|
338 |
+
vf_colorlevels.c Paul B Mahol
|
339 |
+
vf_coreimage.m Thilo Borgmann
|
340 |
+
vf_deband.c Paul B Mahol
|
341 |
+
vf_dejudder.c Nicholas Robbins
|
342 |
+
vf_delogo.c Jean Delvare (CC <jdelvare@suse.com>)
|
343 |
+
vf_drawbox.c/drawgrid Andrey Utkin
|
344 |
+
vf_extractplanes.c Paul B Mahol
|
345 |
+
vf_histogram.c Paul B Mahol
|
346 |
+
vf_hqx.c Clément Bœsch
|
347 |
+
vf_idet.c Pascal Massimino
|
348 |
+
vf_il.c Paul B Mahol
|
349 |
+
vf_(t)interlace Thomas Mundt (CC <thomas.mundt@hr.de>)
|
350 |
+
vf_lenscorrection.c Daniel Oberhoff
|
351 |
+
vf_libplacebo.c Niklas Haas
|
352 |
+
vf_mergeplanes.c Paul B Mahol
|
353 |
+
vf_mestimate.c Davinder Singh
|
354 |
+
vf_minterpolate.c Davinder Singh
|
355 |
+
vf_neighbor.c Paul B Mahol
|
356 |
+
vf_psnr.c Paul B Mahol
|
357 |
+
vf_random.c Paul B Mahol
|
358 |
+
vf_readvitc.c Tobias Rapp (CC t.rapp at noa-archive dot com)
|
359 |
+
vf_scale.c Michael Niedermayer
|
360 |
+
vf_separatefields.c Paul B Mahol
|
361 |
+
vf_ssim.c Paul B Mahol
|
362 |
+
vf_stereo3d.c Paul B Mahol
|
363 |
+
vf_telecine.c Paul B Mahol
|
364 |
+
vf_tonemap_opencl.c Ruiling Song
|
365 |
+
vf_yadif.c Michael Niedermayer
|
366 |
+
vf_zoompan.c Paul B Mahol
|
367 |
+
|
368 |
+
Sources:
|
369 |
+
vsrc_mandelbrot.c Michael Niedermayer
|
370 |
+
|
371 |
+
dnn Yejun Guo
|
372 |
+
|
373 |
+
libavformat
|
374 |
+
===========
|
375 |
+
|
376 |
+
Generic parts:
|
377 |
+
External Interface:
|
378 |
+
libavformat/avformat.h Michael Niedermayer
|
379 |
+
Utility Code:
|
380 |
+
libavformat/utils.c Michael Niedermayer
|
381 |
+
Text Subtitles Clément Bœsch
|
382 |
+
|
383 |
+
|
384 |
+
Muxers/Demuxers:
|
385 |
+
4xm.c Mike Melanson
|
386 |
+
aadec.c Vesselin Bontchev (vesselin.bontchev at yandex dot com)
|
387 |
+
adtsenc.c Robert Swain
|
388 |
+
afc.c Paul B Mahol
|
389 |
+
aiffdec.c Baptiste Coudurier, Matthieu Bouron
|
390 |
+
aiffenc.c Baptiste Coudurier, Matthieu Bouron
|
391 |
+
alp.c Zane van Iperen
|
392 |
+
amvenc.c Zane van Iperen
|
393 |
+
apm.c Zane van Iperen
|
394 |
+
apngdec.c Benoit Fouet
|
395 |
+
argo_asf.c Zane van Iperen
|
396 |
+
argo_brp.c Zane van Iperen
|
397 |
+
argo_cvg.c Zane van Iperen
|
398 |
+
ass* Aurelien Jacobs
|
399 |
+
astdec.c Paul B Mahol
|
400 |
+
astenc.c James Almer
|
401 |
+
avi* Michael Niedermayer
|
402 |
+
avisynth.c Stephen Hutchinson
|
403 |
+
avr.c Paul B Mahol
|
404 |
+
bink.c Peter Ross
|
405 |
+
boadec.c Michael Niedermayer
|
406 |
+
brstm.c Paul B Mahol
|
407 |
+
caf* Peter Ross
|
408 |
+
cdxl.c Paul B Mahol
|
409 |
+
codec2.c Tomas Härdin
|
410 |
+
crc.c Michael Niedermayer
|
411 |
+
dashdec.c Steven Liu
|
412 |
+
dashenc.c Karthick Jeyapal
|
413 |
+
daud.c Reimar Doeffinger
|
414 |
+
dfpwmdec.c Jack Bruienne
|
415 |
+
dss.c Oleksij Rempel
|
416 |
+
dtsdec.c foo86
|
417 |
+
dtshddec.c Paul B Mahol
|
418 |
+
dv.c Roman Shaposhnik
|
419 |
+
electronicarts.c Peter Ross
|
420 |
+
epafdec.c Paul B Mahol
|
421 |
+
evc* Samsung (Dawid Kozinski)
|
422 |
+
ffm* Baptiste Coudurier
|
423 |
+
flic.c Mike Melanson
|
424 |
+
flvdec.c Michael Niedermayer
|
425 |
+
flvenc.c Michael Niedermayer, Steven Liu
|
426 |
+
gxf.c Reimar Doeffinger
|
427 |
+
gxfenc.c Baptiste Coudurier
|
428 |
+
hlsenc.c Christian Suloway, Steven Liu
|
429 |
+
idcin.c Mike Melanson
|
430 |
+
idroqdec.c Mike Melanson
|
431 |
+
iff.c Jaikrishnan Menon
|
432 |
+
imf* Pierre-Anthony Lemieux
|
433 |
+
img2*.c Michael Niedermayer
|
434 |
+
ipmovie.c Mike Melanson
|
435 |
+
ircam* Paul B Mahol
|
436 |
+
iss.c Stefan Gehrer
|
437 |
+
jpegxl_anim_dec.c Leo Izen
|
438 |
+
jpegxl_probe.* Leo Izen
|
439 |
+
jvdec.c Peter Ross
|
440 |
+
kvag.c Zane van Iperen
|
441 |
+
libmodplug.c Clément Bœsch
|
442 |
+
libopenmpt.c Josh de Kock
|
443 |
+
lmlm4.c Ivo van Poorten
|
444 |
+
lvfdec.c Paul B Mahol
|
445 |
+
lxfdec.c Tomas Härdin
|
446 |
+
matroska.c Aurelien Jacobs, Andreas Rheinhardt
|
447 |
+
matroskadec.c Aurelien Jacobs, Andreas Rheinhardt
|
448 |
+
matroskaenc.c David Conrad, Andreas Rheinhardt
|
449 |
+
matroska subtitles (matroskaenc.c) John Peebles
|
450 |
+
metadata* Aurelien Jacobs
|
451 |
+
mgsts.c Paul B Mahol
|
452 |
+
microdvd* Aurelien Jacobs
|
453 |
+
mm.c Peter Ross
|
454 |
+
mov.c Baptiste Coudurier
|
455 |
+
movenc.c Baptiste Coudurier, Matthieu Bouron
|
456 |
+
movenccenc.c Eran Kornblau
|
457 |
+
mpeg.c Michael Niedermayer
|
458 |
+
mpegenc.c Michael Niedermayer
|
459 |
+
mpegts.c Marton Balint
|
460 |
+
mpegtsenc.c Baptiste Coudurier
|
461 |
+
msnwc_tcp.c Ramiro Polla
|
462 |
+
mtv.c Reynaldo H. Verdejo Pinochet
|
463 |
+
mxf* Baptiste Coudurier, Tomas Härdin
|
464 |
+
nistspheredec.c Paul B Mahol
|
465 |
+
nsvdec.c Francois Revol
|
466 |
+
nut* Michael Niedermayer
|
467 |
+
nuv.c Reimar Doeffinger
|
468 |
+
oggdec.c, oggdec.h David Conrad
|
469 |
+
oggenc.c Baptiste Coudurier
|
470 |
+
oggparse*.c David Conrad
|
471 |
+
oma.c Maxim Poliakovski
|
472 |
+
paf.c Paul B Mahol
|
473 |
+
pp_bnk.c Zane van Iperen
|
474 |
+
psxstr.c Mike Melanson
|
475 |
+
pva.c Ivo van Poorten
|
476 |
+
pvfdec.c Paul B Mahol
|
477 |
+
r3d.c Baptiste Coudurier
|
478 |
+
raw.c Michael Niedermayer
|
479 |
+
rdt.c Ronald S. Bultje
|
480 |
+
rl2.c Sascha Sommer
|
481 |
+
rmdec.c, rmenc.c Ronald S. Bultje
|
482 |
+
rtp.c, rtpenc.c Martin Storsjo
|
483 |
+
rtpdec_ac3.* Gilles Chanteperdrix
|
484 |
+
rtpdec_dv.* Thomas Volkert
|
485 |
+
rtpdec_h261.*, rtpenc_h261.* Thomas Volkert
|
486 |
+
rtpdec_hevc.*, rtpenc_hevc.* Thomas Volkert
|
487 |
+
rtpdec_mpa_robust.* Gilles Chanteperdrix
|
488 |
+
rtpdec_asf.* Ronald S. Bultje
|
489 |
+
rtpdec_vc2hq.*, rtpenc_vc2hq.* Thomas Volkert
|
490 |
+
rtpdec_vp9.c Thomas Volkert
|
491 |
+
rtpenc_mpv.*, rtpenc_aac.* Martin Storsjo
|
492 |
+
s337m.c foo86
|
493 |
+
sbgdec.c Nicolas George
|
494 |
+
sdp.c Martin Storsjo
|
495 |
+
segafilm.c Mike Melanson
|
496 |
+
segment.c Stefano Sabatini
|
497 |
+
smjpeg* Paul B Mahol
|
498 |
+
spdif* Anssi Hannula
|
499 |
+
srtdec.c Aurelien Jacobs
|
500 |
+
swf.c Baptiste Coudurier
|
501 |
+
takdec.c Paul B Mahol
|
502 |
+
tta.c Alex Beregszaszi
|
503 |
+
txd.c Ivo van Poorten
|
504 |
+
voc.c Aurelien Jacobs
|
505 |
+
wav.c Michael Niedermayer
|
506 |
+
wc3movie.c Mike Melanson
|
507 |
+
webm dash (matroskaenc.c) Vignesh Venkatasubramanian
|
508 |
+
webvtt* Matthew J Heaney
|
509 |
+
westwood.c Mike Melanson
|
510 |
+
wtv.c Peter Ross
|
511 |
+
wvenc.c Paul B Mahol
|
512 |
+
|
513 |
+
Protocols:
|
514 |
+
async.c Zhang Rui
|
515 |
+
bluray.c Petri Hintukainen
|
516 |
+
ftp.c Lukasz Marek
|
517 |
+
http.c Ronald S. Bultje
|
518 |
+
libsrt.c Zhao Zhili
|
519 |
+
libssh.c Lukasz Marek
|
520 |
+
libzmq.c Andriy Gelman
|
521 |
+
mms*.c Ronald S. Bultje
|
522 |
+
udp.c Luca Abeni
|
523 |
+
icecast.c Marvin Scholz
|
524 |
+
|
525 |
+
|
526 |
+
libswresample
|
527 |
+
=============
|
528 |
+
|
529 |
+
Generic parts:
|
530 |
+
audioconvert.c Michael Niedermayer
|
531 |
+
dither.c Michael Niedermayer
|
532 |
+
rematrix*.c Michael Niedermayer
|
533 |
+
swresample*.c Michael Niedermayer
|
534 |
+
|
535 |
+
Resamplers:
|
536 |
+
resample*.c Michael Niedermayer
|
537 |
+
soxr_resample.c Rob Sykes
|
538 |
+
|
539 |
+
|
540 |
+
Operating systems / CPU architectures
|
541 |
+
=====================================
|
542 |
+
|
543 |
+
Alpha Falk Hueffner
|
544 |
+
MIPS Manojkumar Bhosale, Shiyou Yin
|
545 |
+
LoongArch Shiyou Yin
|
546 |
+
Mac OS X / PowerPC Romain Dolbeau, Guillaume Poirier
|
547 |
+
Amiga / PowerPC Colin Ward
|
548 |
+
Linux / PowerPC Lauri Kasanen
|
549 |
+
RISC-V Rémi Denis-Courmont
|
550 |
+
Windows MinGW Alex Beregszaszi, Ramiro Polla
|
551 |
+
Windows Cygwin Victor Paesa
|
552 |
+
Windows MSVC Matthew Oliver, Hendrik Leppkes
|
553 |
+
Windows ICL Matthew Oliver
|
554 |
+
ADI/Blackfin DSP Marc Hoffman
|
555 |
+
Sparc Roman Shaposhnik
|
556 |
+
OS/2 KO Myung-Hun
|
557 |
+
|
558 |
+
|
559 |
+
Developers with git write access who are currently not maintaining any specific part
|
560 |
+
====================================================================================
|
561 |
+
Alex Converse
|
562 |
+
Andreas Cadhalpun
|
563 |
+
Anuradha Suraparaju
|
564 |
+
Ben Littler
|
565 |
+
Benjamin Larsson
|
566 |
+
Bobby Bingham
|
567 |
+
Daniel Verkamp
|
568 |
+
Derek Buitenhuis
|
569 |
+
Ganesh Ajjanagadde
|
570 |
+
Henrik Gramner
|
571 |
+
Ivan Uskov
|
572 |
+
James Darnley
|
573 |
+
Jan Ekström
|
574 |
+
Joakim Plate
|
575 |
+
Jun Zhao
|
576 |
+
Kieran Kunhya
|
577 |
+
Kirill Gavrilov
|
578 |
+
Limin Wang
|
579 |
+
Martin Storsjö
|
580 |
+
Panagiotis Issaris
|
581 |
+
Pedro Arthur
|
582 |
+
Sebastien Zwickert
|
583 |
+
Vittorio Giovara
|
584 |
+
wm4
|
585 |
+
(this list is incomplete)
|
586 |
+
|
587 |
+
|
588 |
+
Releases
|
589 |
+
========
|
590 |
+
|
591 |
+
2.8 Michael Niedermayer
|
592 |
+
2.7 Michael Niedermayer
|
593 |
+
2.6 Michael Niedermayer
|
594 |
+
2.5 Michael Niedermayer
|
595 |
+
|
596 |
+
If you want to maintain an older release, please contact us
|
597 |
+
|
598 |
+
|
599 |
+
GnuPG Fingerprints and IRC nicknames of maintainers and contributors
|
600 |
+
====================================================================
|
601 |
+
|
602 |
+
IRC nicknames are in parentheses. These apply
|
603 |
+
to the IRC channels listed on the website.
|
604 |
+
|
605 |
+
Alexander Strasser 1C96 78B7 83CB 8AA7 9AF5 D1EB A7D8 A57B A876 E58F
|
606 |
+
Anssi Hannula 1A92 FF42 2DD9 8D2E 8AF7 65A9 4278 C520 513D F3CB
|
607 |
+
Ash Hughes 694D 43D2 D180 C7C7 6421 ABD3 A641 D0B7 623D 6029
|
608 |
+
Attila Kinali 11F0 F9A6 A1D2 11F6 C745 D10C 6520 BCDD F2DF E765
|
609 |
+
Baptiste Coudurier 8D77 134D 20CC 9220 201F C5DB 0AC9 325C 5C1A BAAA
|
610 |
+
Ben Littler 3EE3 3723 E560 3214 A8CD 4DEB 2CDB FCE7 768C 8D2C
|
611 |
+
Benoit Fouet B22A 4F4F 43EF 636B BB66 FCDC 0023 AE1E 2985 49C8
|
612 |
+
Clément Bœsch 52D0 3A82 D445 F194 DB8B 2B16 87EE 2CB8 F4B8 FCF9
|
613 |
+
Daniel Verkamp 78A6 07ED 782C 653E C628 B8B9 F0EB 8DD8 2F0E 21C7
|
614 |
+
FFmpeg release signing key FCF9 86EA 15E6 E293 A564 4F10 B432 2F04 D676 58D8
|
615 |
+
Ganesh Ajjanagadde C96A 848E 97C3 CEA2 AB72 5CE4 45F9 6A2D 3C36 FB1B
|
616 |
+
Gwenole Beauchesne 2E63 B3A6 3E44 37E2 017D 2704 53C7 6266 B153 99C4
|
617 |
+
Haihao Xiang (haihao) 1F0C 31E8 B4FE F7A4 4DC1 DC99 E0F5 76D4 76FC 437F
|
618 |
+
Jaikrishnan Menon 61A1 F09F 01C9 2D45 78E1 C862 25DC 8831 AF70 D368
|
619 |
+
James Almer 7751 2E8C FD94 A169 57E6 9A7A 1463 01AD 7376 59E0
|
620 |
+
Jean Delvare 7CA6 9F44 60F1 BDC4 1FD2 C858 A552 6B9B B3CD 4E6A
|
621 |
+
Leo Izen (Traneptora) B6FD 3CFC 7ACF 83FC 9137 6945 5A71 C331 FD2F A19A
|
622 |
+
Loren Merritt ABD9 08F4 C920 3F65 D8BE 35D7 1540 DAA7 060F 56DE
|
623 |
+
Lynne FE50 139C 6805 72CA FD52 1F8D A2FE A5F0 3F03 4464
|
624 |
+
Michael Niedermayer 9FF2 128B 147E F673 0BAD F133 611E C787 040B 0FAB
|
625 |
+
DD1E C9E8 DE08 5C62 9B3E 1846 B18E 8928 B394 8D64
|
626 |
+
Nicolas George 24CE 01CE 9ACC 5CEB 74D8 8D9D B063 D997 36E5 4C93
|
627 |
+
Niklas Haas (haasn) 1DDB 8076 B14D 5B48 32FC 99D9 EB52 DA9C 02BA 6FB4
|
628 |
+
Nikolay Aleksandrov 8978 1D8C FB71 588E 4B27 EAA8 C4F0 B5FC E011 13B1
|
629 |
+
Panagiotis Issaris 6571 13A3 33D9 3726 F728 AA98 F643 B12E ECF3 E029
|
630 |
+
Peter Ross A907 E02F A6E5 0CD2 34CD 20D2 6760 79C5 AC40 DD6B
|
631 |
+
Philip Langdale 5DC5 8D66 5FBA 3A43 18EC 045E F8D6 B194 6A75 682E
|
632 |
+
Pierre-Anthony Lemieux (pal) F4B3 9492 E6F2 E4AF AEC8 46CB 698F A1F0 F8D4 EED4
|
633 |
+
Ramiro Polla 7859 C65B 751B 1179 792E DAE8 8E95 8B2F 9B6C 5700
|
634 |
+
Reimar Doeffinger C61D 16E5 9E2C D10C 8958 38A4 0899 A2B9 06D4 D9C7
|
635 |
+
Reinhard Tartler 9300 5DC2 7E87 6C37 ED7B CA9A 9808 3544 9453 48A4
|
636 |
+
Reynaldo H. Verdejo Pinochet 6E27 CD34 170C C78E 4D4F 5F40 C18E 077F 3114 452A
|
637 |
+
Robert Swain EE7A 56EA 4A81 A7B5 2001 A521 67FA 362D A2FC 3E71
|
638 |
+
Sascha Sommer 38A0 F88B 868E 9D3A 97D4 D6A0 E823 706F 1E07 0D3C
|
639 |
+
Stefano Sabatini 0D0B AD6B 5330 BBAD D3D6 6A0C 719C 2839 FC43 2D5F
|
640 |
+
Steinar H. Gunderson C2E9 004F F028 C18E 4EAD DB83 7F61 7561 7797 8F76
|
641 |
+
Stephan Hilb 4F38 0B3A 5F39 B99B F505 E562 8D5C 5554 4E17 8863
|
642 |
+
Thilo Borgmann (thilo) CE1D B7F4 4D20 FC3A DD9F FE5A 257C 5B8F 1D20 B92F
|
643 |
+
Tiancheng "Timothy" Gu 9456 AFC0 814A 8139 E994 8351 7FE6 B095 B582 B0D4
|
644 |
+
Tim Nicholson 38CF DB09 3ED0 F607 8B67 6CED 0C0B FC44 8B0B FC83
|
645 |
+
Tomas Härdin (thardin) A79D 4E3D F38F 763F 91F5 8B33 A01E 8AE0 41BB 2551
|
646 |
+
Wei Gao 4269 7741 857A 0E60 9EC5 08D2 4744 4EFA 62C1 87B9
|
647 |
+
Zane van Iperen (zane) 61AE D40F 368B 6F26 9DAE 3892 6861 6B2D 8AC4 DCC5
|
Makefile
ADDED
@@ -0,0 +1,200 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
MAIN_MAKEFILE=1
|
2 |
+
include ffbuild/config.mak
|
3 |
+
|
4 |
+
vpath %.c $(SRC_PATH)
|
5 |
+
vpath %.cpp $(SRC_PATH)
|
6 |
+
vpath %.h $(SRC_PATH)
|
7 |
+
vpath %.inc $(SRC_PATH)
|
8 |
+
vpath %.m $(SRC_PATH)
|
9 |
+
vpath %.S $(SRC_PATH)
|
10 |
+
vpath %.asm $(SRC_PATH)
|
11 |
+
vpath %.rc $(SRC_PATH)
|
12 |
+
vpath %.v $(SRC_PATH)
|
13 |
+
vpath %.texi $(SRC_PATH)
|
14 |
+
vpath %.cu $(SRC_PATH)
|
15 |
+
vpath %.ptx $(SRC_PATH)
|
16 |
+
vpath %.metal $(SRC_PATH)
|
17 |
+
vpath %/fate_config.sh.template $(SRC_PATH)
|
18 |
+
|
19 |
+
TESTTOOLS = audiogen videogen rotozoom tiny_psnr tiny_ssim base64 audiomatch
|
20 |
+
HOSTPROGS := $(TESTTOOLS:%=tests/%) doc/print_options
|
21 |
+
|
22 |
+
ALLFFLIBS = avcodec avdevice avfilter avformat avutil postproc swscale swresample
|
23 |
+
|
24 |
+
# $(FFLIBS-yes) needs to be in linking order
|
25 |
+
FFLIBS-$(CONFIG_AVDEVICE) += avdevice
|
26 |
+
FFLIBS-$(CONFIG_AVFILTER) += avfilter
|
27 |
+
FFLIBS-$(CONFIG_AVFORMAT) += avformat
|
28 |
+
FFLIBS-$(CONFIG_AVCODEC) += avcodec
|
29 |
+
FFLIBS-$(CONFIG_POSTPROC) += postproc
|
30 |
+
FFLIBS-$(CONFIG_SWRESAMPLE) += swresample
|
31 |
+
FFLIBS-$(CONFIG_SWSCALE) += swscale
|
32 |
+
|
33 |
+
FFLIBS := avutil
|
34 |
+
|
35 |
+
DATA_FILES := $(wildcard $(SRC_PATH)/presets/*.ffpreset) $(SRC_PATH)/doc/ffprobe.xsd
|
36 |
+
|
37 |
+
SKIPHEADERS = compat/w32pthreads.h
|
38 |
+
|
39 |
+
# first so "all" becomes default target
|
40 |
+
all: all-yes
|
41 |
+
|
42 |
+
include $(SRC_PATH)/tools/Makefile
|
43 |
+
include $(SRC_PATH)/ffbuild/common.mak
|
44 |
+
|
45 |
+
FF_EXTRALIBS := $(FFEXTRALIBS)
|
46 |
+
FF_DEP_LIBS := $(DEP_LIBS)
|
47 |
+
FF_STATIC_DEP_LIBS := $(STATIC_DEP_LIBS)
|
48 |
+
|
49 |
+
$(TOOLS): %$(EXESUF): %.o
|
50 |
+
$(LD) $(LDFLAGS) $(LDEXEFLAGS) $(LD_O) $^ $(EXTRALIBS-$(*F)) $(EXTRALIBS) $(ELIBS)
|
51 |
+
|
52 |
+
target_dec_%_fuzzer$(EXESUF): target_dec_%_fuzzer.o $(FF_DEP_LIBS)
|
53 |
+
$(LD) $(LDFLAGS) $(LDEXEFLAGS) $(LD_O) $^ $(ELIBS) $(FF_EXTRALIBS) $(LIBFUZZER_PATH)
|
54 |
+
|
55 |
+
tools/target_bsf_%_fuzzer$(EXESUF): tools/target_bsf_%_fuzzer.o $(FF_DEP_LIBS)
|
56 |
+
$(LD) $(LDFLAGS) $(LDEXEFLAGS) $(LD_O) $^ $(ELIBS) $(FF_EXTRALIBS) $(LIBFUZZER_PATH)
|
57 |
+
|
58 |
+
target_dem_%_fuzzer$(EXESUF): target_dem_%_fuzzer.o $(FF_DEP_LIBS)
|
59 |
+
$(LD) $(LDFLAGS) $(LDEXEFLAGS) $(LD_O) $^ $(ELIBS) $(FF_EXTRALIBS) $(LIBFUZZER_PATH)
|
60 |
+
|
61 |
+
tools/target_dem_fuzzer$(EXESUF): tools/target_dem_fuzzer.o $(FF_DEP_LIBS)
|
62 |
+
$(LD) $(LDFLAGS) $(LDEXEFLAGS) $(LD_O) $^ $(ELIBS) $(FF_EXTRALIBS) $(LIBFUZZER_PATH)
|
63 |
+
|
64 |
+
tools/target_io_dem_fuzzer$(EXESUF): tools/target_io_dem_fuzzer.o $(FF_DEP_LIBS)
|
65 |
+
$(LD) $(LDFLAGS) $(LDEXEFLAGS) $(LD_O) $^ $(ELIBS) $(FF_EXTRALIBS) $(LIBFUZZER_PATH)
|
66 |
+
|
67 |
+
|
68 |
+
tools/enum_options$(EXESUF): ELIBS = $(FF_EXTRALIBS)
|
69 |
+
tools/enum_options$(EXESUF): $(FF_DEP_LIBS)
|
70 |
+
tools/enc_recon_frame_test$(EXESUF): $(FF_DEP_LIBS)
|
71 |
+
tools/enc_recon_frame_test$(EXESUF): ELIBS = $(FF_EXTRALIBS)
|
72 |
+
tools/scale_slice_test$(EXESUF): $(FF_DEP_LIBS)
|
73 |
+
tools/scale_slice_test$(EXESUF): ELIBS = $(FF_EXTRALIBS)
|
74 |
+
tools/sofa2wavs$(EXESUF): ELIBS = $(FF_EXTRALIBS)
|
75 |
+
tools/uncoded_frame$(EXESUF): $(FF_DEP_LIBS)
|
76 |
+
tools/uncoded_frame$(EXESUF): ELIBS = $(FF_EXTRALIBS)
|
77 |
+
tools/target_dec_%_fuzzer$(EXESUF): $(FF_DEP_LIBS)
|
78 |
+
tools/target_dem_%_fuzzer$(EXESUF): $(FF_DEP_LIBS)
|
79 |
+
|
80 |
+
CONFIGURABLE_COMPONENTS = \
|
81 |
+
$(wildcard $(FFLIBS:%=$(SRC_PATH)/lib%/all*.c)) \
|
82 |
+
$(SRC_PATH)/libavcodec/bitstream_filters.c \
|
83 |
+
$(SRC_PATH)/libavcodec/hwaccels.h \
|
84 |
+
$(SRC_PATH)/libavcodec/parsers.c \
|
85 |
+
$(SRC_PATH)/libavformat/protocols.c \
|
86 |
+
|
87 |
+
config_components.h: ffbuild/.config
|
88 |
+
ffbuild/.config: $(CONFIGURABLE_COMPONENTS)
|
89 |
+
@-tput bold 2>/dev/null
|
90 |
+
@-printf '\nWARNING: $(?) newer than config_components.h, rerun configure\n\n'
|
91 |
+
@-tput sgr0 2>/dev/null
|
92 |
+
|
93 |
+
SUBDIR_VARS := CLEANFILES FFLIBS HOSTPROGS TESTPROGS TOOLS \
|
94 |
+
HEADERS ARCH_HEADERS BUILT_HEADERS SKIPHEADERS \
|
95 |
+
ARMV5TE-OBJS ARMV6-OBJS ARMV8-OBJS VFP-OBJS NEON-OBJS \
|
96 |
+
ALTIVEC-OBJS VSX-OBJS RVV-OBJS MMX-OBJS X86ASM-OBJS \
|
97 |
+
MIPSFPU-OBJS MIPSDSPR2-OBJS MIPSDSP-OBJS MSA-OBJS \
|
98 |
+
MMI-OBJS LSX-OBJS LASX-OBJS OBJS SLIBOBJS SHLIBOBJS \
|
99 |
+
STLIBOBJS HOSTOBJS TESTOBJS
|
100 |
+
|
101 |
+
define RESET
|
102 |
+
$(1) :=
|
103 |
+
$(1)-yes :=
|
104 |
+
endef
|
105 |
+
|
106 |
+
define DOSUBDIR
|
107 |
+
$(foreach V,$(SUBDIR_VARS),$(eval $(call RESET,$(V))))
|
108 |
+
SUBDIR := $(1)/
|
109 |
+
include $(SRC_PATH)/$(1)/Makefile
|
110 |
+
-include $(SRC_PATH)/$(1)/$(ARCH)/Makefile
|
111 |
+
-include $(SRC_PATH)/$(1)/$(INTRINSICS)/Makefile
|
112 |
+
include $(SRC_PATH)/ffbuild/library.mak
|
113 |
+
endef
|
114 |
+
|
115 |
+
$(foreach D,$(FFLIBS),$(eval $(call DOSUBDIR,lib$(D))))
|
116 |
+
|
117 |
+
include $(SRC_PATH)/fftools/Makefile
|
118 |
+
include $(SRC_PATH)/doc/Makefile
|
119 |
+
include $(SRC_PATH)/doc/examples/Makefile
|
120 |
+
|
121 |
+
$(ALLFFLIBS:%=lib%/version.o): libavutil/ffversion.h
|
122 |
+
|
123 |
+
$(PROGS): %$(PROGSSUF)$(EXESUF): %$(PROGSSUF)_g$(EXESUF)
|
124 |
+
ifeq ($(STRIPTYPE),direct)
|
125 |
+
$(STRIP) -o $@ $<
|
126 |
+
else
|
127 |
+
$(RM) $@
|
128 |
+
$(CP) $< $@
|
129 |
+
$(STRIP) $@
|
130 |
+
endif
|
131 |
+
|
132 |
+
%$(PROGSSUF)_g$(EXESUF): $(FF_DEP_LIBS)
|
133 |
+
$(LD) $(LDFLAGS) $(LDEXEFLAGS) $(LD_O) $(OBJS-$*) $(FF_EXTRALIBS)
|
134 |
+
|
135 |
+
VERSION_SH = $(SRC_PATH)/ffbuild/version.sh
|
136 |
+
GIT_LOG = $(SRC_PATH)/.git/logs/HEAD
|
137 |
+
|
138 |
+
.version: $(wildcard $(GIT_LOG)) $(VERSION_SH) ffbuild/config.mak
|
139 |
+
.version: M=@
|
140 |
+
|
141 |
+
libavutil/ffversion.h .version:
|
142 |
+
$(M)$(VERSION_SH) $(SRC_PATH) libavutil/ffversion.h $(EXTRA_VERSION)
|
143 |
+
$(Q)touch .version
|
144 |
+
|
145 |
+
# force version.sh to run whenever version might have changed
|
146 |
+
-include .version
|
147 |
+
|
148 |
+
install: install-libs install-headers
|
149 |
+
|
150 |
+
install-libs: install-libs-yes
|
151 |
+
|
152 |
+
install-data: $(DATA_FILES)
|
153 |
+
$(Q)mkdir -p "$(DATADIR)"
|
154 |
+
$(INSTALL) -m 644 $(DATA_FILES) "$(DATADIR)"
|
155 |
+
|
156 |
+
uninstall: uninstall-data uninstall-headers uninstall-libs uninstall-pkgconfig
|
157 |
+
|
158 |
+
uninstall-data:
|
159 |
+
$(RM) -r "$(DATADIR)"
|
160 |
+
|
161 |
+
clean::
|
162 |
+
$(RM) $(CLEANSUFFIXES)
|
163 |
+
$(RM) $(addprefix compat/,$(CLEANSUFFIXES)) $(addprefix compat/*/,$(CLEANSUFFIXES)) $(addprefix compat/*/*/,$(CLEANSUFFIXES))
|
164 |
+
$(RM) -r coverage-html
|
165 |
+
$(RM) -rf coverage.info coverage.info.in lcov
|
166 |
+
|
167 |
+
distclean:: clean
|
168 |
+
$(RM) .version config.asm config.h config_components.h mapfile \
|
169 |
+
ffbuild/.config ffbuild/config.* libavutil/avconfig.h \
|
170 |
+
version.h libavutil/ffversion.h libavcodec/codec_names.h \
|
171 |
+
libavcodec/bsf_list.c libavformat/protocol_list.c \
|
172 |
+
libavcodec/codec_list.c libavcodec/parser_list.c \
|
173 |
+
libavfilter/filter_list.c libavdevice/indev_list.c libavdevice/outdev_list.c \
|
174 |
+
libavformat/muxer_list.c libavformat/demuxer_list.c
|
175 |
+
ifeq ($(SRC_LINK),src)
|
176 |
+
$(RM) src
|
177 |
+
endif
|
178 |
+
$(RM) -rf doc/examples/pc-uninstalled
|
179 |
+
|
180 |
+
config:
|
181 |
+
$(SRC_PATH)/configure $(value FFMPEG_CONFIGURATION)
|
182 |
+
|
183 |
+
build: all alltools examples testprogs
|
184 |
+
check: all alltools examples testprogs fate
|
185 |
+
|
186 |
+
include $(SRC_PATH)/tests/Makefile
|
187 |
+
|
188 |
+
$(sort $(OUTDIRS)):
|
189 |
+
$(Q)mkdir -p $@
|
190 |
+
|
191 |
+
# Dummy rule to stop make trying to rebuild removed or renamed headers
|
192 |
+
%.h:
|
193 |
+
@:
|
194 |
+
|
195 |
+
# Disable suffix rules. Most of the builtin rules are suffix rules,
|
196 |
+
# so this saves some time on slow systems.
|
197 |
+
.SUFFIXES:
|
198 |
+
|
199 |
+
.PHONY: all all-yes alltools build check config testprogs
|
200 |
+
.PHONY: *clean install* uninstall*
|
README.md
ADDED
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
FFmpeg README
|
2 |
+
=============
|
3 |
+
|
4 |
+
FFmpeg is a collection of libraries and tools to process multimedia content
|
5 |
+
such as audio, video, subtitles and related metadata.
|
6 |
+
|
7 |
+
## Libraries
|
8 |
+
|
9 |
+
* `libavcodec` provides implementation of a wider range of codecs.
|
10 |
+
* `libavformat` implements streaming protocols, container formats and basic I/O access.
|
11 |
+
* `libavutil` includes hashers, decompressors and miscellaneous utility functions.
|
12 |
+
* `libavfilter` provides means to alter decoded audio and video through a directed graph of connected filters.
|
13 |
+
* `libavdevice` provides an abstraction to access capture and playback devices.
|
14 |
+
* `libswresample` implements audio mixing and resampling routines.
|
15 |
+
* `libswscale` implements color conversion and scaling routines.
|
16 |
+
|
17 |
+
## Tools
|
18 |
+
|
19 |
+
* [ffmpeg](https://ffmpeg.org/ffmpeg.html) is a command line toolbox to
|
20 |
+
manipulate, convert and stream multimedia content.
|
21 |
+
* [ffplay](https://ffmpeg.org/ffplay.html) is a minimalistic multimedia player.
|
22 |
+
* [ffprobe](https://ffmpeg.org/ffprobe.html) is a simple analysis tool to inspect
|
23 |
+
multimedia content.
|
24 |
+
* Additional small tools such as `aviocat`, `ismindex` and `qt-faststart`.
|
25 |
+
|
26 |
+
## Documentation
|
27 |
+
|
28 |
+
The offline documentation is available in the **doc/** directory.
|
29 |
+
|
30 |
+
The online documentation is available in the main [website](https://ffmpeg.org)
|
31 |
+
and in the [wiki](https://trac.ffmpeg.org).
|
32 |
+
|
33 |
+
### Examples
|
34 |
+
|
35 |
+
Coding examples are available in the **doc/examples** directory.
|
36 |
+
|
37 |
+
## License
|
38 |
+
|
39 |
+
FFmpeg codebase is mainly LGPL-licensed with optional components licensed under
|
40 |
+
GPL. Please refer to the LICENSE file for detailed information.
|
41 |
+
|
42 |
+
## Contributing
|
43 |
+
|
44 |
+
Patches should be submitted to the ffmpeg-devel mailing list using
|
45 |
+
`git format-patch` or `git send-email`. Github pull requests should be
|
46 |
+
avoided because they are not part of our review process and will be ignored.
|
RELEASE
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
5.1.git
|
compat/aix/math.h
ADDED
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*
|
2 |
+
* Work around the class() function in AIX math.h clashing with
|
3 |
+
* identifiers named "class".
|
4 |
+
*
|
5 |
+
* This file is part of FFmpeg.
|
6 |
+
*
|
7 |
+
* FFmpeg is free software; you can redistribute it and/or
|
8 |
+
* modify it under the terms of the GNU Lesser General Public
|
9 |
+
* License as published by the Free Software Foundation; either
|
10 |
+
* version 2.1 of the License, or (at your option) any later version.
|
11 |
+
*
|
12 |
+
* FFmpeg is distributed in the hope that it will be useful,
|
13 |
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
14 |
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
15 |
+
* Lesser General Public License for more details.
|
16 |
+
*
|
17 |
+
* You should have received a copy of the GNU Lesser General Public
|
18 |
+
* License along with FFmpeg; if not, write to the Free Software
|
19 |
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
20 |
+
*/
|
21 |
+
|
22 |
+
#ifndef COMPAT_AIX_MATH_H
|
23 |
+
#define COMPAT_AIX_MATH_H
|
24 |
+
|
25 |
+
#define class class_in_math_h_causes_problems
|
26 |
+
|
27 |
+
#include_next <math.h>
|
28 |
+
|
29 |
+
#undef class
|
30 |
+
|
31 |
+
#endif /* COMPAT_AIX_MATH_H */
|
compat/atomics/dummy/stdatomic.h
ADDED
@@ -0,0 +1,176 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*
|
2 |
+
* This file is part of FFmpeg.
|
3 |
+
*
|
4 |
+
* FFmpeg is free software; you can redistribute it and/or
|
5 |
+
* modify it under the terms of the GNU Lesser General Public
|
6 |
+
* License as published by the Free Software Foundation; either
|
7 |
+
* version 2.1 of the License, or (at your option) any later version.
|
8 |
+
*
|
9 |
+
* FFmpeg is distributed in the hope that it will be useful,
|
10 |
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
11 |
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
12 |
+
* Lesser General Public License for more details.
|
13 |
+
*
|
14 |
+
* You should have received a copy of the GNU Lesser General Public
|
15 |
+
* License along with FFmpeg; if not, write to the Free Software
|
16 |
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
17 |
+
*/
|
18 |
+
|
19 |
+
/*
|
20 |
+
* based on vlc_atomic.h from VLC
|
21 |
+
* Copyright (C) 2010 Rémi Denis-Courmont
|
22 |
+
*/
|
23 |
+
|
24 |
+
#ifndef COMPAT_ATOMICS_DUMMY_STDATOMIC_H
|
25 |
+
#define COMPAT_ATOMICS_DUMMY_STDATOMIC_H
|
26 |
+
|
27 |
+
#include <stdint.h>
|
28 |
+
|
29 |
+
#define ATOMIC_FLAG_INIT 0
|
30 |
+
|
31 |
+
#define ATOMIC_VAR_INIT(value) (value)
|
32 |
+
|
33 |
+
#define atomic_init(obj, value) \
|
34 |
+
do { \
|
35 |
+
*(obj) = (value); \
|
36 |
+
} while(0)
|
37 |
+
|
38 |
+
#define kill_dependency(y) ((void)0)
|
39 |
+
|
40 |
+
#define atomic_thread_fence(order) \
|
41 |
+
((void)0)
|
42 |
+
|
43 |
+
#define atomic_signal_fence(order) \
|
44 |
+
((void)0)
|
45 |
+
|
46 |
+
#define atomic_is_lock_free(obj) 0
|
47 |
+
|
48 |
+
typedef intptr_t atomic_flag;
|
49 |
+
typedef intptr_t atomic_bool;
|
50 |
+
typedef intptr_t atomic_char;
|
51 |
+
typedef intptr_t atomic_schar;
|
52 |
+
typedef intptr_t atomic_uchar;
|
53 |
+
typedef intptr_t atomic_short;
|
54 |
+
typedef intptr_t atomic_ushort;
|
55 |
+
typedef intptr_t atomic_int;
|
56 |
+
typedef intptr_t atomic_uint;
|
57 |
+
typedef intptr_t atomic_long;
|
58 |
+
typedef intptr_t atomic_ulong;
|
59 |
+
typedef intptr_t atomic_llong;
|
60 |
+
typedef intptr_t atomic_ullong;
|
61 |
+
typedef intptr_t atomic_wchar_t;
|
62 |
+
typedef intptr_t atomic_int_least8_t;
|
63 |
+
typedef intptr_t atomic_uint_least8_t;
|
64 |
+
typedef intptr_t atomic_int_least16_t;
|
65 |
+
typedef intptr_t atomic_uint_least16_t;
|
66 |
+
typedef intptr_t atomic_int_least32_t;
|
67 |
+
typedef intptr_t atomic_uint_least32_t;
|
68 |
+
typedef intptr_t atomic_int_least64_t;
|
69 |
+
typedef intptr_t atomic_uint_least64_t;
|
70 |
+
typedef intptr_t atomic_int_fast8_t;
|
71 |
+
typedef intptr_t atomic_uint_fast8_t;
|
72 |
+
typedef intptr_t atomic_int_fast16_t;
|
73 |
+
typedef intptr_t atomic_uint_fast16_t;
|
74 |
+
typedef intptr_t atomic_int_fast32_t;
|
75 |
+
typedef intptr_t atomic_uint_fast32_t;
|
76 |
+
typedef intptr_t atomic_int_fast64_t;
|
77 |
+
typedef intptr_t atomic_uint_fast64_t;
|
78 |
+
typedef intptr_t atomic_intptr_t;
|
79 |
+
typedef intptr_t atomic_uintptr_t;
|
80 |
+
typedef intptr_t atomic_size_t;
|
81 |
+
typedef intptr_t atomic_ptrdiff_t;
|
82 |
+
typedef intptr_t atomic_intmax_t;
|
83 |
+
typedef intptr_t atomic_uintmax_t;
|
84 |
+
|
85 |
+
#define atomic_store(object, desired) \
|
86 |
+
do { \
|
87 |
+
*(object) = (desired); \
|
88 |
+
} while (0)
|
89 |
+
|
90 |
+
#define atomic_store_explicit(object, desired, order) \
|
91 |
+
atomic_store(object, desired)
|
92 |
+
|
93 |
+
#define atomic_load(object) \
|
94 |
+
(*(object))
|
95 |
+
|
96 |
+
#define atomic_load_explicit(object, order) \
|
97 |
+
atomic_load(object)
|
98 |
+
|
99 |
+
static inline intptr_t atomic_exchange(intptr_t *object, intptr_t desired)
|
100 |
+
{
|
101 |
+
intptr_t ret = *object;
|
102 |
+
*object = desired;
|
103 |
+
return ret;
|
104 |
+
}
|
105 |
+
|
106 |
+
#define atomic_exchange_explicit(object, desired, order) \
|
107 |
+
atomic_exchange(object, desired)
|
108 |
+
|
109 |
+
static inline int atomic_compare_exchange_strong(intptr_t *object, intptr_t *expected,
|
110 |
+
intptr_t desired)
|
111 |
+
{
|
112 |
+
int ret;
|
113 |
+
if (*object == *expected) {
|
114 |
+
*object = desired;
|
115 |
+
ret = 1;
|
116 |
+
} else {
|
117 |
+
*expected = *object;
|
118 |
+
ret = 0;
|
119 |
+
}
|
120 |
+
return ret;
|
121 |
+
}
|
122 |
+
|
123 |
+
#define atomic_compare_exchange_strong_explicit(object, expected, desired, success, failure) \
|
124 |
+
atomic_compare_exchange_strong(object, expected, desired)
|
125 |
+
|
126 |
+
#define atomic_compare_exchange_weak(object, expected, desired) \
|
127 |
+
atomic_compare_exchange_strong(object, expected, desired)
|
128 |
+
|
129 |
+
#define atomic_compare_exchange_weak_explicit(object, expected, desired, success, failure) \
|
130 |
+
atomic_compare_exchange_weak(object, expected, desired)
|
131 |
+
|
132 |
+
#define FETCH_MODIFY(opname, op) \
|
133 |
+
static inline intptr_t atomic_fetch_ ## opname(intptr_t *object, intptr_t operand) \
|
134 |
+
{ \
|
135 |
+
intptr_t ret; \
|
136 |
+
ret = *object; \
|
137 |
+
*object = *object op operand; \
|
138 |
+
return ret; \
|
139 |
+
}
|
140 |
+
|
141 |
+
FETCH_MODIFY(add, +)
|
142 |
+
FETCH_MODIFY(sub, -)
|
143 |
+
FETCH_MODIFY(or, |)
|
144 |
+
FETCH_MODIFY(xor, ^)
|
145 |
+
FETCH_MODIFY(and, &)
|
146 |
+
|
147 |
+
#undef FETCH_MODIFY
|
148 |
+
|
149 |
+
#define atomic_fetch_add_explicit(object, operand, order) \
|
150 |
+
atomic_fetch_add(object, operand)
|
151 |
+
|
152 |
+
#define atomic_fetch_sub_explicit(object, operand, order) \
|
153 |
+
atomic_fetch_sub(object, operand)
|
154 |
+
|
155 |
+
#define atomic_fetch_or_explicit(object, operand, order) \
|
156 |
+
atomic_fetch_or(object, operand)
|
157 |
+
|
158 |
+
#define atomic_fetch_xor_explicit(object, operand, order) \
|
159 |
+
atomic_fetch_xor(object, operand)
|
160 |
+
|
161 |
+
#define atomic_fetch_and_explicit(object, operand, order) \
|
162 |
+
atomic_fetch_and(object, operand)
|
163 |
+
|
164 |
+
#define atomic_flag_test_and_set(object) \
|
165 |
+
atomic_exchange(object, 1)
|
166 |
+
|
167 |
+
#define atomic_flag_test_and_set_explicit(object, order) \
|
168 |
+
atomic_flag_test_and_set(object)
|
169 |
+
|
170 |
+
#define atomic_flag_clear(object) \
|
171 |
+
atomic_store(object, 0)
|
172 |
+
|
173 |
+
#define atomic_flag_clear_explicit(object, order) \
|
174 |
+
atomic_flag_clear(object)
|
175 |
+
|
176 |
+
#endif /* COMPAT_ATOMICS_DUMMY_STDATOMIC_H */
|
compat/atomics/gcc/stdatomic.h
ADDED
@@ -0,0 +1,173 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*
|
2 |
+
* This file is part of FFmpeg.
|
3 |
+
*
|
4 |
+
* FFmpeg is free software; you can redistribute it and/or
|
5 |
+
* modify it under the terms of the GNU Lesser General Public
|
6 |
+
* License as published by the Free Software Foundation; either
|
7 |
+
* version 2.1 of the License, or (at your option) any later version.
|
8 |
+
*
|
9 |
+
* FFmpeg is distributed in the hope that it will be useful,
|
10 |
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
11 |
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
12 |
+
* Lesser General Public License for more details.
|
13 |
+
*
|
14 |
+
* You should have received a copy of the GNU Lesser General Public
|
15 |
+
* License along with FFmpeg; if not, write to the Free Software
|
16 |
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
17 |
+
*/
|
18 |
+
|
19 |
+
/*
|
20 |
+
* based on vlc_atomic.h from VLC
|
21 |
+
* Copyright (C) 2010 Rémi Denis-Courmont
|
22 |
+
*/
|
23 |
+
|
24 |
+
#ifndef COMPAT_ATOMICS_GCC_STDATOMIC_H
|
25 |
+
#define COMPAT_ATOMICS_GCC_STDATOMIC_H
|
26 |
+
|
27 |
+
#include <stddef.h>
|
28 |
+
#include <stdint.h>
|
29 |
+
|
30 |
+
#define ATOMIC_FLAG_INIT 0
|
31 |
+
|
32 |
+
#define ATOMIC_VAR_INIT(value) (value)
|
33 |
+
|
34 |
+
#define atomic_init(obj, value) \
|
35 |
+
do { \
|
36 |
+
*(obj) = (value); \
|
37 |
+
} while(0)
|
38 |
+
|
39 |
+
#define kill_dependency(y) ((void)0)
|
40 |
+
|
41 |
+
#define atomic_thread_fence(order) \
|
42 |
+
__sync_synchronize()
|
43 |
+
|
44 |
+
#define atomic_signal_fence(order) \
|
45 |
+
((void)0)
|
46 |
+
|
47 |
+
#define atomic_is_lock_free(obj) 0
|
48 |
+
|
49 |
+
typedef _Bool atomic_flag;
|
50 |
+
typedef _Bool atomic_bool;
|
51 |
+
typedef char atomic_char;
|
52 |
+
typedef signed char atomic_schar;
|
53 |
+
typedef unsigned char atomic_uchar;
|
54 |
+
typedef short atomic_short;
|
55 |
+
typedef unsigned short atomic_ushort;
|
56 |
+
typedef int atomic_int;
|
57 |
+
typedef unsigned int atomic_uint;
|
58 |
+
typedef long atomic_long;
|
59 |
+
typedef unsigned long atomic_ulong;
|
60 |
+
typedef long long atomic_llong;
|
61 |
+
typedef unsigned long long atomic_ullong;
|
62 |
+
typedef wchar_t atomic_wchar_t;
|
63 |
+
typedef int_least8_t atomic_int_least8_t;
|
64 |
+
typedef uint_least8_t atomic_uint_least8_t;
|
65 |
+
typedef int_least16_t atomic_int_least16_t;
|
66 |
+
typedef uint_least16_t atomic_uint_least16_t;
|
67 |
+
typedef int_least32_t atomic_int_least32_t;
|
68 |
+
typedef uint_least32_t atomic_uint_least32_t;
|
69 |
+
typedef int_least64_t atomic_int_least64_t;
|
70 |
+
typedef uint_least64_t atomic_uint_least64_t;
|
71 |
+
typedef int_fast8_t atomic_int_fast8_t;
|
72 |
+
typedef uint_fast8_t atomic_uint_fast8_t;
|
73 |
+
typedef int_fast16_t atomic_int_fast16_t;
|
74 |
+
typedef uint_fast16_t atomic_uint_fast16_t;
|
75 |
+
typedef int_fast32_t atomic_int_fast32_t;
|
76 |
+
typedef uint_fast32_t atomic_uint_fast32_t;
|
77 |
+
typedef int_fast64_t atomic_int_fast64_t;
|
78 |
+
typedef uint_fast64_t atomic_uint_fast64_t;
|
79 |
+
typedef intptr_t atomic_intptr_t;
|
80 |
+
typedef uintptr_t atomic_uintptr_t;
|
81 |
+
typedef size_t atomic_size_t;
|
82 |
+
typedef ptrdiff_t atomic_ptrdiff_t;
|
83 |
+
typedef intmax_t atomic_intmax_t;
|
84 |
+
typedef uintmax_t atomic_uintmax_t;
|
85 |
+
|
86 |
+
#define atomic_store(object, desired) \
|
87 |
+
do { \
|
88 |
+
*(object) = (desired); \
|
89 |
+
__sync_synchronize(); \
|
90 |
+
} while (0)
|
91 |
+
|
92 |
+
#define atomic_store_explicit(object, desired, order) \
|
93 |
+
atomic_store(object, desired)
|
94 |
+
|
95 |
+
#define atomic_load(object) \
|
96 |
+
(__sync_synchronize(), *(object))
|
97 |
+
|
98 |
+
#define atomic_load_explicit(object, order) \
|
99 |
+
atomic_load(object)
|
100 |
+
|
101 |
+
#define atomic_exchange(object, desired) \
|
102 |
+
({ \
|
103 |
+
__typeof__(object) _obj = (object); \
|
104 |
+
__typeof__(*object) _old; \
|
105 |
+
do \
|
106 |
+
_old = atomic_load(_obj); \
|
107 |
+
while (!__sync_bool_compare_and_swap(_obj, _old, (desired))); \
|
108 |
+
_old; \
|
109 |
+
})
|
110 |
+
|
111 |
+
#define atomic_exchange_explicit(object, desired, order) \
|
112 |
+
atomic_exchange(object, desired)
|
113 |
+
|
114 |
+
#define atomic_compare_exchange_strong(object, expected, desired) \
|
115 |
+
({ \
|
116 |
+
__typeof__(object) _exp = (expected); \
|
117 |
+
__typeof__(*object) _old = *_exp; \
|
118 |
+
*_exp = __sync_val_compare_and_swap((object), _old, (desired)); \
|
119 |
+
*_exp == _old; \
|
120 |
+
})
|
121 |
+
|
122 |
+
#define atomic_compare_exchange_strong_explicit(object, expected, desired, success, failure) \
|
123 |
+
atomic_compare_exchange_strong(object, expected, desired)
|
124 |
+
|
125 |
+
#define atomic_compare_exchange_weak(object, expected, desired) \
|
126 |
+
atomic_compare_exchange_strong(object, expected, desired)
|
127 |
+
|
128 |
+
#define atomic_compare_exchange_weak_explicit(object, expected, desired, success, failure) \
|
129 |
+
atomic_compare_exchange_weak(object, expected, desired)
|
130 |
+
|
131 |
+
#define atomic_fetch_add(object, operand) \
|
132 |
+
__sync_fetch_and_add(object, operand)
|
133 |
+
|
134 |
+
#define atomic_fetch_add_explicit(object, operand, order) \
|
135 |
+
atomic_fetch_add(object, operand)
|
136 |
+
|
137 |
+
#define atomic_fetch_sub(object, operand) \
|
138 |
+
__sync_fetch_and_sub(object, operand)
|
139 |
+
|
140 |
+
#define atomic_fetch_sub_explicit(object, operand, order) \
|
141 |
+
atomic_fetch_sub(object, operand)
|
142 |
+
|
143 |
+
#define atomic_fetch_or(object, operand) \
|
144 |
+
__sync_fetch_and_or(object, operand)
|
145 |
+
|
146 |
+
#define atomic_fetch_or_explicit(object, operand, order) \
|
147 |
+
atomic_fetch_or(object, operand)
|
148 |
+
|
149 |
+
#define atomic_fetch_xor(object, operand) \
|
150 |
+
__sync_fetch_and_xor(object, operand)
|
151 |
+
|
152 |
+
#define atomic_fetch_xor_explicit(object, operand, order) \
|
153 |
+
atomic_fetch_xor(object, operand)
|
154 |
+
|
155 |
+
#define atomic_fetch_and(object, operand) \
|
156 |
+
__sync_fetch_and_and(object, operand)
|
157 |
+
|
158 |
+
#define atomic_fetch_and_explicit(object, operand, order) \
|
159 |
+
atomic_fetch_and(object, operand)
|
160 |
+
|
161 |
+
#define atomic_flag_test_and_set(object) \
|
162 |
+
atomic_exchange(object, 1)
|
163 |
+
|
164 |
+
#define atomic_flag_test_and_set_explicit(object, order) \
|
165 |
+
atomic_flag_test_and_set(object)
|
166 |
+
|
167 |
+
#define atomic_flag_clear(object) \
|
168 |
+
atomic_store(object, 0)
|
169 |
+
|
170 |
+
#define atomic_flag_clear_explicit(object, order) \
|
171 |
+
atomic_flag_clear(object)
|
172 |
+
|
173 |
+
#endif /* COMPAT_ATOMICS_GCC_STDATOMIC_H */
|
compat/atomics/pthread/stdatomic.c
ADDED
@@ -0,0 +1,39 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*
|
2 |
+
* This file is part of FFmpeg.
|
3 |
+
*
|
4 |
+
* FFmpeg is free software; you can redistribute it and/or
|
5 |
+
* modify it under the terms of the GNU Lesser General Public
|
6 |
+
* License as published by the Free Software Foundation; either
|
7 |
+
* version 2.1 of the License, or (at your option) any later version.
|
8 |
+
*
|
9 |
+
* FFmpeg is distributed in the hope that it will be useful,
|
10 |
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
11 |
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
12 |
+
* Lesser General Public License for more details.
|
13 |
+
*
|
14 |
+
* You should have received a copy of the GNU Lesser General Public
|
15 |
+
* License along with FFmpeg; if not, write to the Free Software
|
16 |
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
17 |
+
*/
|
18 |
+
|
19 |
+
/*
|
20 |
+
* based on vlc_atomic.h from VLC
|
21 |
+
* Copyright (C) 2010 Rémi Denis-Courmont
|
22 |
+
*/
|
23 |
+
|
24 |
+
#include <pthread.h>
|
25 |
+
#include <stdint.h>
|
26 |
+
|
27 |
+
#include "stdatomic.h"
|
28 |
+
|
29 |
+
static pthread_mutex_t atomic_lock = PTHREAD_MUTEX_INITIALIZER;
|
30 |
+
|
31 |
+
void avpriv_atomic_lock(void)
|
32 |
+
{
|
33 |
+
pthread_mutex_lock(&atomic_lock);
|
34 |
+
}
|
35 |
+
|
36 |
+
void avpriv_atomic_unlock(void)
|
37 |
+
{
|
38 |
+
pthread_mutex_unlock(&atomic_lock);
|
39 |
+
}
|
compat/atomics/pthread/stdatomic.h
ADDED
@@ -0,0 +1,197 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*
|
2 |
+
* This file is part of FFmpeg.
|
3 |
+
*
|
4 |
+
* FFmpeg is free software; you can redistribute it and/or
|
5 |
+
* modify it under the terms of the GNU Lesser General Public
|
6 |
+
* License as published by the Free Software Foundation; either
|
7 |
+
* version 2.1 of the License, or (at your option) any later version.
|
8 |
+
*
|
9 |
+
* FFmpeg is distributed in the hope that it will be useful,
|
10 |
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
11 |
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
12 |
+
* Lesser General Public License for more details.
|
13 |
+
*
|
14 |
+
* You should have received a copy of the GNU Lesser General Public
|
15 |
+
* License along with FFmpeg; if not, write to the Free Software
|
16 |
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
17 |
+
*/
|
18 |
+
|
19 |
+
/*
|
20 |
+
* based on vlc_atomic.h from VLC
|
21 |
+
* Copyright (C) 2010 Rémi Denis-Courmont
|
22 |
+
*/
|
23 |
+
|
24 |
+
#ifndef COMPAT_ATOMICS_PTHREAD_STDATOMIC_H
|
25 |
+
#define COMPAT_ATOMICS_PTHREAD_STDATOMIC_H
|
26 |
+
|
27 |
+
#include <stdint.h>
|
28 |
+
|
29 |
+
#define ATOMIC_FLAG_INIT 0
|
30 |
+
|
31 |
+
#define ATOMIC_VAR_INIT(value) (value)
|
32 |
+
|
33 |
+
#define atomic_init(obj, value) \
|
34 |
+
do { \
|
35 |
+
*(obj) = (value); \
|
36 |
+
} while(0)
|
37 |
+
|
38 |
+
#define kill_dependency(y) ((void)0)
|
39 |
+
|
40 |
+
#define atomic_signal_fence(order) \
|
41 |
+
((void)0)
|
42 |
+
|
43 |
+
#define atomic_is_lock_free(obj) 0
|
44 |
+
|
45 |
+
typedef intptr_t atomic_flag;
|
46 |
+
typedef intptr_t atomic_bool;
|
47 |
+
typedef intptr_t atomic_char;
|
48 |
+
typedef intptr_t atomic_schar;
|
49 |
+
typedef intptr_t atomic_uchar;
|
50 |
+
typedef intptr_t atomic_short;
|
51 |
+
typedef intptr_t atomic_ushort;
|
52 |
+
typedef intptr_t atomic_int;
|
53 |
+
typedef intptr_t atomic_uint;
|
54 |
+
typedef intptr_t atomic_long;
|
55 |
+
typedef intptr_t atomic_ulong;
|
56 |
+
typedef intptr_t atomic_llong;
|
57 |
+
typedef intptr_t atomic_ullong;
|
58 |
+
typedef intptr_t atomic_wchar_t;
|
59 |
+
typedef intptr_t atomic_int_least8_t;
|
60 |
+
typedef intptr_t atomic_uint_least8_t;
|
61 |
+
typedef intptr_t atomic_int_least16_t;
|
62 |
+
typedef intptr_t atomic_uint_least16_t;
|
63 |
+
typedef intptr_t atomic_int_least32_t;
|
64 |
+
typedef intptr_t atomic_uint_least32_t;
|
65 |
+
typedef intptr_t atomic_int_least64_t;
|
66 |
+
typedef intptr_t atomic_uint_least64_t;
|
67 |
+
typedef intptr_t atomic_int_fast8_t;
|
68 |
+
typedef intptr_t atomic_uint_fast8_t;
|
69 |
+
typedef intptr_t atomic_int_fast16_t;
|
70 |
+
typedef intptr_t atomic_uint_fast16_t;
|
71 |
+
typedef intptr_t atomic_int_fast32_t;
|
72 |
+
typedef intptr_t atomic_uint_fast32_t;
|
73 |
+
typedef intptr_t atomic_int_fast64_t;
|
74 |
+
typedef intptr_t atomic_uint_fast64_t;
|
75 |
+
typedef intptr_t atomic_intptr_t;
|
76 |
+
typedef intptr_t atomic_uintptr_t;
|
77 |
+
typedef intptr_t atomic_size_t;
|
78 |
+
typedef intptr_t atomic_ptrdiff_t;
|
79 |
+
typedef intptr_t atomic_intmax_t;
|
80 |
+
typedef intptr_t atomic_uintmax_t;
|
81 |
+
|
82 |
+
void avpriv_atomic_lock(void);
|
83 |
+
void avpriv_atomic_unlock(void);
|
84 |
+
|
85 |
+
static inline void atomic_thread_fence(int order)
|
86 |
+
{
|
87 |
+
avpriv_atomic_lock();
|
88 |
+
avpriv_atomic_unlock();
|
89 |
+
}
|
90 |
+
|
91 |
+
static inline void atomic_store(intptr_t *object, intptr_t desired)
|
92 |
+
{
|
93 |
+
avpriv_atomic_lock();
|
94 |
+
*object = desired;
|
95 |
+
avpriv_atomic_unlock();
|
96 |
+
}
|
97 |
+
|
98 |
+
#define atomic_store_explicit(object, desired, order) \
|
99 |
+
atomic_store(object, desired)
|
100 |
+
|
101 |
+
static inline intptr_t atomic_load(intptr_t *object)
|
102 |
+
{
|
103 |
+
intptr_t ret;
|
104 |
+
avpriv_atomic_lock();
|
105 |
+
ret = *object;
|
106 |
+
avpriv_atomic_unlock();
|
107 |
+
return ret;
|
108 |
+
}
|
109 |
+
|
110 |
+
#define atomic_load_explicit(object, order) \
|
111 |
+
atomic_load(object)
|
112 |
+
|
113 |
+
static inline intptr_t atomic_exchange(intptr_t *object, intptr_t desired)
|
114 |
+
{
|
115 |
+
intptr_t ret;
|
116 |
+
avpriv_atomic_lock();
|
117 |
+
ret = *object;
|
118 |
+
*object = desired;
|
119 |
+
avpriv_atomic_unlock();
|
120 |
+
return ret;
|
121 |
+
}
|
122 |
+
|
123 |
+
#define atomic_exchange_explicit(object, desired, order) \
|
124 |
+
atomic_exchange(object, desired)
|
125 |
+
|
126 |
+
static inline int atomic_compare_exchange_strong(intptr_t *object, intptr_t *expected,
|
127 |
+
intptr_t desired)
|
128 |
+
{
|
129 |
+
int ret;
|
130 |
+
avpriv_atomic_lock();
|
131 |
+
if (*object == *expected) {
|
132 |
+
ret = 1;
|
133 |
+
*object = desired;
|
134 |
+
} else {
|
135 |
+
ret = 0;
|
136 |
+
*expected = *object;
|
137 |
+
}
|
138 |
+
avpriv_atomic_unlock();
|
139 |
+
return ret;
|
140 |
+
}
|
141 |
+
|
142 |
+
#define atomic_compare_exchange_strong_explicit(object, expected, desired, success, failure) \
|
143 |
+
atomic_compare_exchange_strong(object, expected, desired)
|
144 |
+
|
145 |
+
#define atomic_compare_exchange_weak(object, expected, desired) \
|
146 |
+
atomic_compare_exchange_strong(object, expected, desired)
|
147 |
+
|
148 |
+
#define atomic_compare_exchange_weak_explicit(object, expected, desired, success, failure) \
|
149 |
+
atomic_compare_exchange_weak(object, expected, desired)
|
150 |
+
|
151 |
+
#define FETCH_MODIFY(opname, op) \
|
152 |
+
static inline intptr_t atomic_fetch_ ## opname(intptr_t *object, intptr_t operand) \
|
153 |
+
{ \
|
154 |
+
intptr_t ret; \
|
155 |
+
avpriv_atomic_lock(); \
|
156 |
+
ret = *object; \
|
157 |
+
*object = *object op operand; \
|
158 |
+
avpriv_atomic_unlock(); \
|
159 |
+
return ret; \
|
160 |
+
}
|
161 |
+
|
162 |
+
FETCH_MODIFY(add, +)
|
163 |
+
FETCH_MODIFY(sub, -)
|
164 |
+
FETCH_MODIFY(or, |)
|
165 |
+
FETCH_MODIFY(xor, ^)
|
166 |
+
FETCH_MODIFY(and, &)
|
167 |
+
|
168 |
+
#undef FETCH_MODIFY
|
169 |
+
|
170 |
+
#define atomic_fetch_add_explicit(object, operand, order) \
|
171 |
+
atomic_fetch_add(object, operand)
|
172 |
+
|
173 |
+
#define atomic_fetch_sub_explicit(object, operand, order) \
|
174 |
+
atomic_fetch_sub(object, operand)
|
175 |
+
|
176 |
+
#define atomic_fetch_or_explicit(object, operand, order) \
|
177 |
+
atomic_fetch_or(object, operand)
|
178 |
+
|
179 |
+
#define atomic_fetch_xor_explicit(object, operand, order) \
|
180 |
+
atomic_fetch_xor(object, operand)
|
181 |
+
|
182 |
+
#define atomic_fetch_and_explicit(object, operand, order) \
|
183 |
+
atomic_fetch_and(object, operand)
|
184 |
+
|
185 |
+
#define atomic_flag_test_and_set(object) \
|
186 |
+
atomic_exchange(object, 1)
|
187 |
+
|
188 |
+
#define atomic_flag_test_and_set_explicit(object, order) \
|
189 |
+
atomic_flag_test_and_set(object)
|
190 |
+
|
191 |
+
#define atomic_flag_clear(object) \
|
192 |
+
atomic_store(object, 0)
|
193 |
+
|
194 |
+
#define atomic_flag_clear_explicit(object, order) \
|
195 |
+
atomic_flag_clear(object)
|
196 |
+
|
197 |
+
#endif /* COMPAT_ATOMICS_PTHREAD_STDATOMIC_H */
|
compat/atomics/suncc/stdatomic.h
ADDED
@@ -0,0 +1,186 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*
|
2 |
+
* This file is part of FFmpeg.
|
3 |
+
*
|
4 |
+
* FFmpeg is free software; you can redistribute it and/or
|
5 |
+
* modify it under the terms of the GNU Lesser General Public
|
6 |
+
* License as published by the Free Software Foundation; either
|
7 |
+
* version 2.1 of the License, or (at your option) any later version.
|
8 |
+
*
|
9 |
+
* FFmpeg is distributed in the hope that it will be useful,
|
10 |
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
11 |
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
12 |
+
* Lesser General Public License for more details.
|
13 |
+
*
|
14 |
+
* You should have received a copy of the GNU Lesser General Public
|
15 |
+
* License along with FFmpeg; if not, write to the Free Software
|
16 |
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
17 |
+
*/
|
18 |
+
|
19 |
+
#ifndef COMPAT_ATOMICS_SUNCC_STDATOMIC_H
|
20 |
+
#define COMPAT_ATOMICS_SUNCC_STDATOMIC_H
|
21 |
+
|
22 |
+
#include <atomic.h>
|
23 |
+
#include <mbarrier.h>
|
24 |
+
#include <stddef.h>
|
25 |
+
#include <stdint.h>
|
26 |
+
|
27 |
+
#define ATOMIC_FLAG_INIT 0
|
28 |
+
|
29 |
+
#define ATOMIC_VAR_INIT(value) (value)
|
30 |
+
|
31 |
+
#define atomic_init(obj, value) \
|
32 |
+
do { \
|
33 |
+
*(obj) = (value); \
|
34 |
+
} while(0)
|
35 |
+
|
36 |
+
#define kill_dependency(y) ((void)0)
|
37 |
+
|
38 |
+
#define atomic_thread_fence(order) \
|
39 |
+
__machine_rw_barrier();
|
40 |
+
|
41 |
+
#define atomic_signal_fence(order) \
|
42 |
+
((void)0)
|
43 |
+
|
44 |
+
#define atomic_is_lock_free(obj) 0
|
45 |
+
|
46 |
+
typedef intptr_t atomic_flag;
|
47 |
+
typedef intptr_t atomic_bool;
|
48 |
+
typedef intptr_t atomic_char;
|
49 |
+
typedef intptr_t atomic_schar;
|
50 |
+
typedef intptr_t atomic_uchar;
|
51 |
+
typedef intptr_t atomic_short;
|
52 |
+
typedef intptr_t atomic_ushort;
|
53 |
+
typedef intptr_t atomic_int;
|
54 |
+
typedef intptr_t atomic_uint;
|
55 |
+
typedef intptr_t atomic_long;
|
56 |
+
typedef intptr_t atomic_ulong;
|
57 |
+
typedef intptr_t atomic_llong;
|
58 |
+
typedef intptr_t atomic_ullong;
|
59 |
+
typedef intptr_t atomic_wchar_t;
|
60 |
+
typedef intptr_t atomic_int_least8_t;
|
61 |
+
typedef intptr_t atomic_uint_least8_t;
|
62 |
+
typedef intptr_t atomic_int_least16_t;
|
63 |
+
typedef intptr_t atomic_uint_least16_t;
|
64 |
+
typedef intptr_t atomic_int_least32_t;
|
65 |
+
typedef intptr_t atomic_uint_least32_t;
|
66 |
+
typedef intptr_t atomic_int_least64_t;
|
67 |
+
typedef intptr_t atomic_uint_least64_t;
|
68 |
+
typedef intptr_t atomic_int_fast8_t;
|
69 |
+
typedef intptr_t atomic_uint_fast8_t;
|
70 |
+
typedef intptr_t atomic_int_fast16_t;
|
71 |
+
typedef intptr_t atomic_uint_fast16_t;
|
72 |
+
typedef intptr_t atomic_int_fast32_t;
|
73 |
+
typedef intptr_t atomic_uint_fast32_t;
|
74 |
+
typedef intptr_t atomic_int_fast64_t;
|
75 |
+
typedef intptr_t atomic_uint_fast64_t;
|
76 |
+
typedef intptr_t atomic_intptr_t;
|
77 |
+
typedef intptr_t atomic_uintptr_t;
|
78 |
+
typedef intptr_t atomic_size_t;
|
79 |
+
typedef intptr_t atomic_ptrdiff_t;
|
80 |
+
typedef intptr_t atomic_intmax_t;
|
81 |
+
typedef intptr_t atomic_uintmax_t;
|
82 |
+
|
83 |
+
static inline void atomic_store(intptr_t *object, intptr_t desired)
|
84 |
+
{
|
85 |
+
*object = desired;
|
86 |
+
__machine_rw_barrier();
|
87 |
+
}
|
88 |
+
|
89 |
+
#define atomic_store_explicit(object, desired, order) \
|
90 |
+
atomic_store(object, desired)
|
91 |
+
|
92 |
+
static inline intptr_t atomic_load(intptr_t *object)
|
93 |
+
{
|
94 |
+
__machine_rw_barrier();
|
95 |
+
return *object;
|
96 |
+
}
|
97 |
+
|
98 |
+
#define atomic_load_explicit(object, order) \
|
99 |
+
atomic_load(object)
|
100 |
+
|
101 |
+
#define atomic_exchange(object, desired) \
|
102 |
+
atomic_swap_ptr(object, desired)
|
103 |
+
|
104 |
+
#define atomic_exchange_explicit(object, desired, order) \
|
105 |
+
atomic_exchange(object, desired)
|
106 |
+
|
107 |
+
static inline int atomic_compare_exchange_strong(intptr_t *object, intptr_t *expected,
|
108 |
+
intptr_t desired)
|
109 |
+
{
|
110 |
+
intptr_t old = *expected;
|
111 |
+
*expected = (intptr_t)atomic_cas_ptr(object, (void *)old, (void *)desired);
|
112 |
+
return *expected == old;
|
113 |
+
}
|
114 |
+
|
115 |
+
#define atomic_compare_exchange_strong_explicit(object, expected, desired, success, failure) \
|
116 |
+
atomic_compare_exchange_strong(object, expected, desired)
|
117 |
+
|
118 |
+
#define atomic_compare_exchange_weak(object, expected, desired) \
|
119 |
+
atomic_compare_exchange_strong(object, expected, desired)
|
120 |
+
|
121 |
+
#define atomic_compare_exchange_weak_explicit(object, expected, desired, success, failure) \
|
122 |
+
atomic_compare_exchange_weak(object, expected, desired)
|
123 |
+
|
124 |
+
static inline intptr_t atomic_fetch_add(intptr_t *object, intptr_t operand)
|
125 |
+
{
|
126 |
+
return atomic_add_ptr_nv(object, operand) - operand;
|
127 |
+
}
|
128 |
+
|
129 |
+
#define atomic_fetch_sub(object, operand) \
|
130 |
+
atomic_fetch_add(object, -(operand))
|
131 |
+
|
132 |
+
static inline intptr_t atomic_fetch_or(intptr_t *object, intptr_t operand)
|
133 |
+
{
|
134 |
+
intptr_t old;
|
135 |
+
do {
|
136 |
+
old = atomic_load(object);
|
137 |
+
} while (!atomic_compare_exchange_strong(object, old, old | operand));
|
138 |
+
return old;
|
139 |
+
}
|
140 |
+
|
141 |
+
static inline intptr_t atomic_fetch_xor(intptr_t *object, intptr_t operand)
|
142 |
+
{
|
143 |
+
intptr_t old;
|
144 |
+
do {
|
145 |
+
old = atomic_load(object);
|
146 |
+
} while (!atomic_compare_exchange_strong(object, old, old ^ operand));
|
147 |
+
return old;
|
148 |
+
}
|
149 |
+
|
150 |
+
static inline intptr_t atomic_fetch_and(intptr_t *object, intptr_t operand)
|
151 |
+
{
|
152 |
+
intptr_t old;
|
153 |
+
do {
|
154 |
+
old = atomic_load(object);
|
155 |
+
} while (!atomic_compare_exchange_strong(object, old, old & operand));
|
156 |
+
return old;
|
157 |
+
}
|
158 |
+
|
159 |
+
#define atomic_fetch_add_explicit(object, operand, order) \
|
160 |
+
atomic_fetch_add(object, operand)
|
161 |
+
|
162 |
+
#define atomic_fetch_sub_explicit(object, operand, order) \
|
163 |
+
atomic_fetch_sub(object, operand)
|
164 |
+
|
165 |
+
#define atomic_fetch_or_explicit(object, operand, order) \
|
166 |
+
atomic_fetch_or(object, operand)
|
167 |
+
|
168 |
+
#define atomic_fetch_xor_explicit(object, operand, order) \
|
169 |
+
atomic_fetch_xor(object, operand)
|
170 |
+
|
171 |
+
#define atomic_fetch_and_explicit(object, operand, order) \
|
172 |
+
atomic_fetch_and(object, operand)
|
173 |
+
|
174 |
+
#define atomic_flag_test_and_set(object) \
|
175 |
+
atomic_exchange(object, 1)
|
176 |
+
|
177 |
+
#define atomic_flag_test_and_set_explicit(object, order) \
|
178 |
+
atomic_flag_test_and_set(object)
|
179 |
+
|
180 |
+
#define atomic_flag_clear(object) \
|
181 |
+
atomic_store(object, 0)
|
182 |
+
|
183 |
+
#define atomic_flag_clear_explicit(object, order) \
|
184 |
+
atomic_flag_clear(object)
|
185 |
+
|
186 |
+
#endif /* COMPAT_ATOMICS_SUNCC_STDATOMIC_H */
|
compat/atomics/win32/stdatomic.h
ADDED
@@ -0,0 +1,180 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*
|
2 |
+
* This file is part of FFmpeg.
|
3 |
+
*
|
4 |
+
* FFmpeg is free software; you can redistribute it and/or
|
5 |
+
* modify it under the terms of the GNU Lesser General Public
|
6 |
+
* License as published by the Free Software Foundation; either
|
7 |
+
* version 2.1 of the License, or (at your option) any later version.
|
8 |
+
*
|
9 |
+
* FFmpeg is distributed in the hope that it will be useful,
|
10 |
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
11 |
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
12 |
+
* Lesser General Public License for more details.
|
13 |
+
*
|
14 |
+
* You should have received a copy of the GNU Lesser General Public
|
15 |
+
* License along with FFmpeg; if not, write to the Free Software
|
16 |
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
17 |
+
*/
|
18 |
+
|
19 |
+
#ifndef COMPAT_ATOMICS_WIN32_STDATOMIC_H
|
20 |
+
#define COMPAT_ATOMICS_WIN32_STDATOMIC_H
|
21 |
+
|
22 |
+
#include <stddef.h>
|
23 |
+
#include <stdint.h>
|
24 |
+
#include <windows.h>
|
25 |
+
|
26 |
+
#define ATOMIC_FLAG_INIT 0
|
27 |
+
|
28 |
+
#define ATOMIC_VAR_INIT(value) (value)
|
29 |
+
|
30 |
+
#define atomic_init(obj, value) \
|
31 |
+
do { \
|
32 |
+
*(obj) = (value); \
|
33 |
+
} while(0)
|
34 |
+
|
35 |
+
#define kill_dependency(y) ((void)0)
|
36 |
+
|
37 |
+
#define atomic_thread_fence(order) \
|
38 |
+
MemoryBarrier();
|
39 |
+
|
40 |
+
#define atomic_signal_fence(order) \
|
41 |
+
((void)0)
|
42 |
+
|
43 |
+
#define atomic_is_lock_free(obj) 0
|
44 |
+
|
45 |
+
typedef intptr_t atomic_flag;
|
46 |
+
typedef intptr_t atomic_bool;
|
47 |
+
typedef intptr_t atomic_char;
|
48 |
+
typedef intptr_t atomic_schar;
|
49 |
+
typedef intptr_t atomic_uchar;
|
50 |
+
typedef intptr_t atomic_short;
|
51 |
+
typedef intptr_t atomic_ushort;
|
52 |
+
typedef intptr_t atomic_int;
|
53 |
+
typedef intptr_t atomic_uint;
|
54 |
+
typedef intptr_t atomic_long;
|
55 |
+
typedef intptr_t atomic_ulong;
|
56 |
+
typedef intptr_t atomic_llong;
|
57 |
+
typedef intptr_t atomic_ullong;
|
58 |
+
typedef intptr_t atomic_wchar_t;
|
59 |
+
typedef intptr_t atomic_int_least8_t;
|
60 |
+
typedef intptr_t atomic_uint_least8_t;
|
61 |
+
typedef intptr_t atomic_int_least16_t;
|
62 |
+
typedef intptr_t atomic_uint_least16_t;
|
63 |
+
typedef intptr_t atomic_int_least32_t;
|
64 |
+
typedef intptr_t atomic_uint_least32_t;
|
65 |
+
typedef intptr_t atomic_int_least64_t;
|
66 |
+
typedef intptr_t atomic_uint_least64_t;
|
67 |
+
typedef intptr_t atomic_int_fast8_t;
|
68 |
+
typedef intptr_t atomic_uint_fast8_t;
|
69 |
+
typedef intptr_t atomic_int_fast16_t;
|
70 |
+
typedef intptr_t atomic_uint_fast16_t;
|
71 |
+
typedef intptr_t atomic_int_fast32_t;
|
72 |
+
typedef intptr_t atomic_uint_fast32_t;
|
73 |
+
typedef intptr_t atomic_int_fast64_t;
|
74 |
+
typedef intptr_t atomic_uint_fast64_t;
|
75 |
+
typedef intptr_t atomic_intptr_t;
|
76 |
+
typedef intptr_t atomic_uintptr_t;
|
77 |
+
typedef intptr_t atomic_size_t;
|
78 |
+
typedef intptr_t atomic_ptrdiff_t;
|
79 |
+
typedef intptr_t atomic_intmax_t;
|
80 |
+
typedef intptr_t atomic_uintmax_t;
|
81 |
+
|
82 |
+
#define atomic_store(object, desired) \
|
83 |
+
do { \
|
84 |
+
*(object) = (desired); \
|
85 |
+
MemoryBarrier(); \
|
86 |
+
} while (0)
|
87 |
+
|
88 |
+
#define atomic_store_explicit(object, desired, order) \
|
89 |
+
atomic_store(object, desired)
|
90 |
+
|
91 |
+
#define atomic_load(object) \
|
92 |
+
(MemoryBarrier(), *(object))
|
93 |
+
|
94 |
+
#define atomic_load_explicit(object, order) \
|
95 |
+
atomic_load(object)
|
96 |
+
|
97 |
+
#define atomic_exchange(object, desired) \
|
98 |
+
InterlockedExchangePointer((PVOID volatile *)object, (PVOID)desired)
|
99 |
+
|
100 |
+
#define atomic_exchange_explicit(object, desired, order) \
|
101 |
+
atomic_exchange(object, desired)
|
102 |
+
|
103 |
+
static inline int atomic_compare_exchange_strong(intptr_t *object, intptr_t *expected,
|
104 |
+
intptr_t desired)
|
105 |
+
{
|
106 |
+
intptr_t old = *expected;
|
107 |
+
*expected = (intptr_t)InterlockedCompareExchangePointer(
|
108 |
+
(PVOID *)object, (PVOID)desired, (PVOID)old);
|
109 |
+
return *expected == old;
|
110 |
+
}
|
111 |
+
|
112 |
+
#define atomic_compare_exchange_strong_explicit(object, expected, desired, success, failure) \
|
113 |
+
atomic_compare_exchange_strong(object, expected, desired)
|
114 |
+
|
115 |
+
#define atomic_compare_exchange_weak(object, expected, desired) \
|
116 |
+
atomic_compare_exchange_strong(object, expected, desired)
|
117 |
+
|
118 |
+
#define atomic_compare_exchange_weak_explicit(object, expected, desired, success, failure) \
|
119 |
+
atomic_compare_exchange_weak(object, expected, desired)
|
120 |
+
|
121 |
+
#ifdef _WIN64
|
122 |
+
#define atomic_fetch_add(object, operand) \
|
123 |
+
InterlockedExchangeAdd64(object, operand)
|
124 |
+
|
125 |
+
#define atomic_fetch_sub(object, operand) \
|
126 |
+
InterlockedExchangeAdd64(object, -(operand))
|
127 |
+
|
128 |
+
#define atomic_fetch_or(object, operand) \
|
129 |
+
InterlockedOr64(object, operand)
|
130 |
+
|
131 |
+
#define atomic_fetch_xor(object, operand) \
|
132 |
+
InterlockedXor64(object, operand)
|
133 |
+
|
134 |
+
#define atomic_fetch_and(object, operand) \
|
135 |
+
InterlockedAnd64(object, operand)
|
136 |
+
#else
|
137 |
+
#define atomic_fetch_add(object, operand) \
|
138 |
+
InterlockedExchangeAdd(object, operand)
|
139 |
+
|
140 |
+
#define atomic_fetch_sub(object, operand) \
|
141 |
+
InterlockedExchangeAdd(object, -(operand))
|
142 |
+
|
143 |
+
#define atomic_fetch_or(object, operand) \
|
144 |
+
InterlockedOr(object, operand)
|
145 |
+
|
146 |
+
#define atomic_fetch_xor(object, operand) \
|
147 |
+
InterlockedXor(object, operand)
|
148 |
+
|
149 |
+
#define atomic_fetch_and(object, operand) \
|
150 |
+
InterlockedAnd(object, operand)
|
151 |
+
#endif /* _WIN64 */
|
152 |
+
|
153 |
+
#define atomic_fetch_add_explicit(object, operand, order) \
|
154 |
+
atomic_fetch_add(object, operand)
|
155 |
+
|
156 |
+
#define atomic_fetch_sub_explicit(object, operand, order) \
|
157 |
+
atomic_fetch_sub(object, operand)
|
158 |
+
|
159 |
+
#define atomic_fetch_or_explicit(object, operand, order) \
|
160 |
+
atomic_fetch_or(object, operand)
|
161 |
+
|
162 |
+
#define atomic_fetch_xor_explicit(object, operand, order) \
|
163 |
+
atomic_fetch_xor(object, operand)
|
164 |
+
|
165 |
+
#define atomic_fetch_and_explicit(object, operand, order) \
|
166 |
+
atomic_fetch_and(object, operand)
|
167 |
+
|
168 |
+
#define atomic_flag_test_and_set(object) \
|
169 |
+
atomic_exchange(object, 1)
|
170 |
+
|
171 |
+
#define atomic_flag_test_and_set_explicit(object, order) \
|
172 |
+
atomic_flag_test_and_set(object)
|
173 |
+
|
174 |
+
#define atomic_flag_clear(object) \
|
175 |
+
atomic_store(object, 0)
|
176 |
+
|
177 |
+
#define atomic_flag_clear_explicit(object, order) \
|
178 |
+
atomic_flag_clear(object)
|
179 |
+
|
180 |
+
#endif /* COMPAT_ATOMICS_WIN32_STDATOMIC_H */
|
compat/cuda/cuda_runtime.h
ADDED
@@ -0,0 +1,192 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*
|
2 |
+
* Minimum CUDA compatibility definitions header
|
3 |
+
*
|
4 |
+
* Copyright (c) 2019 rcombs
|
5 |
+
*
|
6 |
+
* This file is part of FFmpeg.
|
7 |
+
*
|
8 |
+
* FFmpeg is free software; you can redistribute it and/or
|
9 |
+
* modify it under the terms of the GNU Lesser General Public
|
10 |
+
* License as published by the Free Software Foundation; either
|
11 |
+
* version 2.1 of the License, or (at your option) any later version.
|
12 |
+
*
|
13 |
+
* FFmpeg is distributed in the hope that it will be useful,
|
14 |
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
15 |
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
16 |
+
* Lesser General Public License for more details.
|
17 |
+
*
|
18 |
+
* You should have received a copy of the GNU Lesser General Public
|
19 |
+
* License along with FFmpeg; if not, write to the Free Software
|
20 |
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
21 |
+
*/
|
22 |
+
|
23 |
+
#ifndef COMPAT_CUDA_CUDA_RUNTIME_H
|
24 |
+
#define COMPAT_CUDA_CUDA_RUNTIME_H
|
25 |
+
|
26 |
+
// Common macros
|
27 |
+
#define __global__ __attribute__((global))
|
28 |
+
#define __device__ __attribute__((device))
|
29 |
+
#define __device_builtin__ __attribute__((device_builtin))
|
30 |
+
#define __align__(N) __attribute__((aligned(N)))
|
31 |
+
#define __inline__ __inline__ __attribute__((always_inline))
|
32 |
+
|
33 |
+
#define max(a, b) ((a) > (b) ? (a) : (b))
|
34 |
+
#define min(a, b) ((a) < (b) ? (a) : (b))
|
35 |
+
#define abs(x) ((x) < 0 ? -(x) : (x))
|
36 |
+
|
37 |
+
#define atomicAdd(a, b) (__atomic_fetch_add(a, b, __ATOMIC_SEQ_CST))
|
38 |
+
|
39 |
+
// Basic typedefs
|
40 |
+
typedef __device_builtin__ unsigned long long cudaTextureObject_t;
|
41 |
+
|
42 |
+
typedef struct __device_builtin__ __align__(2) uchar2
|
43 |
+
{
|
44 |
+
unsigned char x, y;
|
45 |
+
} uchar2;
|
46 |
+
|
47 |
+
typedef struct __device_builtin__ __align__(4) ushort2
|
48 |
+
{
|
49 |
+
unsigned short x, y;
|
50 |
+
} ushort2;
|
51 |
+
|
52 |
+
typedef struct __device_builtin__ __align__(8) float2
|
53 |
+
{
|
54 |
+
float x, y;
|
55 |
+
} float2;
|
56 |
+
|
57 |
+
typedef struct __device_builtin__ __align__(8) int2
|
58 |
+
{
|
59 |
+
int x, y;
|
60 |
+
} int2;
|
61 |
+
|
62 |
+
typedef struct __device_builtin__ uint3
|
63 |
+
{
|
64 |
+
unsigned int x, y, z;
|
65 |
+
} uint3;
|
66 |
+
|
67 |
+
typedef struct uint3 dim3;
|
68 |
+
|
69 |
+
typedef struct __device_builtin__ __align__(4) uchar4
|
70 |
+
{
|
71 |
+
unsigned char x, y, z, w;
|
72 |
+
} uchar4;
|
73 |
+
|
74 |
+
typedef struct __device_builtin__ __align__(8) ushort4
|
75 |
+
{
|
76 |
+
unsigned short x, y, z, w;
|
77 |
+
} ushort4;
|
78 |
+
|
79 |
+
typedef struct __device_builtin__ __align__(16) int4
|
80 |
+
{
|
81 |
+
int x, y, z, w;
|
82 |
+
} int4;
|
83 |
+
|
84 |
+
typedef struct __device_builtin__ __align__(16) float4
|
85 |
+
{
|
86 |
+
float x, y, z, w;
|
87 |
+
} float4;
|
88 |
+
|
89 |
+
// Accessors for special registers
|
90 |
+
#define GETCOMP(reg, comp) \
|
91 |
+
asm("mov.u32 %0, %%" #reg "." #comp ";" : "=r"(tmp)); \
|
92 |
+
ret.comp = tmp;
|
93 |
+
|
94 |
+
#define GET(name, reg) static inline __device__ uint3 name() {\
|
95 |
+
uint3 ret; \
|
96 |
+
unsigned tmp; \
|
97 |
+
GETCOMP(reg, x) \
|
98 |
+
GETCOMP(reg, y) \
|
99 |
+
GETCOMP(reg, z) \
|
100 |
+
return ret; \
|
101 |
+
}
|
102 |
+
|
103 |
+
GET(getBlockIdx, ctaid)
|
104 |
+
GET(getBlockDim, ntid)
|
105 |
+
GET(getThreadIdx, tid)
|
106 |
+
|
107 |
+
// Instead of externs for these registers, we turn access to them into calls into trivial ASM
|
108 |
+
#define blockIdx (getBlockIdx())
|
109 |
+
#define blockDim (getBlockDim())
|
110 |
+
#define threadIdx (getThreadIdx())
|
111 |
+
|
112 |
+
// Basic initializers (simple macros rather than inline functions)
|
113 |
+
#define make_int2(a, b) ((int2){.x = a, .y = b})
|
114 |
+
#define make_uchar2(a, b) ((uchar2){.x = a, .y = b})
|
115 |
+
#define make_ushort2(a, b) ((ushort2){.x = a, .y = b})
|
116 |
+
#define make_float2(a, b) ((float2){.x = a, .y = b})
|
117 |
+
#define make_int4(a, b, c, d) ((int4){.x = a, .y = b, .z = c, .w = d})
|
118 |
+
#define make_uchar4(a, b, c, d) ((uchar4){.x = a, .y = b, .z = c, .w = d})
|
119 |
+
#define make_ushort4(a, b, c, d) ((ushort4){.x = a, .y = b, .z = c, .w = d})
|
120 |
+
#define make_float4(a, b, c, d) ((float4){.x = a, .y = b, .z = c, .w = d})
|
121 |
+
|
122 |
+
// Conversions from the tex instruction's 4-register output to various types
|
123 |
+
#define TEX2D(type, ret) static inline __device__ void conv(type* out, unsigned a, unsigned b, unsigned c, unsigned d) {*out = (ret);}
|
124 |
+
|
125 |
+
TEX2D(unsigned char, a & 0xFF)
|
126 |
+
TEX2D(unsigned short, a & 0xFFFF)
|
127 |
+
TEX2D(float, a)
|
128 |
+
TEX2D(uchar2, make_uchar2(a & 0xFF, b & 0xFF))
|
129 |
+
TEX2D(ushort2, make_ushort2(a & 0xFFFF, b & 0xFFFF))
|
130 |
+
TEX2D(float2, make_float2(a, b))
|
131 |
+
TEX2D(uchar4, make_uchar4(a & 0xFF, b & 0xFF, c & 0xFF, d & 0xFF))
|
132 |
+
TEX2D(ushort4, make_ushort4(a & 0xFFFF, b & 0xFFFF, c & 0xFFFF, d & 0xFFFF))
|
133 |
+
TEX2D(float4, make_float4(a, b, c, d))
|
134 |
+
|
135 |
+
// Template calling tex instruction and converting the output to the selected type
|
136 |
+
template<typename T>
|
137 |
+
inline __device__ T tex2D(cudaTextureObject_t texObject, float x, float y)
|
138 |
+
{
|
139 |
+
T ret;
|
140 |
+
unsigned ret1, ret2, ret3, ret4;
|
141 |
+
asm("tex.2d.v4.u32.f32 {%0, %1, %2, %3}, [%4, {%5, %6}];" :
|
142 |
+
"=r"(ret1), "=r"(ret2), "=r"(ret3), "=r"(ret4) :
|
143 |
+
"l"(texObject), "f"(x), "f"(y));
|
144 |
+
conv(&ret, ret1, ret2, ret3, ret4);
|
145 |
+
return ret;
|
146 |
+
}
|
147 |
+
|
148 |
+
template<>
|
149 |
+
inline __device__ float4 tex2D<float4>(cudaTextureObject_t texObject, float x, float y)
|
150 |
+
{
|
151 |
+
float4 ret;
|
152 |
+
asm("tex.2d.v4.f32.f32 {%0, %1, %2, %3}, [%4, {%5, %6}];" :
|
153 |
+
"=r"(ret.x), "=r"(ret.y), "=r"(ret.z), "=r"(ret.w) :
|
154 |
+
"l"(texObject), "f"(x), "f"(y));
|
155 |
+
return ret;
|
156 |
+
}
|
157 |
+
|
158 |
+
template<>
|
159 |
+
inline __device__ float tex2D<float>(cudaTextureObject_t texObject, float x, float y)
|
160 |
+
{
|
161 |
+
return tex2D<float4>(texObject, x, y).x;
|
162 |
+
}
|
163 |
+
|
164 |
+
template<>
|
165 |
+
inline __device__ float2 tex2D<float2>(cudaTextureObject_t texObject, float x, float y)
|
166 |
+
{
|
167 |
+
float4 ret = tex2D<float4>(texObject, x, y);
|
168 |
+
return make_float2(ret.x, ret.y);
|
169 |
+
}
|
170 |
+
|
171 |
+
// Math helper functions
|
172 |
+
static inline __device__ float floorf(float a) { return __builtin_floorf(a); }
|
173 |
+
static inline __device__ float floor(float a) { return __builtin_floorf(a); }
|
174 |
+
static inline __device__ double floor(double a) { return __builtin_floor(a); }
|
175 |
+
static inline __device__ float ceilf(float a) { return __builtin_ceilf(a); }
|
176 |
+
static inline __device__ float ceil(float a) { return __builtin_ceilf(a); }
|
177 |
+
static inline __device__ double ceil(double a) { return __builtin_ceil(a); }
|
178 |
+
static inline __device__ float truncf(float a) { return __builtin_truncf(a); }
|
179 |
+
static inline __device__ float trunc(float a) { return __builtin_truncf(a); }
|
180 |
+
static inline __device__ double trunc(double a) { return __builtin_trunc(a); }
|
181 |
+
static inline __device__ float fabsf(float a) { return __builtin_fabsf(a); }
|
182 |
+
static inline __device__ float fabs(float a) { return __builtin_fabsf(a); }
|
183 |
+
static inline __device__ double fabs(double a) { return __builtin_fabs(a); }
|
184 |
+
static inline __device__ float sqrtf(float a) { return __builtin_sqrtf(a); }
|
185 |
+
|
186 |
+
static inline __device__ float __saturatef(float a) { return __nvvm_saturate_f(a); }
|
187 |
+
static inline __device__ float __sinf(float a) { return __nvvm_sin_approx_f(a); }
|
188 |
+
static inline __device__ float __cosf(float a) { return __nvvm_cos_approx_f(a); }
|
189 |
+
static inline __device__ float __expf(float a) { return __nvvm_ex2_approx_f(a * (float)__builtin_log2(__builtin_exp(1))); }
|
190 |
+
static inline __device__ float __powf(float a, float b) { return __nvvm_ex2_approx_f(__nvvm_lg2_approx_f(a) * b); }
|
191 |
+
|
192 |
+
#endif /* COMPAT_CUDA_CUDA_RUNTIME_H */
|
compat/cuda/dynlink_loader.h
ADDED
@@ -0,0 +1,33 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*
|
2 |
+
* This file is part of FFmpeg.
|
3 |
+
*
|
4 |
+
* FFmpeg is free software; you can redistribute it and/or
|
5 |
+
* modify it under the terms of the GNU Lesser General Public
|
6 |
+
* License as published by the Free Software Foundation; either
|
7 |
+
* version 2.1 of the License, or (at your option) any later version.
|
8 |
+
*
|
9 |
+
* FFmpeg is distributed in the hope that it will be useful,
|
10 |
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
11 |
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
12 |
+
* Lesser General Public License for more details.
|
13 |
+
*
|
14 |
+
* You should have received a copy of the GNU Lesser General Public
|
15 |
+
* License along with FFmpeg; if not, write to the Free Software
|
16 |
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
17 |
+
*/
|
18 |
+
|
19 |
+
#ifndef COMPAT_CUDA_DYNLINK_LOADER_H
|
20 |
+
#define COMPAT_CUDA_DYNLINK_LOADER_H
|
21 |
+
|
22 |
+
#include "libavutil/log.h"
|
23 |
+
#include "compat/w32dlfcn.h"
|
24 |
+
|
25 |
+
#define FFNV_LOAD_FUNC(path) dlopen((path), RTLD_LAZY)
|
26 |
+
#define FFNV_SYM_FUNC(lib, sym) dlsym((lib), (sym))
|
27 |
+
#define FFNV_FREE_FUNC(lib) dlclose(lib)
|
28 |
+
#define FFNV_LOG_FUNC(logctx, msg, ...) av_log(logctx, AV_LOG_ERROR, msg, __VA_ARGS__)
|
29 |
+
#define FFNV_DEBUG_LOG_FUNC(logctx, msg, ...) av_log(logctx, AV_LOG_DEBUG, msg, __VA_ARGS__)
|
30 |
+
|
31 |
+
#include <ffnvcodec/dynlink_loader.h>
|
32 |
+
|
33 |
+
#endif /* COMPAT_CUDA_DYNLINK_LOADER_H */
|
compat/dispatch_semaphore/semaphore.h
ADDED
@@ -0,0 +1,42 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*
|
2 |
+
* This file is part of FFmpeg.
|
3 |
+
*
|
4 |
+
* FFmpeg is free software; you can redistribute it and/or
|
5 |
+
* modify it under the terms of the GNU Lesser General Public
|
6 |
+
* License as published by the Free Software Foundation; either
|
7 |
+
* version 2.1 of the License, or (at your option) any later version.
|
8 |
+
*
|
9 |
+
* FFmpeg is distributed in the hope that it will be useful,
|
10 |
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
11 |
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
12 |
+
* Lesser General Public License for more details.
|
13 |
+
*
|
14 |
+
* You should have received a copy of the GNU Lesser General Public
|
15 |
+
* License along with FFmpeg; if not, write to the Free Software
|
16 |
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
17 |
+
*/
|
18 |
+
|
19 |
+
#ifndef COMPAT_DISPATCH_SEMAPHORE_SEMAPHORE_H
|
20 |
+
#define COMPAT_DISPATCH_SEMAPHORE_SEMAPHORE_H
|
21 |
+
|
22 |
+
#include <dispatch/dispatch.h>
|
23 |
+
#include <errno.h>
|
24 |
+
|
25 |
+
#define sem_t dispatch_semaphore_t
|
26 |
+
#define sem_post(psem) dispatch_semaphore_signal(*psem)
|
27 |
+
#define sem_wait(psem) dispatch_semaphore_wait(*psem, DISPATCH_TIME_FOREVER)
|
28 |
+
#define sem_timedwait(psem, val) dispatch_semaphore_wait(*psem, dispatch_walltime(val, 0))
|
29 |
+
#define sem_destroy(psem) dispatch_release(*psem)
|
30 |
+
|
31 |
+
static inline int compat_sem_init(dispatch_semaphore_t *psem,
|
32 |
+
int unused, int val)
|
33 |
+
{
|
34 |
+
int ret = !!(*psem = dispatch_semaphore_create(val)) - 1;
|
35 |
+
if (ret < 0)
|
36 |
+
errno = ENOMEM;
|
37 |
+
return ret;
|
38 |
+
}
|
39 |
+
|
40 |
+
#define sem_init compat_sem_init
|
41 |
+
|
42 |
+
#endif /* COMPAT_DISPATCH_SEMAPHORE_SEMAPHORE_H */
|
compat/djgpp/math.c
ADDED
@@ -0,0 +1,47 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*
|
2 |
+
* This file is part of FFmpeg.
|
3 |
+
*
|
4 |
+
* FFmpeg is free software; you can redistribute it and/or
|
5 |
+
* modify it under the terms of the GNU Lesser General Public
|
6 |
+
* License as published by the Free Software Foundation; either
|
7 |
+
* version 2.1 of the License, or (at your option) any later version.
|
8 |
+
*
|
9 |
+
* FFmpeg is distributed in the hope that it will be useful,
|
10 |
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
11 |
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
12 |
+
* Lesser General Public License for more details.
|
13 |
+
*
|
14 |
+
* You should have received a copy of the GNU Lesser General Public
|
15 |
+
* License along with FFmpeg; if not, write to the Free Software
|
16 |
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
17 |
+
*/
|
18 |
+
|
19 |
+
#include <math.h>
|
20 |
+
|
21 |
+
#define FUN(name, type, op) \
|
22 |
+
type name(type x, type y) \
|
23 |
+
{ \
|
24 |
+
if (fpclassify(x) == FP_NAN) return y; \
|
25 |
+
if (fpclassify(y) == FP_NAN) return x; \
|
26 |
+
return x op y ? x : y; \
|
27 |
+
}
|
28 |
+
|
29 |
+
FUN(fmin, double, <)
|
30 |
+
FUN(fmax, double, >)
|
31 |
+
FUN(fminf, float, <)
|
32 |
+
FUN(fmaxf, float, >)
|
33 |
+
|
34 |
+
long double fmodl(long double x, long double y)
|
35 |
+
{
|
36 |
+
return fmod(x, y);
|
37 |
+
}
|
38 |
+
|
39 |
+
long double scalbnl(long double x, int exp)
|
40 |
+
{
|
41 |
+
return scalbn(x, exp);
|
42 |
+
}
|
43 |
+
|
44 |
+
long double copysignl(long double x, long double y)
|
45 |
+
{
|
46 |
+
return copysign(x, y);
|
47 |
+
}
|
compat/djgpp/math.h
ADDED
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*
|
2 |
+
* This file is part of FFmpeg.
|
3 |
+
*
|
4 |
+
* FFmpeg is free software; you can redistribute it and/or
|
5 |
+
* modify it under the terms of the GNU Lesser General Public
|
6 |
+
* License as published by the Free Software Foundation; either
|
7 |
+
* version 2.1 of the License, or (at your option) any later version.
|
8 |
+
*
|
9 |
+
* FFmpeg is distributed in the hope that it will be useful,
|
10 |
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
11 |
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
12 |
+
* Lesser General Public License for more details.
|
13 |
+
*
|
14 |
+
* You should have received a copy of the GNU Lesser General Public
|
15 |
+
* License along with FFmpeg; if not, write to the Free Software
|
16 |
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
17 |
+
*/
|
18 |
+
|
19 |
+
double fmin(double, double);
|
20 |
+
double fmax(double, double);
|
21 |
+
float fminf(float, float);
|
22 |
+
float fmaxf(float, float);
|
23 |
+
long double fmodl(long double, long double);
|
24 |
+
long double scalbnl(long double, int);
|
25 |
+
long double copysignl(long double, long double);
|
compat/float/float.h
ADDED
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*
|
2 |
+
* Work around broken floating point limits on some systems.
|
3 |
+
*
|
4 |
+
* This file is part of FFmpeg.
|
5 |
+
*
|
6 |
+
* FFmpeg is free software; you can redistribute it and/or
|
7 |
+
* modify it under the terms of the GNU Lesser General Public
|
8 |
+
* License as published by the Free Software Foundation; either
|
9 |
+
* version 2.1 of the License, or (at your option) any later version.
|
10 |
+
*
|
11 |
+
* FFmpeg is distributed in the hope that it will be useful,
|
12 |
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13 |
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
14 |
+
* Lesser General Public License for more details.
|
15 |
+
*
|
16 |
+
* You should have received a copy of the GNU Lesser General Public
|
17 |
+
* License along with FFmpeg; if not, write to the Free Software
|
18 |
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
19 |
+
*/
|
20 |
+
|
21 |
+
#include_next <float.h>
|
22 |
+
|
23 |
+
#ifdef FLT_MAX
|
24 |
+
#undef FLT_MAX
|
25 |
+
#define FLT_MAX 3.40282346638528859812e+38F
|
26 |
+
|
27 |
+
#undef FLT_MIN
|
28 |
+
#define FLT_MIN 1.17549435082228750797e-38F
|
29 |
+
|
30 |
+
#undef DBL_MAX
|
31 |
+
#define DBL_MAX ((double)1.79769313486231570815e+308L)
|
32 |
+
|
33 |
+
#undef DBL_MIN
|
34 |
+
#define DBL_MIN ((double)2.22507385850720138309e-308L)
|
35 |
+
#endif
|
compat/float/limits.h
ADDED
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*
|
2 |
+
* Work around broken floating point limits on some systems.
|
3 |
+
*
|
4 |
+
* This file is part of FFmpeg.
|
5 |
+
*
|
6 |
+
* FFmpeg is free software; you can redistribute it and/or
|
7 |
+
* modify it under the terms of the GNU Lesser General Public
|
8 |
+
* License as published by the Free Software Foundation; either
|
9 |
+
* version 2.1 of the License, or (at your option) any later version.
|
10 |
+
*
|
11 |
+
* FFmpeg is distributed in the hope that it will be useful,
|
12 |
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13 |
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
14 |
+
* Lesser General Public License for more details.
|
15 |
+
*
|
16 |
+
* You should have received a copy of the GNU Lesser General Public
|
17 |
+
* License along with FFmpeg; if not, write to the Free Software
|
18 |
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
19 |
+
*/
|
20 |
+
|
21 |
+
#include_next <limits.h>
|
22 |
+
#include <float.h>
|
compat/getopt.c
ADDED
@@ -0,0 +1,84 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*
|
2 |
+
* This file is part of FFmpeg.
|
3 |
+
*
|
4 |
+
* FFmpeg is free software; you can redistribute it and/or
|
5 |
+
* modify it under the terms of the GNU Lesser General Public
|
6 |
+
* License as published by the Free Software Foundation; either
|
7 |
+
* version 2.1 of the License, or (at your option) any later version.
|
8 |
+
*
|
9 |
+
* FFmpeg is distributed in the hope that it will be useful,
|
10 |
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
11 |
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
12 |
+
* Lesser General Public License for more details.
|
13 |
+
*
|
14 |
+
* You should have received a copy of the GNU Lesser General Public
|
15 |
+
* License along with FFmpeg; if not, write to the Free Software
|
16 |
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
17 |
+
*/
|
18 |
+
|
19 |
+
/*
|
20 |
+
* This file was copied from the following newsgroup posting:
|
21 |
+
*
|
22 |
+
* Newsgroups: mod.std.unix
|
23 |
+
* Subject: public domain AT&T getopt source
|
24 |
+
* Date: 3 Nov 85 19:34:15 GMT
|
25 |
+
*
|
26 |
+
* Here's something you've all been waiting for: the AT&T public domain
|
27 |
+
* source for getopt(3). It is the code which was given out at the 1985
|
28 |
+
* UNIFORUM conference in Dallas. I obtained it by electronic mail
|
29 |
+
* directly from AT&T. The people there assure me that it is indeed
|
30 |
+
* in the public domain.
|
31 |
+
*/
|
32 |
+
|
33 |
+
#include <stdio.h>
|
34 |
+
#include <string.h>
|
35 |
+
|
36 |
+
static int opterr = 1;
|
37 |
+
static int optind = 1;
|
38 |
+
static int optopt;
|
39 |
+
static char *optarg;
|
40 |
+
|
41 |
+
static int getopt(int argc, char *argv[], char *opts)
|
42 |
+
{
|
43 |
+
static int sp = 1;
|
44 |
+
int c;
|
45 |
+
char *cp;
|
46 |
+
|
47 |
+
if (sp == 1) {
|
48 |
+
if (optind >= argc ||
|
49 |
+
argv[optind][0] != '-' || argv[optind][1] == '\0')
|
50 |
+
return EOF;
|
51 |
+
else if (!strcmp(argv[optind], "--")) {
|
52 |
+
optind++;
|
53 |
+
return EOF;
|
54 |
+
}
|
55 |
+
}
|
56 |
+
optopt = c = argv[optind][sp];
|
57 |
+
if (c == ':' || !(cp = strchr(opts, c))) {
|
58 |
+
fprintf(stderr, ": illegal option -- %c\n", c);
|
59 |
+
if (argv[optind][++sp] == '\0') {
|
60 |
+
optind++;
|
61 |
+
sp = 1;
|
62 |
+
}
|
63 |
+
return '?';
|
64 |
+
}
|
65 |
+
if (*++cp == ':') {
|
66 |
+
if (argv[optind][sp+1] != '\0')
|
67 |
+
optarg = &argv[optind++][sp+1];
|
68 |
+
else if(++optind >= argc) {
|
69 |
+
fprintf(stderr, ": option requires an argument -- %c\n", c);
|
70 |
+
sp = 1;
|
71 |
+
return '?';
|
72 |
+
} else
|
73 |
+
optarg = argv[optind++];
|
74 |
+
sp = 1;
|
75 |
+
} else {
|
76 |
+
if (argv[optind][++sp] == '\0') {
|
77 |
+
sp = 1;
|
78 |
+
optind++;
|
79 |
+
}
|
80 |
+
optarg = NULL;
|
81 |
+
}
|
82 |
+
|
83 |
+
return c;
|
84 |
+
}
|
compat/msvcrt/snprintf.c
ADDED
@@ -0,0 +1,71 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*
|
2 |
+
* C99-compatible snprintf() and vsnprintf() implementations
|
3 |
+
* Copyright (c) 2012 Ronald S. Bultje <rsbultje@gmail.com>
|
4 |
+
*
|
5 |
+
* This file is part of FFmpeg.
|
6 |
+
*
|
7 |
+
* FFmpeg is free software; you can redistribute it and/or
|
8 |
+
* modify it under the terms of the GNU Lesser General Public
|
9 |
+
* License as published by the Free Software Foundation; either
|
10 |
+
* version 2.1 of the License, or (at your option) any later version.
|
11 |
+
*
|
12 |
+
* FFmpeg is distributed in the hope that it will be useful,
|
13 |
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
14 |
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
15 |
+
* Lesser General Public License for more details.
|
16 |
+
*
|
17 |
+
* You should have received a copy of the GNU Lesser General Public
|
18 |
+
* License along with FFmpeg; if not, write to the Free Software
|
19 |
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
20 |
+
*/
|
21 |
+
|
22 |
+
#include <stdio.h>
|
23 |
+
#include <stdarg.h>
|
24 |
+
#include <limits.h>
|
25 |
+
#include <string.h>
|
26 |
+
|
27 |
+
#include "compat/va_copy.h"
|
28 |
+
#include "libavutil/error.h"
|
29 |
+
|
30 |
+
#if defined(__MINGW32__)
|
31 |
+
#define EOVERFLOW EFBIG
|
32 |
+
#endif
|
33 |
+
|
34 |
+
int avpriv_snprintf(char *s, size_t n, const char *fmt, ...)
|
35 |
+
{
|
36 |
+
va_list ap;
|
37 |
+
int ret;
|
38 |
+
|
39 |
+
va_start(ap, fmt);
|
40 |
+
ret = avpriv_vsnprintf(s, n, fmt, ap);
|
41 |
+
va_end(ap);
|
42 |
+
|
43 |
+
return ret;
|
44 |
+
}
|
45 |
+
|
46 |
+
int avpriv_vsnprintf(char *s, size_t n, const char *fmt,
|
47 |
+
va_list ap)
|
48 |
+
{
|
49 |
+
int ret;
|
50 |
+
va_list ap_copy;
|
51 |
+
|
52 |
+
if (n == 0)
|
53 |
+
return _vscprintf(fmt, ap);
|
54 |
+
else if (n > INT_MAX)
|
55 |
+
return AVERROR(EOVERFLOW);
|
56 |
+
|
57 |
+
/* we use n - 1 here because if the buffer is not big enough, the MS
|
58 |
+
* runtime libraries don't add a terminating zero at the end. MSDN
|
59 |
+
* recommends to provide _snprintf/_vsnprintf() a buffer size that
|
60 |
+
* is one less than the actual buffer, and zero it before calling
|
61 |
+
* _snprintf/_vsnprintf() to workaround this problem.
|
62 |
+
* See https://web.archive.org/web/20151214111935/http://msdn.microsoft.com/en-us/library/1kt27hek(v=vs.80).aspx */
|
63 |
+
memset(s, 0, n);
|
64 |
+
va_copy(ap_copy, ap);
|
65 |
+
ret = _vsnprintf(s, n - 1, fmt, ap_copy);
|
66 |
+
va_end(ap_copy);
|
67 |
+
if (ret == -1)
|
68 |
+
ret = _vscprintf(fmt, ap);
|
69 |
+
|
70 |
+
return ret;
|
71 |
+
}
|
compat/msvcrt/snprintf.h
ADDED
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*
|
2 |
+
* C99-compatible snprintf() and vsnprintf() implementations
|
3 |
+
* Copyright (c) 2012 Ronald S. Bultje <rsbultje@gmail.com>
|
4 |
+
*
|
5 |
+
* This file is part of FFmpeg.
|
6 |
+
*
|
7 |
+
* FFmpeg is free software; you can redistribute it and/or
|
8 |
+
* modify it under the terms of the GNU Lesser General Public
|
9 |
+
* License as published by the Free Software Foundation; either
|
10 |
+
* version 2.1 of the License, or (at your option) any later version.
|
11 |
+
*
|
12 |
+
* FFmpeg is distributed in the hope that it will be useful,
|
13 |
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
14 |
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
15 |
+
* Lesser General Public License for more details.
|
16 |
+
*
|
17 |
+
* You should have received a copy of the GNU Lesser General Public
|
18 |
+
* License along with FFmpeg; if not, write to the Free Software
|
19 |
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
20 |
+
*/
|
21 |
+
|
22 |
+
#ifndef COMPAT_MSVCRT_SNPRINTF_H
|
23 |
+
#define COMPAT_MSVCRT_SNPRINTF_H
|
24 |
+
|
25 |
+
#include <stdarg.h>
|
26 |
+
#include <stdio.h>
|
27 |
+
|
28 |
+
int avpriv_snprintf(char *s, size_t n, const char *fmt, ...);
|
29 |
+
int avpriv_vsnprintf(char *s, size_t n, const char *fmt, va_list ap);
|
30 |
+
|
31 |
+
#undef snprintf
|
32 |
+
#undef _snprintf
|
33 |
+
#undef vsnprintf
|
34 |
+
#define snprintf avpriv_snprintf
|
35 |
+
#define _snprintf avpriv_snprintf
|
36 |
+
#define vsnprintf avpriv_vsnprintf
|
37 |
+
|
38 |
+
#endif /* COMPAT_MSVCRT_SNPRINTF_H */
|
compat/os2threads.h
ADDED
@@ -0,0 +1,229 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*
|
2 |
+
* Copyright (c) 2011-2017 KO Myung-Hun <komh@chollian.net>
|
3 |
+
*
|
4 |
+
* This file is part of FFmpeg.
|
5 |
+
*
|
6 |
+
* FFmpeg is free software; you can redistribute it and/or
|
7 |
+
* modify it under the terms of the GNU Lesser General Public
|
8 |
+
* License as published by the Free Software Foundation; either
|
9 |
+
* version 2.1 of the License, or (at your option) any later version.
|
10 |
+
*
|
11 |
+
* FFmpeg is distributed in the hope that it will be useful,
|
12 |
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13 |
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
14 |
+
* Lesser General Public License for more details.
|
15 |
+
*
|
16 |
+
* You should have received a copy of the GNU Lesser General Public
|
17 |
+
* License along with FFmpeg; if not, write to the Free Software
|
18 |
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
19 |
+
*/
|
20 |
+
|
21 |
+
/**
|
22 |
+
* @file
|
23 |
+
* os2threads to pthreads wrapper
|
24 |
+
*/
|
25 |
+
|
26 |
+
#ifndef COMPAT_OS2THREADS_H
|
27 |
+
#define COMPAT_OS2THREADS_H
|
28 |
+
|
29 |
+
#define INCL_DOS
|
30 |
+
#define INCL_DOSERRORS
|
31 |
+
#include <os2.h>
|
32 |
+
|
33 |
+
#undef __STRICT_ANSI__ /* for _beginthread() */
|
34 |
+
#include <stdlib.h>
|
35 |
+
#include <time.h>
|
36 |
+
|
37 |
+
#include <sys/builtin.h>
|
38 |
+
#include <sys/fmutex.h>
|
39 |
+
|
40 |
+
#include "libavutil/attributes.h"
|
41 |
+
#include "libavutil/common.h"
|
42 |
+
#include "libavutil/time.h"
|
43 |
+
|
44 |
+
typedef struct {
|
45 |
+
TID tid;
|
46 |
+
void *(*start_routine)(void *);
|
47 |
+
void *arg;
|
48 |
+
void *result;
|
49 |
+
} pthread_t;
|
50 |
+
|
51 |
+
typedef void pthread_attr_t;
|
52 |
+
|
53 |
+
typedef _fmutex pthread_mutex_t;
|
54 |
+
typedef void pthread_mutexattr_t;
|
55 |
+
|
56 |
+
#define PTHREAD_MUTEX_INITIALIZER _FMUTEX_INITIALIZER
|
57 |
+
|
58 |
+
typedef struct {
|
59 |
+
HEV event_sem;
|
60 |
+
HEV ack_sem;
|
61 |
+
volatile unsigned wait_count;
|
62 |
+
} pthread_cond_t;
|
63 |
+
|
64 |
+
typedef void pthread_condattr_t;
|
65 |
+
|
66 |
+
typedef struct {
|
67 |
+
volatile int done;
|
68 |
+
_fmutex mtx;
|
69 |
+
} pthread_once_t;
|
70 |
+
|
71 |
+
#define PTHREAD_ONCE_INIT {0, _FMUTEX_INITIALIZER}
|
72 |
+
|
73 |
+
static void thread_entry(void *arg)
|
74 |
+
{
|
75 |
+
pthread_t *thread = arg;
|
76 |
+
|
77 |
+
thread->result = thread->start_routine(thread->arg);
|
78 |
+
}
|
79 |
+
|
80 |
+
static av_always_inline int pthread_create(pthread_t *thread,
|
81 |
+
const pthread_attr_t *attr,
|
82 |
+
void *(*start_routine)(void*),
|
83 |
+
void *arg)
|
84 |
+
{
|
85 |
+
thread->start_routine = start_routine;
|
86 |
+
thread->arg = arg;
|
87 |
+
thread->result = NULL;
|
88 |
+
|
89 |
+
thread->tid = _beginthread(thread_entry, NULL, 1024 * 1024, thread);
|
90 |
+
|
91 |
+
return 0;
|
92 |
+
}
|
93 |
+
|
94 |
+
static av_always_inline int pthread_join(pthread_t thread, void **value_ptr)
|
95 |
+
{
|
96 |
+
DosWaitThread(&thread.tid, DCWW_WAIT);
|
97 |
+
|
98 |
+
if (value_ptr)
|
99 |
+
*value_ptr = thread.result;
|
100 |
+
|
101 |
+
return 0;
|
102 |
+
}
|
103 |
+
|
104 |
+
static av_always_inline int pthread_mutex_init(pthread_mutex_t *mutex,
|
105 |
+
const pthread_mutexattr_t *attr)
|
106 |
+
{
|
107 |
+
_fmutex_create(mutex, 0);
|
108 |
+
|
109 |
+
return 0;
|
110 |
+
}
|
111 |
+
|
112 |
+
static av_always_inline int pthread_mutex_destroy(pthread_mutex_t *mutex)
|
113 |
+
{
|
114 |
+
_fmutex_close(mutex);
|
115 |
+
|
116 |
+
return 0;
|
117 |
+
}
|
118 |
+
|
119 |
+
static av_always_inline int pthread_mutex_lock(pthread_mutex_t *mutex)
|
120 |
+
{
|
121 |
+
_fmutex_request(mutex, 0);
|
122 |
+
|
123 |
+
return 0;
|
124 |
+
}
|
125 |
+
|
126 |
+
static av_always_inline int pthread_mutex_unlock(pthread_mutex_t *mutex)
|
127 |
+
{
|
128 |
+
_fmutex_release(mutex);
|
129 |
+
|
130 |
+
return 0;
|
131 |
+
}
|
132 |
+
|
133 |
+
static av_always_inline int pthread_cond_init(pthread_cond_t *cond,
|
134 |
+
const pthread_condattr_t *attr)
|
135 |
+
{
|
136 |
+
DosCreateEventSem(NULL, &cond->event_sem, DCE_POSTONE, FALSE);
|
137 |
+
DosCreateEventSem(NULL, &cond->ack_sem, DCE_POSTONE, FALSE);
|
138 |
+
|
139 |
+
cond->wait_count = 0;
|
140 |
+
|
141 |
+
return 0;
|
142 |
+
}
|
143 |
+
|
144 |
+
static av_always_inline int pthread_cond_destroy(pthread_cond_t *cond)
|
145 |
+
{
|
146 |
+
DosCloseEventSem(cond->event_sem);
|
147 |
+
DosCloseEventSem(cond->ack_sem);
|
148 |
+
|
149 |
+
return 0;
|
150 |
+
}
|
151 |
+
|
152 |
+
static av_always_inline int pthread_cond_signal(pthread_cond_t *cond)
|
153 |
+
{
|
154 |
+
if (!__atomic_cmpxchg32(&cond->wait_count, 0, 0)) {
|
155 |
+
DosPostEventSem(cond->event_sem);
|
156 |
+
DosWaitEventSem(cond->ack_sem, SEM_INDEFINITE_WAIT);
|
157 |
+
}
|
158 |
+
|
159 |
+
return 0;
|
160 |
+
}
|
161 |
+
|
162 |
+
static av_always_inline int pthread_cond_broadcast(pthread_cond_t *cond)
|
163 |
+
{
|
164 |
+
while (!__atomic_cmpxchg32(&cond->wait_count, 0, 0))
|
165 |
+
pthread_cond_signal(cond);
|
166 |
+
|
167 |
+
return 0;
|
168 |
+
}
|
169 |
+
|
170 |
+
static av_always_inline int pthread_cond_timedwait(pthread_cond_t *cond,
|
171 |
+
pthread_mutex_t *mutex,
|
172 |
+
const struct timespec *abstime)
|
173 |
+
{
|
174 |
+
int64_t abs_milli = abstime->tv_sec * 1000LL + abstime->tv_nsec / 1000000;
|
175 |
+
ULONG t = av_clip64(abs_milli - av_gettime() / 1000, 0, ULONG_MAX);
|
176 |
+
|
177 |
+
__atomic_increment(&cond->wait_count);
|
178 |
+
|
179 |
+
pthread_mutex_unlock(mutex);
|
180 |
+
|
181 |
+
APIRET ret = DosWaitEventSem(cond->event_sem, t);
|
182 |
+
|
183 |
+
__atomic_decrement(&cond->wait_count);
|
184 |
+
|
185 |
+
DosPostEventSem(cond->ack_sem);
|
186 |
+
|
187 |
+
pthread_mutex_lock(mutex);
|
188 |
+
|
189 |
+
return (ret == ERROR_TIMEOUT) ? ETIMEDOUT : 0;
|
190 |
+
}
|
191 |
+
|
192 |
+
static av_always_inline int pthread_cond_wait(pthread_cond_t *cond,
|
193 |
+
pthread_mutex_t *mutex)
|
194 |
+
{
|
195 |
+
__atomic_increment(&cond->wait_count);
|
196 |
+
|
197 |
+
pthread_mutex_unlock(mutex);
|
198 |
+
|
199 |
+
DosWaitEventSem(cond->event_sem, SEM_INDEFINITE_WAIT);
|
200 |
+
|
201 |
+
__atomic_decrement(&cond->wait_count);
|
202 |
+
|
203 |
+
DosPostEventSem(cond->ack_sem);
|
204 |
+
|
205 |
+
pthread_mutex_lock(mutex);
|
206 |
+
|
207 |
+
return 0;
|
208 |
+
}
|
209 |
+
|
210 |
+
static av_always_inline int pthread_once(pthread_once_t *once_control,
|
211 |
+
void (*init_routine)(void))
|
212 |
+
{
|
213 |
+
if (!once_control->done)
|
214 |
+
{
|
215 |
+
_fmutex_request(&once_control->mtx, 0);
|
216 |
+
|
217 |
+
if (!once_control->done)
|
218 |
+
{
|
219 |
+
init_routine();
|
220 |
+
|
221 |
+
once_control->done = 1;
|
222 |
+
}
|
223 |
+
|
224 |
+
_fmutex_release(&once_control->mtx);
|
225 |
+
}
|
226 |
+
|
227 |
+
return 0;
|
228 |
+
}
|
229 |
+
#endif /* COMPAT_OS2THREADS_H */
|
compat/solaris/make_sunver.pl
ADDED
@@ -0,0 +1,352 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
#!/usr/bin/env perl
|
2 |
+
|
3 |
+
# make_sunver.pl
|
4 |
+
#
|
5 |
+
# Copyright (C) 2010, 2011, 2012, 2013
|
6 |
+
# Free Software Foundation, Inc.
|
7 |
+
#
|
8 |
+
# This file is free software; you can redistribute it and/or modify it
|
9 |
+
# under the terms of the GNU General Public License as published by
|
10 |
+
# the Free Software Foundation; either version 3 of the License, or
|
11 |
+
# (at your option) any later version.
|
12 |
+
#
|
13 |
+
# This program is distributed in the hope that it will be useful, but
|
14 |
+
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
15 |
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
16 |
+
# General Public License for more details.
|
17 |
+
#
|
18 |
+
# You should have received a copy of the GNU General Public License
|
19 |
+
# along with this program; see the file COPYING.GPLv3. If not see
|
20 |
+
# <http://www.gnu.org/licenses/>.
|
21 |
+
|
22 |
+
# This script takes at least two arguments, a GNU style version script and
|
23 |
+
# a list of object and archive files, and generates a corresponding Sun
|
24 |
+
# style version script as follows:
|
25 |
+
#
|
26 |
+
# Each glob pattern, C++ mangled pattern or literal in the input script is
|
27 |
+
# matched against all global symbols in the input objects, emitting those
|
28 |
+
# that matched (or nothing if no match was found).
|
29 |
+
# A comment with the original pattern and its type is left in the output
|
30 |
+
# file to make it easy to understand the matches.
|
31 |
+
#
|
32 |
+
# It uses elfdump when present (native), GNU readelf otherwise.
|
33 |
+
# It depends on the GNU version of c++filt, since it must understand the
|
34 |
+
# GNU mangling style.
|
35 |
+
|
36 |
+
use FileHandle;
|
37 |
+
use IPC::Open2;
|
38 |
+
|
39 |
+
# Enforce C locale.
|
40 |
+
$ENV{'LC_ALL'} = "C";
|
41 |
+
$ENV{'LANG'} = "C";
|
42 |
+
|
43 |
+
# Input version script, GNU style.
|
44 |
+
my $symvers = shift;
|
45 |
+
|
46 |
+
##########
|
47 |
+
# Get all the symbols from the library, match them, and add them to a hash.
|
48 |
+
|
49 |
+
my %sym_hash = ();
|
50 |
+
|
51 |
+
# List of objects and archives to process.
|
52 |
+
my @OBJECTS = ();
|
53 |
+
|
54 |
+
# List of shared objects to omit from processing.
|
55 |
+
my @SHAREDOBJS = ();
|
56 |
+
|
57 |
+
# Filter out those input archives that have corresponding shared objects to
|
58 |
+
# avoid adding all symbols matched in the archive to the output map.
|
59 |
+
foreach $file (@ARGV) {
|
60 |
+
if (($so = $file) =~ s/\.a$/.so/ && -e $so) {
|
61 |
+
printf STDERR "omitted $file -> $so\n";
|
62 |
+
push (@SHAREDOBJS, $so);
|
63 |
+
} else {
|
64 |
+
push (@OBJECTS, $file);
|
65 |
+
}
|
66 |
+
}
|
67 |
+
|
68 |
+
# We need to detect and ignore hidden symbols. Solaris nm can only detect
|
69 |
+
# this in the harder to parse default output format, and GNU nm not at all,
|
70 |
+
# so use elfdump -s in the native case and GNU readelf -s otherwise.
|
71 |
+
# GNU objdump -t cannot be used since it produces a variable number of
|
72 |
+
# columns.
|
73 |
+
|
74 |
+
# The path to elfdump.
|
75 |
+
my $elfdump = "/usr/ccs/bin/elfdump";
|
76 |
+
|
77 |
+
if (-f $elfdump) {
|
78 |
+
open ELFDUMP,$elfdump.' -s '.(join ' ',@OBJECTS).'|' or die $!;
|
79 |
+
my $skip_arsym = 0;
|
80 |
+
|
81 |
+
while (<ELFDUMP>) {
|
82 |
+
chomp;
|
83 |
+
|
84 |
+
# Ignore empty lines.
|
85 |
+
if (/^$/) {
|
86 |
+
# End of archive symbol table, stop skipping.
|
87 |
+
$skip_arsym = 0 if $skip_arsym;
|
88 |
+
next;
|
89 |
+
}
|
90 |
+
|
91 |
+
# Keep skipping until end of archive symbol table.
|
92 |
+
next if ($skip_arsym);
|
93 |
+
|
94 |
+
# Ignore object name header for individual objects and archives.
|
95 |
+
next if (/:$/);
|
96 |
+
|
97 |
+
# Ignore table header lines.
|
98 |
+
next if (/^Symbol Table Section:/);
|
99 |
+
next if (/index.*value.*size/);
|
100 |
+
|
101 |
+
# Start of archive symbol table: start skipping.
|
102 |
+
if (/^Symbol Table: \(archive/) {
|
103 |
+
$skip_arsym = 1;
|
104 |
+
next;
|
105 |
+
}
|
106 |
+
|
107 |
+
# Split table.
|
108 |
+
(undef, undef, undef, undef, $bind, $oth, undef, $shndx, $name) = split;
|
109 |
+
|
110 |
+
# Error out for unknown input.
|
111 |
+
die "unknown input line:\n$_" unless defined($bind);
|
112 |
+
|
113 |
+
# Ignore local symbols.
|
114 |
+
next if ($bind eq "LOCL");
|
115 |
+
# Ignore hidden symbols.
|
116 |
+
next if ($oth eq "H");
|
117 |
+
# Ignore undefined symbols.
|
118 |
+
next if ($shndx eq "UNDEF");
|
119 |
+
# Error out for unhandled cases.
|
120 |
+
if ($bind !~ /^(GLOB|WEAK)/ or $oth ne "D") {
|
121 |
+
die "unhandled symbol:\n$_";
|
122 |
+
}
|
123 |
+
|
124 |
+
# Remember symbol.
|
125 |
+
$sym_hash{$name}++;
|
126 |
+
}
|
127 |
+
close ELFDUMP or die "$elfdump error";
|
128 |
+
} else {
|
129 |
+
open READELF, 'readelf -s -W '.(join ' ',@OBJECTS).'|' or die $!;
|
130 |
+
# Process each symbol.
|
131 |
+
while (<READELF>) {
|
132 |
+
chomp;
|
133 |
+
|
134 |
+
# Ignore empty lines.
|
135 |
+
next if (/^$/);
|
136 |
+
|
137 |
+
# Ignore object name header.
|
138 |
+
next if (/^File: .*$/);
|
139 |
+
|
140 |
+
# Ignore table header lines.
|
141 |
+
next if (/^Symbol table.*contains.*:/);
|
142 |
+
next if (/Num:.*Value.*Size/);
|
143 |
+
|
144 |
+
# Split table.
|
145 |
+
(undef, undef, undef, undef, $bind, $vis, $ndx, $name) = split;
|
146 |
+
|
147 |
+
# Error out for unknown input.
|
148 |
+
die "unknown input line:\n$_" unless defined($bind);
|
149 |
+
|
150 |
+
# Ignore local symbols.
|
151 |
+
next if ($bind eq "LOCAL");
|
152 |
+
# Ignore hidden symbols.
|
153 |
+
next if ($vis eq "HIDDEN");
|
154 |
+
# Ignore undefined symbols.
|
155 |
+
next if ($ndx eq "UND");
|
156 |
+
# Error out for unhandled cases.
|
157 |
+
if ($bind !~ /^(GLOBAL|WEAK)/ or $vis ne "DEFAULT") {
|
158 |
+
die "unhandled symbol:\n$_";
|
159 |
+
}
|
160 |
+
|
161 |
+
# Remember symbol.
|
162 |
+
$sym_hash{$name}++;
|
163 |
+
}
|
164 |
+
close READELF or die "readelf error";
|
165 |
+
}
|
166 |
+
|
167 |
+
##########
|
168 |
+
# The various types of glob patterns.
|
169 |
+
#
|
170 |
+
# A glob pattern that is to be applied to the demangled name: 'cxx'.
|
171 |
+
# A glob patterns that applies directly to the name in the .o files: 'glob'.
|
172 |
+
# This pattern is ignored; used for local variables (usually just '*'): 'ign'.
|
173 |
+
|
174 |
+
# The type of the current pattern.
|
175 |
+
my $glob = 'glob';
|
176 |
+
|
177 |
+
# We're currently inside `extern "C++"', which Sun ld doesn't understand.
|
178 |
+
my $in_extern = 0;
|
179 |
+
|
180 |
+
# The c++filt command to use. This *must* be GNU c++filt; the Sun Studio
|
181 |
+
# c++filt doesn't handle the GNU mangling style.
|
182 |
+
my $cxxfilt = $ENV{'CXXFILT'} || "c++filt";
|
183 |
+
|
184 |
+
# The current version name.
|
185 |
+
my $current_version = "";
|
186 |
+
|
187 |
+
# Was there any attempt to match a symbol to this version?
|
188 |
+
my $matches_attempted;
|
189 |
+
|
190 |
+
# The number of versions which matched this symbol.
|
191 |
+
my $matched_symbols;
|
192 |
+
|
193 |
+
open F,$symvers or die $!;
|
194 |
+
|
195 |
+
# Print information about generating this file
|
196 |
+
print "# This file was generated by make_sunver.pl. DO NOT EDIT!\n";
|
197 |
+
print "# It was generated by:\n";
|
198 |
+
printf "# %s %s %s\n", $0, $symvers, (join ' ',@ARGV);
|
199 |
+
printf "# Omitted archives with corresponding shared libraries: %s\n",
|
200 |
+
(join ' ', @SHAREDOBJS) if $#SHAREDOBJS >= 0;
|
201 |
+
print "#\n\n";
|
202 |
+
|
203 |
+
print "\$mapfile_version 2\n";
|
204 |
+
|
205 |
+
while (<F>) {
|
206 |
+
# Lines of the form '};'
|
207 |
+
if (/^([ \t]*)(\}[ \t]*;[ \t]*)$/) {
|
208 |
+
$glob = 'glob';
|
209 |
+
if ($in_extern) {
|
210 |
+
$in_extern--;
|
211 |
+
print "$1##$2\n";
|
212 |
+
} else {
|
213 |
+
print;
|
214 |
+
}
|
215 |
+
next;
|
216 |
+
}
|
217 |
+
|
218 |
+
# Lines of the form '} SOME_VERSION_NAME_1.0;'
|
219 |
+
if (/^[ \t]*\}[ \tA-Z0-9_.a-z]+;[ \t]*$/) {
|
220 |
+
$glob = 'glob';
|
221 |
+
# We tried to match symbols agains this version, but none matched.
|
222 |
+
# Emit dummy hidden symbol to avoid marking this version WEAK.
|
223 |
+
if ($matches_attempted && $matched_symbols == 0) {
|
224 |
+
print " hidden:\n";
|
225 |
+
print " .force_WEAK_off_$current_version = DATA S0x0 V0x0;\n";
|
226 |
+
}
|
227 |
+
print; next;
|
228 |
+
}
|
229 |
+
|
230 |
+
# Comment and blank lines
|
231 |
+
if (/^[ \t]*\#/) { print; next; }
|
232 |
+
if (/^[ \t]*$/) { print; next; }
|
233 |
+
|
234 |
+
# Lines of the form '{'
|
235 |
+
if (/^([ \t]*){$/) {
|
236 |
+
if ($in_extern) {
|
237 |
+
print "$1##{\n";
|
238 |
+
} else {
|
239 |
+
print;
|
240 |
+
}
|
241 |
+
next;
|
242 |
+
}
|
243 |
+
|
244 |
+
# Lines of the form 'SOME_VERSION_NAME_1.1 {'
|
245 |
+
if (/^([A-Z0-9_.]+)[ \t]+{$/) {
|
246 |
+
# Record version name.
|
247 |
+
$current_version = $1;
|
248 |
+
# Reset match attempts, #matched symbols for this version.
|
249 |
+
$matches_attempted = 0;
|
250 |
+
$matched_symbols = 0;
|
251 |
+
print "SYMBOL_VERSION $1 {\n";
|
252 |
+
next;
|
253 |
+
}
|
254 |
+
|
255 |
+
# Ignore 'global:'
|
256 |
+
if (/^[ \t]*global:$/) { print; next; }
|
257 |
+
|
258 |
+
# After 'local:', globs should be ignored, they won't be exported.
|
259 |
+
if (/^[ \t]*local:$/) {
|
260 |
+
$glob = 'ign';
|
261 |
+
print;
|
262 |
+
next;
|
263 |
+
}
|
264 |
+
|
265 |
+
# After 'extern "C++"', globs are C++ patterns
|
266 |
+
if (/^([ \t]*)(extern \"C\+\+\"[ \t]*)$/) {
|
267 |
+
$in_extern++;
|
268 |
+
$glob = 'cxx';
|
269 |
+
# Need to comment, Sun ld cannot handle this.
|
270 |
+
print "$1##$2\n"; next;
|
271 |
+
}
|
272 |
+
|
273 |
+
# Chomp newline now we're done with passing through the input file.
|
274 |
+
chomp;
|
275 |
+
|
276 |
+
# Catch globs. Note that '{}' is not allowed in globs by this script,
|
277 |
+
# so only '*' and '[]' are available.
|
278 |
+
if (/^([ \t]*)([^ \t;{}#]+);?[ \t]*$/) {
|
279 |
+
my $ws = $1;
|
280 |
+
my $ptn = $2;
|
281 |
+
# Turn the glob into a regex by replacing '*' with '.*', '?' with '.'.
|
282 |
+
# Keep $ptn so we can still print the original form.
|
283 |
+
($pattern = $ptn) =~ s/\*/\.\*/g;
|
284 |
+
$pattern =~ s/\?/\./g;
|
285 |
+
|
286 |
+
if ($glob eq 'ign') {
|
287 |
+
# We're in a local: * section; just continue.
|
288 |
+
print "$_\n";
|
289 |
+
next;
|
290 |
+
}
|
291 |
+
|
292 |
+
# Print the glob commented for human readers.
|
293 |
+
print "$ws##$ptn ($glob)\n";
|
294 |
+
# We tried to match a symbol to this version.
|
295 |
+
$matches_attempted++;
|
296 |
+
|
297 |
+
if ($glob eq 'glob') {
|
298 |
+
my %ptn_syms = ();
|
299 |
+
|
300 |
+
# Match ptn against symbols in %sym_hash.
|
301 |
+
foreach my $sym (keys %sym_hash) {
|
302 |
+
# Maybe it matches one of the patterns based on the symbol in
|
303 |
+
# the .o file.
|
304 |
+
$ptn_syms{$sym}++ if ($sym =~ /^$pattern$/);
|
305 |
+
}
|
306 |
+
|
307 |
+
foreach my $sym (sort keys(%ptn_syms)) {
|
308 |
+
$matched_symbols++;
|
309 |
+
print "$ws$sym;\n";
|
310 |
+
}
|
311 |
+
} elsif ($glob eq 'cxx') {
|
312 |
+
my %dem_syms = ();
|
313 |
+
|
314 |
+
# Verify that we're actually using GNU c++filt. Other versions
|
315 |
+
# most likely cannot handle GNU style symbol mangling.
|
316 |
+
my $cxxout = `$cxxfilt --version 2>&1`;
|
317 |
+
$cxxout =~ m/GNU/ or die "$0 requires GNU c++filt to function";
|
318 |
+
|
319 |
+
# Talk to c++filt through a pair of file descriptors.
|
320 |
+
# Need to start a fresh instance per pattern, otherwise the
|
321 |
+
# process grows to 500+ MB.
|
322 |
+
my $pid = open2(*FILTIN, *FILTOUT, $cxxfilt) or die $!;
|
323 |
+
|
324 |
+
# Match ptn against symbols in %sym_hash.
|
325 |
+
foreach my $sym (keys %sym_hash) {
|
326 |
+
# No? Well, maybe its demangled form matches one of those
|
327 |
+
# patterns.
|
328 |
+
printf FILTOUT "%s\n",$sym;
|
329 |
+
my $dem = <FILTIN>;
|
330 |
+
chomp $dem;
|
331 |
+
$dem_syms{$sym}++ if ($dem =~ /^$pattern$/);
|
332 |
+
}
|
333 |
+
|
334 |
+
close FILTOUT or die "c++filt error";
|
335 |
+
close FILTIN or die "c++filt error";
|
336 |
+
# Need to wait for the c++filt process to avoid lots of zombies.
|
337 |
+
waitpid $pid, 0;
|
338 |
+
|
339 |
+
foreach my $sym (sort keys(%dem_syms)) {
|
340 |
+
$matched_symbols++;
|
341 |
+
print "$ws$sym;\n";
|
342 |
+
}
|
343 |
+
} else {
|
344 |
+
# No? Well, then ignore it.
|
345 |
+
}
|
346 |
+
next;
|
347 |
+
}
|
348 |
+
# Important sanity check. This script can't handle lots of formats
|
349 |
+
# that GNU ld can, so be sure to error out if one is seen!
|
350 |
+
die "strange line `$_'";
|
351 |
+
}
|
352 |
+
close F;
|
compat/strtod.c
ADDED
@@ -0,0 +1,93 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*
|
2 |
+
* C99-compatible strtod() implementation
|
3 |
+
* Copyright (c) 2012 Ronald S. Bultje <rsbultje@gmail.com>
|
4 |
+
*
|
5 |
+
* This file is part of FFmpeg.
|
6 |
+
*
|
7 |
+
* FFmpeg is free software; you can redistribute it and/or
|
8 |
+
* modify it under the terms of the GNU Lesser General Public
|
9 |
+
* License as published by the Free Software Foundation; either
|
10 |
+
* version 2.1 of the License, or (at your option) any later version.
|
11 |
+
*
|
12 |
+
* FFmpeg is distributed in the hope that it will be useful,
|
13 |
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
14 |
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
15 |
+
* Lesser General Public License for more details.
|
16 |
+
*
|
17 |
+
* You should have received a copy of the GNU Lesser General Public
|
18 |
+
* License along with FFmpeg; if not, write to the Free Software
|
19 |
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
20 |
+
*/
|
21 |
+
|
22 |
+
#include <limits.h>
|
23 |
+
#include <stdlib.h>
|
24 |
+
|
25 |
+
#include "libavutil/avstring.h"
|
26 |
+
#include "libavutil/mathematics.h"
|
27 |
+
|
28 |
+
static const char *check_nan_suffix(const char *s)
|
29 |
+
{
|
30 |
+
const char *start = s;
|
31 |
+
|
32 |
+
if (*s++ != '(')
|
33 |
+
return start;
|
34 |
+
|
35 |
+
while ((*s >= 'a' && *s <= 'z') || (*s >= 'A' && *s <= 'Z') ||
|
36 |
+
(*s >= '0' && *s <= '9') || *s == '_')
|
37 |
+
s++;
|
38 |
+
|
39 |
+
return *s == ')' ? s + 1 : start;
|
40 |
+
}
|
41 |
+
|
42 |
+
#undef strtod
|
43 |
+
double strtod(const char *, char **);
|
44 |
+
|
45 |
+
double avpriv_strtod(const char *nptr, char **endptr)
|
46 |
+
{
|
47 |
+
const char *end;
|
48 |
+
double res;
|
49 |
+
|
50 |
+
/* Skip leading spaces */
|
51 |
+
while (av_isspace(*nptr))
|
52 |
+
nptr++;
|
53 |
+
|
54 |
+
if (!av_strncasecmp(nptr, "infinity", 8)) {
|
55 |
+
end = nptr + 8;
|
56 |
+
res = INFINITY;
|
57 |
+
} else if (!av_strncasecmp(nptr, "inf", 3)) {
|
58 |
+
end = nptr + 3;
|
59 |
+
res = INFINITY;
|
60 |
+
} else if (!av_strncasecmp(nptr, "+infinity", 9)) {
|
61 |
+
end = nptr + 9;
|
62 |
+
res = INFINITY;
|
63 |
+
} else if (!av_strncasecmp(nptr, "+inf", 4)) {
|
64 |
+
end = nptr + 4;
|
65 |
+
res = INFINITY;
|
66 |
+
} else if (!av_strncasecmp(nptr, "-infinity", 9)) {
|
67 |
+
end = nptr + 9;
|
68 |
+
res = -INFINITY;
|
69 |
+
} else if (!av_strncasecmp(nptr, "-inf", 4)) {
|
70 |
+
end = nptr + 4;
|
71 |
+
res = -INFINITY;
|
72 |
+
} else if (!av_strncasecmp(nptr, "nan", 3)) {
|
73 |
+
end = check_nan_suffix(nptr + 3);
|
74 |
+
res = NAN;
|
75 |
+
} else if (!av_strncasecmp(nptr, "+nan", 4) ||
|
76 |
+
!av_strncasecmp(nptr, "-nan", 4)) {
|
77 |
+
end = check_nan_suffix(nptr + 4);
|
78 |
+
res = NAN;
|
79 |
+
} else if (!av_strncasecmp(nptr, "0x", 2) ||
|
80 |
+
!av_strncasecmp(nptr, "-0x", 3) ||
|
81 |
+
!av_strncasecmp(nptr, "+0x", 3)) {
|
82 |
+
/* FIXME this doesn't handle exponents, non-integers (float/double)
|
83 |
+
* and numbers too large for long long */
|
84 |
+
res = strtoll(nptr, (char **)&end, 16);
|
85 |
+
} else {
|
86 |
+
res = strtod(nptr, (char **)&end);
|
87 |
+
}
|
88 |
+
|
89 |
+
if (endptr)
|
90 |
+
*endptr = (char *)end;
|
91 |
+
|
92 |
+
return res;
|
93 |
+
}
|
compat/va_copy.h
ADDED
@@ -0,0 +1,34 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*
|
2 |
+
* MSVC Compatible va_copy macro
|
3 |
+
* Copyright (c) 2012 Derek Buitenhuis
|
4 |
+
*
|
5 |
+
* This file is part of FFmpeg.
|
6 |
+
*
|
7 |
+
* FFmpeg is free software; you can redistribute it and/or
|
8 |
+
* modify it under the terms of the GNU Lesser General Public
|
9 |
+
* License as published by the Free Software Foundation; either
|
10 |
+
* version 2.1 of the License, or (at your option) any later version.
|
11 |
+
*
|
12 |
+
* FFmpeg is distributed in the hope that it will be useful,
|
13 |
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
14 |
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
15 |
+
* Lesser General Public License for more details.
|
16 |
+
*
|
17 |
+
* You should have received a copy of the GNU Lesser General Public
|
18 |
+
* License along with FFmpeg; if not, write to the Free Software
|
19 |
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
20 |
+
*/
|
21 |
+
|
22 |
+
#ifndef COMPAT_VA_COPY_H
|
23 |
+
#define COMPAT_VA_COPY_H
|
24 |
+
|
25 |
+
#include <stdarg.h>
|
26 |
+
|
27 |
+
#if !defined(va_copy) && defined(_MSC_VER)
|
28 |
+
#define va_copy(dst, src) ((dst) = (src))
|
29 |
+
#endif
|
30 |
+
#if !defined(va_copy) && defined(__GNUC__) && __GNUC__ < 3
|
31 |
+
#define va_copy(dst, src) __va_copy(dst, src)
|
32 |
+
#endif
|
33 |
+
|
34 |
+
#endif /* COMPAT_VA_COPY_H */
|
compat/w32dlfcn.h
ADDED
@@ -0,0 +1,150 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*
|
2 |
+
* This file is part of FFmpeg.
|
3 |
+
*
|
4 |
+
* FFmpeg is free software; you can redistribute it and/or
|
5 |
+
* modify it under the terms of the GNU Lesser General Public
|
6 |
+
* License as published by the Free Software Foundation; either
|
7 |
+
* version 2.1 of the License, or (at your option) any later version.
|
8 |
+
*
|
9 |
+
* FFmpeg is distributed in the hope that it will be useful,
|
10 |
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
11 |
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
12 |
+
* Lesser General Public License for more details.
|
13 |
+
*
|
14 |
+
* You should have received a copy of the GNU Lesser General Public
|
15 |
+
* License along with FFmpeg; if not, write to the Free Software
|
16 |
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
17 |
+
*/
|
18 |
+
|
19 |
+
#ifndef COMPAT_W32DLFCN_H
|
20 |
+
#define COMPAT_W32DLFCN_H
|
21 |
+
|
22 |
+
#ifdef _WIN32
|
23 |
+
#include <stdint.h>
|
24 |
+
|
25 |
+
#include <windows.h>
|
26 |
+
|
27 |
+
#include "config.h"
|
28 |
+
#include "libavutil/macros.h"
|
29 |
+
#include "libavutil/wchar_filename.h"
|
30 |
+
|
31 |
+
static inline wchar_t *get_module_filename(HMODULE module)
|
32 |
+
{
|
33 |
+
wchar_t *path = NULL, *new_path;
|
34 |
+
DWORD path_size = 0, path_len;
|
35 |
+
|
36 |
+
do {
|
37 |
+
path_size = path_size ? FFMIN(2 * path_size, INT16_MAX + 1) : MAX_PATH;
|
38 |
+
new_path = av_realloc_array(path, path_size, sizeof *path);
|
39 |
+
if (!new_path) {
|
40 |
+
av_free(path);
|
41 |
+
return NULL;
|
42 |
+
}
|
43 |
+
path = new_path;
|
44 |
+
// Returns path_size in case of insufficient buffer.
|
45 |
+
// Whether the error is set or not and whether the output
|
46 |
+
// is null-terminated or not depends on the version of Windows.
|
47 |
+
path_len = GetModuleFileNameW(module, path, path_size);
|
48 |
+
} while (path_len && path_size <= INT16_MAX && path_size <= path_len);
|
49 |
+
|
50 |
+
if (!path_len) {
|
51 |
+
av_free(path);
|
52 |
+
return NULL;
|
53 |
+
}
|
54 |
+
return path;
|
55 |
+
}
|
56 |
+
|
57 |
+
/**
|
58 |
+
* Safe function used to open dynamic libs. This attempts to improve program security
|
59 |
+
* by removing the current directory from the dll search path. Only dll's found in the
|
60 |
+
* executable or system directory are allowed to be loaded.
|
61 |
+
* @param name The dynamic lib name.
|
62 |
+
* @return A handle to the opened lib.
|
63 |
+
*/
|
64 |
+
static inline HMODULE win32_dlopen(const char *name)
|
65 |
+
{
|
66 |
+
wchar_t *name_w;
|
67 |
+
HMODULE module = NULL;
|
68 |
+
if (utf8towchar(name, &name_w))
|
69 |
+
name_w = NULL;
|
70 |
+
#if _WIN32_WINNT < 0x0602
|
71 |
+
// On Win7 and earlier we check if KB2533623 is available
|
72 |
+
if (!GetProcAddress(GetModuleHandleW(L"kernel32.dll"), "SetDefaultDllDirectories")) {
|
73 |
+
wchar_t *path = NULL, *new_path;
|
74 |
+
DWORD pathlen, pathsize, namelen;
|
75 |
+
if (!name_w)
|
76 |
+
goto exit;
|
77 |
+
namelen = wcslen(name_w);
|
78 |
+
// Try local directory first
|
79 |
+
path = get_module_filename(NULL);
|
80 |
+
if (!path)
|
81 |
+
goto exit;
|
82 |
+
new_path = wcsrchr(path, '\\');
|
83 |
+
if (!new_path)
|
84 |
+
goto exit;
|
85 |
+
pathlen = new_path - path;
|
86 |
+
pathsize = pathlen + namelen + 2;
|
87 |
+
new_path = av_realloc_array(path, pathsize, sizeof *path);
|
88 |
+
if (!new_path)
|
89 |
+
goto exit;
|
90 |
+
path = new_path;
|
91 |
+
wcscpy(path + pathlen + 1, name_w);
|
92 |
+
module = LoadLibraryExW(path, NULL, LOAD_WITH_ALTERED_SEARCH_PATH);
|
93 |
+
if (module == NULL) {
|
94 |
+
// Next try System32 directory
|
95 |
+
pathlen = GetSystemDirectoryW(path, pathsize);
|
96 |
+
if (!pathlen)
|
97 |
+
goto exit;
|
98 |
+
// Buffer is not enough in two cases:
|
99 |
+
// 1. system directory + \ + module name
|
100 |
+
// 2. system directory even without the module name.
|
101 |
+
if (pathlen + namelen + 2 > pathsize) {
|
102 |
+
pathsize = pathlen + namelen + 2;
|
103 |
+
new_path = av_realloc_array(path, pathsize, sizeof *path);
|
104 |
+
if (!new_path)
|
105 |
+
goto exit;
|
106 |
+
path = new_path;
|
107 |
+
// Query again to handle the case #2.
|
108 |
+
pathlen = GetSystemDirectoryW(path, pathsize);
|
109 |
+
if (!pathlen)
|
110 |
+
goto exit;
|
111 |
+
}
|
112 |
+
path[pathlen] = L'\\';
|
113 |
+
wcscpy(path + pathlen + 1, name_w);
|
114 |
+
module = LoadLibraryExW(path, NULL, LOAD_WITH_ALTERED_SEARCH_PATH);
|
115 |
+
}
|
116 |
+
exit:
|
117 |
+
av_free(path);
|
118 |
+
av_free(name_w);
|
119 |
+
return module;
|
120 |
+
}
|
121 |
+
#endif
|
122 |
+
#ifndef LOAD_LIBRARY_SEARCH_APPLICATION_DIR
|
123 |
+
# define LOAD_LIBRARY_SEARCH_APPLICATION_DIR 0x00000200
|
124 |
+
#endif
|
125 |
+
#ifndef LOAD_LIBRARY_SEARCH_SYSTEM32
|
126 |
+
# define LOAD_LIBRARY_SEARCH_SYSTEM32 0x00000800
|
127 |
+
#endif
|
128 |
+
#if HAVE_WINRT
|
129 |
+
if (!name_w)
|
130 |
+
return NULL;
|
131 |
+
module = LoadPackagedLibrary(name_w, 0);
|
132 |
+
#else
|
133 |
+
#define LOAD_FLAGS (LOAD_LIBRARY_SEARCH_APPLICATION_DIR | LOAD_LIBRARY_SEARCH_SYSTEM32)
|
134 |
+
/* filename may be be in CP_ACP */
|
135 |
+
if (!name_w)
|
136 |
+
return LoadLibraryExA(name, NULL, LOAD_FLAGS);
|
137 |
+
module = LoadLibraryExW(name_w, NULL, LOAD_FLAGS);
|
138 |
+
#undef LOAD_FLAGS
|
139 |
+
#endif
|
140 |
+
av_free(name_w);
|
141 |
+
return module;
|
142 |
+
}
|
143 |
+
#define dlopen(name, flags) win32_dlopen(name)
|
144 |
+
#define dlclose FreeLibrary
|
145 |
+
#define dlsym GetProcAddress
|
146 |
+
#else
|
147 |
+
#include <dlfcn.h>
|
148 |
+
#endif
|
149 |
+
|
150 |
+
#endif /* COMPAT_W32DLFCN_H */
|
compat/w32pthreads.h
ADDED
@@ -0,0 +1,197 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*
|
2 |
+
* Copyright (C) 2010-2011 x264 project
|
3 |
+
*
|
4 |
+
* Authors: Steven Walters <kemuri9@gmail.com>
|
5 |
+
* Pegasys Inc. <http://www.pegasys-inc.com>
|
6 |
+
*
|
7 |
+
* This file is part of FFmpeg.
|
8 |
+
*
|
9 |
+
* FFmpeg is free software; you can redistribute it and/or
|
10 |
+
* modify it under the terms of the GNU Lesser General Public
|
11 |
+
* License as published by the Free Software Foundation; either
|
12 |
+
* version 2.1 of the License, or (at your option) any later version.
|
13 |
+
*
|
14 |
+
* FFmpeg is distributed in the hope that it will be useful,
|
15 |
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
16 |
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
17 |
+
* Lesser General Public License for more details.
|
18 |
+
*
|
19 |
+
* You should have received a copy of the GNU Lesser General Public
|
20 |
+
* License along with FFmpeg; if not, write to the Free Software
|
21 |
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
22 |
+
*/
|
23 |
+
|
24 |
+
/**
|
25 |
+
* @file
|
26 |
+
* w32threads to pthreads wrapper
|
27 |
+
*/
|
28 |
+
|
29 |
+
#ifndef COMPAT_W32PTHREADS_H
|
30 |
+
#define COMPAT_W32PTHREADS_H
|
31 |
+
|
32 |
+
/* Build up a pthread-like API using underlying Windows API. Have only static
|
33 |
+
* methods so as to not conflict with a potentially linked in pthread-win32
|
34 |
+
* library.
|
35 |
+
* As most functions here are used without checking return values,
|
36 |
+
* only implement return values as necessary. */
|
37 |
+
|
38 |
+
#include <windows.h>
|
39 |
+
#include <process.h>
|
40 |
+
#include <time.h>
|
41 |
+
|
42 |
+
#include "libavutil/attributes.h"
|
43 |
+
#include "libavutil/common.h"
|
44 |
+
#include "libavutil/internal.h"
|
45 |
+
#include "libavutil/mem.h"
|
46 |
+
#include "libavutil/time.h"
|
47 |
+
|
48 |
+
typedef struct pthread_t {
|
49 |
+
void *handle;
|
50 |
+
void *(*func)(void* arg);
|
51 |
+
void *arg;
|
52 |
+
void *ret;
|
53 |
+
} pthread_t;
|
54 |
+
|
55 |
+
/* use light weight mutex/condition variable API for Windows Vista and later */
|
56 |
+
typedef SRWLOCK pthread_mutex_t;
|
57 |
+
typedef CONDITION_VARIABLE pthread_cond_t;
|
58 |
+
|
59 |
+
#define PTHREAD_MUTEX_INITIALIZER SRWLOCK_INIT
|
60 |
+
#define PTHREAD_COND_INITIALIZER CONDITION_VARIABLE_INIT
|
61 |
+
|
62 |
+
#define InitializeCriticalSection(x) InitializeCriticalSectionEx(x, 0, 0)
|
63 |
+
#define WaitForSingleObject(a, b) WaitForSingleObjectEx(a, b, FALSE)
|
64 |
+
|
65 |
+
#define PTHREAD_CANCEL_ENABLE 1
|
66 |
+
#define PTHREAD_CANCEL_DISABLE 0
|
67 |
+
|
68 |
+
#if HAVE_WINRT
|
69 |
+
#define THREADFUNC_RETTYPE DWORD
|
70 |
+
#else
|
71 |
+
#define THREADFUNC_RETTYPE unsigned
|
72 |
+
#endif
|
73 |
+
|
74 |
+
static av_unused THREADFUNC_RETTYPE
|
75 |
+
__stdcall attribute_align_arg win32thread_worker(void *arg)
|
76 |
+
{
|
77 |
+
pthread_t *h = (pthread_t*)arg;
|
78 |
+
h->ret = h->func(h->arg);
|
79 |
+
return 0;
|
80 |
+
}
|
81 |
+
|
82 |
+
static av_unused int pthread_create(pthread_t *thread, const void *unused_attr,
|
83 |
+
void *(*start_routine)(void*), void *arg)
|
84 |
+
{
|
85 |
+
thread->func = start_routine;
|
86 |
+
thread->arg = arg;
|
87 |
+
#if HAVE_WINRT
|
88 |
+
thread->handle = (void*)CreateThread(NULL, 0, win32thread_worker, thread,
|
89 |
+
0, NULL);
|
90 |
+
#else
|
91 |
+
thread->handle = (void*)_beginthreadex(NULL, 0, win32thread_worker, thread,
|
92 |
+
0, NULL);
|
93 |
+
#endif
|
94 |
+
return !thread->handle;
|
95 |
+
}
|
96 |
+
|
97 |
+
static av_unused int pthread_join(pthread_t thread, void **value_ptr)
|
98 |
+
{
|
99 |
+
DWORD ret = WaitForSingleObject(thread.handle, INFINITE);
|
100 |
+
if (ret != WAIT_OBJECT_0) {
|
101 |
+
if (ret == WAIT_ABANDONED)
|
102 |
+
return EINVAL;
|
103 |
+
else
|
104 |
+
return EDEADLK;
|
105 |
+
}
|
106 |
+
if (value_ptr)
|
107 |
+
*value_ptr = thread.ret;
|
108 |
+
CloseHandle(thread.handle);
|
109 |
+
return 0;
|
110 |
+
}
|
111 |
+
|
112 |
+
static inline int pthread_mutex_init(pthread_mutex_t *m, void* attr)
|
113 |
+
{
|
114 |
+
InitializeSRWLock(m);
|
115 |
+
return 0;
|
116 |
+
}
|
117 |
+
static inline int pthread_mutex_destroy(pthread_mutex_t *m)
|
118 |
+
{
|
119 |
+
/* Unlocked SWR locks use no resources */
|
120 |
+
return 0;
|
121 |
+
}
|
122 |
+
static inline int pthread_mutex_lock(pthread_mutex_t *m)
|
123 |
+
{
|
124 |
+
AcquireSRWLockExclusive(m);
|
125 |
+
return 0;
|
126 |
+
}
|
127 |
+
static inline int pthread_mutex_unlock(pthread_mutex_t *m)
|
128 |
+
{
|
129 |
+
ReleaseSRWLockExclusive(m);
|
130 |
+
return 0;
|
131 |
+
}
|
132 |
+
|
133 |
+
typedef INIT_ONCE pthread_once_t;
|
134 |
+
#define PTHREAD_ONCE_INIT INIT_ONCE_STATIC_INIT
|
135 |
+
|
136 |
+
static av_unused int pthread_once(pthread_once_t *once_control, void (*init_routine)(void))
|
137 |
+
{
|
138 |
+
BOOL pending = FALSE;
|
139 |
+
InitOnceBeginInitialize(once_control, 0, &pending, NULL);
|
140 |
+
if (pending)
|
141 |
+
init_routine();
|
142 |
+
InitOnceComplete(once_control, 0, NULL);
|
143 |
+
return 0;
|
144 |
+
}
|
145 |
+
|
146 |
+
static inline int pthread_cond_init(pthread_cond_t *cond, const void *unused_attr)
|
147 |
+
{
|
148 |
+
InitializeConditionVariable(cond);
|
149 |
+
return 0;
|
150 |
+
}
|
151 |
+
|
152 |
+
/* native condition variables do not destroy */
|
153 |
+
static inline int pthread_cond_destroy(pthread_cond_t *cond)
|
154 |
+
{
|
155 |
+
return 0;
|
156 |
+
}
|
157 |
+
|
158 |
+
static inline int pthread_cond_broadcast(pthread_cond_t *cond)
|
159 |
+
{
|
160 |
+
WakeAllConditionVariable(cond);
|
161 |
+
return 0;
|
162 |
+
}
|
163 |
+
|
164 |
+
static inline int pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex)
|
165 |
+
{
|
166 |
+
SleepConditionVariableSRW(cond, mutex, INFINITE, 0);
|
167 |
+
return 0;
|
168 |
+
}
|
169 |
+
|
170 |
+
static inline int pthread_cond_timedwait(pthread_cond_t *cond, pthread_mutex_t *mutex,
|
171 |
+
const struct timespec *abstime)
|
172 |
+
{
|
173 |
+
int64_t abs_milli = abstime->tv_sec * 1000LL + abstime->tv_nsec / 1000000;
|
174 |
+
DWORD t = av_clip64(abs_milli - av_gettime() / 1000, 0, UINT32_MAX);
|
175 |
+
|
176 |
+
if (!SleepConditionVariableSRW(cond, mutex, t, 0)) {
|
177 |
+
DWORD err = GetLastError();
|
178 |
+
if (err == ERROR_TIMEOUT)
|
179 |
+
return ETIMEDOUT;
|
180 |
+
else
|
181 |
+
return EINVAL;
|
182 |
+
}
|
183 |
+
return 0;
|
184 |
+
}
|
185 |
+
|
186 |
+
static inline int pthread_cond_signal(pthread_cond_t *cond)
|
187 |
+
{
|
188 |
+
WakeConditionVariable(cond);
|
189 |
+
return 0;
|
190 |
+
}
|
191 |
+
|
192 |
+
static inline int pthread_setcancelstate(int state, int *oldstate)
|
193 |
+
{
|
194 |
+
return 0;
|
195 |
+
}
|
196 |
+
|
197 |
+
#endif /* COMPAT_W32PTHREADS_H */
|
compat/windows/makedef
ADDED
@@ -0,0 +1,129 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
#!/bin/sh
|
2 |
+
|
3 |
+
# Copyright (c) 2013, Derek Buitenhuis
|
4 |
+
#
|
5 |
+
# Permission to use, copy, modify, and/or distribute this software for any
|
6 |
+
# purpose with or without fee is hereby granted, provided that the above
|
7 |
+
# copyright notice and this permission notice appear in all copies.
|
8 |
+
#
|
9 |
+
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
10 |
+
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
11 |
+
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
12 |
+
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
13 |
+
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
14 |
+
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
15 |
+
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
16 |
+
|
17 |
+
# mktemp isn't POSIX, so supply an implementation
|
18 |
+
mktemp() {
|
19 |
+
echo "${2%%XXX*}.${HOSTNAME}.${UID}.$$"
|
20 |
+
}
|
21 |
+
|
22 |
+
if [ $# -lt 2 ]; then
|
23 |
+
echo "Usage: makedef <version_script> <objects>" >&2
|
24 |
+
exit 0
|
25 |
+
fi
|
26 |
+
|
27 |
+
vscript=$1
|
28 |
+
shift
|
29 |
+
|
30 |
+
if [ ! -f "$vscript" ]; then
|
31 |
+
echo "Version script does not exist" >&2
|
32 |
+
exit 1
|
33 |
+
fi
|
34 |
+
|
35 |
+
for object in "$@"; do
|
36 |
+
if [ ! -f "$object" ]; then
|
37 |
+
echo "Object does not exist: ${object}" >&2
|
38 |
+
exit 1
|
39 |
+
fi
|
40 |
+
done
|
41 |
+
|
42 |
+
# Create a lib temporarily to dump symbols from.
|
43 |
+
# It's just much easier to do it this way
|
44 |
+
libname=$(mktemp -u "library").lib
|
45 |
+
|
46 |
+
trap 'rm -f -- $libname' EXIT
|
47 |
+
|
48 |
+
if [ -n "$AR" ]; then
|
49 |
+
$AR rcs ${libname} $@ >/dev/null
|
50 |
+
else
|
51 |
+
lib.exe -out:${libname} $@ >/dev/null
|
52 |
+
fi
|
53 |
+
if [ $? != 0 ]; then
|
54 |
+
echo "Could not create temporary library." >&2
|
55 |
+
exit 1
|
56 |
+
fi
|
57 |
+
|
58 |
+
IFS='
|
59 |
+
'
|
60 |
+
|
61 |
+
prefix="$EXTERN_PREFIX"
|
62 |
+
|
63 |
+
started=0
|
64 |
+
regex="none"
|
65 |
+
|
66 |
+
for line in $(cat ${vscript} | tr '\t' ' '); do
|
67 |
+
# We only care about global symbols
|
68 |
+
echo "${line}" | grep -q '^ \+global:'
|
69 |
+
if [ $? = 0 ]; then
|
70 |
+
started=1
|
71 |
+
line=$(echo "${line}" | sed -e 's/^ \{1,\}global: *//')
|
72 |
+
else
|
73 |
+
echo "${line}" | grep -q '^ \+local:'
|
74 |
+
if [ $? = 0 ]; then
|
75 |
+
started=0
|
76 |
+
fi
|
77 |
+
fi
|
78 |
+
|
79 |
+
if [ ${started} = 0 ]; then
|
80 |
+
continue
|
81 |
+
fi
|
82 |
+
|
83 |
+
# Handle multiple symbols on one line
|
84 |
+
IFS=';'
|
85 |
+
|
86 |
+
# Work around stupid expansion to filenames
|
87 |
+
line=$(echo "${line}" | sed -e 's/\*/.\\+/g')
|
88 |
+
for exp in ${line}; do
|
89 |
+
# Remove leading and trailing whitespace
|
90 |
+
exp=$(echo "${exp}" | sed -e 's/^ *//' -e 's/ *$//')
|
91 |
+
|
92 |
+
if [ "${regex}" = "none" ]; then
|
93 |
+
regex="${exp}"
|
94 |
+
else
|
95 |
+
regex="${regex};${exp}"
|
96 |
+
fi
|
97 |
+
done
|
98 |
+
|
99 |
+
IFS='
|
100 |
+
'
|
101 |
+
done
|
102 |
+
|
103 |
+
if [ -n "$NM" ]; then
|
104 |
+
# Use eval, since NM="nm -g"
|
105 |
+
dump=$(eval "$NM --defined-only -g ${libname}" |
|
106 |
+
grep -v : |
|
107 |
+
grep -v ^$ |
|
108 |
+
cut -d' ' -f3 |
|
109 |
+
sed -e "s/^${prefix}//")
|
110 |
+
else
|
111 |
+
dump=$(dumpbin.exe -linkermember:1 ${libname} |
|
112 |
+
sed -e '/public symbols/,$!d' -e '/^ \{1,\}Summary/,$d' -e "s/ \{1,\}${prefix}/ /" -e 's/ \{1,\}/ /g' |
|
113 |
+
tail -n +2 |
|
114 |
+
cut -d' ' -f3)
|
115 |
+
fi
|
116 |
+
|
117 |
+
rm ${libname}
|
118 |
+
|
119 |
+
IFS=';'
|
120 |
+
list=""
|
121 |
+
for exp in ${regex}; do
|
122 |
+
list="${list}"'
|
123 |
+
'$(echo "${dump}" |
|
124 |
+
grep "^${exp}" |
|
125 |
+
sed -e 's/^/ /')
|
126 |
+
done
|
127 |
+
|
128 |
+
echo "EXPORTS"
|
129 |
+
echo "${list}" | sort | uniq | tail -n +2
|
compat/windows/mslink
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
#!/bin/sh
|
2 |
+
|
3 |
+
LINK_EXE_PATH=$(dirname "$(command -v cl)")/link
|
4 |
+
if [ -x "$LINK_EXE_PATH" ]; then
|
5 |
+
"$LINK_EXE_PATH" $@
|
6 |
+
else
|
7 |
+
link.exe $@
|
8 |
+
fi
|
9 |
+
exit $?
|
compat/windows/mswindres
ADDED
@@ -0,0 +1,32 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
#!/bin/sh
|
2 |
+
|
3 |
+
if [ "$1" = "--version" ]; then
|
4 |
+
rc.exe -?
|
5 |
+
exit $?
|
6 |
+
fi
|
7 |
+
|
8 |
+
if [ $# -lt 2 ]; then
|
9 |
+
echo "Usage: mswindres [-I/include/path ...] [-DSOME_DEFINE ...] [-o output.o] input.rc [output.o]" >&2
|
10 |
+
exit 0
|
11 |
+
fi
|
12 |
+
|
13 |
+
EXTRA_OPTS="-nologo"
|
14 |
+
|
15 |
+
while [ $# -gt 2 ]; do
|
16 |
+
case $1 in
|
17 |
+
-D*) EXTRA_OPTS="$EXTRA_OPTS -d$(echo $1 | sed -e "s/^..//" -e "s/ /\\\\ /g")" ;;
|
18 |
+
-I*) EXTRA_OPTS="$EXTRA_OPTS -i$(echo $1 | sed -e "s/^..//" -e "s/ /\\\\ /g")" ;;
|
19 |
+
-o) OPT_OUT="$2"; shift ;;
|
20 |
+
esac
|
21 |
+
shift
|
22 |
+
done
|
23 |
+
|
24 |
+
IN="$1"
|
25 |
+
if [ -z "$OPT_OUT" ]; then
|
26 |
+
OUT="$2"
|
27 |
+
else
|
28 |
+
OUT="$OPT_OUT"
|
29 |
+
fi
|
30 |
+
|
31 |
+
eval set -- $EXTRA_OPTS
|
32 |
+
rc.exe "$@" -fo "$OUT" "$IN"
|
config.asm
ADDED
@@ -0,0 +1,747 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
; Automatically generated by configure - do not modify!
|
2 |
+
%define ARCH_AARCH64 0
|
3 |
+
%define ARCH_ALPHA 0
|
4 |
+
%define ARCH_ARM 0
|
5 |
+
%define ARCH_AVR32 0
|
6 |
+
%define ARCH_AVR32_AP 0
|
7 |
+
%define ARCH_AVR32_UC 0
|
8 |
+
%define ARCH_BFIN 0
|
9 |
+
%define ARCH_IA64 0
|
10 |
+
%define ARCH_LOONGARCH 0
|
11 |
+
%define ARCH_LOONGARCH32 0
|
12 |
+
%define ARCH_LOONGARCH64 0
|
13 |
+
%define ARCH_M68K 0
|
14 |
+
%define ARCH_MIPS 0
|
15 |
+
%define ARCH_MIPS64 0
|
16 |
+
%define ARCH_PARISC 0
|
17 |
+
%define ARCH_PPC 0
|
18 |
+
%define ARCH_PPC64 0
|
19 |
+
%define ARCH_RISCV 0
|
20 |
+
%define ARCH_S390 0
|
21 |
+
%define ARCH_SH4 0
|
22 |
+
%define ARCH_SPARC 0
|
23 |
+
%define ARCH_SPARC64 0
|
24 |
+
%define ARCH_TILEGX 0
|
25 |
+
%define ARCH_TILEPRO 0
|
26 |
+
%define ARCH_X86 1
|
27 |
+
%define ARCH_X86_32 0
|
28 |
+
%define ARCH_X86_64 1
|
29 |
+
%define HAVE_ARMV5TE 0
|
30 |
+
%define HAVE_ARMV6 0
|
31 |
+
%define HAVE_ARMV6T2 0
|
32 |
+
%define HAVE_ARMV8 0
|
33 |
+
%define HAVE_DOTPROD 0
|
34 |
+
%define HAVE_I8MM 0
|
35 |
+
%define HAVE_NEON 0
|
36 |
+
%define HAVE_VFP 0
|
37 |
+
%define HAVE_VFPV3 0
|
38 |
+
%define HAVE_SETEND 0
|
39 |
+
%define HAVE_ALTIVEC 0
|
40 |
+
%define HAVE_DCBZL 0
|
41 |
+
%define HAVE_LDBRX 0
|
42 |
+
%define HAVE_POWER8 0
|
43 |
+
%define HAVE_PPC4XX 0
|
44 |
+
%define HAVE_VSX 0
|
45 |
+
%define HAVE_RVV 0
|
46 |
+
%define HAVE_AESNI 1
|
47 |
+
%define HAVE_AMD3DNOW 1
|
48 |
+
%define HAVE_AMD3DNOWEXT 1
|
49 |
+
%define HAVE_AVX 1
|
50 |
+
%define HAVE_AVX2 1
|
51 |
+
%define HAVE_AVX512 1
|
52 |
+
%define HAVE_AVX512ICL 1
|
53 |
+
%define HAVE_FMA3 1
|
54 |
+
%define HAVE_FMA4 1
|
55 |
+
%define HAVE_MMX 1
|
56 |
+
%define HAVE_MMXEXT 1
|
57 |
+
%define HAVE_SSE 1
|
58 |
+
%define HAVE_SSE2 1
|
59 |
+
%define HAVE_SSE3 1
|
60 |
+
%define HAVE_SSE4 1
|
61 |
+
%define HAVE_SSE42 1
|
62 |
+
%define HAVE_SSSE3 1
|
63 |
+
%define HAVE_XOP 1
|
64 |
+
%define HAVE_CPUNOP 1
|
65 |
+
%define HAVE_I686 1
|
66 |
+
%define HAVE_MIPSFPU 0
|
67 |
+
%define HAVE_MIPS32R2 0
|
68 |
+
%define HAVE_MIPS32R5 0
|
69 |
+
%define HAVE_MIPS64R2 0
|
70 |
+
%define HAVE_MIPS32R6 0
|
71 |
+
%define HAVE_MIPS64R6 0
|
72 |
+
%define HAVE_MIPSDSP 0
|
73 |
+
%define HAVE_MIPSDSPR2 0
|
74 |
+
%define HAVE_MSA 0
|
75 |
+
%define HAVE_LOONGSON2 0
|
76 |
+
%define HAVE_LOONGSON3 0
|
77 |
+
%define HAVE_MMI 0
|
78 |
+
%define HAVE_LSX 0
|
79 |
+
%define HAVE_LASX 0
|
80 |
+
%define HAVE_ARMV5TE_EXTERNAL 0
|
81 |
+
%define HAVE_ARMV6_EXTERNAL 0
|
82 |
+
%define HAVE_ARMV6T2_EXTERNAL 0
|
83 |
+
%define HAVE_ARMV8_EXTERNAL 0
|
84 |
+
%define HAVE_DOTPROD_EXTERNAL 0
|
85 |
+
%define HAVE_I8MM_EXTERNAL 0
|
86 |
+
%define HAVE_NEON_EXTERNAL 0
|
87 |
+
%define HAVE_VFP_EXTERNAL 0
|
88 |
+
%define HAVE_VFPV3_EXTERNAL 0
|
89 |
+
%define HAVE_SETEND_EXTERNAL 0
|
90 |
+
%define HAVE_ALTIVEC_EXTERNAL 0
|
91 |
+
%define HAVE_DCBZL_EXTERNAL 0
|
92 |
+
%define HAVE_LDBRX_EXTERNAL 0
|
93 |
+
%define HAVE_POWER8_EXTERNAL 0
|
94 |
+
%define HAVE_PPC4XX_EXTERNAL 0
|
95 |
+
%define HAVE_VSX_EXTERNAL 0
|
96 |
+
%define HAVE_RVV_EXTERNAL 0
|
97 |
+
%define HAVE_AESNI_EXTERNAL 1
|
98 |
+
%define HAVE_AMD3DNOW_EXTERNAL 1
|
99 |
+
%define HAVE_AMD3DNOWEXT_EXTERNAL 1
|
100 |
+
%define HAVE_AVX_EXTERNAL 1
|
101 |
+
%define HAVE_AVX2_EXTERNAL 1
|
102 |
+
%define HAVE_AVX512_EXTERNAL 0
|
103 |
+
%define HAVE_AVX512ICL_EXTERNAL 0
|
104 |
+
%define HAVE_FMA3_EXTERNAL 1
|
105 |
+
%define HAVE_FMA4_EXTERNAL 1
|
106 |
+
%define HAVE_MMX_EXTERNAL 1
|
107 |
+
%define HAVE_MMXEXT_EXTERNAL 1
|
108 |
+
%define HAVE_SSE_EXTERNAL 1
|
109 |
+
%define HAVE_SSE2_EXTERNAL 1
|
110 |
+
%define HAVE_SSE3_EXTERNAL 1
|
111 |
+
%define HAVE_SSE4_EXTERNAL 1
|
112 |
+
%define HAVE_SSE42_EXTERNAL 1
|
113 |
+
%define HAVE_SSSE3_EXTERNAL 1
|
114 |
+
%define HAVE_XOP_EXTERNAL 1
|
115 |
+
%define HAVE_CPUNOP_EXTERNAL 0
|
116 |
+
%define HAVE_I686_EXTERNAL 0
|
117 |
+
%define HAVE_MIPSFPU_EXTERNAL 0
|
118 |
+
%define HAVE_MIPS32R2_EXTERNAL 0
|
119 |
+
%define HAVE_MIPS32R5_EXTERNAL 0
|
120 |
+
%define HAVE_MIPS64R2_EXTERNAL 0
|
121 |
+
%define HAVE_MIPS32R6_EXTERNAL 0
|
122 |
+
%define HAVE_MIPS64R6_EXTERNAL 0
|
123 |
+
%define HAVE_MIPSDSP_EXTERNAL 0
|
124 |
+
%define HAVE_MIPSDSPR2_EXTERNAL 0
|
125 |
+
%define HAVE_MSA_EXTERNAL 0
|
126 |
+
%define HAVE_LOONGSON2_EXTERNAL 0
|
127 |
+
%define HAVE_LOONGSON3_EXTERNAL 0
|
128 |
+
%define HAVE_MMI_EXTERNAL 0
|
129 |
+
%define HAVE_LSX_EXTERNAL 0
|
130 |
+
%define HAVE_LASX_EXTERNAL 0
|
131 |
+
%define HAVE_ARMV5TE_INLINE 0
|
132 |
+
%define HAVE_ARMV6_INLINE 0
|
133 |
+
%define HAVE_ARMV6T2_INLINE 0
|
134 |
+
%define HAVE_ARMV8_INLINE 0
|
135 |
+
%define HAVE_DOTPROD_INLINE 0
|
136 |
+
%define HAVE_I8MM_INLINE 0
|
137 |
+
%define HAVE_NEON_INLINE 0
|
138 |
+
%define HAVE_VFP_INLINE 0
|
139 |
+
%define HAVE_VFPV3_INLINE 0
|
140 |
+
%define HAVE_SETEND_INLINE 0
|
141 |
+
%define HAVE_ALTIVEC_INLINE 0
|
142 |
+
%define HAVE_DCBZL_INLINE 0
|
143 |
+
%define HAVE_LDBRX_INLINE 0
|
144 |
+
%define HAVE_POWER8_INLINE 0
|
145 |
+
%define HAVE_PPC4XX_INLINE 0
|
146 |
+
%define HAVE_VSX_INLINE 0
|
147 |
+
%define HAVE_RVV_INLINE 0
|
148 |
+
%define HAVE_AESNI_INLINE 1
|
149 |
+
%define HAVE_AMD3DNOW_INLINE 1
|
150 |
+
%define HAVE_AMD3DNOWEXT_INLINE 1
|
151 |
+
%define HAVE_AVX_INLINE 1
|
152 |
+
%define HAVE_AVX2_INLINE 1
|
153 |
+
%define HAVE_AVX512_INLINE 1
|
154 |
+
%define HAVE_AVX512ICL_INLINE 1
|
155 |
+
%define HAVE_FMA3_INLINE 1
|
156 |
+
%define HAVE_FMA4_INLINE 1
|
157 |
+
%define HAVE_MMX_INLINE 1
|
158 |
+
%define HAVE_MMXEXT_INLINE 1
|
159 |
+
%define HAVE_SSE_INLINE 1
|
160 |
+
%define HAVE_SSE2_INLINE 1
|
161 |
+
%define HAVE_SSE3_INLINE 1
|
162 |
+
%define HAVE_SSE4_INLINE 1
|
163 |
+
%define HAVE_SSE42_INLINE 1
|
164 |
+
%define HAVE_SSSE3_INLINE 1
|
165 |
+
%define HAVE_XOP_INLINE 1
|
166 |
+
%define HAVE_CPUNOP_INLINE 0
|
167 |
+
%define HAVE_I686_INLINE 0
|
168 |
+
%define HAVE_MIPSFPU_INLINE 0
|
169 |
+
%define HAVE_MIPS32R2_INLINE 0
|
170 |
+
%define HAVE_MIPS32R5_INLINE 0
|
171 |
+
%define HAVE_MIPS64R2_INLINE 0
|
172 |
+
%define HAVE_MIPS32R6_INLINE 0
|
173 |
+
%define HAVE_MIPS64R6_INLINE 0
|
174 |
+
%define HAVE_MIPSDSP_INLINE 0
|
175 |
+
%define HAVE_MIPSDSPR2_INLINE 0
|
176 |
+
%define HAVE_MSA_INLINE 0
|
177 |
+
%define HAVE_LOONGSON2_INLINE 0
|
178 |
+
%define HAVE_LOONGSON3_INLINE 0
|
179 |
+
%define HAVE_MMI_INLINE 0
|
180 |
+
%define HAVE_LSX_INLINE 0
|
181 |
+
%define HAVE_LASX_INLINE 0
|
182 |
+
%define HAVE_ALIGNED_STACK 1
|
183 |
+
%define HAVE_FAST_64BIT 1
|
184 |
+
%define HAVE_FAST_CLZ 1
|
185 |
+
%define HAVE_FAST_CMOV 1
|
186 |
+
%define HAVE_FAST_FLOAT16 0
|
187 |
+
%define HAVE_LOCAL_ALIGNED 1
|
188 |
+
%define HAVE_SIMD_ALIGN_16 1
|
189 |
+
%define HAVE_SIMD_ALIGN_32 1
|
190 |
+
%define HAVE_SIMD_ALIGN_64 1
|
191 |
+
%define HAVE_ATOMIC_CAS_PTR 0
|
192 |
+
%define HAVE_MACHINE_RW_BARRIER 0
|
193 |
+
%define HAVE_MEMORYBARRIER 0
|
194 |
+
%define HAVE_MM_EMPTY 1
|
195 |
+
%define HAVE_RDTSC 0
|
196 |
+
%define HAVE_SEM_TIMEDWAIT 1
|
197 |
+
%define HAVE_SYNC_VAL_COMPARE_AND_SWAP 1
|
198 |
+
%define HAVE_INLINE_ASM 1
|
199 |
+
%define HAVE_SYMVER 1
|
200 |
+
%define HAVE_X86ASM 1
|
201 |
+
%define HAVE_BIGENDIAN 0
|
202 |
+
%define HAVE_FAST_UNALIGNED 1
|
203 |
+
%define HAVE_ARPA_INET_H 1
|
204 |
+
%define HAVE_ASM_HWCAP_H 0
|
205 |
+
%define HAVE_ASM_TYPES_H 1
|
206 |
+
%define HAVE_CDIO_PARANOIA_H 0
|
207 |
+
%define HAVE_CDIO_PARANOIA_PARANOIA_H 0
|
208 |
+
%define HAVE_CUDA_H 0
|
209 |
+
%define HAVE_DISPATCH_DISPATCH_H 0
|
210 |
+
%define HAVE_DEV_BKTR_IOCTL_BT848_H 0
|
211 |
+
%define HAVE_DEV_BKTR_IOCTL_METEOR_H 0
|
212 |
+
%define HAVE_DEV_IC_BT8XX_H 0
|
213 |
+
%define HAVE_DEV_VIDEO_BKTR_IOCTL_BT848_H 0
|
214 |
+
%define HAVE_DEV_VIDEO_METEOR_IOCTL_METEOR_H 0
|
215 |
+
%define HAVE_DIRECT_H 0
|
216 |
+
%define HAVE_DIRENT_H 1
|
217 |
+
%define HAVE_DXGIDEBUG_H 0
|
218 |
+
%define HAVE_DXVA_H 0
|
219 |
+
%define HAVE_ES2_GL_H 0
|
220 |
+
%define HAVE_GSM_H 0
|
221 |
+
%define HAVE_IO_H 0
|
222 |
+
%define HAVE_LINUX_DMA_BUF_H 0
|
223 |
+
%define HAVE_LINUX_PERF_EVENT_H 1
|
224 |
+
%define HAVE_MACHINE_IOCTL_BT848_H 0
|
225 |
+
%define HAVE_MACHINE_IOCTL_METEOR_H 0
|
226 |
+
%define HAVE_MALLOC_H 1
|
227 |
+
%define HAVE_OPENCV2_CORE_CORE_C_H 0
|
228 |
+
%define HAVE_OPENGL_GL3_H 0
|
229 |
+
%define HAVE_POLL_H 1
|
230 |
+
%define HAVE_SYS_PARAM_H 1
|
231 |
+
%define HAVE_SYS_RESOURCE_H 1
|
232 |
+
%define HAVE_SYS_SELECT_H 1
|
233 |
+
%define HAVE_SYS_SOUNDCARD_H 1
|
234 |
+
%define HAVE_SYS_TIME_H 1
|
235 |
+
%define HAVE_SYS_UN_H 1
|
236 |
+
%define HAVE_SYS_VIDEOIO_H 0
|
237 |
+
%define HAVE_TERMIOS_H 1
|
238 |
+
%define HAVE_UDPLITE_H 0
|
239 |
+
%define HAVE_UNISTD_H 1
|
240 |
+
%define HAVE_VALGRIND_VALGRIND_H 0
|
241 |
+
%define HAVE_WINDOWS_H 0
|
242 |
+
%define HAVE_WINSOCK2_H 0
|
243 |
+
%define HAVE_INTRINSICS_NEON 0
|
244 |
+
%define HAVE_ATANF 1
|
245 |
+
%define HAVE_ATAN2F 1
|
246 |
+
%define HAVE_CBRT 1
|
247 |
+
%define HAVE_CBRTF 1
|
248 |
+
%define HAVE_COPYSIGN 1
|
249 |
+
%define HAVE_COSF 1
|
250 |
+
%define HAVE_ERF 1
|
251 |
+
%define HAVE_EXP2 1
|
252 |
+
%define HAVE_EXP2F 1
|
253 |
+
%define HAVE_EXPF 1
|
254 |
+
%define HAVE_HYPOT 1
|
255 |
+
%define HAVE_ISFINITE 1
|
256 |
+
%define HAVE_ISINF 1
|
257 |
+
%define HAVE_ISNAN 1
|
258 |
+
%define HAVE_LDEXPF 1
|
259 |
+
%define HAVE_LLRINT 1
|
260 |
+
%define HAVE_LLRINTF 1
|
261 |
+
%define HAVE_LOG2 1
|
262 |
+
%define HAVE_LOG2F 1
|
263 |
+
%define HAVE_LOG10F 1
|
264 |
+
%define HAVE_LRINT 1
|
265 |
+
%define HAVE_LRINTF 1
|
266 |
+
%define HAVE_POWF 1
|
267 |
+
%define HAVE_RINT 1
|
268 |
+
%define HAVE_ROUND 1
|
269 |
+
%define HAVE_ROUNDF 1
|
270 |
+
%define HAVE_SINF 1
|
271 |
+
%define HAVE_TRUNC 1
|
272 |
+
%define HAVE_TRUNCF 1
|
273 |
+
%define HAVE_DOS_PATHS 0
|
274 |
+
%define HAVE_LIBC_MSVCRT 0
|
275 |
+
%define HAVE_MMAL_PARAMETER_VIDEO_MAX_NUM_CALLBACKS 0
|
276 |
+
%define HAVE_SECTION_DATA_REL_RO 1
|
277 |
+
%define HAVE_THREADS 1
|
278 |
+
%define HAVE_UWP 0
|
279 |
+
%define HAVE_WINRT 0
|
280 |
+
%define HAVE_ACCESS 1
|
281 |
+
%define HAVE_ALIGNED_MALLOC 0
|
282 |
+
%define HAVE_ARC4RANDOM_BUF 0
|
283 |
+
%define HAVE_CLOCK_GETTIME 1
|
284 |
+
%define HAVE_CLOSESOCKET 0
|
285 |
+
%define HAVE_COMMANDLINETOARGVW 0
|
286 |
+
%define HAVE_FCNTL 1
|
287 |
+
%define HAVE_GETADDRINFO 1
|
288 |
+
%define HAVE_GETAUXVAL 1
|
289 |
+
%define HAVE_GETENV 1
|
290 |
+
%define HAVE_GETHRTIME 0
|
291 |
+
%define HAVE_GETOPT 1
|
292 |
+
%define HAVE_GETMODULEHANDLE 0
|
293 |
+
%define HAVE_GETPROCESSAFFINITYMASK 0
|
294 |
+
%define HAVE_GETPROCESSMEMORYINFO 0
|
295 |
+
%define HAVE_GETPROCESSTIMES 0
|
296 |
+
%define HAVE_GETRUSAGE 1
|
297 |
+
%define HAVE_GETSTDHANDLE 0
|
298 |
+
%define HAVE_GETSYSTEMTIMEASFILETIME 0
|
299 |
+
%define HAVE_GETTIMEOFDAY 1
|
300 |
+
%define HAVE_GLOB 1
|
301 |
+
%define HAVE_GLXGETPROCADDRESS 0
|
302 |
+
%define HAVE_GMTIME_R 1
|
303 |
+
%define HAVE_INET_ATON 1
|
304 |
+
%define HAVE_ISATTY 1
|
305 |
+
%define HAVE_KBHIT 0
|
306 |
+
%define HAVE_LOCALTIME_R 1
|
307 |
+
%define HAVE_LSTAT 1
|
308 |
+
%define HAVE_LZO1X_999_COMPRESS 0
|
309 |
+
%define HAVE_MACH_ABSOLUTE_TIME 0
|
310 |
+
%define HAVE_MAPVIEWOFFILE 0
|
311 |
+
%define HAVE_MEMALIGN 1
|
312 |
+
%define HAVE_MKSTEMP 1
|
313 |
+
%define HAVE_MMAP 1
|
314 |
+
%define HAVE_MPROTECT 1
|
315 |
+
%define HAVE_NANOSLEEP 1
|
316 |
+
%define HAVE_PEEKNAMEDPIPE 0
|
317 |
+
%define HAVE_POSIX_MEMALIGN 1
|
318 |
+
%define HAVE_PRCTL 1
|
319 |
+
%define HAVE_PTHREAD_CANCEL 1
|
320 |
+
%define HAVE_SCHED_GETAFFINITY 1
|
321 |
+
%define HAVE_SECITEMIMPORT 0
|
322 |
+
%define HAVE_SETCONSOLETEXTATTRIBUTE 0
|
323 |
+
%define HAVE_SETCONSOLECTRLHANDLER 0
|
324 |
+
%define HAVE_SETDLLDIRECTORY 0
|
325 |
+
%define HAVE_SETMODE 0
|
326 |
+
%define HAVE_SETRLIMIT 1
|
327 |
+
%define HAVE_SLEEP 0
|
328 |
+
%define HAVE_STRERROR_R 1
|
329 |
+
%define HAVE_SYSCONF 1
|
330 |
+
%define HAVE_SYSCTL 0
|
331 |
+
%define HAVE_SYSCTLBYNAME 0
|
332 |
+
%define HAVE_USLEEP 1
|
333 |
+
%define HAVE_UTGETOSTYPEFROMSTRING 0
|
334 |
+
%define HAVE_VIRTUALALLOC 0
|
335 |
+
%define HAVE_WGLGETPROCADDRESS 0
|
336 |
+
%define HAVE_BCRYPT 0
|
337 |
+
%define HAVE_VAAPI_DRM 0
|
338 |
+
%define HAVE_VAAPI_X11 0
|
339 |
+
%define HAVE_VAAPI_WIN32 0
|
340 |
+
%define HAVE_VDPAU_X11 0
|
341 |
+
%define HAVE_PTHREADS 1
|
342 |
+
%define HAVE_OS2THREADS 0
|
343 |
+
%define HAVE_W32THREADS 0
|
344 |
+
%define HAVE_AS_ARCH_DIRECTIVE 0
|
345 |
+
%define HAVE_AS_ARCHEXT_DOTPROD_DIRECTIVE 0
|
346 |
+
%define HAVE_AS_ARCHEXT_I8MM_DIRECTIVE 0
|
347 |
+
%define HAVE_AS_DN_DIRECTIVE 0
|
348 |
+
%define HAVE_AS_FPU_DIRECTIVE 0
|
349 |
+
%define HAVE_AS_FUNC 0
|
350 |
+
%define HAVE_AS_OBJECT_ARCH 0
|
351 |
+
%define HAVE_ASM_MOD_Q 0
|
352 |
+
%define HAVE_BLOCKS_EXTENSION 0
|
353 |
+
%define HAVE_EBP_AVAILABLE 1
|
354 |
+
%define HAVE_EBX_AVAILABLE 1
|
355 |
+
%define HAVE_GNU_AS 0
|
356 |
+
%define HAVE_GNU_WINDRES 0
|
357 |
+
%define HAVE_IBM_ASM 0
|
358 |
+
%define HAVE_INLINE_ASM_DIRECT_SYMBOL_REFS 1
|
359 |
+
%define HAVE_INLINE_ASM_LABELS 1
|
360 |
+
%define HAVE_INLINE_ASM_NONLOCAL_LABELS 1
|
361 |
+
%define HAVE_PRAGMA_DEPRECATED 1
|
362 |
+
%define HAVE_RSYNC_CONTIMEOUT 1
|
363 |
+
%define HAVE_SYMVER_ASM_LABEL 0
|
364 |
+
%define HAVE_SYMVER_GNU_ASM 1
|
365 |
+
%define HAVE_VFP_ARGS 0
|
366 |
+
%define HAVE_XFORM_ASM 0
|
367 |
+
%define HAVE_XMM_CLOBBERS 1
|
368 |
+
%define HAVE_DPI_AWARENESS_CONTEXT 0
|
369 |
+
%define HAVE_IDXGIOUTPUT5 0
|
370 |
+
%define HAVE_KCMVIDEOCODECTYPE_HEVC 0
|
371 |
+
%define HAVE_KCMVIDEOCODECTYPE_HEVCWITHALPHA 0
|
372 |
+
%define HAVE_KCMVIDEOCODECTYPE_VP9 0
|
373 |
+
%define HAVE_KCVPIXELFORMATTYPE_420YPCBCR10BIPLANARVIDEORANGE 0
|
374 |
+
%define HAVE_KCVPIXELFORMATTYPE_422YPCBCR8BIPLANARVIDEORANGE 0
|
375 |
+
%define HAVE_KCVPIXELFORMATTYPE_422YPCBCR10BIPLANARVIDEORANGE 0
|
376 |
+
%define HAVE_KCVPIXELFORMATTYPE_422YPCBCR16BIPLANARVIDEORANGE 0
|
377 |
+
%define HAVE_KCVPIXELFORMATTYPE_444YPCBCR8BIPLANARVIDEORANGE 0
|
378 |
+
%define HAVE_KCVPIXELFORMATTYPE_444YPCBCR10BIPLANARVIDEORANGE 0
|
379 |
+
%define HAVE_KCVPIXELFORMATTYPE_444YPCBCR16BIPLANARVIDEORANGE 0
|
380 |
+
%define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_SMPTE_ST_2084_PQ 0
|
381 |
+
%define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_ITU_R_2100_HLG 0
|
382 |
+
%define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_LINEAR 0
|
383 |
+
%define HAVE_KCVIMAGEBUFFERYCBCRMATRIX_ITU_R_2020 0
|
384 |
+
%define HAVE_KCVIMAGEBUFFERCOLORPRIMARIES_ITU_R_2020 0
|
385 |
+
%define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_ITU_R_2020 0
|
386 |
+
%define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_SMPTE_ST_428_1 0
|
387 |
+
%define HAVE_SOCKLEN_T 1
|
388 |
+
%define HAVE_STRUCT_ADDRINFO 1
|
389 |
+
%define HAVE_STRUCT_GROUP_SOURCE_REQ 1
|
390 |
+
%define HAVE_STRUCT_IP_MREQ_SOURCE 1
|
391 |
+
%define HAVE_STRUCT_IPV6_MREQ 1
|
392 |
+
%define HAVE_STRUCT_MSGHDR_MSG_FLAGS 1
|
393 |
+
%define HAVE_STRUCT_POLLFD 1
|
394 |
+
%define HAVE_STRUCT_RUSAGE_RU_MAXRSS 1
|
395 |
+
%define HAVE_STRUCT_SCTP_EVENT_SUBSCRIBE 0
|
396 |
+
%define HAVE_STRUCT_SOCKADDR_IN6 1
|
397 |
+
%define HAVE_STRUCT_SOCKADDR_SA_LEN 0
|
398 |
+
%define HAVE_STRUCT_SOCKADDR_STORAGE 1
|
399 |
+
%define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
|
400 |
+
%define HAVE_STRUCT_V4L2_FRMIVALENUM_DISCRETE 1
|
401 |
+
%define HAVE_GZIP 1
|
402 |
+
%define HAVE_LIBDRM_GETFB2 0
|
403 |
+
%define HAVE_MAKEINFO 0
|
404 |
+
%define HAVE_MAKEINFO_HTML 0
|
405 |
+
%define HAVE_OPENCL_D3D11 0
|
406 |
+
%define HAVE_OPENCL_DRM_ARM 0
|
407 |
+
%define HAVE_OPENCL_DRM_BEIGNET 0
|
408 |
+
%define HAVE_OPENCL_DXVA2 0
|
409 |
+
%define HAVE_OPENCL_VAAPI_BEIGNET 0
|
410 |
+
%define HAVE_OPENCL_VAAPI_INTEL_MEDIA 0
|
411 |
+
%define HAVE_PERL 1
|
412 |
+
%define HAVE_POD2MAN 1
|
413 |
+
%define HAVE_TEXI2HTML 0
|
414 |
+
%define HAVE_XMLLINT 0
|
415 |
+
%define HAVE_ZLIB_GZIP 1
|
416 |
+
%define HAVE_OPENVINO2 0
|
417 |
+
%define CONFIG_DOC 1
|
418 |
+
%define CONFIG_HTMLPAGES 0
|
419 |
+
%define CONFIG_MANPAGES 1
|
420 |
+
%define CONFIG_PODPAGES 1
|
421 |
+
%define CONFIG_TXTPAGES 0
|
422 |
+
%define CONFIG_AVIO_HTTP_SERVE_FILES_EXAMPLE 1
|
423 |
+
%define CONFIG_AVIO_LIST_DIR_EXAMPLE 1
|
424 |
+
%define CONFIG_AVIO_READ_CALLBACK_EXAMPLE 1
|
425 |
+
%define CONFIG_DECODE_AUDIO_EXAMPLE 1
|
426 |
+
%define CONFIG_DECODE_FILTER_AUDIO_EXAMPLE 1
|
427 |
+
%define CONFIG_DECODE_FILTER_VIDEO_EXAMPLE 1
|
428 |
+
%define CONFIG_DECODE_VIDEO_EXAMPLE 1
|
429 |
+
%define CONFIG_DEMUX_DECODE_EXAMPLE 1
|
430 |
+
%define CONFIG_ENCODE_AUDIO_EXAMPLE 1
|
431 |
+
%define CONFIG_ENCODE_VIDEO_EXAMPLE 1
|
432 |
+
%define CONFIG_EXTRACT_MVS_EXAMPLE 1
|
433 |
+
%define CONFIG_FILTER_AUDIO_EXAMPLE 1
|
434 |
+
%define CONFIG_HW_DECODE_EXAMPLE 1
|
435 |
+
%define CONFIG_MUX_EXAMPLE 1
|
436 |
+
%define CONFIG_QSV_DECODE_EXAMPLE 0
|
437 |
+
%define CONFIG_REMUX_EXAMPLE 1
|
438 |
+
%define CONFIG_RESAMPLE_AUDIO_EXAMPLE 1
|
439 |
+
%define CONFIG_SCALE_VIDEO_EXAMPLE 1
|
440 |
+
%define CONFIG_SHOW_METADATA_EXAMPLE 1
|
441 |
+
%define CONFIG_TRANSCODE_AAC_EXAMPLE 1
|
442 |
+
%define CONFIG_TRANSCODE_EXAMPLE 1
|
443 |
+
%define CONFIG_VAAPI_ENCODE_EXAMPLE 0
|
444 |
+
%define CONFIG_VAAPI_TRANSCODE_EXAMPLE 0
|
445 |
+
%define CONFIG_QSV_TRANSCODE_EXAMPLE 0
|
446 |
+
%define CONFIG_AVISYNTH 0
|
447 |
+
%define CONFIG_FREI0R 0
|
448 |
+
%define CONFIG_LIBCDIO 0
|
449 |
+
%define CONFIG_LIBDAVS2 0
|
450 |
+
%define CONFIG_LIBRUBBERBAND 0
|
451 |
+
%define CONFIG_LIBVIDSTAB 0
|
452 |
+
%define CONFIG_LIBX264 0
|
453 |
+
%define CONFIG_LIBX265 0
|
454 |
+
%define CONFIG_LIBXAVS 0
|
455 |
+
%define CONFIG_LIBXAVS2 0
|
456 |
+
%define CONFIG_LIBXVID 0
|
457 |
+
%define CONFIG_DECKLINK 0
|
458 |
+
%define CONFIG_LIBFDK_AAC 0
|
459 |
+
%define CONFIG_LIBTLS 0
|
460 |
+
%define CONFIG_GMP 0
|
461 |
+
%define CONFIG_LIBARIBB24 0
|
462 |
+
%define CONFIG_LIBLENSFUN 0
|
463 |
+
%define CONFIG_LIBOPENCORE_AMRNB 0
|
464 |
+
%define CONFIG_LIBOPENCORE_AMRWB 0
|
465 |
+
%define CONFIG_LIBVO_AMRWBENC 0
|
466 |
+
%define CONFIG_MBEDTLS 0
|
467 |
+
%define CONFIG_RKMPP 0
|
468 |
+
%define CONFIG_LIBSMBCLIENT 0
|
469 |
+
%define CONFIG_CHROMAPRINT 0
|
470 |
+
%define CONFIG_GCRYPT 0
|
471 |
+
%define CONFIG_GNUTLS 0
|
472 |
+
%define CONFIG_JNI 0
|
473 |
+
%define CONFIG_LADSPA 0
|
474 |
+
%define CONFIG_LCMS2 0
|
475 |
+
%define CONFIG_LIBAOM 0
|
476 |
+
%define CONFIG_LIBARIBCAPTION 0
|
477 |
+
%define CONFIG_LIBASS 0
|
478 |
+
%define CONFIG_LIBBLURAY 0
|
479 |
+
%define CONFIG_LIBBS2B 0
|
480 |
+
%define CONFIG_LIBCACA 0
|
481 |
+
%define CONFIG_LIBCELT 0
|
482 |
+
%define CONFIG_LIBCODEC2 0
|
483 |
+
%define CONFIG_LIBDAV1D 0
|
484 |
+
%define CONFIG_LIBDC1394 0
|
485 |
+
%define CONFIG_LIBDRM 0
|
486 |
+
%define CONFIG_LIBFLITE 0
|
487 |
+
%define CONFIG_LIBFONTCONFIG 0
|
488 |
+
%define CONFIG_LIBFREETYPE 0
|
489 |
+
%define CONFIG_LIBFRIBIDI 0
|
490 |
+
%define CONFIG_LIBHARFBUZZ 0
|
491 |
+
%define CONFIG_LIBGLSLANG 0
|
492 |
+
%define CONFIG_LIBGME 0
|
493 |
+
%define CONFIG_LIBGSM 0
|
494 |
+
%define CONFIG_LIBIEC61883 0
|
495 |
+
%define CONFIG_LIBILBC 0
|
496 |
+
%define CONFIG_LIBJACK 0
|
497 |
+
%define CONFIG_LIBJXL 0
|
498 |
+
%define CONFIG_LIBKLVANC 0
|
499 |
+
%define CONFIG_LIBKVAZAAR 0
|
500 |
+
%define CONFIG_LIBMODPLUG 0
|
501 |
+
%define CONFIG_LIBMP3LAME 0
|
502 |
+
%define CONFIG_LIBMYSOFA 0
|
503 |
+
%define CONFIG_LIBOPENCV 0
|
504 |
+
%define CONFIG_LIBOPENH264 0
|
505 |
+
%define CONFIG_LIBOPENJPEG 0
|
506 |
+
%define CONFIG_LIBOPENMPT 0
|
507 |
+
%define CONFIG_LIBOPENVINO 0
|
508 |
+
%define CONFIG_LIBOPUS 0
|
509 |
+
%define CONFIG_LIBPLACEBO 0
|
510 |
+
%define CONFIG_LIBPULSE 0
|
511 |
+
%define CONFIG_LIBRABBITMQ 0
|
512 |
+
%define CONFIG_LIBRAV1E 0
|
513 |
+
%define CONFIG_LIBRIST 0
|
514 |
+
%define CONFIG_LIBRSVG 0
|
515 |
+
%define CONFIG_LIBRTMP 0
|
516 |
+
%define CONFIG_LIBSHADERC 0
|
517 |
+
%define CONFIG_LIBSHINE 0
|
518 |
+
%define CONFIG_LIBSMBCLIENT 0
|
519 |
+
%define CONFIG_LIBSNAPPY 0
|
520 |
+
%define CONFIG_LIBSOXR 0
|
521 |
+
%define CONFIG_LIBSPEEX 0
|
522 |
+
%define CONFIG_LIBSRT 0
|
523 |
+
%define CONFIG_LIBSSH 0
|
524 |
+
%define CONFIG_LIBSVTAV1 0
|
525 |
+
%define CONFIG_LIBTENSORFLOW 0
|
526 |
+
%define CONFIG_LIBTESSERACT 0
|
527 |
+
%define CONFIG_LIBTHEORA 0
|
528 |
+
%define CONFIG_LIBTWOLAME 0
|
529 |
+
%define CONFIG_LIBUAVS3D 0
|
530 |
+
%define CONFIG_LIBV4L2 0
|
531 |
+
%define CONFIG_LIBVMAF 0
|
532 |
+
%define CONFIG_LIBVORBIS 0
|
533 |
+
%define CONFIG_LIBVPX 0
|
534 |
+
%define CONFIG_LIBWEBP 0
|
535 |
+
%define CONFIG_LIBXML2 0
|
536 |
+
%define CONFIG_LIBZIMG 0
|
537 |
+
%define CONFIG_LIBZMQ 0
|
538 |
+
%define CONFIG_LIBZVBI 0
|
539 |
+
%define CONFIG_LV2 0
|
540 |
+
%define CONFIG_MEDIACODEC 0
|
541 |
+
%define CONFIG_OPENAL 0
|
542 |
+
%define CONFIG_OPENGL 0
|
543 |
+
%define CONFIG_OPENSSL 0
|
544 |
+
%define CONFIG_POCKETSPHINX 0
|
545 |
+
%define CONFIG_VAPOURSYNTH 0
|
546 |
+
%define CONFIG_ALSA 1
|
547 |
+
%define CONFIG_APPKIT 0
|
548 |
+
%define CONFIG_AVFOUNDATION 0
|
549 |
+
%define CONFIG_BZLIB 1
|
550 |
+
%define CONFIG_COREIMAGE 0
|
551 |
+
%define CONFIG_ICONV 1
|
552 |
+
%define CONFIG_LIBXCB 1
|
553 |
+
%define CONFIG_LIBXCB_SHM 0
|
554 |
+
%define CONFIG_LIBXCB_SHAPE 0
|
555 |
+
%define CONFIG_LIBXCB_XFIXES 0
|
556 |
+
%define CONFIG_LZMA 1
|
557 |
+
%define CONFIG_MEDIAFOUNDATION 0
|
558 |
+
%define CONFIG_METAL 0
|
559 |
+
%define CONFIG_SCHANNEL 0
|
560 |
+
%define CONFIG_SDL2 0
|
561 |
+
%define CONFIG_SECURETRANSPORT 0
|
562 |
+
%define CONFIG_SNDIO 0
|
563 |
+
%define CONFIG_XLIB 0
|
564 |
+
%define CONFIG_ZLIB 1
|
565 |
+
%define CONFIG_CUDA_NVCC 1
|
566 |
+
%define CONFIG_CUDA_SDK 0
|
567 |
+
%define CONFIG_LIBNPP 1
|
568 |
+
%define CONFIG_LIBMFX 0
|
569 |
+
%define CONFIG_LIBVPL 0
|
570 |
+
%define CONFIG_MMAL 0
|
571 |
+
%define CONFIG_OMX 0
|
572 |
+
%define CONFIG_OPENCL 0
|
573 |
+
%define CONFIG_AMF 0
|
574 |
+
%define CONFIG_AUDIOTOOLBOX 0
|
575 |
+
%define CONFIG_CRYSTALHD 0
|
576 |
+
%define CONFIG_CUDA 1
|
577 |
+
%define CONFIG_CUDA_LLVM 1
|
578 |
+
%define CONFIG_CUVID 1
|
579 |
+
%define CONFIG_D3D11VA 0
|
580 |
+
%define CONFIG_DXVA2 0
|
581 |
+
%define CONFIG_FFNVCODEC 1
|
582 |
+
%define CONFIG_NVDEC 1
|
583 |
+
%define CONFIG_NVENC 1
|
584 |
+
%define CONFIG_VAAPI 0
|
585 |
+
%define CONFIG_VDPAU 0
|
586 |
+
%define CONFIG_VIDEOTOOLBOX 0
|
587 |
+
%define CONFIG_VULKAN 0
|
588 |
+
%define CONFIG_V4L2_M2M 1
|
589 |
+
%define CONFIG_FTRAPV 0
|
590 |
+
%define CONFIG_GRAY 0
|
591 |
+
%define CONFIG_HARDCODED_TABLES 0
|
592 |
+
%define CONFIG_OMX_RPI 0
|
593 |
+
%define CONFIG_RUNTIME_CPUDETECT 1
|
594 |
+
%define CONFIG_SAFE_BITSTREAM_READER 1
|
595 |
+
%define CONFIG_SHARED 1
|
596 |
+
%define CONFIG_SMALL 0
|
597 |
+
%define CONFIG_STATIC 0
|
598 |
+
%define CONFIG_SWSCALE_ALPHA 1
|
599 |
+
%define CONFIG_GPL 0
|
600 |
+
%define CONFIG_NONFREE 1
|
601 |
+
%define CONFIG_VERSION3 0
|
602 |
+
%define CONFIG_AVDEVICE 1
|
603 |
+
%define CONFIG_AVFILTER 1
|
604 |
+
%define CONFIG_SWSCALE 1
|
605 |
+
%define CONFIG_POSTPROC 0
|
606 |
+
%define CONFIG_AVFORMAT 1
|
607 |
+
%define CONFIG_AVCODEC 1
|
608 |
+
%define CONFIG_SWRESAMPLE 1
|
609 |
+
%define CONFIG_AVUTIL 1
|
610 |
+
%define CONFIG_FFPLAY 0
|
611 |
+
%define CONFIG_FFPROBE 1
|
612 |
+
%define CONFIG_FFMPEG 1
|
613 |
+
%define CONFIG_DCT 1
|
614 |
+
%define CONFIG_DWT 1
|
615 |
+
%define CONFIG_ERROR_RESILIENCE 1
|
616 |
+
%define CONFIG_FAAN 1
|
617 |
+
%define CONFIG_FAST_UNALIGNED 1
|
618 |
+
%define CONFIG_FFT 1
|
619 |
+
%define CONFIG_LSP 1
|
620 |
+
%define CONFIG_MDCT 0
|
621 |
+
%define CONFIG_PIXELUTILS 1
|
622 |
+
%define CONFIG_NETWORK 1
|
623 |
+
%define CONFIG_RDFT 1
|
624 |
+
%define CONFIG_AUTODETECT 0
|
625 |
+
%define CONFIG_FONTCONFIG 0
|
626 |
+
%define CONFIG_LARGE_TESTS 1
|
627 |
+
%define CONFIG_LINUX_PERF 0
|
628 |
+
%define CONFIG_MACOS_KPERF 0
|
629 |
+
%define CONFIG_MEMORY_POISONING 0
|
630 |
+
%define CONFIG_NEON_CLOBBER_TEST 0
|
631 |
+
%define CONFIG_OSSFUZZ 0
|
632 |
+
%define CONFIG_PIC 1
|
633 |
+
%define CONFIG_PTX_COMPRESSION 1
|
634 |
+
%define CONFIG_THUMB 0
|
635 |
+
%define CONFIG_VALGRIND_BACKTRACE 0
|
636 |
+
%define CONFIG_XMM_CLOBBER_TEST 0
|
637 |
+
%define CONFIG_BSFS 1
|
638 |
+
%define CONFIG_DECODERS 1
|
639 |
+
%define CONFIG_ENCODERS 1
|
640 |
+
%define CONFIG_HWACCELS 1
|
641 |
+
%define CONFIG_PARSERS 1
|
642 |
+
%define CONFIG_INDEVS 1
|
643 |
+
%define CONFIG_OUTDEVS 1
|
644 |
+
%define CONFIG_FILTERS 1
|
645 |
+
%define CONFIG_DEMUXERS 1
|
646 |
+
%define CONFIG_MUXERS 1
|
647 |
+
%define CONFIG_PROTOCOLS 1
|
648 |
+
%define CONFIG_AANDCTTABLES 1
|
649 |
+
%define CONFIG_AC3DSP 1
|
650 |
+
%define CONFIG_ADTS_HEADER 1
|
651 |
+
%define CONFIG_ATSC_A53 1
|
652 |
+
%define CONFIG_AUDIO_FRAME_QUEUE 1
|
653 |
+
%define CONFIG_AUDIODSP 1
|
654 |
+
%define CONFIG_BLOCKDSP 1
|
655 |
+
%define CONFIG_BSWAPDSP 1
|
656 |
+
%define CONFIG_CABAC 1
|
657 |
+
%define CONFIG_CBS 1
|
658 |
+
%define CONFIG_CBS_AV1 1
|
659 |
+
%define CONFIG_CBS_H264 1
|
660 |
+
%define CONFIG_CBS_H265 1
|
661 |
+
%define CONFIG_CBS_H266 1
|
662 |
+
%define CONFIG_CBS_JPEG 0
|
663 |
+
%define CONFIG_CBS_MPEG2 1
|
664 |
+
%define CONFIG_CBS_VP9 1
|
665 |
+
%define CONFIG_DEFLATE_WRAPPER 1
|
666 |
+
%define CONFIG_DIRAC_PARSE 1
|
667 |
+
%define CONFIG_DNN 1
|
668 |
+
%define CONFIG_DOVI_RPU 1
|
669 |
+
%define CONFIG_DVPROFILE 1
|
670 |
+
%define CONFIG_EVCPARSE 1
|
671 |
+
%define CONFIG_EXIF 1
|
672 |
+
%define CONFIG_FAANDCT 1
|
673 |
+
%define CONFIG_FAANIDCT 1
|
674 |
+
%define CONFIG_FDCTDSP 1
|
675 |
+
%define CONFIG_FMTCONVERT 1
|
676 |
+
%define CONFIG_FRAME_THREAD_ENCODER 1
|
677 |
+
%define CONFIG_G722DSP 1
|
678 |
+
%define CONFIG_GOLOMB 1
|
679 |
+
%define CONFIG_GPLV3 0
|
680 |
+
%define CONFIG_H263DSP 1
|
681 |
+
%define CONFIG_H264CHROMA 1
|
682 |
+
%define CONFIG_H264DSP 1
|
683 |
+
%define CONFIG_H264PARSE 1
|
684 |
+
%define CONFIG_H264PRED 1
|
685 |
+
%define CONFIG_H264QPEL 1
|
686 |
+
%define CONFIG_H264_SEI 1
|
687 |
+
%define CONFIG_HEVCPARSE 1
|
688 |
+
%define CONFIG_HEVC_SEI 1
|
689 |
+
%define CONFIG_HPELDSP 1
|
690 |
+
%define CONFIG_HUFFMAN 1
|
691 |
+
%define CONFIG_HUFFYUVDSP 1
|
692 |
+
%define CONFIG_HUFFYUVENCDSP 1
|
693 |
+
%define CONFIG_IDCTDSP 1
|
694 |
+
%define CONFIG_IIRFILTER 1
|
695 |
+
%define CONFIG_INFLATE_WRAPPER 1
|
696 |
+
%define CONFIG_INTRAX8 1
|
697 |
+
%define CONFIG_ISO_MEDIA 1
|
698 |
+
%define CONFIG_IVIDSP 1
|
699 |
+
%define CONFIG_JPEGTABLES 1
|
700 |
+
%define CONFIG_LGPLV3 0
|
701 |
+
%define CONFIG_LIBX262 0
|
702 |
+
%define CONFIG_LLAUDDSP 1
|
703 |
+
%define CONFIG_LLVIDDSP 1
|
704 |
+
%define CONFIG_LLVIDENCDSP 1
|
705 |
+
%define CONFIG_LPC 1
|
706 |
+
%define CONFIG_LZF 1
|
707 |
+
%define CONFIG_ME_CMP 1
|
708 |
+
%define CONFIG_MPEG_ER 1
|
709 |
+
%define CONFIG_MPEGAUDIO 1
|
710 |
+
%define CONFIG_MPEGAUDIODSP 1
|
711 |
+
%define CONFIG_MPEGAUDIOHEADER 1
|
712 |
+
%define CONFIG_MPEG4AUDIO 1
|
713 |
+
%define CONFIG_MPEGVIDEO 1
|
714 |
+
%define CONFIG_MPEGVIDEODEC 1
|
715 |
+
%define CONFIG_MPEGVIDEOENC 1
|
716 |
+
%define CONFIG_MSMPEG4DEC 1
|
717 |
+
%define CONFIG_MSMPEG4ENC 1
|
718 |
+
%define CONFIG_MSS34DSP 1
|
719 |
+
%define CONFIG_PIXBLOCKDSP 1
|
720 |
+
%define CONFIG_QPELDSP 1
|
721 |
+
%define CONFIG_QSV 0
|
722 |
+
%define CONFIG_QSVDEC 0
|
723 |
+
%define CONFIG_QSVENC 0
|
724 |
+
%define CONFIG_QSVVPP 0
|
725 |
+
%define CONFIG_RANGECODER 1
|
726 |
+
%define CONFIG_RIFFDEC 1
|
727 |
+
%define CONFIG_RIFFENC 1
|
728 |
+
%define CONFIG_RTPDEC 1
|
729 |
+
%define CONFIG_RTPENC_CHAIN 1
|
730 |
+
%define CONFIG_RV34DSP 1
|
731 |
+
%define CONFIG_SCENE_SAD 1
|
732 |
+
%define CONFIG_SINEWIN 1
|
733 |
+
%define CONFIG_SNAPPY 1
|
734 |
+
%define CONFIG_SRTP 1
|
735 |
+
%define CONFIG_STARTCODE 1
|
736 |
+
%define CONFIG_TEXTUREDSP 1
|
737 |
+
%define CONFIG_TEXTUREDSPENC 1
|
738 |
+
%define CONFIG_TPELDSP 1
|
739 |
+
%define CONFIG_VAAPI_1 0
|
740 |
+
%define CONFIG_VAAPI_ENCODE 0
|
741 |
+
%define CONFIG_VC1DSP 1
|
742 |
+
%define CONFIG_VIDEODSP 1
|
743 |
+
%define CONFIG_VP3DSP 1
|
744 |
+
%define CONFIG_VP56DSP 1
|
745 |
+
%define CONFIG_VP8DSP 1
|
746 |
+
%define CONFIG_WMA_FREQS 1
|
747 |
+
%define CONFIG_WMV2DSP 1
|
config.h
ADDED
@@ -0,0 +1,764 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/* Automatically generated by configure - do not modify! */
|
2 |
+
#ifndef FFMPEG_CONFIG_H
|
3 |
+
#define FFMPEG_CONFIG_H
|
4 |
+
#define FFMPEG_CONFIGURATION "--enable-nonfree --enable-cuda-nvcc --enable-libnpp --extra-cflags=-I/usr/local/cuda/include --extra-ldflags=-L/usr/local/cuda/lib64 --disable-static --enable-shared"
|
5 |
+
#define FFMPEG_LICENSE "nonfree and unredistributable"
|
6 |
+
#define CONFIG_THIS_YEAR 2023
|
7 |
+
#define FFMPEG_DATADIR "/usr/local/share/ffmpeg"
|
8 |
+
#define AVCONV_DATADIR "/usr/local/share/ffmpeg"
|
9 |
+
#define CC_IDENT "gcc 11 (Ubuntu 11.4.0-1ubuntu1~22.04)"
|
10 |
+
#define OS_NAME linux
|
11 |
+
#define av_restrict restrict
|
12 |
+
#define EXTERN_PREFIX ""
|
13 |
+
#define EXTERN_ASM
|
14 |
+
#define BUILDSUF ""
|
15 |
+
#define SLIBSUF ".so"
|
16 |
+
#define HAVE_MMX2 HAVE_MMXEXT
|
17 |
+
#define SWS_MAX_FILTER_SIZE 256
|
18 |
+
#define ARCH_AARCH64 0
|
19 |
+
#define ARCH_ALPHA 0
|
20 |
+
#define ARCH_ARM 0
|
21 |
+
#define ARCH_AVR32 0
|
22 |
+
#define ARCH_AVR32_AP 0
|
23 |
+
#define ARCH_AVR32_UC 0
|
24 |
+
#define ARCH_BFIN 0
|
25 |
+
#define ARCH_IA64 0
|
26 |
+
#define ARCH_LOONGARCH 0
|
27 |
+
#define ARCH_LOONGARCH32 0
|
28 |
+
#define ARCH_LOONGARCH64 0
|
29 |
+
#define ARCH_M68K 0
|
30 |
+
#define ARCH_MIPS 0
|
31 |
+
#define ARCH_MIPS64 0
|
32 |
+
#define ARCH_PARISC 0
|
33 |
+
#define ARCH_PPC 0
|
34 |
+
#define ARCH_PPC64 0
|
35 |
+
#define ARCH_RISCV 0
|
36 |
+
#define ARCH_S390 0
|
37 |
+
#define ARCH_SH4 0
|
38 |
+
#define ARCH_SPARC 0
|
39 |
+
#define ARCH_SPARC64 0
|
40 |
+
#define ARCH_TILEGX 0
|
41 |
+
#define ARCH_TILEPRO 0
|
42 |
+
#define ARCH_X86 1
|
43 |
+
#define ARCH_X86_32 0
|
44 |
+
#define ARCH_X86_64 1
|
45 |
+
#define HAVE_ARMV5TE 0
|
46 |
+
#define HAVE_ARMV6 0
|
47 |
+
#define HAVE_ARMV6T2 0
|
48 |
+
#define HAVE_ARMV8 0
|
49 |
+
#define HAVE_DOTPROD 0
|
50 |
+
#define HAVE_I8MM 0
|
51 |
+
#define HAVE_NEON 0
|
52 |
+
#define HAVE_VFP 0
|
53 |
+
#define HAVE_VFPV3 0
|
54 |
+
#define HAVE_SETEND 0
|
55 |
+
#define HAVE_ALTIVEC 0
|
56 |
+
#define HAVE_DCBZL 0
|
57 |
+
#define HAVE_LDBRX 0
|
58 |
+
#define HAVE_POWER8 0
|
59 |
+
#define HAVE_PPC4XX 0
|
60 |
+
#define HAVE_VSX 0
|
61 |
+
#define HAVE_RVV 0
|
62 |
+
#define HAVE_AESNI 1
|
63 |
+
#define HAVE_AMD3DNOW 1
|
64 |
+
#define HAVE_AMD3DNOWEXT 1
|
65 |
+
#define HAVE_AVX 1
|
66 |
+
#define HAVE_AVX2 1
|
67 |
+
#define HAVE_AVX512 1
|
68 |
+
#define HAVE_AVX512ICL 1
|
69 |
+
#define HAVE_FMA3 1
|
70 |
+
#define HAVE_FMA4 1
|
71 |
+
#define HAVE_MMX 1
|
72 |
+
#define HAVE_MMXEXT 1
|
73 |
+
#define HAVE_SSE 1
|
74 |
+
#define HAVE_SSE2 1
|
75 |
+
#define HAVE_SSE3 1
|
76 |
+
#define HAVE_SSE4 1
|
77 |
+
#define HAVE_SSE42 1
|
78 |
+
#define HAVE_SSSE3 1
|
79 |
+
#define HAVE_XOP 1
|
80 |
+
#define HAVE_CPUNOP 1
|
81 |
+
#define HAVE_I686 1
|
82 |
+
#define HAVE_MIPSFPU 0
|
83 |
+
#define HAVE_MIPS32R2 0
|
84 |
+
#define HAVE_MIPS32R5 0
|
85 |
+
#define HAVE_MIPS64R2 0
|
86 |
+
#define HAVE_MIPS32R6 0
|
87 |
+
#define HAVE_MIPS64R6 0
|
88 |
+
#define HAVE_MIPSDSP 0
|
89 |
+
#define HAVE_MIPSDSPR2 0
|
90 |
+
#define HAVE_MSA 0
|
91 |
+
#define HAVE_LOONGSON2 0
|
92 |
+
#define HAVE_LOONGSON3 0
|
93 |
+
#define HAVE_MMI 0
|
94 |
+
#define HAVE_LSX 0
|
95 |
+
#define HAVE_LASX 0
|
96 |
+
#define HAVE_ARMV5TE_EXTERNAL 0
|
97 |
+
#define HAVE_ARMV6_EXTERNAL 0
|
98 |
+
#define HAVE_ARMV6T2_EXTERNAL 0
|
99 |
+
#define HAVE_ARMV8_EXTERNAL 0
|
100 |
+
#define HAVE_DOTPROD_EXTERNAL 0
|
101 |
+
#define HAVE_I8MM_EXTERNAL 0
|
102 |
+
#define HAVE_NEON_EXTERNAL 0
|
103 |
+
#define HAVE_VFP_EXTERNAL 0
|
104 |
+
#define HAVE_VFPV3_EXTERNAL 0
|
105 |
+
#define HAVE_SETEND_EXTERNAL 0
|
106 |
+
#define HAVE_ALTIVEC_EXTERNAL 0
|
107 |
+
#define HAVE_DCBZL_EXTERNAL 0
|
108 |
+
#define HAVE_LDBRX_EXTERNAL 0
|
109 |
+
#define HAVE_POWER8_EXTERNAL 0
|
110 |
+
#define HAVE_PPC4XX_EXTERNAL 0
|
111 |
+
#define HAVE_VSX_EXTERNAL 0
|
112 |
+
#define HAVE_RVV_EXTERNAL 0
|
113 |
+
#define HAVE_AESNI_EXTERNAL 1
|
114 |
+
#define HAVE_AMD3DNOW_EXTERNAL 1
|
115 |
+
#define HAVE_AMD3DNOWEXT_EXTERNAL 1
|
116 |
+
#define HAVE_AVX_EXTERNAL 1
|
117 |
+
#define HAVE_AVX2_EXTERNAL 1
|
118 |
+
#define HAVE_AVX512_EXTERNAL 0
|
119 |
+
#define HAVE_AVX512ICL_EXTERNAL 0
|
120 |
+
#define HAVE_FMA3_EXTERNAL 1
|
121 |
+
#define HAVE_FMA4_EXTERNAL 1
|
122 |
+
#define HAVE_MMX_EXTERNAL 1
|
123 |
+
#define HAVE_MMXEXT_EXTERNAL 1
|
124 |
+
#define HAVE_SSE_EXTERNAL 1
|
125 |
+
#define HAVE_SSE2_EXTERNAL 1
|
126 |
+
#define HAVE_SSE3_EXTERNAL 1
|
127 |
+
#define HAVE_SSE4_EXTERNAL 1
|
128 |
+
#define HAVE_SSE42_EXTERNAL 1
|
129 |
+
#define HAVE_SSSE3_EXTERNAL 1
|
130 |
+
#define HAVE_XOP_EXTERNAL 1
|
131 |
+
#define HAVE_CPUNOP_EXTERNAL 0
|
132 |
+
#define HAVE_I686_EXTERNAL 0
|
133 |
+
#define HAVE_MIPSFPU_EXTERNAL 0
|
134 |
+
#define HAVE_MIPS32R2_EXTERNAL 0
|
135 |
+
#define HAVE_MIPS32R5_EXTERNAL 0
|
136 |
+
#define HAVE_MIPS64R2_EXTERNAL 0
|
137 |
+
#define HAVE_MIPS32R6_EXTERNAL 0
|
138 |
+
#define HAVE_MIPS64R6_EXTERNAL 0
|
139 |
+
#define HAVE_MIPSDSP_EXTERNAL 0
|
140 |
+
#define HAVE_MIPSDSPR2_EXTERNAL 0
|
141 |
+
#define HAVE_MSA_EXTERNAL 0
|
142 |
+
#define HAVE_LOONGSON2_EXTERNAL 0
|
143 |
+
#define HAVE_LOONGSON3_EXTERNAL 0
|
144 |
+
#define HAVE_MMI_EXTERNAL 0
|
145 |
+
#define HAVE_LSX_EXTERNAL 0
|
146 |
+
#define HAVE_LASX_EXTERNAL 0
|
147 |
+
#define HAVE_ARMV5TE_INLINE 0
|
148 |
+
#define HAVE_ARMV6_INLINE 0
|
149 |
+
#define HAVE_ARMV6T2_INLINE 0
|
150 |
+
#define HAVE_ARMV8_INLINE 0
|
151 |
+
#define HAVE_DOTPROD_INLINE 0
|
152 |
+
#define HAVE_I8MM_INLINE 0
|
153 |
+
#define HAVE_NEON_INLINE 0
|
154 |
+
#define HAVE_VFP_INLINE 0
|
155 |
+
#define HAVE_VFPV3_INLINE 0
|
156 |
+
#define HAVE_SETEND_INLINE 0
|
157 |
+
#define HAVE_ALTIVEC_INLINE 0
|
158 |
+
#define HAVE_DCBZL_INLINE 0
|
159 |
+
#define HAVE_LDBRX_INLINE 0
|
160 |
+
#define HAVE_POWER8_INLINE 0
|
161 |
+
#define HAVE_PPC4XX_INLINE 0
|
162 |
+
#define HAVE_VSX_INLINE 0
|
163 |
+
#define HAVE_RVV_INLINE 0
|
164 |
+
#define HAVE_AESNI_INLINE 1
|
165 |
+
#define HAVE_AMD3DNOW_INLINE 1
|
166 |
+
#define HAVE_AMD3DNOWEXT_INLINE 1
|
167 |
+
#define HAVE_AVX_INLINE 1
|
168 |
+
#define HAVE_AVX2_INLINE 1
|
169 |
+
#define HAVE_AVX512_INLINE 1
|
170 |
+
#define HAVE_AVX512ICL_INLINE 1
|
171 |
+
#define HAVE_FMA3_INLINE 1
|
172 |
+
#define HAVE_FMA4_INLINE 1
|
173 |
+
#define HAVE_MMX_INLINE 1
|
174 |
+
#define HAVE_MMXEXT_INLINE 1
|
175 |
+
#define HAVE_SSE_INLINE 1
|
176 |
+
#define HAVE_SSE2_INLINE 1
|
177 |
+
#define HAVE_SSE3_INLINE 1
|
178 |
+
#define HAVE_SSE4_INLINE 1
|
179 |
+
#define HAVE_SSE42_INLINE 1
|
180 |
+
#define HAVE_SSSE3_INLINE 1
|
181 |
+
#define HAVE_XOP_INLINE 1
|
182 |
+
#define HAVE_CPUNOP_INLINE 0
|
183 |
+
#define HAVE_I686_INLINE 0
|
184 |
+
#define HAVE_MIPSFPU_INLINE 0
|
185 |
+
#define HAVE_MIPS32R2_INLINE 0
|
186 |
+
#define HAVE_MIPS32R5_INLINE 0
|
187 |
+
#define HAVE_MIPS64R2_INLINE 0
|
188 |
+
#define HAVE_MIPS32R6_INLINE 0
|
189 |
+
#define HAVE_MIPS64R6_INLINE 0
|
190 |
+
#define HAVE_MIPSDSP_INLINE 0
|
191 |
+
#define HAVE_MIPSDSPR2_INLINE 0
|
192 |
+
#define HAVE_MSA_INLINE 0
|
193 |
+
#define HAVE_LOONGSON2_INLINE 0
|
194 |
+
#define HAVE_LOONGSON3_INLINE 0
|
195 |
+
#define HAVE_MMI_INLINE 0
|
196 |
+
#define HAVE_LSX_INLINE 0
|
197 |
+
#define HAVE_LASX_INLINE 0
|
198 |
+
#define HAVE_ALIGNED_STACK 1
|
199 |
+
#define HAVE_FAST_64BIT 1
|
200 |
+
#define HAVE_FAST_CLZ 1
|
201 |
+
#define HAVE_FAST_CMOV 1
|
202 |
+
#define HAVE_FAST_FLOAT16 0
|
203 |
+
#define HAVE_LOCAL_ALIGNED 1
|
204 |
+
#define HAVE_SIMD_ALIGN_16 1
|
205 |
+
#define HAVE_SIMD_ALIGN_32 1
|
206 |
+
#define HAVE_SIMD_ALIGN_64 1
|
207 |
+
#define HAVE_ATOMIC_CAS_PTR 0
|
208 |
+
#define HAVE_MACHINE_RW_BARRIER 0
|
209 |
+
#define HAVE_MEMORYBARRIER 0
|
210 |
+
#define HAVE_MM_EMPTY 1
|
211 |
+
#define HAVE_RDTSC 0
|
212 |
+
#define HAVE_SEM_TIMEDWAIT 1
|
213 |
+
#define HAVE_SYNC_VAL_COMPARE_AND_SWAP 1
|
214 |
+
#define HAVE_INLINE_ASM 1
|
215 |
+
#define HAVE_SYMVER 1
|
216 |
+
#define HAVE_X86ASM 1
|
217 |
+
#define HAVE_BIGENDIAN 0
|
218 |
+
#define HAVE_FAST_UNALIGNED 1
|
219 |
+
#define HAVE_ARPA_INET_H 1
|
220 |
+
#define HAVE_ASM_HWCAP_H 0
|
221 |
+
#define HAVE_ASM_TYPES_H 1
|
222 |
+
#define HAVE_CDIO_PARANOIA_H 0
|
223 |
+
#define HAVE_CDIO_PARANOIA_PARANOIA_H 0
|
224 |
+
#define HAVE_CUDA_H 0
|
225 |
+
#define HAVE_DISPATCH_DISPATCH_H 0
|
226 |
+
#define HAVE_DEV_BKTR_IOCTL_BT848_H 0
|
227 |
+
#define HAVE_DEV_BKTR_IOCTL_METEOR_H 0
|
228 |
+
#define HAVE_DEV_IC_BT8XX_H 0
|
229 |
+
#define HAVE_DEV_VIDEO_BKTR_IOCTL_BT848_H 0
|
230 |
+
#define HAVE_DEV_VIDEO_METEOR_IOCTL_METEOR_H 0
|
231 |
+
#define HAVE_DIRECT_H 0
|
232 |
+
#define HAVE_DIRENT_H 1
|
233 |
+
#define HAVE_DXGIDEBUG_H 0
|
234 |
+
#define HAVE_DXVA_H 0
|
235 |
+
#define HAVE_ES2_GL_H 0
|
236 |
+
#define HAVE_GSM_H 0
|
237 |
+
#define HAVE_IO_H 0
|
238 |
+
#define HAVE_LINUX_DMA_BUF_H 0
|
239 |
+
#define HAVE_LINUX_PERF_EVENT_H 1
|
240 |
+
#define HAVE_MACHINE_IOCTL_BT848_H 0
|
241 |
+
#define HAVE_MACHINE_IOCTL_METEOR_H 0
|
242 |
+
#define HAVE_MALLOC_H 1
|
243 |
+
#define HAVE_OPENCV2_CORE_CORE_C_H 0
|
244 |
+
#define HAVE_OPENGL_GL3_H 0
|
245 |
+
#define HAVE_POLL_H 1
|
246 |
+
#define HAVE_SYS_PARAM_H 1
|
247 |
+
#define HAVE_SYS_RESOURCE_H 1
|
248 |
+
#define HAVE_SYS_SELECT_H 1
|
249 |
+
#define HAVE_SYS_SOUNDCARD_H 1
|
250 |
+
#define HAVE_SYS_TIME_H 1
|
251 |
+
#define HAVE_SYS_UN_H 1
|
252 |
+
#define HAVE_SYS_VIDEOIO_H 0
|
253 |
+
#define HAVE_TERMIOS_H 1
|
254 |
+
#define HAVE_UDPLITE_H 0
|
255 |
+
#define HAVE_UNISTD_H 1
|
256 |
+
#define HAVE_VALGRIND_VALGRIND_H 0
|
257 |
+
#define HAVE_WINDOWS_H 0
|
258 |
+
#define HAVE_WINSOCK2_H 0
|
259 |
+
#define HAVE_INTRINSICS_NEON 0
|
260 |
+
#define HAVE_ATANF 1
|
261 |
+
#define HAVE_ATAN2F 1
|
262 |
+
#define HAVE_CBRT 1
|
263 |
+
#define HAVE_CBRTF 1
|
264 |
+
#define HAVE_COPYSIGN 1
|
265 |
+
#define HAVE_COSF 1
|
266 |
+
#define HAVE_ERF 1
|
267 |
+
#define HAVE_EXP2 1
|
268 |
+
#define HAVE_EXP2F 1
|
269 |
+
#define HAVE_EXPF 1
|
270 |
+
#define HAVE_HYPOT 1
|
271 |
+
#define HAVE_ISFINITE 1
|
272 |
+
#define HAVE_ISINF 1
|
273 |
+
#define HAVE_ISNAN 1
|
274 |
+
#define HAVE_LDEXPF 1
|
275 |
+
#define HAVE_LLRINT 1
|
276 |
+
#define HAVE_LLRINTF 1
|
277 |
+
#define HAVE_LOG2 1
|
278 |
+
#define HAVE_LOG2F 1
|
279 |
+
#define HAVE_LOG10F 1
|
280 |
+
#define HAVE_LRINT 1
|
281 |
+
#define HAVE_LRINTF 1
|
282 |
+
#define HAVE_POWF 1
|
283 |
+
#define HAVE_RINT 1
|
284 |
+
#define HAVE_ROUND 1
|
285 |
+
#define HAVE_ROUNDF 1
|
286 |
+
#define HAVE_SINF 1
|
287 |
+
#define HAVE_TRUNC 1
|
288 |
+
#define HAVE_TRUNCF 1
|
289 |
+
#define HAVE_DOS_PATHS 0
|
290 |
+
#define HAVE_LIBC_MSVCRT 0
|
291 |
+
#define HAVE_MMAL_PARAMETER_VIDEO_MAX_NUM_CALLBACKS 0
|
292 |
+
#define HAVE_SECTION_DATA_REL_RO 1
|
293 |
+
#define HAVE_THREADS 1
|
294 |
+
#define HAVE_UWP 0
|
295 |
+
#define HAVE_WINRT 0
|
296 |
+
#define HAVE_ACCESS 1
|
297 |
+
#define HAVE_ALIGNED_MALLOC 0
|
298 |
+
#define HAVE_ARC4RANDOM_BUF 0
|
299 |
+
#define HAVE_CLOCK_GETTIME 1
|
300 |
+
#define HAVE_CLOSESOCKET 0
|
301 |
+
#define HAVE_COMMANDLINETOARGVW 0
|
302 |
+
#define HAVE_FCNTL 1
|
303 |
+
#define HAVE_GETADDRINFO 1
|
304 |
+
#define HAVE_GETAUXVAL 1
|
305 |
+
#define HAVE_GETENV 1
|
306 |
+
#define HAVE_GETHRTIME 0
|
307 |
+
#define HAVE_GETOPT 1
|
308 |
+
#define HAVE_GETMODULEHANDLE 0
|
309 |
+
#define HAVE_GETPROCESSAFFINITYMASK 0
|
310 |
+
#define HAVE_GETPROCESSMEMORYINFO 0
|
311 |
+
#define HAVE_GETPROCESSTIMES 0
|
312 |
+
#define HAVE_GETRUSAGE 1
|
313 |
+
#define HAVE_GETSTDHANDLE 0
|
314 |
+
#define HAVE_GETSYSTEMTIMEASFILETIME 0
|
315 |
+
#define HAVE_GETTIMEOFDAY 1
|
316 |
+
#define HAVE_GLOB 1
|
317 |
+
#define HAVE_GLXGETPROCADDRESS 0
|
318 |
+
#define HAVE_GMTIME_R 1
|
319 |
+
#define HAVE_INET_ATON 1
|
320 |
+
#define HAVE_ISATTY 1
|
321 |
+
#define HAVE_KBHIT 0
|
322 |
+
#define HAVE_LOCALTIME_R 1
|
323 |
+
#define HAVE_LSTAT 1
|
324 |
+
#define HAVE_LZO1X_999_COMPRESS 0
|
325 |
+
#define HAVE_MACH_ABSOLUTE_TIME 0
|
326 |
+
#define HAVE_MAPVIEWOFFILE 0
|
327 |
+
#define HAVE_MEMALIGN 1
|
328 |
+
#define HAVE_MKSTEMP 1
|
329 |
+
#define HAVE_MMAP 1
|
330 |
+
#define HAVE_MPROTECT 1
|
331 |
+
#define HAVE_NANOSLEEP 1
|
332 |
+
#define HAVE_PEEKNAMEDPIPE 0
|
333 |
+
#define HAVE_POSIX_MEMALIGN 1
|
334 |
+
#define HAVE_PRCTL 1
|
335 |
+
#define HAVE_PTHREAD_CANCEL 1
|
336 |
+
#define HAVE_SCHED_GETAFFINITY 1
|
337 |
+
#define HAVE_SECITEMIMPORT 0
|
338 |
+
#define HAVE_SETCONSOLETEXTATTRIBUTE 0
|
339 |
+
#define HAVE_SETCONSOLECTRLHANDLER 0
|
340 |
+
#define HAVE_SETDLLDIRECTORY 0
|
341 |
+
#define HAVE_SETMODE 0
|
342 |
+
#define HAVE_SETRLIMIT 1
|
343 |
+
#define HAVE_SLEEP 0
|
344 |
+
#define HAVE_STRERROR_R 1
|
345 |
+
#define HAVE_SYSCONF 1
|
346 |
+
#define HAVE_SYSCTL 0
|
347 |
+
#define HAVE_SYSCTLBYNAME 0
|
348 |
+
#define HAVE_USLEEP 1
|
349 |
+
#define HAVE_UTGETOSTYPEFROMSTRING 0
|
350 |
+
#define HAVE_VIRTUALALLOC 0
|
351 |
+
#define HAVE_WGLGETPROCADDRESS 0
|
352 |
+
#define HAVE_BCRYPT 0
|
353 |
+
#define HAVE_VAAPI_DRM 0
|
354 |
+
#define HAVE_VAAPI_X11 0
|
355 |
+
#define HAVE_VAAPI_WIN32 0
|
356 |
+
#define HAVE_VDPAU_X11 0
|
357 |
+
#define HAVE_PTHREADS 1
|
358 |
+
#define HAVE_OS2THREADS 0
|
359 |
+
#define HAVE_W32THREADS 0
|
360 |
+
#define HAVE_AS_ARCH_DIRECTIVE 0
|
361 |
+
#define HAVE_AS_ARCHEXT_DOTPROD_DIRECTIVE 0
|
362 |
+
#define HAVE_AS_ARCHEXT_I8MM_DIRECTIVE 0
|
363 |
+
#define HAVE_AS_DN_DIRECTIVE 0
|
364 |
+
#define HAVE_AS_FPU_DIRECTIVE 0
|
365 |
+
#define HAVE_AS_FUNC 0
|
366 |
+
#define HAVE_AS_OBJECT_ARCH 0
|
367 |
+
#define HAVE_ASM_MOD_Q 0
|
368 |
+
#define HAVE_BLOCKS_EXTENSION 0
|
369 |
+
#define HAVE_EBP_AVAILABLE 1
|
370 |
+
#define HAVE_EBX_AVAILABLE 1
|
371 |
+
#define HAVE_GNU_AS 0
|
372 |
+
#define HAVE_GNU_WINDRES 0
|
373 |
+
#define HAVE_IBM_ASM 0
|
374 |
+
#define HAVE_INLINE_ASM_DIRECT_SYMBOL_REFS 1
|
375 |
+
#define HAVE_INLINE_ASM_LABELS 1
|
376 |
+
#define HAVE_INLINE_ASM_NONLOCAL_LABELS 1
|
377 |
+
#define HAVE_PRAGMA_DEPRECATED 1
|
378 |
+
#define HAVE_RSYNC_CONTIMEOUT 1
|
379 |
+
#define HAVE_SYMVER_ASM_LABEL 0
|
380 |
+
#define HAVE_SYMVER_GNU_ASM 1
|
381 |
+
#define HAVE_VFP_ARGS 0
|
382 |
+
#define HAVE_XFORM_ASM 0
|
383 |
+
#define HAVE_XMM_CLOBBERS 1
|
384 |
+
#define HAVE_DPI_AWARENESS_CONTEXT 0
|
385 |
+
#define HAVE_IDXGIOUTPUT5 0
|
386 |
+
#define HAVE_KCMVIDEOCODECTYPE_HEVC 0
|
387 |
+
#define HAVE_KCMVIDEOCODECTYPE_HEVCWITHALPHA 0
|
388 |
+
#define HAVE_KCMVIDEOCODECTYPE_VP9 0
|
389 |
+
#define HAVE_KCVPIXELFORMATTYPE_420YPCBCR10BIPLANARVIDEORANGE 0
|
390 |
+
#define HAVE_KCVPIXELFORMATTYPE_422YPCBCR8BIPLANARVIDEORANGE 0
|
391 |
+
#define HAVE_KCVPIXELFORMATTYPE_422YPCBCR10BIPLANARVIDEORANGE 0
|
392 |
+
#define HAVE_KCVPIXELFORMATTYPE_422YPCBCR16BIPLANARVIDEORANGE 0
|
393 |
+
#define HAVE_KCVPIXELFORMATTYPE_444YPCBCR8BIPLANARVIDEORANGE 0
|
394 |
+
#define HAVE_KCVPIXELFORMATTYPE_444YPCBCR10BIPLANARVIDEORANGE 0
|
395 |
+
#define HAVE_KCVPIXELFORMATTYPE_444YPCBCR16BIPLANARVIDEORANGE 0
|
396 |
+
#define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_SMPTE_ST_2084_PQ 0
|
397 |
+
#define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_ITU_R_2100_HLG 0
|
398 |
+
#define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_LINEAR 0
|
399 |
+
#define HAVE_KCVIMAGEBUFFERYCBCRMATRIX_ITU_R_2020 0
|
400 |
+
#define HAVE_KCVIMAGEBUFFERCOLORPRIMARIES_ITU_R_2020 0
|
401 |
+
#define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_ITU_R_2020 0
|
402 |
+
#define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_SMPTE_ST_428_1 0
|
403 |
+
#define HAVE_SOCKLEN_T 1
|
404 |
+
#define HAVE_STRUCT_ADDRINFO 1
|
405 |
+
#define HAVE_STRUCT_GROUP_SOURCE_REQ 1
|
406 |
+
#define HAVE_STRUCT_IP_MREQ_SOURCE 1
|
407 |
+
#define HAVE_STRUCT_IPV6_MREQ 1
|
408 |
+
#define HAVE_STRUCT_MSGHDR_MSG_FLAGS 1
|
409 |
+
#define HAVE_STRUCT_POLLFD 1
|
410 |
+
#define HAVE_STRUCT_RUSAGE_RU_MAXRSS 1
|
411 |
+
#define HAVE_STRUCT_SCTP_EVENT_SUBSCRIBE 0
|
412 |
+
#define HAVE_STRUCT_SOCKADDR_IN6 1
|
413 |
+
#define HAVE_STRUCT_SOCKADDR_SA_LEN 0
|
414 |
+
#define HAVE_STRUCT_SOCKADDR_STORAGE 1
|
415 |
+
#define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
|
416 |
+
#define HAVE_STRUCT_V4L2_FRMIVALENUM_DISCRETE 1
|
417 |
+
#define HAVE_GZIP 1
|
418 |
+
#define HAVE_LIBDRM_GETFB2 0
|
419 |
+
#define HAVE_MAKEINFO 0
|
420 |
+
#define HAVE_MAKEINFO_HTML 0
|
421 |
+
#define HAVE_OPENCL_D3D11 0
|
422 |
+
#define HAVE_OPENCL_DRM_ARM 0
|
423 |
+
#define HAVE_OPENCL_DRM_BEIGNET 0
|
424 |
+
#define HAVE_OPENCL_DXVA2 0
|
425 |
+
#define HAVE_OPENCL_VAAPI_BEIGNET 0
|
426 |
+
#define HAVE_OPENCL_VAAPI_INTEL_MEDIA 0
|
427 |
+
#define HAVE_PERL 1
|
428 |
+
#define HAVE_POD2MAN 1
|
429 |
+
#define HAVE_TEXI2HTML 0
|
430 |
+
#define HAVE_XMLLINT 0
|
431 |
+
#define HAVE_ZLIB_GZIP 1
|
432 |
+
#define HAVE_OPENVINO2 0
|
433 |
+
#define CONFIG_DOC 1
|
434 |
+
#define CONFIG_HTMLPAGES 0
|
435 |
+
#define CONFIG_MANPAGES 1
|
436 |
+
#define CONFIG_PODPAGES 1
|
437 |
+
#define CONFIG_TXTPAGES 0
|
438 |
+
#define CONFIG_AVIO_HTTP_SERVE_FILES_EXAMPLE 1
|
439 |
+
#define CONFIG_AVIO_LIST_DIR_EXAMPLE 1
|
440 |
+
#define CONFIG_AVIO_READ_CALLBACK_EXAMPLE 1
|
441 |
+
#define CONFIG_DECODE_AUDIO_EXAMPLE 1
|
442 |
+
#define CONFIG_DECODE_FILTER_AUDIO_EXAMPLE 1
|
443 |
+
#define CONFIG_DECODE_FILTER_VIDEO_EXAMPLE 1
|
444 |
+
#define CONFIG_DECODE_VIDEO_EXAMPLE 1
|
445 |
+
#define CONFIG_DEMUX_DECODE_EXAMPLE 1
|
446 |
+
#define CONFIG_ENCODE_AUDIO_EXAMPLE 1
|
447 |
+
#define CONFIG_ENCODE_VIDEO_EXAMPLE 1
|
448 |
+
#define CONFIG_EXTRACT_MVS_EXAMPLE 1
|
449 |
+
#define CONFIG_FILTER_AUDIO_EXAMPLE 1
|
450 |
+
#define CONFIG_HW_DECODE_EXAMPLE 1
|
451 |
+
#define CONFIG_MUX_EXAMPLE 1
|
452 |
+
#define CONFIG_QSV_DECODE_EXAMPLE 0
|
453 |
+
#define CONFIG_REMUX_EXAMPLE 1
|
454 |
+
#define CONFIG_RESAMPLE_AUDIO_EXAMPLE 1
|
455 |
+
#define CONFIG_SCALE_VIDEO_EXAMPLE 1
|
456 |
+
#define CONFIG_SHOW_METADATA_EXAMPLE 1
|
457 |
+
#define CONFIG_TRANSCODE_AAC_EXAMPLE 1
|
458 |
+
#define CONFIG_TRANSCODE_EXAMPLE 1
|
459 |
+
#define CONFIG_VAAPI_ENCODE_EXAMPLE 0
|
460 |
+
#define CONFIG_VAAPI_TRANSCODE_EXAMPLE 0
|
461 |
+
#define CONFIG_QSV_TRANSCODE_EXAMPLE 0
|
462 |
+
#define CONFIG_AVISYNTH 0
|
463 |
+
#define CONFIG_FREI0R 0
|
464 |
+
#define CONFIG_LIBCDIO 0
|
465 |
+
#define CONFIG_LIBDAVS2 0
|
466 |
+
#define CONFIG_LIBRUBBERBAND 0
|
467 |
+
#define CONFIG_LIBVIDSTAB 0
|
468 |
+
#define CONFIG_LIBX264 0
|
469 |
+
#define CONFIG_LIBX265 0
|
470 |
+
#define CONFIG_LIBXAVS 0
|
471 |
+
#define CONFIG_LIBXAVS2 0
|
472 |
+
#define CONFIG_LIBXVID 0
|
473 |
+
#define CONFIG_DECKLINK 0
|
474 |
+
#define CONFIG_LIBFDK_AAC 0
|
475 |
+
#define CONFIG_LIBTLS 0
|
476 |
+
#define CONFIG_GMP 0
|
477 |
+
#define CONFIG_LIBARIBB24 0
|
478 |
+
#define CONFIG_LIBLENSFUN 0
|
479 |
+
#define CONFIG_LIBOPENCORE_AMRNB 0
|
480 |
+
#define CONFIG_LIBOPENCORE_AMRWB 0
|
481 |
+
#define CONFIG_LIBVO_AMRWBENC 0
|
482 |
+
#define CONFIG_MBEDTLS 0
|
483 |
+
#define CONFIG_RKMPP 0
|
484 |
+
#define CONFIG_LIBSMBCLIENT 0
|
485 |
+
#define CONFIG_CHROMAPRINT 0
|
486 |
+
#define CONFIG_GCRYPT 0
|
487 |
+
#define CONFIG_GNUTLS 0
|
488 |
+
#define CONFIG_JNI 0
|
489 |
+
#define CONFIG_LADSPA 0
|
490 |
+
#define CONFIG_LCMS2 0
|
491 |
+
#define CONFIG_LIBAOM 0
|
492 |
+
#define CONFIG_LIBARIBCAPTION 0
|
493 |
+
#define CONFIG_LIBASS 0
|
494 |
+
#define CONFIG_LIBBLURAY 0
|
495 |
+
#define CONFIG_LIBBS2B 0
|
496 |
+
#define CONFIG_LIBCACA 0
|
497 |
+
#define CONFIG_LIBCELT 0
|
498 |
+
#define CONFIG_LIBCODEC2 0
|
499 |
+
#define CONFIG_LIBDAV1D 0
|
500 |
+
#define CONFIG_LIBDC1394 0
|
501 |
+
#define CONFIG_LIBDRM 0
|
502 |
+
#define CONFIG_LIBFLITE 0
|
503 |
+
#define CONFIG_LIBFONTCONFIG 0
|
504 |
+
#define CONFIG_LIBFREETYPE 0
|
505 |
+
#define CONFIG_LIBFRIBIDI 0
|
506 |
+
#define CONFIG_LIBHARFBUZZ 0
|
507 |
+
#define CONFIG_LIBGLSLANG 0
|
508 |
+
#define CONFIG_LIBGME 0
|
509 |
+
#define CONFIG_LIBGSM 0
|
510 |
+
#define CONFIG_LIBIEC61883 0
|
511 |
+
#define CONFIG_LIBILBC 0
|
512 |
+
#define CONFIG_LIBJACK 0
|
513 |
+
#define CONFIG_LIBJXL 0
|
514 |
+
#define CONFIG_LIBKLVANC 0
|
515 |
+
#define CONFIG_LIBKVAZAAR 0
|
516 |
+
#define CONFIG_LIBMODPLUG 0
|
517 |
+
#define CONFIG_LIBMP3LAME 0
|
518 |
+
#define CONFIG_LIBMYSOFA 0
|
519 |
+
#define CONFIG_LIBOPENCV 0
|
520 |
+
#define CONFIG_LIBOPENH264 0
|
521 |
+
#define CONFIG_LIBOPENJPEG 0
|
522 |
+
#define CONFIG_LIBOPENMPT 0
|
523 |
+
#define CONFIG_LIBOPENVINO 0
|
524 |
+
#define CONFIG_LIBOPUS 0
|
525 |
+
#define CONFIG_LIBPLACEBO 0
|
526 |
+
#define CONFIG_LIBPULSE 0
|
527 |
+
#define CONFIG_LIBRABBITMQ 0
|
528 |
+
#define CONFIG_LIBRAV1E 0
|
529 |
+
#define CONFIG_LIBRIST 0
|
530 |
+
#define CONFIG_LIBRSVG 0
|
531 |
+
#define CONFIG_LIBRTMP 0
|
532 |
+
#define CONFIG_LIBSHADERC 0
|
533 |
+
#define CONFIG_LIBSHINE 0
|
534 |
+
#define CONFIG_LIBSMBCLIENT 0
|
535 |
+
#define CONFIG_LIBSNAPPY 0
|
536 |
+
#define CONFIG_LIBSOXR 0
|
537 |
+
#define CONFIG_LIBSPEEX 0
|
538 |
+
#define CONFIG_LIBSRT 0
|
539 |
+
#define CONFIG_LIBSSH 0
|
540 |
+
#define CONFIG_LIBSVTAV1 0
|
541 |
+
#define CONFIG_LIBTENSORFLOW 0
|
542 |
+
#define CONFIG_LIBTESSERACT 0
|
543 |
+
#define CONFIG_LIBTHEORA 0
|
544 |
+
#define CONFIG_LIBTWOLAME 0
|
545 |
+
#define CONFIG_LIBUAVS3D 0
|
546 |
+
#define CONFIG_LIBV4L2 0
|
547 |
+
#define CONFIG_LIBVMAF 0
|
548 |
+
#define CONFIG_LIBVORBIS 0
|
549 |
+
#define CONFIG_LIBVPX 0
|
550 |
+
#define CONFIG_LIBWEBP 0
|
551 |
+
#define CONFIG_LIBXML2 0
|
552 |
+
#define CONFIG_LIBZIMG 0
|
553 |
+
#define CONFIG_LIBZMQ 0
|
554 |
+
#define CONFIG_LIBZVBI 0
|
555 |
+
#define CONFIG_LV2 0
|
556 |
+
#define CONFIG_MEDIACODEC 0
|
557 |
+
#define CONFIG_OPENAL 0
|
558 |
+
#define CONFIG_OPENGL 0
|
559 |
+
#define CONFIG_OPENSSL 0
|
560 |
+
#define CONFIG_POCKETSPHINX 0
|
561 |
+
#define CONFIG_VAPOURSYNTH 0
|
562 |
+
#define CONFIG_ALSA 1
|
563 |
+
#define CONFIG_APPKIT 0
|
564 |
+
#define CONFIG_AVFOUNDATION 0
|
565 |
+
#define CONFIG_BZLIB 1
|
566 |
+
#define CONFIG_COREIMAGE 0
|
567 |
+
#define CONFIG_ICONV 1
|
568 |
+
#define CONFIG_LIBXCB 1
|
569 |
+
#define CONFIG_LIBXCB_SHM 0
|
570 |
+
#define CONFIG_LIBXCB_SHAPE 0
|
571 |
+
#define CONFIG_LIBXCB_XFIXES 0
|
572 |
+
#define CONFIG_LZMA 1
|
573 |
+
#define CONFIG_MEDIAFOUNDATION 0
|
574 |
+
#define CONFIG_METAL 0
|
575 |
+
#define CONFIG_SCHANNEL 0
|
576 |
+
#define CONFIG_SDL2 0
|
577 |
+
#define CONFIG_SECURETRANSPORT 0
|
578 |
+
#define CONFIG_SNDIO 0
|
579 |
+
#define CONFIG_XLIB 0
|
580 |
+
#define CONFIG_ZLIB 1
|
581 |
+
#define CONFIG_CUDA_NVCC 1
|
582 |
+
#define CONFIG_CUDA_SDK 0
|
583 |
+
#define CONFIG_LIBNPP 1
|
584 |
+
#define CONFIG_LIBMFX 0
|
585 |
+
#define CONFIG_LIBVPL 0
|
586 |
+
#define CONFIG_MMAL 0
|
587 |
+
#define CONFIG_OMX 0
|
588 |
+
#define CONFIG_OPENCL 0
|
589 |
+
#define CONFIG_AMF 0
|
590 |
+
#define CONFIG_AUDIOTOOLBOX 0
|
591 |
+
#define CONFIG_CRYSTALHD 0
|
592 |
+
#define CONFIG_CUDA 1
|
593 |
+
#define CONFIG_CUDA_LLVM 1
|
594 |
+
#define CONFIG_CUVID 1
|
595 |
+
#define CONFIG_D3D11VA 0
|
596 |
+
#define CONFIG_DXVA2 0
|
597 |
+
#define CONFIG_FFNVCODEC 1
|
598 |
+
#define CONFIG_NVDEC 1
|
599 |
+
#define CONFIG_NVENC 1
|
600 |
+
#define CONFIG_VAAPI 0
|
601 |
+
#define CONFIG_VDPAU 0
|
602 |
+
#define CONFIG_VIDEOTOOLBOX 0
|
603 |
+
#define CONFIG_VULKAN 0
|
604 |
+
#define CONFIG_V4L2_M2M 1
|
605 |
+
#define CONFIG_FTRAPV 0
|
606 |
+
#define CONFIG_GRAY 0
|
607 |
+
#define CONFIG_HARDCODED_TABLES 0
|
608 |
+
#define CONFIG_OMX_RPI 0
|
609 |
+
#define CONFIG_RUNTIME_CPUDETECT 1
|
610 |
+
#define CONFIG_SAFE_BITSTREAM_READER 1
|
611 |
+
#define CONFIG_SHARED 1
|
612 |
+
#define CONFIG_SMALL 0
|
613 |
+
#define CONFIG_STATIC 0
|
614 |
+
#define CONFIG_SWSCALE_ALPHA 1
|
615 |
+
#define CONFIG_GPL 0
|
616 |
+
#define CONFIG_NONFREE 1
|
617 |
+
#define CONFIG_VERSION3 0
|
618 |
+
#define CONFIG_AVDEVICE 1
|
619 |
+
#define CONFIG_AVFILTER 1
|
620 |
+
#define CONFIG_SWSCALE 1
|
621 |
+
#define CONFIG_POSTPROC 0
|
622 |
+
#define CONFIG_AVFORMAT 1
|
623 |
+
#define CONFIG_AVCODEC 1
|
624 |
+
#define CONFIG_SWRESAMPLE 1
|
625 |
+
#define CONFIG_AVUTIL 1
|
626 |
+
#define CONFIG_FFPLAY 0
|
627 |
+
#define CONFIG_FFPROBE 1
|
628 |
+
#define CONFIG_FFMPEG 1
|
629 |
+
#define CONFIG_DCT 1
|
630 |
+
#define CONFIG_DWT 1
|
631 |
+
#define CONFIG_ERROR_RESILIENCE 1
|
632 |
+
#define CONFIG_FAAN 1
|
633 |
+
#define CONFIG_FAST_UNALIGNED 1
|
634 |
+
#define CONFIG_FFT 1
|
635 |
+
#define CONFIG_LSP 1
|
636 |
+
#define CONFIG_MDCT 0
|
637 |
+
#define CONFIG_PIXELUTILS 1
|
638 |
+
#define CONFIG_NETWORK 1
|
639 |
+
#define CONFIG_RDFT 1
|
640 |
+
#define CONFIG_AUTODETECT 0
|
641 |
+
#define CONFIG_FONTCONFIG 0
|
642 |
+
#define CONFIG_LARGE_TESTS 1
|
643 |
+
#define CONFIG_LINUX_PERF 0
|
644 |
+
#define CONFIG_MACOS_KPERF 0
|
645 |
+
#define CONFIG_MEMORY_POISONING 0
|
646 |
+
#define CONFIG_NEON_CLOBBER_TEST 0
|
647 |
+
#define CONFIG_OSSFUZZ 0
|
648 |
+
#define CONFIG_PIC 1
|
649 |
+
#define CONFIG_PTX_COMPRESSION 1
|
650 |
+
#define CONFIG_THUMB 0
|
651 |
+
#define CONFIG_VALGRIND_BACKTRACE 0
|
652 |
+
#define CONFIG_XMM_CLOBBER_TEST 0
|
653 |
+
#define CONFIG_BSFS 1
|
654 |
+
#define CONFIG_DECODERS 1
|
655 |
+
#define CONFIG_ENCODERS 1
|
656 |
+
#define CONFIG_HWACCELS 1
|
657 |
+
#define CONFIG_PARSERS 1
|
658 |
+
#define CONFIG_INDEVS 1
|
659 |
+
#define CONFIG_OUTDEVS 1
|
660 |
+
#define CONFIG_FILTERS 1
|
661 |
+
#define CONFIG_DEMUXERS 1
|
662 |
+
#define CONFIG_MUXERS 1
|
663 |
+
#define CONFIG_PROTOCOLS 1
|
664 |
+
#define CONFIG_AANDCTTABLES 1
|
665 |
+
#define CONFIG_AC3DSP 1
|
666 |
+
#define CONFIG_ADTS_HEADER 1
|
667 |
+
#define CONFIG_ATSC_A53 1
|
668 |
+
#define CONFIG_AUDIO_FRAME_QUEUE 1
|
669 |
+
#define CONFIG_AUDIODSP 1
|
670 |
+
#define CONFIG_BLOCKDSP 1
|
671 |
+
#define CONFIG_BSWAPDSP 1
|
672 |
+
#define CONFIG_CABAC 1
|
673 |
+
#define CONFIG_CBS 1
|
674 |
+
#define CONFIG_CBS_AV1 1
|
675 |
+
#define CONFIG_CBS_H264 1
|
676 |
+
#define CONFIG_CBS_H265 1
|
677 |
+
#define CONFIG_CBS_H266 1
|
678 |
+
#define CONFIG_CBS_JPEG 0
|
679 |
+
#define CONFIG_CBS_MPEG2 1
|
680 |
+
#define CONFIG_CBS_VP9 1
|
681 |
+
#define CONFIG_DEFLATE_WRAPPER 1
|
682 |
+
#define CONFIG_DIRAC_PARSE 1
|
683 |
+
#define CONFIG_DNN 1
|
684 |
+
#define CONFIG_DOVI_RPU 1
|
685 |
+
#define CONFIG_DVPROFILE 1
|
686 |
+
#define CONFIG_EVCPARSE 1
|
687 |
+
#define CONFIG_EXIF 1
|
688 |
+
#define CONFIG_FAANDCT 1
|
689 |
+
#define CONFIG_FAANIDCT 1
|
690 |
+
#define CONFIG_FDCTDSP 1
|
691 |
+
#define CONFIG_FMTCONVERT 1
|
692 |
+
#define CONFIG_FRAME_THREAD_ENCODER 1
|
693 |
+
#define CONFIG_G722DSP 1
|
694 |
+
#define CONFIG_GOLOMB 1
|
695 |
+
#define CONFIG_GPLV3 0
|
696 |
+
#define CONFIG_H263DSP 1
|
697 |
+
#define CONFIG_H264CHROMA 1
|
698 |
+
#define CONFIG_H264DSP 1
|
699 |
+
#define CONFIG_H264PARSE 1
|
700 |
+
#define CONFIG_H264PRED 1
|
701 |
+
#define CONFIG_H264QPEL 1
|
702 |
+
#define CONFIG_H264_SEI 1
|
703 |
+
#define CONFIG_HEVCPARSE 1
|
704 |
+
#define CONFIG_HEVC_SEI 1
|
705 |
+
#define CONFIG_HPELDSP 1
|
706 |
+
#define CONFIG_HUFFMAN 1
|
707 |
+
#define CONFIG_HUFFYUVDSP 1
|
708 |
+
#define CONFIG_HUFFYUVENCDSP 1
|
709 |
+
#define CONFIG_IDCTDSP 1
|
710 |
+
#define CONFIG_IIRFILTER 1
|
711 |
+
#define CONFIG_INFLATE_WRAPPER 1
|
712 |
+
#define CONFIG_INTRAX8 1
|
713 |
+
#define CONFIG_ISO_MEDIA 1
|
714 |
+
#define CONFIG_IVIDSP 1
|
715 |
+
#define CONFIG_JPEGTABLES 1
|
716 |
+
#define CONFIG_LGPLV3 0
|
717 |
+
#define CONFIG_LIBX262 0
|
718 |
+
#define CONFIG_LLAUDDSP 1
|
719 |
+
#define CONFIG_LLVIDDSP 1
|
720 |
+
#define CONFIG_LLVIDENCDSP 1
|
721 |
+
#define CONFIG_LPC 1
|
722 |
+
#define CONFIG_LZF 1
|
723 |
+
#define CONFIG_ME_CMP 1
|
724 |
+
#define CONFIG_MPEG_ER 1
|
725 |
+
#define CONFIG_MPEGAUDIO 1
|
726 |
+
#define CONFIG_MPEGAUDIODSP 1
|
727 |
+
#define CONFIG_MPEGAUDIOHEADER 1
|
728 |
+
#define CONFIG_MPEG4AUDIO 1
|
729 |
+
#define CONFIG_MPEGVIDEO 1
|
730 |
+
#define CONFIG_MPEGVIDEODEC 1
|
731 |
+
#define CONFIG_MPEGVIDEOENC 1
|
732 |
+
#define CONFIG_MSMPEG4DEC 1
|
733 |
+
#define CONFIG_MSMPEG4ENC 1
|
734 |
+
#define CONFIG_MSS34DSP 1
|
735 |
+
#define CONFIG_PIXBLOCKDSP 1
|
736 |
+
#define CONFIG_QPELDSP 1
|
737 |
+
#define CONFIG_QSV 0
|
738 |
+
#define CONFIG_QSVDEC 0
|
739 |
+
#define CONFIG_QSVENC 0
|
740 |
+
#define CONFIG_QSVVPP 0
|
741 |
+
#define CONFIG_RANGECODER 1
|
742 |
+
#define CONFIG_RIFFDEC 1
|
743 |
+
#define CONFIG_RIFFENC 1
|
744 |
+
#define CONFIG_RTPDEC 1
|
745 |
+
#define CONFIG_RTPENC_CHAIN 1
|
746 |
+
#define CONFIG_RV34DSP 1
|
747 |
+
#define CONFIG_SCENE_SAD 1
|
748 |
+
#define CONFIG_SINEWIN 1
|
749 |
+
#define CONFIG_SNAPPY 1
|
750 |
+
#define CONFIG_SRTP 1
|
751 |
+
#define CONFIG_STARTCODE 1
|
752 |
+
#define CONFIG_TEXTUREDSP 1
|
753 |
+
#define CONFIG_TEXTUREDSPENC 1
|
754 |
+
#define CONFIG_TPELDSP 1
|
755 |
+
#define CONFIG_VAAPI_1 0
|
756 |
+
#define CONFIG_VAAPI_ENCODE 0
|
757 |
+
#define CONFIG_VC1DSP 1
|
758 |
+
#define CONFIG_VIDEODSP 1
|
759 |
+
#define CONFIG_VP3DSP 1
|
760 |
+
#define CONFIG_VP56DSP 1
|
761 |
+
#define CONFIG_VP8DSP 1
|
762 |
+
#define CONFIG_WMA_FREQS 1
|
763 |
+
#define CONFIG_WMV2DSP 1
|
764 |
+
#endif /* FFMPEG_CONFIG_H */
|
config_components.h
ADDED
@@ -0,0 +1,2193 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/* Automatically generated by configure - do not modify! */
|
2 |
+
#ifndef FFMPEG_CONFIG_COMPONENTS_H
|
3 |
+
#define FFMPEG_CONFIG_COMPONENTS_H
|
4 |
+
#define CONFIG_AAC_ADTSTOASC_BSF 1
|
5 |
+
#define CONFIG_AV1_FRAME_MERGE_BSF 1
|
6 |
+
#define CONFIG_AV1_FRAME_SPLIT_BSF 1
|
7 |
+
#define CONFIG_AV1_METADATA_BSF 1
|
8 |
+
#define CONFIG_CHOMP_BSF 1
|
9 |
+
#define CONFIG_DUMP_EXTRADATA_BSF 1
|
10 |
+
#define CONFIG_DCA_CORE_BSF 1
|
11 |
+
#define CONFIG_DTS2PTS_BSF 1
|
12 |
+
#define CONFIG_DV_ERROR_MARKER_BSF 1
|
13 |
+
#define CONFIG_EAC3_CORE_BSF 1
|
14 |
+
#define CONFIG_EXTRACT_EXTRADATA_BSF 1
|
15 |
+
#define CONFIG_FILTER_UNITS_BSF 1
|
16 |
+
#define CONFIG_H264_METADATA_BSF 1
|
17 |
+
#define CONFIG_H264_MP4TOANNEXB_BSF 1
|
18 |
+
#define CONFIG_H264_REDUNDANT_PPS_BSF 1
|
19 |
+
#define CONFIG_HAPQA_EXTRACT_BSF 1
|
20 |
+
#define CONFIG_HEVC_METADATA_BSF 1
|
21 |
+
#define CONFIG_HEVC_MP4TOANNEXB_BSF 1
|
22 |
+
#define CONFIG_IMX_DUMP_HEADER_BSF 1
|
23 |
+
#define CONFIG_MEDIA100_TO_MJPEGB_BSF 1
|
24 |
+
#define CONFIG_MJPEG2JPEG_BSF 1
|
25 |
+
#define CONFIG_MJPEGA_DUMP_HEADER_BSF 1
|
26 |
+
#define CONFIG_MP3_HEADER_DECOMPRESS_BSF 1
|
27 |
+
#define CONFIG_MPEG2_METADATA_BSF 1
|
28 |
+
#define CONFIG_MPEG4_UNPACK_BFRAMES_BSF 1
|
29 |
+
#define CONFIG_MOV2TEXTSUB_BSF 1
|
30 |
+
#define CONFIG_NOISE_BSF 1
|
31 |
+
#define CONFIG_NULL_BSF 1
|
32 |
+
#define CONFIG_OPUS_METADATA_BSF 1
|
33 |
+
#define CONFIG_PCM_RECHUNK_BSF 1
|
34 |
+
#define CONFIG_PGS_FRAME_MERGE_BSF 1
|
35 |
+
#define CONFIG_PRORES_METADATA_BSF 1
|
36 |
+
#define CONFIG_REMOVE_EXTRADATA_BSF 1
|
37 |
+
#define CONFIG_SETTS_BSF 1
|
38 |
+
#define CONFIG_TEXT2MOVSUB_BSF 1
|
39 |
+
#define CONFIG_TRACE_HEADERS_BSF 1
|
40 |
+
#define CONFIG_TRUEHD_CORE_BSF 1
|
41 |
+
#define CONFIG_VP9_METADATA_BSF 1
|
42 |
+
#define CONFIG_VP9_RAW_REORDER_BSF 1
|
43 |
+
#define CONFIG_VP9_SUPERFRAME_BSF 1
|
44 |
+
#define CONFIG_VP9_SUPERFRAME_SPLIT_BSF 1
|
45 |
+
#define CONFIG_VVC_METADATA_BSF 1
|
46 |
+
#define CONFIG_VVC_MP4TOANNEXB_BSF 1
|
47 |
+
#define CONFIG_EVC_FRAME_MERGE_BSF 1
|
48 |
+
#define CONFIG_AASC_DECODER 1
|
49 |
+
#define CONFIG_AIC_DECODER 1
|
50 |
+
#define CONFIG_ALIAS_PIX_DECODER 1
|
51 |
+
#define CONFIG_AGM_DECODER 1
|
52 |
+
#define CONFIG_AMV_DECODER 1
|
53 |
+
#define CONFIG_ANM_DECODER 1
|
54 |
+
#define CONFIG_ANSI_DECODER 1
|
55 |
+
#define CONFIG_APNG_DECODER 1
|
56 |
+
#define CONFIG_ARBC_DECODER 1
|
57 |
+
#define CONFIG_ARGO_DECODER 1
|
58 |
+
#define CONFIG_ASV1_DECODER 1
|
59 |
+
#define CONFIG_ASV2_DECODER 1
|
60 |
+
#define CONFIG_AURA_DECODER 1
|
61 |
+
#define CONFIG_AURA2_DECODER 1
|
62 |
+
#define CONFIG_AVRP_DECODER 1
|
63 |
+
#define CONFIG_AVRN_DECODER 1
|
64 |
+
#define CONFIG_AVS_DECODER 1
|
65 |
+
#define CONFIG_AVUI_DECODER 1
|
66 |
+
#define CONFIG_AYUV_DECODER 1
|
67 |
+
#define CONFIG_BETHSOFTVID_DECODER 1
|
68 |
+
#define CONFIG_BFI_DECODER 1
|
69 |
+
#define CONFIG_BINK_DECODER 1
|
70 |
+
#define CONFIG_BITPACKED_DECODER 1
|
71 |
+
#define CONFIG_BMP_DECODER 1
|
72 |
+
#define CONFIG_BMV_VIDEO_DECODER 1
|
73 |
+
#define CONFIG_BRENDER_PIX_DECODER 1
|
74 |
+
#define CONFIG_C93_DECODER 1
|
75 |
+
#define CONFIG_CAVS_DECODER 1
|
76 |
+
#define CONFIG_CDGRAPHICS_DECODER 1
|
77 |
+
#define CONFIG_CDTOONS_DECODER 1
|
78 |
+
#define CONFIG_CDXL_DECODER 1
|
79 |
+
#define CONFIG_CFHD_DECODER 1
|
80 |
+
#define CONFIG_CINEPAK_DECODER 1
|
81 |
+
#define CONFIG_CLEARVIDEO_DECODER 1
|
82 |
+
#define CONFIG_CLJR_DECODER 1
|
83 |
+
#define CONFIG_CLLC_DECODER 1
|
84 |
+
#define CONFIG_COMFORTNOISE_DECODER 1
|
85 |
+
#define CONFIG_CPIA_DECODER 1
|
86 |
+
#define CONFIG_CRI_DECODER 1
|
87 |
+
#define CONFIG_CSCD_DECODER 1
|
88 |
+
#define CONFIG_CYUV_DECODER 1
|
89 |
+
#define CONFIG_DDS_DECODER 1
|
90 |
+
#define CONFIG_DFA_DECODER 1
|
91 |
+
#define CONFIG_DIRAC_DECODER 1
|
92 |
+
#define CONFIG_DNXHD_DECODER 1
|
93 |
+
#define CONFIG_DPX_DECODER 1
|
94 |
+
#define CONFIG_DSICINVIDEO_DECODER 1
|
95 |
+
#define CONFIG_DVAUDIO_DECODER 1
|
96 |
+
#define CONFIG_DVVIDEO_DECODER 1
|
97 |
+
#define CONFIG_DXA_DECODER 1
|
98 |
+
#define CONFIG_DXTORY_DECODER 1
|
99 |
+
#define CONFIG_DXV_DECODER 1
|
100 |
+
#define CONFIG_EACMV_DECODER 1
|
101 |
+
#define CONFIG_EAMAD_DECODER 1
|
102 |
+
#define CONFIG_EATGQ_DECODER 1
|
103 |
+
#define CONFIG_EATGV_DECODER 1
|
104 |
+
#define CONFIG_EATQI_DECODER 1
|
105 |
+
#define CONFIG_EIGHTBPS_DECODER 1
|
106 |
+
#define CONFIG_EIGHTSVX_EXP_DECODER 1
|
107 |
+
#define CONFIG_EIGHTSVX_FIB_DECODER 1
|
108 |
+
#define CONFIG_ESCAPE124_DECODER 1
|
109 |
+
#define CONFIG_ESCAPE130_DECODER 1
|
110 |
+
#define CONFIG_EXR_DECODER 1
|
111 |
+
#define CONFIG_FFV1_DECODER 1
|
112 |
+
#define CONFIG_FFVHUFF_DECODER 1
|
113 |
+
#define CONFIG_FIC_DECODER 1
|
114 |
+
#define CONFIG_FITS_DECODER 1
|
115 |
+
#define CONFIG_FLASHSV_DECODER 1
|
116 |
+
#define CONFIG_FLASHSV2_DECODER 1
|
117 |
+
#define CONFIG_FLIC_DECODER 1
|
118 |
+
#define CONFIG_FLV_DECODER 1
|
119 |
+
#define CONFIG_FMVC_DECODER 1
|
120 |
+
#define CONFIG_FOURXM_DECODER 1
|
121 |
+
#define CONFIG_FRAPS_DECODER 1
|
122 |
+
#define CONFIG_FRWU_DECODER 1
|
123 |
+
#define CONFIG_G2M_DECODER 1
|
124 |
+
#define CONFIG_GDV_DECODER 1
|
125 |
+
#define CONFIG_GEM_DECODER 1
|
126 |
+
#define CONFIG_GIF_DECODER 1
|
127 |
+
#define CONFIG_H261_DECODER 1
|
128 |
+
#define CONFIG_H263_DECODER 1
|
129 |
+
#define CONFIG_H263I_DECODER 1
|
130 |
+
#define CONFIG_H263P_DECODER 1
|
131 |
+
#define CONFIG_H263_V4L2M2M_DECODER 1
|
132 |
+
#define CONFIG_H264_DECODER 1
|
133 |
+
#define CONFIG_H264_CRYSTALHD_DECODER 0
|
134 |
+
#define CONFIG_H264_V4L2M2M_DECODER 1
|
135 |
+
#define CONFIG_H264_MEDIACODEC_DECODER 0
|
136 |
+
#define CONFIG_H264_MMAL_DECODER 0
|
137 |
+
#define CONFIG_H264_QSV_DECODER 0
|
138 |
+
#define CONFIG_H264_RKMPP_DECODER 0
|
139 |
+
#define CONFIG_HAP_DECODER 1
|
140 |
+
#define CONFIG_HEVC_DECODER 1
|
141 |
+
#define CONFIG_HEVC_QSV_DECODER 0
|
142 |
+
#define CONFIG_HEVC_RKMPP_DECODER 0
|
143 |
+
#define CONFIG_HEVC_V4L2M2M_DECODER 1
|
144 |
+
#define CONFIG_HNM4_VIDEO_DECODER 1
|
145 |
+
#define CONFIG_HQ_HQA_DECODER 1
|
146 |
+
#define CONFIG_HQX_DECODER 1
|
147 |
+
#define CONFIG_HUFFYUV_DECODER 1
|
148 |
+
#define CONFIG_HYMT_DECODER 1
|
149 |
+
#define CONFIG_IDCIN_DECODER 1
|
150 |
+
#define CONFIG_IFF_ILBM_DECODER 1
|
151 |
+
#define CONFIG_IMM4_DECODER 1
|
152 |
+
#define CONFIG_IMM5_DECODER 1
|
153 |
+
#define CONFIG_INDEO2_DECODER 1
|
154 |
+
#define CONFIG_INDEO3_DECODER 1
|
155 |
+
#define CONFIG_INDEO4_DECODER 1
|
156 |
+
#define CONFIG_INDEO5_DECODER 1
|
157 |
+
#define CONFIG_INTERPLAY_VIDEO_DECODER 1
|
158 |
+
#define CONFIG_IPU_DECODER 1
|
159 |
+
#define CONFIG_JPEG2000_DECODER 1
|
160 |
+
#define CONFIG_JPEGLS_DECODER 1
|
161 |
+
#define CONFIG_JV_DECODER 1
|
162 |
+
#define CONFIG_KGV1_DECODER 1
|
163 |
+
#define CONFIG_KMVC_DECODER 1
|
164 |
+
#define CONFIG_LAGARITH_DECODER 1
|
165 |
+
#define CONFIG_LOCO_DECODER 1
|
166 |
+
#define CONFIG_LSCR_DECODER 1
|
167 |
+
#define CONFIG_M101_DECODER 1
|
168 |
+
#define CONFIG_MAGICYUV_DECODER 1
|
169 |
+
#define CONFIG_MDEC_DECODER 1
|
170 |
+
#define CONFIG_MEDIA100_DECODER 1
|
171 |
+
#define CONFIG_MIMIC_DECODER 1
|
172 |
+
#define CONFIG_MJPEG_DECODER 1
|
173 |
+
#define CONFIG_MJPEGB_DECODER 1
|
174 |
+
#define CONFIG_MMVIDEO_DECODER 1
|
175 |
+
#define CONFIG_MOBICLIP_DECODER 1
|
176 |
+
#define CONFIG_MOTIONPIXELS_DECODER 1
|
177 |
+
#define CONFIG_MPEG1VIDEO_DECODER 1
|
178 |
+
#define CONFIG_MPEG2VIDEO_DECODER 1
|
179 |
+
#define CONFIG_MPEG4_DECODER 1
|
180 |
+
#define CONFIG_MPEG4_CRYSTALHD_DECODER 0
|
181 |
+
#define CONFIG_MPEG4_V4L2M2M_DECODER 1
|
182 |
+
#define CONFIG_MPEG4_MMAL_DECODER 0
|
183 |
+
#define CONFIG_MPEGVIDEO_DECODER 1
|
184 |
+
#define CONFIG_MPEG1_V4L2M2M_DECODER 1
|
185 |
+
#define CONFIG_MPEG2_MMAL_DECODER 0
|
186 |
+
#define CONFIG_MPEG2_CRYSTALHD_DECODER 0
|
187 |
+
#define CONFIG_MPEG2_V4L2M2M_DECODER 1
|
188 |
+
#define CONFIG_MPEG2_QSV_DECODER 0
|
189 |
+
#define CONFIG_MPEG2_MEDIACODEC_DECODER 0
|
190 |
+
#define CONFIG_MSA1_DECODER 1
|
191 |
+
#define CONFIG_MSCC_DECODER 1
|
192 |
+
#define CONFIG_MSMPEG4V1_DECODER 1
|
193 |
+
#define CONFIG_MSMPEG4V2_DECODER 1
|
194 |
+
#define CONFIG_MSMPEG4V3_DECODER 1
|
195 |
+
#define CONFIG_MSMPEG4_CRYSTALHD_DECODER 0
|
196 |
+
#define CONFIG_MSP2_DECODER 1
|
197 |
+
#define CONFIG_MSRLE_DECODER 1
|
198 |
+
#define CONFIG_MSS1_DECODER 1
|
199 |
+
#define CONFIG_MSS2_DECODER 1
|
200 |
+
#define CONFIG_MSVIDEO1_DECODER 1
|
201 |
+
#define CONFIG_MSZH_DECODER 1
|
202 |
+
#define CONFIG_MTS2_DECODER 1
|
203 |
+
#define CONFIG_MV30_DECODER 1
|
204 |
+
#define CONFIG_MVC1_DECODER 1
|
205 |
+
#define CONFIG_MVC2_DECODER 1
|
206 |
+
#define CONFIG_MVDV_DECODER 1
|
207 |
+
#define CONFIG_MVHA_DECODER 1
|
208 |
+
#define CONFIG_MWSC_DECODER 1
|
209 |
+
#define CONFIG_MXPEG_DECODER 1
|
210 |
+
#define CONFIG_NOTCHLC_DECODER 1
|
211 |
+
#define CONFIG_NUV_DECODER 1
|
212 |
+
#define CONFIG_PAF_VIDEO_DECODER 1
|
213 |
+
#define CONFIG_PAM_DECODER 1
|
214 |
+
#define CONFIG_PBM_DECODER 1
|
215 |
+
#define CONFIG_PCX_DECODER 1
|
216 |
+
#define CONFIG_PDV_DECODER 1
|
217 |
+
#define CONFIG_PFM_DECODER 1
|
218 |
+
#define CONFIG_PGM_DECODER 1
|
219 |
+
#define CONFIG_PGMYUV_DECODER 1
|
220 |
+
#define CONFIG_PGX_DECODER 1
|
221 |
+
#define CONFIG_PHM_DECODER 1
|
222 |
+
#define CONFIG_PHOTOCD_DECODER 1
|
223 |
+
#define CONFIG_PICTOR_DECODER 1
|
224 |
+
#define CONFIG_PIXLET_DECODER 1
|
225 |
+
#define CONFIG_PNG_DECODER 1
|
226 |
+
#define CONFIG_PPM_DECODER 1
|
227 |
+
#define CONFIG_PRORES_DECODER 1
|
228 |
+
#define CONFIG_PROSUMER_DECODER 1
|
229 |
+
#define CONFIG_PSD_DECODER 1
|
230 |
+
#define CONFIG_PTX_DECODER 1
|
231 |
+
#define CONFIG_QDRAW_DECODER 1
|
232 |
+
#define CONFIG_QOI_DECODER 1
|
233 |
+
#define CONFIG_QPEG_DECODER 1
|
234 |
+
#define CONFIG_QTRLE_DECODER 1
|
235 |
+
#define CONFIG_R10K_DECODER 1
|
236 |
+
#define CONFIG_R210_DECODER 1
|
237 |
+
#define CONFIG_RASC_DECODER 1
|
238 |
+
#define CONFIG_RAWVIDEO_DECODER 1
|
239 |
+
#define CONFIG_RKA_DECODER 1
|
240 |
+
#define CONFIG_RL2_DECODER 1
|
241 |
+
#define CONFIG_ROQ_DECODER 1
|
242 |
+
#define CONFIG_RPZA_DECODER 1
|
243 |
+
#define CONFIG_RSCC_DECODER 1
|
244 |
+
#define CONFIG_RTV1_DECODER 1
|
245 |
+
#define CONFIG_RV10_DECODER 1
|
246 |
+
#define CONFIG_RV20_DECODER 1
|
247 |
+
#define CONFIG_RV30_DECODER 1
|
248 |
+
#define CONFIG_RV40_DECODER 1
|
249 |
+
#define CONFIG_S302M_DECODER 1
|
250 |
+
#define CONFIG_SANM_DECODER 1
|
251 |
+
#define CONFIG_SCPR_DECODER 1
|
252 |
+
#define CONFIG_SCREENPRESSO_DECODER 1
|
253 |
+
#define CONFIG_SGA_DECODER 1
|
254 |
+
#define CONFIG_SGI_DECODER 1
|
255 |
+
#define CONFIG_SGIRLE_DECODER 1
|
256 |
+
#define CONFIG_SHEERVIDEO_DECODER 1
|
257 |
+
#define CONFIG_SIMBIOSIS_IMX_DECODER 1
|
258 |
+
#define CONFIG_SMACKER_DECODER 1
|
259 |
+
#define CONFIG_SMC_DECODER 1
|
260 |
+
#define CONFIG_SMVJPEG_DECODER 1
|
261 |
+
#define CONFIG_SNOW_DECODER 1
|
262 |
+
#define CONFIG_SP5X_DECODER 1
|
263 |
+
#define CONFIG_SPEEDHQ_DECODER 1
|
264 |
+
#define CONFIG_SPEEX_DECODER 1
|
265 |
+
#define CONFIG_SRGC_DECODER 1
|
266 |
+
#define CONFIG_SUNRAST_DECODER 1
|
267 |
+
#define CONFIG_SVQ1_DECODER 1
|
268 |
+
#define CONFIG_SVQ3_DECODER 1
|
269 |
+
#define CONFIG_TARGA_DECODER 1
|
270 |
+
#define CONFIG_TARGA_Y216_DECODER 1
|
271 |
+
#define CONFIG_TDSC_DECODER 1
|
272 |
+
#define CONFIG_THEORA_DECODER 1
|
273 |
+
#define CONFIG_THP_DECODER 1
|
274 |
+
#define CONFIG_TIERTEXSEQVIDEO_DECODER 1
|
275 |
+
#define CONFIG_TIFF_DECODER 1
|
276 |
+
#define CONFIG_TMV_DECODER 1
|
277 |
+
#define CONFIG_TRUEMOTION1_DECODER 1
|
278 |
+
#define CONFIG_TRUEMOTION2_DECODER 1
|
279 |
+
#define CONFIG_TRUEMOTION2RT_DECODER 1
|
280 |
+
#define CONFIG_TSCC_DECODER 1
|
281 |
+
#define CONFIG_TSCC2_DECODER 1
|
282 |
+
#define CONFIG_TXD_DECODER 1
|
283 |
+
#define CONFIG_ULTI_DECODER 1
|
284 |
+
#define CONFIG_UTVIDEO_DECODER 1
|
285 |
+
#define CONFIG_V210_DECODER 1
|
286 |
+
#define CONFIG_V210X_DECODER 1
|
287 |
+
#define CONFIG_V308_DECODER 1
|
288 |
+
#define CONFIG_V408_DECODER 1
|
289 |
+
#define CONFIG_V410_DECODER 1
|
290 |
+
#define CONFIG_VB_DECODER 1
|
291 |
+
#define CONFIG_VBN_DECODER 1
|
292 |
+
#define CONFIG_VBLE_DECODER 1
|
293 |
+
#define CONFIG_VC1_DECODER 1
|
294 |
+
#define CONFIG_VC1_CRYSTALHD_DECODER 0
|
295 |
+
#define CONFIG_VC1IMAGE_DECODER 1
|
296 |
+
#define CONFIG_VC1_MMAL_DECODER 0
|
297 |
+
#define CONFIG_VC1_QSV_DECODER 0
|
298 |
+
#define CONFIG_VC1_V4L2M2M_DECODER 1
|
299 |
+
#define CONFIG_VCR1_DECODER 1
|
300 |
+
#define CONFIG_VMDVIDEO_DECODER 1
|
301 |
+
#define CONFIG_VMIX_DECODER 1
|
302 |
+
#define CONFIG_VMNC_DECODER 1
|
303 |
+
#define CONFIG_VP3_DECODER 1
|
304 |
+
#define CONFIG_VP4_DECODER 1
|
305 |
+
#define CONFIG_VP5_DECODER 1
|
306 |
+
#define CONFIG_VP6_DECODER 1
|
307 |
+
#define CONFIG_VP6A_DECODER 1
|
308 |
+
#define CONFIG_VP6F_DECODER 1
|
309 |
+
#define CONFIG_VP7_DECODER 1
|
310 |
+
#define CONFIG_VP8_DECODER 1
|
311 |
+
#define CONFIG_VP8_RKMPP_DECODER 0
|
312 |
+
#define CONFIG_VP8_V4L2M2M_DECODER 1
|
313 |
+
#define CONFIG_VP9_DECODER 1
|
314 |
+
#define CONFIG_VP9_RKMPP_DECODER 0
|
315 |
+
#define CONFIG_VP9_V4L2M2M_DECODER 1
|
316 |
+
#define CONFIG_VQA_DECODER 1
|
317 |
+
#define CONFIG_VQC_DECODER 1
|
318 |
+
#define CONFIG_WBMP_DECODER 1
|
319 |
+
#define CONFIG_WEBP_DECODER 1
|
320 |
+
#define CONFIG_WCMV_DECODER 1
|
321 |
+
#define CONFIG_WRAPPED_AVFRAME_DECODER 1
|
322 |
+
#define CONFIG_WMV1_DECODER 1
|
323 |
+
#define CONFIG_WMV2_DECODER 1
|
324 |
+
#define CONFIG_WMV3_DECODER 1
|
325 |
+
#define CONFIG_WMV3_CRYSTALHD_DECODER 0
|
326 |
+
#define CONFIG_WMV3IMAGE_DECODER 1
|
327 |
+
#define CONFIG_WNV1_DECODER 1
|
328 |
+
#define CONFIG_XAN_WC3_DECODER 1
|
329 |
+
#define CONFIG_XAN_WC4_DECODER 1
|
330 |
+
#define CONFIG_XBM_DECODER 1
|
331 |
+
#define CONFIG_XFACE_DECODER 1
|
332 |
+
#define CONFIG_XL_DECODER 1
|
333 |
+
#define CONFIG_XPM_DECODER 1
|
334 |
+
#define CONFIG_XWD_DECODER 1
|
335 |
+
#define CONFIG_Y41P_DECODER 1
|
336 |
+
#define CONFIG_YLC_DECODER 1
|
337 |
+
#define CONFIG_YOP_DECODER 1
|
338 |
+
#define CONFIG_YUV4_DECODER 1
|
339 |
+
#define CONFIG_ZERO12V_DECODER 1
|
340 |
+
#define CONFIG_ZEROCODEC_DECODER 1
|
341 |
+
#define CONFIG_ZLIB_DECODER 1
|
342 |
+
#define CONFIG_ZMBV_DECODER 1
|
343 |
+
#define CONFIG_AAC_DECODER 1
|
344 |
+
#define CONFIG_AAC_FIXED_DECODER 1
|
345 |
+
#define CONFIG_AAC_LATM_DECODER 1
|
346 |
+
#define CONFIG_AC3_DECODER 1
|
347 |
+
#define CONFIG_AC3_FIXED_DECODER 1
|
348 |
+
#define CONFIG_ACELP_KELVIN_DECODER 1
|
349 |
+
#define CONFIG_ALAC_DECODER 1
|
350 |
+
#define CONFIG_ALS_DECODER 1
|
351 |
+
#define CONFIG_AMRNB_DECODER 1
|
352 |
+
#define CONFIG_AMRWB_DECODER 1
|
353 |
+
#define CONFIG_APAC_DECODER 1
|
354 |
+
#define CONFIG_APE_DECODER 1
|
355 |
+
#define CONFIG_APTX_DECODER 1
|
356 |
+
#define CONFIG_APTX_HD_DECODER 1
|
357 |
+
#define CONFIG_ATRAC1_DECODER 1
|
358 |
+
#define CONFIG_ATRAC3_DECODER 1
|
359 |
+
#define CONFIG_ATRAC3AL_DECODER 1
|
360 |
+
#define CONFIG_ATRAC3P_DECODER 1
|
361 |
+
#define CONFIG_ATRAC3PAL_DECODER 1
|
362 |
+
#define CONFIG_ATRAC9_DECODER 1
|
363 |
+
#define CONFIG_BINKAUDIO_DCT_DECODER 1
|
364 |
+
#define CONFIG_BINKAUDIO_RDFT_DECODER 1
|
365 |
+
#define CONFIG_BMV_AUDIO_DECODER 1
|
366 |
+
#define CONFIG_BONK_DECODER 1
|
367 |
+
#define CONFIG_COOK_DECODER 1
|
368 |
+
#define CONFIG_DCA_DECODER 1
|
369 |
+
#define CONFIG_DFPWM_DECODER 1
|
370 |
+
#define CONFIG_DOLBY_E_DECODER 1
|
371 |
+
#define CONFIG_DSD_LSBF_DECODER 1
|
372 |
+
#define CONFIG_DSD_MSBF_DECODER 1
|
373 |
+
#define CONFIG_DSD_LSBF_PLANAR_DECODER 1
|
374 |
+
#define CONFIG_DSD_MSBF_PLANAR_DECODER 1
|
375 |
+
#define CONFIG_DSICINAUDIO_DECODER 1
|
376 |
+
#define CONFIG_DSS_SP_DECODER 1
|
377 |
+
#define CONFIG_DST_DECODER 1
|
378 |
+
#define CONFIG_EAC3_DECODER 1
|
379 |
+
#define CONFIG_EVRC_DECODER 1
|
380 |
+
#define CONFIG_FASTAUDIO_DECODER 1
|
381 |
+
#define CONFIG_FFWAVESYNTH_DECODER 1
|
382 |
+
#define CONFIG_FLAC_DECODER 1
|
383 |
+
#define CONFIG_FTR_DECODER 1
|
384 |
+
#define CONFIG_G723_1_DECODER 1
|
385 |
+
#define CONFIG_G729_DECODER 1
|
386 |
+
#define CONFIG_GSM_DECODER 1
|
387 |
+
#define CONFIG_GSM_MS_DECODER 1
|
388 |
+
#define CONFIG_HCA_DECODER 1
|
389 |
+
#define CONFIG_HCOM_DECODER 1
|
390 |
+
#define CONFIG_HDR_DECODER 1
|
391 |
+
#define CONFIG_IAC_DECODER 1
|
392 |
+
#define CONFIG_ILBC_DECODER 1
|
393 |
+
#define CONFIG_IMC_DECODER 1
|
394 |
+
#define CONFIG_INTERPLAY_ACM_DECODER 1
|
395 |
+
#define CONFIG_MACE3_DECODER 1
|
396 |
+
#define CONFIG_MACE6_DECODER 1
|
397 |
+
#define CONFIG_METASOUND_DECODER 1
|
398 |
+
#define CONFIG_MISC4_DECODER 1
|
399 |
+
#define CONFIG_MLP_DECODER 1
|
400 |
+
#define CONFIG_MP1_DECODER 1
|
401 |
+
#define CONFIG_MP1FLOAT_DECODER 1
|
402 |
+
#define CONFIG_MP2_DECODER 1
|
403 |
+
#define CONFIG_MP2FLOAT_DECODER 1
|
404 |
+
#define CONFIG_MP3FLOAT_DECODER 1
|
405 |
+
#define CONFIG_MP3_DECODER 1
|
406 |
+
#define CONFIG_MP3ADUFLOAT_DECODER 1
|
407 |
+
#define CONFIG_MP3ADU_DECODER 1
|
408 |
+
#define CONFIG_MP3ON4FLOAT_DECODER 1
|
409 |
+
#define CONFIG_MP3ON4_DECODER 1
|
410 |
+
#define CONFIG_MPC7_DECODER 1
|
411 |
+
#define CONFIG_MPC8_DECODER 1
|
412 |
+
#define CONFIG_MSNSIREN_DECODER 1
|
413 |
+
#define CONFIG_NELLYMOSER_DECODER 1
|
414 |
+
#define CONFIG_ON2AVC_DECODER 1
|
415 |
+
#define CONFIG_OPUS_DECODER 1
|
416 |
+
#define CONFIG_OSQ_DECODER 1
|
417 |
+
#define CONFIG_PAF_AUDIO_DECODER 1
|
418 |
+
#define CONFIG_QCELP_DECODER 1
|
419 |
+
#define CONFIG_QDM2_DECODER 1
|
420 |
+
#define CONFIG_QDMC_DECODER 1
|
421 |
+
#define CONFIG_RA_144_DECODER 1
|
422 |
+
#define CONFIG_RA_288_DECODER 1
|
423 |
+
#define CONFIG_RALF_DECODER 1
|
424 |
+
#define CONFIG_SBC_DECODER 1
|
425 |
+
#define CONFIG_SHORTEN_DECODER 1
|
426 |
+
#define CONFIG_SIPR_DECODER 1
|
427 |
+
#define CONFIG_SIREN_DECODER 1
|
428 |
+
#define CONFIG_SMACKAUD_DECODER 1
|
429 |
+
#define CONFIG_SONIC_DECODER 1
|
430 |
+
#define CONFIG_TAK_DECODER 1
|
431 |
+
#define CONFIG_TRUEHD_DECODER 1
|
432 |
+
#define CONFIG_TRUESPEECH_DECODER 1
|
433 |
+
#define CONFIG_TTA_DECODER 1
|
434 |
+
#define CONFIG_TWINVQ_DECODER 1
|
435 |
+
#define CONFIG_VMDAUDIO_DECODER 1
|
436 |
+
#define CONFIG_VORBIS_DECODER 1
|
437 |
+
#define CONFIG_WAVARC_DECODER 1
|
438 |
+
#define CONFIG_WAVPACK_DECODER 1
|
439 |
+
#define CONFIG_WMALOSSLESS_DECODER 1
|
440 |
+
#define CONFIG_WMAPRO_DECODER 1
|
441 |
+
#define CONFIG_WMAV1_DECODER 1
|
442 |
+
#define CONFIG_WMAV2_DECODER 1
|
443 |
+
#define CONFIG_WMAVOICE_DECODER 1
|
444 |
+
#define CONFIG_WS_SND1_DECODER 1
|
445 |
+
#define CONFIG_XMA1_DECODER 1
|
446 |
+
#define CONFIG_XMA2_DECODER 1
|
447 |
+
#define CONFIG_PCM_ALAW_DECODER 1
|
448 |
+
#define CONFIG_PCM_BLURAY_DECODER 1
|
449 |
+
#define CONFIG_PCM_DVD_DECODER 1
|
450 |
+
#define CONFIG_PCM_F16LE_DECODER 1
|
451 |
+
#define CONFIG_PCM_F24LE_DECODER 1
|
452 |
+
#define CONFIG_PCM_F32BE_DECODER 1
|
453 |
+
#define CONFIG_PCM_F32LE_DECODER 1
|
454 |
+
#define CONFIG_PCM_F64BE_DECODER 1
|
455 |
+
#define CONFIG_PCM_F64LE_DECODER 1
|
456 |
+
#define CONFIG_PCM_LXF_DECODER 1
|
457 |
+
#define CONFIG_PCM_MULAW_DECODER 1
|
458 |
+
#define CONFIG_PCM_S8_DECODER 1
|
459 |
+
#define CONFIG_PCM_S8_PLANAR_DECODER 1
|
460 |
+
#define CONFIG_PCM_S16BE_DECODER 1
|
461 |
+
#define CONFIG_PCM_S16BE_PLANAR_DECODER 1
|
462 |
+
#define CONFIG_PCM_S16LE_DECODER 1
|
463 |
+
#define CONFIG_PCM_S16LE_PLANAR_DECODER 1
|
464 |
+
#define CONFIG_PCM_S24BE_DECODER 1
|
465 |
+
#define CONFIG_PCM_S24DAUD_DECODER 1
|
466 |
+
#define CONFIG_PCM_S24LE_DECODER 1
|
467 |
+
#define CONFIG_PCM_S24LE_PLANAR_DECODER 1
|
468 |
+
#define CONFIG_PCM_S32BE_DECODER 1
|
469 |
+
#define CONFIG_PCM_S32LE_DECODER 1
|
470 |
+
#define CONFIG_PCM_S32LE_PLANAR_DECODER 1
|
471 |
+
#define CONFIG_PCM_S64BE_DECODER 1
|
472 |
+
#define CONFIG_PCM_S64LE_DECODER 1
|
473 |
+
#define CONFIG_PCM_SGA_DECODER 1
|
474 |
+
#define CONFIG_PCM_U8_DECODER 1
|
475 |
+
#define CONFIG_PCM_U16BE_DECODER 1
|
476 |
+
#define CONFIG_PCM_U16LE_DECODER 1
|
477 |
+
#define CONFIG_PCM_U24BE_DECODER 1
|
478 |
+
#define CONFIG_PCM_U24LE_DECODER 1
|
479 |
+
#define CONFIG_PCM_U32BE_DECODER 1
|
480 |
+
#define CONFIG_PCM_U32LE_DECODER 1
|
481 |
+
#define CONFIG_PCM_VIDC_DECODER 1
|
482 |
+
#define CONFIG_CBD2_DPCM_DECODER 1
|
483 |
+
#define CONFIG_DERF_DPCM_DECODER 1
|
484 |
+
#define CONFIG_GREMLIN_DPCM_DECODER 1
|
485 |
+
#define CONFIG_INTERPLAY_DPCM_DECODER 1
|
486 |
+
#define CONFIG_ROQ_DPCM_DECODER 1
|
487 |
+
#define CONFIG_SDX2_DPCM_DECODER 1
|
488 |
+
#define CONFIG_SOL_DPCM_DECODER 1
|
489 |
+
#define CONFIG_XAN_DPCM_DECODER 1
|
490 |
+
#define CONFIG_WADY_DPCM_DECODER 1
|
491 |
+
#define CONFIG_ADPCM_4XM_DECODER 1
|
492 |
+
#define CONFIG_ADPCM_ADX_DECODER 1
|
493 |
+
#define CONFIG_ADPCM_AFC_DECODER 1
|
494 |
+
#define CONFIG_ADPCM_AGM_DECODER 1
|
495 |
+
#define CONFIG_ADPCM_AICA_DECODER 1
|
496 |
+
#define CONFIG_ADPCM_ARGO_DECODER 1
|
497 |
+
#define CONFIG_ADPCM_CT_DECODER 1
|
498 |
+
#define CONFIG_ADPCM_DTK_DECODER 1
|
499 |
+
#define CONFIG_ADPCM_EA_DECODER 1
|
500 |
+
#define CONFIG_ADPCM_EA_MAXIS_XA_DECODER 1
|
501 |
+
#define CONFIG_ADPCM_EA_R1_DECODER 1
|
502 |
+
#define CONFIG_ADPCM_EA_R2_DECODER 1
|
503 |
+
#define CONFIG_ADPCM_EA_R3_DECODER 1
|
504 |
+
#define CONFIG_ADPCM_EA_XAS_DECODER 1
|
505 |
+
#define CONFIG_ADPCM_G722_DECODER 1
|
506 |
+
#define CONFIG_ADPCM_G726_DECODER 1
|
507 |
+
#define CONFIG_ADPCM_G726LE_DECODER 1
|
508 |
+
#define CONFIG_ADPCM_IMA_ACORN_DECODER 1
|
509 |
+
#define CONFIG_ADPCM_IMA_AMV_DECODER 1
|
510 |
+
#define CONFIG_ADPCM_IMA_ALP_DECODER 1
|
511 |
+
#define CONFIG_ADPCM_IMA_APC_DECODER 1
|
512 |
+
#define CONFIG_ADPCM_IMA_APM_DECODER 1
|
513 |
+
#define CONFIG_ADPCM_IMA_CUNNING_DECODER 1
|
514 |
+
#define CONFIG_ADPCM_IMA_DAT4_DECODER 1
|
515 |
+
#define CONFIG_ADPCM_IMA_DK3_DECODER 1
|
516 |
+
#define CONFIG_ADPCM_IMA_DK4_DECODER 1
|
517 |
+
#define CONFIG_ADPCM_IMA_EA_EACS_DECODER 1
|
518 |
+
#define CONFIG_ADPCM_IMA_EA_SEAD_DECODER 1
|
519 |
+
#define CONFIG_ADPCM_IMA_ISS_DECODER 1
|
520 |
+
#define CONFIG_ADPCM_IMA_MOFLEX_DECODER 1
|
521 |
+
#define CONFIG_ADPCM_IMA_MTF_DECODER 1
|
522 |
+
#define CONFIG_ADPCM_IMA_OKI_DECODER 1
|
523 |
+
#define CONFIG_ADPCM_IMA_QT_DECODER 1
|
524 |
+
#define CONFIG_ADPCM_IMA_RAD_DECODER 1
|
525 |
+
#define CONFIG_ADPCM_IMA_SSI_DECODER 1
|
526 |
+
#define CONFIG_ADPCM_IMA_SMJPEG_DECODER 1
|
527 |
+
#define CONFIG_ADPCM_IMA_WAV_DECODER 1
|
528 |
+
#define CONFIG_ADPCM_IMA_WS_DECODER 1
|
529 |
+
#define CONFIG_ADPCM_MS_DECODER 1
|
530 |
+
#define CONFIG_ADPCM_MTAF_DECODER 1
|
531 |
+
#define CONFIG_ADPCM_PSX_DECODER 1
|
532 |
+
#define CONFIG_ADPCM_SBPRO_2_DECODER 1
|
533 |
+
#define CONFIG_ADPCM_SBPRO_3_DECODER 1
|
534 |
+
#define CONFIG_ADPCM_SBPRO_4_DECODER 1
|
535 |
+
#define CONFIG_ADPCM_SWF_DECODER 1
|
536 |
+
#define CONFIG_ADPCM_THP_DECODER 1
|
537 |
+
#define CONFIG_ADPCM_THP_LE_DECODER 1
|
538 |
+
#define CONFIG_ADPCM_VIMA_DECODER 1
|
539 |
+
#define CONFIG_ADPCM_XA_DECODER 1
|
540 |
+
#define CONFIG_ADPCM_XMD_DECODER 1
|
541 |
+
#define CONFIG_ADPCM_YAMAHA_DECODER 1
|
542 |
+
#define CONFIG_ADPCM_ZORK_DECODER 1
|
543 |
+
#define CONFIG_SSA_DECODER 1
|
544 |
+
#define CONFIG_ASS_DECODER 1
|
545 |
+
#define CONFIG_CCAPTION_DECODER 1
|
546 |
+
#define CONFIG_DVBSUB_DECODER 1
|
547 |
+
#define CONFIG_DVDSUB_DECODER 1
|
548 |
+
#define CONFIG_JACOSUB_DECODER 1
|
549 |
+
#define CONFIG_MICRODVD_DECODER 1
|
550 |
+
#define CONFIG_MOVTEXT_DECODER 1
|
551 |
+
#define CONFIG_MPL2_DECODER 1
|
552 |
+
#define CONFIG_PGSSUB_DECODER 1
|
553 |
+
#define CONFIG_PJS_DECODER 1
|
554 |
+
#define CONFIG_REALTEXT_DECODER 1
|
555 |
+
#define CONFIG_SAMI_DECODER 1
|
556 |
+
#define CONFIG_SRT_DECODER 1
|
557 |
+
#define CONFIG_STL_DECODER 1
|
558 |
+
#define CONFIG_SUBRIP_DECODER 1
|
559 |
+
#define CONFIG_SUBVIEWER_DECODER 1
|
560 |
+
#define CONFIG_SUBVIEWER1_DECODER 1
|
561 |
+
#define CONFIG_TEXT_DECODER 1
|
562 |
+
#define CONFIG_VPLAYER_DECODER 1
|
563 |
+
#define CONFIG_WEBVTT_DECODER 1
|
564 |
+
#define CONFIG_XSUB_DECODER 1
|
565 |
+
#define CONFIG_AAC_AT_DECODER 0
|
566 |
+
#define CONFIG_AC3_AT_DECODER 0
|
567 |
+
#define CONFIG_ADPCM_IMA_QT_AT_DECODER 0
|
568 |
+
#define CONFIG_ALAC_AT_DECODER 0
|
569 |
+
#define CONFIG_AMR_NB_AT_DECODER 0
|
570 |
+
#define CONFIG_EAC3_AT_DECODER 0
|
571 |
+
#define CONFIG_GSM_MS_AT_DECODER 0
|
572 |
+
#define CONFIG_ILBC_AT_DECODER 0
|
573 |
+
#define CONFIG_MP1_AT_DECODER 0
|
574 |
+
#define CONFIG_MP2_AT_DECODER 0
|
575 |
+
#define CONFIG_MP3_AT_DECODER 0
|
576 |
+
#define CONFIG_PCM_ALAW_AT_DECODER 0
|
577 |
+
#define CONFIG_PCM_MULAW_AT_DECODER 0
|
578 |
+
#define CONFIG_QDMC_AT_DECODER 0
|
579 |
+
#define CONFIG_QDM2_AT_DECODER 0
|
580 |
+
#define CONFIG_LIBARIBCAPTION_DECODER 0
|
581 |
+
#define CONFIG_LIBARIBB24_DECODER 0
|
582 |
+
#define CONFIG_LIBCELT_DECODER 0
|
583 |
+
#define CONFIG_LIBCODEC2_DECODER 0
|
584 |
+
#define CONFIG_LIBDAV1D_DECODER 0
|
585 |
+
#define CONFIG_LIBDAVS2_DECODER 0
|
586 |
+
#define CONFIG_LIBFDK_AAC_DECODER 0
|
587 |
+
#define CONFIG_LIBGSM_DECODER 0
|
588 |
+
#define CONFIG_LIBGSM_MS_DECODER 0
|
589 |
+
#define CONFIG_LIBILBC_DECODER 0
|
590 |
+
#define CONFIG_LIBJXL_DECODER 0
|
591 |
+
#define CONFIG_LIBOPENCORE_AMRNB_DECODER 0
|
592 |
+
#define CONFIG_LIBOPENCORE_AMRWB_DECODER 0
|
593 |
+
#define CONFIG_LIBOPUS_DECODER 0
|
594 |
+
#define CONFIG_LIBRSVG_DECODER 0
|
595 |
+
#define CONFIG_LIBSPEEX_DECODER 0
|
596 |
+
#define CONFIG_LIBUAVS3D_DECODER 0
|
597 |
+
#define CONFIG_LIBVORBIS_DECODER 0
|
598 |
+
#define CONFIG_LIBVPX_VP8_DECODER 0
|
599 |
+
#define CONFIG_LIBVPX_VP9_DECODER 0
|
600 |
+
#define CONFIG_LIBZVBI_TELETEXT_DECODER 0
|
601 |
+
#define CONFIG_BINTEXT_DECODER 1
|
602 |
+
#define CONFIG_XBIN_DECODER 1
|
603 |
+
#define CONFIG_IDF_DECODER 1
|
604 |
+
#define CONFIG_LIBAOM_AV1_DECODER 0
|
605 |
+
#define CONFIG_AV1_DECODER 1
|
606 |
+
#define CONFIG_AV1_CUVID_DECODER 1
|
607 |
+
#define CONFIG_AV1_MEDIACODEC_DECODER 0
|
608 |
+
#define CONFIG_AV1_QSV_DECODER 0
|
609 |
+
#define CONFIG_LIBOPENH264_DECODER 0
|
610 |
+
#define CONFIG_H264_CUVID_DECODER 1
|
611 |
+
#define CONFIG_HEVC_CUVID_DECODER 1
|
612 |
+
#define CONFIG_HEVC_MEDIACODEC_DECODER 0
|
613 |
+
#define CONFIG_MJPEG_CUVID_DECODER 1
|
614 |
+
#define CONFIG_MJPEG_QSV_DECODER 0
|
615 |
+
#define CONFIG_MPEG1_CUVID_DECODER 1
|
616 |
+
#define CONFIG_MPEG2_CUVID_DECODER 1
|
617 |
+
#define CONFIG_MPEG4_CUVID_DECODER 1
|
618 |
+
#define CONFIG_MPEG4_MEDIACODEC_DECODER 0
|
619 |
+
#define CONFIG_VC1_CUVID_DECODER 1
|
620 |
+
#define CONFIG_VP8_CUVID_DECODER 1
|
621 |
+
#define CONFIG_VP8_MEDIACODEC_DECODER 0
|
622 |
+
#define CONFIG_VP8_QSV_DECODER 0
|
623 |
+
#define CONFIG_VP9_CUVID_DECODER 1
|
624 |
+
#define CONFIG_VP9_MEDIACODEC_DECODER 0
|
625 |
+
#define CONFIG_VP9_QSV_DECODER 0
|
626 |
+
#define CONFIG_VNULL_DECODER 1
|
627 |
+
#define CONFIG_ANULL_DECODER 1
|
628 |
+
#define CONFIG_A64MULTI_ENCODER 1
|
629 |
+
#define CONFIG_A64MULTI5_ENCODER 1
|
630 |
+
#define CONFIG_ALIAS_PIX_ENCODER 1
|
631 |
+
#define CONFIG_AMV_ENCODER 1
|
632 |
+
#define CONFIG_APNG_ENCODER 1
|
633 |
+
#define CONFIG_ASV1_ENCODER 1
|
634 |
+
#define CONFIG_ASV2_ENCODER 1
|
635 |
+
#define CONFIG_AVRP_ENCODER 1
|
636 |
+
#define CONFIG_AVUI_ENCODER 1
|
637 |
+
#define CONFIG_AYUV_ENCODER 1
|
638 |
+
#define CONFIG_BITPACKED_ENCODER 1
|
639 |
+
#define CONFIG_BMP_ENCODER 1
|
640 |
+
#define CONFIG_CFHD_ENCODER 1
|
641 |
+
#define CONFIG_CINEPAK_ENCODER 1
|
642 |
+
#define CONFIG_CLJR_ENCODER 1
|
643 |
+
#define CONFIG_COMFORTNOISE_ENCODER 1
|
644 |
+
#define CONFIG_DNXHD_ENCODER 1
|
645 |
+
#define CONFIG_DPX_ENCODER 1
|
646 |
+
#define CONFIG_DVVIDEO_ENCODER 1
|
647 |
+
#define CONFIG_EXR_ENCODER 1
|
648 |
+
#define CONFIG_FFV1_ENCODER 1
|
649 |
+
#define CONFIG_FFVHUFF_ENCODER 1
|
650 |
+
#define CONFIG_FITS_ENCODER 1
|
651 |
+
#define CONFIG_FLASHSV_ENCODER 1
|
652 |
+
#define CONFIG_FLASHSV2_ENCODER 1
|
653 |
+
#define CONFIG_FLV_ENCODER 1
|
654 |
+
#define CONFIG_GIF_ENCODER 1
|
655 |
+
#define CONFIG_H261_ENCODER 1
|
656 |
+
#define CONFIG_H263_ENCODER 1
|
657 |
+
#define CONFIG_H263P_ENCODER 1
|
658 |
+
#define CONFIG_H264_MEDIACODEC_ENCODER 0
|
659 |
+
#define CONFIG_HAP_ENCODER 0
|
660 |
+
#define CONFIG_HUFFYUV_ENCODER 1
|
661 |
+
#define CONFIG_JPEG2000_ENCODER 1
|
662 |
+
#define CONFIG_JPEGLS_ENCODER 1
|
663 |
+
#define CONFIG_LJPEG_ENCODER 1
|
664 |
+
#define CONFIG_MAGICYUV_ENCODER 1
|
665 |
+
#define CONFIG_MJPEG_ENCODER 1
|
666 |
+
#define CONFIG_MPEG1VIDEO_ENCODER 1
|
667 |
+
#define CONFIG_MPEG2VIDEO_ENCODER 1
|
668 |
+
#define CONFIG_MPEG4_ENCODER 1
|
669 |
+
#define CONFIG_MSMPEG4V2_ENCODER 1
|
670 |
+
#define CONFIG_MSMPEG4V3_ENCODER 1
|
671 |
+
#define CONFIG_MSRLE_ENCODER 1
|
672 |
+
#define CONFIG_MSVIDEO1_ENCODER 1
|
673 |
+
#define CONFIG_PAM_ENCODER 1
|
674 |
+
#define CONFIG_PBM_ENCODER 1
|
675 |
+
#define CONFIG_PCX_ENCODER 1
|
676 |
+
#define CONFIG_PFM_ENCODER 1
|
677 |
+
#define CONFIG_PGM_ENCODER 1
|
678 |
+
#define CONFIG_PGMYUV_ENCODER 1
|
679 |
+
#define CONFIG_PHM_ENCODER 1
|
680 |
+
#define CONFIG_PNG_ENCODER 1
|
681 |
+
#define CONFIG_PPM_ENCODER 1
|
682 |
+
#define CONFIG_PRORES_ENCODER 1
|
683 |
+
#define CONFIG_PRORES_AW_ENCODER 1
|
684 |
+
#define CONFIG_PRORES_KS_ENCODER 1
|
685 |
+
#define CONFIG_QOI_ENCODER 1
|
686 |
+
#define CONFIG_QTRLE_ENCODER 1
|
687 |
+
#define CONFIG_R10K_ENCODER 1
|
688 |
+
#define CONFIG_R210_ENCODER 1
|
689 |
+
#define CONFIG_RAWVIDEO_ENCODER 1
|
690 |
+
#define CONFIG_ROQ_ENCODER 1
|
691 |
+
#define CONFIG_RPZA_ENCODER 1
|
692 |
+
#define CONFIG_RV10_ENCODER 1
|
693 |
+
#define CONFIG_RV20_ENCODER 1
|
694 |
+
#define CONFIG_S302M_ENCODER 1
|
695 |
+
#define CONFIG_SGI_ENCODER 1
|
696 |
+
#define CONFIG_SMC_ENCODER 1
|
697 |
+
#define CONFIG_SNOW_ENCODER 1
|
698 |
+
#define CONFIG_SPEEDHQ_ENCODER 1
|
699 |
+
#define CONFIG_SUNRAST_ENCODER 1
|
700 |
+
#define CONFIG_SVQ1_ENCODER 1
|
701 |
+
#define CONFIG_TARGA_ENCODER 1
|
702 |
+
#define CONFIG_TIFF_ENCODER 1
|
703 |
+
#define CONFIG_UTVIDEO_ENCODER 1
|
704 |
+
#define CONFIG_V210_ENCODER 1
|
705 |
+
#define CONFIG_V308_ENCODER 1
|
706 |
+
#define CONFIG_V408_ENCODER 1
|
707 |
+
#define CONFIG_V410_ENCODER 1
|
708 |
+
#define CONFIG_VBN_ENCODER 1
|
709 |
+
#define CONFIG_VC2_ENCODER 1
|
710 |
+
#define CONFIG_WBMP_ENCODER 1
|
711 |
+
#define CONFIG_WRAPPED_AVFRAME_ENCODER 1
|
712 |
+
#define CONFIG_WMV1_ENCODER 1
|
713 |
+
#define CONFIG_WMV2_ENCODER 1
|
714 |
+
#define CONFIG_XBM_ENCODER 1
|
715 |
+
#define CONFIG_XFACE_ENCODER 1
|
716 |
+
#define CONFIG_XWD_ENCODER 1
|
717 |
+
#define CONFIG_Y41P_ENCODER 1
|
718 |
+
#define CONFIG_YUV4_ENCODER 1
|
719 |
+
#define CONFIG_ZLIB_ENCODER 1
|
720 |
+
#define CONFIG_ZMBV_ENCODER 1
|
721 |
+
#define CONFIG_AAC_ENCODER 1
|
722 |
+
#define CONFIG_AC3_ENCODER 1
|
723 |
+
#define CONFIG_AC3_FIXED_ENCODER 1
|
724 |
+
#define CONFIG_ALAC_ENCODER 1
|
725 |
+
#define CONFIG_APTX_ENCODER 1
|
726 |
+
#define CONFIG_APTX_HD_ENCODER 1
|
727 |
+
#define CONFIG_DCA_ENCODER 1
|
728 |
+
#define CONFIG_DFPWM_ENCODER 1
|
729 |
+
#define CONFIG_EAC3_ENCODER 1
|
730 |
+
#define CONFIG_FLAC_ENCODER 1
|
731 |
+
#define CONFIG_G723_1_ENCODER 1
|
732 |
+
#define CONFIG_HDR_ENCODER 1
|
733 |
+
#define CONFIG_MLP_ENCODER 1
|
734 |
+
#define CONFIG_MP2_ENCODER 1
|
735 |
+
#define CONFIG_MP2FIXED_ENCODER 1
|
736 |
+
#define CONFIG_NELLYMOSER_ENCODER 1
|
737 |
+
#define CONFIG_OPUS_ENCODER 1
|
738 |
+
#define CONFIG_RA_144_ENCODER 1
|
739 |
+
#define CONFIG_SBC_ENCODER 1
|
740 |
+
#define CONFIG_SONIC_ENCODER 1
|
741 |
+
#define CONFIG_SONIC_LS_ENCODER 1
|
742 |
+
#define CONFIG_TRUEHD_ENCODER 1
|
743 |
+
#define CONFIG_TTA_ENCODER 1
|
744 |
+
#define CONFIG_VORBIS_ENCODER 1
|
745 |
+
#define CONFIG_WAVPACK_ENCODER 1
|
746 |
+
#define CONFIG_WMAV1_ENCODER 1
|
747 |
+
#define CONFIG_WMAV2_ENCODER 1
|
748 |
+
#define CONFIG_PCM_ALAW_ENCODER 1
|
749 |
+
#define CONFIG_PCM_BLURAY_ENCODER 1
|
750 |
+
#define CONFIG_PCM_DVD_ENCODER 1
|
751 |
+
#define CONFIG_PCM_F32BE_ENCODER 1
|
752 |
+
#define CONFIG_PCM_F32LE_ENCODER 1
|
753 |
+
#define CONFIG_PCM_F64BE_ENCODER 1
|
754 |
+
#define CONFIG_PCM_F64LE_ENCODER 1
|
755 |
+
#define CONFIG_PCM_MULAW_ENCODER 1
|
756 |
+
#define CONFIG_PCM_S8_ENCODER 1
|
757 |
+
#define CONFIG_PCM_S8_PLANAR_ENCODER 1
|
758 |
+
#define CONFIG_PCM_S16BE_ENCODER 1
|
759 |
+
#define CONFIG_PCM_S16BE_PLANAR_ENCODER 1
|
760 |
+
#define CONFIG_PCM_S16LE_ENCODER 1
|
761 |
+
#define CONFIG_PCM_S16LE_PLANAR_ENCODER 1
|
762 |
+
#define CONFIG_PCM_S24BE_ENCODER 1
|
763 |
+
#define CONFIG_PCM_S24DAUD_ENCODER 1
|
764 |
+
#define CONFIG_PCM_S24LE_ENCODER 1
|
765 |
+
#define CONFIG_PCM_S24LE_PLANAR_ENCODER 1
|
766 |
+
#define CONFIG_PCM_S32BE_ENCODER 1
|
767 |
+
#define CONFIG_PCM_S32LE_ENCODER 1
|
768 |
+
#define CONFIG_PCM_S32LE_PLANAR_ENCODER 1
|
769 |
+
#define CONFIG_PCM_S64BE_ENCODER 1
|
770 |
+
#define CONFIG_PCM_S64LE_ENCODER 1
|
771 |
+
#define CONFIG_PCM_U8_ENCODER 1
|
772 |
+
#define CONFIG_PCM_U16BE_ENCODER 1
|
773 |
+
#define CONFIG_PCM_U16LE_ENCODER 1
|
774 |
+
#define CONFIG_PCM_U24BE_ENCODER 1
|
775 |
+
#define CONFIG_PCM_U24LE_ENCODER 1
|
776 |
+
#define CONFIG_PCM_U32BE_ENCODER 1
|
777 |
+
#define CONFIG_PCM_U32LE_ENCODER 1
|
778 |
+
#define CONFIG_PCM_VIDC_ENCODER 1
|
779 |
+
#define CONFIG_ROQ_DPCM_ENCODER 1
|
780 |
+
#define CONFIG_ADPCM_ADX_ENCODER 1
|
781 |
+
#define CONFIG_ADPCM_ARGO_ENCODER 1
|
782 |
+
#define CONFIG_ADPCM_G722_ENCODER 1
|
783 |
+
#define CONFIG_ADPCM_G726_ENCODER 1
|
784 |
+
#define CONFIG_ADPCM_G726LE_ENCODER 1
|
785 |
+
#define CONFIG_ADPCM_IMA_AMV_ENCODER 1
|
786 |
+
#define CONFIG_ADPCM_IMA_ALP_ENCODER 1
|
787 |
+
#define CONFIG_ADPCM_IMA_APM_ENCODER 1
|
788 |
+
#define CONFIG_ADPCM_IMA_QT_ENCODER 1
|
789 |
+
#define CONFIG_ADPCM_IMA_SSI_ENCODER 1
|
790 |
+
#define CONFIG_ADPCM_IMA_WAV_ENCODER 1
|
791 |
+
#define CONFIG_ADPCM_IMA_WS_ENCODER 1
|
792 |
+
#define CONFIG_ADPCM_MS_ENCODER 1
|
793 |
+
#define CONFIG_ADPCM_SWF_ENCODER 1
|
794 |
+
#define CONFIG_ADPCM_YAMAHA_ENCODER 1
|
795 |
+
#define CONFIG_SSA_ENCODER 1
|
796 |
+
#define CONFIG_ASS_ENCODER 1
|
797 |
+
#define CONFIG_DVBSUB_ENCODER 1
|
798 |
+
#define CONFIG_DVDSUB_ENCODER 1
|
799 |
+
#define CONFIG_MOVTEXT_ENCODER 1
|
800 |
+
#define CONFIG_SRT_ENCODER 1
|
801 |
+
#define CONFIG_SUBRIP_ENCODER 1
|
802 |
+
#define CONFIG_TEXT_ENCODER 1
|
803 |
+
#define CONFIG_TTML_ENCODER 1
|
804 |
+
#define CONFIG_WEBVTT_ENCODER 1
|
805 |
+
#define CONFIG_XSUB_ENCODER 1
|
806 |
+
#define CONFIG_AAC_AT_ENCODER 0
|
807 |
+
#define CONFIG_ALAC_AT_ENCODER 0
|
808 |
+
#define CONFIG_ILBC_AT_ENCODER 0
|
809 |
+
#define CONFIG_PCM_ALAW_AT_ENCODER 0
|
810 |
+
#define CONFIG_PCM_MULAW_AT_ENCODER 0
|
811 |
+
#define CONFIG_LIBAOM_AV1_ENCODER 0
|
812 |
+
#define CONFIG_LIBCODEC2_ENCODER 0
|
813 |
+
#define CONFIG_LIBFDK_AAC_ENCODER 0
|
814 |
+
#define CONFIG_LIBGSM_ENCODER 0
|
815 |
+
#define CONFIG_LIBGSM_MS_ENCODER 0
|
816 |
+
#define CONFIG_LIBILBC_ENCODER 0
|
817 |
+
#define CONFIG_LIBJXL_ENCODER 0
|
818 |
+
#define CONFIG_LIBMP3LAME_ENCODER 0
|
819 |
+
#define CONFIG_LIBOPENCORE_AMRNB_ENCODER 0
|
820 |
+
#define CONFIG_LIBOPENJPEG_ENCODER 0
|
821 |
+
#define CONFIG_LIBOPUS_ENCODER 0
|
822 |
+
#define CONFIG_LIBRAV1E_ENCODER 0
|
823 |
+
#define CONFIG_LIBSHINE_ENCODER 0
|
824 |
+
#define CONFIG_LIBSPEEX_ENCODER 0
|
825 |
+
#define CONFIG_LIBSVTAV1_ENCODER 0
|
826 |
+
#define CONFIG_LIBTHEORA_ENCODER 0
|
827 |
+
#define CONFIG_LIBTWOLAME_ENCODER 0
|
828 |
+
#define CONFIG_LIBVO_AMRWBENC_ENCODER 0
|
829 |
+
#define CONFIG_LIBVORBIS_ENCODER 0
|
830 |
+
#define CONFIG_LIBVPX_VP8_ENCODER 0
|
831 |
+
#define CONFIG_LIBVPX_VP9_ENCODER 0
|
832 |
+
#define CONFIG_LIBWEBP_ANIM_ENCODER 0
|
833 |
+
#define CONFIG_LIBWEBP_ENCODER 0
|
834 |
+
#define CONFIG_LIBX262_ENCODER 0
|
835 |
+
#define CONFIG_LIBX264_ENCODER 0
|
836 |
+
#define CONFIG_LIBX264RGB_ENCODER 0
|
837 |
+
#define CONFIG_LIBX265_ENCODER 0
|
838 |
+
#define CONFIG_LIBXAVS_ENCODER 0
|
839 |
+
#define CONFIG_LIBXAVS2_ENCODER 0
|
840 |
+
#define CONFIG_LIBXVID_ENCODER 0
|
841 |
+
#define CONFIG_AAC_MF_ENCODER 0
|
842 |
+
#define CONFIG_AC3_MF_ENCODER 0
|
843 |
+
#define CONFIG_H263_V4L2M2M_ENCODER 1
|
844 |
+
#define CONFIG_AV1_MEDIACODEC_ENCODER 0
|
845 |
+
#define CONFIG_AV1_NVENC_ENCODER 1
|
846 |
+
#define CONFIG_AV1_QSV_ENCODER 0
|
847 |
+
#define CONFIG_AV1_AMF_ENCODER 0
|
848 |
+
#define CONFIG_LIBOPENH264_ENCODER 0
|
849 |
+
#define CONFIG_H264_AMF_ENCODER 0
|
850 |
+
#define CONFIG_H264_MF_ENCODER 0
|
851 |
+
#define CONFIG_H264_NVENC_ENCODER 1
|
852 |
+
#define CONFIG_H264_OMX_ENCODER 0
|
853 |
+
#define CONFIG_H264_QSV_ENCODER 0
|
854 |
+
#define CONFIG_H264_V4L2M2M_ENCODER 1
|
855 |
+
#define CONFIG_H264_VAAPI_ENCODER 0
|
856 |
+
#define CONFIG_H264_VIDEOTOOLBOX_ENCODER 0
|
857 |
+
#define CONFIG_HEVC_AMF_ENCODER 0
|
858 |
+
#define CONFIG_HEVC_MEDIACODEC_ENCODER 0
|
859 |
+
#define CONFIG_HEVC_MF_ENCODER 0
|
860 |
+
#define CONFIG_HEVC_NVENC_ENCODER 1
|
861 |
+
#define CONFIG_HEVC_QSV_ENCODER 0
|
862 |
+
#define CONFIG_HEVC_V4L2M2M_ENCODER 1
|
863 |
+
#define CONFIG_HEVC_VAAPI_ENCODER 0
|
864 |
+
#define CONFIG_HEVC_VIDEOTOOLBOX_ENCODER 0
|
865 |
+
#define CONFIG_LIBKVAZAAR_ENCODER 0
|
866 |
+
#define CONFIG_MJPEG_QSV_ENCODER 0
|
867 |
+
#define CONFIG_MJPEG_VAAPI_ENCODER 0
|
868 |
+
#define CONFIG_MP3_MF_ENCODER 0
|
869 |
+
#define CONFIG_MPEG2_QSV_ENCODER 0
|
870 |
+
#define CONFIG_MPEG2_VAAPI_ENCODER 0
|
871 |
+
#define CONFIG_MPEG4_MEDIACODEC_ENCODER 0
|
872 |
+
#define CONFIG_MPEG4_OMX_ENCODER 0
|
873 |
+
#define CONFIG_MPEG4_V4L2M2M_ENCODER 1
|
874 |
+
#define CONFIG_PRORES_VIDEOTOOLBOX_ENCODER 0
|
875 |
+
#define CONFIG_VP8_MEDIACODEC_ENCODER 0
|
876 |
+
#define CONFIG_VP8_V4L2M2M_ENCODER 1
|
877 |
+
#define CONFIG_VP8_VAAPI_ENCODER 0
|
878 |
+
#define CONFIG_VP9_MEDIACODEC_ENCODER 0
|
879 |
+
#define CONFIG_VP9_VAAPI_ENCODER 0
|
880 |
+
#define CONFIG_VP9_QSV_ENCODER 0
|
881 |
+
#define CONFIG_VNULL_ENCODER 1
|
882 |
+
#define CONFIG_ANULL_ENCODER 1
|
883 |
+
#define CONFIG_AV1_D3D11VA_HWACCEL 0
|
884 |
+
#define CONFIG_AV1_D3D11VA2_HWACCEL 0
|
885 |
+
#define CONFIG_AV1_DXVA2_HWACCEL 0
|
886 |
+
#define CONFIG_AV1_NVDEC_HWACCEL 1
|
887 |
+
#define CONFIG_AV1_VAAPI_HWACCEL 0
|
888 |
+
#define CONFIG_AV1_VDPAU_HWACCEL 0
|
889 |
+
#define CONFIG_AV1_VULKAN_HWACCEL 0
|
890 |
+
#define CONFIG_H263_VAAPI_HWACCEL 0
|
891 |
+
#define CONFIG_H263_VIDEOTOOLBOX_HWACCEL 0
|
892 |
+
#define CONFIG_H264_D3D11VA_HWACCEL 0
|
893 |
+
#define CONFIG_H264_D3D11VA2_HWACCEL 0
|
894 |
+
#define CONFIG_H264_DXVA2_HWACCEL 0
|
895 |
+
#define CONFIG_H264_NVDEC_HWACCEL 1
|
896 |
+
#define CONFIG_H264_VAAPI_HWACCEL 0
|
897 |
+
#define CONFIG_H264_VDPAU_HWACCEL 0
|
898 |
+
#define CONFIG_H264_VIDEOTOOLBOX_HWACCEL 0
|
899 |
+
#define CONFIG_H264_VULKAN_HWACCEL 0
|
900 |
+
#define CONFIG_HEVC_D3D11VA_HWACCEL 0
|
901 |
+
#define CONFIG_HEVC_D3D11VA2_HWACCEL 0
|
902 |
+
#define CONFIG_HEVC_DXVA2_HWACCEL 0
|
903 |
+
#define CONFIG_HEVC_NVDEC_HWACCEL 1
|
904 |
+
#define CONFIG_HEVC_VAAPI_HWACCEL 0
|
905 |
+
#define CONFIG_HEVC_VDPAU_HWACCEL 0
|
906 |
+
#define CONFIG_HEVC_VIDEOTOOLBOX_HWACCEL 0
|
907 |
+
#define CONFIG_HEVC_VULKAN_HWACCEL 0
|
908 |
+
#define CONFIG_MJPEG_NVDEC_HWACCEL 1
|
909 |
+
#define CONFIG_MJPEG_VAAPI_HWACCEL 0
|
910 |
+
#define CONFIG_MPEG1_NVDEC_HWACCEL 1
|
911 |
+
#define CONFIG_MPEG1_VDPAU_HWACCEL 0
|
912 |
+
#define CONFIG_MPEG1_VIDEOTOOLBOX_HWACCEL 0
|
913 |
+
#define CONFIG_MPEG2_D3D11VA_HWACCEL 0
|
914 |
+
#define CONFIG_MPEG2_D3D11VA2_HWACCEL 0
|
915 |
+
#define CONFIG_MPEG2_DXVA2_HWACCEL 0
|
916 |
+
#define CONFIG_MPEG2_NVDEC_HWACCEL 1
|
917 |
+
#define CONFIG_MPEG2_VAAPI_HWACCEL 0
|
918 |
+
#define CONFIG_MPEG2_VDPAU_HWACCEL 0
|
919 |
+
#define CONFIG_MPEG2_VIDEOTOOLBOX_HWACCEL 0
|
920 |
+
#define CONFIG_MPEG4_NVDEC_HWACCEL 1
|
921 |
+
#define CONFIG_MPEG4_VAAPI_HWACCEL 0
|
922 |
+
#define CONFIG_MPEG4_VDPAU_HWACCEL 0
|
923 |
+
#define CONFIG_MPEG4_VIDEOTOOLBOX_HWACCEL 0
|
924 |
+
#define CONFIG_PRORES_VIDEOTOOLBOX_HWACCEL 0
|
925 |
+
#define CONFIG_VC1_D3D11VA_HWACCEL 0
|
926 |
+
#define CONFIG_VC1_D3D11VA2_HWACCEL 0
|
927 |
+
#define CONFIG_VC1_DXVA2_HWACCEL 0
|
928 |
+
#define CONFIG_VC1_NVDEC_HWACCEL 1
|
929 |
+
#define CONFIG_VC1_VAAPI_HWACCEL 0
|
930 |
+
#define CONFIG_VC1_VDPAU_HWACCEL 0
|
931 |
+
#define CONFIG_VP8_NVDEC_HWACCEL 1
|
932 |
+
#define CONFIG_VP8_VAAPI_HWACCEL 0
|
933 |
+
#define CONFIG_VP9_D3D11VA_HWACCEL 0
|
934 |
+
#define CONFIG_VP9_D3D11VA2_HWACCEL 0
|
935 |
+
#define CONFIG_VP9_DXVA2_HWACCEL 0
|
936 |
+
#define CONFIG_VP9_NVDEC_HWACCEL 1
|
937 |
+
#define CONFIG_VP9_VAAPI_HWACCEL 0
|
938 |
+
#define CONFIG_VP9_VDPAU_HWACCEL 0
|
939 |
+
#define CONFIG_VP9_VIDEOTOOLBOX_HWACCEL 0
|
940 |
+
#define CONFIG_WMV3_D3D11VA_HWACCEL 0
|
941 |
+
#define CONFIG_WMV3_D3D11VA2_HWACCEL 0
|
942 |
+
#define CONFIG_WMV3_DXVA2_HWACCEL 0
|
943 |
+
#define CONFIG_WMV3_NVDEC_HWACCEL 1
|
944 |
+
#define CONFIG_WMV3_VAAPI_HWACCEL 0
|
945 |
+
#define CONFIG_WMV3_VDPAU_HWACCEL 0
|
946 |
+
#define CONFIG_AAC_PARSER 1
|
947 |
+
#define CONFIG_AAC_LATM_PARSER 1
|
948 |
+
#define CONFIG_AC3_PARSER 1
|
949 |
+
#define CONFIG_ADX_PARSER 1
|
950 |
+
#define CONFIG_AMR_PARSER 1
|
951 |
+
#define CONFIG_AV1_PARSER 1
|
952 |
+
#define CONFIG_AVS2_PARSER 1
|
953 |
+
#define CONFIG_AVS3_PARSER 1
|
954 |
+
#define CONFIG_BMP_PARSER 1
|
955 |
+
#define CONFIG_CAVSVIDEO_PARSER 1
|
956 |
+
#define CONFIG_COOK_PARSER 1
|
957 |
+
#define CONFIG_CRI_PARSER 1
|
958 |
+
#define CONFIG_DCA_PARSER 1
|
959 |
+
#define CONFIG_DIRAC_PARSER 1
|
960 |
+
#define CONFIG_DNXHD_PARSER 1
|
961 |
+
#define CONFIG_DOLBY_E_PARSER 1
|
962 |
+
#define CONFIG_DPX_PARSER 1
|
963 |
+
#define CONFIG_DVAUDIO_PARSER 1
|
964 |
+
#define CONFIG_DVBSUB_PARSER 1
|
965 |
+
#define CONFIG_DVDSUB_PARSER 1
|
966 |
+
#define CONFIG_DVD_NAV_PARSER 1
|
967 |
+
#define CONFIG_EVC_PARSER 1
|
968 |
+
#define CONFIG_FLAC_PARSER 1
|
969 |
+
#define CONFIG_FTR_PARSER 1
|
970 |
+
#define CONFIG_G723_1_PARSER 1
|
971 |
+
#define CONFIG_G729_PARSER 1
|
972 |
+
#define CONFIG_GIF_PARSER 1
|
973 |
+
#define CONFIG_GSM_PARSER 1
|
974 |
+
#define CONFIG_H261_PARSER 1
|
975 |
+
#define CONFIG_H263_PARSER 1
|
976 |
+
#define CONFIG_H264_PARSER 1
|
977 |
+
#define CONFIG_HEVC_PARSER 1
|
978 |
+
#define CONFIG_HDR_PARSER 1
|
979 |
+
#define CONFIG_IPU_PARSER 1
|
980 |
+
#define CONFIG_JPEG2000_PARSER 1
|
981 |
+
#define CONFIG_JPEGXL_PARSER 1
|
982 |
+
#define CONFIG_MISC4_PARSER 1
|
983 |
+
#define CONFIG_MJPEG_PARSER 1
|
984 |
+
#define CONFIG_MLP_PARSER 1
|
985 |
+
#define CONFIG_MPEG4VIDEO_PARSER 1
|
986 |
+
#define CONFIG_MPEGAUDIO_PARSER 1
|
987 |
+
#define CONFIG_MPEGVIDEO_PARSER 1
|
988 |
+
#define CONFIG_OPUS_PARSER 1
|
989 |
+
#define CONFIG_PNG_PARSER 1
|
990 |
+
#define CONFIG_PNM_PARSER 1
|
991 |
+
#define CONFIG_QOI_PARSER 1
|
992 |
+
#define CONFIG_RV34_PARSER 1
|
993 |
+
#define CONFIG_SBC_PARSER 1
|
994 |
+
#define CONFIG_SIPR_PARSER 1
|
995 |
+
#define CONFIG_TAK_PARSER 1
|
996 |
+
#define CONFIG_VC1_PARSER 1
|
997 |
+
#define CONFIG_VORBIS_PARSER 1
|
998 |
+
#define CONFIG_VP3_PARSER 1
|
999 |
+
#define CONFIG_VP8_PARSER 1
|
1000 |
+
#define CONFIG_VP9_PARSER 1
|
1001 |
+
#define CONFIG_VVC_PARSER 1
|
1002 |
+
#define CONFIG_WEBP_PARSER 1
|
1003 |
+
#define CONFIG_XBM_PARSER 1
|
1004 |
+
#define CONFIG_XMA_PARSER 1
|
1005 |
+
#define CONFIG_XWD_PARSER 1
|
1006 |
+
#define CONFIG_ALSA_INDEV 1
|
1007 |
+
#define CONFIG_ANDROID_CAMERA_INDEV 0
|
1008 |
+
#define CONFIG_AVFOUNDATION_INDEV 0
|
1009 |
+
#define CONFIG_BKTR_INDEV 0
|
1010 |
+
#define CONFIG_DECKLINK_INDEV 0
|
1011 |
+
#define CONFIG_DSHOW_INDEV 0
|
1012 |
+
#define CONFIG_FBDEV_INDEV 1
|
1013 |
+
#define CONFIG_GDIGRAB_INDEV 0
|
1014 |
+
#define CONFIG_IEC61883_INDEV 0
|
1015 |
+
#define CONFIG_JACK_INDEV 0
|
1016 |
+
#define CONFIG_KMSGRAB_INDEV 0
|
1017 |
+
#define CONFIG_LAVFI_INDEV 1
|
1018 |
+
#define CONFIG_OPENAL_INDEV 0
|
1019 |
+
#define CONFIG_OSS_INDEV 1
|
1020 |
+
#define CONFIG_PULSE_INDEV 0
|
1021 |
+
#define CONFIG_SNDIO_INDEV 0
|
1022 |
+
#define CONFIG_V4L2_INDEV 1
|
1023 |
+
#define CONFIG_VFWCAP_INDEV 0
|
1024 |
+
#define CONFIG_XCBGRAB_INDEV 1
|
1025 |
+
#define CONFIG_LIBCDIO_INDEV 0
|
1026 |
+
#define CONFIG_LIBDC1394_INDEV 0
|
1027 |
+
#define CONFIG_ALSA_OUTDEV 1
|
1028 |
+
#define CONFIG_AUDIOTOOLBOX_OUTDEV 0
|
1029 |
+
#define CONFIG_CACA_OUTDEV 0
|
1030 |
+
#define CONFIG_DECKLINK_OUTDEV 0
|
1031 |
+
#define CONFIG_FBDEV_OUTDEV 1
|
1032 |
+
#define CONFIG_OPENGL_OUTDEV 0
|
1033 |
+
#define CONFIG_OSS_OUTDEV 1
|
1034 |
+
#define CONFIG_PULSE_OUTDEV 0
|
1035 |
+
#define CONFIG_SDL2_OUTDEV 0
|
1036 |
+
#define CONFIG_SNDIO_OUTDEV 0
|
1037 |
+
#define CONFIG_V4L2_OUTDEV 1
|
1038 |
+
#define CONFIG_XV_OUTDEV 0
|
1039 |
+
#define CONFIG_ABENCH_FILTER 1
|
1040 |
+
#define CONFIG_ACOMPRESSOR_FILTER 1
|
1041 |
+
#define CONFIG_ACONTRAST_FILTER 1
|
1042 |
+
#define CONFIG_ACOPY_FILTER 1
|
1043 |
+
#define CONFIG_ACUE_FILTER 1
|
1044 |
+
#define CONFIG_ACROSSFADE_FILTER 1
|
1045 |
+
#define CONFIG_ACROSSOVER_FILTER 1
|
1046 |
+
#define CONFIG_ACRUSHER_FILTER 1
|
1047 |
+
#define CONFIG_ADECLICK_FILTER 1
|
1048 |
+
#define CONFIG_ADECLIP_FILTER 1
|
1049 |
+
#define CONFIG_ADECORRELATE_FILTER 1
|
1050 |
+
#define CONFIG_ADELAY_FILTER 1
|
1051 |
+
#define CONFIG_ADENORM_FILTER 1
|
1052 |
+
#define CONFIG_ADERIVATIVE_FILTER 1
|
1053 |
+
#define CONFIG_ADRC_FILTER 1
|
1054 |
+
#define CONFIG_ADYNAMICEQUALIZER_FILTER 1
|
1055 |
+
#define CONFIG_ADYNAMICSMOOTH_FILTER 1
|
1056 |
+
#define CONFIG_AECHO_FILTER 1
|
1057 |
+
#define CONFIG_AEMPHASIS_FILTER 1
|
1058 |
+
#define CONFIG_AEVAL_FILTER 1
|
1059 |
+
#define CONFIG_AEXCITER_FILTER 1
|
1060 |
+
#define CONFIG_AFADE_FILTER 1
|
1061 |
+
#define CONFIG_AFFTDN_FILTER 1
|
1062 |
+
#define CONFIG_AFFTFILT_FILTER 1
|
1063 |
+
#define CONFIG_AFIR_FILTER 1
|
1064 |
+
#define CONFIG_AFORMAT_FILTER 1
|
1065 |
+
#define CONFIG_AFREQSHIFT_FILTER 1
|
1066 |
+
#define CONFIG_AFWTDN_FILTER 1
|
1067 |
+
#define CONFIG_AGATE_FILTER 1
|
1068 |
+
#define CONFIG_AIIR_FILTER 1
|
1069 |
+
#define CONFIG_AINTEGRAL_FILTER 1
|
1070 |
+
#define CONFIG_AINTERLEAVE_FILTER 1
|
1071 |
+
#define CONFIG_ALATENCY_FILTER 1
|
1072 |
+
#define CONFIG_ALIMITER_FILTER 1
|
1073 |
+
#define CONFIG_ALLPASS_FILTER 1
|
1074 |
+
#define CONFIG_ALOOP_FILTER 1
|
1075 |
+
#define CONFIG_AMERGE_FILTER 1
|
1076 |
+
#define CONFIG_AMETADATA_FILTER 1
|
1077 |
+
#define CONFIG_AMIX_FILTER 1
|
1078 |
+
#define CONFIG_AMULTIPLY_FILTER 1
|
1079 |
+
#define CONFIG_ANEQUALIZER_FILTER 1
|
1080 |
+
#define CONFIG_ANLMDN_FILTER 1
|
1081 |
+
#define CONFIG_ANLMF_FILTER 1
|
1082 |
+
#define CONFIG_ANLMS_FILTER 1
|
1083 |
+
#define CONFIG_ANULL_FILTER 1
|
1084 |
+
#define CONFIG_APAD_FILTER 1
|
1085 |
+
#define CONFIG_APERMS_FILTER 1
|
1086 |
+
#define CONFIG_APHASER_FILTER 1
|
1087 |
+
#define CONFIG_APHASESHIFT_FILTER 1
|
1088 |
+
#define CONFIG_APSNR_FILTER 1
|
1089 |
+
#define CONFIG_APSYCLIP_FILTER 1
|
1090 |
+
#define CONFIG_APULSATOR_FILTER 1
|
1091 |
+
#define CONFIG_AREALTIME_FILTER 1
|
1092 |
+
#define CONFIG_ARESAMPLE_FILTER 1
|
1093 |
+
#define CONFIG_AREVERSE_FILTER 1
|
1094 |
+
#define CONFIG_ARLS_FILTER 1
|
1095 |
+
#define CONFIG_ARNNDN_FILTER 1
|
1096 |
+
#define CONFIG_ASDR_FILTER 1
|
1097 |
+
#define CONFIG_ASEGMENT_FILTER 1
|
1098 |
+
#define CONFIG_ASELECT_FILTER 1
|
1099 |
+
#define CONFIG_ASENDCMD_FILTER 1
|
1100 |
+
#define CONFIG_ASETNSAMPLES_FILTER 1
|
1101 |
+
#define CONFIG_ASETPTS_FILTER 1
|
1102 |
+
#define CONFIG_ASETRATE_FILTER 1
|
1103 |
+
#define CONFIG_ASETTB_FILTER 1
|
1104 |
+
#define CONFIG_ASHOWINFO_FILTER 1
|
1105 |
+
#define CONFIG_ASIDEDATA_FILTER 1
|
1106 |
+
#define CONFIG_ASISDR_FILTER 1
|
1107 |
+
#define CONFIG_ASOFTCLIP_FILTER 1
|
1108 |
+
#define CONFIG_ASPECTRALSTATS_FILTER 1
|
1109 |
+
#define CONFIG_ASPLIT_FILTER 1
|
1110 |
+
#define CONFIG_ASR_FILTER 0
|
1111 |
+
#define CONFIG_ASTATS_FILTER 1
|
1112 |
+
#define CONFIG_ASTREAMSELECT_FILTER 1
|
1113 |
+
#define CONFIG_ASUBBOOST_FILTER 1
|
1114 |
+
#define CONFIG_ASUBCUT_FILTER 1
|
1115 |
+
#define CONFIG_ASUPERCUT_FILTER 1
|
1116 |
+
#define CONFIG_ASUPERPASS_FILTER 1
|
1117 |
+
#define CONFIG_ASUPERSTOP_FILTER 1
|
1118 |
+
#define CONFIG_ATEMPO_FILTER 1
|
1119 |
+
#define CONFIG_ATILT_FILTER 1
|
1120 |
+
#define CONFIG_ATRIM_FILTER 1
|
1121 |
+
#define CONFIG_AXCORRELATE_FILTER 1
|
1122 |
+
#define CONFIG_AZMQ_FILTER 0
|
1123 |
+
#define CONFIG_BANDPASS_FILTER 1
|
1124 |
+
#define CONFIG_BANDREJECT_FILTER 1
|
1125 |
+
#define CONFIG_BASS_FILTER 1
|
1126 |
+
#define CONFIG_BIQUAD_FILTER 1
|
1127 |
+
#define CONFIG_BS2B_FILTER 0
|
1128 |
+
#define CONFIG_CHANNELMAP_FILTER 1
|
1129 |
+
#define CONFIG_CHANNELSPLIT_FILTER 1
|
1130 |
+
#define CONFIG_CHORUS_FILTER 1
|
1131 |
+
#define CONFIG_COMPAND_FILTER 1
|
1132 |
+
#define CONFIG_COMPENSATIONDELAY_FILTER 1
|
1133 |
+
#define CONFIG_CROSSFEED_FILTER 1
|
1134 |
+
#define CONFIG_CRYSTALIZER_FILTER 1
|
1135 |
+
#define CONFIG_DCSHIFT_FILTER 1
|
1136 |
+
#define CONFIG_DEESSER_FILTER 1
|
1137 |
+
#define CONFIG_DIALOGUENHANCE_FILTER 1
|
1138 |
+
#define CONFIG_DRMETER_FILTER 1
|
1139 |
+
#define CONFIG_DYNAUDNORM_FILTER 1
|
1140 |
+
#define CONFIG_EARWAX_FILTER 1
|
1141 |
+
#define CONFIG_EBUR128_FILTER 1
|
1142 |
+
#define CONFIG_EQUALIZER_FILTER 1
|
1143 |
+
#define CONFIG_EXTRASTEREO_FILTER 1
|
1144 |
+
#define CONFIG_FIREQUALIZER_FILTER 1
|
1145 |
+
#define CONFIG_FLANGER_FILTER 1
|
1146 |
+
#define CONFIG_HAAS_FILTER 1
|
1147 |
+
#define CONFIG_HDCD_FILTER 1
|
1148 |
+
#define CONFIG_HEADPHONE_FILTER 1
|
1149 |
+
#define CONFIG_HIGHPASS_FILTER 1
|
1150 |
+
#define CONFIG_HIGHSHELF_FILTER 1
|
1151 |
+
#define CONFIG_JOIN_FILTER 1
|
1152 |
+
#define CONFIG_LADSPA_FILTER 0
|
1153 |
+
#define CONFIG_LOUDNORM_FILTER 1
|
1154 |
+
#define CONFIG_LOWPASS_FILTER 1
|
1155 |
+
#define CONFIG_LOWSHELF_FILTER 1
|
1156 |
+
#define CONFIG_LV2_FILTER 0
|
1157 |
+
#define CONFIG_MCOMPAND_FILTER 1
|
1158 |
+
#define CONFIG_PAN_FILTER 1
|
1159 |
+
#define CONFIG_REPLAYGAIN_FILTER 1
|
1160 |
+
#define CONFIG_RUBBERBAND_FILTER 0
|
1161 |
+
#define CONFIG_SIDECHAINCOMPRESS_FILTER 1
|
1162 |
+
#define CONFIG_SIDECHAINGATE_FILTER 1
|
1163 |
+
#define CONFIG_SILENCEDETECT_FILTER 1
|
1164 |
+
#define CONFIG_SILENCEREMOVE_FILTER 1
|
1165 |
+
#define CONFIG_SOFALIZER_FILTER 0
|
1166 |
+
#define CONFIG_SPEECHNORM_FILTER 1
|
1167 |
+
#define CONFIG_STEREOTOOLS_FILTER 1
|
1168 |
+
#define CONFIG_STEREOWIDEN_FILTER 1
|
1169 |
+
#define CONFIG_SUPEREQUALIZER_FILTER 1
|
1170 |
+
#define CONFIG_SURROUND_FILTER 1
|
1171 |
+
#define CONFIG_TILTSHELF_FILTER 1
|
1172 |
+
#define CONFIG_TREBLE_FILTER 1
|
1173 |
+
#define CONFIG_TREMOLO_FILTER 1
|
1174 |
+
#define CONFIG_VIBRATO_FILTER 1
|
1175 |
+
#define CONFIG_VIRTUALBASS_FILTER 1
|
1176 |
+
#define CONFIG_VOLUME_FILTER 1
|
1177 |
+
#define CONFIG_VOLUMEDETECT_FILTER 1
|
1178 |
+
#define CONFIG_AEVALSRC_FILTER 1
|
1179 |
+
#define CONFIG_AFDELAYSRC_FILTER 1
|
1180 |
+
#define CONFIG_AFIREQSRC_FILTER 1
|
1181 |
+
#define CONFIG_AFIRSRC_FILTER 1
|
1182 |
+
#define CONFIG_ANOISESRC_FILTER 1
|
1183 |
+
#define CONFIG_ANULLSRC_FILTER 1
|
1184 |
+
#define CONFIG_FLITE_FILTER 0
|
1185 |
+
#define CONFIG_HILBERT_FILTER 1
|
1186 |
+
#define CONFIG_SINC_FILTER 1
|
1187 |
+
#define CONFIG_SINE_FILTER 1
|
1188 |
+
#define CONFIG_ANULLSINK_FILTER 1
|
1189 |
+
#define CONFIG_ADDROI_FILTER 1
|
1190 |
+
#define CONFIG_ALPHAEXTRACT_FILTER 1
|
1191 |
+
#define CONFIG_ALPHAMERGE_FILTER 1
|
1192 |
+
#define CONFIG_AMPLIFY_FILTER 1
|
1193 |
+
#define CONFIG_ASS_FILTER 0
|
1194 |
+
#define CONFIG_ATADENOISE_FILTER 1
|
1195 |
+
#define CONFIG_AVGBLUR_FILTER 1
|
1196 |
+
#define CONFIG_AVGBLUR_OPENCL_FILTER 0
|
1197 |
+
#define CONFIG_AVGBLUR_VULKAN_FILTER 0
|
1198 |
+
#define CONFIG_BACKGROUNDKEY_FILTER 1
|
1199 |
+
#define CONFIG_BBOX_FILTER 1
|
1200 |
+
#define CONFIG_BENCH_FILTER 1
|
1201 |
+
#define CONFIG_BILATERAL_FILTER 1
|
1202 |
+
#define CONFIG_BILATERAL_CUDA_FILTER 1
|
1203 |
+
#define CONFIG_BITPLANENOISE_FILTER 1
|
1204 |
+
#define CONFIG_BLACKDETECT_FILTER 1
|
1205 |
+
#define CONFIG_BLACKFRAME_FILTER 0
|
1206 |
+
#define CONFIG_BLEND_FILTER 1
|
1207 |
+
#define CONFIG_BLEND_VULKAN_FILTER 0
|
1208 |
+
#define CONFIG_BLOCKDETECT_FILTER 1
|
1209 |
+
#define CONFIG_BLURDETECT_FILTER 1
|
1210 |
+
#define CONFIG_BM3D_FILTER 1
|
1211 |
+
#define CONFIG_BOXBLUR_FILTER 0
|
1212 |
+
#define CONFIG_BOXBLUR_OPENCL_FILTER 0
|
1213 |
+
#define CONFIG_BWDIF_FILTER 1
|
1214 |
+
#define CONFIG_BWDIF_CUDA_FILTER 1
|
1215 |
+
#define CONFIG_BWDIF_VULKAN_FILTER 0
|
1216 |
+
#define CONFIG_CAS_FILTER 1
|
1217 |
+
#define CONFIG_CCREPACK_FILTER 1
|
1218 |
+
#define CONFIG_CHROMABER_VULKAN_FILTER 0
|
1219 |
+
#define CONFIG_CHROMAHOLD_FILTER 1
|
1220 |
+
#define CONFIG_CHROMAKEY_FILTER 1
|
1221 |
+
#define CONFIG_CHROMAKEY_CUDA_FILTER 1
|
1222 |
+
#define CONFIG_CHROMANR_FILTER 1
|
1223 |
+
#define CONFIG_CHROMASHIFT_FILTER 1
|
1224 |
+
#define CONFIG_CIESCOPE_FILTER 1
|
1225 |
+
#define CONFIG_CODECVIEW_FILTER 1
|
1226 |
+
#define CONFIG_COLORBALANCE_FILTER 1
|
1227 |
+
#define CONFIG_COLORCHANNELMIXER_FILTER 1
|
1228 |
+
#define CONFIG_COLORCONTRAST_FILTER 1
|
1229 |
+
#define CONFIG_COLORCORRECT_FILTER 1
|
1230 |
+
#define CONFIG_COLORIZE_FILTER 1
|
1231 |
+
#define CONFIG_COLORKEY_FILTER 1
|
1232 |
+
#define CONFIG_COLORKEY_OPENCL_FILTER 0
|
1233 |
+
#define CONFIG_COLORHOLD_FILTER 1
|
1234 |
+
#define CONFIG_COLORLEVELS_FILTER 1
|
1235 |
+
#define CONFIG_COLORMAP_FILTER 1
|
1236 |
+
#define CONFIG_COLORMATRIX_FILTER 0
|
1237 |
+
#define CONFIG_COLORSPACE_FILTER 1
|
1238 |
+
#define CONFIG_COLORSPACE_CUDA_FILTER 1
|
1239 |
+
#define CONFIG_COLORTEMPERATURE_FILTER 1
|
1240 |
+
#define CONFIG_CONVOLUTION_FILTER 1
|
1241 |
+
#define CONFIG_CONVOLUTION_OPENCL_FILTER 0
|
1242 |
+
#define CONFIG_CONVOLVE_FILTER 1
|
1243 |
+
#define CONFIG_COPY_FILTER 1
|
1244 |
+
#define CONFIG_COREIMAGE_FILTER 0
|
1245 |
+
#define CONFIG_CORR_FILTER 1
|
1246 |
+
#define CONFIG_COVER_RECT_FILTER 0
|
1247 |
+
#define CONFIG_CROP_FILTER 1
|
1248 |
+
#define CONFIG_CROPDETECT_FILTER 0
|
1249 |
+
#define CONFIG_CUE_FILTER 1
|
1250 |
+
#define CONFIG_CURVES_FILTER 1
|
1251 |
+
#define CONFIG_DATASCOPE_FILTER 1
|
1252 |
+
#define CONFIG_DBLUR_FILTER 1
|
1253 |
+
#define CONFIG_DCTDNOIZ_FILTER 1
|
1254 |
+
#define CONFIG_DEBAND_FILTER 1
|
1255 |
+
#define CONFIG_DEBLOCK_FILTER 1
|
1256 |
+
#define CONFIG_DECIMATE_FILTER 1
|
1257 |
+
#define CONFIG_DECONVOLVE_FILTER 1
|
1258 |
+
#define CONFIG_DEDOT_FILTER 1
|
1259 |
+
#define CONFIG_DEFLATE_FILTER 1
|
1260 |
+
#define CONFIG_DEFLICKER_FILTER 1
|
1261 |
+
#define CONFIG_DEINTERLACE_QSV_FILTER 0
|
1262 |
+
#define CONFIG_DEINTERLACE_VAAPI_FILTER 0
|
1263 |
+
#define CONFIG_DEJUDDER_FILTER 1
|
1264 |
+
#define CONFIG_DELOGO_FILTER 0
|
1265 |
+
#define CONFIG_DENOISE_VAAPI_FILTER 0
|
1266 |
+
#define CONFIG_DERAIN_FILTER 1
|
1267 |
+
#define CONFIG_DESHAKE_FILTER 1
|
1268 |
+
#define CONFIG_DESHAKE_OPENCL_FILTER 0
|
1269 |
+
#define CONFIG_DESPILL_FILTER 1
|
1270 |
+
#define CONFIG_DETELECINE_FILTER 1
|
1271 |
+
#define CONFIG_DILATION_FILTER 1
|
1272 |
+
#define CONFIG_DILATION_OPENCL_FILTER 0
|
1273 |
+
#define CONFIG_DISPLACE_FILTER 1
|
1274 |
+
#define CONFIG_DNN_CLASSIFY_FILTER 1
|
1275 |
+
#define CONFIG_DNN_DETECT_FILTER 1
|
1276 |
+
#define CONFIG_DNN_PROCESSING_FILTER 1
|
1277 |
+
#define CONFIG_DOUBLEWEAVE_FILTER 1
|
1278 |
+
#define CONFIG_DRAWBOX_FILTER 1
|
1279 |
+
#define CONFIG_DRAWGRAPH_FILTER 1
|
1280 |
+
#define CONFIG_DRAWGRID_FILTER 1
|
1281 |
+
#define CONFIG_DRAWTEXT_FILTER 0
|
1282 |
+
#define CONFIG_EDGEDETECT_FILTER 1
|
1283 |
+
#define CONFIG_ELBG_FILTER 1
|
1284 |
+
#define CONFIG_ENTROPY_FILTER 1
|
1285 |
+
#define CONFIG_EPX_FILTER 1
|
1286 |
+
#define CONFIG_EQ_FILTER 0
|
1287 |
+
#define CONFIG_EROSION_FILTER 1
|
1288 |
+
#define CONFIG_EROSION_OPENCL_FILTER 0
|
1289 |
+
#define CONFIG_ESTDIF_FILTER 1
|
1290 |
+
#define CONFIG_EXPOSURE_FILTER 1
|
1291 |
+
#define CONFIG_EXTRACTPLANES_FILTER 1
|
1292 |
+
#define CONFIG_FADE_FILTER 1
|
1293 |
+
#define CONFIG_FEEDBACK_FILTER 1
|
1294 |
+
#define CONFIG_FFTDNOIZ_FILTER 1
|
1295 |
+
#define CONFIG_FFTFILT_FILTER 1
|
1296 |
+
#define CONFIG_FIELD_FILTER 1
|
1297 |
+
#define CONFIG_FIELDHINT_FILTER 1
|
1298 |
+
#define CONFIG_FIELDMATCH_FILTER 1
|
1299 |
+
#define CONFIG_FIELDORDER_FILTER 1
|
1300 |
+
#define CONFIG_FILLBORDERS_FILTER 1
|
1301 |
+
#define CONFIG_FIND_RECT_FILTER 0
|
1302 |
+
#define CONFIG_FLIP_VULKAN_FILTER 0
|
1303 |
+
#define CONFIG_FLOODFILL_FILTER 1
|
1304 |
+
#define CONFIG_FORMAT_FILTER 1
|
1305 |
+
#define CONFIG_FPS_FILTER 1
|
1306 |
+
#define CONFIG_FRAMEPACK_FILTER 1
|
1307 |
+
#define CONFIG_FRAMERATE_FILTER 1
|
1308 |
+
#define CONFIG_FRAMESTEP_FILTER 1
|
1309 |
+
#define CONFIG_FREEZEDETECT_FILTER 1
|
1310 |
+
#define CONFIG_FREEZEFRAMES_FILTER 1
|
1311 |
+
#define CONFIG_FREI0R_FILTER 0
|
1312 |
+
#define CONFIG_FSPP_FILTER 0
|
1313 |
+
#define CONFIG_GBLUR_FILTER 1
|
1314 |
+
#define CONFIG_GBLUR_VULKAN_FILTER 0
|
1315 |
+
#define CONFIG_GEQ_FILTER 1
|
1316 |
+
#define CONFIG_GRADFUN_FILTER 1
|
1317 |
+
#define CONFIG_GRAPHMONITOR_FILTER 1
|
1318 |
+
#define CONFIG_GRAYWORLD_FILTER 1
|
1319 |
+
#define CONFIG_GREYEDGE_FILTER 1
|
1320 |
+
#define CONFIG_GUIDED_FILTER 1
|
1321 |
+
#define CONFIG_HALDCLUT_FILTER 1
|
1322 |
+
#define CONFIG_HFLIP_FILTER 1
|
1323 |
+
#define CONFIG_HFLIP_VULKAN_FILTER 0
|
1324 |
+
#define CONFIG_HISTEQ_FILTER 0
|
1325 |
+
#define CONFIG_HISTOGRAM_FILTER 1
|
1326 |
+
#define CONFIG_HQDN3D_FILTER 0
|
1327 |
+
#define CONFIG_HQX_FILTER 1
|
1328 |
+
#define CONFIG_HSTACK_FILTER 1
|
1329 |
+
#define CONFIG_HSVHOLD_FILTER 1
|
1330 |
+
#define CONFIG_HSVKEY_FILTER 1
|
1331 |
+
#define CONFIG_HUE_FILTER 1
|
1332 |
+
#define CONFIG_HUESATURATION_FILTER 1
|
1333 |
+
#define CONFIG_HWDOWNLOAD_FILTER 1
|
1334 |
+
#define CONFIG_HWMAP_FILTER 1
|
1335 |
+
#define CONFIG_HWUPLOAD_FILTER 1
|
1336 |
+
#define CONFIG_HWUPLOAD_CUDA_FILTER 1
|
1337 |
+
#define CONFIG_HYSTERESIS_FILTER 1
|
1338 |
+
#define CONFIG_ICCDETECT_FILTER 0
|
1339 |
+
#define CONFIG_ICCGEN_FILTER 0
|
1340 |
+
#define CONFIG_IDENTITY_FILTER 1
|
1341 |
+
#define CONFIG_IDET_FILTER 1
|
1342 |
+
#define CONFIG_IL_FILTER 1
|
1343 |
+
#define CONFIG_INFLATE_FILTER 1
|
1344 |
+
#define CONFIG_INTERLACE_FILTER 0
|
1345 |
+
#define CONFIG_INTERLEAVE_FILTER 1
|
1346 |
+
#define CONFIG_KERNDEINT_FILTER 0
|
1347 |
+
#define CONFIG_KIRSCH_FILTER 1
|
1348 |
+
#define CONFIG_LAGFUN_FILTER 1
|
1349 |
+
#define CONFIG_LATENCY_FILTER 1
|
1350 |
+
#define CONFIG_LENSCORRECTION_FILTER 1
|
1351 |
+
#define CONFIG_LENSFUN_FILTER 0
|
1352 |
+
#define CONFIG_LIBPLACEBO_FILTER 0
|
1353 |
+
#define CONFIG_LIBVMAF_FILTER 0
|
1354 |
+
#define CONFIG_LIMITDIFF_FILTER 1
|
1355 |
+
#define CONFIG_LIMITER_FILTER 1
|
1356 |
+
#define CONFIG_LOOP_FILTER 1
|
1357 |
+
#define CONFIG_LUMAKEY_FILTER 1
|
1358 |
+
#define CONFIG_LUT_FILTER 1
|
1359 |
+
#define CONFIG_LUT1D_FILTER 1
|
1360 |
+
#define CONFIG_LUT2_FILTER 1
|
1361 |
+
#define CONFIG_LUT3D_FILTER 1
|
1362 |
+
#define CONFIG_LUTRGB_FILTER 1
|
1363 |
+
#define CONFIG_LUTYUV_FILTER 1
|
1364 |
+
#define CONFIG_MASKEDCLAMP_FILTER 1
|
1365 |
+
#define CONFIG_MASKEDMAX_FILTER 1
|
1366 |
+
#define CONFIG_MASKEDMERGE_FILTER 1
|
1367 |
+
#define CONFIG_MASKEDMIN_FILTER 1
|
1368 |
+
#define CONFIG_MASKEDTHRESHOLD_FILTER 1
|
1369 |
+
#define CONFIG_MASKFUN_FILTER 1
|
1370 |
+
#define CONFIG_MCDEINT_FILTER 0
|
1371 |
+
#define CONFIG_MEDIAN_FILTER 1
|
1372 |
+
#define CONFIG_MERGEPLANES_FILTER 1
|
1373 |
+
#define CONFIG_MESTIMATE_FILTER 1
|
1374 |
+
#define CONFIG_METADATA_FILTER 1
|
1375 |
+
#define CONFIG_MIDEQUALIZER_FILTER 1
|
1376 |
+
#define CONFIG_MINTERPOLATE_FILTER 1
|
1377 |
+
#define CONFIG_MIX_FILTER 1
|
1378 |
+
#define CONFIG_MONOCHROME_FILTER 1
|
1379 |
+
#define CONFIG_MORPHO_FILTER 1
|
1380 |
+
#define CONFIG_MPDECIMATE_FILTER 0
|
1381 |
+
#define CONFIG_MSAD_FILTER 1
|
1382 |
+
#define CONFIG_MULTIPLY_FILTER 1
|
1383 |
+
#define CONFIG_NEGATE_FILTER 1
|
1384 |
+
#define CONFIG_NLMEANS_FILTER 1
|
1385 |
+
#define CONFIG_NLMEANS_OPENCL_FILTER 0
|
1386 |
+
#define CONFIG_NLMEANS_VULKAN_FILTER 0
|
1387 |
+
#define CONFIG_NNEDI_FILTER 0
|
1388 |
+
#define CONFIG_NOFORMAT_FILTER 1
|
1389 |
+
#define CONFIG_NOISE_FILTER 1
|
1390 |
+
#define CONFIG_NORMALIZE_FILTER 1
|
1391 |
+
#define CONFIG_NULL_FILTER 1
|
1392 |
+
#define CONFIG_OCR_FILTER 0
|
1393 |
+
#define CONFIG_OCV_FILTER 0
|
1394 |
+
#define CONFIG_OSCILLOSCOPE_FILTER 1
|
1395 |
+
#define CONFIG_OVERLAY_FILTER 1
|
1396 |
+
#define CONFIG_OVERLAY_OPENCL_FILTER 0
|
1397 |
+
#define CONFIG_OVERLAY_QSV_FILTER 0
|
1398 |
+
#define CONFIG_OVERLAY_VAAPI_FILTER 0
|
1399 |
+
#define CONFIG_OVERLAY_VULKAN_FILTER 0
|
1400 |
+
#define CONFIG_OVERLAY_CUDA_FILTER 1
|
1401 |
+
#define CONFIG_OWDENOISE_FILTER 0
|
1402 |
+
#define CONFIG_PAD_FILTER 1
|
1403 |
+
#define CONFIG_PAD_OPENCL_FILTER 0
|
1404 |
+
#define CONFIG_PALETTEGEN_FILTER 1
|
1405 |
+
#define CONFIG_PALETTEUSE_FILTER 1
|
1406 |
+
#define CONFIG_PERMS_FILTER 1
|
1407 |
+
#define CONFIG_PERSPECTIVE_FILTER 0
|
1408 |
+
#define CONFIG_PHASE_FILTER 0
|
1409 |
+
#define CONFIG_PHOTOSENSITIVITY_FILTER 1
|
1410 |
+
#define CONFIG_PIXDESCTEST_FILTER 1
|
1411 |
+
#define CONFIG_PIXELIZE_FILTER 1
|
1412 |
+
#define CONFIG_PIXSCOPE_FILTER 1
|
1413 |
+
#define CONFIG_PP_FILTER 0
|
1414 |
+
#define CONFIG_PP7_FILTER 0
|
1415 |
+
#define CONFIG_PREMULTIPLY_FILTER 1
|
1416 |
+
#define CONFIG_PREWITT_FILTER 1
|
1417 |
+
#define CONFIG_PREWITT_OPENCL_FILTER 0
|
1418 |
+
#define CONFIG_PROCAMP_VAAPI_FILTER 0
|
1419 |
+
#define CONFIG_PROGRAM_OPENCL_FILTER 0
|
1420 |
+
#define CONFIG_PSEUDOCOLOR_FILTER 1
|
1421 |
+
#define CONFIG_PSNR_FILTER 1
|
1422 |
+
#define CONFIG_PULLUP_FILTER 0
|
1423 |
+
#define CONFIG_QP_FILTER 1
|
1424 |
+
#define CONFIG_RANDOM_FILTER 1
|
1425 |
+
#define CONFIG_READEIA608_FILTER 1
|
1426 |
+
#define CONFIG_READVITC_FILTER 1
|
1427 |
+
#define CONFIG_REALTIME_FILTER 1
|
1428 |
+
#define CONFIG_REMAP_FILTER 1
|
1429 |
+
#define CONFIG_REMAP_OPENCL_FILTER 0
|
1430 |
+
#define CONFIG_REMOVEGRAIN_FILTER 1
|
1431 |
+
#define CONFIG_REMOVELOGO_FILTER 1
|
1432 |
+
#define CONFIG_REPEATFIELDS_FILTER 0
|
1433 |
+
#define CONFIG_REVERSE_FILTER 1
|
1434 |
+
#define CONFIG_RGBASHIFT_FILTER 1
|
1435 |
+
#define CONFIG_ROBERTS_FILTER 1
|
1436 |
+
#define CONFIG_ROBERTS_OPENCL_FILTER 0
|
1437 |
+
#define CONFIG_ROTATE_FILTER 1
|
1438 |
+
#define CONFIG_SAB_FILTER 0
|
1439 |
+
#define CONFIG_SCALE_FILTER 1
|
1440 |
+
#define CONFIG_SCALE_CUDA_FILTER 1
|
1441 |
+
#define CONFIG_SCALE_NPP_FILTER 1
|
1442 |
+
#define CONFIG_SCALE_QSV_FILTER 0
|
1443 |
+
#define CONFIG_SCALE_VAAPI_FILTER 0
|
1444 |
+
#define CONFIG_SCALE_VT_FILTER 0
|
1445 |
+
#define CONFIG_SCALE_VULKAN_FILTER 0
|
1446 |
+
#define CONFIG_SCALE2REF_FILTER 1
|
1447 |
+
#define CONFIG_SCALE2REF_NPP_FILTER 1
|
1448 |
+
#define CONFIG_SCDET_FILTER 1
|
1449 |
+
#define CONFIG_SCHARR_FILTER 1
|
1450 |
+
#define CONFIG_SCROLL_FILTER 1
|
1451 |
+
#define CONFIG_SEGMENT_FILTER 1
|
1452 |
+
#define CONFIG_SELECT_FILTER 1
|
1453 |
+
#define CONFIG_SELECTIVECOLOR_FILTER 1
|
1454 |
+
#define CONFIG_SENDCMD_FILTER 1
|
1455 |
+
#define CONFIG_SEPARATEFIELDS_FILTER 1
|
1456 |
+
#define CONFIG_SETDAR_FILTER 1
|
1457 |
+
#define CONFIG_SETFIELD_FILTER 1
|
1458 |
+
#define CONFIG_SETPARAMS_FILTER 1
|
1459 |
+
#define CONFIG_SETPTS_FILTER 1
|
1460 |
+
#define CONFIG_SETRANGE_FILTER 1
|
1461 |
+
#define CONFIG_SETSAR_FILTER 1
|
1462 |
+
#define CONFIG_SETTB_FILTER 1
|
1463 |
+
#define CONFIG_SHARPEN_NPP_FILTER 1
|
1464 |
+
#define CONFIG_SHARPNESS_VAAPI_FILTER 0
|
1465 |
+
#define CONFIG_SHEAR_FILTER 1
|
1466 |
+
#define CONFIG_SHOWINFO_FILTER 1
|
1467 |
+
#define CONFIG_SHOWPALETTE_FILTER 1
|
1468 |
+
#define CONFIG_SHUFFLEFRAMES_FILTER 1
|
1469 |
+
#define CONFIG_SHUFFLEPIXELS_FILTER 1
|
1470 |
+
#define CONFIG_SHUFFLEPLANES_FILTER 1
|
1471 |
+
#define CONFIG_SIDEDATA_FILTER 1
|
1472 |
+
#define CONFIG_SIGNALSTATS_FILTER 1
|
1473 |
+
#define CONFIG_SIGNATURE_FILTER 0
|
1474 |
+
#define CONFIG_SITI_FILTER 1
|
1475 |
+
#define CONFIG_SMARTBLUR_FILTER 0
|
1476 |
+
#define CONFIG_SOBEL_FILTER 1
|
1477 |
+
#define CONFIG_SOBEL_OPENCL_FILTER 0
|
1478 |
+
#define CONFIG_SPLIT_FILTER 1
|
1479 |
+
#define CONFIG_SPP_FILTER 0
|
1480 |
+
#define CONFIG_SR_FILTER 1
|
1481 |
+
#define CONFIG_SSIM_FILTER 1
|
1482 |
+
#define CONFIG_SSIM360_FILTER 1
|
1483 |
+
#define CONFIG_STEREO3D_FILTER 0
|
1484 |
+
#define CONFIG_STREAMSELECT_FILTER 1
|
1485 |
+
#define CONFIG_SUBTITLES_FILTER 0
|
1486 |
+
#define CONFIG_SUPER2XSAI_FILTER 0
|
1487 |
+
#define CONFIG_SWAPRECT_FILTER 1
|
1488 |
+
#define CONFIG_SWAPUV_FILTER 1
|
1489 |
+
#define CONFIG_TBLEND_FILTER 1
|
1490 |
+
#define CONFIG_TELECINE_FILTER 1
|
1491 |
+
#define CONFIG_THISTOGRAM_FILTER 1
|
1492 |
+
#define CONFIG_THRESHOLD_FILTER 1
|
1493 |
+
#define CONFIG_THUMBNAIL_FILTER 1
|
1494 |
+
#define CONFIG_THUMBNAIL_CUDA_FILTER 1
|
1495 |
+
#define CONFIG_TILE_FILTER 1
|
1496 |
+
#define CONFIG_TINTERLACE_FILTER 0
|
1497 |
+
#define CONFIG_TLUT2_FILTER 1
|
1498 |
+
#define CONFIG_TMEDIAN_FILTER 1
|
1499 |
+
#define CONFIG_TMIDEQUALIZER_FILTER 1
|
1500 |
+
#define CONFIG_TMIX_FILTER 1
|
1501 |
+
#define CONFIG_TONEMAP_FILTER 1
|
1502 |
+
#define CONFIG_TONEMAP_OPENCL_FILTER 0
|
1503 |
+
#define CONFIG_TONEMAP_VAAPI_FILTER 0
|
1504 |
+
#define CONFIG_TPAD_FILTER 1
|
1505 |
+
#define CONFIG_TRANSPOSE_FILTER 1
|
1506 |
+
#define CONFIG_TRANSPOSE_NPP_FILTER 1
|
1507 |
+
#define CONFIG_TRANSPOSE_OPENCL_FILTER 0
|
1508 |
+
#define CONFIG_TRANSPOSE_VAAPI_FILTER 0
|
1509 |
+
#define CONFIG_TRANSPOSE_VT_FILTER 0
|
1510 |
+
#define CONFIG_TRANSPOSE_VULKAN_FILTER 0
|
1511 |
+
#define CONFIG_TRIM_FILTER 1
|
1512 |
+
#define CONFIG_UNPREMULTIPLY_FILTER 1
|
1513 |
+
#define CONFIG_UNSHARP_FILTER 1
|
1514 |
+
#define CONFIG_UNSHARP_OPENCL_FILTER 0
|
1515 |
+
#define CONFIG_UNTILE_FILTER 1
|
1516 |
+
#define CONFIG_USPP_FILTER 0
|
1517 |
+
#define CONFIG_V360_FILTER 1
|
1518 |
+
#define CONFIG_VAGUEDENOISER_FILTER 0
|
1519 |
+
#define CONFIG_VARBLUR_FILTER 1
|
1520 |
+
#define CONFIG_VECTORSCOPE_FILTER 1
|
1521 |
+
#define CONFIG_VFLIP_FILTER 1
|
1522 |
+
#define CONFIG_VFLIP_VULKAN_FILTER 0
|
1523 |
+
#define CONFIG_VFRDET_FILTER 1
|
1524 |
+
#define CONFIG_VIBRANCE_FILTER 1
|
1525 |
+
#define CONFIG_VIDSTABDETECT_FILTER 0
|
1526 |
+
#define CONFIG_VIDSTABTRANSFORM_FILTER 0
|
1527 |
+
#define CONFIG_VIF_FILTER 1
|
1528 |
+
#define CONFIG_VIGNETTE_FILTER 1
|
1529 |
+
#define CONFIG_VMAFMOTION_FILTER 1
|
1530 |
+
#define CONFIG_VPP_QSV_FILTER 0
|
1531 |
+
#define CONFIG_VSTACK_FILTER 1
|
1532 |
+
#define CONFIG_W3FDIF_FILTER 1
|
1533 |
+
#define CONFIG_WAVEFORM_FILTER 1
|
1534 |
+
#define CONFIG_WEAVE_FILTER 1
|
1535 |
+
#define CONFIG_XBR_FILTER 1
|
1536 |
+
#define CONFIG_XCORRELATE_FILTER 1
|
1537 |
+
#define CONFIG_XFADE_FILTER 1
|
1538 |
+
#define CONFIG_XFADE_OPENCL_FILTER 0
|
1539 |
+
#define CONFIG_XFADE_VULKAN_FILTER 0
|
1540 |
+
#define CONFIG_XMEDIAN_FILTER 1
|
1541 |
+
#define CONFIG_XSTACK_FILTER 1
|
1542 |
+
#define CONFIG_YADIF_FILTER 1
|
1543 |
+
#define CONFIG_YADIF_CUDA_FILTER 1
|
1544 |
+
#define CONFIG_YADIF_VIDEOTOOLBOX_FILTER 0
|
1545 |
+
#define CONFIG_YAEPBLUR_FILTER 1
|
1546 |
+
#define CONFIG_ZMQ_FILTER 0
|
1547 |
+
#define CONFIG_ZOOMPAN_FILTER 1
|
1548 |
+
#define CONFIG_ZSCALE_FILTER 0
|
1549 |
+
#define CONFIG_HSTACK_VAAPI_FILTER 0
|
1550 |
+
#define CONFIG_VSTACK_VAAPI_FILTER 0
|
1551 |
+
#define CONFIG_XSTACK_VAAPI_FILTER 0
|
1552 |
+
#define CONFIG_HSTACK_QSV_FILTER 0
|
1553 |
+
#define CONFIG_VSTACK_QSV_FILTER 0
|
1554 |
+
#define CONFIG_XSTACK_QSV_FILTER 0
|
1555 |
+
#define CONFIG_ALLRGB_FILTER 1
|
1556 |
+
#define CONFIG_ALLYUV_FILTER 1
|
1557 |
+
#define CONFIG_CELLAUTO_FILTER 1
|
1558 |
+
#define CONFIG_COLOR_FILTER 1
|
1559 |
+
#define CONFIG_COLOR_VULKAN_FILTER 0
|
1560 |
+
#define CONFIG_COLORCHART_FILTER 1
|
1561 |
+
#define CONFIG_COLORSPECTRUM_FILTER 1
|
1562 |
+
#define CONFIG_COREIMAGESRC_FILTER 0
|
1563 |
+
#define CONFIG_DDAGRAB_FILTER 0
|
1564 |
+
#define CONFIG_FREI0R_SRC_FILTER 0
|
1565 |
+
#define CONFIG_GRADIENTS_FILTER 1
|
1566 |
+
#define CONFIG_HALDCLUTSRC_FILTER 1
|
1567 |
+
#define CONFIG_LIFE_FILTER 1
|
1568 |
+
#define CONFIG_MANDELBROT_FILTER 1
|
1569 |
+
#define CONFIG_MPTESTSRC_FILTER 0
|
1570 |
+
#define CONFIG_NULLSRC_FILTER 1
|
1571 |
+
#define CONFIG_OPENCLSRC_FILTER 0
|
1572 |
+
#define CONFIG_PAL75BARS_FILTER 1
|
1573 |
+
#define CONFIG_PAL100BARS_FILTER 1
|
1574 |
+
#define CONFIG_RGBTESTSRC_FILTER 1
|
1575 |
+
#define CONFIG_SIERPINSKI_FILTER 1
|
1576 |
+
#define CONFIG_SMPTEBARS_FILTER 1
|
1577 |
+
#define CONFIG_SMPTEHDBARS_FILTER 1
|
1578 |
+
#define CONFIG_TESTSRC_FILTER 1
|
1579 |
+
#define CONFIG_TESTSRC2_FILTER 1
|
1580 |
+
#define CONFIG_YUVTESTSRC_FILTER 1
|
1581 |
+
#define CONFIG_ZONEPLATE_FILTER 1
|
1582 |
+
#define CONFIG_NULLSINK_FILTER 1
|
1583 |
+
#define CONFIG_A3DSCOPE_FILTER 1
|
1584 |
+
#define CONFIG_ABITSCOPE_FILTER 1
|
1585 |
+
#define CONFIG_ADRAWGRAPH_FILTER 1
|
1586 |
+
#define CONFIG_AGRAPHMONITOR_FILTER 1
|
1587 |
+
#define CONFIG_AHISTOGRAM_FILTER 1
|
1588 |
+
#define CONFIG_APHASEMETER_FILTER 1
|
1589 |
+
#define CONFIG_AVECTORSCOPE_FILTER 1
|
1590 |
+
#define CONFIG_CONCAT_FILTER 1
|
1591 |
+
#define CONFIG_SHOWCQT_FILTER 1
|
1592 |
+
#define CONFIG_SHOWCWT_FILTER 1
|
1593 |
+
#define CONFIG_SHOWFREQS_FILTER 1
|
1594 |
+
#define CONFIG_SHOWSPATIAL_FILTER 1
|
1595 |
+
#define CONFIG_SHOWSPECTRUM_FILTER 1
|
1596 |
+
#define CONFIG_SHOWSPECTRUMPIC_FILTER 1
|
1597 |
+
#define CONFIG_SHOWVOLUME_FILTER 1
|
1598 |
+
#define CONFIG_SHOWWAVES_FILTER 1
|
1599 |
+
#define CONFIG_SHOWWAVESPIC_FILTER 1
|
1600 |
+
#define CONFIG_SPECTRUMSYNTH_FILTER 1
|
1601 |
+
#define CONFIG_AVSYNCTEST_FILTER 1
|
1602 |
+
#define CONFIG_AMOVIE_FILTER 1
|
1603 |
+
#define CONFIG_MOVIE_FILTER 1
|
1604 |
+
#define CONFIG_AFIFO_FILTER 1
|
1605 |
+
#define CONFIG_FIFO_FILTER 1
|
1606 |
+
#define CONFIG_AA_DEMUXER 1
|
1607 |
+
#define CONFIG_AAC_DEMUXER 1
|
1608 |
+
#define CONFIG_AAX_DEMUXER 1
|
1609 |
+
#define CONFIG_AC3_DEMUXER 1
|
1610 |
+
#define CONFIG_AC4_DEMUXER 1
|
1611 |
+
#define CONFIG_ACE_DEMUXER 1
|
1612 |
+
#define CONFIG_ACM_DEMUXER 1
|
1613 |
+
#define CONFIG_ACT_DEMUXER 1
|
1614 |
+
#define CONFIG_ADF_DEMUXER 1
|
1615 |
+
#define CONFIG_ADP_DEMUXER 1
|
1616 |
+
#define CONFIG_ADS_DEMUXER 1
|
1617 |
+
#define CONFIG_ADX_DEMUXER 1
|
1618 |
+
#define CONFIG_AEA_DEMUXER 1
|
1619 |
+
#define CONFIG_AFC_DEMUXER 1
|
1620 |
+
#define CONFIG_AIFF_DEMUXER 1
|
1621 |
+
#define CONFIG_AIX_DEMUXER 1
|
1622 |
+
#define CONFIG_ALP_DEMUXER 1
|
1623 |
+
#define CONFIG_AMR_DEMUXER 1
|
1624 |
+
#define CONFIG_AMRNB_DEMUXER 1
|
1625 |
+
#define CONFIG_AMRWB_DEMUXER 1
|
1626 |
+
#define CONFIG_ANM_DEMUXER 1
|
1627 |
+
#define CONFIG_APAC_DEMUXER 1
|
1628 |
+
#define CONFIG_APC_DEMUXER 1
|
1629 |
+
#define CONFIG_APE_DEMUXER 1
|
1630 |
+
#define CONFIG_APM_DEMUXER 1
|
1631 |
+
#define CONFIG_APNG_DEMUXER 1
|
1632 |
+
#define CONFIG_APTX_DEMUXER 1
|
1633 |
+
#define CONFIG_APTX_HD_DEMUXER 1
|
1634 |
+
#define CONFIG_AQTITLE_DEMUXER 1
|
1635 |
+
#define CONFIG_ARGO_ASF_DEMUXER 1
|
1636 |
+
#define CONFIG_ARGO_BRP_DEMUXER 1
|
1637 |
+
#define CONFIG_ARGO_CVG_DEMUXER 1
|
1638 |
+
#define CONFIG_ASF_DEMUXER 1
|
1639 |
+
#define CONFIG_ASF_O_DEMUXER 1
|
1640 |
+
#define CONFIG_ASS_DEMUXER 1
|
1641 |
+
#define CONFIG_AST_DEMUXER 1
|
1642 |
+
#define CONFIG_AU_DEMUXER 1
|
1643 |
+
#define CONFIG_AV1_DEMUXER 1
|
1644 |
+
#define CONFIG_AVI_DEMUXER 1
|
1645 |
+
#define CONFIG_AVISYNTH_DEMUXER 0
|
1646 |
+
#define CONFIG_AVR_DEMUXER 1
|
1647 |
+
#define CONFIG_AVS_DEMUXER 1
|
1648 |
+
#define CONFIG_AVS2_DEMUXER 1
|
1649 |
+
#define CONFIG_AVS3_DEMUXER 1
|
1650 |
+
#define CONFIG_BETHSOFTVID_DEMUXER 1
|
1651 |
+
#define CONFIG_BFI_DEMUXER 1
|
1652 |
+
#define CONFIG_BINTEXT_DEMUXER 1
|
1653 |
+
#define CONFIG_BINK_DEMUXER 1
|
1654 |
+
#define CONFIG_BINKA_DEMUXER 1
|
1655 |
+
#define CONFIG_BIT_DEMUXER 1
|
1656 |
+
#define CONFIG_BITPACKED_DEMUXER 1
|
1657 |
+
#define CONFIG_BMV_DEMUXER 1
|
1658 |
+
#define CONFIG_BFSTM_DEMUXER 1
|
1659 |
+
#define CONFIG_BRSTM_DEMUXER 1
|
1660 |
+
#define CONFIG_BOA_DEMUXER 1
|
1661 |
+
#define CONFIG_BONK_DEMUXER 1
|
1662 |
+
#define CONFIG_C93_DEMUXER 1
|
1663 |
+
#define CONFIG_CAF_DEMUXER 1
|
1664 |
+
#define CONFIG_CAVSVIDEO_DEMUXER 1
|
1665 |
+
#define CONFIG_CDG_DEMUXER 1
|
1666 |
+
#define CONFIG_CDXL_DEMUXER 1
|
1667 |
+
#define CONFIG_CINE_DEMUXER 1
|
1668 |
+
#define CONFIG_CODEC2_DEMUXER 1
|
1669 |
+
#define CONFIG_CODEC2RAW_DEMUXER 1
|
1670 |
+
#define CONFIG_CONCAT_DEMUXER 1
|
1671 |
+
#define CONFIG_DASH_DEMUXER 0
|
1672 |
+
#define CONFIG_DATA_DEMUXER 1
|
1673 |
+
#define CONFIG_DAUD_DEMUXER 1
|
1674 |
+
#define CONFIG_DCSTR_DEMUXER 1
|
1675 |
+
#define CONFIG_DERF_DEMUXER 1
|
1676 |
+
#define CONFIG_DFA_DEMUXER 1
|
1677 |
+
#define CONFIG_DFPWM_DEMUXER 1
|
1678 |
+
#define CONFIG_DHAV_DEMUXER 1
|
1679 |
+
#define CONFIG_DIRAC_DEMUXER 1
|
1680 |
+
#define CONFIG_DNXHD_DEMUXER 1
|
1681 |
+
#define CONFIG_DSF_DEMUXER 1
|
1682 |
+
#define CONFIG_DSICIN_DEMUXER 1
|
1683 |
+
#define CONFIG_DSS_DEMUXER 1
|
1684 |
+
#define CONFIG_DTS_DEMUXER 1
|
1685 |
+
#define CONFIG_DTSHD_DEMUXER 1
|
1686 |
+
#define CONFIG_DV_DEMUXER 1
|
1687 |
+
#define CONFIG_DVBSUB_DEMUXER 1
|
1688 |
+
#define CONFIG_DVBTXT_DEMUXER 1
|
1689 |
+
#define CONFIG_DXA_DEMUXER 1
|
1690 |
+
#define CONFIG_EA_DEMUXER 1
|
1691 |
+
#define CONFIG_EA_CDATA_DEMUXER 1
|
1692 |
+
#define CONFIG_EAC3_DEMUXER 1
|
1693 |
+
#define CONFIG_EPAF_DEMUXER 1
|
1694 |
+
#define CONFIG_EVC_DEMUXER 1
|
1695 |
+
#define CONFIG_FFMETADATA_DEMUXER 1
|
1696 |
+
#define CONFIG_FILMSTRIP_DEMUXER 1
|
1697 |
+
#define CONFIG_FITS_DEMUXER 1
|
1698 |
+
#define CONFIG_FLAC_DEMUXER 1
|
1699 |
+
#define CONFIG_FLIC_DEMUXER 1
|
1700 |
+
#define CONFIG_FLV_DEMUXER 1
|
1701 |
+
#define CONFIG_LIVE_FLV_DEMUXER 1
|
1702 |
+
#define CONFIG_FOURXM_DEMUXER 1
|
1703 |
+
#define CONFIG_FRM_DEMUXER 1
|
1704 |
+
#define CONFIG_FSB_DEMUXER 1
|
1705 |
+
#define CONFIG_FWSE_DEMUXER 1
|
1706 |
+
#define CONFIG_G722_DEMUXER 1
|
1707 |
+
#define CONFIG_G723_1_DEMUXER 1
|
1708 |
+
#define CONFIG_G726_DEMUXER 1
|
1709 |
+
#define CONFIG_G726LE_DEMUXER 1
|
1710 |
+
#define CONFIG_G729_DEMUXER 1
|
1711 |
+
#define CONFIG_GDV_DEMUXER 1
|
1712 |
+
#define CONFIG_GENH_DEMUXER 1
|
1713 |
+
#define CONFIG_GIF_DEMUXER 1
|
1714 |
+
#define CONFIG_GSM_DEMUXER 1
|
1715 |
+
#define CONFIG_GXF_DEMUXER 1
|
1716 |
+
#define CONFIG_H261_DEMUXER 1
|
1717 |
+
#define CONFIG_H263_DEMUXER 1
|
1718 |
+
#define CONFIG_H264_DEMUXER 1
|
1719 |
+
#define CONFIG_HCA_DEMUXER 1
|
1720 |
+
#define CONFIG_HCOM_DEMUXER 1
|
1721 |
+
#define CONFIG_HEVC_DEMUXER 1
|
1722 |
+
#define CONFIG_HLS_DEMUXER 1
|
1723 |
+
#define CONFIG_HNM_DEMUXER 1
|
1724 |
+
#define CONFIG_ICO_DEMUXER 1
|
1725 |
+
#define CONFIG_IDCIN_DEMUXER 1
|
1726 |
+
#define CONFIG_IDF_DEMUXER 1
|
1727 |
+
#define CONFIG_IFF_DEMUXER 1
|
1728 |
+
#define CONFIG_IFV_DEMUXER 1
|
1729 |
+
#define CONFIG_ILBC_DEMUXER 1
|
1730 |
+
#define CONFIG_IMAGE2_DEMUXER 1
|
1731 |
+
#define CONFIG_IMAGE2PIPE_DEMUXER 1
|
1732 |
+
#define CONFIG_IMAGE2_ALIAS_PIX_DEMUXER 1
|
1733 |
+
#define CONFIG_IMAGE2_BRENDER_PIX_DEMUXER 1
|
1734 |
+
#define CONFIG_IMF_DEMUXER 0
|
1735 |
+
#define CONFIG_INGENIENT_DEMUXER 1
|
1736 |
+
#define CONFIG_IPMOVIE_DEMUXER 1
|
1737 |
+
#define CONFIG_IPU_DEMUXER 1
|
1738 |
+
#define CONFIG_IRCAM_DEMUXER 1
|
1739 |
+
#define CONFIG_ISS_DEMUXER 1
|
1740 |
+
#define CONFIG_IV8_DEMUXER 1
|
1741 |
+
#define CONFIG_IVF_DEMUXER 1
|
1742 |
+
#define CONFIG_IVR_DEMUXER 1
|
1743 |
+
#define CONFIG_JACOSUB_DEMUXER 1
|
1744 |
+
#define CONFIG_JV_DEMUXER 1
|
1745 |
+
#define CONFIG_JPEGXL_ANIM_DEMUXER 1
|
1746 |
+
#define CONFIG_KUX_DEMUXER 1
|
1747 |
+
#define CONFIG_KVAG_DEMUXER 1
|
1748 |
+
#define CONFIG_LAF_DEMUXER 1
|
1749 |
+
#define CONFIG_LMLM4_DEMUXER 1
|
1750 |
+
#define CONFIG_LOAS_DEMUXER 1
|
1751 |
+
#define CONFIG_LUODAT_DEMUXER 1
|
1752 |
+
#define CONFIG_LRC_DEMUXER 1
|
1753 |
+
#define CONFIG_LVF_DEMUXER 1
|
1754 |
+
#define CONFIG_LXF_DEMUXER 1
|
1755 |
+
#define CONFIG_M4V_DEMUXER 1
|
1756 |
+
#define CONFIG_MCA_DEMUXER 1
|
1757 |
+
#define CONFIG_MCC_DEMUXER 1
|
1758 |
+
#define CONFIG_MATROSKA_DEMUXER 1
|
1759 |
+
#define CONFIG_MGSTS_DEMUXER 1
|
1760 |
+
#define CONFIG_MICRODVD_DEMUXER 1
|
1761 |
+
#define CONFIG_MJPEG_DEMUXER 1
|
1762 |
+
#define CONFIG_MJPEG_2000_DEMUXER 1
|
1763 |
+
#define CONFIG_MLP_DEMUXER 1
|
1764 |
+
#define CONFIG_MLV_DEMUXER 1
|
1765 |
+
#define CONFIG_MM_DEMUXER 1
|
1766 |
+
#define CONFIG_MMF_DEMUXER 1
|
1767 |
+
#define CONFIG_MODS_DEMUXER 1
|
1768 |
+
#define CONFIG_MOFLEX_DEMUXER 1
|
1769 |
+
#define CONFIG_MOV_DEMUXER 1
|
1770 |
+
#define CONFIG_MP3_DEMUXER 1
|
1771 |
+
#define CONFIG_MPC_DEMUXER 1
|
1772 |
+
#define CONFIG_MPC8_DEMUXER 1
|
1773 |
+
#define CONFIG_MPEGPS_DEMUXER 1
|
1774 |
+
#define CONFIG_MPEGTS_DEMUXER 1
|
1775 |
+
#define CONFIG_MPEGTSRAW_DEMUXER 1
|
1776 |
+
#define CONFIG_MPEGVIDEO_DEMUXER 1
|
1777 |
+
#define CONFIG_MPJPEG_DEMUXER 1
|
1778 |
+
#define CONFIG_MPL2_DEMUXER 1
|
1779 |
+
#define CONFIG_MPSUB_DEMUXER 1
|
1780 |
+
#define CONFIG_MSF_DEMUXER 1
|
1781 |
+
#define CONFIG_MSNWC_TCP_DEMUXER 1
|
1782 |
+
#define CONFIG_MSP_DEMUXER 1
|
1783 |
+
#define CONFIG_MTAF_DEMUXER 1
|
1784 |
+
#define CONFIG_MTV_DEMUXER 1
|
1785 |
+
#define CONFIG_MUSX_DEMUXER 1
|
1786 |
+
#define CONFIG_MV_DEMUXER 1
|
1787 |
+
#define CONFIG_MVI_DEMUXER 1
|
1788 |
+
#define CONFIG_MXF_DEMUXER 1
|
1789 |
+
#define CONFIG_MXG_DEMUXER 1
|
1790 |
+
#define CONFIG_NC_DEMUXER 1
|
1791 |
+
#define CONFIG_NISTSPHERE_DEMUXER 1
|
1792 |
+
#define CONFIG_NSP_DEMUXER 1
|
1793 |
+
#define CONFIG_NSV_DEMUXER 1
|
1794 |
+
#define CONFIG_NUT_DEMUXER 1
|
1795 |
+
#define CONFIG_NUV_DEMUXER 1
|
1796 |
+
#define CONFIG_OBU_DEMUXER 1
|
1797 |
+
#define CONFIG_OGG_DEMUXER 1
|
1798 |
+
#define CONFIG_OMA_DEMUXER 1
|
1799 |
+
#define CONFIG_OSQ_DEMUXER 1
|
1800 |
+
#define CONFIG_PAF_DEMUXER 1
|
1801 |
+
#define CONFIG_PCM_ALAW_DEMUXER 1
|
1802 |
+
#define CONFIG_PCM_MULAW_DEMUXER 1
|
1803 |
+
#define CONFIG_PCM_VIDC_DEMUXER 1
|
1804 |
+
#define CONFIG_PCM_F64BE_DEMUXER 1
|
1805 |
+
#define CONFIG_PCM_F64LE_DEMUXER 1
|
1806 |
+
#define CONFIG_PCM_F32BE_DEMUXER 1
|
1807 |
+
#define CONFIG_PCM_F32LE_DEMUXER 1
|
1808 |
+
#define CONFIG_PCM_S32BE_DEMUXER 1
|
1809 |
+
#define CONFIG_PCM_S32LE_DEMUXER 1
|
1810 |
+
#define CONFIG_PCM_S24BE_DEMUXER 1
|
1811 |
+
#define CONFIG_PCM_S24LE_DEMUXER 1
|
1812 |
+
#define CONFIG_PCM_S16BE_DEMUXER 1
|
1813 |
+
#define CONFIG_PCM_S16LE_DEMUXER 1
|
1814 |
+
#define CONFIG_PCM_S8_DEMUXER 1
|
1815 |
+
#define CONFIG_PCM_U32BE_DEMUXER 1
|
1816 |
+
#define CONFIG_PCM_U32LE_DEMUXER 1
|
1817 |
+
#define CONFIG_PCM_U24BE_DEMUXER 1
|
1818 |
+
#define CONFIG_PCM_U24LE_DEMUXER 1
|
1819 |
+
#define CONFIG_PCM_U16BE_DEMUXER 1
|
1820 |
+
#define CONFIG_PCM_U16LE_DEMUXER 1
|
1821 |
+
#define CONFIG_PCM_U8_DEMUXER 1
|
1822 |
+
#define CONFIG_PDV_DEMUXER 1
|
1823 |
+
#define CONFIG_PJS_DEMUXER 1
|
1824 |
+
#define CONFIG_PMP_DEMUXER 1
|
1825 |
+
#define CONFIG_PP_BNK_DEMUXER 1
|
1826 |
+
#define CONFIG_PVA_DEMUXER 1
|
1827 |
+
#define CONFIG_PVF_DEMUXER 1
|
1828 |
+
#define CONFIG_QCP_DEMUXER 1
|
1829 |
+
#define CONFIG_R3D_DEMUXER 1
|
1830 |
+
#define CONFIG_RAWVIDEO_DEMUXER 1
|
1831 |
+
#define CONFIG_REALTEXT_DEMUXER 1
|
1832 |
+
#define CONFIG_REDSPARK_DEMUXER 1
|
1833 |
+
#define CONFIG_RKA_DEMUXER 1
|
1834 |
+
#define CONFIG_RL2_DEMUXER 1
|
1835 |
+
#define CONFIG_RM_DEMUXER 1
|
1836 |
+
#define CONFIG_ROQ_DEMUXER 1
|
1837 |
+
#define CONFIG_RPL_DEMUXER 1
|
1838 |
+
#define CONFIG_RSD_DEMUXER 1
|
1839 |
+
#define CONFIG_RSO_DEMUXER 1
|
1840 |
+
#define CONFIG_RTP_DEMUXER 1
|
1841 |
+
#define CONFIG_RTSP_DEMUXER 1
|
1842 |
+
#define CONFIG_S337M_DEMUXER 1
|
1843 |
+
#define CONFIG_SAMI_DEMUXER 1
|
1844 |
+
#define CONFIG_SAP_DEMUXER 1
|
1845 |
+
#define CONFIG_SBC_DEMUXER 1
|
1846 |
+
#define CONFIG_SBG_DEMUXER 1
|
1847 |
+
#define CONFIG_SCC_DEMUXER 1
|
1848 |
+
#define CONFIG_SCD_DEMUXER 1
|
1849 |
+
#define CONFIG_SDNS_DEMUXER 1
|
1850 |
+
#define CONFIG_SDP_DEMUXER 1
|
1851 |
+
#define CONFIG_SDR2_DEMUXER 1
|
1852 |
+
#define CONFIG_SDS_DEMUXER 1
|
1853 |
+
#define CONFIG_SDX_DEMUXER 1
|
1854 |
+
#define CONFIG_SEGAFILM_DEMUXER 1
|
1855 |
+
#define CONFIG_SER_DEMUXER 1
|
1856 |
+
#define CONFIG_SGA_DEMUXER 1
|
1857 |
+
#define CONFIG_SHORTEN_DEMUXER 1
|
1858 |
+
#define CONFIG_SIFF_DEMUXER 1
|
1859 |
+
#define CONFIG_SIMBIOSIS_IMX_DEMUXER 1
|
1860 |
+
#define CONFIG_SLN_DEMUXER 1
|
1861 |
+
#define CONFIG_SMACKER_DEMUXER 1
|
1862 |
+
#define CONFIG_SMJPEG_DEMUXER 1
|
1863 |
+
#define CONFIG_SMUSH_DEMUXER 1
|
1864 |
+
#define CONFIG_SOL_DEMUXER 1
|
1865 |
+
#define CONFIG_SOX_DEMUXER 1
|
1866 |
+
#define CONFIG_SPDIF_DEMUXER 1
|
1867 |
+
#define CONFIG_SRT_DEMUXER 1
|
1868 |
+
#define CONFIG_STR_DEMUXER 1
|
1869 |
+
#define CONFIG_STL_DEMUXER 1
|
1870 |
+
#define CONFIG_SUBVIEWER1_DEMUXER 1
|
1871 |
+
#define CONFIG_SUBVIEWER_DEMUXER 1
|
1872 |
+
#define CONFIG_SUP_DEMUXER 1
|
1873 |
+
#define CONFIG_SVAG_DEMUXER 1
|
1874 |
+
#define CONFIG_SVS_DEMUXER 1
|
1875 |
+
#define CONFIG_SWF_DEMUXER 1
|
1876 |
+
#define CONFIG_TAK_DEMUXER 1
|
1877 |
+
#define CONFIG_TEDCAPTIONS_DEMUXER 1
|
1878 |
+
#define CONFIG_THP_DEMUXER 1
|
1879 |
+
#define CONFIG_THREEDOSTR_DEMUXER 1
|
1880 |
+
#define CONFIG_TIERTEXSEQ_DEMUXER 1
|
1881 |
+
#define CONFIG_TMV_DEMUXER 1
|
1882 |
+
#define CONFIG_TRUEHD_DEMUXER 1
|
1883 |
+
#define CONFIG_TTA_DEMUXER 1
|
1884 |
+
#define CONFIG_TXD_DEMUXER 1
|
1885 |
+
#define CONFIG_TTY_DEMUXER 1
|
1886 |
+
#define CONFIG_TY_DEMUXER 1
|
1887 |
+
#define CONFIG_V210_DEMUXER 1
|
1888 |
+
#define CONFIG_V210X_DEMUXER 1
|
1889 |
+
#define CONFIG_VAG_DEMUXER 1
|
1890 |
+
#define CONFIG_VC1_DEMUXER 1
|
1891 |
+
#define CONFIG_VC1T_DEMUXER 1
|
1892 |
+
#define CONFIG_VIVIDAS_DEMUXER 1
|
1893 |
+
#define CONFIG_VIVO_DEMUXER 1
|
1894 |
+
#define CONFIG_VMD_DEMUXER 1
|
1895 |
+
#define CONFIG_VOBSUB_DEMUXER 1
|
1896 |
+
#define CONFIG_VOC_DEMUXER 1
|
1897 |
+
#define CONFIG_VPK_DEMUXER 1
|
1898 |
+
#define CONFIG_VPLAYER_DEMUXER 1
|
1899 |
+
#define CONFIG_VQF_DEMUXER 1
|
1900 |
+
#define CONFIG_VVC_DEMUXER 1
|
1901 |
+
#define CONFIG_W64_DEMUXER 1
|
1902 |
+
#define CONFIG_WADY_DEMUXER 1
|
1903 |
+
#define CONFIG_WAVARC_DEMUXER 1
|
1904 |
+
#define CONFIG_WAV_DEMUXER 1
|
1905 |
+
#define CONFIG_WC3_DEMUXER 1
|
1906 |
+
#define CONFIG_WEBM_DASH_MANIFEST_DEMUXER 1
|
1907 |
+
#define CONFIG_WEBVTT_DEMUXER 1
|
1908 |
+
#define CONFIG_WSAUD_DEMUXER 1
|
1909 |
+
#define CONFIG_WSD_DEMUXER 1
|
1910 |
+
#define CONFIG_WSVQA_DEMUXER 1
|
1911 |
+
#define CONFIG_WTV_DEMUXER 1
|
1912 |
+
#define CONFIG_WVE_DEMUXER 1
|
1913 |
+
#define CONFIG_WV_DEMUXER 1
|
1914 |
+
#define CONFIG_XA_DEMUXER 1
|
1915 |
+
#define CONFIG_XBIN_DEMUXER 1
|
1916 |
+
#define CONFIG_XMD_DEMUXER 1
|
1917 |
+
#define CONFIG_XMV_DEMUXER 1
|
1918 |
+
#define CONFIG_XVAG_DEMUXER 1
|
1919 |
+
#define CONFIG_XWMA_DEMUXER 1
|
1920 |
+
#define CONFIG_YOP_DEMUXER 1
|
1921 |
+
#define CONFIG_YUV4MPEGPIPE_DEMUXER 1
|
1922 |
+
#define CONFIG_IMAGE_BMP_PIPE_DEMUXER 1
|
1923 |
+
#define CONFIG_IMAGE_CRI_PIPE_DEMUXER 1
|
1924 |
+
#define CONFIG_IMAGE_DDS_PIPE_DEMUXER 1
|
1925 |
+
#define CONFIG_IMAGE_DPX_PIPE_DEMUXER 1
|
1926 |
+
#define CONFIG_IMAGE_EXR_PIPE_DEMUXER 1
|
1927 |
+
#define CONFIG_IMAGE_GEM_PIPE_DEMUXER 1
|
1928 |
+
#define CONFIG_IMAGE_GIF_PIPE_DEMUXER 1
|
1929 |
+
#define CONFIG_IMAGE_HDR_PIPE_DEMUXER 1
|
1930 |
+
#define CONFIG_IMAGE_J2K_PIPE_DEMUXER 1
|
1931 |
+
#define CONFIG_IMAGE_JPEG_PIPE_DEMUXER 1
|
1932 |
+
#define CONFIG_IMAGE_JPEGLS_PIPE_DEMUXER 1
|
1933 |
+
#define CONFIG_IMAGE_JPEGXL_PIPE_DEMUXER 1
|
1934 |
+
#define CONFIG_IMAGE_PAM_PIPE_DEMUXER 1
|
1935 |
+
#define CONFIG_IMAGE_PBM_PIPE_DEMUXER 1
|
1936 |
+
#define CONFIG_IMAGE_PCX_PIPE_DEMUXER 1
|
1937 |
+
#define CONFIG_IMAGE_PFM_PIPE_DEMUXER 1
|
1938 |
+
#define CONFIG_IMAGE_PGMYUV_PIPE_DEMUXER 1
|
1939 |
+
#define CONFIG_IMAGE_PGM_PIPE_DEMUXER 1
|
1940 |
+
#define CONFIG_IMAGE_PGX_PIPE_DEMUXER 1
|
1941 |
+
#define CONFIG_IMAGE_PHM_PIPE_DEMUXER 1
|
1942 |
+
#define CONFIG_IMAGE_PHOTOCD_PIPE_DEMUXER 1
|
1943 |
+
#define CONFIG_IMAGE_PICTOR_PIPE_DEMUXER 1
|
1944 |
+
#define CONFIG_IMAGE_PNG_PIPE_DEMUXER 1
|
1945 |
+
#define CONFIG_IMAGE_PPM_PIPE_DEMUXER 1
|
1946 |
+
#define CONFIG_IMAGE_PSD_PIPE_DEMUXER 1
|
1947 |
+
#define CONFIG_IMAGE_QDRAW_PIPE_DEMUXER 1
|
1948 |
+
#define CONFIG_IMAGE_QOI_PIPE_DEMUXER 1
|
1949 |
+
#define CONFIG_IMAGE_SGI_PIPE_DEMUXER 1
|
1950 |
+
#define CONFIG_IMAGE_SVG_PIPE_DEMUXER 1
|
1951 |
+
#define CONFIG_IMAGE_SUNRAST_PIPE_DEMUXER 1
|
1952 |
+
#define CONFIG_IMAGE_TIFF_PIPE_DEMUXER 1
|
1953 |
+
#define CONFIG_IMAGE_VBN_PIPE_DEMUXER 1
|
1954 |
+
#define CONFIG_IMAGE_WEBP_PIPE_DEMUXER 1
|
1955 |
+
#define CONFIG_IMAGE_XBM_PIPE_DEMUXER 1
|
1956 |
+
#define CONFIG_IMAGE_XPM_PIPE_DEMUXER 1
|
1957 |
+
#define CONFIG_IMAGE_XWD_PIPE_DEMUXER 1
|
1958 |
+
#define CONFIG_LIBGME_DEMUXER 0
|
1959 |
+
#define CONFIG_LIBMODPLUG_DEMUXER 0
|
1960 |
+
#define CONFIG_LIBOPENMPT_DEMUXER 0
|
1961 |
+
#define CONFIG_VAPOURSYNTH_DEMUXER 0
|
1962 |
+
#define CONFIG_A64_MUXER 1
|
1963 |
+
#define CONFIG_AC3_MUXER 1
|
1964 |
+
#define CONFIG_AC4_MUXER 1
|
1965 |
+
#define CONFIG_ADTS_MUXER 1
|
1966 |
+
#define CONFIG_ADX_MUXER 1
|
1967 |
+
#define CONFIG_AIFF_MUXER 1
|
1968 |
+
#define CONFIG_ALP_MUXER 1
|
1969 |
+
#define CONFIG_AMR_MUXER 1
|
1970 |
+
#define CONFIG_AMV_MUXER 1
|
1971 |
+
#define CONFIG_APM_MUXER 1
|
1972 |
+
#define CONFIG_APNG_MUXER 1
|
1973 |
+
#define CONFIG_APTX_MUXER 1
|
1974 |
+
#define CONFIG_APTX_HD_MUXER 1
|
1975 |
+
#define CONFIG_ARGO_ASF_MUXER 1
|
1976 |
+
#define CONFIG_ARGO_CVG_MUXER 1
|
1977 |
+
#define CONFIG_ASF_MUXER 1
|
1978 |
+
#define CONFIG_ASS_MUXER 1
|
1979 |
+
#define CONFIG_AST_MUXER 1
|
1980 |
+
#define CONFIG_ASF_STREAM_MUXER 1
|
1981 |
+
#define CONFIG_AU_MUXER 1
|
1982 |
+
#define CONFIG_AVI_MUXER 1
|
1983 |
+
#define CONFIG_AVIF_MUXER 1
|
1984 |
+
#define CONFIG_AVM2_MUXER 1
|
1985 |
+
#define CONFIG_AVS2_MUXER 1
|
1986 |
+
#define CONFIG_AVS3_MUXER 1
|
1987 |
+
#define CONFIG_BIT_MUXER 1
|
1988 |
+
#define CONFIG_CAF_MUXER 1
|
1989 |
+
#define CONFIG_CAVSVIDEO_MUXER 1
|
1990 |
+
#define CONFIG_CODEC2_MUXER 1
|
1991 |
+
#define CONFIG_CODEC2RAW_MUXER 1
|
1992 |
+
#define CONFIG_CRC_MUXER 1
|
1993 |
+
#define CONFIG_DASH_MUXER 1
|
1994 |
+
#define CONFIG_DATA_MUXER 1
|
1995 |
+
#define CONFIG_DAUD_MUXER 1
|
1996 |
+
#define CONFIG_DFPWM_MUXER 1
|
1997 |
+
#define CONFIG_DIRAC_MUXER 1
|
1998 |
+
#define CONFIG_DNXHD_MUXER 1
|
1999 |
+
#define CONFIG_DTS_MUXER 1
|
2000 |
+
#define CONFIG_DV_MUXER 1
|
2001 |
+
#define CONFIG_EAC3_MUXER 1
|
2002 |
+
#define CONFIG_EVC_MUXER 1
|
2003 |
+
#define CONFIG_F4V_MUXER 1
|
2004 |
+
#define CONFIG_FFMETADATA_MUXER 1
|
2005 |
+
#define CONFIG_FIFO_MUXER 1
|
2006 |
+
#define CONFIG_FIFO_TEST_MUXER 1
|
2007 |
+
#define CONFIG_FILMSTRIP_MUXER 1
|
2008 |
+
#define CONFIG_FITS_MUXER 1
|
2009 |
+
#define CONFIG_FLAC_MUXER 1
|
2010 |
+
#define CONFIG_FLV_MUXER 1
|
2011 |
+
#define CONFIG_FRAMECRC_MUXER 1
|
2012 |
+
#define CONFIG_FRAMEHASH_MUXER 1
|
2013 |
+
#define CONFIG_FRAMEMD5_MUXER 1
|
2014 |
+
#define CONFIG_G722_MUXER 1
|
2015 |
+
#define CONFIG_G723_1_MUXER 1
|
2016 |
+
#define CONFIG_G726_MUXER 1
|
2017 |
+
#define CONFIG_G726LE_MUXER 1
|
2018 |
+
#define CONFIG_GIF_MUXER 1
|
2019 |
+
#define CONFIG_GSM_MUXER 1
|
2020 |
+
#define CONFIG_GXF_MUXER 1
|
2021 |
+
#define CONFIG_H261_MUXER 1
|
2022 |
+
#define CONFIG_H263_MUXER 1
|
2023 |
+
#define CONFIG_H264_MUXER 1
|
2024 |
+
#define CONFIG_HASH_MUXER 1
|
2025 |
+
#define CONFIG_HDS_MUXER 1
|
2026 |
+
#define CONFIG_HEVC_MUXER 1
|
2027 |
+
#define CONFIG_HLS_MUXER 1
|
2028 |
+
#define CONFIG_ICO_MUXER 1
|
2029 |
+
#define CONFIG_ILBC_MUXER 1
|
2030 |
+
#define CONFIG_IMAGE2_MUXER 1
|
2031 |
+
#define CONFIG_IMAGE2PIPE_MUXER 1
|
2032 |
+
#define CONFIG_IPOD_MUXER 1
|
2033 |
+
#define CONFIG_IRCAM_MUXER 1
|
2034 |
+
#define CONFIG_ISMV_MUXER 1
|
2035 |
+
#define CONFIG_IVF_MUXER 1
|
2036 |
+
#define CONFIG_JACOSUB_MUXER 1
|
2037 |
+
#define CONFIG_KVAG_MUXER 1
|
2038 |
+
#define CONFIG_LATM_MUXER 1
|
2039 |
+
#define CONFIG_LRC_MUXER 1
|
2040 |
+
#define CONFIG_M4V_MUXER 1
|
2041 |
+
#define CONFIG_MD5_MUXER 1
|
2042 |
+
#define CONFIG_MATROSKA_MUXER 1
|
2043 |
+
#define CONFIG_MATROSKA_AUDIO_MUXER 1
|
2044 |
+
#define CONFIG_MICRODVD_MUXER 1
|
2045 |
+
#define CONFIG_MJPEG_MUXER 1
|
2046 |
+
#define CONFIG_MLP_MUXER 1
|
2047 |
+
#define CONFIG_MMF_MUXER 1
|
2048 |
+
#define CONFIG_MOV_MUXER 1
|
2049 |
+
#define CONFIG_MP2_MUXER 1
|
2050 |
+
#define CONFIG_MP3_MUXER 1
|
2051 |
+
#define CONFIG_MP4_MUXER 1
|
2052 |
+
#define CONFIG_MPEG1SYSTEM_MUXER 1
|
2053 |
+
#define CONFIG_MPEG1VCD_MUXER 1
|
2054 |
+
#define CONFIG_MPEG1VIDEO_MUXER 1
|
2055 |
+
#define CONFIG_MPEG2DVD_MUXER 1
|
2056 |
+
#define CONFIG_MPEG2SVCD_MUXER 1
|
2057 |
+
#define CONFIG_MPEG2VIDEO_MUXER 1
|
2058 |
+
#define CONFIG_MPEG2VOB_MUXER 1
|
2059 |
+
#define CONFIG_MPEGTS_MUXER 1
|
2060 |
+
#define CONFIG_MPJPEG_MUXER 1
|
2061 |
+
#define CONFIG_MXF_MUXER 1
|
2062 |
+
#define CONFIG_MXF_D10_MUXER 1
|
2063 |
+
#define CONFIG_MXF_OPATOM_MUXER 1
|
2064 |
+
#define CONFIG_NULL_MUXER 1
|
2065 |
+
#define CONFIG_NUT_MUXER 1
|
2066 |
+
#define CONFIG_OBU_MUXER 1
|
2067 |
+
#define CONFIG_OGA_MUXER 1
|
2068 |
+
#define CONFIG_OGG_MUXER 1
|
2069 |
+
#define CONFIG_OGV_MUXER 1
|
2070 |
+
#define CONFIG_OMA_MUXER 1
|
2071 |
+
#define CONFIG_OPUS_MUXER 1
|
2072 |
+
#define CONFIG_PCM_ALAW_MUXER 1
|
2073 |
+
#define CONFIG_PCM_MULAW_MUXER 1
|
2074 |
+
#define CONFIG_PCM_VIDC_MUXER 1
|
2075 |
+
#define CONFIG_PCM_F64BE_MUXER 1
|
2076 |
+
#define CONFIG_PCM_F64LE_MUXER 1
|
2077 |
+
#define CONFIG_PCM_F32BE_MUXER 1
|
2078 |
+
#define CONFIG_PCM_F32LE_MUXER 1
|
2079 |
+
#define CONFIG_PCM_S32BE_MUXER 1
|
2080 |
+
#define CONFIG_PCM_S32LE_MUXER 1
|
2081 |
+
#define CONFIG_PCM_S24BE_MUXER 1
|
2082 |
+
#define CONFIG_PCM_S24LE_MUXER 1
|
2083 |
+
#define CONFIG_PCM_S16BE_MUXER 1
|
2084 |
+
#define CONFIG_PCM_S16LE_MUXER 1
|
2085 |
+
#define CONFIG_PCM_S8_MUXER 1
|
2086 |
+
#define CONFIG_PCM_U32BE_MUXER 1
|
2087 |
+
#define CONFIG_PCM_U32LE_MUXER 1
|
2088 |
+
#define CONFIG_PCM_U24BE_MUXER 1
|
2089 |
+
#define CONFIG_PCM_U24LE_MUXER 1
|
2090 |
+
#define CONFIG_PCM_U16BE_MUXER 1
|
2091 |
+
#define CONFIG_PCM_U16LE_MUXER 1
|
2092 |
+
#define CONFIG_PCM_U8_MUXER 1
|
2093 |
+
#define CONFIG_PSP_MUXER 1
|
2094 |
+
#define CONFIG_RAWVIDEO_MUXER 1
|
2095 |
+
#define CONFIG_RM_MUXER 1
|
2096 |
+
#define CONFIG_ROQ_MUXER 1
|
2097 |
+
#define CONFIG_RSO_MUXER 1
|
2098 |
+
#define CONFIG_RTP_MUXER 1
|
2099 |
+
#define CONFIG_RTP_MPEGTS_MUXER 1
|
2100 |
+
#define CONFIG_RTSP_MUXER 1
|
2101 |
+
#define CONFIG_SAP_MUXER 1
|
2102 |
+
#define CONFIG_SBC_MUXER 1
|
2103 |
+
#define CONFIG_SCC_MUXER 1
|
2104 |
+
#define CONFIG_SEGAFILM_MUXER 1
|
2105 |
+
#define CONFIG_SEGMENT_MUXER 1
|
2106 |
+
#define CONFIG_STREAM_SEGMENT_MUXER 1
|
2107 |
+
#define CONFIG_SMJPEG_MUXER 1
|
2108 |
+
#define CONFIG_SMOOTHSTREAMING_MUXER 1
|
2109 |
+
#define CONFIG_SOX_MUXER 1
|
2110 |
+
#define CONFIG_SPX_MUXER 1
|
2111 |
+
#define CONFIG_SPDIF_MUXER 1
|
2112 |
+
#define CONFIG_SRT_MUXER 1
|
2113 |
+
#define CONFIG_STREAMHASH_MUXER 1
|
2114 |
+
#define CONFIG_SUP_MUXER 1
|
2115 |
+
#define CONFIG_SWF_MUXER 1
|
2116 |
+
#define CONFIG_TEE_MUXER 1
|
2117 |
+
#define CONFIG_TG2_MUXER 1
|
2118 |
+
#define CONFIG_TGP_MUXER 1
|
2119 |
+
#define CONFIG_MKVTIMESTAMP_V2_MUXER 1
|
2120 |
+
#define CONFIG_TRUEHD_MUXER 1
|
2121 |
+
#define CONFIG_TTA_MUXER 1
|
2122 |
+
#define CONFIG_TTML_MUXER 1
|
2123 |
+
#define CONFIG_UNCODEDFRAMECRC_MUXER 1
|
2124 |
+
#define CONFIG_VC1_MUXER 1
|
2125 |
+
#define CONFIG_VC1T_MUXER 1
|
2126 |
+
#define CONFIG_VOC_MUXER 1
|
2127 |
+
#define CONFIG_VVC_MUXER 1
|
2128 |
+
#define CONFIG_W64_MUXER 1
|
2129 |
+
#define CONFIG_WAV_MUXER 1
|
2130 |
+
#define CONFIG_WEBM_MUXER 1
|
2131 |
+
#define CONFIG_WEBM_DASH_MANIFEST_MUXER 1
|
2132 |
+
#define CONFIG_WEBM_CHUNK_MUXER 1
|
2133 |
+
#define CONFIG_WEBP_MUXER 1
|
2134 |
+
#define CONFIG_WEBVTT_MUXER 1
|
2135 |
+
#define CONFIG_WSAUD_MUXER 1
|
2136 |
+
#define CONFIG_WTV_MUXER 1
|
2137 |
+
#define CONFIG_WV_MUXER 1
|
2138 |
+
#define CONFIG_YUV4MPEGPIPE_MUXER 1
|
2139 |
+
#define CONFIG_CHROMAPRINT_MUXER 0
|
2140 |
+
#define CONFIG_ASYNC_PROTOCOL 1
|
2141 |
+
#define CONFIG_BLURAY_PROTOCOL 0
|
2142 |
+
#define CONFIG_CACHE_PROTOCOL 1
|
2143 |
+
#define CONFIG_CONCAT_PROTOCOL 1
|
2144 |
+
#define CONFIG_CONCATF_PROTOCOL 1
|
2145 |
+
#define CONFIG_CRYPTO_PROTOCOL 1
|
2146 |
+
#define CONFIG_DATA_PROTOCOL 1
|
2147 |
+
#define CONFIG_FD_PROTOCOL 1
|
2148 |
+
#define CONFIG_FFRTMPCRYPT_PROTOCOL 0
|
2149 |
+
#define CONFIG_FFRTMPHTTP_PROTOCOL 1
|
2150 |
+
#define CONFIG_FILE_PROTOCOL 1
|
2151 |
+
#define CONFIG_FTP_PROTOCOL 1
|
2152 |
+
#define CONFIG_GOPHER_PROTOCOL 1
|
2153 |
+
#define CONFIG_GOPHERS_PROTOCOL 0
|
2154 |
+
#define CONFIG_HLS_PROTOCOL 1
|
2155 |
+
#define CONFIG_HTTP_PROTOCOL 1
|
2156 |
+
#define CONFIG_HTTPPROXY_PROTOCOL 1
|
2157 |
+
#define CONFIG_HTTPS_PROTOCOL 0
|
2158 |
+
#define CONFIG_ICECAST_PROTOCOL 1
|
2159 |
+
#define CONFIG_MMSH_PROTOCOL 1
|
2160 |
+
#define CONFIG_MMST_PROTOCOL 1
|
2161 |
+
#define CONFIG_MD5_PROTOCOL 1
|
2162 |
+
#define CONFIG_PIPE_PROTOCOL 1
|
2163 |
+
#define CONFIG_PROMPEG_PROTOCOL 1
|
2164 |
+
#define CONFIG_RTMP_PROTOCOL 1
|
2165 |
+
#define CONFIG_RTMPE_PROTOCOL 0
|
2166 |
+
#define CONFIG_RTMPS_PROTOCOL 0
|
2167 |
+
#define CONFIG_RTMPT_PROTOCOL 1
|
2168 |
+
#define CONFIG_RTMPTE_PROTOCOL 0
|
2169 |
+
#define CONFIG_RTMPTS_PROTOCOL 0
|
2170 |
+
#define CONFIG_RTP_PROTOCOL 1
|
2171 |
+
#define CONFIG_SCTP_PROTOCOL 0
|
2172 |
+
#define CONFIG_SRTP_PROTOCOL 1
|
2173 |
+
#define CONFIG_SUBFILE_PROTOCOL 1
|
2174 |
+
#define CONFIG_TEE_PROTOCOL 1
|
2175 |
+
#define CONFIG_TCP_PROTOCOL 1
|
2176 |
+
#define CONFIG_TLS_PROTOCOL 0
|
2177 |
+
#define CONFIG_UDP_PROTOCOL 1
|
2178 |
+
#define CONFIG_UDPLITE_PROTOCOL 1
|
2179 |
+
#define CONFIG_UNIX_PROTOCOL 1
|
2180 |
+
#define CONFIG_LIBAMQP_PROTOCOL 0
|
2181 |
+
#define CONFIG_LIBRIST_PROTOCOL 0
|
2182 |
+
#define CONFIG_LIBRTMP_PROTOCOL 0
|
2183 |
+
#define CONFIG_LIBRTMPE_PROTOCOL 0
|
2184 |
+
#define CONFIG_LIBRTMPS_PROTOCOL 0
|
2185 |
+
#define CONFIG_LIBRTMPT_PROTOCOL 0
|
2186 |
+
#define CONFIG_LIBRTMPTE_PROTOCOL 0
|
2187 |
+
#define CONFIG_LIBSRT_PROTOCOL 0
|
2188 |
+
#define CONFIG_LIBSSH_PROTOCOL 0
|
2189 |
+
#define CONFIG_LIBSMBCLIENT_PROTOCOL 0
|
2190 |
+
#define CONFIG_LIBZMQ_PROTOCOL 0
|
2191 |
+
#define CONFIG_IPFS_GATEWAY_PROTOCOL 0
|
2192 |
+
#define CONFIG_IPNS_GATEWAY_PROTOCOL 0
|
2193 |
+
#endif /* FFMPEG_CONFIG_COMPONENTS_H */
|
configure
ADDED
The diff for this file is too large to render.
See raw diff
|
|
doc/.gitignore
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*.1
|
2 |
+
/*.3
|
3 |
+
/*.html
|
4 |
+
/*.pod
|
5 |
+
/config.texi
|
6 |
+
/avoptions_codec.texi
|
7 |
+
/avoptions_format.texi
|
8 |
+
/fate.txt
|
9 |
+
/print_options
|
doc/APIchanges
ADDED
The diff for this file is too large to render.
See raw diff
|
|