mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-10-31 19:47:32 +09:00
Update aom to v1.0.0
Update aom to commit id d14c5bb4f336ef1842046089849dee4a301fbbf0.
This commit is contained in:
parent
bb61121b44
commit
48f6d2e034
1087 changed files with 154333 additions and 265310 deletions
79
third_party/aom/av1/common/timing.c
vendored
Normal file
79
third_party/aom/av1/common/timing.c
vendored
Normal file
|
|
@ -0,0 +1,79 @@
|
|||
/*
|
||||
* Copyright (c) 2016, Alliance for Open Media. All rights reserved
|
||||
*
|
||||
* This source code is subject to the terms of the BSD 2 Clause License and
|
||||
* the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
|
||||
* was not distributed with this source code in the LICENSE file, you can
|
||||
* obtain it at www.aomedia.org/license/software. If the Alliance for Open
|
||||
* Media Patent License 1.0 was not distributed with this source code in the
|
||||
* PATENTS file, you can obtain it at www.aomedia.org/license/patent.
|
||||
*/
|
||||
|
||||
#include "av1/common/timing.h"
|
||||
|
||||
/* Tables for AV1 max bitrates for different levels of main and high tier.
|
||||
* The tables are in Kbps instead of Mbps in the specification.
|
||||
* Note that depending on the profile, a multiplier is needed.
|
||||
*/
|
||||
|
||||
/* Max Bitrates for levels of Main Tier in kbps. Bitrate in main_kbps [31] */
|
||||
/* is a dummy value. The decoder model is not applicable for level 31. */
|
||||
static int32_t main_kbps[1 << LEVEL_BITS] = {
|
||||
1500, 3000, 0, 0, 6000, 10000, 0, 0, 12000, 20000, 0,
|
||||
0, 30000, 40000, 60000, 60000, 60000, 100000, 160000, 160000, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, (1 << 26)
|
||||
};
|
||||
|
||||
/* Max Bitrates for levels of High Tier in kbps. Bitrate in high_kbps [31] */
|
||||
/* is a dummy value. The decoder model is not applicable for level 31. */
|
||||
static int32_t high_kbps[1 << LEVEL_BITS] = {
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
30000, 50000, 0, 0, 100000, 160000, 240000, 240000,
|
||||
240000, 480000, 800000, 800000, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, (1 << 26)
|
||||
};
|
||||
|
||||
/* BitrateProfileFactor */
|
||||
static int bitrate_profile_factor[1 << PROFILE_BITS] = {
|
||||
1, 2, 3, 0, 0, 0, 0, 0
|
||||
};
|
||||
|
||||
int64_t max_level_bitrate(BITSTREAM_PROFILE seq_profile, int seq_level_idx,
|
||||
int seq_tier) {
|
||||
int64_t bitrate;
|
||||
|
||||
if (seq_tier) {
|
||||
bitrate = high_kbps[seq_level_idx] * bitrate_profile_factor[seq_profile];
|
||||
} else {
|
||||
bitrate = main_kbps[seq_level_idx] * bitrate_profile_factor[seq_profile];
|
||||
}
|
||||
|
||||
return bitrate * 1000;
|
||||
}
|
||||
|
||||
void set_aom_dec_model_info(aom_dec_model_info_t *decoder_model) {
|
||||
decoder_model->encoder_decoder_buffer_delay_length = 16;
|
||||
decoder_model->buffer_removal_delay_length = 10;
|
||||
decoder_model->frame_presentation_delay_length = 10;
|
||||
}
|
||||
|
||||
void set_dec_model_op_parameters(aom_dec_model_op_parameters_t *op_params) {
|
||||
op_params->decoder_model_param_present_flag = 1;
|
||||
op_params->decoder_buffer_delay = 90000 >> 1; // 0.5 s
|
||||
op_params->encoder_buffer_delay = 90000 >> 1; // 0.5 s
|
||||
op_params->low_delay_mode_flag = 0;
|
||||
op_params->display_model_param_present_flag = 1;
|
||||
op_params->initial_display_delay = 8; // 8 frames delay
|
||||
}
|
||||
|
||||
void set_resource_availability_parameters(
|
||||
aom_dec_model_op_parameters_t *op_params) {
|
||||
op_params->decoder_model_param_present_flag = 0;
|
||||
op_params->decoder_buffer_delay =
|
||||
70000; // Resource availability mode default
|
||||
op_params->encoder_buffer_delay =
|
||||
20000; // Resource availability mode default
|
||||
op_params->low_delay_mode_flag = 0; // Resource availability mode default
|
||||
op_params->display_model_param_present_flag = 1;
|
||||
op_params->initial_display_delay = 8; // 8 frames delay
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue