[{"data":1,"prerenderedAt":673},["ShallowReactive",2],{"cXGu6yo9OX":3},{"title":4,"description":5,"parent":6,"type":7,"xrefs":8,"body":9,"_type":672,"_id":4},"VkVideoEncodeRateControlLayerInfoKHR","Structure to set encode per-layer rate control parameters","VK_KHR_video_encode_queue","structs",[],{"type":10,"children":11,"toc":670},"root",[12,28,336,430,454,487,517,560,664],{"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,158],{"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 VkVideoEncodeRateControlLayerInfoKHR {\n VkStructureType sType;\n const void* pNext;\n uint64_t averageBitrate;\n uint64_t maxBitrate;\n uint32_t frameRateNumerator;\n uint32_t frameRateDenominator;\n} VkVideoEncodeRateControlLayerInfoKHR;\n","C","c","",[41],{"type":13,"tag":21,"props":42,"children":43},{"__ignoreMap":39},[44,67,76,95,109,122,136,149],{"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}," VkVideoEncodeRateControlLayerInfoKHR {\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,104],{"type":13,"tag":45,"props":100,"children":101},{"style":52},[102],{"type":18,"value":103}," uint64_t",{"type":13,"tag":45,"props":105,"children":106},{"style":63},[107],{"type":18,"value":108}," averageBitrate;\n",{"type":13,"tag":45,"props":110,"children":112},{"class":47,"line":111},5,[113,117],{"type":13,"tag":45,"props":114,"children":115},{"style":52},[116],{"type":18,"value":103},{"type":13,"tag":45,"props":118,"children":119},{"style":63},[120],{"type":18,"value":121}," maxBitrate;\n",{"type":13,"tag":45,"props":123,"children":125},{"class":47,"line":124},6,[126,131],{"type":13,"tag":45,"props":127,"children":128},{"style":52},[129],{"type":18,"value":130}," uint32_t",{"type":13,"tag":45,"props":132,"children":133},{"style":63},[134],{"type":18,"value":135}," frameRateNumerator;\n",{"type":13,"tag":45,"props":137,"children":139},{"class":47,"line":138},7,[140,144],{"type":13,"tag":45,"props":141,"children":142},{"style":52},[143],{"type":18,"value":130},{"type":13,"tag":45,"props":145,"children":146},{"style":63},[147],{"type":18,"value":148}," frameRateDenominator;\n",{"type":13,"tag":45,"props":150,"children":152},{"class":47,"line":151},8,[153],{"type":13,"tag":45,"props":154,"children":155},{"style":63},[156],{"type":18,"value":157},"} VkVideoEncodeRateControlLayerInfoKHR;\n",{"type":13,"tag":33,"props":159,"children":164},{"className":160,"code":161,"filename":162,"language":163,"meta":39,"style":39},"language-rs shiki shiki-themes github-light-default github-dark-default","pub struct VideoEncodeRateControlLayerInfoKHR {\n s_type: vk::StructureType,\n p_next: *const c_void,\n average_bitrate: u64,\n max_bitrate: u64,\n frame_rate_numerator: u32,\n frame_rate_denominator: u32,\n}\n","Rust","rs",[165],{"type":13,"tag":21,"props":166,"children":167},{"__ignoreMap":39},[168,191,224,246,267,287,308,328],{"type":13,"tag":45,"props":169,"children":170},{"class":47,"line":48},[171,176,180,186],{"type":13,"tag":45,"props":172,"children":173},{"style":52},[174],{"type":18,"value":175},"pub",{"type":13,"tag":45,"props":177,"children":178},{"style":52},[179],{"type":18,"value":60},{"type":13,"tag":45,"props":181,"children":183},{"style":182},"--shiki-default:#953800;--shiki-dark:#FFA657",[184],{"type":18,"value":185}," VideoEncodeRateControlLayerInfoKHR",{"type":13,"tag":45,"props":187,"children":188},{"style":63},[189],{"type":18,"value":190}," {\n",{"type":13,"tag":45,"props":192,"children":193},{"class":47,"line":69},[194,199,204,209,214,219],{"type":13,"tag":45,"props":195,"children":196},{"style":63},[197],{"type":18,"value":198}," s_type",{"type":13,"tag":45,"props":200,"children":201},{"style":52},[202],{"type":18,"value":203},":",{"type":13,"tag":45,"props":205,"children":206},{"style":182},[207],{"type":18,"value":208}," vk",{"type":13,"tag":45,"props":210,"children":211},{"style":52},[212],{"type":18,"value":213},"::",{"type":13,"tag":45,"props":215,"children":216},{"style":182},[217],{"type":18,"value":218},"StructureType",{"type":13,"tag":45,"props":220,"children":221},{"style":63},[222],{"type":18,"value":223},",\n",{"type":13,"tag":45,"props":225,"children":226},{"class":47,"line":78},[227,232,236,241],{"type":13,"tag":45,"props":228,"children":229},{"style":63},[230],{"type":18,"value":231}," p_next",{"type":13,"tag":45,"props":233,"children":234},{"style":52},[235],{"type":18,"value":203},{"type":13,"tag":45,"props":237,"children":238},{"style":52},[239],{"type":18,"value":240}," *const",{"type":13,"tag":45,"props":242,"children":243},{"style":63},[244],{"type":18,"value":245}," c_void,\n",{"type":13,"tag":45,"props":247,"children":248},{"class":47,"line":97},[249,254,258,263],{"type":13,"tag":45,"props":250,"children":251},{"style":63},[252],{"type":18,"value":253}," average_bitrate",{"type":13,"tag":45,"props":255,"children":256},{"style":52},[257],{"type":18,"value":203},{"type":13,"tag":45,"props":259,"children":260},{"style":182},[261],{"type":18,"value":262}," u64",{"type":13,"tag":45,"props":264,"children":265},{"style":63},[266],{"type":18,"value":223},{"type":13,"tag":45,"props":268,"children":269},{"class":47,"line":111},[270,275,279,283],{"type":13,"tag":45,"props":271,"children":272},{"style":63},[273],{"type":18,"value":274}," max_bitrate",{"type":13,"tag":45,"props":276,"children":277},{"style":52},[278],{"type":18,"value":203},{"type":13,"tag":45,"props":280,"children":281},{"style":182},[282],{"type":18,"value":262},{"type":13,"tag":45,"props":284,"children":285},{"style":63},[286],{"type":18,"value":223},{"type":13,"tag":45,"props":288,"children":289},{"class":47,"line":124},[290,295,299,304],{"type":13,"tag":45,"props":291,"children":292},{"style":63},[293],{"type":18,"value":294}," frame_rate_numerator",{"type":13,"tag":45,"props":296,"children":297},{"style":52},[298],{"type":18,"value":203},{"type":13,"tag":45,"props":300,"children":301},{"style":182},[302],{"type":18,"value":303}," u32",{"type":13,"tag":45,"props":305,"children":306},{"style":63},[307],{"type":18,"value":223},{"type":13,"tag":45,"props":309,"children":310},{"class":47,"line":138},[311,316,320,324],{"type":13,"tag":45,"props":312,"children":313},{"style":63},[314],{"type":18,"value":315}," frame_rate_denominator",{"type":13,"tag":45,"props":317,"children":318},{"style":52},[319],{"type":18,"value":203},{"type":13,"tag":45,"props":321,"children":322},{"style":182},[323],{"type":18,"value":303},{"type":13,"tag":45,"props":325,"children":326},{"style":63},[327],{"type":18,"value":223},{"type":13,"tag":45,"props":329,"children":330},{"class":47,"line":151},[331],{"type":13,"tag":45,"props":332,"children":333},{"style":63},[334],{"type":18,"value":335},"}\n",{"type":13,"tag":337,"props":338,"children":339},"ul",{},[340,361,372,391,408,419],{"type":13,"tag":341,"props":342,"children":343},"li",{},[344,350,352,359],{"type":13,"tag":21,"props":345,"children":347},{"className":346},[],[348],{"type":18,"value":349},"sType",{"type":18,"value":351}," is a ",{"type":13,"tag":353,"props":354,"children":356},"a",{"href":355},"/man/VkStructureType",[357],{"type":18,"value":358},"VkStructureType",{"type":18,"value":360}," value identifying this structure.",{"type":13,"tag":341,"props":362,"children":363},{},[364,370],{"type":13,"tag":21,"props":365,"children":367},{"className":366},[],[368],{"type":18,"value":369},"pNext",{"type":18,"value":371}," is a pointer to a structure extending this structure.",{"type":13,"tag":341,"props":373,"children":374},{},[375,381,383,389],{"type":13,"tag":21,"props":376,"children":378},{"className":377},[],[379],{"type":18,"value":380},"averageBitrate",{"type":18,"value":382}," is the average ",{"type":13,"tag":353,"props":384,"children":386},{"href":385},"/chapters/video-coding#encode-bitrate",[387],{"type":18,"value":388},"bitrate",{"type":18,"value":390}," to be\ntargeted by the implementation’s rate control algorithm.",{"type":13,"tag":341,"props":392,"children":393},{},[394,400,402,406],{"type":13,"tag":21,"props":395,"children":397},{"className":396},[],[398],{"type":18,"value":399},"maxBitrate",{"type":18,"value":401}," is the peak ",{"type":13,"tag":353,"props":403,"children":404},{"href":385},[405],{"type":18,"value":388},{"type":18,"value":407}," to be targeted\nby the implementation’s rate control algorithm.",{"type":13,"tag":341,"props":409,"children":410},{},[411,417],{"type":13,"tag":21,"props":412,"children":414},{"className":413},[],[415],{"type":18,"value":416},"frameRateNumerator",{"type":18,"value":418}," is the numerator of the frame rate assumed by\nthe implementation’s rate control algorithm.",{"type":13,"tag":341,"props":420,"children":421},{},[422,428],{"type":13,"tag":21,"props":423,"children":425},{"className":424},[],[426],{"type":18,"value":427},"frameRateDenominator",{"type":18,"value":429}," is the denominator of the frame rate assumed\nby the implementation’s rate control algorithm.",{"type":13,"tag":431,"props":432,"children":433},"note",{},[434],{"type":13,"tag":14,"props":435,"children":436},{},[437,439,444,446,452],{"type":18,"value":438},"The ability of the implementation’s rate control algorithm to be able to\nmatch the requested average and/or peak bitrates ",{"type":13,"tag":440,"props":441,"children":443},"normative",{"type":442},"may",[],{"type":18,"value":445}," be limited by the set\nof other codec-independent and codec-specific rate control parameters\nspecified by the application, the input content, as well as the application\nconforming to the rate control guidance provided to the implementation, as\ndescribed ",{"type":13,"tag":353,"props":447,"children":449},{"href":448},"/chapters/video-coding#encode-rate-control",[450],{"type":18,"value":451},"earlier",{"type":18,"value":453},".",{"type":13,"tag":14,"props":455,"children":456},{},[457,459,463,465,470,472,477,479,485],{"type":18,"value":458},"Additional structures providing codec-specific rate control parameters ",{"type":13,"tag":440,"props":460,"children":462},{"type":461},"can",[],{"type":18,"value":464},"\nbe included in the ",{"type":13,"tag":21,"props":466,"children":468},{"className":467},[],[469],{"type":18,"value":369},{"type":18,"value":471}," chain of\n",{"type":13,"tag":21,"props":473,"children":475},{"className":474},[],[476],{"type":18,"value":4},{"type":18,"value":478}," depending on the\n",{"type":13,"tag":353,"props":480,"children":482},{"href":481},"/chapters/video-coding#video-profiles",[483],{"type":18,"value":484},"video profile",{"type":18,"value":486}," the bound video session was created with.\nFor further details see:",{"type":13,"tag":337,"props":488,"children":489},{},[490,499,508],{"type":13,"tag":341,"props":491,"children":492},{},[493],{"type":13,"tag":353,"props":494,"children":496},{"href":495},"/chapters/video-coding#video-coding-control",[497],{"type":18,"value":498},"Video Coding Control",{"type":13,"tag":341,"props":500,"children":501},{},[502],{"type":13,"tag":353,"props":503,"children":505},{"href":504},"/chapters/video-coding#encode-h264-rate-control",[506],{"type":18,"value":507},"H.264 Encode Rate Control",{"type":13,"tag":341,"props":509,"children":510},{},[511],{"type":13,"tag":353,"props":512,"children":514},{"href":513},"/chapters/video-coding#encode-h265-rate-control",[515],{"type":18,"value":516},"H.265 Encode Rate Control",{"type":13,"tag":518,"props":519,"children":521},"validity-group",{"name":520},"Valid Usage",[522,543],{"type":13,"tag":523,"props":524,"children":526},"validity-field",{"name":525},"VUID-VkVideoEncodeRateControlLayerInfoKHR-frameRateNumerator-08350",[527],{"type":13,"tag":14,"props":528,"children":529},{},[530,535,537,541],{"type":13,"tag":21,"props":531,"children":533},{"className":532},[],[534],{"type":18,"value":416},{"type":18,"value":536}," ",{"type":13,"tag":440,"props":538,"children":540},{"type":539},"must",[],{"type":18,"value":542}," be greater than zero",{"type":13,"tag":523,"props":544,"children":546},{"name":545},"VUID-VkVideoEncodeRateControlLayerInfoKHR-frameRateDenominator-08351",[547],{"type":13,"tag":14,"props":548,"children":549},{},[550,555,556,559],{"type":13,"tag":21,"props":551,"children":553},{"className":552},[],[554],{"type":18,"value":427},{"type":18,"value":536},{"type":13,"tag":440,"props":557,"children":558},{"type":539},[],{"type":18,"value":542},{"type":13,"tag":518,"props":561,"children":563},{"name":562},"Valid Usage (Implicit)",[564,588,638],{"type":13,"tag":523,"props":565,"children":567},{"name":566},"VUID-VkVideoEncodeRateControlLayerInfoKHR-sType-sType",[568],{"type":13,"tag":14,"props":569,"children":570},{},[571,576,577,580,582],{"type":13,"tag":21,"props":572,"children":574},{"className":573},[],[575],{"type":18,"value":349},{"type":18,"value":536},{"type":13,"tag":440,"props":578,"children":579},{"type":539},[],{"type":18,"value":581}," be ",{"type":13,"tag":21,"props":583,"children":585},{"className":584},[],[586],{"type":18,"value":587},"VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR",{"type":13,"tag":523,"props":589,"children":591},{"name":590},"VUID-VkVideoEncodeRateControlLayerInfoKHR-pNext-pNext",[592],{"type":13,"tag":14,"props":593,"children":594},{},[595,597,602,604,609,611,614,616,622,624,630,632],{"type":18,"value":596},"Each ",{"type":13,"tag":21,"props":598,"children":600},{"className":599},[],[601],{"type":18,"value":369},{"type":18,"value":603}," member of any structure (including this one) in the ",{"type":13,"tag":21,"props":605,"children":607},{"className":606},[],[608],{"type":18,"value":369},{"type":18,"value":610}," chain ",{"type":13,"tag":440,"props":612,"children":613},{"type":539},[],{"type":18,"value":615}," be either ",{"type":13,"tag":21,"props":617,"children":619},{"className":618},[],[620],{"type":18,"value":621},"NULL",{"type":18,"value":623}," or a pointer to a valid instance of ",{"type":13,"tag":353,"props":625,"children":627},{"href":626},"/man/VkVideoEncodeH264RateControlLayerInfoKHR",[628],{"type":18,"value":629},"VkVideoEncodeH264RateControlLayerInfoKHR",{"type":18,"value":631}," or ",{"type":13,"tag":353,"props":633,"children":635},{"href":634},"/man/VkVideoEncodeH265RateControlLayerInfoKHR",[636],{"type":18,"value":637},"VkVideoEncodeH265RateControlLayerInfoKHR",{"type":13,"tag":523,"props":639,"children":641},{"name":640},"VUID-VkVideoEncodeRateControlLayerInfoKHR-sType-unique",[642],{"type":13,"tag":14,"props":643,"children":644},{},[645,646,651,653,658,659,662],{"type":18,"value":19},{"type":13,"tag":21,"props":647,"children":649},{"className":648},[],[650],{"type":18,"value":349},{"type":18,"value":652}," value of each struct in the ",{"type":13,"tag":21,"props":654,"children":656},{"className":655},[],[657],{"type":18,"value":369},{"type":18,"value":610},{"type":13,"tag":440,"props":660,"children":661},{"type":539},[],{"type":18,"value":663}," be unique",{"type":13,"tag":665,"props":666,"children":667},"style",{},[668],{"type":18,"value":669},"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":671},[],"markdown",1729612488453]