#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) { … }
}