# Copyright 2018 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

AUTHOR = 'Chrome OS Team'
NAME = 'power_Hangout.groups'
PURPOSE = """
Monitor the power of running VDA and VEA concurrently in a groups
Hangout like scenario.
"""
CRITERIA = """
The test fails if the vda_unittest or the vea_unittest fails or crashes.
"""
TIME = 'SHORT'
TEST_CATEGORY = 'Benchmark'
TEST_CLASS = 'power'
TEST_TYPE = 'client'
# Reboot in the lab after the test ends.
DEPENDENCIES = 'cleanup-reboot'
BUG_TEMPLATE = {
    'labels': ['OS-Chrome', 'VideoTestFailure'],
}

DOC = """
This test utilizes the vda_unittest and vea_unittest to measure the
power of using the hardware Video Decode/Encode Accelerator
concurrently.
"""

# Used resources. They will be downloaded in the beginning of the test.
resources = [
    'crowd/crowd720-41e9a3e6a6b1644ebdb3f5723fce96e5.vp8',
    'crowd/crowd180-bde69ca71393033d9187a2833720c9f8.vp8',
    'crowd/crowd720-3cfe7b096f765742b4aa79e55fe7c994.yuv',
    'crowd/crowd360-e84aac15c05b9b19250f3fc97722e0f6.yuv',
    'crowd/crowd180-6d71fa96da062037482619df31830a97.yuv']

# The videos to be decoded. Each entry consists of the following parts:
#   [vidoe_name, width, height, frame_num, fragment_num, profile]
decode_videos  = [['crowd720.vp8', 1280, 720, 500, 502, 11]]
decode_videos += [['crowd180.vp8', 320, 180, 500, 502, 11]] * 4

# The videos to be encoded.
#   [video_name, width, height, profile, bit_rate]
encode_videos = [
    ['crowd720.yuv', 1280, 720, 11, 1200000],
    ['crowd360.yuv', 640, 360, 11, 500000],
    ['crowd180.yuv', 320, 180, 11, 100000]]

job.run_test('video_HangoutHardwarePerf',
    resources=resources,
    decode_videos=decode_videos,
    encode_videos=encode_videos,
    measurement='power',
    capabilities=['hw_dec_vp8_1080_30', 'hw_enc_vp8_1080_30'],
    decode_threads=10,  # to test hardware requirement
    encode_threads=1)
