#ifndef _VKTVIDEOCLIPINFO_HPP #define _VKTVIDEOCLIPINFO_HPP /*------------------------------------------------------------------------ * Vulkan Conformance Tests * ------------------------ * * Copyright (c) 2023 The Khronos Group Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * *//*! * \file * \brief Reference checksums for video decode validation * * See the /vulkan/video/frame_checksums.py file for * instructions on generating the checksums for new tests. *--------------------------------------------------------------------*/ #include "deDefs.hpp" #include "vktVideoTestUtils.hpp" #include #include #include namespace vkt { namespace video { enum ClipName { CLIP_A = 0, CLIP_B, CLIP_C, CLIP_D, CLIP_H264_4K_26_IBP_MAIN, CLIP_JELLY_HEVC, CLIP_LAST, }; struct VideoProfileInfo { VkVideoCodecOperationFlagBitsKHR codecOperation; VkVideoChromaSubsamplingFlagBitsKHR subsamplingFlags; VkVideoComponentBitDepthFlagBitsKHR lumaBitDepth; VkVideoComponentBitDepthFlagBitsKHR chromaBitDepth; int profileIDC; // TODO: Avoid type-punning }; struct ClipInfo { ClipName name; const char* filename; VideoProfileInfo profile; int totalFrames; int framesInGOP; int numGOPs; const char** frameChecksums; }; const ClipInfo* clipInfo(ClipName c); const char* checksumForClipFrame(const ClipInfo* cinfo, int frameNumber); } // namespace video } // namespace vkt #endif // _VKTVIDEOCLIPINFO_HPP