diff options
Diffstat (limited to 'chromium/third_party/libaom')
4 files changed, 22 insertions, 7 deletions
diff --git a/chromium/third_party/libaom/README.chromium b/chromium/third_party/libaom/README.chromium index 60934136757..3405a94d577 100644 --- a/chromium/third_party/libaom/README.chromium +++ b/chromium/third_party/libaom/README.chromium @@ -2,8 +2,8 @@ Name: Alliance for Open Media Video Codec Short Name: libaom URL: https://aomedia.googlesource.com/aom/ Version: 3.4.0 -Date: Friday November 11 2022 -Revision: 4ebecefe77953f226e620821fe441e24547a121f +Date: Monday December 05 2022 +Revision: fcf671adc2f301c2d1fe3cfa6d545d59c5084d3d CPEPrefix: cpe:/a:aomedia:aomedia:3.4.0 License: BSD License File: source/libaom/LICENSE diff --git a/chromium/third_party/libaom/source/config/config/aom_version.h b/chromium/third_party/libaom/source/config/config/aom_version.h index 90c9c13020e..44f259c81d0 100644 --- a/chromium/third_party/libaom/source/config/config/aom_version.h +++ b/chromium/third_party/libaom/source/config/config/aom_version.h @@ -12,8 +12,8 @@ #define VERSION_MAJOR 3 #define VERSION_MINOR 5 #define VERSION_PATCH 0 -#define VERSION_EXTRA "289-g4ebecefe7" +#define VERSION_EXTRA "290-gfcf671adc" #define VERSION_PACKED \ ((VERSION_MAJOR << 16) | (VERSION_MINOR << 8) | (VERSION_PATCH)) -#define VERSION_STRING_NOSP "3.5.0-289-g4ebecefe7" -#define VERSION_STRING " 3.5.0-289-g4ebecefe7" +#define VERSION_STRING_NOSP "3.5.0-290-gfcf671adc" +#define VERSION_STRING " 3.5.0-290-gfcf671adc" diff --git a/chromium/third_party/libaom/source/libaom/av1/encoder/ratectrl.c b/chromium/third_party/libaom/source/libaom/av1/encoder/ratectrl.c index e6bb18486f6..d3ce8959c8b 100644 --- a/chromium/third_party/libaom/source/libaom/av1/encoder/ratectrl.c +++ b/chromium/third_party/libaom/source/libaom/av1/encoder/ratectrl.c @@ -2160,6 +2160,9 @@ void av1_rc_postencode_update(AV1_COMP *cpi, uint64_t bytes_used) { } #endif if (current_frame->frame_type == KEY_FRAME) rc->frames_since_key = 0; + + rc->prev_coded_width = cm->width; + rc->prev_coded_height = cm->height; // if (current_frame->frame_number == 1 && cm->show_frame) /* rc->this_frame_target = @@ -2176,6 +2179,8 @@ void av1_rc_postencode_update_drop_frame(AV1_COMP *cpi) { cpi->rc.rc_2_frame = 0; cpi->rc.rc_1_frame = 0; cpi->rc.prev_avg_frame_bandwidth = cpi->rc.avg_frame_bandwidth; + cpi->rc.prev_coded_width = cpi->common.width; + cpi->rc.prev_coded_height = cpi->common.height; } int av1_find_qindex(double desired_q, aom_bit_depth_t bit_depth, @@ -3120,8 +3125,15 @@ void av1_get_one_pass_rt_params(AV1_COMP *cpi, FRAME_TYPE *const frame_type, } } // Check for scene change: for SVC check on base spatial layer only. - if (cpi->sf.rt_sf.check_scene_detection && svc->spatial_layer_id == 0) - rc_scene_detection_onepass_rt(cpi, frame_input); + if (cpi->sf.rt_sf.check_scene_detection && svc->spatial_layer_id == 0) { + if (rc->prev_coded_width == cm->width && + rc->prev_coded_height == cm->height) { + rc_scene_detection_onepass_rt(cpi, frame_input); + } else if (cpi->src_sad_blk_64x64) { + aom_free(cpi->src_sad_blk_64x64); + cpi->src_sad_blk_64x64 = NULL; + } + } // Check for dynamic resize, for single spatial layer for now. // For temporal layers only check on base temporal layer. if (cpi->oxcf.resize_cfg.resize_mode == RESIZE_DYNAMIC) { diff --git a/chromium/third_party/libaom/source/libaom/av1/encoder/ratectrl.h b/chromium/third_party/libaom/source/libaom/av1/encoder/ratectrl.h index df177b9c306..9bb6ca1be97 100644 --- a/chromium/third_party/libaom/source/libaom/av1/encoder/ratectrl.h +++ b/chromium/third_party/libaom/source/libaom/av1/encoder/ratectrl.h @@ -256,6 +256,9 @@ typedef struct { int frame_level_fast_extra_bits; double frame_level_rate_correction_factors[RATE_FACTOR_LEVELS]; + + int prev_coded_width; + int prev_coded_height; /*!\endcond */ } RATE_CONTROL; |