# 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, requested_bit_rate, requested_frame_rate,
#    requested_subsequent_bit_rate, requested_subsequent_frame_rate,
#    pixel_format)
# requested_frame_rate, requested_subsequent_bit_rate and
# requested_subsequent_frame_rate may be None, which means to set the default
# value.
#
# 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, None, None, None, 1),
    ('tulip2/tulip2-1280x720-1b95123232922fe0067869c74e19cd09.yuv',
     1280, 720, 1200000, None, None, None, 1),
    ('tulip2/tulip2-640x360-094bd827de18ca196a83cc6442b7b02f.yuv',
     640, 360, 500000, None, None, None, 1),
    ('tulip2/tulip2-320x180-55be7124b3aec1b72bfb57f433297193.yuv',
     320, 180, 100000, None, None, None, 1),

    # Change bit rate at the middle.
    ('tulip2/tulip2-1280x720-1b95123232922fe0067869c74e19cd09.yuv',
     1280, 720, 1200000, None, 300000, None, 1),
    ('tulip2/tulip2-1280x720-1b95123232922fe0067869c74e19cd09.yuv',
     1280, 720, 300000, None, 600000, None, 1),
    ('tulip2/tulip2-1280x720-1b95123232922fe0067869c74e19cd09.yuv',
     1280, 720, 600000, None, 1200000, None, 1),
    ]
# 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, None, None, None, 1)]

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)
