# Copyright 2014 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, chromeos-video@google.com'
NAME = 'video_HangoutHardwarePerf.vp8'
PURPOSE = """
Monitor the performance of running VDA and VEA concurrently in a Hangout
like scenario.
"""
CRITERIA = """
The test fails if the vda_unittest or the vea_unittest fails or crashes.
"""
ATTRIBUTES = "suite:bvt-perbuild, suite:crosbolt_perf_nightly"
TIME = 'SHORT'
TEST_CATEGORY = 'Performance'
TEST_CLASS = 'video'
TEST_TYPE = 'client'
# Reboot in the lab after the test ends.
DEPENDENCIES = 'cleanup-reboot'
BUG_TEMPLATE = {
    'labels': ['OS-Chrome', 'VideoTestFailure'],
    'cc': ['chromeos-video-test-failures@google.com'],
}

DOC = """
This test utilizes the vda_unittest and vea_unittest to measure the
performance 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='cpu',
    capabilities=['hw_dec_vp8_1080_30', 'hw_enc_vp8_1080_30'])
