[{"data":1,"prerenderedAt":1575},["ShallowReactive",2],{"tWZLerkI4t":3},{"title":4,"description":5,"parent":6,"type":7,"xrefs":8,"body":9,"_type":1574,"_id":4},"VkVideoEncodeRateControlInfoKHR","Structure to set encode stream rate control parameters","VK_KHR_video_encode_queue","structs",[],{"type":10,"children":11,"toc":1572},"root",[12,28,425,604,630,642,690,734,759,787,818,848,861,1434,1566],{"type":13,"tag":14,"props":15,"children":16},"element","p",{},[17,20,26],{"type":18,"value":19},"text","The ",{"type":13,"tag":21,"props":22,"children":24},"code",{"className":23},[],[25],{"type":18,"value":4},{"type":18,"value":27}," structure is defined as:",{"type":13,"tag":29,"props":30,"children":31},"code-group",{},[32,185],{"type":13,"tag":33,"props":34,"children":40},"pre",{"className":35,"code":36,"filename":37,"language":38,"meta":39,"style":39},"language-c shiki shiki-themes github-light-default github-dark-default","typedef struct VkVideoEncodeRateControlInfoKHR {\n VkStructureType sType;\n const void* pNext;\n VkVideoEncodeRateControlFlagsKHR flags;\n VkVideoEncodeRateControlModeFlagBitsKHR rateControlMode;\n uint32_t layerCount;\n const VkVideoEncodeRateControlLayerInfoKHR* pLayers;\n uint32_t virtualBufferSizeInMs;\n uint32_t initialVirtualBufferSizeInMs;\n} VkVideoEncodeRateControlInfoKHR;\n","C","c","",[41],{"type":13,"tag":21,"props":42,"children":43},{"__ignoreMap":39},[44,67,76,95,104,113,127,150,163,176],{"type":13,"tag":45,"props":46,"children":49},"span",{"class":47,"line":48},"line",1,[50,56,61],{"type":13,"tag":45,"props":51,"children":53},{"style":52},"--shiki-default:#CF222E;--shiki-dark:#FF7B72",[54],{"type":18,"value":55},"typedef",{"type":13,"tag":45,"props":57,"children":58},{"style":52},[59],{"type":18,"value":60}," struct",{"type":13,"tag":45,"props":62,"children":64},{"style":63},"--shiki-default:#1F2328;--shiki-dark:#E6EDF3",[65],{"type":18,"value":66}," VkVideoEncodeRateControlInfoKHR {\n",{"type":13,"tag":45,"props":68,"children":70},{"class":47,"line":69},2,[71],{"type":13,"tag":45,"props":72,"children":73},{"style":63},[74],{"type":18,"value":75}," VkStructureType sType;\n",{"type":13,"tag":45,"props":77,"children":79},{"class":47,"line":78},3,[80,85,90],{"type":13,"tag":45,"props":81,"children":82},{"style":52},[83],{"type":18,"value":84}," const",{"type":13,"tag":45,"props":86,"children":87},{"style":52},[88],{"type":18,"value":89}," void*",{"type":13,"tag":45,"props":91,"children":92},{"style":63},[93],{"type":18,"value":94}," pNext;\n",{"type":13,"tag":45,"props":96,"children":98},{"class":47,"line":97},4,[99],{"type":13,"tag":45,"props":100,"children":101},{"style":63},[102],{"type":18,"value":103}," VkVideoEncodeRateControlFlagsKHR flags;\n",{"type":13,"tag":45,"props":105,"children":107},{"class":47,"line":106},5,[108],{"type":13,"tag":45,"props":109,"children":110},{"style":63},[111],{"type":18,"value":112}," VkVideoEncodeRateControlModeFlagBitsKHR rateControlMode;\n",{"type":13,"tag":45,"props":114,"children":116},{"class":47,"line":115},6,[117,122],{"type":13,"tag":45,"props":118,"children":119},{"style":52},[120],{"type":18,"value":121}," uint32_t",{"type":13,"tag":45,"props":123,"children":124},{"style":63},[125],{"type":18,"value":126}," layerCount;\n",{"type":13,"tag":45,"props":128,"children":130},{"class":47,"line":129},7,[131,135,140,145],{"type":13,"tag":45,"props":132,"children":133},{"style":52},[134],{"type":18,"value":84},{"type":13,"tag":45,"props":136,"children":137},{"style":63},[138],{"type":18,"value":139}," VkVideoEncodeRateControlLayerInfoKHR",{"type":13,"tag":45,"props":141,"children":142},{"style":52},[143],{"type":18,"value":144},"*",{"type":13,"tag":45,"props":146,"children":147},{"style":63},[148],{"type":18,"value":149}," pLayers;\n",{"type":13,"tag":45,"props":151,"children":153},{"class":47,"line":152},8,[154,158],{"type":13,"tag":45,"props":155,"children":156},{"style":52},[157],{"type":18,"value":121},{"type":13,"tag":45,"props":159,"children":160},{"style":63},[161],{"type":18,"value":162}," virtualBufferSizeInMs;\n",{"type":13,"tag":45,"props":164,"children":166},{"class":47,"line":165},9,[167,171],{"type":13,"tag":45,"props":168,"children":169},{"style":52},[170],{"type":18,"value":121},{"type":13,"tag":45,"props":172,"children":173},{"style":63},[174],{"type":18,"value":175}," initialVirtualBufferSizeInMs;\n",{"type":13,"tag":45,"props":177,"children":179},{"class":47,"line":178},10,[180],{"type":13,"tag":45,"props":181,"children":182},{"style":63},[183],{"type":18,"value":184},"} VkVideoEncodeRateControlInfoKHR;\n",{"type":13,"tag":33,"props":186,"children":191},{"className":187,"code":188,"filename":189,"language":190,"meta":39,"style":39},"language-rs shiki shiki-themes github-light-default github-dark-default","pub struct VideoEncodeRateControlInfoKHR {\n s_type: vk::StructureType,\n p_next: *const c_void,\n flags: vk::VideoEncodeRateControlFlagsKHR,\n rate_control_mode: VideoEncodeRateControlModeFlagsKHR,\n layer_count: u32,\n p_layers: *const vk::VideoEncodeRateControlLayerInfoKHR,\n virtual_buffer_size_in_ms: u32,\n initial_virtual_buffer_size_in_ms: u32,\n}\n","Rust","rs",[192],{"type":13,"tag":21,"props":193,"children":194},{"__ignoreMap":39},[195,218,251,273,302,323,344,377,397,417],{"type":13,"tag":45,"props":196,"children":197},{"class":47,"line":48},[198,203,207,213],{"type":13,"tag":45,"props":199,"children":200},{"style":52},[201],{"type":18,"value":202},"pub",{"type":13,"tag":45,"props":204,"children":205},{"style":52},[206],{"type":18,"value":60},{"type":13,"tag":45,"props":208,"children":210},{"style":209},"--shiki-default:#953800;--shiki-dark:#FFA657",[211],{"type":18,"value":212}," VideoEncodeRateControlInfoKHR",{"type":13,"tag":45,"props":214,"children":215},{"style":63},[216],{"type":18,"value":217}," {\n",{"type":13,"tag":45,"props":219,"children":220},{"class":47,"line":69},[221,226,231,236,241,246],{"type":13,"tag":45,"props":222,"children":223},{"style":63},[224],{"type":18,"value":225}," s_type",{"type":13,"tag":45,"props":227,"children":228},{"style":52},[229],{"type":18,"value":230},":",{"type":13,"tag":45,"props":232,"children":233},{"style":209},[234],{"type":18,"value":235}," vk",{"type":13,"tag":45,"props":237,"children":238},{"style":52},[239],{"type":18,"value":240},"::",{"type":13,"tag":45,"props":242,"children":243},{"style":209},[244],{"type":18,"value":245},"StructureType",{"type":13,"tag":45,"props":247,"children":248},{"style":63},[249],{"type":18,"value":250},",\n",{"type":13,"tag":45,"props":252,"children":253},{"class":47,"line":78},[254,259,263,268],{"type":13,"tag":45,"props":255,"children":256},{"style":63},[257],{"type":18,"value":258}," p_next",{"type":13,"tag":45,"props":260,"children":261},{"style":52},[262],{"type":18,"value":230},{"type":13,"tag":45,"props":264,"children":265},{"style":52},[266],{"type":18,"value":267}," *const",{"type":13,"tag":45,"props":269,"children":270},{"style":63},[271],{"type":18,"value":272}," c_void,\n",{"type":13,"tag":45,"props":274,"children":275},{"class":47,"line":97},[276,281,285,289,293,298],{"type":13,"tag":45,"props":277,"children":278},{"style":63},[279],{"type":18,"value":280}," flags",{"type":13,"tag":45,"props":282,"children":283},{"style":52},[284],{"type":18,"value":230},{"type":13,"tag":45,"props":286,"children":287},{"style":209},[288],{"type":18,"value":235},{"type":13,"tag":45,"props":290,"children":291},{"style":52},[292],{"type":18,"value":240},{"type":13,"tag":45,"props":294,"children":295},{"style":209},[296],{"type":18,"value":297},"VideoEncodeRateControlFlagsKHR",{"type":13,"tag":45,"props":299,"children":300},{"style":63},[301],{"type":18,"value":250},{"type":13,"tag":45,"props":303,"children":304},{"class":47,"line":106},[305,310,314,319],{"type":13,"tag":45,"props":306,"children":307},{"style":63},[308],{"type":18,"value":309}," rate_control_mode",{"type":13,"tag":45,"props":311,"children":312},{"style":52},[313],{"type":18,"value":230},{"type":13,"tag":45,"props":315,"children":316},{"style":209},[317],{"type":18,"value":318}," VideoEncodeRateControlModeFlagsKHR",{"type":13,"tag":45,"props":320,"children":321},{"style":63},[322],{"type":18,"value":250},{"type":13,"tag":45,"props":324,"children":325},{"class":47,"line":115},[326,331,335,340],{"type":13,"tag":45,"props":327,"children":328},{"style":63},[329],{"type":18,"value":330}," layer_count",{"type":13,"tag":45,"props":332,"children":333},{"style":52},[334],{"type":18,"value":230},{"type":13,"tag":45,"props":336,"children":337},{"style":209},[338],{"type":18,"value":339}," u32",{"type":13,"tag":45,"props":341,"children":342},{"style":63},[343],{"type":18,"value":250},{"type":13,"tag":45,"props":345,"children":346},{"class":47,"line":129},[347,352,356,360,364,368,373],{"type":13,"tag":45,"props":348,"children":349},{"style":63},[350],{"type":18,"value":351}," p_layers",{"type":13,"tag":45,"props":353,"children":354},{"style":52},[355],{"type":18,"value":230},{"type":13,"tag":45,"props":357,"children":358},{"style":52},[359],{"type":18,"value":267},{"type":13,"tag":45,"props":361,"children":362},{"style":209},[363],{"type":18,"value":235},{"type":13,"tag":45,"props":365,"children":366},{"style":52},[367],{"type":18,"value":240},{"type":13,"tag":45,"props":369,"children":370},{"style":209},[371],{"type":18,"value":372},"VideoEncodeRateControlLayerInfoKHR",{"type":13,"tag":45,"props":374,"children":375},{"style":63},[376],{"type":18,"value":250},{"type":13,"tag":45,"props":378,"children":379},{"class":47,"line":152},[380,385,389,393],{"type":13,"tag":45,"props":381,"children":382},{"style":63},[383],{"type":18,"value":384}," virtual_buffer_size_in_ms",{"type":13,"tag":45,"props":386,"children":387},{"style":52},[388],{"type":18,"value":230},{"type":13,"tag":45,"props":390,"children":391},{"style":209},[392],{"type":18,"value":339},{"type":13,"tag":45,"props":394,"children":395},{"style":63},[396],{"type":18,"value":250},{"type":13,"tag":45,"props":398,"children":399},{"class":47,"line":165},[400,405,409,413],{"type":13,"tag":45,"props":401,"children":402},{"style":63},[403],{"type":18,"value":404}," initial_virtual_buffer_size_in_ms",{"type":13,"tag":45,"props":406,"children":407},{"style":52},[408],{"type":18,"value":230},{"type":13,"tag":45,"props":410,"children":411},{"style":209},[412],{"type":18,"value":339},{"type":13,"tag":45,"props":414,"children":415},{"style":63},[416],{"type":18,"value":250},{"type":13,"tag":45,"props":418,"children":419},{"class":47,"line":178},[420],{"type":13,"tag":45,"props":421,"children":422},{"style":63},[423],{"type":18,"value":424},"}\n",{"type":13,"tag":426,"props":427,"children":428},"ul",{},[429,450,469,480,506,525,553,587],{"type":13,"tag":430,"props":431,"children":432},"li",{},[433,439,441,448],{"type":13,"tag":21,"props":434,"children":436},{"className":435},[],[437],{"type":18,"value":438},"sType",{"type":18,"value":440}," is a ",{"type":13,"tag":442,"props":443,"children":445},"a",{"href":444},"/man/VkStructureType",[446],{"type":18,"value":447},"VkStructureType",{"type":18,"value":449}," value identifying this structure.",{"type":13,"tag":430,"props":451,"children":452},{},[453,459,461,467],{"type":13,"tag":21,"props":454,"children":456},{"className":455},[],[457],{"type":18,"value":458},"pNext",{"type":18,"value":460}," is ",{"type":13,"tag":21,"props":462,"children":464},{"className":463},[],[465],{"type":18,"value":466},"NULL",{"type":18,"value":468}," or a pointer to a structure extending this\nstructure.",{"type":13,"tag":430,"props":470,"children":471},{},[472,478],{"type":13,"tag":21,"props":473,"children":475},{"className":474},[],[476],{"type":18,"value":477},"flags",{"type":18,"value":479}," is reserved for future use.",{"type":13,"tag":430,"props":481,"children":482},{},[483,489,490,496,498,504],{"type":13,"tag":21,"props":484,"children":486},{"className":485},[],[487],{"type":18,"value":488},"rateControlMode",{"type":18,"value":440},{"type":13,"tag":442,"props":491,"children":493},{"href":492},"/man/VkVideoEncodeRateControlModeFlagBitsKHR",[494],{"type":18,"value":495},"VkVideoEncodeRateControlModeFlagBitsKHR",{"type":18,"value":497},"\nvalue specifying the ",{"type":13,"tag":442,"props":499,"children":501},{"href":500},"/chapters/video-coding#encode-rate-control-modes",[502],{"type":18,"value":503},"rate control mode",{"type":18,"value":505},".",{"type":13,"tag":430,"props":507,"children":508},{},[509,515,517,523],{"type":13,"tag":21,"props":510,"children":512},{"className":511},[],[513],{"type":18,"value":514},"layerCount",{"type":18,"value":516}," specifies the number of ",{"type":13,"tag":442,"props":518,"children":520},{"href":519},"/chapters/video-coding#encode-rate-control-layers",[521],{"type":18,"value":522},"rate control layers",{"type":18,"value":524}," to use.",{"type":13,"tag":430,"props":526,"children":527},{},[528,534,536,541,545,551],{"type":13,"tag":21,"props":529,"children":531},{"className":530},[],[532],{"type":18,"value":533},"pLayers",{"type":18,"value":535}," is a pointer to an array of ",{"type":13,"tag":21,"props":537,"children":539},{"className":538},[],[540],{"type":18,"value":514},{"type":13,"tag":542,"props":543,"children":544},"br",{},[],{"type":13,"tag":442,"props":546,"children":548},{"href":547},"/man/VkVideoEncodeRateControlLayerInfoKHR",[549],{"type":18,"value":550},"VkVideoEncodeRateControlLayerInfoKHR",{"type":18,"value":552}," structures, each specifying\nthe rate control configuration of the corresponding rate control layer.",{"type":13,"tag":430,"props":554,"children":555},{},[556,562,564,570,572,578,580,585],{"type":13,"tag":21,"props":557,"children":559},{"className":558},[],[560],{"type":18,"value":561},"virtualBufferSizeInMs",{"type":18,"value":563}," is the size in milliseconds of the virtual\nbuffer used by the implementation’s rate control algorithm for the\n",{"type":13,"tag":442,"props":565,"children":567},{"href":566},"/chapters/video-coding#encode-leaky-bucket-model",[568],{"type":18,"value":569},"leaky bucket model",{"type":18,"value":571},", with respect to the\naverage bitrate of the stream calculated by summing the values of the\n",{"type":13,"tag":21,"props":573,"children":575},{"className":574},[],[576],{"type":18,"value":577},"averageBitrate",{"type":18,"value":579}," members of the elements of the ",{"type":13,"tag":21,"props":581,"children":583},{"className":582},[],[584],{"type":18,"value":533},{"type":18,"value":586}," array.",{"type":13,"tag":430,"props":588,"children":589},{},[590,596,598,603],{"type":13,"tag":21,"props":591,"children":593},{"className":592},[],[594],{"type":18,"value":595},"initialVirtualBufferSizeInMs",{"type":18,"value":597}," is the initial occupancy in\nmilliseconds of the virtual buffer used by the implementation’s rate\ncontrol algorithm for the ",{"type":13,"tag":442,"props":599,"children":600},{"href":566},[601],{"type":18,"value":602},"leaky bucket\nmodel",{"type":18,"value":505},{"type":13,"tag":14,"props":605,"children":606},{},[607,609,614,616,621,623,628],{"type":18,"value":608},"If ",{"type":13,"tag":21,"props":610,"children":612},{"className":611},[],[613],{"type":18,"value":514},{"type":18,"value":615}," is zero then the values of ",{"type":13,"tag":21,"props":617,"children":619},{"className":618},[],[620],{"type":18,"value":561},{"type":18,"value":622},"\nand ",{"type":13,"tag":21,"props":624,"children":626},{"className":625},[],[627],{"type":18,"value":595},{"type":18,"value":629}," are ignored.",{"type":13,"tag":14,"props":631,"children":632},{},[633,635,640],{"type":18,"value":634},"This structure ",{"type":13,"tag":636,"props":637,"children":639},"normative",{"type":638},"can",[],{"type":18,"value":641}," be specified in the following places:",{"type":13,"tag":426,"props":643,"children":644},{},[645,672],{"type":13,"tag":430,"props":646,"children":647},{},[648,650,655,657,663,665,671],{"type":18,"value":649},"In the ",{"type":13,"tag":21,"props":651,"children":653},{"className":652},[],[654],{"type":18,"value":458},{"type":18,"value":656}," chain of ",{"type":13,"tag":442,"props":658,"children":660},{"href":659},"/man/VkVideoBeginCodingInfoKHR",[661],{"type":18,"value":662},"VkVideoBeginCodingInfoKHR",{"type":18,"value":664}," to specify\nthe current rate control state expected to be configured when beginning\na ",{"type":13,"tag":442,"props":666,"children":668},{"href":667},"/chapters/video-coding#video-coding-scope",[669],{"type":18,"value":670},"video coding scope",{"type":18,"value":505},{"type":13,"tag":430,"props":673,"children":674},{},[675,676,681,682,688],{"type":18,"value":649},{"type":13,"tag":21,"props":677,"children":679},{"className":678},[],[680],{"type":18,"value":458},{"type":18,"value":656},{"type":13,"tag":442,"props":683,"children":685},{"href":684},"/man/VkVideoCodingControlInfoKHR",[686],{"type":18,"value":687},"VkVideoCodingControlInfoKHR",{"type":18,"value":689}," to change\nthe rate control configuration of the bound video session.",{"type":13,"tag":14,"props":691,"children":692},{},[693,695,700,702,706,708,714,716,720,721,726,728,732],{"type":18,"value":694},"Including this structure in the ",{"type":13,"tag":21,"props":696,"children":698},{"className":697},[],[699],{"type":18,"value":458},{"type":18,"value":701}," chain of\n",{"type":13,"tag":442,"props":703,"children":704},{"href":684},[705],{"type":18,"value":687},{"type":18,"value":707}," and including\n",{"type":13,"tag":21,"props":709,"children":711},{"className":710},[],[712],{"type":18,"value":713},"VK_VIDEO_CODING_CONTROL_ENCODE_RATE_CONTROL_BIT_KHR",{"type":18,"value":715}," in\n",{"type":13,"tag":442,"props":717,"children":718},{"href":684},[719],{"type":18,"value":687},{"type":18,"value":240},{"type":13,"tag":21,"props":722,"children":724},{"className":723},[],[725],{"type":18,"value":477},{"type":18,"value":727}," enables updating the rate\ncontrol configuration of the bound video session.\nThis replaces the entire rate control configuration of the bound video\nsession and ",{"type":13,"tag":636,"props":729,"children":731},{"type":730},"may",[],{"type":18,"value":733}," reset the state of all enabled rate control layers to an\ninitial state according to the codec-specific rate control semantics defined\nin the corresponding sections listed below.",{"type":13,"tag":14,"props":735,"children":736},{},[737,739,744,746,750,752,758],{"type":18,"value":738},"When ",{"type":13,"tag":21,"props":740,"children":742},{"className":741},[],[743],{"type":18,"value":514},{"type":18,"value":745}," is greater than one, multiple\n",{"type":13,"tag":442,"props":747,"children":748},{"href":519},[749],{"type":18,"value":522},{"type":18,"value":751}," are configured, and each\nrate control layer is applied to the corresponding video coding layer\nidentified by the index of the corresponding element of ",{"type":13,"tag":21,"props":753,"children":755},{"className":754},[],[756],{"type":18,"value":757},"pLayer",{"type":18,"value":505},{"type":13,"tag":426,"props":760,"children":761},{},[762,775],{"type":13,"tag":430,"props":763,"children":764},{},[765,767,773],{"type":18,"value":766},"If the video session was created with the video codec operation\n",{"type":13,"tag":21,"props":768,"children":770},{"className":769},[],[771],{"type":18,"value":772},"VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR",{"type":18,"value":774},", then this index\nspecifies the H.264 temporal layer ID of the video coding layer the rate\ncontrol layer is applied to.",{"type":13,"tag":430,"props":776,"children":777},{},[778,779,785],{"type":18,"value":766},{"type":13,"tag":21,"props":780,"children":782},{"className":781},[],[783],{"type":18,"value":784},"VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR",{"type":18,"value":786},", then this index\nspecifies the H.265 temporal ID of the video coding layer the rate\ncontrol layer is applied to.",{"type":13,"tag":14,"props":788,"children":789},{},[790,792,795,797,802,803,808,810,816],{"type":18,"value":791},"Additional structures providing codec-specific rate control parameters ",{"type":13,"tag":636,"props":793,"children":794},{"type":638},[],{"type":18,"value":796},"\nbe included in the ",{"type":13,"tag":21,"props":798,"children":800},{"className":799},[],[801],{"type":18,"value":458},{"type":18,"value":656},{"type":13,"tag":21,"props":804,"children":806},{"className":805},[],[807],{"type":18,"value":687},{"type":18,"value":809},"\ndepending on the ",{"type":13,"tag":442,"props":811,"children":813},{"href":812},"/chapters/video-coding#video-profiles",[814],{"type":18,"value":815},"video profile",{"type":18,"value":817}," the bound video session\nwas created.\nFor further details see:",{"type":13,"tag":426,"props":819,"children":820},{},[821,830,839],{"type":13,"tag":430,"props":822,"children":823},{},[824],{"type":13,"tag":442,"props":825,"children":827},{"href":826},"/chapters/video-coding#video-coding-control",[828],{"type":18,"value":829},"Video Coding Control",{"type":13,"tag":430,"props":831,"children":832},{},[833],{"type":13,"tag":442,"props":834,"children":836},{"href":835},"/chapters/video-coding#encode-h264-rate-control",[837],{"type":18,"value":838},"H.264 Encode Rate Control",{"type":13,"tag":430,"props":840,"children":841},{},[842],{"type":13,"tag":442,"props":843,"children":845},{"href":844},"/chapters/video-coding#encode-h265-rate-control",[846],{"type":18,"value":847},"H.265 Encode Rate Control",{"type":13,"tag":14,"props":849,"children":850},{},[851,853,859],{"type":18,"value":852},"The new rate control configuration takes effect when the corresponding\n",{"type":13,"tag":442,"props":854,"children":856},{"href":855},"/man/vkCmdControlVideoCodingKHR",[857],{"type":18,"value":858},"vkCmdControlVideoCodingKHR",{"type":18,"value":860}," is executed on the device, and only impacts\nvideo encode operations that follow in execution order.",{"type":13,"tag":862,"props":863,"children":865},"validity-group",{"name":864},"Valid Usage",[866,917,961,1011,1049,1103,1150,1195,1238,1264,1293,1368],{"type":13,"tag":867,"props":868,"children":870},"validity-field",{"name":869},"VUID-VkVideoEncodeRateControlInfoKHR-rateControlMode-08248",[871],{"type":13,"tag":14,"props":872,"children":873},{},[874,875,880,882,888,890,896,898,903,905,909,911],{"type":18,"value":608},{"type":13,"tag":21,"props":876,"children":878},{"className":877},[],[879],{"type":18,"value":488},{"type":18,"value":881}," is\n",{"type":13,"tag":21,"props":883,"children":885},{"className":884},[],[886],{"type":18,"value":887},"VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DEFAULT_KHR",{"type":18,"value":889}," or\n",{"type":13,"tag":21,"props":891,"children":893},{"className":892},[],[894],{"type":18,"value":895},"VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DISABLED_BIT_KHR",{"type":18,"value":897},", then\n",{"type":13,"tag":21,"props":899,"children":901},{"className":900},[],[902],{"type":18,"value":514},{"type":18,"value":904}," ",{"type":13,"tag":636,"props":906,"children":908},{"type":907},"must",[],{"type":18,"value":910}," be ",{"type":13,"tag":21,"props":912,"children":914},{"className":913},[],[915],{"type":18,"value":916},"0",{"type":13,"tag":867,"props":918,"children":920},{"name":919},"VUID-VkVideoEncodeRateControlInfoKHR-rateControlMode-08275",[921],{"type":13,"tag":14,"props":922,"children":923},{},[924,925,930,931,937,938,944,945,950,951,954,956],{"type":18,"value":608},{"type":13,"tag":21,"props":926,"children":928},{"className":927},[],[929],{"type":18,"value":488},{"type":18,"value":881},{"type":13,"tag":21,"props":932,"children":934},{"className":933},[],[935],{"type":18,"value":936},"VK_VIDEO_ENCODE_RATE_CONTROL_MODE_CBR_BIT_KHR",{"type":18,"value":889},{"type":13,"tag":21,"props":939,"children":941},{"className":940},[],[942],{"type":18,"value":943},"VK_VIDEO_ENCODE_RATE_CONTROL_MODE_VBR_BIT_KHR",{"type":18,"value":897},{"type":13,"tag":21,"props":946,"children":948},{"className":947},[],[949],{"type":18,"value":514},{"type":18,"value":904},{"type":13,"tag":636,"props":952,"children":953},{"type":907},[],{"type":18,"value":955}," be greater than ",{"type":13,"tag":21,"props":957,"children":959},{"className":958},[],[960],{"type":18,"value":916},{"type":13,"tag":867,"props":962,"children":964},{"name":963},"VUID-VkVideoEncodeRateControlInfoKHR-rateControlMode-08244",[965],{"type":13,"tag":14,"props":966,"children":967},{},[968,969,974,976,981,983,986,988,994,995,1001,1003,1009],{"type":18,"value":608},{"type":13,"tag":21,"props":970,"children":972},{"className":971},[],[973],{"type":18,"value":488},{"type":18,"value":975}," is not\n",{"type":13,"tag":21,"props":977,"children":979},{"className":978},[],[980],{"type":18,"value":887},{"type":18,"value":982},", then it ",{"type":13,"tag":636,"props":984,"children":985},{"type":907},[],{"type":18,"value":987},"\nspecify one of the bits included in\n",{"type":13,"tag":442,"props":989,"children":991},{"href":990},"/man/VkVideoEncodeCapabilitiesKHR",[992],{"type":18,"value":993},"VkVideoEncodeCapabilitiesKHR",{"type":18,"value":240},{"type":13,"tag":21,"props":996,"children":998},{"className":997},[],[999],{"type":18,"value":1000},"rateControlModes",{"type":18,"value":1002},", as returned\nby ",{"type":13,"tag":442,"props":1004,"children":1006},{"href":1005},"/man/vkGetPhysicalDeviceVideoCapabilitiesKHR",[1007],{"type":18,"value":1008},"vkGetPhysicalDeviceVideoCapabilitiesKHR",{"type":18,"value":1010}," for the used video\nprofile",{"type":13,"tag":867,"props":1012,"children":1014},{"name":1013},"VUID-VkVideoEncodeRateControlInfoKHR-layerCount-08245",[1015],{"type":13,"tag":14,"props":1016,"children":1017},{},[1018,1023,1025,1028,1030,1034,1035,1041,1043,1047],{"type":13,"tag":21,"props":1019,"children":1021},{"className":1020},[],[1022],{"type":18,"value":514},{"type":18,"value":1024}," member ",{"type":13,"tag":636,"props":1026,"children":1027},{"type":907},[],{"type":18,"value":1029}," be less than or equal to\n",{"type":13,"tag":442,"props":1031,"children":1032},{"href":990},[1033],{"type":18,"value":993},{"type":18,"value":240},{"type":13,"tag":21,"props":1036,"children":1038},{"className":1037},[],[1039],{"type":18,"value":1040},"maxRateControlLayers",{"type":18,"value":1042},", as\nreturned by ",{"type":13,"tag":442,"props":1044,"children":1045},{"href":1005},[1046],{"type":18,"value":1008},{"type":18,"value":1048}," for the used\nvideo profile",{"type":13,"tag":867,"props":1050,"children":1052},{"name":1051},"VUID-VkVideoEncodeRateControlInfoKHR-pLayers-08276",[1053],{"type":13,"tag":14,"props":1054,"children":1055},{},[1056,1058,1063,1065,1070,1071,1074,1076,1082,1084,1088,1089,1095,1097,1101],{"type":18,"value":1057},"For each element of ",{"type":13,"tag":21,"props":1059,"children":1061},{"className":1060},[],[1062],{"type":18,"value":533},{"type":18,"value":1064},", its ",{"type":13,"tag":21,"props":1066,"children":1068},{"className":1067},[],[1069],{"type":18,"value":577},{"type":18,"value":1024},{"type":13,"tag":636,"props":1072,"children":1073},{"type":907},[],{"type":18,"value":1075},"\nbe between ",{"type":13,"tag":21,"props":1077,"children":1079},{"className":1078},[],[1080],{"type":18,"value":1081},"1",{"type":18,"value":1083}," and ",{"type":13,"tag":442,"props":1085,"children":1086},{"href":990},[1087],{"type":18,"value":993},{"type":18,"value":240},{"type":13,"tag":21,"props":1090,"children":1092},{"className":1091},[],[1093],{"type":18,"value":1094},"maxBitrate",{"type":18,"value":1096},",\nas returned by ",{"type":13,"tag":442,"props":1098,"children":1099},{"href":1005},[1100],{"type":18,"value":1008},{"type":18,"value":1102}," for the\nused video profile",{"type":13,"tag":867,"props":1104,"children":1106},{"name":1105},"VUID-VkVideoEncodeRateControlInfoKHR-pLayers-08277",[1107],{"type":13,"tag":14,"props":1108,"children":1109},{},[1110,1111,1116,1117,1122,1123,1126,1128,1133,1134,1138,1139,1144,1145,1149],{"type":18,"value":1057},{"type":13,"tag":21,"props":1112,"children":1114},{"className":1113},[],[1115],{"type":18,"value":533},{"type":18,"value":1064},{"type":13,"tag":21,"props":1118,"children":1120},{"className":1119},[],[1121],{"type":18,"value":1094},{"type":18,"value":1024},{"type":13,"tag":636,"props":1124,"children":1125},{"type":907},[],{"type":18,"value":1127}," be\nbetween ",{"type":13,"tag":21,"props":1129,"children":1131},{"className":1130},[],[1132],{"type":18,"value":1081},{"type":18,"value":1083},{"type":13,"tag":442,"props":1135,"children":1136},{"href":990},[1137],{"type":18,"value":993},{"type":18,"value":240},{"type":13,"tag":21,"props":1140,"children":1142},{"className":1141},[],[1143],{"type":18,"value":1094},{"type":18,"value":1042},{"type":13,"tag":442,"props":1146,"children":1147},{"href":1005},[1148],{"type":18,"value":1008},{"type":18,"value":1048},{"type":13,"tag":867,"props":1151,"children":1153},{"name":1152},"VUID-VkVideoEncodeRateControlInfoKHR-rateControlMode-08356",[1154],{"type":13,"tag":14,"props":1155,"children":1156},{},[1157,1158,1163,1164,1169,1171,1176,1177,1182,1183,1186,1188,1193],{"type":18,"value":608},{"type":13,"tag":21,"props":1159,"children":1161},{"className":1160},[],[1162],{"type":18,"value":488},{"type":18,"value":881},{"type":13,"tag":21,"props":1165,"children":1167},{"className":1166},[],[1168],{"type":18,"value":936},{"type":18,"value":1170},", then for each\nelement of ",{"type":13,"tag":21,"props":1172,"children":1174},{"className":1173},[],[1175],{"type":18,"value":533},{"type":18,"value":1064},{"type":13,"tag":21,"props":1178,"children":1180},{"className":1179},[],[1181],{"type":18,"value":577},{"type":18,"value":1024},{"type":13,"tag":636,"props":1184,"children":1185},{"type":907},[],{"type":18,"value":1187}," equal\nits ",{"type":13,"tag":21,"props":1189,"children":1191},{"className":1190},[],[1192],{"type":18,"value":1094},{"type":18,"value":1194}," member",{"type":13,"tag":867,"props":1196,"children":1198},{"name":1197},"VUID-VkVideoEncodeRateControlInfoKHR-rateControlMode-08278",[1199],{"type":13,"tag":14,"props":1200,"children":1201},{},[1202,1203,1208,1209,1214,1215,1220,1221,1226,1227,1230,1232,1237],{"type":18,"value":608},{"type":13,"tag":21,"props":1204,"children":1206},{"className":1205},[],[1207],{"type":18,"value":488},{"type":18,"value":881},{"type":13,"tag":21,"props":1210,"children":1212},{"className":1211},[],[1213],{"type":18,"value":943},{"type":18,"value":1170},{"type":13,"tag":21,"props":1216,"children":1218},{"className":1217},[],[1219],{"type":18,"value":533},{"type":18,"value":1064},{"type":13,"tag":21,"props":1222,"children":1224},{"className":1223},[],[1225],{"type":18,"value":577},{"type":18,"value":1024},{"type":13,"tag":636,"props":1228,"children":1229},{"type":907},[],{"type":18,"value":1231}," be less\nthan or equal to its ",{"type":13,"tag":21,"props":1233,"children":1235},{"className":1234},[],[1236],{"type":18,"value":1094},{"type":18,"value":1194},{"type":13,"tag":867,"props":1239,"children":1241},{"name":1240},"VUID-VkVideoEncodeRateControlInfoKHR-layerCount-08357",[1242],{"type":13,"tag":14,"props":1243,"children":1244},{},[1245,1246,1251,1253,1258,1259,1262],{"type":18,"value":608},{"type":13,"tag":21,"props":1247,"children":1249},{"className":1248},[],[1250],{"type":18,"value":514},{"type":18,"value":1252}," is not zero, then ",{"type":13,"tag":21,"props":1254,"children":1256},{"className":1255},[],[1257],{"type":18,"value":561},{"type":18,"value":904},{"type":13,"tag":636,"props":1260,"children":1261},{"type":907},[],{"type":18,"value":1263},"\nbe greater than zero",{"type":13,"tag":867,"props":1265,"children":1267},{"name":1266},"VUID-VkVideoEncodeRateControlInfoKHR-layerCount-08358",[1268],{"type":13,"tag":14,"props":1269,"children":1270},{},[1271,1272,1277,1278,1283,1286,1288],{"type":18,"value":608},{"type":13,"tag":21,"props":1273,"children":1275},{"className":1274},[],[1276],{"type":18,"value":514},{"type":18,"value":1252},{"type":13,"tag":21,"props":1279,"children":1281},{"className":1280},[],[1282],{"type":18,"value":595},{"type":13,"tag":636,"props":1284,"children":1285},{"type":907},[],{"type":18,"value":1287}," be less than ",{"type":13,"tag":21,"props":1289,"children":1291},{"className":1290},[],[1292],{"type":18,"value":561},{"type":13,"tag":867,"props":1294,"children":1296},{"name":1295},"VUID-VkVideoEncodeRateControlInfoKHR-videoCodecOperation-07022",[1297],{"type":13,"tag":14,"props":1298,"children":1299},{},[1300,1302,1308,1310,1315,1317,1322,1324,1330,1332,1337,1339,1344,1346,1351,1352,1355,1357,1361,1362],{"type":18,"value":1301},"If the ",{"type":13,"tag":21,"props":1303,"children":1305},{"className":1304},[],[1306],{"type":18,"value":1307},"videoCodecOperation",{"type":18,"value":1309}," of the used video profile is\n",{"type":13,"tag":21,"props":1311,"children":1313},{"className":1312},[],[1314],{"type":18,"value":772},{"type":18,"value":1316},", the ",{"type":13,"tag":21,"props":1318,"children":1320},{"className":1319},[],[1321],{"type":18,"value":458},{"type":18,"value":1323},"\nchain this structure is included in also includes an instance of the\n",{"type":13,"tag":442,"props":1325,"children":1327},{"href":1326},"/man/VkVideoEncodeH264RateControlInfoKHR",[1328],{"type":18,"value":1329},"VkVideoEncodeH264RateControlInfoKHR",{"type":18,"value":1331}," structure, and\n",{"type":13,"tag":21,"props":1333,"children":1335},{"className":1334},[],[1336],{"type":18,"value":514},{"type":18,"value":1338}," is greater than ",{"type":13,"tag":21,"props":1340,"children":1342},{"className":1341},[],[1343],{"type":18,"value":1081},{"type":18,"value":1345},", then ",{"type":13,"tag":21,"props":1347,"children":1349},{"className":1348},[],[1350],{"type":18,"value":514},{"type":18,"value":904},{"type":13,"tag":636,"props":1353,"children":1354},{"type":907},[],{"type":18,"value":1356}," equal\n",{"type":13,"tag":442,"props":1358,"children":1359},{"href":1326},[1360],{"type":18,"value":1329},{"type":18,"value":240},{"type":13,"tag":21,"props":1363,"children":1365},{"className":1364},[],[1366],{"type":18,"value":1367},"temporalLayerCount",{"type":13,"tag":867,"props":1369,"children":1371},{"name":1370},"VUID-VkVideoEncodeRateControlInfoKHR-videoCodecOperation-07025",[1372],{"type":13,"tag":14,"props":1373,"children":1374},{},[1375,1376,1381,1382,1387,1388,1393,1394,1400,1401,1406,1407,1412,1413,1418,1419,1422,1423,1427,1428],{"type":18,"value":1301},{"type":13,"tag":21,"props":1377,"children":1379},{"className":1378},[],[1380],{"type":18,"value":1307},{"type":18,"value":1309},{"type":13,"tag":21,"props":1383,"children":1385},{"className":1384},[],[1386],{"type":18,"value":784},{"type":18,"value":1316},{"type":13,"tag":21,"props":1389,"children":1391},{"className":1390},[],[1392],{"type":18,"value":458},{"type":18,"value":1323},{"type":13,"tag":442,"props":1395,"children":1397},{"href":1396},"/man/VkVideoEncodeH265RateControlInfoKHR",[1398],{"type":18,"value":1399},"VkVideoEncodeH265RateControlInfoKHR",{"type":18,"value":1331},{"type":13,"tag":21,"props":1402,"children":1404},{"className":1403},[],[1405],{"type":18,"value":514},{"type":18,"value":1338},{"type":13,"tag":21,"props":1408,"children":1410},{"className":1409},[],[1411],{"type":18,"value":1081},{"type":18,"value":1345},{"type":13,"tag":21,"props":1414,"children":1416},{"className":1415},[],[1417],{"type":18,"value":514},{"type":18,"value":904},{"type":13,"tag":636,"props":1420,"children":1421},{"type":907},[],{"type":18,"value":1356},{"type":13,"tag":442,"props":1424,"children":1425},{"href":1396},[1426],{"type":18,"value":1399},{"type":18,"value":240},{"type":13,"tag":21,"props":1429,"children":1431},{"className":1430},[],[1432],{"type":18,"value":1433},"subLayerCount",{"type":13,"tag":862,"props":1435,"children":1437},{"name":1436},"Valid Usage (Implicit)",[1438,1461,1483,1522],{"type":13,"tag":867,"props":1439,"children":1441},{"name":1440},"VUID-VkVideoEncodeRateControlInfoKHR-sType-sType",[1442],{"type":13,"tag":14,"props":1443,"children":1444},{},[1445,1450,1451,1454,1455],{"type":13,"tag":21,"props":1446,"children":1448},{"className":1447},[],[1449],{"type":18,"value":438},{"type":18,"value":904},{"type":13,"tag":636,"props":1452,"children":1453},{"type":907},[],{"type":18,"value":910},{"type":13,"tag":21,"props":1456,"children":1458},{"className":1457},[],[1459],{"type":18,"value":1460},"VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR",{"type":13,"tag":867,"props":1462,"children":1464},{"name":1463},"VUID-VkVideoEncodeRateControlInfoKHR-flags-zerobitmask",[1465],{"type":13,"tag":14,"props":1466,"children":1467},{},[1468,1473,1474,1477,1478],{"type":13,"tag":21,"props":1469,"children":1471},{"className":1470},[],[1472],{"type":18,"value":477},{"type":18,"value":904},{"type":13,"tag":636,"props":1475,"children":1476},{"type":907},[],{"type":18,"value":910},{"type":13,"tag":21,"props":1479,"children":1481},{"className":1480},[],[1482],{"type":18,"value":916},{"type":13,"tag":867,"props":1484,"children":1486},{"name":1485},"VUID-VkVideoEncodeRateControlInfoKHR-rateControlMode-parameter",[1487],{"type":13,"tag":14,"props":1488,"children":1489},{},[1490,1491,1496,1498,1503,1505,1510,1511,1514,1516,1520],{"type":18,"value":608},{"type":13,"tag":21,"props":1492,"children":1494},{"className":1493},[],[1495],{"type":18,"value":488},{"type":18,"value":1497}," is not ",{"type":13,"tag":21,"props":1499,"children":1501},{"className":1500},[],[1502],{"type":18,"value":916},{"type":18,"value":1504},", ",{"type":13,"tag":21,"props":1506,"children":1508},{"className":1507},[],[1509],{"type":18,"value":488},{"type":18,"value":904},{"type":13,"tag":636,"props":1512,"children":1513},{"type":907},[],{"type":18,"value":1515}," be a valid ",{"type":13,"tag":442,"props":1517,"children":1518},{"href":492},[1519],{"type":18,"value":495},{"type":18,"value":1521}," value",{"type":13,"tag":867,"props":1523,"children":1525},{"name":1524},"VUID-VkVideoEncodeRateControlInfoKHR-pLayers-parameter",[1526],{"type":13,"tag":14,"props":1527,"children":1528},{},[1529,1530,1535,1536,1541,1542,1547,1548,1551,1553,1558,1560,1564],{"type":18,"value":608},{"type":13,"tag":21,"props":1531,"children":1533},{"className":1532},[],[1534],{"type":18,"value":514},{"type":18,"value":1497},{"type":13,"tag":21,"props":1537,"children":1539},{"className":1538},[],[1540],{"type":18,"value":916},{"type":18,"value":1504},{"type":13,"tag":21,"props":1543,"children":1545},{"className":1544},[],[1546],{"type":18,"value":533},{"type":18,"value":904},{"type":13,"tag":636,"props":1549,"children":1550},{"type":907},[],{"type":18,"value":1552}," be a valid pointer to an array of ",{"type":13,"tag":21,"props":1554,"children":1556},{"className":1555},[],[1557],{"type":18,"value":514},{"type":18,"value":1559}," valid ",{"type":13,"tag":442,"props":1561,"children":1562},{"href":547},[1563],{"type":18,"value":550},{"type":18,"value":1565}," structures",{"type":13,"tag":1567,"props":1568,"children":1569},"style",{},[1570],{"type":18,"value":1571},"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":39,"searchDepth":69,"depth":69,"links":1573},[],"markdown",1725732594581]