# 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.
"""
ATTRIBUTES = "suite:video"
TIME = "MEDIUM"
TEST_CATEGORY = "Functional"
TEST_CLASS = "video"
TEST_TYPE = "client"

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/
# The bitrate setting of 1080p comes from
# third_party/libjingle/source/talk/media/webrtc/simulcast.cc.
# Please do not change bitrates.
streams = [
    ('crowd/crowd1080-96f60dd6ff87ba8b129301a0f36efc58.yuv', 1920, 1080, 4000000),
    ('tulip2/tulip2-1280x720-1b95123232922fe0067869c74e19cd09.yuv', 1280, 720, 1200000),
    ('tulip2/tulip2-640x360-094bd827de18ca196a83cc6442b7b02f.yuv', 640, 360, 500000),
    ('tulip2/tulip2-320x180-55be7124b3aec1b72bfb57f433297193.yuv', 320, 180, 100000)]
# Disable the 240x136 video for http://crbug.com/548109.
# TODO: Enable the test after PSNR(with block) verification is merged:
#    ('tulip2/tulip2-240x136-ed58afc99d08e5d21013c1a5056e43bf.yuv', 240, 136, 100000)]

args_dict = utils.args_to_dict(args)
job.run_test('video_VideoEncodeAccelerator', in_cloud=True, streams=streams,
        profile=11, tag='vp8', capability='hw_enc_vp8_1080_30', **args_dict)
