1#ifndef _VKTVIDEOCLIPINFO_HPP 2#define _VKTVIDEOCLIPINFO_HPP 3/*------------------------------------------------------------------------ 4 * Vulkan Conformance Tests 5 * ------------------------ 6 * 7 * Copyright (c) 2023 The Khronos Group Inc. 8 * 9 * Licensed under the Apache License, Version 2.0 (the "License"); 10 * you may not use this file except in compliance with the License. 11 * You may obtain a copy of the License at 12 * 13 * http://www.apache.org/licenses/LICENSE-2.0 14 * 15 * Unless required by applicable law or agreed to in writing, software 16 * distributed under the License is distributed on an "AS IS" BASIS, 17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 * See the License for the specific language governing permissions and 19 * limitations under the License. 20 * 21 *//*! 22 * \file 23 * \brief Reference checksums for video decode validation 24 * 25 * See the <vulkan_data_dir>/vulkan/video/frame_checksums.py file for 26 * instructions on generating the checksums for new tests. 27 *--------------------------------------------------------------------*/ 28#include "deDefs.hpp" 29#include "vktVideoTestUtils.hpp" 30 31#include <array> 32#include <string> 33#include <sstream> 34 35 36namespace vkt 37{ 38namespace video 39{ 40 41enum ClipName 42{ 43 CLIP_A = 0, 44 CLIP_B, 45 CLIP_C, 46 CLIP_D, 47 CLIP_H264_4K_26_IBP_MAIN, 48 CLIP_JELLY_HEVC, 49 50 CLIP_LAST, 51}; 52 53struct VideoProfileInfo 54{ 55 VkVideoCodecOperationFlagBitsKHR codecOperation; 56 VkVideoChromaSubsamplingFlagBitsKHR subsamplingFlags; 57 VkVideoComponentBitDepthFlagBitsKHR lumaBitDepth; 58 VkVideoComponentBitDepthFlagBitsKHR chromaBitDepth; 59 60 int profileIDC; // TODO: Avoid type-punning 61}; 62 63struct ClipInfo 64{ 65 ClipName name; 66 const char* filename; 67 VideoProfileInfo profile; 68 int totalFrames; 69 int framesInGOP; 70 int numGOPs; 71 const char** frameChecksums; 72}; 73 74const ClipInfo* clipInfo(ClipName c); 75const char* checksumForClipFrame(const ClipInfo* cinfo, int frameNumber); 76 77} // namespace video 78} // namespace vkt 79#endif // _VKTVIDEOCLIPINFO_HPP 80