CHANGELOG 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768
  1. 2023-11-17 v3.7.1
  2. This release includes several bug fixes. This release is ABI
  3. compatible with the last release. See
  4. https://aomedia.googlesource.com/aom/+log/v3.7.0..v3.7.1 for all the
  5. commits in this release.
  6. - Bug Fixes
  7. * aomedia:3349: heap overflow when increasing resolution
  8. * aomedia:3478: GCC 12.2.0 emits a -Wstringop-overflow warning on
  9. aom/av1/encoder/motion_search_facade.c
  10. * aomedia:3489: Detect encoder and image high bit depth mismatch
  11. * aomedia:3491: heap-buffer-overflow on frame size change
  12. * b/303023614: Segfault at encoding time for high bit depth images
  13. 2023-08-10 v3.7.0
  14. This release includes new codec interfaces, compression efficiency and
  15. perceptual improvements, speedup and memory optimizations and many bug fixes.
  16. This release is ABI compatible with the last release.
  17. - New Features
  18. * New codec controls:
  19. * AV1E_SET_QUANTIZER_ONE_PASS: Set quantizer for each frame.
  20. * AV1E_ENABLE_RATE_GUIDE_DELTAQ: enable the rate distribution guided delta
  21. quantization in all intra mode. The "enable-rate-guide-deltaq" option is
  22. added for this control.
  23. * AV1E_SET_RATE_DISTRIBUTION_INFO: set the input file for rate
  24. distribution used in all intra mode. The "rate-distribution-info" option
  25. is added for this control.
  26. * AV1E_GET_LUMA_CDEF_STRENGTH
  27. * AV1E_SET_BITRATE_ONE_PASS_CBR
  28. * AOM_SCALING_MODE is extended to include 2/3 and 1/3 scaling.
  29. * aom_tune_metric is extended to include AOM_TUNE_VMAF_SALIENCY_MAP.
  30. The "tune" option is extended to include "vmaf_saliency_map".
  31. * SVC example encoder svc_encoder_rtc is able to use the rate control
  32. library.
  33. * Loopfilter level and CDEF filter level is supported by RTC rate control
  34. library.
  35. * New speed (--cpu-used) 11, intended for RTC screen sharing, added for
  36. faster encoding with ~3% bdrate loss with 16% IC (instruction count)
  37. speedup compared to speed 10.
  38. - Compression Efficiency Improvements
  39. * Improved VoD encoding performance
  40. * 0.1-0.6% BDrate gains for encoding speeds 2 to 6
  41. * Rate control accuracy improvement in VBR mode
  42. * RTC encoding improvements
  43. * Screen content mode: 10-19% BDrate gains for speeds 6 - 10
  44. * Temporal layers video mode, for speed 10:
  45. * 2 temporal layers on low resolutions: 13-15% BDrate gain
  46. * 3 temporal layers on VGA/HD: 3-4% BDrate gain
  47. - Perceptual Quality Improvements
  48. * Fixed multiple block and color artifacts for RTC screen content by
  49. * Incorporating color into RD cost for IDTX
  50. * Reducing thresholds for palette mode in non RD mode
  51. * Allowing more palette mode testing
  52. * Improved color sensitivity for altref in non-RD mode.
  53. * Reduced video flickering for temporal layer encoding.
  54. - Speedup and Memory Optimizations
  55. * Speed up the VoD encoder
  56. * 2-5% for encoding speed 2 to 4
  57. * 9-15% for encoding speed 5 to 6
  58. * ARM
  59. * Standard bitdepth
  60. * speed 5: +31%
  61. * speed 4: +2%
  62. * speed 3: +9%
  63. * speed 2: +157%
  64. * High bitdepth
  65. * speed 5: +85%
  66. * RTC speedups
  67. * Screen content mode
  68. * 15% IC speedup for speeds 6-8
  69. * ARM: 7% for speed 9, 3% for speed 10
  70. * Temporal layers video mode
  71. * 7% speedup for 3 temporal layers on VGA/HD, for speed 10
  72. * Single layer video
  73. * x86: 2% IC speedup for speeds 7-10
  74. * ARM: 2-4% speedup across speeds 5-10
  75. - Other improvements
  76. * VoD: Major improvements to global motion estimation, now enabled up to
  77. speed 4
  78. * RTC
  79. * Fixes to make lossless coding work.
  80. * Fixes to make frame dropper (--drop_frames) work for single and temporal
  81. layers.
  82. * Improvements to RPS (reference picture selection) recovery frames.
  83. * Improvements to rate control for temporal layers.
  84. * libwebm is updated to libwebm-1.0.0.29-9-g1930e3c
  85. - Bug Fixes
  86. * aomedia:3261 Assertion failed when encoding av1 with film grain and
  87. '--monochrome' flag
  88. * aomedia:3276 ensure all allocations are checked (partial fix)
  89. * aomedia:3451 The libaom library calls exit()
  90. * aomedia:3450 enable -Wshadow for C++ sources
  91. * aomedia:3449 Test Seg Faults After
  92. b459af3e345be402db052a143fcc5383d4b74cbd
  93. * aomedia:3416 prune unused symbols / restrict symbol visibility
  94. * aomedia:3443 Jenkins failure:
  95. UninstantiatedParameterizedTestSuite<EstimateNoiseTest>
  96. * aomedia:3434 realtime failures with CONFIG_BITSTREAM_DEBUG=1
  97. * aomedia:3433 DeltaqModeTest crash w/row_mt=0
  98. * aomedia:3429 Encoder crash when turn on both ExternalResize and
  99. g_threads > 2
  100. * aomedia:3438 Build failure with
  101. `-DSANITIZE=address -DBUILD_SHARED_LIBS=ON` when using clang.
  102. * aomedia:3435 Block artifacts when scrolling with AV1 in screen sharing
  103. scenarios
  104. * aomedia:3170 vmaf tune presets produce extreme glitches in one scene
  105. * aomedia:3401 Building shared libaom with MSVC results in a race condition
  106. with the export library
  107. * aomedia:3420 Floating point exception in av1_tpl_get_frame_importance()
  108. * aomedia:3424 heap-buffer-overflow in ScaleFilterCols_16_C() (SIGABRT)
  109. * aomedia:3417 examples/svc_encoder_rtc.c is using internal macros and
  110. functions
  111. * aomedia:3372 SEGV in assign_frame_buffer_p av1_common_int.h
  112. * aomedia:3130 'cpu-features.h' file not found on Android NDK 22
  113. * aomedia:3415 Encoder/decoder mismatch for svc_encoder_rtc running
  114. 1 SL 3 TL
  115. * aomedia:3412 Lossless Mode Fails Loopback Bit Test
  116. * aomedia:3409 The use of AV1_VAR_OFFS in av1/encoder/var_based_part.c is
  117. incorrect for high bit depths
  118. * aomedia:3403 test_libaom fails with error message
  119. "feenableexcept() failed" on Linux arm
  120. * aomedia:3370 Random color block at fast motion area
  121. * aomedia:3393 Assertion failure in av1_convolve_2d_sr_c()
  122. * aomedia:3392 Strong artifacting for high bit-depth real-time
  123. * aomedia:3376 aomenc --threads=10 --deltaq-mode=3 crashes after
  124. "Allintra: multi-threading of calculating differential contrast"
  125. * aomedia:3380 Crashes and ASan and TSan errors in deltaq-mode=3
  126. multithreading code
  127. * chromium:1410766 heap-buffer-overflow in aom_yv12_copy_v_c
  128. * Cannot set level via AV1E_SET_TARGET_SEQ_LEVEL_IDX
  129. * Encoding failure due to the use of loop restoration with unintended use of
  130. lossless mode.
  131. * Signed integer overflow in scan_past_frames
  132. * Signed integer overflow in update_a_sep_sym
  133. * Flickering in AV1 1440p/2160p HDR transcodes
  134. * Fixed artifacts with screen share at encoder speed 10
  135. * Fixed prediction setup for IDTX
  136. 2023-05-08 v3.6.1
  137. This release includes several bug fixes. This release is ABI
  138. compatible with the last release. See
  139. https://aomedia.googlesource.com/aom/+log/v3.6.0..v3.6.1 for all the
  140. commits in this release.
  141. - Bug Fixes
  142. * aomedia:2871: Guard the support of the 7.x and 8.x levels for AV1
  143. under the CONFIG_CWG_C013 config flag, and only output the 7.x and
  144. 8.x levels when explicitly requested.
  145. * aomedia:3382: Choose sb_size by ppi instead of svc.
  146. * aomedia:3384: Fix fullpel search limits.
  147. * aomedia:3388: Replace left shift of xq_active by multiplication.
  148. * aomedia:3389: Fix MV clamping in av1_mv_pred.
  149. * aomedia:3390: set_ld_layer_depth: cap max_layer_depth to
  150. MAX_ARF_LAYERS.
  151. * aomedia:3418: Fix MV clamping in av1_int_pro_motion_estimation.
  152. * aomedia:3429: Move lpf thread data init to lpf_pipeline_mt_init().
  153. * b:266719111: Fix undefined behavior in Arm Neon code.
  154. * b:269840681: nonrd_opt: align scan tables.
  155. * rtc: Fix is_key_frame setting in variance partition.
  156. * Build: Fix build with clang-cl and Visual Studio.
  157. * Build: Fix module definition file for MinGW/MSYS.
  158. 2023-02-03 v3.6.0
  159. This release includes compression efficiency and perceptual quality
  160. improvements, speedup and memory optimizations, and some new features.
  161. This release is ABI compatible with the last release.
  162. - New Features
  163. * New values 20-27 (corresponding to levels 7.0-7.3 and 8.0-8.3) for
  164. the encoder control AV1E_SET_TARGET_SEQ_LEVEL_IDX (note that the
  165. proposal to add the new levels are still in draft status). The
  166. original special value 24 (keep level stats only for level
  167. monitoring) is renumbered as 32.
  168. * New encoder control AV1E_SET_SKIP_POSTPROC_FILTERING to skip the
  169. application of post-processing filters on reconstructed frame in
  170. all intra mode.
  171. * New encoder option "kf-max-pyr-height": Maximum height of pyramid
  172. structure used for the GOP starting with a key frame (-1 to 5).
  173. * Make SVC work for screen content.
  174. * Rate control improvements to reduce frame-size spikes for screen
  175. content coding.
  176. * RISC-V architecture support with gcc toolchain.
  177. - Compression Efficiency Improvements
  178. * Peak compression efficiency in VOD setting is improved by 1%.
  179. * 0.7% - 2.2% RTC encoding BDrate gains for real time speed 8 to 10.
  180. * 15% RTC encoding BDrate gains for screen content speed 10.
  181. - Perceptual Quality Improvements
  182. * Resolved a visual quality issue that was reported for high
  183. resolution clips (2K) for speed 4 and above in VOD use case.
  184. * Visual quality improvements to screen content coding.
  185. * Quality improvements to temporal layer RTC coding.
  186. - Speedup and Memory Optimizations
  187. * RTC single-thread encoder speedup:
  188. o ~6% instruction count reduction for speed 5 and 6.
  189. o ~15% instruction count reduction for speed 7.
  190. o ~10% instruction count reduction for speed 8 to 10 (>=360p
  191. resolutions).
  192. * RTC multi-thread encoder speedup (beyond single-thread speedup):
  193. o 5-8% encode time reduction for speed 7 to 10.
  194. * RTC screen-content encoder speedup:
  195. o 11% instruction count reduction for speed 9 and 10 (>=720p
  196. resolutions).
  197. * ~5% reduction in heap memory requirements for RTC, speed 6 to 10.
  198. * AVIF:
  199. o 4-5% speedup for speed 9 in still-picture encoding mode.
  200. o 3-4% heap memory reduction in still-picture encoding mode for
  201. 360p-720p resolutions with multiple threads.
  202. - Bug Fixes
  203. * Added a workaround for an AV1 specification bug which makes
  204. TRANSLATION type global motion models unusable.
  205. * Fixed AddressSanitizer global-buffer-overflow errors in
  206. av1/encoder/arm/neon/av1_fwd_txfm2d_neon.c.
  207. * Fixed AddressSanitizer heap-buffer-overflow error in
  208. av1_wiener_convolve_add_src_neon().
  209. * chromium:1393384 Avoid scene detection on spatial resize.
  210. * aomedia:3308 Remove color artifacts under high motion.
  211. * aomedia:3310 Avoid out of memory failures with Visual Studio 2017,
  212. 2019, and 2022 for Win32 x86 builds.
  213. * aomedia:3346 Make SVC work properly for screen content.
  214. * aomedia:3348 Fix a bug where an uninitialized search_site is used.
  215. * aomedia:3365 Work around what seems like a Visual Studio 2022
  216. compiler optimization bug.
  217. * aomedia:3369 Incorrect PSNR values reported by libaom for 12-bit
  218. encode.
  219. 2022-08-31 v3.5.0
  220. This release is ABI compatible with the last one, including speedup and memory
  221. optimizations, and new APIs and features.
  222. - New Features
  223. * Support for frame parallel encode for larger number of threads. --fp-mt
  224. flag is available for all build configurations.
  225. * New codec control AV1E_GET_NUM_OPERATING_POINTS
  226. - Speedup and Memory Optimizations
  227. * Speed-up multithreaded encoding for good quality mode for larger number of
  228. threads through frame parallel encoding:
  229. o 30-34% encode time reduction for 1080p, 16 threads, 1x1 tile
  230. configuration (tile_rows x tile_columns)
  231. o 18-28% encode time reduction for 1080p, 16 threads, 2x4 tile
  232. configuration
  233. o 18-20% encode time reduction for 2160p, 32 threads, 2x4 tile
  234. configuration
  235. * 16-20% speed-up for speed=6 to 8 in still-picture encoding mode
  236. * 5-6% heap memory reduction for speed=6 to 10 in real-time encoding mode
  237. * Improvements to the speed for speed=7, 8 in real-time encoding mode
  238. * Improvements to the speed for speed=9, 10 in real-time screen encoding
  239. mode
  240. * Optimizations to improve multi-thread efficiency in real-time encoding
  241. mode
  242. * 10-15% speed up for SVC with temporal layers
  243. * SIMD optimizations:
  244. o Improve av1_quantize_fp_32x32_neon() 1.05x to 1.24x faster
  245. o Add aom_highbd_quantize_b{,_32x32,_64x64}_adaptive_neon() 3.15x to 5.6x
  246. faster than "C"
  247. o Improve av1_quantize_fp_64x64_neon() 1.17x to 1.66x faster
  248. o Add aom_quantize_b_avx2() 1.4x to 1.7x faster than aom_quantize_b_avx()
  249. o Add aom_quantize_b_32x32_avx2() 1.4x to 2.3x faster than
  250. aom_quantize_b_32x32_avx()
  251. o Add aom_quantize_b_64x64_avx2() 2.0x to 2.4x faster than
  252. aom_quantize_b_64x64_ssse3()
  253. o Add aom_highbd_quantize_b_32x32_avx2() 9.0x to 10.5x faster than
  254. aom_highbd_quantize_b_32x32_c()
  255. o Add aom_highbd_quantize_b_64x64_avx2() 7.3x to 9.7x faster than
  256. aom_highbd_quantize_b_64x64_c()
  257. o Improve aom_highbd_quantize_b_avx2() 1.07x to 1.20x faster
  258. o Improve av1_quantize_fp_avx2() 1.13x to 1.49x faster
  259. o Improve av1_quantize_fp_32x32_avx2() 1.07x to 1.54x faster
  260. o Improve av1_quantize_fp_64x64_avx2() 1.03x to 1.25x faster
  261. o Improve av1_quantize_lp_avx2() 1.07x to 1.16x faster
  262. - Bug fixes including but not limited to
  263. * aomedia:3206 Assert that skip_width > 0 for deconvolve function
  264. * aomedia:3278 row_mt enc: Delay top-right sync when intraBC is enabled
  265. * aomedia:3282 blend_a64_*_neon: fix bus error in armv7
  266. * aomedia:3283 FRAME_PARALLEL: Propagate border size to all cpis
  267. * aomedia:3283 RESIZE_MODE: Fix incorrect strides being used for motion
  268. search
  269. * aomedia:3286 rtc-svc: Fix to dynamic_enable spatial layers
  270. * aomedia:3289 rtc-screen: Fix to skipping inter-mode test in nonrd
  271. * aomedia:3289 rtc-screen: Fix for skip newmv on flat blocks
  272. * aomedia:3299 Fix build failure with CONFIG_TUNE_VMAF=1
  273. * aomedia:3296 Fix the conflict --enable-tx-size-search=0 with nonrd mode
  274. --enable-tx-size-search will be ignored in non-rd pick mode
  275. * aomedia:3304 Fix off-by-one error of max w/h in validate_config
  276. * aomedia:3306 Do not use pthread_setname_np on GNU/Hurd
  277. * aomedia:3325 row-multithreading produces invalid bitstream in some cases
  278. * chromium:1346938, chromium:1338114
  279. * compiler_flags.cmake: fix flag detection w/cmake 3.17-3.18.2
  280. * tools/*.py: update to python3
  281. * aom_configure.cmake: detect PIE and set CONFIG_PIC
  282. * test/simd_cmp_impl: use explicit types w/CompareSimd*
  283. * rtc: Fix to disable segm for aq-mode=3
  284. * rtc: Fix to color_sensitivity in variance partition
  285. * rtc-screen: Fix bsize in model rd computation for intra chroma
  286. * Fixes to ensure the correct behavior of the encoder algorithms (like
  287. segmentation, computation of statistics, etc.)
  288. 2022-06-17 v3.4.0
  289. This release includes compression efficiency and perceptual quality
  290. improvements, speedup and memory optimizations, and some new features.
  291. There are no ABI or API breaking changes in this release.
  292. - New Features
  293. * New --dist-metric flag with "qm-psnr" value to use quantization
  294. matrices in the distortion computation for RD search. The default
  295. value is "psnr".
  296. * New command line option "--auto-intra-tools-off=1" to make
  297. all-intra encoding faster for high bit rate under
  298. "--deltaq-mode=3" mode.
  299. * New rate control library aom_av1_rc for real-time hardware
  300. encoders. Supports CBR for both one spatial layer and SVC.
  301. * New image format AOM_IMG_FMT_NV12 can be used as input to the
  302. encoder. The presence of AOM_IMG_FMT_NV12 can be detected at
  303. compile time by checking if the macro AOM_HAVE_IMG_FMT_NV12 is
  304. defined.
  305. * New codec controls for the encoder:
  306. o AV1E_SET_AUTO_INTRA_TOOLS_OFF. Only in effect if
  307. --deltaq-mode=3.
  308. o AV1E_SET_RTC_EXTERNAL_RC
  309. o AV1E_SET_FP_MT. Only supported if libaom is built with
  310. -DCONFIG_FRAME_PARALLEL_ENCODE=1.
  311. o AV1E_GET_TARGET_SEQ_LEVEL_IDX
  312. * New key-value pairs for the key-value API:
  313. o --auto-intra-tools-off=0 (default) or 1. Only in effect if
  314. --deltaq-mode=3.
  315. o --strict-level-conformance=0 (default) or 1
  316. o --fp-mt=0 (default) or 1. Only supported if libaom is built
  317. with -DCONFIG_FRAME_PARALLEL_ENCODE=1.
  318. * New aomenc options (not supported by the key-value API):
  319. o --nv12
  320. - Compression Efficiency Improvements
  321. * Correctly calculate SSE for high bitdepth in skip mode, 0.2% to
  322. 0.6% coding gain.
  323. * RTC at speed 9/10: BD-rate gain of ~4/5%
  324. * RTC screen content coding: many improvements for real-time screen
  325. at speed 10 (quality, speedup, and rate control), up to high
  326. resolutions (1080p).
  327. * RTC-SVC: fixes to make intra-only frames work for spatial layers.
  328. * RTC-SVC: quality improvements for temporal layers.
  329. * AV1 RT: A new passive rate control strategy for screen content, an
  330. average of 7.5% coding gain, with some clips of 20+%. The feature
  331. is turned off by default due to higher bit rate variation.
  332. - Perceptual Quality Improvements
  333. * RTC: Visual quality improvements for high speeds (9/10)
  334. * Improvements in coding quality for all intra mode
  335. - Speedup and Memory Optimizations
  336. * ~10% speedup in good quality mode encoding.
  337. * ~7% heap memory reduction in good quality encoding mode for speed
  338. 5 and 6.
  339. * Ongoing improvements to intra-frame encoding performance on Arm
  340. * Faster encoding speed for "--deltaq-mode=3" mode.
  341. * ~10% speedup for speed 5/6, ~15% speedup for speed 7/8, and
  342. ~10% speedup for speed 9/10 in real time encoding mode
  343. * ~20% heap memory reduction in still-picture encoding mode for
  344. 360p-720p resolutions with multiple threads
  345. * ~13% speedup for speed 6 and ~12% speedup for speed 9 in
  346. still-picture encoding mode.
  347. * Optimizations to improve multi-thread efficiency for still-picture
  348. encoding mode.
  349. - Bug Fixes
  350. * b/204460717: README.md: replace master with main
  351. * b/210677928: libaom disable_order is surprising for
  352. max_reference_frames=3
  353. * b/222461449: -DCONFIG_TUNE_BUTTERAUGLI=1 broken
  354. * b/227207606: write_greyscale writes incorrect chroma in highbd
  355. mode
  356. * b/229955363: Integer-overflow in linsolve_wiener
  357. * https://crbug.com/aomedia/2032
  358. * https://crbug.com/aomedia/2397
  359. * https://crbug.com/aomedia/2563
  360. * https://crbug.com/aomedia/2815
  361. * https://crbug.com/aomedia/3009
  362. * https://crbug.com/aomedia/3018
  363. * https://crbug.com/aomedia/3045
  364. * https://crbug.com/aomedia/3101
  365. * https://crbug.com/aomedia/3130
  366. * https://crbug.com/aomedia/3173
  367. * https://crbug.com/aomedia/3184
  368. * https://crbug.com/aomedia/3187
  369. * https://crbug.com/aomedia/3190
  370. * https://crbug.com/aomedia/3195
  371. * https://crbug.com/aomedia/3197
  372. * https://crbug.com/aomedia/3201
  373. * https://crbug.com/aomedia/3202
  374. * https://crbug.com/aomedia/3204
  375. * https://crbug.com/aomedia/3205
  376. * https://crbug.com/aomedia/3207
  377. * https://crbug.com/aomedia/3208
  378. * https://crbug.com/aomedia/3209
  379. * https://crbug.com/aomedia/3213
  380. * https://crbug.com/aomedia/3214
  381. * https://crbug.com/aomedia/3219
  382. * https://crbug.com/aomedia/3222
  383. * https://crbug.com/aomedia/3223
  384. * https://crbug.com/aomedia/3225
  385. * https://crbug.com/aomedia/3226
  386. * https://crbug.com/aomedia/3228
  387. * https://crbug.com/aomedia/3232
  388. * https://crbug.com/aomedia/3236
  389. * https://crbug.com/aomedia/3237
  390. * https://crbug.com/aomedia/3238
  391. * https://crbug.com/aomedia/3240
  392. * https://crbug.com/aomedia/3243
  393. * https://crbug.com/aomedia/3244
  394. * https://crbug.com/aomedia/3246
  395. * https://crbug.com/aomedia/3248
  396. * https://crbug.com/aomedia/3250
  397. * https://crbug.com/aomedia/3251
  398. * https://crbug.com/aomedia/3252
  399. * https://crbug.com/aomedia/3255
  400. * https://crbug.com/aomedia/3257
  401. * https://crbug.com/aomedia/3259
  402. * https://crbug.com/aomedia/3260
  403. * https://crbug.com/aomedia/3267
  404. * https://crbug.com/aomedia/3268
  405. * https://crbug.com/aomedia/3269
  406. * https://crbug.com/aomedia/3276
  407. * https://crbug.com/aomedia/3278
  408. * https://crbug.com/chromium/1290068
  409. * https://crbug.com/chromium/1303237
  410. * https://crbug.com/chromium/1304990
  411. * https://crbug.com/chromium/1321141
  412. * https://crbug.com/chromium/1321388
  413. * https://crbug.com/oss-fuzz/44846
  414. * https://crbug.com/oss-fuzz/44856
  415. * https://crbug.com/oss-fuzz/44862
  416. * https://crbug.com/oss-fuzz/44904
  417. * https://crbug.com/oss-fuzz/45056
  418. 2022-01-28 v3.3.0
  419. This release includes compression efficiency and perceptual quality
  420. improvements, speedup and memory optimizations, some new features, and
  421. several bug fixes.
  422. - New Features
  423. * AV1 RT: Introducing CDEF search level 5
  424. * Changed real time speed 4 to behave the same as real time speed 5
  425. * Add --deltaq-strength
  426. * rtc: Allow scene-change and overshoot detection for svc
  427. * rtc: Intra-only frame for svc
  428. * AV1 RT: Option 2 for codec control AV1E_SET_ENABLE_CDEF to disable
  429. CDEF on non-ref frames
  430. * New codec controls AV1E_SET_LOOPFILTER_CONTROL and
  431. AOME_GET_LOOPFILTER_LEVEL
  432. * Improvements to three pass encoding
  433. - Compression Efficiency Improvements
  434. * Overall compression gains: 0.6%
  435. - Perceptual Quality Improvements
  436. * Improves the perceptual quality of high QP encoding for delta-q mode 4
  437. * Auto select noise synthesis level for all intra
  438. - Speedup and Memory Optimizations
  439. * Added many SSE2 optimizations.
  440. * Good quality 2-pass encoder speedups:
  441. o Speed 2: 9%
  442. o Speed 3: 12.5%
  443. o Speed 4: 8%
  444. o Speed 5: 3%
  445. o Speed 6: 4%
  446. * Real time mode encoder speedups:
  447. o Speed 5: 2.6% BDRate gain, 4% speedup
  448. o Speed 6: 3.5% BDRate gain, 4% speedup
  449. o Speed 9: 1% BDRate gain, 3% speedup
  450. o Speed 10: 3% BDRate gain, neutral speedup
  451. * All intra encoding speedups (AVIF):
  452. o Single thread - speed 6: 8%
  453. o Single thread - speed 9: 15%
  454. o Multi thread(8) - speed 6: 14%
  455. o Multi thread(8) - speed 9: 34%
  456. - Bug Fixes
  457. * Issue 3163: Segmentation fault when using --enable-keyframe-filtering=2
  458. * Issue 2436: Integer overflow in av1_warp_affine_c()
  459. * Issue 3226: armv7 build failure due to gcc-11
  460. * Issue 3195: Bug report on libaom (AddressSanitizer: heap-buffer-overflow)
  461. * Issue 3191: Bug report on libaom (AddressSanitizer: SEGV on unknown
  462. address)
  463. * Issue 3176: Some SSE2/SADx4AvgTest.* tests fail on Windows
  464. * Issue 3175: Some SSE2/SADSkipTest.* tests fail on Windows
  465. 2021-10-13 v3.2.0
  466. This release includes compression efficiency and perceptual quality
  467. improvements, speedup and memory optimizations, as well as some new
  468. features.
  469. - New Features
  470. * Introduced speeds 7, 8, and 9 for all intra mode.
  471. * Introduced speed 10 for real time mode.
  472. * Introduced an API that allows external partition decisions.
  473. * SVC: added support for compound prediction.
  474. * SVC: added support for fixed SVC modes.
  475. - Compression Efficiency Improvements
  476. * Intra-mode search improvement.
  477. * Improved real time (RT) mode BDrate savings by ~5% (RT speed 5)
  478. and ~12% (RT speed 6). The improvement was measured on the video
  479. conference set.
  480. * Improved real time mode for nonrd path (speed 7, 8, 9): BDrate
  481. gains of ~3-5%.
  482. * Rate control and RD adjustments based on ML research in VP9.
  483. Gains of ~0.5-1.0% for HD.
  484. - Perceptual Quality Improvements
  485. * Added a new mode --deltaq-mode=3 to improve perceptual quality
  486. based on a differential contrast model for still images.
  487. * Added a new mode --deltaq-mode=4 to improve perceptual quality
  488. based on user rated cq_level data set for still images.
  489. * Weighting of some intra mode and partition size choices to better
  490. manage and retain texture.
  491. - Speedup and Memory Optimizations
  492. * Further improved 2-pass good quality encoder speed:
  493. o Speed 2 speedup: 18%
  494. o Speed 3 speedup: 22%
  495. o Speed 4 speedup: 37%
  496. o Speed 5 speedup: 30%
  497. o Speed 6 speedup: 20%
  498. * Optimized the real time encoder (measured on the video conference
  499. set):
  500. o RT speed 5 speedup: 110%
  501. o RT speed 6 speedup: 77%
  502. - Bug Fixes
  503. * Issue 3069: Fix one-pass mode keyframe placement off-by-one error.
  504. * Issue 3156: Fix a bug in av1_quantize_lp AVX2 optimization.
  505. 2021-09-29 v3.1.3
  506. This release includes several bug fixes.
  507. - Bug fixes:
  508. The following four cmake changes should help the people building
  509. libaom using MSVC.
  510. 1. exports: use CMAKE_SHARED_LIBRARY_PREFIX to determine lib name
  511. https://aomedia-review.googlesource.com/c/aom/+/142342
  512. 2. aom_install: Install lib dlls to bindir
  513. https://aomedia-review.googlesource.com/c/aom/+/146546
  514. 3. aom_install: use relpath for install
  515. https://aomedia-review.googlesource.com/c/aom/+/146550
  516. 4. aom_install: don't exclude msvc from install
  517. https://aomedia-review.googlesource.com/c/aom/+/146547
  518. aom/aom_encoder.h: remove configure option reference
  519. https://aomedia-review.googlesource.com/c/aom/+/146743
  520. Issue 3113: Tests for detecting chroma subsampling in
  521. av1_copy_and_extend_frame() do not work when y_width or y_height is
  522. 1
  523. Issue 3115: image2yuvconfig() should calculate uv_crop_width and
  524. uv_crop_height from y_crop_width and y_crop_height
  525. Issue 3140: rc_overshoot_pct is documented as having a range of
  526. 0-1000, but is range checked against 0-100
  527. Issue 3147: Build failure on Apple M1 arm64
  528. 2021-07-20 v3.1.2
  529. This release includes several bug fixes.
  530. - Bug fixes:
  531. exports.cmake: use APPLE and WIN32 and use def for mingw-w64
  532. https://aomedia-review.googlesource.com/c/aom/+/139882
  533. Issue 2993: Incorrect spatial_id when decoding base layer of
  534. multi-layer stream
  535. Issue 3080: Chroma Resampling by Encoder on Y4M Inputs Files Tagged
  536. as C420mpeg2
  537. Issue 3081: Use of uninitialized value $version_extra in
  538. concatenation (.) or string at aom/build/cmake/version.pl line 88.
  539. 2021-06-08 v3.1.1
  540. This release includes several bug fixes.
  541. - Bug fixes:
  542. Issue 2965: Cherry-picked the following four commits for the
  543. tune=butteraugli mode.
  544. 1. Add libjxl to pkg_config if enabled:
  545. https://aomedia-review.googlesource.com/c/aom/+/136044
  546. 2. Declare set_mb_butteraugli_rdmult_scaling static:
  547. https://aomedia-review.googlesource.com/c/aom/+/134506
  548. 3. Add color range detection in tune=butteraugli mode:
  549. https://aomedia-review.googlesource.com/c/aom/+/135521
  550. 4. Enable tune=butteraugli in all-intra mode:
  551. https://aomedia-review.googlesource.com/c/aom/+/136082
  552. Issue 3021: Fix vmaf model initialization error when not set to
  553. tune=vmaf
  554. Issue 3050: Compilation fails with -DCONFIG_TUNE_VMAF=1
  555. Issue 3054: Consistent crash on near-static screen content, keyframe
  556. related
  557. 2021-05-03 v3.1.0
  558. This release adds an "all intra" mode to the encoder, which significantly
  559. speeds up the encoding of AVIF still images at speed 6.
  560. - Upgrading:
  561. All intra mode for encoding AVIF still images and AV1 all intra videos:
  562. AOM_USAGE_ALL_INTRA (2) can be passed as the 'usage' argument to
  563. aom_codec_enc_config_default().
  564. New encoder control IDs added:
  565. - AV1E_SET_ENABLE_DIAGONAL_INTRA: Enable diagonal (D45 to D203) intra
  566. prediction modes (0: false, 1: true (default)). Also available as
  567. "enable-diagonal-intra" for the aom_codec_set_option() function.
  568. New aom_tune_metric enum value: AOM_TUNE_BUTTERAUGLI. The new aomenc option
  569. --tune=butteraugli was added to optimize the encoder's perceptual quality by
  570. optimizing the Butteraugli metric. Install libjxl (JPEG XL) and then pass
  571. -DCONFIG_TUNE_BUTTERAUGLI=1 to the cmake command to enable it.
  572. Addition of support for libvmaf 2.x.
  573. - Enhancements:
  574. Heap memory consumption for encoding AVIF still images is significantly
  575. reduced.
  576. - Bug fixes:
  577. Issue 2601: third_party/libaom fails licensecheck
  578. Issue 2950: Conditional expression for rc->this_key_frame_forced is always
  579. true in find_next_key_frame()
  580. Issue 2988: "make install" installs the aom.h header twice
  581. Issue 2992: Incorrectly printing the temporal_id twice in dump_obu tool
  582. Issue 2998:
  583. Issue 2999:
  584. Issue 3000:
  585. 2021-02-24 v3.0.0
  586. This release includes compression efficiency improvement, speed improvement
  587. for realtime mode, as well as some new APIs.
  588. - Upgrading:
  589. Support for PSNR calculation based on stream bit-depth.
  590. New encoder control IDs added:
  591. - AV1E_SET_ENABLE_RECT_TX
  592. - AV1E_SET_VBR_CORPUS_COMPLEXITY_LAP
  593. - AV1E_GET_BASELINE_GF_INTERVAL
  594. - AV1E_SET_ENABLE_DNL_DENOISING
  595. New decoder control IDs added:
  596. - AOMD_GET_FWD_KF_PRESENT
  597. - AOMD_GET_FRAME_FLAGS
  598. - AOMD_GET_ALTREF_PRESENT
  599. - AOMD_GET_TILE_INFO
  600. - AOMD_GET_SCREEN_CONTENT_TOOLS_INFO
  601. - AOMD_GET_STILL_PICTURE
  602. - AOMD_GET_SB_SIZE
  603. - AOMD_GET_SHOW_EXISTING_FRAME_FLAG
  604. - AOMD_GET_S_FRAME_INFO
  605. New aom_tune_content enum value: AOM_CONTENT_FILM
  606. New aom_tune_metric enum value: AOM_TUNE_VMAF_NEG_MAX_GAIN
  607. Coefficient and mode update can be turned off via
  608. AV1E_SET_{COEFF/MODE}_COST_UPD_FREQ.
  609. New key & value API added, available with aom_codec_set_option() function.
  610. Scaling API expanded to include 1/4, 3/4 and 1/8.
  611. - Enhancements:
  612. Better multithreading performance with realtime mode.
  613. New speed 9 setting for faster realtime encoding.
  614. Smaller binary size with low bitdepth and realtime only build.
  615. Temporal denoiser and its optimizations on x86 and Neon.
  616. Optimizations for scaling.
  617. Faster encoding with speed settings 2 to 6 for good encoding mode.
  618. Improved documentation throughout the library, with function level
  619. documentation, tree view and support for the dot tool.
  620. - Bug fixes:
  621. Aside from those mentioned in v2.0.1 and v2.0.2, this release includes the
  622. following bug fixes:
  623. Issue 2940: Segfault when encoding with --use-16bit-internal and --limit > 1
  624. Issue 2941: Decoder mismatch with --rt --bit-depth=10 and --cpu-used=8
  625. Issue 2895: mingw-w64 i686 gcc fails to build
  626. Issue 2874: Separate ssse3 functions from sse2 file.
  627. 2021-02-09 v2.0.2
  628. This release includes several bug fixes.
  629. - Bug fixes:
  630. Issue 2643: Modify the assertion in temporal filter intrinsics.
  631. Issue 2648: Fix unit test ThreadTestLarge.EncoderResultTest/49
  632. assertion failure.
  633. Issue 2869: Add -Wimplicit-function-declaration as C flag only.
  634. Issue 2878: Avoid memset in the av1_filter_intra_predictor module
  635. functions.
  636. Issue 2903: Fix a typo bug in apply_temporal_filter_planewise.
  637. Call av1_setup_frame_size() when dropping a frame in the
  638. encode_frame_to_data_rate() function in av1/encoder/encoder.c.
  639. 2020-11-25 v2.0.1
  640. This release includes two bug fixes.
  641. - Bug fixes:
  642. Issue 2723: Fix crash in chroma_check() when generating a monochrome
  643. encoded stream in real-time mode.
  644. Issue 2833: Fix crash on some input when reduced still picture header is
  645. used in real-time mode and speed >=7.
  646. 2020-05-07 v2.0.0 "Applejack"
  647. First official release of libaom.
  648. This release includes new real-time mode and SVC support.
  649. - Upgrading:
  650. AOM_SET_POSTPROC, AOM_CODEC_CAP_POSTPROC and AOM_CODEC_USE_POSTPROC are
  651. removed.
  652. AOM_SET_DBG_* is removed.
  653. Multi-resolution encoding is removed.
  654. put_frame and put_slice callbacks are removed.
  655. - Enhancements:
  656. Full-sweep document update for codec controls.
  657. 2018-06-28 v1.0.0
  658. AOMedia Codec Workgroup Approved version 1.0
  659. 2016-04-07 v0.1.0 "AOMedia Codec 1"
  660. This release is the first Alliance for Open Media codec.