Skip to content

Commit af2215f

Browse files
committed
update 1.24.0
1 parent ae60f20 commit af2215f

File tree

5,420 files changed

+410967
-78684
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

5,420 files changed

+410967
-78684
lines changed

ffmpeg/JNI/Application.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
NDK_TOOLCHAIN_VERSION := 4.9
1+
NDK_TOOLCHAIN_VERSION := clang
22

33
APP_STL := c++_shared
44

ffmpeg/JNI/build-ffmpeg.sh

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,3 @@ cd ..
4646
if test "$?" != 0; then
4747
die "ERROR: failed to build ffmpeg for $1"
4848
fi
49-
50-
. copy_to_$1.sh ffmpeg.mx
51-
52-

ffmpeg/JNI/config-ffmpeg.sh

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,8 @@ INC_ICONV=../modified_src/iconv
161161
INC_MODPLUG=../libmodplug/src
162162
INC_LIBMXL2=../libxml2/include
163163
INC_LIBSMB2=../libsmb2/include
164-
164+
INC_MXV=../modified_src/mxv
165+
INC_LIBDAV1D=../dav1d/include
165166

166167
TOOLCHAIN=$NDK/toolchains/llvm/prebuilt/$HOST_PLATFORM
167168
if [ $ARCH == 'arm64' ]
@@ -478,6 +479,7 @@ FF_OUTDEP="\
478479
--enable-zlib \
479480
--enable-libxml2 \
480481
--enable-libsmb2 \
482+
--enable-libdav1d\
481483
"
482484
#configure compiler,ld and relevant parameters
483485
FFCOMPILER="\
@@ -494,7 +496,7 @@ FFCOMPILER="\
494496
$EXTRA_PARAMETERS \
495497
"
496498

497-
EXTRA_CFLAGS+=" -I$INC_ICONV -idirafter$INC_ZVBI -I$INC_OPENSSL -I$INC_OPUS -I$INC_SPEEX -I$INC_MODPLUG -I$INC_LIBMXL2 -I$INC_LIBSMB2 -DNDEBUG -DMXTECHS -DFF_API_AVPICTURE=1 -ftree-vectorize -ffunction-sections -funwind-tables -fomit-frame-pointer -no-canonical-prefixes -pipe"
499+
EXTRA_CFLAGS+=" -I$INC_ICONV -idirafter$INC_ZVBI -I$INC_OPENSSL -I$INC_OPUS -I$INC_SPEEX -I$INC_MODPLUG -I$INC_LIBMXL2 -I$INC_LIBSMB2 -I$INC_LIBDAV1D -I$INC_MXV -DNDEBUG -DMXTECHS -DFF_API_AVPICTURE=1 -ftree-vectorize -ffunction-sections -funwind-tables -fomit-frame-pointer -no-canonical-prefixes -pipe"
498500
EXTRA_LIBS="-L$LIB_MX -lmxutil -lm -lc++_shared"
499501

500502
# Don't ask me why i need bash here when its already #!/bin/bash. This fixes ffmpeg ./configure: 1283: shift: can't shift that many

