1*77c1e3ccSAndroid Build Coastguard Worker2024-10-24 v3.11.0 2*77c1e3ccSAndroid Build Coastguard Worker This release includes perceptual quality improvements, binary size reduction 3*77c1e3ccSAndroid Build Coastguard Worker under certain configurations and many bug fixes. This release changes the 4*77c1e3ccSAndroid Build Coastguard Worker default encoder configuration for the AOM_USAGE_REALTIME mode. This release 5*77c1e3ccSAndroid Build Coastguard Worker is ABI compatible with the last release. 6*77c1e3ccSAndroid Build Coastguard Worker 7*77c1e3ccSAndroid Build Coastguard Worker - Perceptual Quality Improvements 8*77c1e3ccSAndroid Build Coastguard Worker * Visual quality improvements for RTC screen content 9*77c1e3ccSAndroid Build Coastguard Worker * Higher quality on scene or slide changes 10*77c1e3ccSAndroid Build Coastguard Worker * Faster quality ramp-up for static content after scene change 11*77c1e3ccSAndroid Build Coastguard Worker * Quality improvements for screen content with active maps 12*77c1e3ccSAndroid Build Coastguard Worker 13*77c1e3ccSAndroid Build Coastguard Worker - Speedup 14*77c1e3ccSAndroid Build Coastguard Worker * Added and improved Neon SIMD paths for dynamic frame scaling with ~1.5% 15*77c1e3ccSAndroid Build Coastguard Worker overall encoding speedup. 16*77c1e3ccSAndroid Build Coastguard Worker 17*77c1e3ccSAndroid Build Coastguard Worker - Other Improvements 18*77c1e3ccSAndroid Build Coastguard Worker * Binary size reduction: 10% compared with last release, with 19*77c1e3ccSAndroid Build Coastguard Worker CONFIG_REALTIME_ONLY enabled, CONFIG_AV1_DECODER and 20*77c1e3ccSAndroid Build Coastguard Worker CONFIG_AV1_HIGHBITDEPTH disabled. 21*77c1e3ccSAndroid Build Coastguard Worker * Update default_extra_cfg for CONFIG_REALTIME_ONLY to provide proper RTC 22*77c1e3ccSAndroid Build Coastguard Worker defaults settings 23*77c1e3ccSAndroid Build Coastguard Worker * Change the default valuess of the following encoder config options in the 24*77c1e3ccSAndroid Build Coastguard Worker AOM_USAGE_REALTIME mode: 25*77c1e3ccSAndroid Build Coastguard Worker * rc_overshoot_pct and rc_undershoot_pct are changed from 25 to 50 26*77c1e3ccSAndroid Build Coastguard Worker * rc_buf_sz is changed from 6000 to 1000 27*77c1e3ccSAndroid Build Coastguard Worker * rc_buf_initial_sz is changed from 4000 to 600 28*77c1e3ccSAndroid Build Coastguard Worker * rc_buf_optimal_sz is changed from 5000 to 600 29*77c1e3ccSAndroid Build Coastguard Worker 30*77c1e3ccSAndroid Build Coastguard Worker - Bug Fixes 31*77c1e3ccSAndroid Build Coastguard Worker * aomedia:363016123: rtc: Fix setting of intra-only frame for 32*77c1e3ccSAndroid Build Coastguard Worker set_ref_frame_config and add checks 33*77c1e3ccSAndroid Build Coastguard Worker * aomedia:42302583: rtc: Fix for artifacts for screen with active_maps 34*77c1e3ccSAndroid Build Coastguard Worker * b:365088425: rtc: Allow for lower-QP on scene/slide changes 35*77c1e3ccSAndroid Build Coastguard Worker * b:367285382: Fix to encoder quality max-out too early for screen 36*77c1e3ccSAndroid Build Coastguard Worker * b:362936830: rtc: Allow QP to decrease more aggressively for static 37*77c1e3ccSAndroid Build Coastguard Worker content 38*77c1e3ccSAndroid Build Coastguard Worker * b:361617762: Clamp the calculation of sb64_target_rate to INT_MAX 39*77c1e3ccSAndroid Build Coastguard Worker * chromium:362123224: rtc-svc: Reset ref_map_idx for references not used 40*77c1e3ccSAndroid Build Coastguard Worker * chromium:367892770: Fix to possible integer overflow in reset_rc 41*77c1e3ccSAndroid Build Coastguard Worker * webrtc:369633254: rtc-svc: Fix to reset ref_idx for svc 42*77c1e3ccSAndroid Build Coastguard Worker * Fix exit condition in rate correction update 43*77c1e3ccSAndroid Build Coastguard Worker 44*77c1e3ccSAndroid Build Coastguard Worker2024-08-27 v3.10.0 45*77c1e3ccSAndroid Build Coastguard Worker This release includes new codec interfaces, compression efficiency and 46*77c1e3ccSAndroid Build Coastguard Worker perceptual improvements, speedup and memory optimizations and many bug 47*77c1e3ccSAndroid Build Coastguard Worker fixes. This release is ABI compatible with the last release. 48*77c1e3ccSAndroid Build Coastguard Worker 49*77c1e3ccSAndroid Build Coastguard Worker The definitions of the internal macros AOM_INLINE and AOM_FORCE_INLINE 50*77c1e3ccSAndroid Build Coastguard Worker have been removed from the public header aom/aom_integer.h. 51*77c1e3ccSAndroid Build Coastguard Worker 52*77c1e3ccSAndroid Build Coastguard Worker - New Features 53*77c1e3ccSAndroid Build Coastguard Worker * New codec controls: 54*77c1e3ccSAndroid Build Coastguard Worker * AV1E_SET_AUTO_TILES 55*77c1e3ccSAndroid Build Coastguard Worker * AV1E_GET_HIGH_MOTION_CONTENT_SCREEN_RTC 56*77c1e3ccSAndroid Build Coastguard Worker * AV1E_SET_POSTENCODE_DROP_RTC: Post encode frame drop feature. 57*77c1e3ccSAndroid Build Coastguard Worker * AV1E_SET_MAX_CONSEC_FRAME_DROP_MS_CBR 58*77c1e3ccSAndroid Build Coastguard Worker * New key-value pair for aom_codec_set_option(): 59*77c1e3ccSAndroid Build Coastguard Worker * "auto-tiles": equivalent to the new codec control 60*77c1e3ccSAndroid Build Coastguard Worker AV1E_SET_AUTO_TILES. 61*77c1e3ccSAndroid Build Coastguard Worker 62*77c1e3ccSAndroid Build Coastguard Worker - Deprecated Features 63*77c1e3ccSAndroid Build Coastguard Worker * Deprecated codec control: 64*77c1e3ccSAndroid Build Coastguard Worker * AV1E_SET_MAX_CONSEC_FRAME_DROP_CBR: Use the new codec control 65*77c1e3ccSAndroid Build Coastguard Worker AV1E_SET_MAX_CONSEC_FRAME_DROP_MS_CBR instead. 66*77c1e3ccSAndroid Build Coastguard Worker * The sframe_mode field in the aom_codec_enc_cfg_t struct is not 67*77c1e3ccSAndroid Build Coastguard Worker implemented. 68*77c1e3ccSAndroid Build Coastguard Worker 69*77c1e3ccSAndroid Build Coastguard Worker - Compression Efficiency Improvements 70*77c1e3ccSAndroid Build Coastguard Worker * BD-rate gain of 0.7 - 1.3% (by enabling global motion tool) for 71*77c1e3ccSAndroid Build Coastguard Worker speed 5 and speed 6 with ~5% encode time increase. 72*77c1e3ccSAndroid Build Coastguard Worker * RTC speed 11 video: ~3-5% BD-rate gain for VGA and QVGA. 73*77c1e3ccSAndroid Build Coastguard Worker 74*77c1e3ccSAndroid Build Coastguard Worker - Perceptual Quality Improvements 75*77c1e3ccSAndroid Build Coastguard Worker * RTC quality improvements for slide changes and scrolling content. 76*77c1e3ccSAndroid Build Coastguard Worker 77*77c1e3ccSAndroid Build Coastguard Worker - Speedup and Memory Optimizations 78*77c1e3ccSAndroid Build Coastguard Worker * RTC screen content speedups: 79*77c1e3ccSAndroid Build Coastguard Worker * ~2x speedup for high motion content for speed 11. 80*77c1e3ccSAndroid Build Coastguard Worker * ~2x speedup on key frame coding for speed >= 10. 81*77c1e3ccSAndroid Build Coastguard Worker * Arm: Significant uplifts in speed in this release (vs v3.9.1) have 82*77c1e3ccSAndroid Build Coastguard Worker come from tuning the various convolutions according to filter size 83*77c1e3ccSAndroid Build Coastguard Worker (doing 8-tap when only 2-tap is required is inefficient) and also 84*77c1e3ccSAndroid Build Coastguard Worker deploying Armv8.6 USMMLA instructions in 6-tap and 12-tap standard 85*77c1e3ccSAndroid Build Coastguard Worker bitdepth convolutions. 86*77c1e3ccSAndroid Build Coastguard Worker * Standard bitdepth RTC: 87*77c1e3ccSAndroid Build Coastguard Worker * speed 5: +5% 88*77c1e3ccSAndroid Build Coastguard Worker * speed 6: +4% 89*77c1e3ccSAndroid Build Coastguard Worker * speed 7: +5% 90*77c1e3ccSAndroid Build Coastguard Worker * speed 8: +4% 91*77c1e3ccSAndroid Build Coastguard Worker * speed 9: +6% 92*77c1e3ccSAndroid Build Coastguard Worker * speed 10: +6% 93*77c1e3ccSAndroid Build Coastguard Worker * Standard bitdepth VoD: 94*77c1e3ccSAndroid Build Coastguard Worker * speed 0: +9% 95*77c1e3ccSAndroid Build Coastguard Worker * speed 1: +12% 96*77c1e3ccSAndroid Build Coastguard Worker * speed 2: +9% 97*77c1e3ccSAndroid Build Coastguard Worker * speed 3: +3% 98*77c1e3ccSAndroid Build Coastguard Worker * speed 4: +3% 99*77c1e3ccSAndroid Build Coastguard Worker * speed 5: -9% (expected due to global motion changes) 100*77c1e3ccSAndroid Build Coastguard Worker * speed 6: -3% (expected due to global motion changes) 101*77c1e3ccSAndroid Build Coastguard Worker * High bitdepth VoD: 102*77c1e3ccSAndroid Build Coastguard Worker * speed 0: +4% 103*77c1e3ccSAndroid Build Coastguard Worker * speed 1: +19% 104*77c1e3ccSAndroid Build Coastguard Worker * speed 2: +23% 105*77c1e3ccSAndroid Build Coastguard Worker * speed 3: +1% 106*77c1e3ccSAndroid Build Coastguard Worker * speed 4: +1% 107*77c1e3ccSAndroid Build Coastguard Worker * speed 5: -8% (expected due to global motion changes) 108*77c1e3ccSAndroid Build Coastguard Worker * speed 6: -3% (expected due to global motion changes) 109*77c1e3ccSAndroid Build Coastguard Worker * Standard bitdepth 2x1 horizontal super-resolution/scaling 110*77c1e3ccSAndroid Build Coastguard Worker encoding: +101% 111*77c1e3ccSAndroid Build Coastguard Worker 112*77c1e3ccSAndroid Build Coastguard Worker - Other Improvements 113*77c1e3ccSAndroid Build Coastguard Worker * Reduce bit rate overshoot on slide content. 114*77c1e3ccSAndroid Build Coastguard Worker 115*77c1e3ccSAndroid Build Coastguard Worker - Bug Fixes 116*77c1e3ccSAndroid Build Coastguard Worker * rtc: Bug fix for active_maps with sb_size=128. 117*77c1e3ccSAndroid Build Coastguard Worker * b:343429036: rtc: Fix source_sad setting near boundary. 118*77c1e3ccSAndroid Build Coastguard Worker * Fix to QP for temporal enhancement after key frame. 119*77c1e3ccSAndroid Build Coastguard Worker * b:343429192: rtc: Condition QP adjustment on rc->q_1/2_frame > 0. 120*77c1e3ccSAndroid Build Coastguard Worker 121*77c1e3ccSAndroid Build Coastguard Worker2024-06-07 v3.8.3 122*77c1e3ccSAndroid Build Coastguard Worker This release includes several bug fixes. This release is ABI 123*77c1e3ccSAndroid Build Coastguard Worker compatible with the last release. See 124*77c1e3ccSAndroid Build Coastguard Worker https://aomedia.googlesource.com/aom/+log/v3.8.2..v3.8.3 for all the 125*77c1e3ccSAndroid Build Coastguard Worker commits in this release. 126*77c1e3ccSAndroid Build Coastguard Worker 127*77c1e3ccSAndroid Build Coastguard Worker - Bug Fixes 128*77c1e3ccSAndroid Build Coastguard Worker * aomedia:2754, aomedia:3567: Ensure thread stack size is at least 129*77c1e3ccSAndroid Build Coastguard Worker 256 KB 130*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3382, chromium:339877165: update codec config after 131*77c1e3ccSAndroid Build Coastguard Worker svc/scale controls (CVE-2024-5493) 132*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3561: libaom-3.8.2 armv7 Android build failed 133*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3580: Allow g_timebase.num to be greater than 134*77c1e3ccSAndroid Build Coastguard Worker g_timebase.den 135*77c1e3ccSAndroid Build Coastguard Worker * Arm SVE build fixes. 136*77c1e3ccSAndroid Build Coastguard Worker * av1_block_error_lp_neon: fix block_size param type 137*77c1e3ccSAndroid Build Coastguard Worker 138*77c1e3ccSAndroid Build Coastguard Worker2024-06-05 v3.9.1 139*77c1e3ccSAndroid Build Coastguard Worker This release includes several bug fixes. This release is ABI 140*77c1e3ccSAndroid Build Coastguard Worker compatible with the last release. See 141*77c1e3ccSAndroid Build Coastguard Worker https://aomedia.googlesource.com/aom/+log/v3.9.0..v3.9.1 for all the 142*77c1e3ccSAndroid Build Coastguard Worker commits in this release. 143*77c1e3ccSAndroid Build Coastguard Worker 144*77c1e3ccSAndroid Build Coastguard Worker - Bug Fixes 145*77c1e3ccSAndroid Build Coastguard Worker * aomedia:2754, aomedia:3567: Ensure thread stack size is at least 146*77c1e3ccSAndroid Build Coastguard Worker 256 KB 147*77c1e3ccSAndroid Build Coastguard Worker * b:330639949, oss-fuzz:68195: Increase scaling in linsolve_wiener 148*77c1e3ccSAndroid Build Coastguard Worker * Fix high target data rate overflow. 149*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3509: Fix two UBSan errors in av1_rc_update_framerate() 150*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3382, chromium:339877165: update codec config after 151*77c1e3ccSAndroid Build Coastguard Worker svc/scale controls (CVE-2024-5493) 152*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3561: libaom-3.8.2 armv7 Android build failed 153*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3571: {,highbd_}intrapred_neon.c: Avoid over-reads in z1 154*77c1e3ccSAndroid Build Coastguard Worker and z3 preds 155*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3578: libaom-3.9.0 undefined reference to 156*77c1e3ccSAndroid Build Coastguard Worker `aom_sub_pixel_variance16xh_ssse3' 157*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3579: Use round for RC calculations in cyclic_refresh 158*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3580: Allow g_timebase.num to be greater than 159*77c1e3ccSAndroid Build Coastguard Worker g_timebase.den 160*77c1e3ccSAndroid Build Coastguard Worker * oss-fuzz:68774: libaom:av1_dec_fuzzer: Segv on unknown address in 161*77c1e3ccSAndroid Build Coastguard Worker od_ec_dec_init 162*77c1e3ccSAndroid Build Coastguard Worker * Arm SVE build fixes. 163*77c1e3ccSAndroid Build Coastguard Worker * av1_block_error_lp_neon: fix block_size param type 164*77c1e3ccSAndroid Build Coastguard Worker * av1_block_error_lp_sve: fix block_size param type 165*77c1e3ccSAndroid Build Coastguard Worker 166*77c1e3ccSAndroid Build Coastguard Worker2024-04-09 v3.9.0 167*77c1e3ccSAndroid Build Coastguard Worker This release includes new codec interfaces, compression efficiency and 168*77c1e3ccSAndroid Build Coastguard Worker perceptual improvements, speedup for RTC for both video and screen content, 169*77c1e3ccSAndroid Build Coastguard Worker and many bug fixes. This release is ABI compatible with the previous release. 170*77c1e3ccSAndroid Build Coastguard Worker 171*77c1e3ccSAndroid Build Coastguard Worker - New Features 172*77c1e3ccSAndroid Build Coastguard Worker * New codec control 173*77c1e3ccSAndroid Build Coastguard Worker * AV1E_SET_SVC_FRAME_DROP_MODE is added to configure the SVC encoder to 174*77c1e3ccSAndroid Build Coastguard Worker only drop spatial layers or the whole superframe. 175*77c1e3ccSAndroid Build Coastguard Worker * Active Map is fixed and tested for RTC. 176*77c1e3ccSAndroid Build Coastguard Worker * CONFIG_QUANT_MATRIX is added to disable quantization matrices when aom 177*77c1e3ccSAndroid Build Coastguard Worker decoder is disabled with CONFIG_AV1_DECODER. Reduces ~10% binary size when 178*77c1e3ccSAndroid Build Coastguard Worker both are disabled. 179*77c1e3ccSAndroid Build Coastguard Worker * libwebm is updated to libwebm-1.0.0.31-1-gaffd7f4. 180*77c1e3ccSAndroid Build Coastguard Worker 181*77c1e3ccSAndroid Build Coastguard Worker - Compression Efficiency Improvements 182*77c1e3ccSAndroid Build Coastguard Worker * RTC encoding improvements 183*77c1e3ccSAndroid Build Coastguard Worker * 1-2% BD-rate gain for screen content with temporal layers; 5% BD-rate 184*77c1e3ccSAndroid Build Coastguard Worker gain on scrolling content. 185*77c1e3ccSAndroid Build Coastguard Worker 186*77c1e3ccSAndroid Build Coastguard Worker - Perceptual Quality Improvements 187*77c1e3ccSAndroid Build Coastguard Worker * For RTC screen content 188*77c1e3ccSAndroid Build Coastguard Worker * Reduced color artifacts for RTC screen content 189*77c1e3ccSAndroid Build Coastguard Worker * Visual quality improved for scene changes for SVC with quality layers. 190*77c1e3ccSAndroid Build Coastguard Worker * Removed visual artifacts for speed 11 191*77c1e3ccSAndroid Build Coastguard Worker 192*77c1e3ccSAndroid Build Coastguard Worker - Speedups: 193*77c1e3ccSAndroid Build Coastguard Worker * RTC Speed 11: aggressive speedup setting added for video mode, 194*77c1e3ccSAndroid Build Coastguard Worker resolutions <= VGA: ~30% faster than speed 10. 195*77c1e3ccSAndroid Build Coastguard Worker * 5-9% speed up for high bit-depth encoding with good mode on Arm, half of 196*77c1e3ccSAndroid Build Coastguard Worker which comes from SVE/SVE2 optimizations. 197*77c1e3ccSAndroid Build Coastguard Worker 198*77c1e3ccSAndroid Build Coastguard Worker - Other improvements 199*77c1e3ccSAndroid Build Coastguard Worker * Further improvements to global motion estimation. 200*77c1e3ccSAndroid Build Coastguard Worker * Documented minimum required SIMD support: SSE4.1 on x86, Neon on Arm. 201*77c1e3ccSAndroid Build Coastguard Worker * Remove unneeded SIMD functions, saving >100 KiB from binary size. 202*77c1e3ccSAndroid Build Coastguard Worker * Cleaned up and improved pattern_search. 203*77c1e3ccSAndroid Build Coastguard Worker * Added end-to-end c vs SIMD bit-exactness test. 204*77c1e3ccSAndroid Build Coastguard Worker * Added config flag to calc psnr using libvmaf peak: use a slightly 205*77c1e3ccSAndroid Build Coastguard Worker different peak value for PSNR (1020 and 2040 for 10- and 12-bit) 206*77c1e3ccSAndroid Build Coastguard Worker 207*77c1e3ccSAndroid Build Coastguard Worker - Bug Fixes 208*77c1e3ccSAndroid Build Coastguard Worker * Fuzzing bug fixes 209*77c1e3ccSAndroid Build Coastguard Worker * b/329485898 Null-dereference WRITE in av1_cdef_frame_mt 210*77c1e3ccSAndroid Build Coastguard Worker * b/329810149 Null-dereference WRITE in av1_cdef_copy_sb8_16 211*77c1e3ccSAndroid Build Coastguard Worker * b/329813868 Ill in av1_cdef_frame_mt 212*77c1e3ccSAndroid Build Coastguard Worker * chromium:327882824 Null-dereference WRITE in av1_cdef_init_fb_row 213*77c1e3ccSAndroid Build Coastguard Worker * b/330014723 Null-dereference WRITE in 214*77c1e3ccSAndroid Build Coastguard Worker cdef_copy_rect8_16bit_to_16bit_avx2 215*77c1e3ccSAndroid Build Coastguard Worker * b/310455204 Null-dereference WRITE in prepare_enc_workers 216*77c1e3ccSAndroid Build Coastguard Worker * b/314858909 Heap-buffer-overflow in aom_variance64x64_avx2 217*77c1e3ccSAndroid Build Coastguard Worker * oss-fuzz:67132 av1_dec_fuzzer: ASSERT: (pbi->tile_count_minus_1 + 1) <= 218*77c1e3ccSAndroid Build Coastguard Worker (pbi->output_frame_width_in_tiles_minus_1 + 1) 219*77c1e3ccSAndroid Build Coastguard Worker * oss-fuzz:67058 av1_dec_fuzzer: ASSERT: i == 0 || tile_w == *w 220*77c1e3ccSAndroid Build Coastguard Worker * oss-fuzz:67161 av1_dec_fuzzer: ASSERT: i == 0 || tile_h == *h 221*77c1e3ccSAndroid Build Coastguard Worker * oss-fuzz:67059 av1_dec_fuzzer: Crash in mem_get_varsize 222*77c1e3ccSAndroid Build Coastguard Worker * oss-fuzz:67162 av1_dec_fuzzer: Use-of-uninitialized-value in 223*77c1e3ccSAndroid Build Coastguard Worker od_ec_decode_bool_q15 224*77c1e3ccSAndroid Build Coastguard Worker * oss-fuzz:67184 av1_dec_fuzzer: Heap-buffer-overflow in od_ec_dec_init 225*77c1e3ccSAndroid Build Coastguard Worker * oss-fuzz:67216 av1_dec_fuzzer: Heap-buffer-overflow in 226*77c1e3ccSAndroid Build Coastguard Worker od_ec_dec_normalize 227*77c1e3ccSAndroid Build Coastguard Worker * oss-fuzz:67055 av1_dec_fuzzer: Heap-buffer-overflow in 228*77c1e3ccSAndroid Build Coastguard Worker get_ls_tile_buffers 229*77c1e3ccSAndroid Build Coastguard Worker * libaom library 230*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3510 Large value of duration could cause encoder overflow 231*77c1e3ccSAndroid Build Coastguard Worker * chromium:328105513 Fix build conflicts between Abseil and libaom/libvpx 232*77c1e3ccSAndroid Build Coastguard Worker in Win ARM64 builds 233*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3544 AV1/SharpnessTestLarge.SharpnessPSNRTest failures after 234*77c1e3ccSAndroid Build Coastguard Worker 59c592bb8 235*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3531 Exception encountered with PSNR calculation 236*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3541 Can not compile correctly by CYGWIN 237*77c1e3ccSAndroid Build Coastguard Worker * chromium:41482688 heap-buffer-overflow write in vpx_img_read() 238*77c1e3ccSAndroid Build Coastguard Worker (tools_common.c) with VPX_IMG_FMT_NV12 239*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3521 Assertion failures on Arm in CNNTest.* in 240*77c1e3ccSAndroid Build Coastguard Worker av1_cnn_convolve_no_maxpool_padding_valid_2x2_neon and 241*77c1e3ccSAndroid Build Coastguard Worker av1_cnn_convolve_no_maxpool_padding_valid_5x5_neon 242*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3486 C vs NEON mismatch in AV1 encoder 243*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3536 Over write in highbd_dr_prediction_z3_upsample1_neon() 244*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3276 Significant progress on ensuring all allocations are 245*77c1e3ccSAndroid Build Coastguard Worker checked 246*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3491 heap-buffer-overflow encoding frames of size 256x256, 247*77c1e3ccSAndroid Build Coastguard Worker 512x512 in good quality usage mode using 4 threads 248*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3322 PSNR number discrepancy 249*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3493 Cmake generates garbage symbols for libaom_srcs.gni 250*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3478 GCC 12.2.0 emits a -Wstringop-overflow warning on 251*77c1e3ccSAndroid Build Coastguard Worker aom/av1/encoder/motion_search_facade.c 252*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3484 C vs NEON mismatch in AV1 encoder for high-bitdepth case 253*77c1e3ccSAndroid Build Coastguard Worker 254*77c1e3ccSAndroid Build Coastguard Worker2024-03-08 v3.8.2 255*77c1e3ccSAndroid Build Coastguard Worker This release includes several bug fixes. This release is ABI 256*77c1e3ccSAndroid Build Coastguard Worker compatible with the last release. See 257*77c1e3ccSAndroid Build Coastguard Worker https://aomedia.googlesource.com/aom/+log/v3.8.1..v3.8.2 for all the 258*77c1e3ccSAndroid Build Coastguard Worker commits in this release. 259*77c1e3ccSAndroid Build Coastguard Worker 260*77c1e3ccSAndroid Build Coastguard Worker - Bug Fixes 261*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3523: SIGFPE in av1_twopass_postencode_update() 262*77c1e3ccSAndroid Build Coastguard Worker pass2_strategy.c:4261. 263*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3535, b/317646516: Over reads in aom_convolve_copy_neon(). 264*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3543: invalid feature modifier when compiling 265*77c1e3ccSAndroid Build Coastguard Worker aom_dsp/arm/aom_convolve8_neon_i8mm.c on Debian 10 with arm64 266*77c1e3ccSAndroid Build Coastguard Worker architecture. 267*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3545: Failed to parse configurations due to inconsistent 268*77c1e3ccSAndroid Build Coastguard Worker elements between two arrays "av1_ctrl_args" and "av1_arg_ctrl_map" 269*77c1e3ccSAndroid Build Coastguard Worker in aomenc.c. 270*77c1e3ccSAndroid Build Coastguard Worker * oss-fuzz:66474, b/319140742: Integer-overflow in search_wiener. 271*77c1e3ccSAndroid Build Coastguard Worker * Zero initialize an array in cdef search. 272*77c1e3ccSAndroid Build Coastguard Worker 273*77c1e3ccSAndroid Build Coastguard Worker2024-01-17 v3.8.1 274*77c1e3ccSAndroid Build Coastguard Worker This release includes several bug fixes. This release is ABI 275*77c1e3ccSAndroid Build Coastguard Worker compatible with the last release. See 276*77c1e3ccSAndroid Build Coastguard Worker https://aomedia.googlesource.com/aom/+log/v3.8.0..v3.8.1 for all the 277*77c1e3ccSAndroid Build Coastguard Worker commits in this release. 278*77c1e3ccSAndroid Build Coastguard Worker 279*77c1e3ccSAndroid Build Coastguard Worker - Bug Fixes 280*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3520: get_cubic_kernel_dbl: Assertion `0 <= x && x < 1' 281*77c1e3ccSAndroid Build Coastguard Worker failed. 282*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3526: alloc_compressor_data() is called during every 283*77c1e3ccSAndroid Build Coastguard Worker aom_codec_control() call on the encoder. 284*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3527: aom/av1/encoder/mcomp.c:1810: av1_full_pixel_search: 285*77c1e3ccSAndroid Build Coastguard Worker Assertion `ms_params->ms_buffers.ref->width == 286*77c1e3ccSAndroid Build Coastguard Worker ms_params->ms_buffers.src->width' failed. 287*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3534: libaom encoder crashed by AOM_USAGE_ALL_INTRA and 288*77c1e3ccSAndroid Build Coastguard Worker AOM_EFLAG_NO_REF_LAST flags. 289*77c1e3ccSAndroid Build Coastguard Worker * b/310455204: Recreate workers if necessary. 290*77c1e3ccSAndroid Build Coastguard Worker * b/310548198: Update frame size in actual encoding. 291*77c1e3ccSAndroid Build Coastguard Worker * b/314858909: Do not use adaptive error estimate. 292*77c1e3ccSAndroid Build Coastguard Worker * Fix a hang of cmake on arm64 macOS with cmake 3.27.0 or later. 293*77c1e3ccSAndroid Build Coastguard Worker 294*77c1e3ccSAndroid Build Coastguard Worker2024-01-18 v3.7.2 295*77c1e3ccSAndroid Build Coastguard Worker This release includes three bug fixes. This release is ABI compatible 296*77c1e3ccSAndroid Build Coastguard Worker with the last release. See 297*77c1e3ccSAndroid Build Coastguard Worker https://aomedia.googlesource.com/aom/+log/v3.7.1..v3.7.2 for all the 298*77c1e3ccSAndroid Build Coastguard Worker commits in this release. 299*77c1e3ccSAndroid Build Coastguard Worker 300*77c1e3ccSAndroid Build Coastguard Worker - Bug Fixes 301*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3520: get_cubic_kernel_dbl: Assertion `0 <= x && x < 1' 302*77c1e3ccSAndroid Build Coastguard Worker failed. 303*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3526: alloc_compressor_data() is called during every 304*77c1e3ccSAndroid Build Coastguard Worker aom_codec_control() call on the encoder. Note that this partially 305*77c1e3ccSAndroid Build Coastguard Worker reverts the fix for bug aomedia:3349. 306*77c1e3ccSAndroid Build Coastguard Worker * b/310457427 and b/310766628: Only use rec_sse in CBR mode. 307*77c1e3ccSAndroid Build Coastguard Worker * Fix a hang of cmake on arm64 macOS with cmake 3.27.0 or later. 308*77c1e3ccSAndroid Build Coastguard Worker 309*77c1e3ccSAndroid Build Coastguard Worker2023-11-30 v3.8.0 310*77c1e3ccSAndroid Build Coastguard Worker This release includes new codec interfaces, compression efficiency and 311*77c1e3ccSAndroid Build Coastguard Worker perceptual improvements, speedup and memory optimizations and many bug 312*77c1e3ccSAndroid Build Coastguard Worker fixes. This release is ABI compatible with the last release. 313*77c1e3ccSAndroid Build Coastguard Worker 314*77c1e3ccSAndroid Build Coastguard Worker - New Features 315*77c1e3ccSAndroid Build Coastguard Worker * New codec controls: 316*77c1e3ccSAndroid Build Coastguard Worker * AV1E_SET_MAX_CONSEC_FRAME_DROP_CBR: Set the maximum number of 317*77c1e3ccSAndroid Build Coastguard Worker consecutive frame drops allowed for the frame dropper in 1 pass 318*77c1e3ccSAndroid Build Coastguard Worker CBR mode. 319*77c1e3ccSAndroid Build Coastguard Worker * Run-time CPU feature detection for all Arm platforms: 320*77c1e3ccSAndroid Build Coastguard Worker CRC, DotProd, I8MM and SVE CPU feature presence is detected at run 321*77c1e3ccSAndroid Build Coastguard Worker time and code paths making use of these features are selected 322*77c1e3ccSAndroid Build Coastguard Worker dynamically. These code paths provide meaningful performance gains 323*77c1e3ccSAndroid Build Coastguard Worker for standard bitdepth RTC and VoD encoding: up to 10% and 20% 324*77c1e3ccSAndroid Build Coastguard Worker respectively, over the Armv8.0-A baseline build. 325*77c1e3ccSAndroid Build Coastguard Worker * RTC: Frame-dropper support added to the rate control library. 326*77c1e3ccSAndroid Build Coastguard Worker * RTC Rate control improvements for low bitrate and for SVC. 327*77c1e3ccSAndroid Build Coastguard Worker 328*77c1e3ccSAndroid Build Coastguard Worker - Compression Efficiency Improvements 329*77c1e3ccSAndroid Build Coastguard Worker * Improved accuracy of cost estimation for loop restoration and 330*77c1e3ccSAndroid Build Coastguard Worker global motion. 331*77c1e3ccSAndroid Build Coastguard Worker * Improved selection of loop restoration unit size - full search up 332*77c1e3ccSAndroid Build Coastguard Worker to (non-realtime) speed 2, retuned static selection at higher 333*77c1e3ccSAndroid Build Coastguard Worker speeds. 334*77c1e3ccSAndroid Build Coastguard Worker * RTC Screen content mode: 3-5% bdrate gains across speeds 7 - 10. 335*77c1e3ccSAndroid Build Coastguard Worker * Good-quality mode: 0.2 - 0.5% bdrate gains across speeds 1 - 4. 336*77c1e3ccSAndroid Build Coastguard Worker 337*77c1e3ccSAndroid Build Coastguard Worker - Perceptual Quality Improvements 338*77c1e3ccSAndroid Build Coastguard Worker * RTC Screen: Improved visual quality for scrolling. 339*77c1e3ccSAndroid Build Coastguard Worker * RTC: Improved color quality for both screen and video mode. 340*77c1e3ccSAndroid Build Coastguard Worker 341*77c1e3ccSAndroid Build Coastguard Worker - Speedup and Memory Optimizations 342*77c1e3ccSAndroid Build Coastguard Worker * Good-quality, single-thread encoder speedups: 343*77c1e3ccSAndroid Build Coastguard Worker o 15% improvement for speed 5. 344*77c1e3ccSAndroid Build Coastguard Worker o 12% improvement for speed 6. 345*77c1e3ccSAndroid Build Coastguard Worker * Arm standard bitdepth VoD (--good): 346*77c1e3ccSAndroid Build Coastguard Worker o 8% speedup for speeds 0 and 1. 347*77c1e3ccSAndroid Build Coastguard Worker o 20% speedup for speed 2. 348*77c1e3ccSAndroid Build Coastguard Worker o 27% speedup for speed 3. 349*77c1e3ccSAndroid Build Coastguard Worker o 30% speedup for speed 4. 350*77c1e3ccSAndroid Build Coastguard Worker o 38% speedup for speeds 5 and 6. 351*77c1e3ccSAndroid Build Coastguard Worker * Arm high bitdepth VoD (--good): 352*77c1e3ccSAndroid Build Coastguard Worker o 206% speedup for speeds 0 and 1. 353*77c1e3ccSAndroid Build Coastguard Worker o 180% speedup for speed 2. 354*77c1e3ccSAndroid Build Coastguard Worker o 51% speedup for speeds 3 and 4. 355*77c1e3ccSAndroid Build Coastguard Worker o 68% speedup for speed 5. 356*77c1e3ccSAndroid Build Coastguard Worker o 72% speedup for speed 6. 357*77c1e3ccSAndroid Build Coastguard Worker * RTC Screen content: 2-6% speedup across speeds 7-10. 358*77c1e3ccSAndroid Build Coastguard Worker * RTC: 2-3% speedup for temporal layers. 359*77c1e3ccSAndroid Build Coastguard Worker * RTC: Speedups to reference scaling in nonrd pickmode. 360*77c1e3ccSAndroid Build Coastguard Worker * Good-quality mode: Simplified global motion estimation, saving 361*77c1e3ccSAndroid Build Coastguard Worker ~1200 lines of code and 1KB of tables while improving quality. 362*77c1e3ccSAndroid Build Coastguard Worker 363*77c1e3ccSAndroid Build Coastguard Worker - Bug Fixes 364*77c1e3ccSAndroid Build Coastguard Worker * Fixes to improve libaom stability in case of memory allocation 365*77c1e3ccSAndroid Build Coastguard Worker failures. 366*77c1e3ccSAndroid Build Coastguard Worker * Fixes to SIMD functions (x86 AVX2/SSE2 and ARM Neon). 367*77c1e3ccSAndroid Build Coastguard Worker * b/310457427, b/310766628: Bug fixes to only use rec_sse in CBR 368*77c1e3ccSAndroid Build Coastguard Worker mode. 369*77c1e3ccSAndroid Build Coastguard Worker 370*77c1e3ccSAndroid Build Coastguard Worker2023-11-17 v3.7.1 371*77c1e3ccSAndroid Build Coastguard Worker This release includes several bug fixes. This release is ABI 372*77c1e3ccSAndroid Build Coastguard Worker compatible with the last release. See 373*77c1e3ccSAndroid Build Coastguard Worker https://aomedia.googlesource.com/aom/+log/v3.7.0..v3.7.1 for all the 374*77c1e3ccSAndroid Build Coastguard Worker commits in this release. 375*77c1e3ccSAndroid Build Coastguard Worker 376*77c1e3ccSAndroid Build Coastguard Worker - Bug Fixes 377*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3349: heap overflow when increasing resolution 378*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3478: GCC 12.2.0 emits a -Wstringop-overflow warning on 379*77c1e3ccSAndroid Build Coastguard Worker aom/av1/encoder/motion_search_facade.c 380*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3489: Detect encoder and image high bit depth mismatch 381*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3491: heap-buffer-overflow on frame size change (CVE-2023-6879) 382*77c1e3ccSAndroid Build Coastguard Worker * b/303023614: Segfault at encoding time for high bit depth images 383*77c1e3ccSAndroid Build Coastguard Worker 384*77c1e3ccSAndroid Build Coastguard Worker2023-08-10 v3.7.0 385*77c1e3ccSAndroid Build Coastguard Worker This release includes new codec interfaces, compression efficiency and 386*77c1e3ccSAndroid Build Coastguard Worker perceptual improvements, speedup and memory optimizations and many bug fixes. 387*77c1e3ccSAndroid Build Coastguard Worker This release is ABI compatible with the last release. 388*77c1e3ccSAndroid Build Coastguard Worker 389*77c1e3ccSAndroid Build Coastguard Worker - New Features 390*77c1e3ccSAndroid Build Coastguard Worker * New codec controls: 391*77c1e3ccSAndroid Build Coastguard Worker * AV1E_SET_QUANTIZER_ONE_PASS: Set quantizer for each frame. 392*77c1e3ccSAndroid Build Coastguard Worker * AV1E_ENABLE_RATE_GUIDE_DELTAQ: enable the rate distribution guided delta 393*77c1e3ccSAndroid Build Coastguard Worker quantization in all intra mode. The "enable-rate-guide-deltaq" option is 394*77c1e3ccSAndroid Build Coastguard Worker added for this control. 395*77c1e3ccSAndroid Build Coastguard Worker * AV1E_SET_RATE_DISTRIBUTION_INFO: set the input file for rate 396*77c1e3ccSAndroid Build Coastguard Worker distribution used in all intra mode. The "rate-distribution-info" option 397*77c1e3ccSAndroid Build Coastguard Worker is added for this control. 398*77c1e3ccSAndroid Build Coastguard Worker * AV1E_GET_LUMA_CDEF_STRENGTH 399*77c1e3ccSAndroid Build Coastguard Worker * AV1E_SET_BITRATE_ONE_PASS_CBR 400*77c1e3ccSAndroid Build Coastguard Worker * AOM_SCALING_MODE is extended to include 2/3 and 1/3 scaling. 401*77c1e3ccSAndroid Build Coastguard Worker * aom_tune_metric is extended to include AOM_TUNE_VMAF_SALIENCY_MAP. 402*77c1e3ccSAndroid Build Coastguard Worker The "tune" option is extended to include "vmaf_saliency_map". 403*77c1e3ccSAndroid Build Coastguard Worker * SVC example encoder svc_encoder_rtc is able to use the rate control 404*77c1e3ccSAndroid Build Coastguard Worker library. 405*77c1e3ccSAndroid Build Coastguard Worker * Loopfilter level and CDEF filter level is supported by RTC rate control 406*77c1e3ccSAndroid Build Coastguard Worker library. 407*77c1e3ccSAndroid Build Coastguard Worker * New speed (--cpu-used) 11, intended for RTC screen sharing, added for 408*77c1e3ccSAndroid Build Coastguard Worker faster encoding with ~3% bdrate loss with 16% IC (instruction count) 409*77c1e3ccSAndroid Build Coastguard Worker speedup compared to speed 10. 410*77c1e3ccSAndroid Build Coastguard Worker 411*77c1e3ccSAndroid Build Coastguard Worker - Compression Efficiency Improvements 412*77c1e3ccSAndroid Build Coastguard Worker * Improved VoD encoding performance 413*77c1e3ccSAndroid Build Coastguard Worker * 0.1-0.6% BDrate gains for encoding speeds 2 to 6 414*77c1e3ccSAndroid Build Coastguard Worker * Rate control accuracy improvement in VBR mode 415*77c1e3ccSAndroid Build Coastguard Worker * RTC encoding improvements 416*77c1e3ccSAndroid Build Coastguard Worker * Screen content mode: 10-19% BDrate gains for speeds 6 - 10 417*77c1e3ccSAndroid Build Coastguard Worker * Temporal layers video mode, for speed 10: 418*77c1e3ccSAndroid Build Coastguard Worker * 2 temporal layers on low resolutions: 13-15% BDrate gain 419*77c1e3ccSAndroid Build Coastguard Worker * 3 temporal layers on VGA/HD: 3-4% BDrate gain 420*77c1e3ccSAndroid Build Coastguard Worker 421*77c1e3ccSAndroid Build Coastguard Worker - Perceptual Quality Improvements 422*77c1e3ccSAndroid Build Coastguard Worker * Fixed multiple block and color artifacts for RTC screen content by 423*77c1e3ccSAndroid Build Coastguard Worker * Incorporating color into RD cost for IDTX 424*77c1e3ccSAndroid Build Coastguard Worker * Reducing thresholds for palette mode in non RD mode 425*77c1e3ccSAndroid Build Coastguard Worker * Allowing more palette mode testing 426*77c1e3ccSAndroid Build Coastguard Worker * Improved color sensitivity for altref in non-RD mode. 427*77c1e3ccSAndroid Build Coastguard Worker * Reduced video flickering for temporal layer encoding. 428*77c1e3ccSAndroid Build Coastguard Worker 429*77c1e3ccSAndroid Build Coastguard Worker - Speedup and Memory Optimizations 430*77c1e3ccSAndroid Build Coastguard Worker * Speed up the VoD encoder 431*77c1e3ccSAndroid Build Coastguard Worker * 2-5% for encoding speed 2 to 4 432*77c1e3ccSAndroid Build Coastguard Worker * 9-15% for encoding speed 5 to 6 433*77c1e3ccSAndroid Build Coastguard Worker * ARM 434*77c1e3ccSAndroid Build Coastguard Worker * Standard bitdepth 435*77c1e3ccSAndroid Build Coastguard Worker * speed 5: +31% 436*77c1e3ccSAndroid Build Coastguard Worker * speed 4: +2% 437*77c1e3ccSAndroid Build Coastguard Worker * speed 3: +9% 438*77c1e3ccSAndroid Build Coastguard Worker * speed 2: +157% 439*77c1e3ccSAndroid Build Coastguard Worker * High bitdepth 440*77c1e3ccSAndroid Build Coastguard Worker * speed 5: +85% 441*77c1e3ccSAndroid Build Coastguard Worker * RTC speedups 442*77c1e3ccSAndroid Build Coastguard Worker * Screen content mode 443*77c1e3ccSAndroid Build Coastguard Worker * 15% IC speedup for speeds 6-8 444*77c1e3ccSAndroid Build Coastguard Worker * ARM: 7% for speed 9, 3% for speed 10 445*77c1e3ccSAndroid Build Coastguard Worker * Temporal layers video mode 446*77c1e3ccSAndroid Build Coastguard Worker * 7% speedup for 3 temporal layers on VGA/HD, for speed 10 447*77c1e3ccSAndroid Build Coastguard Worker * Single layer video 448*77c1e3ccSAndroid Build Coastguard Worker * x86: 2% IC speedup for speeds 7-10 449*77c1e3ccSAndroid Build Coastguard Worker * ARM: 2-4% speedup across speeds 5-10 450*77c1e3ccSAndroid Build Coastguard Worker 451*77c1e3ccSAndroid Build Coastguard Worker - Other improvements 452*77c1e3ccSAndroid Build Coastguard Worker * VoD: Major improvements to global motion estimation, now enabled up to 453*77c1e3ccSAndroid Build Coastguard Worker speed 4 454*77c1e3ccSAndroid Build Coastguard Worker * RTC 455*77c1e3ccSAndroid Build Coastguard Worker * Fixes to make lossless coding work. 456*77c1e3ccSAndroid Build Coastguard Worker * Fixes to make frame dropper (--drop_frames) work for single and temporal 457*77c1e3ccSAndroid Build Coastguard Worker layers. 458*77c1e3ccSAndroid Build Coastguard Worker * Improvements to RPS (reference picture selection) recovery frames. 459*77c1e3ccSAndroid Build Coastguard Worker * Improvements to rate control for temporal layers. 460*77c1e3ccSAndroid Build Coastguard Worker * libwebm is updated to libwebm-1.0.0.29-9-g1930e3c 461*77c1e3ccSAndroid Build Coastguard Worker 462*77c1e3ccSAndroid Build Coastguard Worker - Bug Fixes 463*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3261 Assertion failed when encoding av1 with film grain and 464*77c1e3ccSAndroid Build Coastguard Worker '--monochrome' flag 465*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3276 ensure all allocations are checked (partial fix) 466*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3451 The libaom library calls exit() 467*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3450 enable -Wshadow for C++ sources 468*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3449 Test Seg Faults After 469*77c1e3ccSAndroid Build Coastguard Worker b459af3e345be402db052a143fcc5383d4b74cbd 470*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3416 prune unused symbols / restrict symbol visibility 471*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3443 Jenkins failure: 472*77c1e3ccSAndroid Build Coastguard Worker UninstantiatedParameterizedTestSuite<EstimateNoiseTest> 473*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3434 realtime failures with CONFIG_BITSTREAM_DEBUG=1 474*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3433 DeltaqModeTest crash w/row_mt=0 475*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3429 Encoder crash when turn on both ExternalResize and 476*77c1e3ccSAndroid Build Coastguard Worker g_threads > 2 477*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3438 Build failure with 478*77c1e3ccSAndroid Build Coastguard Worker `-DSANITIZE=address -DBUILD_SHARED_LIBS=ON` when using clang. 479*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3435 Block artifacts when scrolling with AV1 in screen sharing 480*77c1e3ccSAndroid Build Coastguard Worker scenarios 481*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3170 vmaf tune presets produce extreme glitches in one scene 482*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3401 Building shared libaom with MSVC results in a race condition 483*77c1e3ccSAndroid Build Coastguard Worker with the export library 484*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3420 Floating point exception in av1_tpl_get_frame_importance() 485*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3424 heap-buffer-overflow in ScaleFilterCols_16_C() (SIGABRT) 486*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3417 examples/svc_encoder_rtc.c is using internal macros and 487*77c1e3ccSAndroid Build Coastguard Worker functions 488*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3372 SEGV in assign_frame_buffer_p av1_common_int.h 489*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3130 'cpu-features.h' file not found on Android NDK 22 490*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3415 Encoder/decoder mismatch for svc_encoder_rtc running 491*77c1e3ccSAndroid Build Coastguard Worker 1 SL 3 TL 492*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3412 Lossless Mode Fails Loopback Bit Test 493*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3409 The use of AV1_VAR_OFFS in av1/encoder/var_based_part.c is 494*77c1e3ccSAndroid Build Coastguard Worker incorrect for high bit depths 495*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3403 test_libaom fails with error message 496*77c1e3ccSAndroid Build Coastguard Worker "feenableexcept() failed" on Linux arm 497*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3370 Random color block at fast motion area 498*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3393 Assertion failure in av1_convolve_2d_sr_c() 499*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3392 Strong artifacting for high bit-depth real-time 500*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3376 aomenc --threads=10 --deltaq-mode=3 crashes after 501*77c1e3ccSAndroid Build Coastguard Worker "Allintra: multi-threading of calculating differential contrast" 502*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3380 Crashes and ASan and TSan errors in deltaq-mode=3 503*77c1e3ccSAndroid Build Coastguard Worker multithreading code 504*77c1e3ccSAndroid Build Coastguard Worker * chromium:1410766 heap-buffer-overflow in aom_yv12_copy_v_c 505*77c1e3ccSAndroid Build Coastguard Worker * Cannot set level via AV1E_SET_TARGET_SEQ_LEVEL_IDX 506*77c1e3ccSAndroid Build Coastguard Worker * Encoding failure due to the use of loop restoration with unintended use of 507*77c1e3ccSAndroid Build Coastguard Worker lossless mode. 508*77c1e3ccSAndroid Build Coastguard Worker * Signed integer overflow in scan_past_frames 509*77c1e3ccSAndroid Build Coastguard Worker * Signed integer overflow in update_a_sep_sym 510*77c1e3ccSAndroid Build Coastguard Worker * Flickering in AV1 1440p/2160p HDR transcodes 511*77c1e3ccSAndroid Build Coastguard Worker * Fixed artifacts with screen share at encoder speed 10 512*77c1e3ccSAndroid Build Coastguard Worker * Fixed prediction setup for IDTX 513*77c1e3ccSAndroid Build Coastguard Worker 514*77c1e3ccSAndroid Build Coastguard Worker2023-05-08 v3.6.1 515*77c1e3ccSAndroid Build Coastguard Worker This release includes several bug fixes. This release is ABI 516*77c1e3ccSAndroid Build Coastguard Worker compatible with the last release. See 517*77c1e3ccSAndroid Build Coastguard Worker https://aomedia.googlesource.com/aom/+log/v3.6.0..v3.6.1 for all the 518*77c1e3ccSAndroid Build Coastguard Worker commits in this release. 519*77c1e3ccSAndroid Build Coastguard Worker 520*77c1e3ccSAndroid Build Coastguard Worker - Bug Fixes 521*77c1e3ccSAndroid Build Coastguard Worker * aomedia:2871: Guard the support of the 7.x and 8.x levels for AV1 522*77c1e3ccSAndroid Build Coastguard Worker under the CONFIG_CWG_C013 config flag, and only output the 7.x and 523*77c1e3ccSAndroid Build Coastguard Worker 8.x levels when explicitly requested. 524*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3382: Choose sb_size by ppi instead of svc. 525*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3384: Fix fullpel search limits. 526*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3388: Replace left shift of xq_active by multiplication. 527*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3389: Fix MV clamping in av1_mv_pred. 528*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3390: set_ld_layer_depth: cap max_layer_depth to 529*77c1e3ccSAndroid Build Coastguard Worker MAX_ARF_LAYERS. 530*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3418: Fix MV clamping in av1_int_pro_motion_estimation. 531*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3429: Move lpf thread data init to lpf_pipeline_mt_init(). 532*77c1e3ccSAndroid Build Coastguard Worker * b:266719111: Fix undefined behavior in Arm Neon code. 533*77c1e3ccSAndroid Build Coastguard Worker * b:269840681: nonrd_opt: align scan tables. 534*77c1e3ccSAndroid Build Coastguard Worker * rtc: Fix is_key_frame setting in variance partition. 535*77c1e3ccSAndroid Build Coastguard Worker * Build: Fix build with clang-cl and Visual Studio. 536*77c1e3ccSAndroid Build Coastguard Worker * Build: Fix module definition file for MinGW/MSYS. 537*77c1e3ccSAndroid Build Coastguard Worker 538*77c1e3ccSAndroid Build Coastguard Worker2023-02-03 v3.6.0 539*77c1e3ccSAndroid Build Coastguard Worker This release includes compression efficiency and perceptual quality 540*77c1e3ccSAndroid Build Coastguard Worker improvements, speedup and memory optimizations, and some new features. 541*77c1e3ccSAndroid Build Coastguard Worker This release is ABI compatible with the last release. 542*77c1e3ccSAndroid Build Coastguard Worker 543*77c1e3ccSAndroid Build Coastguard Worker - New Features 544*77c1e3ccSAndroid Build Coastguard Worker * New values 20-27 (corresponding to levels 7.0-7.3 and 8.0-8.3) for 545*77c1e3ccSAndroid Build Coastguard Worker the encoder control AV1E_SET_TARGET_SEQ_LEVEL_IDX (note that the 546*77c1e3ccSAndroid Build Coastguard Worker proposal to add the new levels are still in draft status). The 547*77c1e3ccSAndroid Build Coastguard Worker original special value 24 (keep level stats only for level 548*77c1e3ccSAndroid Build Coastguard Worker monitoring) is renumbered as 32. 549*77c1e3ccSAndroid Build Coastguard Worker * New encoder control AV1E_SET_SKIP_POSTPROC_FILTERING to skip the 550*77c1e3ccSAndroid Build Coastguard Worker application of post-processing filters on reconstructed frame in 551*77c1e3ccSAndroid Build Coastguard Worker all intra mode. 552*77c1e3ccSAndroid Build Coastguard Worker * New encoder option "kf-max-pyr-height": Maximum height of pyramid 553*77c1e3ccSAndroid Build Coastguard Worker structure used for the GOP starting with a key frame (-1 to 5). 554*77c1e3ccSAndroid Build Coastguard Worker * Make SVC work for screen content. 555*77c1e3ccSAndroid Build Coastguard Worker * Rate control improvements to reduce frame-size spikes for screen 556*77c1e3ccSAndroid Build Coastguard Worker content coding. 557*77c1e3ccSAndroid Build Coastguard Worker * RISC-V architecture support with gcc toolchain. 558*77c1e3ccSAndroid Build Coastguard Worker 559*77c1e3ccSAndroid Build Coastguard Worker - Compression Efficiency Improvements 560*77c1e3ccSAndroid Build Coastguard Worker * Peak compression efficiency in VOD setting is improved by 1%. 561*77c1e3ccSAndroid Build Coastguard Worker * 0.7% - 2.2% RTC encoding BDrate gains for real time speed 8 to 10. 562*77c1e3ccSAndroid Build Coastguard Worker * 15% RTC encoding BDrate gains for screen content speed 10. 563*77c1e3ccSAndroid Build Coastguard Worker 564*77c1e3ccSAndroid Build Coastguard Worker - Perceptual Quality Improvements 565*77c1e3ccSAndroid Build Coastguard Worker * Resolved a visual quality issue that was reported for high 566*77c1e3ccSAndroid Build Coastguard Worker resolution clips (2K) for speed 4 and above in VOD use case. 567*77c1e3ccSAndroid Build Coastguard Worker * Visual quality improvements to screen content coding. 568*77c1e3ccSAndroid Build Coastguard Worker * Quality improvements to temporal layer RTC coding. 569*77c1e3ccSAndroid Build Coastguard Worker 570*77c1e3ccSAndroid Build Coastguard Worker - Speedup and Memory Optimizations 571*77c1e3ccSAndroid Build Coastguard Worker * RTC single-thread encoder speedup: 572*77c1e3ccSAndroid Build Coastguard Worker o ~6% instruction count reduction for speed 5 and 6. 573*77c1e3ccSAndroid Build Coastguard Worker o ~15% instruction count reduction for speed 7. 574*77c1e3ccSAndroid Build Coastguard Worker o ~10% instruction count reduction for speed 8 to 10 (>=360p 575*77c1e3ccSAndroid Build Coastguard Worker resolutions). 576*77c1e3ccSAndroid Build Coastguard Worker * RTC multi-thread encoder speedup (beyond single-thread speedup): 577*77c1e3ccSAndroid Build Coastguard Worker o 5-8% encode time reduction for speed 7 to 10. 578*77c1e3ccSAndroid Build Coastguard Worker * RTC screen-content encoder speedup: 579*77c1e3ccSAndroid Build Coastguard Worker o 11% instruction count reduction for speed 9 and 10 (>=720p 580*77c1e3ccSAndroid Build Coastguard Worker resolutions). 581*77c1e3ccSAndroid Build Coastguard Worker * ~5% reduction in heap memory requirements for RTC, speed 6 to 10. 582*77c1e3ccSAndroid Build Coastguard Worker * AVIF: 583*77c1e3ccSAndroid Build Coastguard Worker o 4-5% speedup for speed 9 in still-picture encoding mode. 584*77c1e3ccSAndroid Build Coastguard Worker o 3-4% heap memory reduction in still-picture encoding mode for 585*77c1e3ccSAndroid Build Coastguard Worker 360p-720p resolutions with multiple threads. 586*77c1e3ccSAndroid Build Coastguard Worker 587*77c1e3ccSAndroid Build Coastguard Worker - Bug Fixes 588*77c1e3ccSAndroid Build Coastguard Worker * Added a workaround for an AV1 specification bug which makes 589*77c1e3ccSAndroid Build Coastguard Worker TRANSLATION type global motion models unusable. 590*77c1e3ccSAndroid Build Coastguard Worker * Fixed AddressSanitizer global-buffer-overflow errors in 591*77c1e3ccSAndroid Build Coastguard Worker av1/encoder/arm/neon/av1_fwd_txfm2d_neon.c. 592*77c1e3ccSAndroid Build Coastguard Worker * Fixed AddressSanitizer heap-buffer-overflow error in 593*77c1e3ccSAndroid Build Coastguard Worker av1_wiener_convolve_add_src_neon(). 594*77c1e3ccSAndroid Build Coastguard Worker * chromium:1393384 Avoid scene detection on spatial resize. 595*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3308 Remove color artifacts under high motion. 596*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3310 Avoid out of memory failures with Visual Studio 2017, 597*77c1e3ccSAndroid Build Coastguard Worker 2019, and 2022 for Win32 x86 builds. 598*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3346 Make SVC work properly for screen content. 599*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3348 Fix a bug where an uninitialized search_site is used. 600*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3365 Work around what seems like a Visual Studio 2022 601*77c1e3ccSAndroid Build Coastguard Worker compiler optimization bug. 602*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3369 Incorrect PSNR values reported by libaom for 12-bit 603*77c1e3ccSAndroid Build Coastguard Worker encode. 604*77c1e3ccSAndroid Build Coastguard Worker 605*77c1e3ccSAndroid Build Coastguard Worker2022-08-31 v3.5.0 606*77c1e3ccSAndroid Build Coastguard Worker This release is ABI compatible with the last one, including speedup and memory 607*77c1e3ccSAndroid Build Coastguard Worker optimizations, and new APIs and features. 608*77c1e3ccSAndroid Build Coastguard Worker 609*77c1e3ccSAndroid Build Coastguard Worker - New Features 610*77c1e3ccSAndroid Build Coastguard Worker * Support for frame parallel encode for larger number of threads. --fp-mt 611*77c1e3ccSAndroid Build Coastguard Worker flag is available for all build configurations. 612*77c1e3ccSAndroid Build Coastguard Worker * New codec control AV1E_GET_NUM_OPERATING_POINTS 613*77c1e3ccSAndroid Build Coastguard Worker 614*77c1e3ccSAndroid Build Coastguard Worker - Speedup and Memory Optimizations 615*77c1e3ccSAndroid Build Coastguard Worker * Speed-up multithreaded encoding for good quality mode for larger number of 616*77c1e3ccSAndroid Build Coastguard Worker threads through frame parallel encoding: 617*77c1e3ccSAndroid Build Coastguard Worker o 30-34% encode time reduction for 1080p, 16 threads, 1x1 tile 618*77c1e3ccSAndroid Build Coastguard Worker configuration (tile_rows x tile_columns) 619*77c1e3ccSAndroid Build Coastguard Worker o 18-28% encode time reduction for 1080p, 16 threads, 2x4 tile 620*77c1e3ccSAndroid Build Coastguard Worker configuration 621*77c1e3ccSAndroid Build Coastguard Worker o 18-20% encode time reduction for 2160p, 32 threads, 2x4 tile 622*77c1e3ccSAndroid Build Coastguard Worker configuration 623*77c1e3ccSAndroid Build Coastguard Worker * 16-20% speed-up for speed=6 to 8 in still-picture encoding mode 624*77c1e3ccSAndroid Build Coastguard Worker * 5-6% heap memory reduction for speed=6 to 10 in real-time encoding mode 625*77c1e3ccSAndroid Build Coastguard Worker * Improvements to the speed for speed=7, 8 in real-time encoding mode 626*77c1e3ccSAndroid Build Coastguard Worker * Improvements to the speed for speed=9, 10 in real-time screen encoding 627*77c1e3ccSAndroid Build Coastguard Worker mode 628*77c1e3ccSAndroid Build Coastguard Worker * Optimizations to improve multi-thread efficiency in real-time encoding 629*77c1e3ccSAndroid Build Coastguard Worker mode 630*77c1e3ccSAndroid Build Coastguard Worker * 10-15% speed up for SVC with temporal layers 631*77c1e3ccSAndroid Build Coastguard Worker * SIMD optimizations: 632*77c1e3ccSAndroid Build Coastguard Worker o Improve av1_quantize_fp_32x32_neon() 1.05x to 1.24x faster 633*77c1e3ccSAndroid Build Coastguard Worker o Add aom_highbd_quantize_b{,_32x32,_64x64}_adaptive_neon() 3.15x to 5.6x 634*77c1e3ccSAndroid Build Coastguard Worker faster than "C" 635*77c1e3ccSAndroid Build Coastguard Worker o Improve av1_quantize_fp_64x64_neon() 1.17x to 1.66x faster 636*77c1e3ccSAndroid Build Coastguard Worker o Add aom_quantize_b_avx2() 1.4x to 1.7x faster than aom_quantize_b_avx() 637*77c1e3ccSAndroid Build Coastguard Worker o Add aom_quantize_b_32x32_avx2() 1.4x to 2.3x faster than 638*77c1e3ccSAndroid Build Coastguard Worker aom_quantize_b_32x32_avx() 639*77c1e3ccSAndroid Build Coastguard Worker o Add aom_quantize_b_64x64_avx2() 2.0x to 2.4x faster than 640*77c1e3ccSAndroid Build Coastguard Worker aom_quantize_b_64x64_ssse3() 641*77c1e3ccSAndroid Build Coastguard Worker o Add aom_highbd_quantize_b_32x32_avx2() 9.0x to 10.5x faster than 642*77c1e3ccSAndroid Build Coastguard Worker aom_highbd_quantize_b_32x32_c() 643*77c1e3ccSAndroid Build Coastguard Worker o Add aom_highbd_quantize_b_64x64_avx2() 7.3x to 9.7x faster than 644*77c1e3ccSAndroid Build Coastguard Worker aom_highbd_quantize_b_64x64_c() 645*77c1e3ccSAndroid Build Coastguard Worker o Improve aom_highbd_quantize_b_avx2() 1.07x to 1.20x faster 646*77c1e3ccSAndroid Build Coastguard Worker o Improve av1_quantize_fp_avx2() 1.13x to 1.49x faster 647*77c1e3ccSAndroid Build Coastguard Worker o Improve av1_quantize_fp_32x32_avx2() 1.07x to 1.54x faster 648*77c1e3ccSAndroid Build Coastguard Worker o Improve av1_quantize_fp_64x64_avx2() 1.03x to 1.25x faster 649*77c1e3ccSAndroid Build Coastguard Worker o Improve av1_quantize_lp_avx2() 1.07x to 1.16x faster 650*77c1e3ccSAndroid Build Coastguard Worker 651*77c1e3ccSAndroid Build Coastguard Worker - Bug fixes including but not limited to 652*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3206 Assert that skip_width > 0 for deconvolve function 653*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3278 row_mt enc: Delay top-right sync when intraBC is enabled 654*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3282 blend_a64_*_neon: fix bus error in armv7 655*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3283 FRAME_PARALLEL: Propagate border size to all cpis 656*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3283 RESIZE_MODE: Fix incorrect strides being used for motion 657*77c1e3ccSAndroid Build Coastguard Worker search 658*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3286 rtc-svc: Fix to dynamic_enable spatial layers 659*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3289 rtc-screen: Fix to skipping inter-mode test in nonrd 660*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3289 rtc-screen: Fix for skip newmv on flat blocks 661*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3299 Fix build failure with CONFIG_TUNE_VMAF=1 662*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3296 Fix the conflict --enable-tx-size-search=0 with nonrd mode 663*77c1e3ccSAndroid Build Coastguard Worker --enable-tx-size-search will be ignored in non-rd pick mode 664*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3304 Fix off-by-one error of max w/h in validate_config 665*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3306 Do not use pthread_setname_np on GNU/Hurd 666*77c1e3ccSAndroid Build Coastguard Worker * aomedia:3325 row-multithreading produces invalid bitstream in some cases 667*77c1e3ccSAndroid Build Coastguard Worker * chromium:1346938, chromium:1338114 668*77c1e3ccSAndroid Build Coastguard Worker * compiler_flags.cmake: fix flag detection w/cmake 3.17-3.18.2 669*77c1e3ccSAndroid Build Coastguard Worker * tools/*.py: update to python3 670*77c1e3ccSAndroid Build Coastguard Worker * aom_configure.cmake: detect PIE and set CONFIG_PIC 671*77c1e3ccSAndroid Build Coastguard Worker * test/simd_cmp_impl: use explicit types w/CompareSimd* 672*77c1e3ccSAndroid Build Coastguard Worker * rtc: Fix to disable segm for aq-mode=3 673*77c1e3ccSAndroid Build Coastguard Worker * rtc: Fix to color_sensitivity in variance partition 674*77c1e3ccSAndroid Build Coastguard Worker * rtc-screen: Fix bsize in model rd computation for intra chroma 675*77c1e3ccSAndroid Build Coastguard Worker * Fixes to ensure the correct behavior of the encoder algorithms (like 676*77c1e3ccSAndroid Build Coastguard Worker segmentation, computation of statistics, etc.) 677*77c1e3ccSAndroid Build Coastguard Worker 678*77c1e3ccSAndroid Build Coastguard Worker2022-06-17 v3.4.0 679*77c1e3ccSAndroid Build Coastguard Worker This release includes compression efficiency and perceptual quality 680*77c1e3ccSAndroid Build Coastguard Worker improvements, speedup and memory optimizations, and some new features. 681*77c1e3ccSAndroid Build Coastguard Worker There are no ABI or API breaking changes in this release. 682*77c1e3ccSAndroid Build Coastguard Worker 683*77c1e3ccSAndroid Build Coastguard Worker - New Features 684*77c1e3ccSAndroid Build Coastguard Worker * New --dist-metric flag with "qm-psnr" value to use quantization 685*77c1e3ccSAndroid Build Coastguard Worker matrices in the distortion computation for RD search. The default 686*77c1e3ccSAndroid Build Coastguard Worker value is "psnr". 687*77c1e3ccSAndroid Build Coastguard Worker * New command line option "--auto-intra-tools-off=1" to make 688*77c1e3ccSAndroid Build Coastguard Worker all-intra encoding faster for high bit rate under 689*77c1e3ccSAndroid Build Coastguard Worker "--deltaq-mode=3" mode. 690*77c1e3ccSAndroid Build Coastguard Worker * New rate control library aom_av1_rc for real-time hardware 691*77c1e3ccSAndroid Build Coastguard Worker encoders. Supports CBR for both one spatial layer and SVC. 692*77c1e3ccSAndroid Build Coastguard Worker * New image format AOM_IMG_FMT_NV12 can be used as input to the 693*77c1e3ccSAndroid Build Coastguard Worker encoder. The presence of AOM_IMG_FMT_NV12 can be detected at 694*77c1e3ccSAndroid Build Coastguard Worker compile time by checking if the macro AOM_HAVE_IMG_FMT_NV12 is 695*77c1e3ccSAndroid Build Coastguard Worker defined. 696*77c1e3ccSAndroid Build Coastguard Worker * New codec controls for the encoder: 697*77c1e3ccSAndroid Build Coastguard Worker o AV1E_SET_AUTO_INTRA_TOOLS_OFF. Only in effect if 698*77c1e3ccSAndroid Build Coastguard Worker --deltaq-mode=3. 699*77c1e3ccSAndroid Build Coastguard Worker o AV1E_SET_RTC_EXTERNAL_RC 700*77c1e3ccSAndroid Build Coastguard Worker o AV1E_SET_FP_MT. Only supported if libaom is built with 701*77c1e3ccSAndroid Build Coastguard Worker -DCONFIG_FRAME_PARALLEL_ENCODE=1. 702*77c1e3ccSAndroid Build Coastguard Worker o AV1E_GET_TARGET_SEQ_LEVEL_IDX 703*77c1e3ccSAndroid Build Coastguard Worker * New key-value pairs for the key-value API: 704*77c1e3ccSAndroid Build Coastguard Worker o --auto-intra-tools-off=0 (default) or 1. Only in effect if 705*77c1e3ccSAndroid Build Coastguard Worker --deltaq-mode=3. 706*77c1e3ccSAndroid Build Coastguard Worker o --strict-level-conformance=0 (default) or 1 707*77c1e3ccSAndroid Build Coastguard Worker o --fp-mt=0 (default) or 1. Only supported if libaom is built 708*77c1e3ccSAndroid Build Coastguard Worker with -DCONFIG_FRAME_PARALLEL_ENCODE=1. 709*77c1e3ccSAndroid Build Coastguard Worker * New aomenc options (not supported by the key-value API): 710*77c1e3ccSAndroid Build Coastguard Worker o --nv12 711*77c1e3ccSAndroid Build Coastguard Worker 712*77c1e3ccSAndroid Build Coastguard Worker - Compression Efficiency Improvements 713*77c1e3ccSAndroid Build Coastguard Worker * Correctly calculate SSE for high bitdepth in skip mode, 0.2% to 714*77c1e3ccSAndroid Build Coastguard Worker 0.6% coding gain. 715*77c1e3ccSAndroid Build Coastguard Worker * RTC at speed 9/10: BD-rate gain of ~4/5% 716*77c1e3ccSAndroid Build Coastguard Worker * RTC screen content coding: many improvements for real-time screen 717*77c1e3ccSAndroid Build Coastguard Worker at speed 10 (quality, speedup, and rate control), up to high 718*77c1e3ccSAndroid Build Coastguard Worker resolutions (1080p). 719*77c1e3ccSAndroid Build Coastguard Worker * RTC-SVC: fixes to make intra-only frames work for spatial layers. 720*77c1e3ccSAndroid Build Coastguard Worker * RTC-SVC: quality improvements for temporal layers. 721*77c1e3ccSAndroid Build Coastguard Worker * AV1 RT: A new passive rate control strategy for screen content, an 722*77c1e3ccSAndroid Build Coastguard Worker average of 7.5% coding gain, with some clips of 20+%. The feature 723*77c1e3ccSAndroid Build Coastguard Worker is turned off by default due to higher bit rate variation. 724*77c1e3ccSAndroid Build Coastguard Worker 725*77c1e3ccSAndroid Build Coastguard Worker - Perceptual Quality Improvements 726*77c1e3ccSAndroid Build Coastguard Worker * RTC: Visual quality improvements for high speeds (9/10) 727*77c1e3ccSAndroid Build Coastguard Worker * Improvements in coding quality for all intra mode 728*77c1e3ccSAndroid Build Coastguard Worker 729*77c1e3ccSAndroid Build Coastguard Worker - Speedup and Memory Optimizations 730*77c1e3ccSAndroid Build Coastguard Worker * ~10% speedup in good quality mode encoding. 731*77c1e3ccSAndroid Build Coastguard Worker * ~7% heap memory reduction in good quality encoding mode for speed 732*77c1e3ccSAndroid Build Coastguard Worker 5 and 6. 733*77c1e3ccSAndroid Build Coastguard Worker * Ongoing improvements to intra-frame encoding performance on Arm 734*77c1e3ccSAndroid Build Coastguard Worker * Faster encoding speed for "--deltaq-mode=3" mode. 735*77c1e3ccSAndroid Build Coastguard Worker * ~10% speedup for speed 5/6, ~15% speedup for speed 7/8, and 736*77c1e3ccSAndroid Build Coastguard Worker ~10% speedup for speed 9/10 in real time encoding mode 737*77c1e3ccSAndroid Build Coastguard Worker * ~20% heap memory reduction in still-picture encoding mode for 738*77c1e3ccSAndroid Build Coastguard Worker 360p-720p resolutions with multiple threads 739*77c1e3ccSAndroid Build Coastguard Worker * ~13% speedup for speed 6 and ~12% speedup for speed 9 in 740*77c1e3ccSAndroid Build Coastguard Worker still-picture encoding mode. 741*77c1e3ccSAndroid Build Coastguard Worker * Optimizations to improve multi-thread efficiency for still-picture 742*77c1e3ccSAndroid Build Coastguard Worker encoding mode. 743*77c1e3ccSAndroid Build Coastguard Worker 744*77c1e3ccSAndroid Build Coastguard Worker - Bug Fixes 745*77c1e3ccSAndroid Build Coastguard Worker * b/204460717: README.md: replace master with main 746*77c1e3ccSAndroid Build Coastguard Worker * b/210677928: libaom disable_order is surprising for 747*77c1e3ccSAndroid Build Coastguard Worker max_reference_frames=3 748*77c1e3ccSAndroid Build Coastguard Worker * b/222461449: -DCONFIG_TUNE_BUTTERAUGLI=1 broken 749*77c1e3ccSAndroid Build Coastguard Worker * b/227207606: write_greyscale writes incorrect chroma in highbd 750*77c1e3ccSAndroid Build Coastguard Worker mode 751*77c1e3ccSAndroid Build Coastguard Worker * b/229955363: Integer-overflow in linsolve_wiener 752*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/aomedia/2032 753*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/aomedia/2397 754*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/aomedia/2563 755*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/aomedia/2815 756*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/aomedia/3009 757*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/aomedia/3018 758*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/aomedia/3045 759*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/aomedia/3101 760*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/aomedia/3130 761*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/aomedia/3173 762*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/aomedia/3184 763*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/aomedia/3187 764*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/aomedia/3190 765*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/aomedia/3195 766*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/aomedia/3197 767*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/aomedia/3201 768*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/aomedia/3202 769*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/aomedia/3204 770*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/aomedia/3205 771*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/aomedia/3207 772*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/aomedia/3208 773*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/aomedia/3209 774*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/aomedia/3213 775*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/aomedia/3214 776*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/aomedia/3219 777*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/aomedia/3222 778*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/aomedia/3223 779*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/aomedia/3225 780*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/aomedia/3226 781*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/aomedia/3228 782*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/aomedia/3232 783*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/aomedia/3236 784*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/aomedia/3237 785*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/aomedia/3238 786*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/aomedia/3240 787*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/aomedia/3243 788*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/aomedia/3244 789*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/aomedia/3246 790*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/aomedia/3248 791*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/aomedia/3250 792*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/aomedia/3251 793*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/aomedia/3252 794*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/aomedia/3255 795*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/aomedia/3257 796*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/aomedia/3259 797*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/aomedia/3260 798*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/aomedia/3267 799*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/aomedia/3268 800*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/aomedia/3269 801*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/aomedia/3276 802*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/aomedia/3278 803*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/chromium/1290068 804*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/chromium/1303237 805*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/chromium/1304990 806*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/chromium/1321141 807*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/chromium/1321388 808*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/oss-fuzz/44846 809*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/oss-fuzz/44856 810*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/oss-fuzz/44862 811*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/oss-fuzz/44904 812*77c1e3ccSAndroid Build Coastguard Worker * https://crbug.com/oss-fuzz/45056 813*77c1e3ccSAndroid Build Coastguard Worker 814*77c1e3ccSAndroid Build Coastguard Worker2022-01-28 v3.3.0 815*77c1e3ccSAndroid Build Coastguard Worker This release includes compression efficiency and perceptual quality 816*77c1e3ccSAndroid Build Coastguard Worker improvements, speedup and memory optimizations, some new features, and 817*77c1e3ccSAndroid Build Coastguard Worker several bug fixes. 818*77c1e3ccSAndroid Build Coastguard Worker 819*77c1e3ccSAndroid Build Coastguard Worker - New Features 820*77c1e3ccSAndroid Build Coastguard Worker * AV1 RT: Introducing CDEF search level 5 821*77c1e3ccSAndroid Build Coastguard Worker * Changed real time speed 4 to behave the same as real time speed 5 822*77c1e3ccSAndroid Build Coastguard Worker * Add --deltaq-strength 823*77c1e3ccSAndroid Build Coastguard Worker * rtc: Allow scene-change and overshoot detection for svc 824*77c1e3ccSAndroid Build Coastguard Worker * rtc: Intra-only frame for svc 825*77c1e3ccSAndroid Build Coastguard Worker * AV1 RT: Option 2 for codec control AV1E_SET_ENABLE_CDEF to disable 826*77c1e3ccSAndroid Build Coastguard Worker CDEF on non-ref frames 827*77c1e3ccSAndroid Build Coastguard Worker * New codec controls AV1E_SET_LOOPFILTER_CONTROL and 828*77c1e3ccSAndroid Build Coastguard Worker AOME_GET_LOOPFILTER_LEVEL 829*77c1e3ccSAndroid Build Coastguard Worker * Improvements to three pass encoding 830*77c1e3ccSAndroid Build Coastguard Worker 831*77c1e3ccSAndroid Build Coastguard Worker - Compression Efficiency Improvements 832*77c1e3ccSAndroid Build Coastguard Worker * Overall compression gains: 0.6% 833*77c1e3ccSAndroid Build Coastguard Worker 834*77c1e3ccSAndroid Build Coastguard Worker - Perceptual Quality Improvements 835*77c1e3ccSAndroid Build Coastguard Worker * Improves the perceptual quality of high QP encoding for delta-q mode 4 836*77c1e3ccSAndroid Build Coastguard Worker * Auto select noise synthesis level for all intra 837*77c1e3ccSAndroid Build Coastguard Worker 838*77c1e3ccSAndroid Build Coastguard Worker - Speedup and Memory Optimizations 839*77c1e3ccSAndroid Build Coastguard Worker * Added many SSE2 optimizations. 840*77c1e3ccSAndroid Build Coastguard Worker * Good quality 2-pass encoder speedups: 841*77c1e3ccSAndroid Build Coastguard Worker o Speed 2: 9% 842*77c1e3ccSAndroid Build Coastguard Worker o Speed 3: 12.5% 843*77c1e3ccSAndroid Build Coastguard Worker o Speed 4: 8% 844*77c1e3ccSAndroid Build Coastguard Worker o Speed 5: 3% 845*77c1e3ccSAndroid Build Coastguard Worker o Speed 6: 4% 846*77c1e3ccSAndroid Build Coastguard Worker * Real time mode encoder speedups: 847*77c1e3ccSAndroid Build Coastguard Worker o Speed 5: 2.6% BDRate gain, 4% speedup 848*77c1e3ccSAndroid Build Coastguard Worker o Speed 6: 3.5% BDRate gain, 4% speedup 849*77c1e3ccSAndroid Build Coastguard Worker o Speed 9: 1% BDRate gain, 3% speedup 850*77c1e3ccSAndroid Build Coastguard Worker o Speed 10: 3% BDRate gain, neutral speedup 851*77c1e3ccSAndroid Build Coastguard Worker * All intra encoding speedups (AVIF): 852*77c1e3ccSAndroid Build Coastguard Worker o Single thread - speed 6: 8% 853*77c1e3ccSAndroid Build Coastguard Worker o Single thread - speed 9: 15% 854*77c1e3ccSAndroid Build Coastguard Worker o Multi thread(8) - speed 6: 14% 855*77c1e3ccSAndroid Build Coastguard Worker o Multi thread(8) - speed 9: 34% 856*77c1e3ccSAndroid Build Coastguard Worker 857*77c1e3ccSAndroid Build Coastguard Worker - Bug Fixes 858*77c1e3ccSAndroid Build Coastguard Worker * Issue 3163: Segmentation fault when using --enable-keyframe-filtering=2 859*77c1e3ccSAndroid Build Coastguard Worker * Issue 2436: Integer overflow in av1_warp_affine_c() 860*77c1e3ccSAndroid Build Coastguard Worker * Issue 3226: armv7 build failure due to gcc-11 861*77c1e3ccSAndroid Build Coastguard Worker * Issue 3195: Bug report on libaom (AddressSanitizer: heap-buffer-overflow) 862*77c1e3ccSAndroid Build Coastguard Worker * Issue 3191: Bug report on libaom (AddressSanitizer: SEGV on unknown 863*77c1e3ccSAndroid Build Coastguard Worker address) 864*77c1e3ccSAndroid Build Coastguard Worker * Issue 3176: Some SSE2/SADx4AvgTest.* tests fail on Windows 865*77c1e3ccSAndroid Build Coastguard Worker * Issue 3175: Some SSE2/SADSkipTest.* tests fail on Windows 866*77c1e3ccSAndroid Build Coastguard Worker 867*77c1e3ccSAndroid Build Coastguard Worker2021-10-13 v3.2.0 868*77c1e3ccSAndroid Build Coastguard Worker This release includes compression efficiency and perceptual quality 869*77c1e3ccSAndroid Build Coastguard Worker improvements, speedup and memory optimizations, as well as some new 870*77c1e3ccSAndroid Build Coastguard Worker features. 871*77c1e3ccSAndroid Build Coastguard Worker 872*77c1e3ccSAndroid Build Coastguard Worker - New Features 873*77c1e3ccSAndroid Build Coastguard Worker * Introduced speeds 7, 8, and 9 for all intra mode. 874*77c1e3ccSAndroid Build Coastguard Worker * Introduced speed 10 for real time mode. 875*77c1e3ccSAndroid Build Coastguard Worker * Introduced an API that allows external partition decisions. 876*77c1e3ccSAndroid Build Coastguard Worker * SVC: added support for compound prediction. 877*77c1e3ccSAndroid Build Coastguard Worker * SVC: added support for fixed SVC modes. 878*77c1e3ccSAndroid Build Coastguard Worker 879*77c1e3ccSAndroid Build Coastguard Worker - Compression Efficiency Improvements 880*77c1e3ccSAndroid Build Coastguard Worker * Intra-mode search improvement. 881*77c1e3ccSAndroid Build Coastguard Worker * Improved real time (RT) mode BDrate savings by ~5% (RT speed 5) 882*77c1e3ccSAndroid Build Coastguard Worker and ~12% (RT speed 6). The improvement was measured on the video 883*77c1e3ccSAndroid Build Coastguard Worker conference set. 884*77c1e3ccSAndroid Build Coastguard Worker * Improved real time mode for nonrd path (speed 7, 8, 9): BDrate 885*77c1e3ccSAndroid Build Coastguard Worker gains of ~3-5%. 886*77c1e3ccSAndroid Build Coastguard Worker * Rate control and RD adjustments based on ML research in VP9. 887*77c1e3ccSAndroid Build Coastguard Worker Gains of ~0.5-1.0% for HD. 888*77c1e3ccSAndroid Build Coastguard Worker 889*77c1e3ccSAndroid Build Coastguard Worker - Perceptual Quality Improvements 890*77c1e3ccSAndroid Build Coastguard Worker * Added a new mode --deltaq-mode=3 to improve perceptual quality 891*77c1e3ccSAndroid Build Coastguard Worker based on a differential contrast model for still images. 892*77c1e3ccSAndroid Build Coastguard Worker * Added a new mode --deltaq-mode=4 to improve perceptual quality 893*77c1e3ccSAndroid Build Coastguard Worker based on user rated cq_level data set for still images. 894*77c1e3ccSAndroid Build Coastguard Worker * Weighting of some intra mode and partition size choices to better 895*77c1e3ccSAndroid Build Coastguard Worker manage and retain texture. 896*77c1e3ccSAndroid Build Coastguard Worker 897*77c1e3ccSAndroid Build Coastguard Worker - Speedup and Memory Optimizations 898*77c1e3ccSAndroid Build Coastguard Worker * Further improved 2-pass good quality encoder speed: 899*77c1e3ccSAndroid Build Coastguard Worker o Speed 2 speedup: 18% 900*77c1e3ccSAndroid Build Coastguard Worker o Speed 3 speedup: 22% 901*77c1e3ccSAndroid Build Coastguard Worker o Speed 4 speedup: 37% 902*77c1e3ccSAndroid Build Coastguard Worker o Speed 5 speedup: 30% 903*77c1e3ccSAndroid Build Coastguard Worker o Speed 6 speedup: 20% 904*77c1e3ccSAndroid Build Coastguard Worker * Optimized the real time encoder (measured on the video conference 905*77c1e3ccSAndroid Build Coastguard Worker set): 906*77c1e3ccSAndroid Build Coastguard Worker o RT speed 5 speedup: 110% 907*77c1e3ccSAndroid Build Coastguard Worker o RT speed 6 speedup: 77% 908*77c1e3ccSAndroid Build Coastguard Worker 909*77c1e3ccSAndroid Build Coastguard Worker - Bug Fixes 910*77c1e3ccSAndroid Build Coastguard Worker * Issue 3069: Fix one-pass mode keyframe placement off-by-one error. 911*77c1e3ccSAndroid Build Coastguard Worker * Issue 3156: Fix a bug in av1_quantize_lp AVX2 optimization. 912*77c1e3ccSAndroid Build Coastguard Worker 913*77c1e3ccSAndroid Build Coastguard Worker2021-09-29 v3.1.3 914*77c1e3ccSAndroid Build Coastguard Worker This release includes several bug fixes. 915*77c1e3ccSAndroid Build Coastguard Worker 916*77c1e3ccSAndroid Build Coastguard Worker - Bug fixes: 917*77c1e3ccSAndroid Build Coastguard Worker The following four cmake changes should help the people building 918*77c1e3ccSAndroid Build Coastguard Worker libaom using MSVC. 919*77c1e3ccSAndroid Build Coastguard Worker 1. exports: use CMAKE_SHARED_LIBRARY_PREFIX to determine lib name 920*77c1e3ccSAndroid Build Coastguard Worker https://aomedia-review.googlesource.com/c/aom/+/142342 921*77c1e3ccSAndroid Build Coastguard Worker 2. aom_install: Install lib dlls to bindir 922*77c1e3ccSAndroid Build Coastguard Worker https://aomedia-review.googlesource.com/c/aom/+/146546 923*77c1e3ccSAndroid Build Coastguard Worker 3. aom_install: use relpath for install 924*77c1e3ccSAndroid Build Coastguard Worker https://aomedia-review.googlesource.com/c/aom/+/146550 925*77c1e3ccSAndroid Build Coastguard Worker 4. aom_install: don't exclude msvc from install 926*77c1e3ccSAndroid Build Coastguard Worker https://aomedia-review.googlesource.com/c/aom/+/146547 927*77c1e3ccSAndroid Build Coastguard Worker 928*77c1e3ccSAndroid Build Coastguard Worker aom/aom_encoder.h: remove configure option reference 929*77c1e3ccSAndroid Build Coastguard Worker https://aomedia-review.googlesource.com/c/aom/+/146743 930*77c1e3ccSAndroid Build Coastguard Worker 931*77c1e3ccSAndroid Build Coastguard Worker Issue 3113: Tests for detecting chroma subsampling in 932*77c1e3ccSAndroid Build Coastguard Worker av1_copy_and_extend_frame() do not work when y_width or y_height is 933*77c1e3ccSAndroid Build Coastguard Worker 1 934*77c1e3ccSAndroid Build Coastguard Worker 935*77c1e3ccSAndroid Build Coastguard Worker Issue 3115: image2yuvconfig() should calculate uv_crop_width and 936*77c1e3ccSAndroid Build Coastguard Worker uv_crop_height from y_crop_width and y_crop_height 937*77c1e3ccSAndroid Build Coastguard Worker 938*77c1e3ccSAndroid Build Coastguard Worker Issue 3140: rc_overshoot_pct is documented as having a range of 939*77c1e3ccSAndroid Build Coastguard Worker 0-1000, but is range checked against 0-100 940*77c1e3ccSAndroid Build Coastguard Worker 941*77c1e3ccSAndroid Build Coastguard Worker Issue 3147: Build failure on Apple M1 arm64 942*77c1e3ccSAndroid Build Coastguard Worker 943*77c1e3ccSAndroid Build Coastguard Worker2021-07-20 v3.1.2 944*77c1e3ccSAndroid Build Coastguard Worker This release includes several bug fixes. 945*77c1e3ccSAndroid Build Coastguard Worker 946*77c1e3ccSAndroid Build Coastguard Worker - Bug fixes: 947*77c1e3ccSAndroid Build Coastguard Worker exports.cmake: use APPLE and WIN32 and use def for mingw-w64 948*77c1e3ccSAndroid Build Coastguard Worker https://aomedia-review.googlesource.com/c/aom/+/139882 949*77c1e3ccSAndroid Build Coastguard Worker 950*77c1e3ccSAndroid Build Coastguard Worker Issue 2993: Incorrect spatial_id when decoding base layer of 951*77c1e3ccSAndroid Build Coastguard Worker multi-layer stream 952*77c1e3ccSAndroid Build Coastguard Worker 953*77c1e3ccSAndroid Build Coastguard Worker Issue 3080: Chroma Resampling by Encoder on Y4M Inputs Files Tagged 954*77c1e3ccSAndroid Build Coastguard Worker as C420mpeg2 955*77c1e3ccSAndroid Build Coastguard Worker 956*77c1e3ccSAndroid Build Coastguard Worker Issue 3081: Use of uninitialized value $version_extra in 957*77c1e3ccSAndroid Build Coastguard Worker concatenation (.) or string at aom/build/cmake/version.pl line 88. 958*77c1e3ccSAndroid Build Coastguard Worker 959*77c1e3ccSAndroid Build Coastguard Worker2021-06-08 v3.1.1 960*77c1e3ccSAndroid Build Coastguard Worker This release includes several bug fixes. 961*77c1e3ccSAndroid Build Coastguard Worker 962*77c1e3ccSAndroid Build Coastguard Worker - Bug fixes: 963*77c1e3ccSAndroid Build Coastguard Worker Issue 2965: Cherry-picked the following four commits for the 964*77c1e3ccSAndroid Build Coastguard Worker tune=butteraugli mode. 965*77c1e3ccSAndroid Build Coastguard Worker 1. Add libjxl to pkg_config if enabled: 966*77c1e3ccSAndroid Build Coastguard Worker https://aomedia-review.googlesource.com/c/aom/+/136044 967*77c1e3ccSAndroid Build Coastguard Worker 2. Declare set_mb_butteraugli_rdmult_scaling static: 968*77c1e3ccSAndroid Build Coastguard Worker https://aomedia-review.googlesource.com/c/aom/+/134506 969*77c1e3ccSAndroid Build Coastguard Worker 3. Add color range detection in tune=butteraugli mode: 970*77c1e3ccSAndroid Build Coastguard Worker https://aomedia-review.googlesource.com/c/aom/+/135521 971*77c1e3ccSAndroid Build Coastguard Worker 4. Enable tune=butteraugli in all-intra mode: 972*77c1e3ccSAndroid Build Coastguard Worker https://aomedia-review.googlesource.com/c/aom/+/136082 973*77c1e3ccSAndroid Build Coastguard Worker 974*77c1e3ccSAndroid Build Coastguard Worker Issue 3021: Fix vmaf model initialization error when not set to 975*77c1e3ccSAndroid Build Coastguard Worker tune=vmaf 976*77c1e3ccSAndroid Build Coastguard Worker 977*77c1e3ccSAndroid Build Coastguard Worker Issue 3050: Compilation fails with -DCONFIG_TUNE_VMAF=1 978*77c1e3ccSAndroid Build Coastguard Worker 979*77c1e3ccSAndroid Build Coastguard Worker Issue 3054: Consistent crash on near-static screen content, keyframe 980*77c1e3ccSAndroid Build Coastguard Worker related 981*77c1e3ccSAndroid Build Coastguard Worker 982*77c1e3ccSAndroid Build Coastguard Worker2021-05-03 v3.1.0 983*77c1e3ccSAndroid Build Coastguard Worker This release adds an "all intra" mode to the encoder, which significantly 984*77c1e3ccSAndroid Build Coastguard Worker speeds up the encoding of AVIF still images at speed 6. 985*77c1e3ccSAndroid Build Coastguard Worker 986*77c1e3ccSAndroid Build Coastguard Worker - Upgrading: 987*77c1e3ccSAndroid Build Coastguard Worker All intra mode for encoding AVIF still images and AV1 all intra videos: 988*77c1e3ccSAndroid Build Coastguard Worker AOM_USAGE_ALL_INTRA (2) can be passed as the 'usage' argument to 989*77c1e3ccSAndroid Build Coastguard Worker aom_codec_enc_config_default(). 990*77c1e3ccSAndroid Build Coastguard Worker 991*77c1e3ccSAndroid Build Coastguard Worker New encoder control IDs added: 992*77c1e3ccSAndroid Build Coastguard Worker - AV1E_SET_ENABLE_DIAGONAL_INTRA: Enable diagonal (D45 to D203) intra 993*77c1e3ccSAndroid Build Coastguard Worker prediction modes (0: false, 1: true (default)). Also available as 994*77c1e3ccSAndroid Build Coastguard Worker "enable-diagonal-intra" for the aom_codec_set_option() function. 995*77c1e3ccSAndroid Build Coastguard Worker 996*77c1e3ccSAndroid Build Coastguard Worker New aom_tune_metric enum value: AOM_TUNE_BUTTERAUGLI. The new aomenc option 997*77c1e3ccSAndroid Build Coastguard Worker --tune=butteraugli was added to optimize the encoder's perceptual quality by 998*77c1e3ccSAndroid Build Coastguard Worker optimizing the Butteraugli metric. Install libjxl (JPEG XL) and then pass 999*77c1e3ccSAndroid Build Coastguard Worker -DCONFIG_TUNE_BUTTERAUGLI=1 to the cmake command to enable it. 1000*77c1e3ccSAndroid Build Coastguard Worker 1001*77c1e3ccSAndroid Build Coastguard Worker Addition of support for libvmaf 2.x. 1002*77c1e3ccSAndroid Build Coastguard Worker 1003*77c1e3ccSAndroid Build Coastguard Worker - Enhancements: 1004*77c1e3ccSAndroid Build Coastguard Worker Heap memory consumption for encoding AVIF still images is significantly 1005*77c1e3ccSAndroid Build Coastguard Worker reduced. 1006*77c1e3ccSAndroid Build Coastguard Worker 1007*77c1e3ccSAndroid Build Coastguard Worker - Bug fixes: 1008*77c1e3ccSAndroid Build Coastguard Worker Issue 2601: third_party/libaom fails licensecheck 1009*77c1e3ccSAndroid Build Coastguard Worker 1010*77c1e3ccSAndroid Build Coastguard Worker Issue 2950: Conditional expression for rc->this_key_frame_forced is always 1011*77c1e3ccSAndroid Build Coastguard Worker true in find_next_key_frame() 1012*77c1e3ccSAndroid Build Coastguard Worker 1013*77c1e3ccSAndroid Build Coastguard Worker Issue 2988: "make install" installs the aom.h header twice 1014*77c1e3ccSAndroid Build Coastguard Worker 1015*77c1e3ccSAndroid Build Coastguard Worker Issue 2992: Incorrectly printing the temporal_id twice in dump_obu tool 1016*77c1e3ccSAndroid Build Coastguard Worker 1017*77c1e3ccSAndroid Build Coastguard Worker Issue 2998: 1018*77c1e3ccSAndroid Build Coastguard Worker 1019*77c1e3ccSAndroid Build Coastguard Worker Issue 2999: 1020*77c1e3ccSAndroid Build Coastguard Worker 1021*77c1e3ccSAndroid Build Coastguard Worker Issue 3000: 1022*77c1e3ccSAndroid Build Coastguard Worker 1023*77c1e3ccSAndroid Build Coastguard Worker2021-02-24 v3.0.0 1024*77c1e3ccSAndroid Build Coastguard Worker This release includes compression efficiency improvement, speed improvement 1025*77c1e3ccSAndroid Build Coastguard Worker for realtime mode, as well as some new APIs. 1026*77c1e3ccSAndroid Build Coastguard Worker 1027*77c1e3ccSAndroid Build Coastguard Worker - Upgrading: 1028*77c1e3ccSAndroid Build Coastguard Worker Support for PSNR calculation based on stream bit-depth. 1029*77c1e3ccSAndroid Build Coastguard Worker 1030*77c1e3ccSAndroid Build Coastguard Worker New encoder control IDs added: 1031*77c1e3ccSAndroid Build Coastguard Worker - AV1E_SET_ENABLE_RECT_TX 1032*77c1e3ccSAndroid Build Coastguard Worker - AV1E_SET_VBR_CORPUS_COMPLEXITY_LAP 1033*77c1e3ccSAndroid Build Coastguard Worker - AV1E_GET_BASELINE_GF_INTERVAL 1034*77c1e3ccSAndroid Build Coastguard Worker - AV1E_SET_ENABLE_DNL_DENOISING 1035*77c1e3ccSAndroid Build Coastguard Worker 1036*77c1e3ccSAndroid Build Coastguard Worker New decoder control IDs added: 1037*77c1e3ccSAndroid Build Coastguard Worker - AOMD_GET_FWD_KF_PRESENT 1038*77c1e3ccSAndroid Build Coastguard Worker - AOMD_GET_FRAME_FLAGS 1039*77c1e3ccSAndroid Build Coastguard Worker - AOMD_GET_ALTREF_PRESENT 1040*77c1e3ccSAndroid Build Coastguard Worker - AOMD_GET_TILE_INFO 1041*77c1e3ccSAndroid Build Coastguard Worker - AOMD_GET_SCREEN_CONTENT_TOOLS_INFO 1042*77c1e3ccSAndroid Build Coastguard Worker - AOMD_GET_STILL_PICTURE 1043*77c1e3ccSAndroid Build Coastguard Worker - AOMD_GET_SB_SIZE 1044*77c1e3ccSAndroid Build Coastguard Worker - AOMD_GET_SHOW_EXISTING_FRAME_FLAG 1045*77c1e3ccSAndroid Build Coastguard Worker - AOMD_GET_S_FRAME_INFO 1046*77c1e3ccSAndroid Build Coastguard Worker 1047*77c1e3ccSAndroid Build Coastguard Worker New aom_tune_content enum value: AOM_CONTENT_FILM 1048*77c1e3ccSAndroid Build Coastguard Worker 1049*77c1e3ccSAndroid Build Coastguard Worker New aom_tune_metric enum value: AOM_TUNE_VMAF_NEG_MAX_GAIN 1050*77c1e3ccSAndroid Build Coastguard Worker 1051*77c1e3ccSAndroid Build Coastguard Worker Coefficient and mode update can be turned off via 1052*77c1e3ccSAndroid Build Coastguard Worker AV1E_SET_{COEFF/MODE}_COST_UPD_FREQ. 1053*77c1e3ccSAndroid Build Coastguard Worker 1054*77c1e3ccSAndroid Build Coastguard Worker New key & value API added, available with aom_codec_set_option() function. 1055*77c1e3ccSAndroid Build Coastguard Worker 1056*77c1e3ccSAndroid Build Coastguard Worker Scaling API expanded to include 1/4, 3/4 and 1/8. 1057*77c1e3ccSAndroid Build Coastguard Worker 1058*77c1e3ccSAndroid Build Coastguard Worker - Enhancements: 1059*77c1e3ccSAndroid Build Coastguard Worker Better multithreading performance with realtime mode. 1060*77c1e3ccSAndroid Build Coastguard Worker 1061*77c1e3ccSAndroid Build Coastguard Worker New speed 9 setting for faster realtime encoding. 1062*77c1e3ccSAndroid Build Coastguard Worker 1063*77c1e3ccSAndroid Build Coastguard Worker Smaller binary size with low bitdepth and realtime only build. 1064*77c1e3ccSAndroid Build Coastguard Worker 1065*77c1e3ccSAndroid Build Coastguard Worker Temporal denoiser and its optimizations on x86 and Neon. 1066*77c1e3ccSAndroid Build Coastguard Worker 1067*77c1e3ccSAndroid Build Coastguard Worker Optimizations for scaling. 1068*77c1e3ccSAndroid Build Coastguard Worker 1069*77c1e3ccSAndroid Build Coastguard Worker Faster encoding with speed settings 2 to 6 for good encoding mode. 1070*77c1e3ccSAndroid Build Coastguard Worker 1071*77c1e3ccSAndroid Build Coastguard Worker Improved documentation throughout the library, with function level 1072*77c1e3ccSAndroid Build Coastguard Worker documentation, tree view and support for the dot tool. 1073*77c1e3ccSAndroid Build Coastguard Worker 1074*77c1e3ccSAndroid Build Coastguard Worker - Bug fixes: 1075*77c1e3ccSAndroid Build Coastguard Worker Aside from those mentioned in v2.0.1 and v2.0.2, this release includes the 1076*77c1e3ccSAndroid Build Coastguard Worker following bug fixes: 1077*77c1e3ccSAndroid Build Coastguard Worker 1078*77c1e3ccSAndroid Build Coastguard Worker Issue 2940: Segfault when encoding with --use-16bit-internal and --limit > 1 1079*77c1e3ccSAndroid Build Coastguard Worker 1080*77c1e3ccSAndroid Build Coastguard Worker Issue 2941: Decoder mismatch with --rt --bit-depth=10 and --cpu-used=8 1081*77c1e3ccSAndroid Build Coastguard Worker 1082*77c1e3ccSAndroid Build Coastguard Worker Issue 2895: mingw-w64 i686 gcc fails to build 1083*77c1e3ccSAndroid Build Coastguard Worker 1084*77c1e3ccSAndroid Build Coastguard Worker Issue 2874: Separate ssse3 functions from sse2 file. 1085*77c1e3ccSAndroid Build Coastguard Worker 1086*77c1e3ccSAndroid Build Coastguard Worker2021-02-09 v2.0.2 1087*77c1e3ccSAndroid Build Coastguard Worker This release includes several bug fixes. 1088*77c1e3ccSAndroid Build Coastguard Worker 1089*77c1e3ccSAndroid Build Coastguard Worker - Bug fixes: 1090*77c1e3ccSAndroid Build Coastguard Worker Issue 2643: Modify the assertion in temporal filter intrinsics. 1091*77c1e3ccSAndroid Build Coastguard Worker 1092*77c1e3ccSAndroid Build Coastguard Worker Issue 2648: Fix unit test ThreadTestLarge.EncoderResultTest/49 1093*77c1e3ccSAndroid Build Coastguard Worker assertion failure. 1094*77c1e3ccSAndroid Build Coastguard Worker 1095*77c1e3ccSAndroid Build Coastguard Worker Issue 2869: Add -Wimplicit-function-declaration as C flag only. 1096*77c1e3ccSAndroid Build Coastguard Worker 1097*77c1e3ccSAndroid Build Coastguard Worker Issue 2878: Avoid memset in the av1_filter_intra_predictor module 1098*77c1e3ccSAndroid Build Coastguard Worker functions. 1099*77c1e3ccSAndroid Build Coastguard Worker 1100*77c1e3ccSAndroid Build Coastguard Worker Issue 2903: Fix a typo bug in apply_temporal_filter_planewise. 1101*77c1e3ccSAndroid Build Coastguard Worker 1102*77c1e3ccSAndroid Build Coastguard Worker Call av1_setup_frame_size() when dropping a frame in the 1103*77c1e3ccSAndroid Build Coastguard Worker encode_frame_to_data_rate() function in av1/encoder/encoder.c. 1104*77c1e3ccSAndroid Build Coastguard Worker 1105*77c1e3ccSAndroid Build Coastguard Worker2020-11-25 v2.0.1 1106*77c1e3ccSAndroid Build Coastguard Worker This release includes two bug fixes. 1107*77c1e3ccSAndroid Build Coastguard Worker 1108*77c1e3ccSAndroid Build Coastguard Worker - Bug fixes: 1109*77c1e3ccSAndroid Build Coastguard Worker Issue 2723: Fix crash in chroma_check() when generating a monochrome 1110*77c1e3ccSAndroid Build Coastguard Worker encoded stream in real-time mode. 1111*77c1e3ccSAndroid Build Coastguard Worker 1112*77c1e3ccSAndroid Build Coastguard Worker Issue 2833: Fix crash on some input when reduced still picture header is 1113*77c1e3ccSAndroid Build Coastguard Worker used in real-time mode and speed >=7. 1114*77c1e3ccSAndroid Build Coastguard Worker 1115*77c1e3ccSAndroid Build Coastguard Worker2020-05-07 v2.0.0 "Applejack" 1116*77c1e3ccSAndroid Build Coastguard Worker First official release of libaom. 1117*77c1e3ccSAndroid Build Coastguard Worker This release includes new real-time mode and SVC support. 1118*77c1e3ccSAndroid Build Coastguard Worker 1119*77c1e3ccSAndroid Build Coastguard Worker - Upgrading: 1120*77c1e3ccSAndroid Build Coastguard Worker AOM_SET_POSTPROC, AOM_CODEC_CAP_POSTPROC and AOM_CODEC_USE_POSTPROC are 1121*77c1e3ccSAndroid Build Coastguard Worker removed. 1122*77c1e3ccSAndroid Build Coastguard Worker 1123*77c1e3ccSAndroid Build Coastguard Worker AOM_SET_DBG_* is removed. 1124*77c1e3ccSAndroid Build Coastguard Worker 1125*77c1e3ccSAndroid Build Coastguard Worker Multi-resolution encoding is removed. 1126*77c1e3ccSAndroid Build Coastguard Worker 1127*77c1e3ccSAndroid Build Coastguard Worker put_frame and put_slice callbacks are removed. 1128*77c1e3ccSAndroid Build Coastguard Worker 1129*77c1e3ccSAndroid Build Coastguard Worker - Enhancements: 1130*77c1e3ccSAndroid Build Coastguard Worker Full-sweep document update for codec controls. 1131*77c1e3ccSAndroid Build Coastguard Worker 1132*77c1e3ccSAndroid Build Coastguard Worker2018-06-28 v1.0.0 1133*77c1e3ccSAndroid Build Coastguard Worker AOMedia Codec Workgroup Approved version 1.0 1134*77c1e3ccSAndroid Build Coastguard Worker 1135*77c1e3ccSAndroid Build Coastguard Worker2016-04-07 v0.1.0 "AOMedia Codec 1" 1136*77c1e3ccSAndroid Build Coastguard Worker This release is the first Alliance for Open Media codec. 1137