AV1: av1src incorrectly determining Decoding Schedule Mode
Section E.3.2 of the AV1 specification states that:
To use Decoding Schedule Mode, the following parameters should be signaled by the encoded video bitstream:
• timing_info_present_flag equal to 1
• decoder_model_info_present_flag equal to 1
• decoder_model_present_for_this_op[ op ] equal to 1
In av1src/av1_uncompressed_header.c, decoder_model_mode is set only based on one of the above tests:
// Work out which decoder model mode is in use
decoder_model_mode = (decoder_model_info_present_flag ?
DECODER_MODEL_SCHEDULE :
DECODER_MODEL_RESOURCE_AVAILABILITY)
As a result av1src can fire this assertion when not in Decoding Schedule Mode (eg timing_info_present_flag==1 && decoder_model_info_present_flag==1 && decoder_model_present_for_this_op[ op ]==0):
if (decoder_model_mode == DECODER_MODEL_SCHEDULE) {
ASSERT(decoder_model_param_present_flag[i], "For DECODER_MODEL_SCHEDULE, all operating points must have decoder model parameters")
}