# 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.h264.bvt"
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.
"""
ATTRIBUTES = "suite:bvt-perbuild"
TIME = "SHORT"
TEST_CATEGORY = "Functional"
TEST_CLASS = "video"
TEST_TYPE = "client"
BUG_TEMPLATE = {
    'labels': ['OS-Chrome', 'VideoTestFailure'],
    'cc': ['chromeos-video-test-failures@google.com'],
}

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

# Format of each stream: (path, width, height, request_bit_rate)
streams = [('media/test/data/bear_320x192_40frames.yuv', 320, 192, 200000)]

args_dict = utils.args_to_dict(args)
job.run_test('video_VideoEncodeAccelerator', in_cloud=False, streams=streams,
        profile=1, tag='h264', capability='hw_enc_h264_1080_30', **args_dict)