ffmpeg/JNI/dav1d/CONTRIBUTING.md

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
# dav1d contribution guide
2+
3+
## CoC
4+
The [VideoLAN Code of Conduct](https://wiki.videolan.org/CoC) applies fully to this project.
5+
6+
## ToDo
7+
8+
The todo list can be found [on the wiki](https://code.videolan.org/videolan/dav1d/wikis/task-list).
9+
10+
## Codebase language
11+
12+
The codebase is developed with the following assumptions:
13+
14+
For the library:
15+
- C language with C99 version, without the VLA or the Complex (*\_\_STDC_NO_COMPLEX__*) features, and without compiler extension,
16+
- x86 asm in .asm files, using the NASM syntax,
17+
- arm/arm64 in .S files, using the GAS syntax limited to subset llvm 5.0's internal assembler supports,
18+
- no C++ is allowed, whatever the version.
19+
20+
For the tools and utils:
21+
- C *(see above for restrictions)*
22+
- Rust
23+
- C++ is only allowed for the MFT.
24+
25+
If you want to use *Threads* or *Atomic* features, please conform to the **C11**/**POSIX** semantic and use a wrapper for older compilers/platforms *(like done in VLC)*.
26+
27+
Please use modern standard POSIX functions *(strscpy, asprintf, tdestroy)*, and provide a compatibility fallback *(like done in VLC)*.
28+
29+
We will make reasonable efforts for compilers that are a bit older, but we won't support gcc 3 or MSVC 2012.
30+
31+
## Authorship
32+
33+
Please provide a correct authorship for your commit logs, with a name and a valid email.
34+
35+
We will reject anonymous contributions for now. As an exception, known pseudonyms from the multimedia community are accepted.
36+
37+
This project is respecting **Copyright** and **Droit d'auteur**. There is no copyright attribution or CLA.
38+
39+
## Commit logs
40+
41+
Please read [How to Write a Git Commit Message](https://chris.beams.io/posts/git-commit/).
42+
43+
## Submit requests (WIP)
44+
45+
- Code,
46+
- [Compile](https://xkcd.com/303/),
47+
- Check your [code style](https://code.videolan.org/videolan/dav1d/wikis/Coding-style),
48+
- Test,
49+
- Try,
50+
- Submit patches through merge requests,
51+
- Check that this passes the CI.
52+
53+
## Patent license
54+
55+
You need to read, understand, and agree to the [AV1 patents license](doc/PATENTS), before committing.
56+

ffmpeg/JNI/dav1d/COPYING

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
Copyright © 2018-2019, VideoLAN and dav1d authors
2+
All rights reserved.
3+
4+
Redistribution and use in source and binary forms, with or without
5+
modification, are permitted provided that the following conditions are met:
6+
7+
1. Redistributions of source code must retain the above copyright notice, this
8+
list of conditions and the following disclaimer.
9+
10+
2. Redistributions in binary form must reproduce the above copyright notice,
11+
this list of conditions and the following disclaimer in the documentation
12+
and/or other materials provided with the distribution.
13+
14+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
15+
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
16+
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
17+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
18+
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
19+
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
20+
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
21+
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22+
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
23+
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

ffmpeg/JNI/dav1d/NEWS

Lines changed: 146 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,146 @@
1+
Changes for 0.6.0 'Gyrfalcon':
2+
------------------------------
3+
4+
0.6.0 is a major release for dav1d:
5+
- New ARM64 optimizations for the 10/12bit depth:
6+
- mc_avg, mc_w_avg, mc_mask
7+
- mc_put/mc_prep 8tap/bilin
8+
- mc_warp_8x8
9+
- mc_w_mask
10+
- mc_blend
11+
- wiener
12+
- SGR
13+
- loopfilter
14+
- cdef
15+
- New AVX-512 optimizations for prep_bilin, prep_8tap, cdef_filter, mc_avg/w_avg/mask
16+
- New SSSE3 optimizations for film grain
17+
- New AVX2 optimizations for msac_adapt16
18+
- Fix rare mismatches against the reference decoder, notably because of clipping
19+
- Improvements on ARM64 on msac, cdef and looprestoration optimizations
20+
- Improvements on AVX2 optimizations for cdef_filter
21+
- Improvements in the C version for itxfm, cdef_filter
22+
23+
24+
Changes for 0.5.2 'Asiatic Cheetah':
25+
------------------------------------
26+
27+
0.5.2 is a small release improving speed for ARM32 and adding minor features:
28+
- ARM32 optimizations for loopfilter, ipred_dc|h|v
29+
- Add section-5 raw OBU demuxer
30+
- Improve the speed by reducing the L2 cache collisions
31+
- Fix minor issues
32+
33+
34+
Changes for 0.5.1 'Asiatic Cheetah':
35+
------------------------------------
36+
37+
0.5.1 is a small release improving speeds and fixing minor issues
38+
compared to 0.5.0:
39+
- SSE2 optimizations for CDEF, wiener and warp_affine
40+
- NEON optimizations for SGR on ARM32
41+
- Fix mismatch issue in x86 asm in inverse identity transforms
42+
- Fix build issue in ARM64 assembly if debug info was enabled
43+
- Add a workaround for Xcode 11 -fstack-check bug
44+
45+
46+
Changes for 0.5.0 'Asiatic Cheetah':
47+
------------------------------------
48+
49+
0.5.0 is a medium release fixing regressions and minor issues,
50+
and improving speed significantly:
51+
- Export ITU T.35 metadata
52+
- Speed improvements on blend_ on ARM
53+
- Speed improvements on decode_coef and MSAC
54+
- NEON optimizations for blend*, w_mask_, ipred functions for ARM64
55+
- NEON optimizations for CDEF and warp on ARM32
56+
- SSE2 optimizations for MSAC hi_tok decoding
57+
- SSSE3 optimizations for deblocking loopfilters and warp_affine
58+
- AVX2 optimizations for film grain and ipred_z2
59+
- SSE4 optimizations for warp_affine
60+
- VSX optimizations for wiener
61+
- Fix inverse transform overflows in x86 and NEON asm
62+
- Fix integer overflows with large frames
63+
- Improve film grain generation to match reference code
64+
- Improve compatibility with older binutils for ARM
65+
- More advanced Player example in tools
66+
67+
68+
Changes for 0.4.0 'Cheetah':
69+
----------------------------
70+
71+
- Fix playback with unknown OBUs
72+
- Add an option to limit the maximum frame size
73+
- SSE2 and ARM64 optimizations for MSAC
74+
- Improve speed on 32bits systems
75+
- Optimization in obmc blend
76+
- Reduce RAM usage significantly
77+
- The initial PPC SIMD code, cdef_filter
78+
- NEON optimizations for blend functions on ARM
79+
- NEON optimizations for w_mask functions on ARM
80+
- NEON optimizations for inverse transforms on ARM64
81+
- VSX optimizations for CDEF filter
82+
- Improve handling of malloc failures
83+
- Simple Player example in tools
84+
85+
86+
Changes for 0.3.1 'Sailfish':
87+
------------------------------
88+
89+
- Fix a buffer overflow in frame-threading mode on SSSE3 CPUs
90+
- Reduce binary size, notably on Windows
91+
- SSSE3 optimizations for ipred_filter
92+
- ARM optimizations for MSAC
93+
94+
95+
Changes for 0.3.0 'Sailfish':
96+
------------------------------
97+
98+
This is the final release for the numerous speed improvements of 0.3.0-rc.
99+
It mostly:
100+
- Fixes an annoying crash on SSSE3 that happened in the itx functions
101+
102+
103+
Changes for 0.2.2 (0.3.0-rc) 'Antelope':
104+
-----------------------------
105+
106+
- Large improvement on MSAC decoding with SSE, bringing 4-6% speed increase
107+
The impact is important on SSSE3, SSE4 and AVX2 cpus
108+
- SSSE3 optimizations for all blocks size in itx
109+
- SSSE3 optimizations for ipred_paeth and ipred_cfl (420, 422 and 444)
110+
- Speed improvements on CDEF for SSE4 CPUs
111+
- NEON optimizations for SGR and loop filter
112+
- Minor crashes, improvements and build changes
113+
114+
115+
Changes for 0.2.1 'Antelope':
116+
----------------------------
117+
118+
- SSSE3 optimization for cdef_dir
119+
- AVX2 improvements of the existing CDEF optimizations
120+
- NEON improvements of the existing CDEF and wiener optimizations
121+
- Clarification about the numbering/versionning scheme
122+
123+
124+
Changes for 0.2.0 'Antelope':
125+
----------------------------
126+
127+
- ARM64 and ARM optimizations using NEON instructions
128+
- SSSE3 optimizations for both 32 and 64bits
129+
- More AVX2 assembly, reaching almost completion
130+
- Fix installation of includes
131+
- Rewrite inverse transforms to avoid overflows
132+
- Snap packaging for Linux
133+
- Updated API (ABI and API break)
134+
- Fixes for un-decodable samples
135+
136+
137+
Changes for 0.1.0 'Gazelle':
138+
----------------------------
139+
140+
Initial release of dav1d, the fast and small AV1 decoder.
141+
- Support for all features of the AV1 bitstream
142+
- Support for all bitdepth, 8, 10 and 12bits
143+
- Support for all chroma subsamplings 4:2:0, 4:2:2, 4:4:4 *and* grayscale
144+
- Full acceleration for AVX2 64bits processors, making it the fastest decoder
145+
- Partial acceleration for SSSE3 processors
146+
- Partial acceleration for NEON processors

0 commit comments

Comments
 (0)