# Copyright (C) 2025 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # # proto-file: third_party/android/mediapc_requirements/requirements.proto # proto-message: Requirement id: "5.3/H-1-2" name: "Adaptive Playback Frame Drop" description: "Adaptive playback frame drop" test_configs: { key: "1080p_30fps" value: { description: "Tests adaptive playback at 1080p resolution and 30fps" proto_field_number: 43 } } test_configs: { key: "1080p_60fps" value: { description: "Tests adaptive playback at 1080p resolution and 60fps" proto_field_number: 44 } } test_configs: { key: "4k_60fps" value: { description: "Tests adaptive playback at 4k resolution and 60fps" proto_field_number: 45 } } measurements: { key: "frame_drops_per_30sec" value: { description: "Frame dropped in 30 seconds" measurement_type: MEASUREMENT_TYPE_INT comparison: COMPARISON_LESS_THAN_OR_EQUAL proto_field_number: 3 } } measurements: { key: "frame_rate" value: { description: "Frame rate the test was ran at." measurement_type: MEASUREMENT_TYPE_DOUBLE comparison: COMPARISON_CONFIG proto_field_number: 4 } } measurements: { key: "resolution" value: { description: "Resolution the test was ran at." measurement_type: MEASUREMENT_TYPE_INT comparison: COMPARISON_CONFIG proto_field_number: 5 } } specs { key: 30 value { mpc: MEDIA_PERFORMANCE_CLASS_11 specification: "MUST NOT drop more than 1 frame in 10 seconds during a video resolution change in a 30 fps video session under load. Load is defined as a concurrent 1080p to 720p video-only transcoding session using hardware video codecs, as well as a 128Kbps AAC audio playback." test_config_id: "1080p_30fps" required_values { key: "frame_drops_per_30sec" value { int_value: 3 } } required_values { key: "frame_rate" value { double_value: 30.0 } } required_values { key: "resolution" value { int_value: 1080 } } } } specs { key: 31 value { mpc: MEDIA_PERFORMANCE_CLASS_12 specification: "MUST NOT drop more than 2 frames in 10 seconds during a video resolution change in a 60 fps video session under load. Load is defined as a concurrent 1080p to 720p video-only transcoding session using hardware video codecs, as well as a 128 kbps AAC audio playback." test_config_id: "1080p_60fps" required_values { key: "frame_drops_per_30sec" value { int_value: 6 } } required_values { key: "frame_rate" value { double_value: 60.0 } } required_values { key: "resolution" value { int_value: 1080 } } } } specs { key: 33 value { mpc: MEDIA_PERFORMANCE_CLASS_13 specification: "MUST NOT drop more than 1 frame in 10 seconds during a video resolution change in a 60 fps video session under load. Load is defined as a concurrent 1080p to 720p video-only transcoding session using hardware video codecs, as well as a 128 kbps AAC audio playback." test_config_id: "1080p_60fps" required_values { key: "frame_drops_per_30sec" value { int_value: 3 } } required_values { key: "frame_rate" value { double_value: 60.0 } } required_values { key: "resolution" value { int_value: 1080 } } } } specs { key: 34 value { mpc: MEDIA_PERFORMANCE_CLASS_14 specification: "MUST NOT drop more than 1 frame in 10 seconds during a video resolution change in a 60 fps video session under load for a 4K session." test_config_id: "4k_60fps" required_values { key: "frame_drops_per_30sec" value { int_value: 3 } } required_values { key: "frame_rate" value { double_value: 60.0 } } required_values { key: "resolution" value { int_value: 2160 } } } } specs { key: 35 value { mpc: MEDIA_PERFORMANCE_CLASS_15 specification: "same" test_config_id: "4k_60fps" required_values { key: "frame_drops_per_30sec" value { int_value: 3 } } required_values { key: "frame_rate" value { double_value: 60.0 } } required_values { key: "resolution" value { int_value: 2160 } } } } specs { key: 37 value { mpc: MEDIA_PERFORMANCE_CLASS_17 specification: "same" test_config_id: "4k_60fps" required_values { key: "frame_drops_per_30sec" value { int_value: 3 } } required_values { key: "frame_rate" value { double_value: 60.0 } } required_values { key: "resolution" value { int_value: 2160 } } } }