chromium/third_party/vulkan-validation-layers/src/layers/state_tracker/video_session_state.cpp

/* Copyright (c) 2022-2024 The Khronos Group Inc.
 * Copyright (c) 2022-2024 RasterGrid Kft.
 *
 * 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.
 */
#include "state_tracker/video_session_state.h"
#include "state_tracker/image_state.h"
#include "state_tracker/state_tracker.h"
#include "generated/layer_chassis_dispatch.h"

#include <sstream>

namespace vvl {

VideoProfileDesc::VideoProfileDesc(VkPhysicalDevice physical_device, VkVideoProfileInfoKHR const *profile)
    :{}

VideoProfileDesc::~VideoProfileDesc() {}

bool VideoProfileDesc::InitProfile(VkVideoProfileInfoKHR const *profile) {}

void VideoProfileDesc::InitCapabilities(VkPhysicalDevice physical_device) {}

std::shared_ptr<const VideoProfileDesc> VideoProfileDesc::Cache::GetOrCreate(VkPhysicalDevice physical_device,
                                                                             VkVideoProfileInfoKHR const *profile) {}

std::shared_ptr<const VideoProfileDesc> VideoProfileDesc::Cache::Get(VkPhysicalDevice physical_device,
                                                                     VkVideoProfileInfoKHR const *profile) {}

SupportedVideoProfiles VideoProfileDesc::Cache::Get(VkPhysicalDevice physical_device,
                                                    VkVideoProfileListInfoKHR const *profile_list) {}

void VideoProfileDesc::Cache::Release(VideoProfileDesc const *desc) {}

VideoPictureResource::VideoPictureResource()
    :{}

VideoPictureResource::VideoPictureResource(const ValidationStateTracker &dev_data, VkVideoPictureResourceInfoKHR const &res)
    :{}

VkImageSubresourceRange VideoPictureResource::GetImageSubresourceRange(ImageView const *image_view_state, uint32_t layer) {}

VkOffset3D VideoPictureResource::GetEffectiveImageOffset(const vvl::VideoSession &vs_state) const {}

VkExtent3D VideoPictureResource::GetEffectiveImageExtent(const vvl::VideoSession &vs_state) const {}

VideoPictureID::VideoPictureID(VideoProfileDesc const &profile, VkVideoReferenceSlotInfoKHR const &slot) {}

void VideoSessionDeviceState::Reset() {}

void VideoSessionDeviceState::Activate(int32_t slot_index, const VideoPictureID &picture_id, const VideoPictureResource &res) {}

void VideoSessionDeviceState::Invalidate(int32_t slot_index, const VideoPictureID &picture_id) {}

void VideoSessionDeviceState::Deactivate(int32_t slot_index) {}

class RateControlStateMismatchRecorder {};

bool VideoSessionDeviceState::ValidateRateControlState(const ValidationStateTracker &dev_data, const VideoSession *vs_state,
                                                       const vku::safe_VkVideoBeginCodingInfoKHR &begin_info,
                                                       const Location &loc) const {}

VideoSession::VideoSession(const ValidationStateTracker &dev_data, VkVideoSessionKHR handle,
                           VkVideoSessionCreateInfoKHR const *pCreateInfo, std::shared_ptr<const VideoProfileDesc> &&profile_desc)
    :{}

VideoSession::MemoryBindingMap VideoSession::GetMemoryBindings(const ValidationStateTracker &dev_data, VkVideoSessionKHR vs) {}

bool VideoSession::ReferenceSetupRequested(VkVideoDecodeInfoKHR const &decode_info) const {}

bool VideoSession::ReferenceSetupRequested(VkVideoEncodeInfoKHR const &encode_info) const {}

VideoSessionParameters::VideoSessionParameters(VkVideoSessionParametersKHR handle,
                                               VkVideoSessionParametersCreateInfoKHR const *pCreateInfo,
                                               std::shared_ptr<VideoSession> &&vsstate,
                                               std::shared_ptr<VideoSessionParameters> &&vsp_template)
    :{}

VideoSessionParameters::Config VideoSessionParameters::InitConfig(VkVideoSessionParametersCreateInfoKHR const *pCreateInfo) {}

void VideoSessionParameters::Update(VkVideoSessionParametersUpdateInfoKHR const *info) {}

void VideoSessionParameters::AddDecodeH264(VkVideoDecodeH264SessionParametersAddInfoKHR const *info) {}

void VideoSessionParameters::AddDecodeH265(VkVideoDecodeH265SessionParametersAddInfoKHR const *info) {}

void VideoSessionParameters::AddEncodeH264(VkVideoEncodeH264SessionParametersAddInfoKHR const *info) {}

void VideoSessionParameters::AddEncodeH265(VkVideoEncodeH265SessionParametersAddInfoKHR const *info) {}

}  // namespace vvl