Release v3.0.0 Braeburn

2021-03-23 v3.0.0 Braeburn

This release includes compression efficiency improvement, speed improvement
for realtime mode, as well as some new APIs.

  - Upgrading:

    Support for PSNR calculation based on stream bit-depth.

    New encoder control IDs added:
      - AV1E_SET_ENABLE_RECT_TX
      - AV1E_SET_VBR_CORPUS_COMPLEXITY_LAP
      - AV1E_GET_BASELINE_GF_INTERVAL
      - AV1E_SET_ENABLE_DNL_DENOISING

    New decoder control IDs added:
      - AOMD_GET_FWD_KF_PRESENT
      - AOMD_GET_FRAME_FLAGS
      - AOMD_GET_ALTREF_PRESENT
      - AOMD_GET_TILE_INFO
      - AOMD_GET_SCREEN_CONTENT_TOOLS_INFO
      - AOMD_GET_STILL_PICTURE
      - AOMD_GET_SB_SIZE
      - AOMD_GET_SHOW_EXISTING_FRAME_FLAG
      - AOMD_GET_S_FRAME_INFO

    New aom_tune_content enum value: AOM_CONTENT_FILM

    New aom_tune_metric enum value: AOM_TUNE_VMAF_NEG_MAX_GAIN

    Coefficient and mode update can be turned off via
    AV1E_SET_{COEFF/MODE}_COST_UPD_FREQ.

    New key & value API added, available with aom_codec_set_option() function.
    Scaling API expanded to include 1/4, 3/4 and 1/8.

  - Enhancements:

    Better multithreading performance with realtime mode.

    New speed 9 setting for faster realtime encoding.

    Smaller binary size with low bitdepth and realtime only build.

    Temporal denoiser and its optimizations on x86 and Neon.

    Optimizations for scaling.

    Faster encoding with speed settings 2 to 6 for good encoding mode.

    Improved documentation throughout the library, with function level
    documentation, tree view and support for the dot tool.

  - Bug fixes:
    Aside from those mentioned in v2.0.1 and v2.0.2, this release includes the
    following bug fixes:

    Issue 2940: Segfault when encoding with --use-16bit-internal and --limit > 1

    Issue 2941: Decoder mismatch with --rt --bit-depth=10 and --cpu-used=8

    Issue 2895: mingw-w64 i686 gcc fails to build

    Issue 2874: Separate ssse3 functions from sse2 file.
  1. d853caa Avoid out of boundary read in region array by Jingning Han · 5 years ago braeburn v3.0.0
  2. 4e98b5e Guard out of boundary write in rate allocation by Jingning Han · 5 years ago
  3. 46d8a61 Remove pad in aom_codec_cx_pkt_t data by Jerome Jiang · 5 years ago
  4. 84ad11d cmake,get_asm_obj_format: use win32/win64 w/cygwin by James Zern · 5 years ago
  5. f034976 Bump up codec ABI version for control IDs re-arrangement by Jerome Jiang · 5 years ago v3.0.0-rc1
  6. 9b18092 Change library version for 3.0.0 release by Jerome Jiang · 5 years ago
  7. 01e0ba0 Rearrange control IDs for encoder, common, decoder by Jerome Jiang · 5 years ago
  8. ef57971 Bump up encoder ABI for change to aom_codec_cx_pkt by Jerome Jiang · 5 years ago
  9. 4597808 Update AUTHORS and mailmap by Jerome Jiang · 5 years ago
  10. cce2dee Add option to skip applying denoising with denoise-noise-level by n9Mtq4 · 5 years ago
  11. 744cbc4 Prepare for the libaom v2.0.2 release by Wan-Teh Chang · 5 years ago
  12. cc13f8b Fix mismatch for --enable-chroma-deltaq by Madhu Peringassery Krishnan · 5 years ago
  13. 0fa572b Add aom_clear_system_state() to frame rate funcs by Angie Chiang · 5 years ago
  14. 062479c Allocate loop restoration buffers conditionally by venkat sanampudi · 5 years ago
  15. ebb80c8 Add call to aom_clear_system_state() by Deepa K G · 5 years ago
  16. bcb6a06 Let the key & value API support all entries in av1_args. by Bohan Li · 5 years ago
  17. 67847e7 av1_key_value_api_test.cc when BUILD_SHARED_LIBS by Wan-Teh Chang · 5 years ago
  18. ae4e089 Export aom_codec_set_option from shared libraries by Wan-Teh Chang · 5 years ago
  19. ee207de AV1 RT: Fix 10 bit enc/dec mismatch by Fyodor Kyslov · 5 years ago v2.1.0-rc1
  20. e72d81f Revert "rtc-svc: Set the multi-threading per spatial layer" by Marco Paniconi · 5 years ago
  21. d636ad2 Skip compound mode evaluation for speed 2 and 3 by Yunqing Wang · 5 years ago
  22. d3c290b Fix VS build failure by Fyodor Kyslov · 5 years ago
  23. b666bde aom_frame_buffer.h: fix param name mismatch in doc by James Zern · 5 years ago
  24. a5ac501 Change key frame detection criteria by Cheng Chen · 5 years ago
  25. 5a1b33b Use highbd for obmc dsp functions by Jerome Jiang · 5 years ago
  26. d2f082e Fix tune vmaf build by Sai Deng · 5 years ago
  27. 0e964b7 add av1_ prefix to update_frame_size by Jerome Jiang · 5 years ago
  28. 3ff903a Fix the condition for disable_smooth_intra by Wan-Teh Chang · 5 years ago
  29. 45b6484 svc-rtc: Adjust logic for mode 2 of cdf-update by Marco Paniconi · 5 years ago
  30. b4fb304 Remove redundant initialization of costs by Deepa K G · 5 years ago
  31. c744ef7 svc: Fix seg fault caused by odd frame size on top SL by Jerome Jiang · 5 years ago
  32. 2fecfeb Add rdcost in partition stats collection by Cheng Chen · 5 years ago
  33. 582352c Move an mv_cost table init from temporal filter to tpl_model by chiyotsai · 5 years ago
  34. 3a22542 Disable av1_calc_indices_dim2 sse2 SIMD by Yunqing Wang · 5 years ago
  35. 9421ac8 The max height of GF group pyramid structure is 5 by Wan-Teh Chang · 5 years ago
  36. 6c1b9bd AV1 RT: Don't allocate color_index_map in nonRD mode by Fyodor Kyslov · 5 years ago
  37. 6e479d5 rtc: Disable temporal denoiser for speed <= 7 by Marco Paniconi · 5 years ago
  38. f8012e1 Add function to turn on grain synthesis by Jingning Han · 5 years ago
  39. 4aefbde Enable film grain synthesis in film mode by Jingning Han · 5 years ago
  40. a524b84 Add film mode to tune content by Jingning Han · 5 years ago
  41. 89fc934 Fix typos in the dev guide regarding gf group size selection. by Bohan Li · 5 years ago
  42. c075e55 Remove TODO comment on cpi check in encoder_encode by Wan-Teh Chang · 5 years ago
  43. 886b981 Simplify interpolation filter for compound search by Jingning Han · 5 years ago
  44. 5786774 Fix issues in multi-threading by Deepa K G · 5 years ago
  45. 72b651b Correct the condition used to set use_intra_txb_hash by Akshata Jadhav · 5 years ago
  46. 67857f9 Disable TPL compound prediction at speed 2 by Yunqing Wang · 5 years ago
  47. 2d023a6 rtc-svc: Fix to key frame setting when key_freq_max = 0 by Marco Paniconi · 5 years ago
  48. 7926ca6 AV1 RT: Introduce CDF update every other frame by Fyodor Kyslov · 5 years ago
  49. 1d791f0 Remove an unneeded void cast by Wan-Teh Chang · 5 years ago
  50. af47cec Remove designated initializers from y4m_test by Elliott Karpilovsky · 5 years ago
  51. c1047c7 Add unit tests for real time multi-threading by Deepa K G · 5 years ago
  52. 3d0593a Fix a compile error of collecting partition stats by Cheng Chen · 5 years ago
  53. b2d8258 Signal color-range in Y4M output by Elliott Karpilovsky · 5 years ago
  54. 35b4da5 Exclude av1_compute_stats from SIMD test by Yunqing Wang · 5 years ago
  55. aea918d Fix initialization of skip mode costs by Deepa K G · 5 years ago
  56. 156267a Remove extra best_coeff from mode_estimation by Angie Chiang · 5 years ago
  57. 06af354 Add av1_laplace_estimate_frame_rate() by Angie Chiang · 5 years ago
  58. 461d767 Fix compile error of collecting partition stats by Cheng Chen · 5 years ago
  59. 9ecbd50 Filter out decoder sources when it's disabled. by Jerome Jiang · 5 years ago
  60. 3ef12ac Add a config flag CONFIG_EXCLUDE_SIMD_MISMATCH by Yunqing Wang · 5 years ago
  61. 648c650 AV1 RT: Move MvCosts into dynamically alloc structure by Fyodor Kyslov · 5 years ago
  62. e87853a Update the valid range of AOME_SET_CPUUSED to 0..9 by Wan-Teh Chang · 5 years ago
  63. e6afebb Add av1_exponential_entropy & av1_laplace_entropy by Angie Chiang · 5 years ago
  64. 0690e68 Add LLVM bug no. for clang-cl static_assert issue by Wan-Teh Chang · 5 years ago
  65. be1d098 Error correction for SSE2 k_means by Krishna Malladi · 5 years ago
  66. 90aa0df Allocate alt-ref buffer conditionally by Jayasanker J · 5 years ago
  67. 525bb09 Disable av1_nn_predict sse3 optimization by Yunqing Wang · 5 years ago
  68. 93fedf5 pass2_strategy.c: Modify an assert. by Urvang Joshi · 5 years ago
  69. e7723a8 Fix to disable masked compound at speed 6 by Akshata Jadhav · 5 years ago
  70. e6c70c3 Initialize coeff, mode and mv costs by Deepa K G · 5 years ago
  71. 845b203 Fix compilation for CONFIG_LPF_MASK by Pascal Massimino · 5 years ago
  72. 757be90 kValidBlockSize[] error correction for k_means by Krishna Malladi · 5 years ago
  73. 677cc01 AV1 RT: Make TXB RD Records dynamically allocated by Fyodor Kyslov · 5 years ago
  74. d289ce9 SSE2 k_means implementation by Krishna Malladi · 5 years ago
  75. 45bf952 Clean-up selective_ref_gm speed feature by Akshata Jadhav · 5 years ago
  76. 3579604 Clean-up disable_smooth_interintra speed feature by Akshata Jadhav · 5 years ago
  77. cff8ac5 Relax constraints on Y4M header parsing by Elliott Karpilovsky · 5 years ago
  78. 4c24509 Remove unused structures from encodetxb.c/.h by Vishesh · 5 years ago
  79. 14be3cd Segregate utility functions from txb_rdopt.c by Vishesh · 5 years ago
  80. d13f09a Clean-up gm_disable_recode speed feature by Akshata Jadhav · 5 years ago
  81. 61c6fda Use the keyword _Static_assert directly by Wan-Teh Chang · 5 years ago
  82. 30be9a9 Exclude load_buffer_4x16 from realtime only build by Jerome Jiang · 5 years ago
  83. d9fd83d AV1 RT: Fix issue with CQ mode in Real Time by Fyodor Kyslov · 5 years ago
  84. a45092c Separate RDO related functions from encodetxb.c by Vishesh · 5 years ago
  85. 1aa1e53 Partition 1:4 search pruning by Yunqing Wang · 5 years ago
  86. 8c7bc80 rtc-svc: Set the multi-threading per spatial layer by Marco Paniconi · 5 years ago
  87. 2c52868 AV1 RT: Move ML-based partitioning to experiments by Fyodor Kyslov · 5 years ago
  88. 0ce9e3d rtc: Avoid avg_cdf_symbold in row-mt for rtc mode by Marco Paniconi · 5 years ago
  89. 84cb8b3 rtc-svc: Fixes to inter layer prediction for nonrd by Marco Paniconi · 5 years ago
  90. 57ae231 Compound motion search speedup by Yunqing Wang · 5 years ago
  91. 06023ae Relax constraints on Y4M header parsing by Elliott Karpilovsky · 5 years ago
  92. f402938 Consolidate prune extended partition search speed features by Akshata Jadhav · 5 years ago
  93. 26b751a Consolidate obmc related speed features by Akshata Jadhav · 5 years ago
  94. ca463b1 Clean-up auto_min_partition_based_on_simple_motion speed feature by Akshata Jadhav · 5 years ago
  95. 125c294 Clean-up prune_wedge_pred_diff_based speed feature by Akshata Jadhav · 5 years ago
  96. 0247e0a 12tap filter for av1_highbd_convolve_2d_sr_ssse3() by Krishna Malladi · 5 years ago
  97. 8e6d8b2 Fix divide by zero bug in tpl_model. by Bohan Li · 5 years ago
  98. 7607a0b rtc-svc: Fixes to svc sample encoder by Marco Paniconi · 5 years ago
  99. df9d878 Add more information in component timing by Yunqing Wang · 5 years ago
  100. 2cd66f6 Fix keyframe filter length, keyframe-filtering=2 by Angie Chiang · 5 years ago