cdef: Improve cdef_filter_block_8x8_{8,16}.
[aom.git] / CHANGELOG
blobbf8659cc7df9405af90f89cd55ad29dfec2df8b2
1 2021-10-13 v3.2.0
2   This release includes compression efficiency and perceptual quality
3   improvements, speedup and memory optimizations, as well as some new
4   features.
6   - New Features
7     * Introduced speeds 7, 8, and 9 for all intra mode.
8     * Introduced speed 10 for real time mode.
9     * Introduced an API that allows external partition decisions.
10     * SVC: added support for compound prediction.
11     * SVC: added support for fixed SVC modes.
13   - Compression Efficiency Improvements
14     * Intra-mode search improvement.
15     * Improved real time (RT) mode BDrate savings by ~5% (RT speed 5)
16       and ~12% (RT speed 6). The improvement was measured on the video
17       conference set.
18     * Improved real time mode for nonrd path (speed 7, 8, 9): BDrate
19       gains of ~3-5%.
20     * Rate control and RD adjustments based on ML research in VP9.
21       Gains of ~0.5-1.0% for HD.
23   - Perceptual Quality Improvements
24     * Added a new mode --deltaq-mode=3 to improve perceptual quality
25       based on a differential contrast model for still images.
26     * Added a new mode –deltaq-mode=4 to improve perceptual quality
27       based on user rated cq_level data set for still images.
28     * Weighting of some intra mode and partition size choices to better
29       manage and retain texture.
31   - Speedup and Memory Optimizations
32     * Further improved 2-pass good quality encoder speed:
33       o Speed 2 speedup: 18%
34       o Speed 3 speedup: 22%
35       o Speed 4 speedup: 37%
36       o Speed 5 speedup: 30%
37       o Speed 6 speedup: 20%
38     * Optimized the real time encoder (measured on the video conference
39       set):
40       o RT speed 5 speedup: 110%
41       o RT speed 6 speedup: 77%
43   - Bug Fixes
44     * Issue 3069: Fix one-pass mode keyframe placement off-by-one error.
45     * Issue 3156: Fix a bug in av1_quantize_lp AVX2 optimization.
47 2021-09-29 v3.1.3
48   This release includes several bug fixes.
50   - Bug fixes:
51     The following four cmake changes should help the people building
52     libaom using MSVC.
53       1. exports: use CMAKE_SHARED_LIBRARY_PREFIX to determine lib name
54          https://aomedia-review.googlesource.com/c/aom/+/142342
55       2. aom_install: Install lib dlls to bindir
56          https://aomedia-review.googlesource.com/c/aom/+/146546
57       3. aom_install: use relpath for install
58          https://aomedia-review.googlesource.com/c/aom/+/146550
59       4. aom_install: don't exclude msvc from install
60          https://aomedia-review.googlesource.com/c/aom/+/146547
62     aom/aom_encoder.h: remove configure option reference
63     https://aomedia-review.googlesource.com/c/aom/+/146743
65     Issue 3113: Tests for detecting chroma subsampling in
66     av1_copy_and_extend_frame() do not work when y_width or y_height is
67     1
69     Issue 3115: image2yuvconfig() should calculate uv_crop_width and
70     uv_crop_height from y_crop_width and y_crop_height
72     Issue 3140: rc_overshoot_pct is documented as having a range of
73     0-1000, but is range checked against 0-100
75     Issue 3147: Build failure on Apple M1 arm64
77 2021-07-20 v3.1.2
78   This release includes several bug fixes.
80   - Bug fixes:
81     exports.cmake: use APPLE and WIN32 and use def for mingw-w64
82     https://aomedia-review.googlesource.com/c/aom/+/139882
84     Issue 2993: Incorrect spatial_id when decoding base layer of
85     multi-layer stream
87     Issue 3080: Chroma Resampling by Encoder on Y4M Inputs Files Tagged
88     as C420mpeg2
90     Issue 3081: Use of uninitialized value $version_extra in
91     concatenation (.) or string at aom/build/cmake/version.pl line 88.
93 2021-06-08 v3.1.1
94   This release includes several bug fixes.
96   - Bug fixes:
97     Issue 2965: Cherry-picked the following four commits for the
98     tune=butteraugli mode.
99       1. Add libjxl to pkg_config if enabled:
100          https://aomedia-review.googlesource.com/c/aom/+/136044
101       2. Declare set_mb_butteraugli_rdmult_scaling static:
102          https://aomedia-review.googlesource.com/c/aom/+/134506
103       3. Add color range detection in tune=butteraugli mode:
104          https://aomedia-review.googlesource.com/c/aom/+/135521
105       4. Enable tune=butteraugli in all-intra mode:
106          https://aomedia-review.googlesource.com/c/aom/+/136082
108     Issue 3021: Fix vmaf model initialization error when not set to
109     tune=vmaf
111     Issue 3050: Compilation fails with -DCONFIG_TUNE_VMAF=1
113     Issue 3054: Consistent crash on near-static screen content, keyframe
114     related
116 2021-05-03 v3.1.0
117   This release adds an "all intra" mode to the encoder, which significantly
118   speeds up the encoding of AVIF still images at speed 6.
120   - Upgrading:
121     All intra mode for encoding AVIF still images and AV1 all intra videos:
122     AOM_USAGE_ALL_INTRA (2) can be passed as the 'usage' argument to
123     aom_codec_enc_config_default().
125     New encoder control IDs added:
126       - AV1E_SET_ENABLE_DIAGONAL_INTRA: Enable diagonal (D45 to D203) intra
127         prediction modes (0: false, 1: true (default)). Also available as
128         "enable-diagonal-intra" for the aom_codec_set_option() function.
130     New aom_tune_metric enum value: AOM_TUNE_BUTTERAUGLI. The new aomenc option
131     --tune=butteraugli was added to optimize the encoder’s perceptual quality by
132     optimizing the Butteraugli metric. Install libjxl (JPEG XL) and then pass
133     -DCONFIG_TUNE_BUTTERAUGLI=1 to the cmake command to enable it.
135     Addition of support for libvmaf 2.x.
137   - Enhancements:
138     Heap memory consumption for encoding AVIF still images is significantly
139     reduced.
141   - Bug fixes:
142     Issue 2601: third_party/libaom fails licensecheck
144     Issue 2950: Conditional expression for rc->this_key_frame_forced is always
145     true in find_next_key_frame()
147     Issue 2988: "make install" installs the aom.h header twice
149     Issue 2992: Incorrectly printing the temporal_id twice in dump_obu tool
151     Issue 2998:
153     Issue 2999:
155     Issue 3000:
157 2021-02-24 v3.0.0
158   This release includes compression efficiency improvement, speed improvement
159   for realtime mode, as well as some new APIs.
161   - Upgrading:
162     Support for PSNR calculation based on stream bit-depth.
164     New encoder control IDs added:
165       - AV1E_SET_ENABLE_RECT_TX
166       - AV1E_SET_VBR_CORPUS_COMPLEXITY_LAP
167       - AV1E_GET_BASELINE_GF_INTERVAL
168       - AV1E_SET_ENABLE_DNL_DENOISING
170     New decoder control IDs added:
171       - AOMD_GET_FWD_KF_PRESENT
172       - AOMD_GET_FRAME_FLAGS
173       - AOMD_GET_ALTREF_PRESENT
174       - AOMD_GET_TILE_INFO
175       - AOMD_GET_SCREEN_CONTENT_TOOLS_INFO
176       - AOMD_GET_STILL_PICTURE
177       - AOMD_GET_SB_SIZE
178       - AOMD_GET_SHOW_EXISTING_FRAME_FLAG
179       - AOMD_GET_S_FRAME_INFO
181     New aom_tune_content enum value: AOM_CONTENT_FILM
183     New aom_tune_metric enum value: AOM_TUNE_VMAF_NEG_MAX_GAIN
185     Coefficient and mode update can be turned off via
186     AV1E_SET_{COEFF/MODE}_COST_UPD_FREQ.
188     New key & value API added, available with aom_codec_set_option() function.
190     Scaling API expanded to include 1/4, 3/4 and 1/8.
192   - Enhancements:
193     Better multithreading performance with realtime mode.
195     New speed 9 setting for faster realtime encoding.
197     Smaller binary size with low bitdepth and realtime only build.
199     Temporal denoiser and its optimizations on x86 and Neon.
201     Optimizations for scaling.
203     Faster encoding with speed settings 2 to 6 for good encoding mode.
205     Improved documentation throughout the library, with function level
206     documentation, tree view and support for the dot tool.
208   - Bug fixes:
209     Aside from those mentioned in v2.0.1 and v2.0.2, this release includes the
210     following bug fixes:
212     Issue 2940: Segfault when encoding with --use-16bit-internal and --limit > 1
214     Issue 2941: Decoder mismatch with --rt --bit-depth=10 and --cpu-used=8
216     Issue 2895: mingw-w64 i686 gcc fails to build
218     Issue 2874: Separate ssse3 functions from sse2 file.
220 2021-02-09 v2.0.2
221   This release includes several bug fixes.
223   - Bug fixes:
224     Issue 2643: Modify the assertion in temporal filter intrinsics.
226     Issue 2648: Fix unit test ThreadTestLarge.EncoderResultTest/49
227     assertion failure.
229     Issue 2869: Add -Wimplicit-function-declaration as C flag only.
231     Issue 2878: Avoid memset in the av1_filter_intra_predictor module
232     functions.
234     Issue 2903: Fix a typo bug in apply_temporal_filter_planewise.
236     Call av1_setup_frame_size() when dropping a frame in the
237     encode_frame_to_data_rate() function in av1/encoder/encoder.c.
239 2020-11-25 v2.0.1
240   This release includes two bug fixes.
242   - Bug fixes:
243     Issue 2723: Fix crash in chroma_check() when generating a monochrome
244     encoded stream in real-time mode.
246     Issue 2833: Fix crash on some input when reduced still picture header is
247     used in real-time mode and speed >=7.
249 2020-05-07 v2.0.0 "Applejack"
250   First official release of libaom.
251   This release includes new real-time mode and SVC support.
253   - Upgrading:
254     AOM_SET_POSTPROC, AOM_CODEC_CAP_POSTPROC and AOM_CODEC_USE_POSTPROC are
255     removed.
257     AOM_SET_DBG_* is removed.
259     Multi-resolution encoding is removed.
261     put_frame and put_slice callbacks are removed.
263   - Enhancements:
264     Full-sweep document update for codec controls.
266 2018-06-28 v1.0.0
267   AOMedia Codec Workgroup Approved version 1.0
269 2016-04-07 v0.1.0 "AOMedia Codec 1"
270   This release is the first Alliance for Open Media codec.