[{"data":1,"prerenderedAt":695},["ShallowReactive",2],{"DBpDUtTx7s":3},{"title":4,"description":5,"parent":6,"type":7,"xrefs":8,"body":9,"_type":694,"_id":4},"VkVideoEncodeH264GopRemainingFrameInfoKHR","Structure specifying H.264 encode rate control GOP remaining frame counts","VK_KHR_video_encode_h264","structs",[],{"type":10,"children":11,"toc":692},"root",[12,28,339,539,622,644,654,686],{"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,153],{"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 VkVideoEncodeH264GopRemainingFrameInfoKHR {\n VkStructureType sType;\n const void* pNext;\n VkBool32 useGopRemainingFrames;\n uint32_t gopRemainingI;\n uint32_t gopRemainingP;\n uint32_t gopRemainingB;\n} VkVideoEncodeH264GopRemainingFrameInfoKHR;\n","C","c","",[41],{"type":13,"tag":21,"props":42,"children":43},{"__ignoreMap":39},[44,67,76,95,104,118,131,144],{"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}," VkVideoEncodeH264GopRemainingFrameInfoKHR {\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}," VkBool32 useGopRemainingFrames;\n",{"type":13,"tag":45,"props":105,"children":107},{"class":47,"line":106},5,[108,113],{"type":13,"tag":45,"props":109,"children":110},{"style":52},[111],{"type":18,"value":112}," uint32_t",{"type":13,"tag":45,"props":114,"children":115},{"style":63},[116],{"type":18,"value":117}," gopRemainingI;\n",{"type":13,"tag":45,"props":119,"children":121},{"class":47,"line":120},6,[122,126],{"type":13,"tag":45,"props":123,"children":124},{"style":52},[125],{"type":18,"value":112},{"type":13,"tag":45,"props":127,"children":128},{"style":63},[129],{"type":18,"value":130}," gopRemainingP;\n",{"type":13,"tag":45,"props":132,"children":134},{"class":47,"line":133},7,[135,139],{"type":13,"tag":45,"props":136,"children":137},{"style":52},[138],{"type":18,"value":112},{"type":13,"tag":45,"props":140,"children":141},{"style":63},[142],{"type":18,"value":143}," gopRemainingB;\n",{"type":13,"tag":45,"props":145,"children":147},{"class":47,"line":146},8,[148],{"type":13,"tag":45,"props":149,"children":150},{"style":63},[151],{"type":18,"value":152},"} VkVideoEncodeH264GopRemainingFrameInfoKHR;\n",{"type":13,"tag":33,"props":154,"children":159},{"className":155,"code":156,"filename":157,"language":158,"meta":39,"style":39},"language-rs shiki shiki-themes github-light-default github-dark-default","pub struct VideoEncodeH264GopRemainingFrameInfoKHR {\n s_type: vk::StructureType,\n p_next: *const c_void,\n use_gop_remaining_frames: vk::Bool32,\n gop_remaining_i: u32,\n gop_remaining_p: u32,\n gop_remaining_b: u32,\n}\n","Rust","rs",[160],{"type":13,"tag":21,"props":161,"children":162},{"__ignoreMap":39},[163,186,219,241,270,291,311,331],{"type":13,"tag":45,"props":164,"children":165},{"class":47,"line":48},[166,171,175,181],{"type":13,"tag":45,"props":167,"children":168},{"style":52},[169],{"type":18,"value":170},"pub",{"type":13,"tag":45,"props":172,"children":173},{"style":52},[174],{"type":18,"value":60},{"type":13,"tag":45,"props":176,"children":178},{"style":177},"--shiki-default:#953800;--shiki-dark:#FFA657",[179],{"type":18,"value":180}," VideoEncodeH264GopRemainingFrameInfoKHR",{"type":13,"tag":45,"props":182,"children":183},{"style":63},[184],{"type":18,"value":185}," {\n",{"type":13,"tag":45,"props":187,"children":188},{"class":47,"line":69},[189,194,199,204,209,214],{"type":13,"tag":45,"props":190,"children":191},{"style":63},[192],{"type":18,"value":193}," s_type",{"type":13,"tag":45,"props":195,"children":196},{"style":52},[197],{"type":18,"value":198},":",{"type":13,"tag":45,"props":200,"children":201},{"style":177},[202],{"type":18,"value":203}," vk",{"type":13,"tag":45,"props":205,"children":206},{"style":52},[207],{"type":18,"value":208},"::",{"type":13,"tag":45,"props":210,"children":211},{"style":177},[212],{"type":18,"value":213},"StructureType",{"type":13,"tag":45,"props":215,"children":216},{"style":63},[217],{"type":18,"value":218},",\n",{"type":13,"tag":45,"props":220,"children":221},{"class":47,"line":78},[222,227,231,236],{"type":13,"tag":45,"props":223,"children":224},{"style":63},[225],{"type":18,"value":226}," p_next",{"type":13,"tag":45,"props":228,"children":229},{"style":52},[230],{"type":18,"value":198},{"type":13,"tag":45,"props":232,"children":233},{"style":52},[234],{"type":18,"value":235}," *const",{"type":13,"tag":45,"props":237,"children":238},{"style":63},[239],{"type":18,"value":240}," c_void,\n",{"type":13,"tag":45,"props":242,"children":243},{"class":47,"line":97},[244,249,253,257,261,266],{"type":13,"tag":45,"props":245,"children":246},{"style":63},[247],{"type":18,"value":248}," use_gop_remaining_frames",{"type":13,"tag":45,"props":250,"children":251},{"style":52},[252],{"type":18,"value":198},{"type":13,"tag":45,"props":254,"children":255},{"style":177},[256],{"type":18,"value":203},{"type":13,"tag":45,"props":258,"children":259},{"style":52},[260],{"type":18,"value":208},{"type":13,"tag":45,"props":262,"children":263},{"style":177},[264],{"type":18,"value":265},"Bool32",{"type":13,"tag":45,"props":267,"children":268},{"style":63},[269],{"type":18,"value":218},{"type":13,"tag":45,"props":271,"children":272},{"class":47,"line":106},[273,278,282,287],{"type":13,"tag":45,"props":274,"children":275},{"style":63},[276],{"type":18,"value":277}," gop_remaining_i",{"type":13,"tag":45,"props":279,"children":280},{"style":52},[281],{"type":18,"value":198},{"type":13,"tag":45,"props":283,"children":284},{"style":177},[285],{"type":18,"value":286}," u32",{"type":13,"tag":45,"props":288,"children":289},{"style":63},[290],{"type":18,"value":218},{"type":13,"tag":45,"props":292,"children":293},{"class":47,"line":120},[294,299,303,307],{"type":13,"tag":45,"props":295,"children":296},{"style":63},[297],{"type":18,"value":298}," gop_remaining_p",{"type":13,"tag":45,"props":300,"children":301},{"style":52},[302],{"type":18,"value":198},{"type":13,"tag":45,"props":304,"children":305},{"style":177},[306],{"type":18,"value":286},{"type":13,"tag":45,"props":308,"children":309},{"style":63},[310],{"type":18,"value":218},{"type":13,"tag":45,"props":312,"children":313},{"class":47,"line":133},[314,319,323,327],{"type":13,"tag":45,"props":315,"children":316},{"style":63},[317],{"type":18,"value":318}," gop_remaining_b",{"type":13,"tag":45,"props":320,"children":321},{"style":52},[322],{"type":18,"value":198},{"type":13,"tag":45,"props":324,"children":325},{"style":177},[326],{"type":18,"value":286},{"type":13,"tag":45,"props":328,"children":329},{"style":63},[330],{"type":18,"value":218},{"type":13,"tag":45,"props":332,"children":333},{"class":47,"line":146},[334],{"type":13,"tag":45,"props":335,"children":336},{"style":63},[337],{"type":18,"value":338},"}\n",{"type":13,"tag":340,"props":341,"children":342},"ul",{},[343,364,383,458,489,514],{"type":13,"tag":344,"props":345,"children":346},"li",{},[347,353,355,362],{"type":13,"tag":21,"props":348,"children":350},{"className":349},[],[351],{"type":18,"value":352},"sType",{"type":18,"value":354}," is a ",{"type":13,"tag":356,"props":357,"children":359},"a",{"href":358},"/man/VkStructureType",[360],{"type":18,"value":361},"VkStructureType",{"type":18,"value":363}," value identifying this structure.",{"type":13,"tag":344,"props":365,"children":366},{},[367,373,375,381],{"type":13,"tag":21,"props":368,"children":370},{"className":369},[],[371],{"type":18,"value":372},"pNext",{"type":18,"value":374}," is ",{"type":13,"tag":21,"props":376,"children":378},{"className":377},[],[379],{"type":18,"value":380},"NULL",{"type":18,"value":382}," or a pointer to a structure extending this\nstructure.",{"type":13,"tag":344,"props":384,"children":385},{},[386,392,394,399,401,407,409,415,417,423,425,430,431,437,439,444,445,450,451,456],{"type":13,"tag":21,"props":387,"children":389},{"className":388},[],[390],{"type":18,"value":391},"useGopRemainingFrames",{"type":18,"value":393}," indicates whether the implementation’s rate\ncontrol algorithm ",{"type":13,"tag":395,"props":396,"children":398},"normative",{"type":397},"should",[],{"type":18,"value":400}," use the values specified in\n",{"type":13,"tag":21,"props":402,"children":404},{"className":403},[],[405],{"type":18,"value":406},"gopRemainingI",{"type":18,"value":408},", ",{"type":13,"tag":21,"props":410,"children":412},{"className":411},[],[413],{"type":18,"value":414},"gopRemainingP",{"type":18,"value":416},", and ",{"type":13,"tag":21,"props":418,"children":420},{"className":419},[],[421],{"type":18,"value":422},"gopRemainingB",{"type":18,"value":424},".\nIf ",{"type":13,"tag":21,"props":426,"children":428},{"className":427},[],[429],{"type":18,"value":391},{"type":18,"value":374},{"type":13,"tag":21,"props":432,"children":434},{"className":433},[],[435],{"type":18,"value":436},"VK_FALSE",{"type":18,"value":438},", then the values of\n",{"type":13,"tag":21,"props":440,"children":442},{"className":441},[],[443],{"type":18,"value":406},{"type":18,"value":408},{"type":13,"tag":21,"props":446,"children":448},{"className":447},[],[449],{"type":18,"value":414},{"type":18,"value":416},{"type":13,"tag":21,"props":452,"children":454},{"className":453},[],[455],{"type":18,"value":422},{"type":18,"value":457}," are\nignored.",{"type":13,"tag":344,"props":459,"children":460},{},[461,466,468,474,476,479,481,487],{"type":13,"tag":21,"props":462,"children":464},{"className":463},[],[465],{"type":18,"value":406},{"type":18,"value":467}," specifies the number of ",{"type":13,"tag":356,"props":469,"children":471},{"href":470},"/chapters/video-coding#encode-h264-i-pic",[472],{"type":18,"value":473},"I\nframes",{"type":18,"value":475}," the implementation’s rate control algorithm ",{"type":13,"tag":395,"props":477,"children":478},{"type":397},[],{"type":18,"value":480}," assume to\nbe remaining in the ",{"type":13,"tag":356,"props":482,"children":484},{"href":483},"/chapters/video-coding#encode-h264-gop",[485],{"type":18,"value":486},"GOP",{"type":18,"value":488}," prior to executing the video\nencode operation.",{"type":13,"tag":344,"props":490,"children":491},{},[492,497,498,504,505,508,509,513],{"type":13,"tag":21,"props":493,"children":495},{"className":494},[],[496],{"type":18,"value":414},{"type":18,"value":467},{"type":13,"tag":356,"props":499,"children":501},{"href":500},"/chapters/video-coding#encode-h264-p-pic",[502],{"type":18,"value":503},"P\nframes",{"type":18,"value":475},{"type":13,"tag":395,"props":506,"children":507},{"type":397},[],{"type":18,"value":480},{"type":13,"tag":356,"props":510,"children":511},{"href":483},[512],{"type":18,"value":486},{"type":18,"value":488},{"type":13,"tag":344,"props":515,"children":516},{},[517,522,523,529,530,533,534,538],{"type":13,"tag":21,"props":518,"children":520},{"className":519},[],[521],{"type":18,"value":422},{"type":18,"value":467},{"type":13,"tag":356,"props":524,"children":526},{"href":525},"/chapters/video-coding#encode-h264-b-pic",[527],{"type":18,"value":528},"B\nframes",{"type":18,"value":475},{"type":13,"tag":395,"props":531,"children":532},{"type":397},[],{"type":18,"value":480},{"type":13,"tag":356,"props":535,"children":536},{"href":483},[537],{"type":18,"value":486},{"type":18,"value":488},{"type":13,"tag":14,"props":540,"children":541},{},[542,544,549,551,557,559,564,566,572,574,580,581,587,589,595,596,601,603,607,609,615,617,620],{"type":18,"value":543},"Setting ",{"type":13,"tag":21,"props":545,"children":547},{"className":546},[],[548],{"type":18,"value":391},{"type":18,"value":550}," to ",{"type":13,"tag":21,"props":552,"children":554},{"className":553},[],[555],{"type":18,"value":556},"VK_TRUE",{"type":18,"value":558}," and including this\nstructure in the ",{"type":13,"tag":21,"props":560,"children":562},{"className":561},[],[563],{"type":18,"value":372},{"type":18,"value":565}," chain of ",{"type":13,"tag":356,"props":567,"children":569},{"href":568},"/man/VkVideoBeginCodingInfoKHR",[570],{"type":18,"value":571},"VkVideoBeginCodingInfoKHR",{"type":18,"value":573}," is\nonly mandatory if the\n",{"type":13,"tag":356,"props":575,"children":577},{"href":576},"/man/VkVideoEncodeH264CapabilitiesKHR",[578],{"type":18,"value":579},"VkVideoEncodeH264CapabilitiesKHR",{"type":18,"value":208},{"type":13,"tag":21,"props":582,"children":584},{"className":583},[],[585],{"type":18,"value":586},"requiresGopRemainingFrames",{"type":18,"value":588},"\nreported for the used ",{"type":13,"tag":356,"props":590,"children":592},{"href":591},"/chapters/video-coding#video-profiles",[593],{"type":18,"value":594},"video profile",{"type":18,"value":374},{"type":13,"tag":21,"props":597,"children":599},{"className":598},[],[600],{"type":18,"value":556},{"type":18,"value":602},".\nHowever, implementations ",{"type":13,"tag":395,"props":604,"children":606},{"type":605},"may",[],{"type":18,"value":608}," use these remaining frame counts, when\nspecified, even when it is not required.\nIn particular, when the application does not use a\n",{"type":13,"tag":356,"props":610,"children":612},{"href":611},"/chapters/video-coding#encode-h264-regular-gop",[613],{"type":18,"value":614},"regular GOP structure",{"type":18,"value":616},", these values ",{"type":13,"tag":395,"props":618,"children":619},{"type":605},[],{"type":18,"value":621}," provide\nadditional guidance for the implementation’s rate control algorithm.",{"type":13,"tag":14,"props":623,"children":624},{},[625,626,630,631,637,639,642],{"type":18,"value":19},{"type":13,"tag":356,"props":627,"children":628},{"href":576},[629],{"type":18,"value":579},{"type":18,"value":208},{"type":13,"tag":21,"props":632,"children":634},{"className":633},[],[635],{"type":18,"value":636},"prefersGopRemainingFrames",{"type":18,"value":638},"\ncapability is also used to indicate that the implementation’s rate control\nalgorithm ",{"type":13,"tag":395,"props":640,"children":641},{"type":605},[],{"type":18,"value":643}," operate more accurately if the application specifies the\nremaining frame counts using this structure.",{"type":13,"tag":14,"props":645,"children":646},{},[647,649,652],{"type":18,"value":648},"As with other rate control guidance values, if the effective order and\nnumber of frames encoded by the application are not in line with the\nremaining frame counts specified in this structure at any given point, then\nthe behavior of the implementation’s rate control algorithm ",{"type":13,"tag":395,"props":650,"children":651},{"type":605},[],{"type":18,"value":653}," deviate\nfrom the one expected by the application.",{"type":13,"tag":655,"props":656,"children":658},"validity-group",{"name":657},"Valid Usage (Implicit)",[659],{"type":13,"tag":660,"props":661,"children":663},"validity-field",{"name":662},"VUID-VkVideoEncodeH264GopRemainingFrameInfoKHR-sType-sType",[664],{"type":13,"tag":14,"props":665,"children":666},{},[667,672,674,678,680],{"type":13,"tag":21,"props":668,"children":670},{"className":669},[],[671],{"type":18,"value":352},{"type":18,"value":673}," ",{"type":13,"tag":395,"props":675,"children":677},{"type":676},"must",[],{"type":18,"value":679}," be ",{"type":13,"tag":21,"props":681,"children":683},{"className":682},[],[684],{"type":18,"value":685},"VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_GOP_REMAINING_FRAME_INFO_KHR",{"type":13,"tag":687,"props":688,"children":689},"style",{},[690],{"type":18,"value":691},"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":693},[],"markdown",1729612486742]