# Copyright (c) 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_VideoEncodeAccelerator.vp8"
PURPOSE = "Verify Chromium hardware Video Encode Acceleration works."
CRITERIA = """
This test will fail if any of the tests in video_encode_accelerator_unittest
fails. Running video_encode_accelerator_unittest is skipped on machines that are
known not to support video encode.
"""
SUITE = "video"
TIME = "MEDIUM"
TEST_CATEGORY = "Functional"
TEST_CLASS = "video"
TEST_TYPE = "client"
DEPENDENCIES = 'hw_video_acc_enc_vp8'
BUG_TEMPLATE = {
    'labels': ['OS-Chrome', 'Cr-OS-Kernel-Video'],
}

DOC = """
This is a wrapper test for Chrome video_encode_accelerator_unittest.
"""

# Format of each stream: (path, width, height, request_bit_rate)
# Bitrates setting come from http://www.webmproject.org/hardware/rtc-coding-requirements/
# Please do not change bitrates.
streams = [
    ('tulip2/tulip2-1280x720-1b95123232922fe0067869c74e19cd09.yuv', 1280, 720, 1200000),
    ('tulip2/tulip2-640x360-094bd827de18ca196a83cc6442b7b02f.yuv', 640, 360, 500000),
    ('tulip2/tulip2-320x180-55be7124b3aec1b72bfb57f433297193.yuv', 320, 180, 100000),
    ('tulip2/tulip2-240x136-ed58afc99d08e5d21013c1a5056e43bf.yuv', 240, 136, 100000)]

job.run_test('video_VideoEncodeAccelerator', in_cloud=True, streams=streams,
        profile=11)
