[{"data":1,"prerenderedAt":1691},["ShallowReactive",2],{"OjrYCkubst":3},{"title":4,"description":5,"parent":6,"type":7,"xrefs":8,"body":9,"_type":1690,"_id":4},"vkGetPhysicalDeviceVideoFormatPropertiesKHR","Query supported video decode and encode image formats and capabilities","VK_KHR_video_queue","protos",[],{"type":10,"children":11,"toc":1688},"root",[12,20,338,403,502,522,538,592,651,710,796,833,851,865,914,945,968,1012,1030,1334,1394,1492,1543,1682],{"type":13,"tag":14,"props":15,"children":16},"element","p",{},[17],{"type":18,"value":19},"text","To enumerate the supported output, input and DPB image formats and\ncorresponding capabilities for a specific video profile, call:",{"type":13,"tag":21,"props":22,"children":23},"code-group",{},[24,149],{"type":13,"tag":25,"props":26,"children":32},"pre",{"className":27,"code":28,"filename":29,"language":30,"meta":31,"style":31},"language-c shiki shiki-themes github-light-default github-dark-default","VkResult vkGetPhysicalDeviceVideoFormatPropertiesKHR(\n VkPhysicalDevice physicalDevice,\n const VkPhysicalDeviceVideoFormatInfoKHR* pVideoFormatInfo,\n uint32_t* pVideoFormatPropertyCount,\n VkVideoFormatPropertiesKHR* pVideoFormatProperties);\n","C","c","",[33],{"type":13,"tag":34,"props":35,"children":36},"code",{"__ignoreMap":31},[37,59,79,108,126],{"type":13,"tag":38,"props":39,"children":42},"span",{"class":40,"line":41},"line",1,[43,49,54],{"type":13,"tag":38,"props":44,"children":46},{"style":45},"--shiki-default:#1F2328;--shiki-dark:#E6EDF3",[47],{"type":18,"value":48},"VkResult ",{"type":13,"tag":38,"props":50,"children":52},{"style":51},"--shiki-default:#8250DF;--shiki-dark:#D2A8FF",[53],{"type":18,"value":4},{"type":13,"tag":38,"props":55,"children":56},{"style":45},[57],{"type":18,"value":58},"(\n",{"type":13,"tag":38,"props":60,"children":62},{"class":40,"line":61},2,[63,68,74],{"type":13,"tag":38,"props":64,"children":65},{"style":45},[66],{"type":18,"value":67}," VkPhysicalDevice ",{"type":13,"tag":38,"props":69,"children":71},{"style":70},"--shiki-default:#953800;--shiki-dark:#FFA657",[72],{"type":18,"value":73},"physicalDevice",{"type":13,"tag":38,"props":75,"children":76},{"style":45},[77],{"type":18,"value":78},",\n",{"type":13,"tag":38,"props":80,"children":82},{"class":40,"line":81},3,[83,89,94,99,104],{"type":13,"tag":38,"props":84,"children":86},{"style":85},"--shiki-default:#CF222E;--shiki-dark:#FF7B72",[87],{"type":18,"value":88}," const",{"type":13,"tag":38,"props":90,"children":91},{"style":45},[92],{"type":18,"value":93}," VkPhysicalDeviceVideoFormatInfoKHR",{"type":13,"tag":38,"props":95,"children":96},{"style":85},[97],{"type":18,"value":98},"*",{"type":13,"tag":38,"props":100,"children":101},{"style":70},[102],{"type":18,"value":103}," pVideoFormatInfo",{"type":13,"tag":38,"props":105,"children":106},{"style":45},[107],{"type":18,"value":78},{"type":13,"tag":38,"props":109,"children":111},{"class":40,"line":110},4,[112,117,122],{"type":13,"tag":38,"props":113,"children":114},{"style":85},[115],{"type":18,"value":116}," uint32_t*",{"type":13,"tag":38,"props":118,"children":119},{"style":70},[120],{"type":18,"value":121}," pVideoFormatPropertyCount",{"type":13,"tag":38,"props":123,"children":124},{"style":45},[125],{"type":18,"value":78},{"type":13,"tag":38,"props":127,"children":129},{"class":40,"line":128},5,[130,135,139,144],{"type":13,"tag":38,"props":131,"children":132},{"style":45},[133],{"type":18,"value":134}," VkVideoFormatPropertiesKHR",{"type":13,"tag":38,"props":136,"children":137},{"style":85},[138],{"type":18,"value":98},{"type":13,"tag":38,"props":140,"children":141},{"style":70},[142],{"type":18,"value":143}," pVideoFormatProperties",{"type":13,"tag":38,"props":145,"children":146},{"style":45},[147],{"type":18,"value":148},");\n",{"type":13,"tag":25,"props":150,"children":155},{"className":151,"code":152,"filename":153,"language":154,"meta":31,"style":31},"language-rs shiki shiki-themes github-light-default github-dark-default","pub fn get_physical_device_video_format_properties_khr(\n physical_device: vk::PhysicalDevice,\n p_video_format_info: *const vk::PhysicalDeviceVideoFormatInfoKHR,\n p_video_format_property_count: *mut u32,\n p_video_format_properties: *mut vk::VideoFormatPropertiesKHR,\n) -> vk::Result;\n","Rust","rs",[156],{"type":13,"tag":34,"props":157,"children":158},{"__ignoreMap":31},[159,181,213,247,273,306],{"type":13,"tag":38,"props":160,"children":161},{"class":40,"line":41},[162,167,172,177],{"type":13,"tag":38,"props":163,"children":164},{"style":85},[165],{"type":18,"value":166},"pub",{"type":13,"tag":38,"props":168,"children":169},{"style":85},[170],{"type":18,"value":171}," fn",{"type":13,"tag":38,"props":173,"children":174},{"style":51},[175],{"type":18,"value":176}," get_physical_device_video_format_properties_khr",{"type":13,"tag":38,"props":178,"children":179},{"style":45},[180],{"type":18,"value":58},{"type":13,"tag":38,"props":182,"children":183},{"class":40,"line":61},[184,189,194,199,204,209],{"type":13,"tag":38,"props":185,"children":186},{"style":45},[187],{"type":18,"value":188}," physical_device",{"type":13,"tag":38,"props":190,"children":191},{"style":85},[192],{"type":18,"value":193},":",{"type":13,"tag":38,"props":195,"children":196},{"style":70},[197],{"type":18,"value":198}," vk",{"type":13,"tag":38,"props":200,"children":201},{"style":85},[202],{"type":18,"value":203},"::",{"type":13,"tag":38,"props":205,"children":206},{"style":70},[207],{"type":18,"value":208},"PhysicalDevice",{"type":13,"tag":38,"props":210,"children":211},{"style":45},[212],{"type":18,"value":78},{"type":13,"tag":38,"props":214,"children":215},{"class":40,"line":81},[216,221,225,230,234,238,243],{"type":13,"tag":38,"props":217,"children":218},{"style":45},[219],{"type":18,"value":220}," p_video_format_info",{"type":13,"tag":38,"props":222,"children":223},{"style":85},[224],{"type":18,"value":193},{"type":13,"tag":38,"props":226,"children":227},{"style":85},[228],{"type":18,"value":229}," *const",{"type":13,"tag":38,"props":231,"children":232},{"style":70},[233],{"type":18,"value":198},{"type":13,"tag":38,"props":235,"children":236},{"style":85},[237],{"type":18,"value":203},{"type":13,"tag":38,"props":239,"children":240},{"style":70},[241],{"type":18,"value":242},"PhysicalDeviceVideoFormatInfoKHR",{"type":13,"tag":38,"props":244,"children":245},{"style":45},[246],{"type":18,"value":78},{"type":13,"tag":38,"props":248,"children":249},{"class":40,"line":110},[250,255,259,264,269],{"type":13,"tag":38,"props":251,"children":252},{"style":45},[253],{"type":18,"value":254}," p_video_format_property_count",{"type":13,"tag":38,"props":256,"children":257},{"style":85},[258],{"type":18,"value":193},{"type":13,"tag":38,"props":260,"children":261},{"style":85},[262],{"type":18,"value":263}," *mut",{"type":13,"tag":38,"props":265,"children":266},{"style":70},[267],{"type":18,"value":268}," u32",{"type":13,"tag":38,"props":270,"children":271},{"style":45},[272],{"type":18,"value":78},{"type":13,"tag":38,"props":274,"children":275},{"class":40,"line":128},[276,281,285,289,293,297,302],{"type":13,"tag":38,"props":277,"children":278},{"style":45},[279],{"type":18,"value":280}," p_video_format_properties",{"type":13,"tag":38,"props":282,"children":283},{"style":85},[284],{"type":18,"value":193},{"type":13,"tag":38,"props":286,"children":287},{"style":85},[288],{"type":18,"value":263},{"type":13,"tag":38,"props":290,"children":291},{"style":70},[292],{"type":18,"value":198},{"type":13,"tag":38,"props":294,"children":295},{"style":85},[296],{"type":18,"value":203},{"type":13,"tag":38,"props":298,"children":299},{"style":70},[300],{"type":18,"value":301},"VideoFormatPropertiesKHR",{"type":13,"tag":38,"props":303,"children":304},{"style":45},[305],{"type":18,"value":78},{"type":13,"tag":38,"props":307,"children":309},{"class":40,"line":308},6,[310,315,320,324,328,333],{"type":13,"tag":38,"props":311,"children":312},{"style":45},[313],{"type":18,"value":314},") ",{"type":13,"tag":38,"props":316,"children":317},{"style":85},[318],{"type":18,"value":319},"->",{"type":13,"tag":38,"props":321,"children":322},{"style":70},[323],{"type":18,"value":198},{"type":13,"tag":38,"props":325,"children":326},{"style":85},[327],{"type":18,"value":203},{"type":13,"tag":38,"props":329,"children":330},{"style":70},[331],{"type":18,"value":332},"Result",{"type":13,"tag":38,"props":334,"children":335},{"style":45},[336],{"type":18,"value":337},";\n",{"type":13,"tag":339,"props":340,"children":341},"ul",{},[342,353,373,384],{"type":13,"tag":343,"props":344,"children":345},"li",{},[346,351],{"type":13,"tag":34,"props":347,"children":349},{"className":348},[],[350],{"type":18,"value":73},{"type":18,"value":352}," is the physical device from which to query the\nvideo format properties.",{"type":13,"tag":343,"props":354,"children":355},{},[356,362,364,371],{"type":13,"tag":34,"props":357,"children":359},{"className":358},[],[360],{"type":18,"value":361},"pVideoFormatInfo",{"type":18,"value":363}," is a pointer to a\n",{"type":13,"tag":365,"props":366,"children":368},"a",{"href":367},"/man/VkPhysicalDeviceVideoFormatInfoKHR",[369],{"type":18,"value":370},"VkPhysicalDeviceVideoFormatInfoKHR",{"type":18,"value":372}," structure specifying the usage\nand video profiles for which supported image formats and capabilities\nare returned.",{"type":13,"tag":343,"props":374,"children":375},{},[376,382],{"type":13,"tag":34,"props":377,"children":379},{"className":378},[],[380],{"type":18,"value":381},"pVideoFormatPropertyCount",{"type":18,"value":383}," is a pointer to an integer related to\nthe number of video format properties available or queried, as described\nbelow.",{"type":13,"tag":343,"props":385,"children":386},{},[387,393,395,401],{"type":13,"tag":34,"props":388,"children":390},{"className":389},[],[391],{"type":18,"value":392},"pVideoFormatProperties",{"type":18,"value":394}," is a pointer to an array of\n",{"type":13,"tag":365,"props":396,"children":398},{"href":397},"/man/VkVideoFormatPropertiesKHR",[399],{"type":18,"value":400},"VkVideoFormatPropertiesKHR",{"type":18,"value":402}," structures in which supported image\nformats and capabilities are returned.",{"type":13,"tag":14,"props":404,"children":405},{},[406,408,413,415,421,423,428,430,435,437,442,444,449,451,456,458,463,465,470,472,477,479,484,486,492,494,500],{"type":18,"value":407},"If ",{"type":13,"tag":34,"props":409,"children":411},{"className":410},[],[412],{"type":18,"value":392},{"type":18,"value":414}," is ",{"type":13,"tag":34,"props":416,"children":418},{"className":417},[],[419],{"type":18,"value":420},"NULL",{"type":18,"value":422},", then the number of video format\nproperties supported for the given ",{"type":13,"tag":34,"props":424,"children":426},{"className":425},[],[427],{"type":18,"value":73},{"type":18,"value":429}," is returned in\n",{"type":13,"tag":34,"props":431,"children":433},{"className":432},[],[434],{"type":18,"value":381},{"type":18,"value":436},".\nOtherwise, ",{"type":13,"tag":34,"props":438,"children":440},{"className":439},[],[441],{"type":18,"value":381},{"type":18,"value":443}," ",{"type":13,"tag":445,"props":446,"children":448},"normative",{"type":447},"must",[],{"type":18,"value":450}," point to a variable set by\nthe application to the number of elements in the\n",{"type":13,"tag":34,"props":452,"children":454},{"className":453},[],[455],{"type":18,"value":392},{"type":18,"value":457}," array, and on return the variable is\noverwritten with the number of values actually written to\n",{"type":13,"tag":34,"props":459,"children":461},{"className":460},[],[462],{"type":18,"value":392},{"type":18,"value":464},".\nIf the value of ",{"type":13,"tag":34,"props":466,"children":468},{"className":467},[],[469],{"type":18,"value":381},{"type":18,"value":471}," is less than the number of\nvideo format properties supported, at most ",{"type":13,"tag":34,"props":473,"children":475},{"className":474},[],[476],{"type":18,"value":381},{"type":18,"value":478},"\nvalues will be written to ",{"type":13,"tag":34,"props":480,"children":482},{"className":481},[],[483],{"type":18,"value":392},{"type":18,"value":485},", and\n",{"type":13,"tag":34,"props":487,"children":489},{"className":488},[],[490],{"type":18,"value":491},"VK_INCOMPLETE",{"type":18,"value":493}," will be returned instead of ",{"type":13,"tag":34,"props":495,"children":497},{"className":496},[],[498],{"type":18,"value":499},"VK_SUCCESS",{"type":18,"value":501},", to\nindicate that not all the available values were returned.",{"type":13,"tag":14,"props":503,"children":504},{},[505,507,513,515,520],{"type":18,"value":506},"Video format properties are always queried with respect to a specific set of\nvideo profiles.\nThese are specified by chaining the ",{"type":13,"tag":365,"props":508,"children":510},{"href":509},"/man/VkVideoProfileListInfoKHR",[511],{"type":18,"value":512},"VkVideoProfileListInfoKHR",{"type":18,"value":514},"\nstructure to ",{"type":13,"tag":34,"props":516,"children":518},{"className":517},[],[519],{"type":18,"value":361},{"type":18,"value":521},".",{"type":13,"tag":14,"props":523,"children":524},{},[525,527,531,533,536],{"type":18,"value":526},"For most use cases, the images are used by a single video session and a\nsingle video profile is provided.\nFor a use case such as video transcoding, where a decode session output\nimage ",{"type":13,"tag":445,"props":528,"children":530},{"type":529},"can",[],{"type":18,"value":532}," be used as encode input in one or more encode sessions, multiple\nvideo profiles corresponding to the video sessions that will share the image\n",{"type":13,"tag":445,"props":534,"children":535},{"type":447},[],{"type":18,"value":537}," be provided.",{"type":13,"tag":14,"props":539,"children":540},{},[541,543,549,551,555,556,562,564,570,572,576,577,583,585,591],{"type":18,"value":542},"If any of the ",{"type":13,"tag":365,"props":544,"children":546},{"href":545},"/chapters/video-coding#video-profiles",[547],{"type":18,"value":548},"video profiles",{"type":18,"value":550}," specified via\n",{"type":13,"tag":365,"props":552,"children":553},{"href":509},[554],{"type":18,"value":512},{"type":18,"value":203},{"type":13,"tag":34,"props":557,"children":559},{"className":558},[],[560],{"type":18,"value":561},"pProfiles",{"type":18,"value":563}," are not supported, then\nthis command returns one of the ",{"type":13,"tag":365,"props":565,"children":567},{"href":566},"/man/VkVideoProfileInfoKHR#video-profile-error-codes",[568],{"type":18,"value":569},"video-profile-specific error codes",{"type":18,"value":571},".\nFurthermore, if ",{"type":13,"tag":365,"props":573,"children":574},{"href":367},[575],{"type":18,"value":370},{"type":18,"value":203},{"type":13,"tag":34,"props":578,"children":580},{"className":579},[],[581],{"type":18,"value":582},"imageUsage",{"type":18,"value":584},"\nincludes any image usage flags not supported by the specified video\nprofiles, then this command returns\n",{"type":13,"tag":34,"props":586,"children":588},{"className":587},[],[589],{"type":18,"value":590},"VK_ERROR_IMAGE_USAGE_NOT_SUPPORTED_KHR",{"type":18,"value":521},{"type":13,"tag":14,"props":593,"children":594},{},[595,597,602,604,608,609,614,616,622,623,629,631,635,637,643,645,650],{"type":18,"value":596},"This command also returns ",{"type":13,"tag":34,"props":598,"children":600},{"className":599},[],[601],{"type":18,"value":590},{"type":18,"value":603}," if\n",{"type":13,"tag":365,"props":605,"children":606},{"href":367},[607],{"type":18,"value":370},{"type":18,"value":203},{"type":13,"tag":34,"props":610,"children":612},{"className":611},[],[613],{"type":18,"value":582},{"type":18,"value":615}," does not include\nthe appropriate flags as dictated by the decode capability flags returned in\n",{"type":13,"tag":365,"props":617,"children":619},{"href":618},"/man/VkVideoDecodeCapabilitiesKHR",[620],{"type":18,"value":621},"VkVideoDecodeCapabilitiesKHR",{"type":18,"value":203},{"type":13,"tag":34,"props":624,"children":626},{"className":625},[],[627],{"type":18,"value":628},"flags",{"type":18,"value":630}," for any of the profiles\nspecified in the ",{"type":13,"tag":365,"props":632,"children":633},{"href":509},[634],{"type":18,"value":512},{"type":18,"value":636}," structure provided in the\n",{"type":13,"tag":34,"props":638,"children":640},{"className":639},[],[641],{"type":18,"value":642},"pNext",{"type":18,"value":644}," chain of ",{"type":13,"tag":34,"props":646,"children":648},{"className":647},[],[649],{"type":18,"value":361},{"type":18,"value":521},{"type":13,"tag":14,"props":652,"children":653},{},[654,656,662,664,670,672,676,677,682,683,686,688,694,696,702,704,709],{"type":18,"value":655},"If the decode capability flags include\n",{"type":13,"tag":34,"props":657,"children":659},{"className":658},[],[660],{"type":18,"value":661},"VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_COINCIDE_BIT_KHR",{"type":18,"value":663}," but not\n",{"type":13,"tag":34,"props":665,"children":667},{"className":666},[],[668],{"type":18,"value":669},"VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_DISTINCT_BIT_KHR",{"type":18,"value":671},", then in\norder to query video format properties for decode DPB and output usage,\n",{"type":13,"tag":365,"props":673,"children":674},{"href":367},[675],{"type":18,"value":370},{"type":18,"value":203},{"type":13,"tag":34,"props":678,"children":680},{"className":679},[],[681],{"type":18,"value":582},{"type":18,"value":443},{"type":13,"tag":445,"props":684,"children":685},{"type":447},[],{"type":18,"value":687}," include\nboth ",{"type":13,"tag":34,"props":689,"children":691},{"className":690},[],[692],{"type":18,"value":693},"VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR",{"type":18,"value":695}," and\n",{"type":13,"tag":34,"props":697,"children":699},{"className":698},[],[700],{"type":18,"value":701},"VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR",{"type":18,"value":703},".\nOtherwise, the call will fail with\n",{"type":13,"tag":34,"props":705,"children":707},{"className":706},[],[708],{"type":18,"value":590},{"type":18,"value":521},{"type":13,"tag":14,"props":711,"children":712},{},[713,714,719,720,725,727,731,732,737,738,741,743,748,750,755,756,761,763,767,768,773,774,777,778,783,784,789,790,795],{"type":18,"value":655},{"type":13,"tag":34,"props":715,"children":717},{"className":716},[],[718],{"type":18,"value":669},{"type":18,"value":663},{"type":13,"tag":34,"props":721,"children":723},{"className":722},[],[724],{"type":18,"value":661},{"type":18,"value":726},", then in\norder to query video format properties for decode DPB usage,\n",{"type":13,"tag":365,"props":728,"children":729},{"href":367},[730],{"type":18,"value":370},{"type":18,"value":203},{"type":13,"tag":34,"props":733,"children":735},{"className":734},[],[736],{"type":18,"value":582},{"type":18,"value":443},{"type":13,"tag":445,"props":739,"children":740},{"type":447},[],{"type":18,"value":742}," include\n",{"type":13,"tag":34,"props":744,"children":746},{"className":745},[],[747],{"type":18,"value":693},{"type":18,"value":749},", but not\n",{"type":13,"tag":34,"props":751,"children":753},{"className":752},[],[754],{"type":18,"value":701},{"type":18,"value":703},{"type":13,"tag":34,"props":757,"children":759},{"className":758},[],[760],{"type":18,"value":590},{"type":18,"value":762},".\nSimilarly, to query video format properties for decode output usage,\n",{"type":13,"tag":365,"props":764,"children":765},{"href":367},[766],{"type":18,"value":370},{"type":18,"value":203},{"type":13,"tag":34,"props":769,"children":771},{"className":770},[],[772],{"type":18,"value":582},{"type":18,"value":443},{"type":13,"tag":445,"props":775,"children":776},{"type":447},[],{"type":18,"value":742},{"type":13,"tag":34,"props":779,"children":781},{"className":780},[],[782],{"type":18,"value":701},{"type":18,"value":749},{"type":13,"tag":34,"props":785,"children":787},{"className":786},[],[788],{"type":18,"value":693},{"type":18,"value":703},{"type":13,"tag":34,"props":791,"children":793},{"className":792},[],[794],{"type":18,"value":590},{"type":18,"value":521},{"type":13,"tag":14,"props":797,"children":798},{},[799,801,806,808,812,814,817,819,825,827,831],{"type":18,"value":800},"The ",{"type":13,"tag":34,"props":802,"children":804},{"className":803},[],[805],{"type":18,"value":582},{"type":18,"value":807}," member of the ",{"type":13,"tag":365,"props":809,"children":810},{"href":367},[811],{"type":18,"value":370},{"type":18,"value":813},"\nstructure specifies the expected video usage flags that the returned video\nformats ",{"type":13,"tag":445,"props":815,"children":816},{"type":447},[],{"type":18,"value":818}," support.\nCorrespondingly, the ",{"type":13,"tag":34,"props":820,"children":822},{"className":821},[],[823],{"type":18,"value":824},"imageUsageFlags",{"type":18,"value":826}," member of each\n",{"type":13,"tag":365,"props":828,"children":829},{"href":397},[830],{"type":18,"value":400},{"type":18,"value":832}," structure returned will contain at least\nthe same set of image usage flags.",{"type":13,"tag":14,"props":834,"children":835},{},[836,838,843,845,849],{"type":18,"value":837},"If the implementation supports using video input, output, or DPB images of a\nparticular format in operations other than video decode/encode then the\n",{"type":13,"tag":34,"props":839,"children":841},{"className":840},[],[842],{"type":18,"value":824},{"type":18,"value":844}," member of the corresponding\n",{"type":13,"tag":365,"props":846,"children":847},{"href":397},[848],{"type":18,"value":400},{"type":18,"value":850}," structure returned will include additional\nimage usage flags indicating that.",{"type":13,"tag":852,"props":853,"children":854},"note",{},[855],{"type":13,"tag":14,"props":856,"children":857},{},[858,860,863],{"type":18,"value":859},"For most use cases, only decode or encode related usage flags are going to\nbe specified.\nFor a use case such as transcode, if the image were to be shared between\ndecode and encode session(s), then both decode and encode related usage\nflags ",{"type":13,"tag":445,"props":861,"children":862},{"type":529},[],{"type":18,"value":864}," be set.",{"type":13,"tag":14,"props":866,"children":867},{},[868,870,875,877,881,883,889,891,897,898,904,906,912],{"type":18,"value":869},"Multiple ",{"type":13,"tag":34,"props":871,"children":873},{"className":872},[],[874],{"type":18,"value":400},{"type":18,"value":876}," entries ",{"type":13,"tag":445,"props":878,"children":880},{"type":879},"may",[],{"type":18,"value":882}," be returned with the\nsame ",{"type":13,"tag":34,"props":884,"children":886},{"className":885},[],[887],{"type":18,"value":888},"format",{"type":18,"value":890}," member with different ",{"type":13,"tag":34,"props":892,"children":894},{"className":893},[],[895],{"type":18,"value":896},"componentMapping",{"type":18,"value":78},{"type":13,"tag":34,"props":899,"children":901},{"className":900},[],[902],{"type":18,"value":903},"imageType",{"type":18,"value":905},", or ",{"type":13,"tag":34,"props":907,"children":909},{"className":908},[],[910],{"type":18,"value":911},"imageTiling",{"type":18,"value":913}," values, as described later.",{"type":13,"tag":14,"props":915,"children":916},{},[917,919,924,926,929,931,936,938,943],{"type":18,"value":918},"In addition, a different set of ",{"type":13,"tag":34,"props":920,"children":922},{"className":921},[],[923],{"type":18,"value":400},{"type":18,"value":925}," entries\n",{"type":13,"tag":445,"props":927,"children":928},{"type":879},[],{"type":18,"value":930}," be returned depending on the ",{"type":13,"tag":34,"props":932,"children":934},{"className":933},[],[935],{"type":18,"value":582},{"type":18,"value":937}," member of the\n",{"type":13,"tag":34,"props":939,"children":941},{"className":940},[],[942],{"type":18,"value":370},{"type":18,"value":944}," structure, even for the same set of\nvideo profiles, for example, based on whether encode input, encode DPB,\ndecode output, and/or decode DPB usage is requested.",{"type":13,"tag":14,"props":946,"children":947},{},[948,950,953,955,960,962,966],{"type":18,"value":949},"The application ",{"type":13,"tag":445,"props":951,"children":952},{"type":529},[],{"type":18,"value":954}," select the parameters returned in the\n",{"type":13,"tag":34,"props":956,"children":958},{"className":957},[],[959],{"type":18,"value":400},{"type":18,"value":961}," entries and use compatible parameters when\ncreating the input, output, and DPB images.\nThe implementation will report all image creation and usage flags that are\nvalid for images used with the requested video profiles but applications\n",{"type":13,"tag":445,"props":963,"children":965},{"type":964},"should",[],{"type":18,"value":967}," create images only with those that are necessary for the particular\nuse case.",{"type":13,"tag":14,"props":969,"children":970},{},[971,973,976,978,984,986,991,993,997,999,1004,1005,1011],{"type":18,"value":972},"Before creating an image, the application ",{"type":13,"tag":445,"props":974,"children":975},{"type":529},[],{"type":18,"value":977}," obtain the complete set of\nsupported image format features by calling\n",{"type":13,"tag":365,"props":979,"children":981},{"href":980},"/man/vkGetPhysicalDeviceImageFormatProperties2",[982],{"type":18,"value":983},"vkGetPhysicalDeviceImageFormatProperties2",{"type":18,"value":985}," using parameters derived\nfrom the members of one of the reported ",{"type":13,"tag":34,"props":987,"children":989},{"className":988},[],[990],{"type":18,"value":400},{"type":18,"value":992},"\nentries and adding the same ",{"type":13,"tag":365,"props":994,"children":995},{"href":509},[996],{"type":18,"value":512},{"type":18,"value":998}," structure to the\n",{"type":13,"tag":34,"props":1000,"children":1002},{"className":1001},[],[1003],{"type":18,"value":642},{"type":18,"value":644},{"type":13,"tag":365,"props":1006,"children":1008},{"href":1007},"/man/VkPhysicalDeviceImageFormatInfo2",[1009],{"type":18,"value":1010},"VkPhysicalDeviceImageFormatInfo2",{"type":18,"value":521},{"type":13,"tag":14,"props":1013,"children":1014},{},[1015,1017,1022,1024,1029],{"type":18,"value":1016},"The following applies to all ",{"type":13,"tag":34,"props":1018,"children":1020},{"className":1019},[],[1021],{"type":18,"value":400},{"type":18,"value":1023}," entries\nreturned by ",{"type":13,"tag":34,"props":1025,"children":1027},{"className":1026},[],[1028],{"type":18,"value":4},{"type":18,"value":193},{"type":13,"tag":339,"props":1031,"children":1032},{},[1033,1059,1123,1179],{"type":13,"tag":343,"props":1034,"children":1035},{},[1036,1042,1043,1046,1048,1053,1054],{"type":13,"tag":365,"props":1037,"children":1039},{"href":1038},"/man/vkGetPhysicalDeviceFormatProperties2",[1040],{"type":18,"value":1041},"vkGetPhysicalDeviceFormatProperties2",{"type":18,"value":443},{"type":13,"tag":445,"props":1044,"children":1045},{"type":447},[],{"type":18,"value":1047}," succeed when called\nwith ",{"type":13,"tag":34,"props":1049,"children":1051},{"className":1050},[],[1052],{"type":18,"value":400},{"type":18,"value":203},{"type":13,"tag":34,"props":1055,"children":1057},{"className":1056},[],[1058],{"type":18,"value":888},{"type":13,"tag":343,"props":1060,"children":1061},{},[1062,1063,1068,1069,1074,1076,1082,1084,1090,1092,1096,1097,1100,1102,1107,1108,1113,1115,1121],{"type":18,"value":407},{"type":13,"tag":34,"props":1064,"children":1066},{"className":1065},[],[1067],{"type":18,"value":400},{"type":18,"value":203},{"type":13,"tag":34,"props":1070,"children":1072},{"className":1071},[],[1073],{"type":18,"value":911},{"type":18,"value":1075}," is\n",{"type":13,"tag":34,"props":1077,"children":1079},{"className":1078},[],[1080],{"type":18,"value":1081},"VK_IMAGE_TILING_OPTIMAL",{"type":18,"value":1083},", then the ",{"type":13,"tag":34,"props":1085,"children":1087},{"className":1086},[],[1088],{"type":18,"value":1089},"optimalTilingFeatures",{"type":18,"value":1091},"\nreturned by ",{"type":13,"tag":365,"props":1093,"children":1094},{"href":1038},[1095],{"type":18,"value":1041},{"type":18,"value":443},{"type":13,"tag":445,"props":1098,"children":1099},{"type":447},[],{"type":18,"value":1101}," include all\nformat features required by the image usage flags reported in\n",{"type":13,"tag":34,"props":1103,"children":1105},{"className":1104},[],[1106],{"type":18,"value":400},{"type":18,"value":203},{"type":13,"tag":34,"props":1109,"children":1111},{"className":1110},[],[1112],{"type":18,"value":824},{"type":18,"value":1114}," for the format,\nas indicated in the ",{"type":13,"tag":365,"props":1116,"children":1118},{"href":1117},"/chapters/formats#format-feature-dependent-usage-flags",[1119],{"type":18,"value":1120},"Format\nFeature Dependent Usage Flags",{"type":18,"value":1122}," section.",{"type":13,"tag":343,"props":1124,"children":1125},{},[1126,1127,1132,1133,1138,1139,1145,1146,1152,1153,1157,1158,1161,1162,1167,1168,1173,1174,1178],{"type":18,"value":407},{"type":13,"tag":34,"props":1128,"children":1130},{"className":1129},[],[1131],{"type":18,"value":400},{"type":18,"value":203},{"type":13,"tag":34,"props":1134,"children":1136},{"className":1135},[],[1137],{"type":18,"value":911},{"type":18,"value":1075},{"type":13,"tag":34,"props":1140,"children":1142},{"className":1141},[],[1143],{"type":18,"value":1144},"VK_IMAGE_TILING_LINEAR",{"type":18,"value":1083},{"type":13,"tag":34,"props":1147,"children":1149},{"className":1148},[],[1150],{"type":18,"value":1151},"linearTilingFeatures",{"type":18,"value":1091},{"type":13,"tag":365,"props":1154,"children":1155},{"href":1038},[1156],{"type":18,"value":1041},{"type":18,"value":443},{"type":13,"tag":445,"props":1159,"children":1160},{"type":447},[],{"type":18,"value":1101},{"type":13,"tag":34,"props":1163,"children":1165},{"className":1164},[],[1166],{"type":18,"value":400},{"type":18,"value":203},{"type":13,"tag":34,"props":1169,"children":1171},{"className":1170},[],[1172],{"type":18,"value":824},{"type":18,"value":1114},{"type":13,"tag":365,"props":1175,"children":1176},{"href":1117},[1177],{"type":18,"value":1120},{"type":18,"value":1122},{"type":13,"tag":343,"props":1180,"children":1181},{},[1182,1186,1187,1190,1192,1196,1198],{"type":13,"tag":365,"props":1183,"children":1184},{"href":980},[1185],{"type":18,"value":983},{"type":18,"value":443},{"type":13,"tag":445,"props":1188,"children":1189},{"type":447},[],{"type":18,"value":1191}," succeed when\ncalled with a ",{"type":13,"tag":365,"props":1193,"children":1194},{"href":1007},[1195],{"type":18,"value":1010},{"type":18,"value":1197}," structure\ncontaining the following information:",{"type":13,"tag":339,"props":1199,"children":1200},{},[1201,1224,1246,1268,1290,1312],{"type":13,"tag":343,"props":1202,"children":1203},{},[1204,1205,1210,1212,1216,1218,1223],{"type":18,"value":800},{"type":13,"tag":34,"props":1206,"children":1208},{"className":1207},[],[1209],{"type":18,"value":642},{"type":18,"value":1211}," chain including the same\n",{"type":13,"tag":365,"props":1213,"children":1214},{"href":509},[1215],{"type":18,"value":512},{"type":18,"value":1217}," structure used to call\n",{"type":13,"tag":34,"props":1219,"children":1221},{"className":1220},[],[1222],{"type":18,"value":4},{"type":18,"value":521},{"type":13,"tag":343,"props":1225,"children":1226},{},[1227,1232,1234,1239,1240,1245],{"type":13,"tag":34,"props":1228,"children":1230},{"className":1229},[],[1231],{"type":18,"value":888},{"type":18,"value":1233}," set to the value of\n",{"type":13,"tag":34,"props":1235,"children":1237},{"className":1236},[],[1238],{"type":18,"value":400},{"type":18,"value":203},{"type":13,"tag":34,"props":1241,"children":1243},{"className":1242},[],[1244],{"type":18,"value":888},{"type":18,"value":521},{"type":13,"tag":343,"props":1247,"children":1248},{},[1249,1255,1256,1261,1262,1267],{"type":13,"tag":34,"props":1250,"children":1252},{"className":1251},[],[1253],{"type":18,"value":1254},"type",{"type":18,"value":1233},{"type":13,"tag":34,"props":1257,"children":1259},{"className":1258},[],[1260],{"type":18,"value":400},{"type":18,"value":203},{"type":13,"tag":34,"props":1263,"children":1265},{"className":1264},[],[1266],{"type":18,"value":903},{"type":18,"value":521},{"type":13,"tag":343,"props":1269,"children":1270},{},[1271,1277,1278,1283,1284,1289],{"type":13,"tag":34,"props":1272,"children":1274},{"className":1273},[],[1275],{"type":18,"value":1276},"tiling",{"type":18,"value":1233},{"type":13,"tag":34,"props":1279,"children":1281},{"className":1280},[],[1282],{"type":18,"value":400},{"type":18,"value":203},{"type":13,"tag":34,"props":1285,"children":1287},{"className":1286},[],[1288],{"type":18,"value":911},{"type":18,"value":521},{"type":13,"tag":343,"props":1291,"children":1292},{},[1293,1299,1300,1305,1306,1311],{"type":13,"tag":34,"props":1294,"children":1296},{"className":1295},[],[1297],{"type":18,"value":1298},"usage",{"type":18,"value":1233},{"type":13,"tag":34,"props":1301,"children":1303},{"className":1302},[],[1304],{"type":18,"value":400},{"type":18,"value":203},{"type":13,"tag":34,"props":1307,"children":1309},{"className":1308},[],[1310],{"type":18,"value":824},{"type":18,"value":521},{"type":13,"tag":343,"props":1313,"children":1314},{},[1315,1320,1321,1326,1327,1333],{"type":13,"tag":34,"props":1316,"children":1318},{"className":1317},[],[1319],{"type":18,"value":628},{"type":18,"value":1233},{"type":13,"tag":34,"props":1322,"children":1324},{"className":1323},[],[1325],{"type":18,"value":400},{"type":18,"value":203},{"type":13,"tag":34,"props":1328,"children":1330},{"className":1329},[],[1331],{"type":18,"value":1332},"imageCreateFlags",{"type":18,"value":521},{"type":13,"tag":14,"props":1335,"children":1336},{},[1337,1338,1343,1345,1350,1352,1358,1359,1364,1366,1370,1372,1378,1380,1385,1387,1392],{"type":18,"value":800},{"type":13,"tag":34,"props":1339,"children":1341},{"className":1340},[],[1342],{"type":18,"value":896},{"type":18,"value":1344}," member of ",{"type":13,"tag":34,"props":1346,"children":1348},{"className":1347},[],[1349],{"type":18,"value":400},{"type":18,"value":1351},"\ndefines the ordering of the Y′C",{"type":13,"tag":1353,"props":1354,"children":1355},"sub",{},[1356],{"type":18,"value":1357},"B",{"type":18,"value":29},{"type":13,"tag":1353,"props":1360,"children":1361},{},[1362],{"type":18,"value":1363},"R",{"type":18,"value":1365}," color channels from the perspective of\nthe video codec operations specified in ",{"type":13,"tag":365,"props":1367,"children":1368},{"href":509},[1369],{"type":18,"value":512},{"type":18,"value":1371},".\nFor example, if the implementation produces video decode output with the\nformat ",{"type":13,"tag":34,"props":1373,"children":1375},{"className":1374},[],[1376],{"type":18,"value":1377},"VK_FORMAT_G8_B8R8_2PLANE_420_UNORM",{"type":18,"value":1379}," where the blue and red\nchrominance channels are swapped then the ",{"type":13,"tag":34,"props":1381,"children":1383},{"className":1382},[],[1384],{"type":18,"value":896},{"type":18,"value":1386}," member of\nthe corresponding ",{"type":13,"tag":34,"props":1388,"children":1390},{"className":1389},[],[1391],{"type":18,"value":400},{"type":18,"value":1393}," structure will have the\nfollowing member values:",{"type":13,"tag":25,"props":1395,"children":1399},{"className":1396,"code":1397,"language":1398,"meta":31,"style":31},"language-c++ shiki shiki-themes github-light-default github-dark-default","components.r = VK_COMPONENT_SWIZZLE_B; // Cb component\ncomponents.g = VK_COMPONENT_SWIZZLE_IDENTITY; // Y component\ncomponents.b = VK_COMPONENT_SWIZZLE_R; // Cr component\ncomponents.a = VK_COMPONENT_SWIZZLE_IDENTITY; // unused, defaults to 1.0\n","c++",[1400],{"type":13,"tag":34,"props":1401,"children":1402},{"__ignoreMap":31},[1403,1427,1449,1471],{"type":13,"tag":38,"props":1404,"children":1405},{"class":40,"line":41},[1406,1411,1416,1421],{"type":13,"tag":38,"props":1407,"children":1408},{"style":45},[1409],{"type":18,"value":1410},"components.r ",{"type":13,"tag":38,"props":1412,"children":1413},{"style":85},[1414],{"type":18,"value":1415},"=",{"type":13,"tag":38,"props":1417,"children":1418},{"style":45},[1419],{"type":18,"value":1420}," VK_COMPONENT_SWIZZLE_B;",{"type":13,"tag":38,"props":1422,"children":1424},{"style":1423},"--shiki-default:#6E7781;--shiki-dark:#8B949E",[1425],{"type":18,"value":1426}," // Cb component\n",{"type":13,"tag":38,"props":1428,"children":1429},{"class":40,"line":61},[1430,1435,1439,1444],{"type":13,"tag":38,"props":1431,"children":1432},{"style":45},[1433],{"type":18,"value":1434},"components.g ",{"type":13,"tag":38,"props":1436,"children":1437},{"style":85},[1438],{"type":18,"value":1415},{"type":13,"tag":38,"props":1440,"children":1441},{"style":45},[1442],{"type":18,"value":1443}," VK_COMPONENT_SWIZZLE_IDENTITY;",{"type":13,"tag":38,"props":1445,"children":1446},{"style":1423},[1447],{"type":18,"value":1448}," // Y component\n",{"type":13,"tag":38,"props":1450,"children":1451},{"class":40,"line":81},[1452,1457,1461,1466],{"type":13,"tag":38,"props":1453,"children":1454},{"style":45},[1455],{"type":18,"value":1456},"components.b ",{"type":13,"tag":38,"props":1458,"children":1459},{"style":85},[1460],{"type":18,"value":1415},{"type":13,"tag":38,"props":1462,"children":1463},{"style":45},[1464],{"type":18,"value":1465}," VK_COMPONENT_SWIZZLE_R;",{"type":13,"tag":38,"props":1467,"children":1468},{"style":1423},[1469],{"type":18,"value":1470}," // Cr component\n",{"type":13,"tag":38,"props":1472,"children":1473},{"class":40,"line":110},[1474,1479,1483,1487],{"type":13,"tag":38,"props":1475,"children":1476},{"style":45},[1477],{"type":18,"value":1478},"components.a ",{"type":13,"tag":38,"props":1480,"children":1481},{"style":85},[1482],{"type":18,"value":1415},{"type":13,"tag":38,"props":1484,"children":1485},{"style":45},[1486],{"type":18,"value":1443},{"type":13,"tag":38,"props":1488,"children":1489},{"style":1423},[1490],{"type":18,"value":1491}," // unused, defaults to 1.0\n",{"type":13,"tag":1493,"props":1494,"children":1496},"validity-group",{"name":1495},"Valid Usage",[1497],{"type":13,"tag":1498,"props":1499,"children":1501},"validity-field",{"name":1500},"VUID-vkGetPhysicalDeviceVideoFormatPropertiesKHR-pNext-06812",[1502],{"type":13,"tag":14,"props":1503,"children":1504},{},[1505,1506,1511,1512,1517,1518,1521,1523,1527,1529,1535,1537],{"type":18,"value":800},{"type":13,"tag":34,"props":1507,"children":1509},{"className":1508},[],[1510],{"type":18,"value":642},{"type":18,"value":644},{"type":13,"tag":34,"props":1513,"children":1515},{"className":1514},[],[1516],{"type":18,"value":361},{"type":18,"value":443},{"type":13,"tag":445,"props":1519,"children":1520},{"type":447},[],{"type":18,"value":1522}," include a\n",{"type":13,"tag":365,"props":1524,"children":1525},{"href":509},[1526],{"type":18,"value":512},{"type":18,"value":1528}," structure with ",{"type":13,"tag":34,"props":1530,"children":1532},{"className":1531},[],[1533],{"type":18,"value":1534},"profileCount",{"type":18,"value":1536},"\ngreater than ",{"type":13,"tag":34,"props":1538,"children":1540},{"className":1539},[],[1541],{"type":18,"value":1542},"0",{"type":13,"tag":1493,"props":1544,"children":1546},{"name":1545},"Valid Usage (Implicit)",[1547,1573,1597,1623],{"type":13,"tag":1498,"props":1548,"children":1550},{"name":1549},"VUID-vkGetPhysicalDeviceVideoFormatPropertiesKHR-physicalDevice-parameter",[1551],{"type":13,"tag":14,"props":1552,"children":1553},{},[1554,1559,1560,1563,1565,1571],{"type":13,"tag":34,"props":1555,"children":1557},{"className":1556},[],[1558],{"type":18,"value":73},{"type":18,"value":443},{"type":13,"tag":445,"props":1561,"children":1562},{"type":447},[],{"type":18,"value":1564}," be a valid ",{"type":13,"tag":365,"props":1566,"children":1568},{"href":1567},"/man/VkPhysicalDevice",[1569],{"type":18,"value":1570},"VkPhysicalDevice",{"type":18,"value":1572}," handle",{"type":13,"tag":1498,"props":1574,"children":1576},{"name":1575},"VUID-vkGetPhysicalDeviceVideoFormatPropertiesKHR-pVideoFormatInfo-parameter",[1577],{"type":13,"tag":14,"props":1578,"children":1579},{},[1580,1585,1586,1589,1591,1595],{"type":13,"tag":34,"props":1581,"children":1583},{"className":1582},[],[1584],{"type":18,"value":361},{"type":18,"value":443},{"type":13,"tag":445,"props":1587,"children":1588},{"type":447},[],{"type":18,"value":1590}," be a valid pointer to a valid ",{"type":13,"tag":365,"props":1592,"children":1593},{"href":367},[1594],{"type":18,"value":370},{"type":18,"value":1596}," structure",{"type":13,"tag":1498,"props":1598,"children":1600},{"name":1599},"VUID-vkGetPhysicalDeviceVideoFormatPropertiesKHR-pVideoFormatPropertyCount-parameter",[1601],{"type":13,"tag":14,"props":1602,"children":1603},{},[1604,1609,1610,1613,1615,1621],{"type":13,"tag":34,"props":1605,"children":1607},{"className":1606},[],[1608],{"type":18,"value":381},{"type":18,"value":443},{"type":13,"tag":445,"props":1611,"children":1612},{"type":447},[],{"type":18,"value":1614}," be a valid pointer to a ",{"type":13,"tag":34,"props":1616,"children":1618},{"className":1617},[],[1619],{"type":18,"value":1620},"uint32_t",{"type":18,"value":1622}," value",{"type":13,"tag":1498,"props":1624,"children":1626},{"name":1625},"VUID-vkGetPhysicalDeviceVideoFormatPropertiesKHR-pVideoFormatProperties-parameter",[1627],{"type":13,"tag":14,"props":1628,"children":1629},{},[1630,1632,1637,1639,1644,1646,1651,1652,1657,1659,1664,1665,1668,1670,1675,1676,1680],{"type":18,"value":1631},"If the value referenced by ",{"type":13,"tag":34,"props":1633,"children":1635},{"className":1634},[],[1636],{"type":18,"value":381},{"type":18,"value":1638}," is not ",{"type":13,"tag":34,"props":1640,"children":1642},{"className":1641},[],[1643],{"type":18,"value":1542},{"type":18,"value":1645},", and ",{"type":13,"tag":34,"props":1647,"children":1649},{"className":1648},[],[1650],{"type":18,"value":392},{"type":18,"value":1638},{"type":13,"tag":34,"props":1653,"children":1655},{"className":1654},[],[1656],{"type":18,"value":420},{"type":18,"value":1658},", ",{"type":13,"tag":34,"props":1660,"children":1662},{"className":1661},[],[1663],{"type":18,"value":392},{"type":18,"value":443},{"type":13,"tag":445,"props":1666,"children":1667},{"type":447},[],{"type":18,"value":1669}," be a valid pointer to an array of ",{"type":13,"tag":34,"props":1671,"children":1673},{"className":1672},[],[1674],{"type":18,"value":381},{"type":18,"value":443},{"type":13,"tag":365,"props":1677,"children":1678},{"href":397},[1679],{"type":18,"value":400},{"type":18,"value":1681}," structures",{"type":13,"tag":1683,"props":1684,"children":1685},"style",{},[1686],{"type":18,"value":1687},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":31,"searchDepth":61,"depth":61,"links":1689},[],"markdown",1725732620804]