vulkan_video.hpp 147 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699
  1. // Copyright 2021-2023 The Khronos Group Inc.
  2. // SPDX-License-Identifier: Apache-2.0 OR MIT
  3. //
  4. // This header is generated from the Khronos Vulkan XML API Registry.
  5. #include <vk_video/vulkan_video_codec_h264std.h>
  6. #include <vk_video/vulkan_video_codec_h264std_decode.h>
  7. #include <vk_video/vulkan_video_codec_h264std_encode.h>
  8. #include <vk_video/vulkan_video_codec_h265std.h>
  9. #include <vk_video/vulkan_video_codec_h265std_decode.h>
  10. #include <vk_video/vulkan_video_codec_h265std_encode.h>
  11. #include <vk_video/vulkan_video_codecs_common.h>
  12. #include <vulkan/vulkan.hpp>
  13. #if !defined( VULKAN_HPP_VIDEO_NAMESPACE )
  14. # define VULKAN_HPP_VIDEO_NAMESPACE video
  15. #endif
  16. namespace VULKAN_HPP_NAMESPACE
  17. {
  18. namespace VULKAN_HPP_VIDEO_NAMESPACE
  19. {
  20. //=============
  21. //=== ENUMs ===
  22. //=============
  23. //=== vulkan_video_codec_h264std ===
  24. enum class H264ChromaFormatIdc
  25. {
  26. eMonochrome = STD_VIDEO_H264_CHROMA_FORMAT_IDC_MONOCHROME,
  27. e420 = STD_VIDEO_H264_CHROMA_FORMAT_IDC_420,
  28. e422 = STD_VIDEO_H264_CHROMA_FORMAT_IDC_422,
  29. e444 = STD_VIDEO_H264_CHROMA_FORMAT_IDC_444,
  30. eInvalid = STD_VIDEO_H264_CHROMA_FORMAT_IDC_INVALID
  31. };
  32. enum class H264ProfileIdc
  33. {
  34. eBaseline = STD_VIDEO_H264_PROFILE_IDC_BASELINE,
  35. eMain = STD_VIDEO_H264_PROFILE_IDC_MAIN,
  36. eHigh = STD_VIDEO_H264_PROFILE_IDC_HIGH,
  37. eHigh444Predictive = STD_VIDEO_H264_PROFILE_IDC_HIGH_444_PREDICTIVE,
  38. eInvalid = STD_VIDEO_H264_PROFILE_IDC_INVALID
  39. };
  40. enum class H264LevelIdc
  41. {
  42. e1_0 = STD_VIDEO_H264_LEVEL_IDC_1_0,
  43. e1_1 = STD_VIDEO_H264_LEVEL_IDC_1_1,
  44. e1_2 = STD_VIDEO_H264_LEVEL_IDC_1_2,
  45. e1_3 = STD_VIDEO_H264_LEVEL_IDC_1_3,
  46. e2_0 = STD_VIDEO_H264_LEVEL_IDC_2_0,
  47. e2_1 = STD_VIDEO_H264_LEVEL_IDC_2_1,
  48. e2_2 = STD_VIDEO_H264_LEVEL_IDC_2_2,
  49. e3_0 = STD_VIDEO_H264_LEVEL_IDC_3_0,
  50. e3_1 = STD_VIDEO_H264_LEVEL_IDC_3_1,
  51. e3_2 = STD_VIDEO_H264_LEVEL_IDC_3_2,
  52. e4_0 = STD_VIDEO_H264_LEVEL_IDC_4_0,
  53. e4_1 = STD_VIDEO_H264_LEVEL_IDC_4_1,
  54. e4_2 = STD_VIDEO_H264_LEVEL_IDC_4_2,
  55. e5_0 = STD_VIDEO_H264_LEVEL_IDC_5_0,
  56. e5_1 = STD_VIDEO_H264_LEVEL_IDC_5_1,
  57. e5_2 = STD_VIDEO_H264_LEVEL_IDC_5_2,
  58. e6_0 = STD_VIDEO_H264_LEVEL_IDC_6_0,
  59. e6_1 = STD_VIDEO_H264_LEVEL_IDC_6_1,
  60. e6_2 = STD_VIDEO_H264_LEVEL_IDC_6_2,
  61. eInvalid = STD_VIDEO_H264_LEVEL_IDC_INVALID
  62. };
  63. enum class H264PocType
  64. {
  65. e0 = STD_VIDEO_H264_POC_TYPE_0,
  66. e1 = STD_VIDEO_H264_POC_TYPE_1,
  67. e2 = STD_VIDEO_H264_POC_TYPE_2,
  68. eInvalid = STD_VIDEO_H264_POC_TYPE_INVALID
  69. };
  70. enum class H264AspectRatioIdc
  71. {
  72. eUnspecified = STD_VIDEO_H264_ASPECT_RATIO_IDC_UNSPECIFIED,
  73. eSquare = STD_VIDEO_H264_ASPECT_RATIO_IDC_SQUARE,
  74. e12_11 = STD_VIDEO_H264_ASPECT_RATIO_IDC_12_11,
  75. e10_11 = STD_VIDEO_H264_ASPECT_RATIO_IDC_10_11,
  76. e16_11 = STD_VIDEO_H264_ASPECT_RATIO_IDC_16_11,
  77. e40_33 = STD_VIDEO_H264_ASPECT_RATIO_IDC_40_33,
  78. e24_11 = STD_VIDEO_H264_ASPECT_RATIO_IDC_24_11,
  79. e20_11 = STD_VIDEO_H264_ASPECT_RATIO_IDC_20_11,
  80. e32_11 = STD_VIDEO_H264_ASPECT_RATIO_IDC_32_11,
  81. e80_33 = STD_VIDEO_H264_ASPECT_RATIO_IDC_80_33,
  82. e18_11 = STD_VIDEO_H264_ASPECT_RATIO_IDC_18_11,
  83. e15_11 = STD_VIDEO_H264_ASPECT_RATIO_IDC_15_11,
  84. e64_33 = STD_VIDEO_H264_ASPECT_RATIO_IDC_64_33,
  85. e160_99 = STD_VIDEO_H264_ASPECT_RATIO_IDC_160_99,
  86. e4_3 = STD_VIDEO_H264_ASPECT_RATIO_IDC_4_3,
  87. e3_2 = STD_VIDEO_H264_ASPECT_RATIO_IDC_3_2,
  88. e2_1 = STD_VIDEO_H264_ASPECT_RATIO_IDC_2_1,
  89. eExtendedSar = STD_VIDEO_H264_ASPECT_RATIO_IDC_EXTENDED_SAR,
  90. eInvalid = STD_VIDEO_H264_ASPECT_RATIO_IDC_INVALID
  91. };
  92. enum class H264WeightedBipredIdc
  93. {
  94. eDefault = STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_DEFAULT,
  95. eExplicit = STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_EXPLICIT,
  96. eImplicit = STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_IMPLICIT,
  97. eInvalid = STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_INVALID
  98. };
  99. enum class H264ModificationOfPicNumsIdc
  100. {
  101. eShortTermSubtract = STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_SHORT_TERM_SUBTRACT,
  102. eShortTermAdd = STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_SHORT_TERM_ADD,
  103. eLongTerm = STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_LONG_TERM,
  104. eEnd = STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_END,
  105. eInvalid = STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_INVALID
  106. };
  107. enum class H264MemMgmtControlOp
  108. {
  109. eEnd = STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_END,
  110. eUnmarkShortTerm = STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_SHORT_TERM,
  111. eUnmarkLongTerm = STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_LONG_TERM,
  112. eMarkLongTerm = STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_MARK_LONG_TERM,
  113. eSetMaxLongTermIndex = STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_SET_MAX_LONG_TERM_INDEX,
  114. eUnmarkAll = STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_ALL,
  115. eMarkCurrentAsLongTerm = STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_MARK_CURRENT_AS_LONG_TERM,
  116. eInvalid = STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_INVALID
  117. };
  118. enum class H264CabacInitIdc
  119. {
  120. e0 = STD_VIDEO_H264_CABAC_INIT_IDC_0,
  121. e1 = STD_VIDEO_H264_CABAC_INIT_IDC_1,
  122. e2 = STD_VIDEO_H264_CABAC_INIT_IDC_2,
  123. eInvalid = STD_VIDEO_H264_CABAC_INIT_IDC_INVALID
  124. };
  125. enum class H264DisableDeblockingFilterIdc
  126. {
  127. eDisabled = STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_DISABLED,
  128. eEnabled = STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_ENABLED,
  129. ePartial = STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_PARTIAL,
  130. eInvalid = STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_INVALID
  131. };
  132. enum class H264SliceType
  133. {
  134. eP = STD_VIDEO_H264_SLICE_TYPE_P,
  135. eB = STD_VIDEO_H264_SLICE_TYPE_B,
  136. eI = STD_VIDEO_H264_SLICE_TYPE_I,
  137. eInvalid = STD_VIDEO_H264_SLICE_TYPE_INVALID
  138. };
  139. enum class H264PictureType
  140. {
  141. eP = STD_VIDEO_H264_PICTURE_TYPE_P,
  142. eB = STD_VIDEO_H264_PICTURE_TYPE_B,
  143. eI = STD_VIDEO_H264_PICTURE_TYPE_I,
  144. eIdr = STD_VIDEO_H264_PICTURE_TYPE_IDR,
  145. eInvalid = STD_VIDEO_H264_PICTURE_TYPE_INVALID
  146. };
  147. enum class H264NonVclNaluType
  148. {
  149. eSps = STD_VIDEO_H264_NON_VCL_NALU_TYPE_SPS,
  150. ePps = STD_VIDEO_H264_NON_VCL_NALU_TYPE_PPS,
  151. eAud = STD_VIDEO_H264_NON_VCL_NALU_TYPE_AUD,
  152. ePrefix = STD_VIDEO_H264_NON_VCL_NALU_TYPE_PREFIX,
  153. eEndOfSequence = STD_VIDEO_H264_NON_VCL_NALU_TYPE_END_OF_SEQUENCE,
  154. eEndOfStream = STD_VIDEO_H264_NON_VCL_NALU_TYPE_END_OF_STREAM,
  155. ePrecoded = STD_VIDEO_H264_NON_VCL_NALU_TYPE_PRECODED,
  156. eInvalid = STD_VIDEO_H264_NON_VCL_NALU_TYPE_INVALID
  157. };
  158. //=== vulkan_video_codec_h264std_decode ===
  159. enum class DecodeH264FieldOrderCount
  160. {
  161. eTop = STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_TOP,
  162. eBottom = STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_BOTTOM,
  163. eInvalid = STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_INVALID
  164. };
  165. //=== vulkan_video_codec_h265std ===
  166. enum class H265ChromaFormatIdc
  167. {
  168. eMonochrome = STD_VIDEO_H265_CHROMA_FORMAT_IDC_MONOCHROME,
  169. e420 = STD_VIDEO_H265_CHROMA_FORMAT_IDC_420,
  170. e422 = STD_VIDEO_H265_CHROMA_FORMAT_IDC_422,
  171. e444 = STD_VIDEO_H265_CHROMA_FORMAT_IDC_444,
  172. eInvalid = STD_VIDEO_H265_CHROMA_FORMAT_IDC_INVALID
  173. };
  174. enum class H265ProfileIdc
  175. {
  176. eMain = STD_VIDEO_H265_PROFILE_IDC_MAIN,
  177. eMain10 = STD_VIDEO_H265_PROFILE_IDC_MAIN_10,
  178. eMainStillPicture = STD_VIDEO_H265_PROFILE_IDC_MAIN_STILL_PICTURE,
  179. eFormatRangeExtensions = STD_VIDEO_H265_PROFILE_IDC_FORMAT_RANGE_EXTENSIONS,
  180. eSccExtensions = STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS,
  181. eInvalid = STD_VIDEO_H265_PROFILE_IDC_INVALID
  182. };
  183. enum class H265LevelIdc
  184. {
  185. e1_0 = STD_VIDEO_H265_LEVEL_IDC_1_0,
  186. e2_0 = STD_VIDEO_H265_LEVEL_IDC_2_0,
  187. e2_1 = STD_VIDEO_H265_LEVEL_IDC_2_1,
  188. e3_0 = STD_VIDEO_H265_LEVEL_IDC_3_0,
  189. e3_1 = STD_VIDEO_H265_LEVEL_IDC_3_1,
  190. e4_0 = STD_VIDEO_H265_LEVEL_IDC_4_0,
  191. e4_1 = STD_VIDEO_H265_LEVEL_IDC_4_1,
  192. e5_0 = STD_VIDEO_H265_LEVEL_IDC_5_0,
  193. e5_1 = STD_VIDEO_H265_LEVEL_IDC_5_1,
  194. e5_2 = STD_VIDEO_H265_LEVEL_IDC_5_2,
  195. e6_0 = STD_VIDEO_H265_LEVEL_IDC_6_0,
  196. e6_1 = STD_VIDEO_H265_LEVEL_IDC_6_1,
  197. e6_2 = STD_VIDEO_H265_LEVEL_IDC_6_2,
  198. eInvalid = STD_VIDEO_H265_LEVEL_IDC_INVALID
  199. };
  200. enum class H265SliceType
  201. {
  202. eB = STD_VIDEO_H265_SLICE_TYPE_B,
  203. eP = STD_VIDEO_H265_SLICE_TYPE_P,
  204. eI = STD_VIDEO_H265_SLICE_TYPE_I,
  205. eInvalid = STD_VIDEO_H265_SLICE_TYPE_INVALID
  206. };
  207. enum class H265PictureType
  208. {
  209. eP = STD_VIDEO_H265_PICTURE_TYPE_P,
  210. eB = STD_VIDEO_H265_PICTURE_TYPE_B,
  211. eI = STD_VIDEO_H265_PICTURE_TYPE_I,
  212. eIdr = STD_VIDEO_H265_PICTURE_TYPE_IDR,
  213. eInvalid = STD_VIDEO_H265_PICTURE_TYPE_INVALID
  214. };
  215. enum class H265AspectRatioIdc
  216. {
  217. eUnspecified = STD_VIDEO_H265_ASPECT_RATIO_IDC_UNSPECIFIED,
  218. eSquare = STD_VIDEO_H265_ASPECT_RATIO_IDC_SQUARE,
  219. e12_11 = STD_VIDEO_H265_ASPECT_RATIO_IDC_12_11,
  220. e10_11 = STD_VIDEO_H265_ASPECT_RATIO_IDC_10_11,
  221. e16_11 = STD_VIDEO_H265_ASPECT_RATIO_IDC_16_11,
  222. e40_33 = STD_VIDEO_H265_ASPECT_RATIO_IDC_40_33,
  223. e24_11 = STD_VIDEO_H265_ASPECT_RATIO_IDC_24_11,
  224. e20_11 = STD_VIDEO_H265_ASPECT_RATIO_IDC_20_11,
  225. e32_11 = STD_VIDEO_H265_ASPECT_RATIO_IDC_32_11,
  226. e80_33 = STD_VIDEO_H265_ASPECT_RATIO_IDC_80_33,
  227. e18_11 = STD_VIDEO_H265_ASPECT_RATIO_IDC_18_11,
  228. e15_11 = STD_VIDEO_H265_ASPECT_RATIO_IDC_15_11,
  229. e64_33 = STD_VIDEO_H265_ASPECT_RATIO_IDC_64_33,
  230. e160_99 = STD_VIDEO_H265_ASPECT_RATIO_IDC_160_99,
  231. e4_3 = STD_VIDEO_H265_ASPECT_RATIO_IDC_4_3,
  232. e3_2 = STD_VIDEO_H265_ASPECT_RATIO_IDC_3_2,
  233. e2_1 = STD_VIDEO_H265_ASPECT_RATIO_IDC_2_1,
  234. eExtendedSar = STD_VIDEO_H265_ASPECT_RATIO_IDC_EXTENDED_SAR,
  235. eInvalid = STD_VIDEO_H265_ASPECT_RATIO_IDC_INVALID
  236. };
  237. //===============
  238. //=== STRUCTS ===
  239. //===============
  240. //=== vulkan_video_codec_h264std ===
  241. struct H264SpsVuiFlags
  242. {
  243. using NativeType = StdVideoH264SpsVuiFlags;
  244. operator StdVideoH264SpsVuiFlags const &() const VULKAN_HPP_NOEXCEPT
  245. {
  246. return *reinterpret_cast<const StdVideoH264SpsVuiFlags *>( this );
  247. }
  248. operator StdVideoH264SpsVuiFlags &() VULKAN_HPP_NOEXCEPT
  249. {
  250. return *reinterpret_cast<StdVideoH264SpsVuiFlags *>( this );
  251. }
  252. bool operator==( H264SpsVuiFlags const & rhs ) const VULKAN_HPP_NOEXCEPT
  253. {
  254. return ( aspect_ratio_info_present_flag == rhs.aspect_ratio_info_present_flag ) && ( overscan_info_present_flag == rhs.overscan_info_present_flag ) &&
  255. ( overscan_appropriate_flag == rhs.overscan_appropriate_flag ) && ( video_signal_type_present_flag == rhs.video_signal_type_present_flag ) &&
  256. ( video_full_range_flag == rhs.video_full_range_flag ) && ( color_description_present_flag == rhs.color_description_present_flag ) &&
  257. ( chroma_loc_info_present_flag == rhs.chroma_loc_info_present_flag ) && ( timing_info_present_flag == rhs.timing_info_present_flag ) &&
  258. ( fixed_frame_rate_flag == rhs.fixed_frame_rate_flag ) && ( bitstream_restriction_flag == rhs.bitstream_restriction_flag ) &&
  259. ( nal_hrd_parameters_present_flag == rhs.nal_hrd_parameters_present_flag ) &&
  260. ( vcl_hrd_parameters_present_flag == rhs.vcl_hrd_parameters_present_flag );
  261. }
  262. bool operator!=( H264SpsVuiFlags const & rhs ) const VULKAN_HPP_NOEXCEPT
  263. {
  264. return !operator==( rhs );
  265. }
  266. public:
  267. uint32_t aspect_ratio_info_present_flag : 1;
  268. uint32_t overscan_info_present_flag : 1;
  269. uint32_t overscan_appropriate_flag : 1;
  270. uint32_t video_signal_type_present_flag : 1;
  271. uint32_t video_full_range_flag : 1;
  272. uint32_t color_description_present_flag : 1;
  273. uint32_t chroma_loc_info_present_flag : 1;
  274. uint32_t timing_info_present_flag : 1;
  275. uint32_t fixed_frame_rate_flag : 1;
  276. uint32_t bitstream_restriction_flag : 1;
  277. uint32_t nal_hrd_parameters_present_flag : 1;
  278. uint32_t vcl_hrd_parameters_present_flag : 1;
  279. };
  280. struct H264HrdParameters
  281. {
  282. using NativeType = StdVideoH264HrdParameters;
  283. operator StdVideoH264HrdParameters const &() const VULKAN_HPP_NOEXCEPT
  284. {
  285. return *reinterpret_cast<const StdVideoH264HrdParameters *>( this );
  286. }
  287. operator StdVideoH264HrdParameters &() VULKAN_HPP_NOEXCEPT
  288. {
  289. return *reinterpret_cast<StdVideoH264HrdParameters *>( this );
  290. }
  291. bool operator==( H264HrdParameters const & rhs ) const VULKAN_HPP_NOEXCEPT
  292. {
  293. return ( cpb_cnt_minus1 == rhs.cpb_cnt_minus1 ) && ( bit_rate_scale == rhs.bit_rate_scale ) && ( cpb_size_scale == rhs.cpb_size_scale ) &&
  294. ( reserved1 == rhs.reserved1 ) && ( bit_rate_value_minus1 == rhs.bit_rate_value_minus1 ) &&
  295. ( cpb_size_value_minus1 == rhs.cpb_size_value_minus1 ) && ( cbr_flag == rhs.cbr_flag ) &&
  296. ( initial_cpb_removal_delay_length_minus1 == rhs.initial_cpb_removal_delay_length_minus1 ) &&
  297. ( cpb_removal_delay_length_minus1 == rhs.cpb_removal_delay_length_minus1 ) &&
  298. ( dpb_output_delay_length_minus1 == rhs.dpb_output_delay_length_minus1 ) && ( time_offset_length == rhs.time_offset_length );
  299. }
  300. bool operator!=( H264HrdParameters const & rhs ) const VULKAN_HPP_NOEXCEPT
  301. {
  302. return !operator==( rhs );
  303. }
  304. public:
  305. uint8_t cpb_cnt_minus1 = {};
  306. uint8_t bit_rate_scale = {};
  307. uint8_t cpb_size_scale = {};
  308. uint8_t reserved1 = {};
  309. VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint32_t, STD_VIDEO_H264_CPB_CNT_LIST_SIZE> bit_rate_value_minus1 = {};
  310. VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint32_t, STD_VIDEO_H264_CPB_CNT_LIST_SIZE> cpb_size_value_minus1 = {};
  311. VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint8_t, STD_VIDEO_H264_CPB_CNT_LIST_SIZE> cbr_flag = {};
  312. uint32_t initial_cpb_removal_delay_length_minus1 = {};
  313. uint32_t cpb_removal_delay_length_minus1 = {};
  314. uint32_t dpb_output_delay_length_minus1 = {};
  315. uint32_t time_offset_length = {};
  316. };
  317. struct H264SequenceParameterSetVui
  318. {
  319. using NativeType = StdVideoH264SequenceParameterSetVui;
  320. operator StdVideoH264SequenceParameterSetVui const &() const VULKAN_HPP_NOEXCEPT
  321. {
  322. return *reinterpret_cast<const StdVideoH264SequenceParameterSetVui *>( this );
  323. }
  324. operator StdVideoH264SequenceParameterSetVui &() VULKAN_HPP_NOEXCEPT
  325. {
  326. return *reinterpret_cast<StdVideoH264SequenceParameterSetVui *>( this );
  327. }
  328. bool operator==( H264SequenceParameterSetVui const & rhs ) const VULKAN_HPP_NOEXCEPT
  329. {
  330. return ( flags == rhs.flags ) && ( aspect_ratio_idc == rhs.aspect_ratio_idc ) && ( sar_width == rhs.sar_width ) && ( sar_height == rhs.sar_height ) &&
  331. ( video_format == rhs.video_format ) && ( colour_primaries == rhs.colour_primaries ) &&
  332. ( transfer_characteristics == rhs.transfer_characteristics ) && ( matrix_coefficients == rhs.matrix_coefficients ) &&
  333. ( num_units_in_tick == rhs.num_units_in_tick ) && ( time_scale == rhs.time_scale ) && ( max_num_reorder_frames == rhs.max_num_reorder_frames ) &&
  334. ( max_dec_frame_buffering == rhs.max_dec_frame_buffering ) && ( chroma_sample_loc_type_top_field == rhs.chroma_sample_loc_type_top_field ) &&
  335. ( chroma_sample_loc_type_bottom_field == rhs.chroma_sample_loc_type_bottom_field ) && ( reserved1 == rhs.reserved1 ) &&
  336. ( pHrdParameters == rhs.pHrdParameters );
  337. }
  338. bool operator!=( H264SequenceParameterSetVui const & rhs ) const VULKAN_HPP_NOEXCEPT
  339. {
  340. return !operator==( rhs );
  341. }
  342. public:
  343. VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H264SpsVuiFlags flags = {};
  344. VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H264AspectRatioIdc aspect_ratio_idc =
  345. VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H264AspectRatioIdc::eUnspecified;
  346. uint16_t sar_width = {};
  347. uint16_t sar_height = {};
  348. uint8_t video_format = {};
  349. uint8_t colour_primaries = {};
  350. uint8_t transfer_characteristics = {};
  351. uint8_t matrix_coefficients = {};
  352. uint32_t num_units_in_tick = {};
  353. uint32_t time_scale = {};
  354. uint8_t max_num_reorder_frames = {};
  355. uint8_t max_dec_frame_buffering = {};
  356. uint8_t chroma_sample_loc_type_top_field = {};
  357. uint8_t chroma_sample_loc_type_bottom_field = {};
  358. uint32_t reserved1 = {};
  359. const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H264HrdParameters * pHrdParameters = {};
  360. };
  361. struct H264SpsFlags
  362. {
  363. using NativeType = StdVideoH264SpsFlags;
  364. operator StdVideoH264SpsFlags const &() const VULKAN_HPP_NOEXCEPT
  365. {
  366. return *reinterpret_cast<const StdVideoH264SpsFlags *>( this );
  367. }
  368. operator StdVideoH264SpsFlags &() VULKAN_HPP_NOEXCEPT
  369. {
  370. return *reinterpret_cast<StdVideoH264SpsFlags *>( this );
  371. }
  372. bool operator==( H264SpsFlags const & rhs ) const VULKAN_HPP_NOEXCEPT
  373. {
  374. return ( constraint_set0_flag == rhs.constraint_set0_flag ) && ( constraint_set1_flag == rhs.constraint_set1_flag ) &&
  375. ( constraint_set2_flag == rhs.constraint_set2_flag ) && ( constraint_set3_flag == rhs.constraint_set3_flag ) &&
  376. ( constraint_set4_flag == rhs.constraint_set4_flag ) && ( constraint_set5_flag == rhs.constraint_set5_flag ) &&
  377. ( direct_8x8_inference_flag == rhs.direct_8x8_inference_flag ) && ( mb_adaptive_frame_field_flag == rhs.mb_adaptive_frame_field_flag ) &&
  378. ( frame_mbs_only_flag == rhs.frame_mbs_only_flag ) && ( delta_pic_order_always_zero_flag == rhs.delta_pic_order_always_zero_flag ) &&
  379. ( separate_colour_plane_flag == rhs.separate_colour_plane_flag ) &&
  380. ( gaps_in_frame_num_value_allowed_flag == rhs.gaps_in_frame_num_value_allowed_flag ) &&
  381. ( qpprime_y_zero_transform_bypass_flag == rhs.qpprime_y_zero_transform_bypass_flag ) && ( frame_cropping_flag == rhs.frame_cropping_flag ) &&
  382. ( seq_scaling_matrix_present_flag == rhs.seq_scaling_matrix_present_flag ) && ( vui_parameters_present_flag == rhs.vui_parameters_present_flag );
  383. }
  384. bool operator!=( H264SpsFlags const & rhs ) const VULKAN_HPP_NOEXCEPT
  385. {
  386. return !operator==( rhs );
  387. }
  388. public:
  389. uint32_t constraint_set0_flag : 1;
  390. uint32_t constraint_set1_flag : 1;
  391. uint32_t constraint_set2_flag : 1;
  392. uint32_t constraint_set3_flag : 1;
  393. uint32_t constraint_set4_flag : 1;
  394. uint32_t constraint_set5_flag : 1;
  395. uint32_t direct_8x8_inference_flag : 1;
  396. uint32_t mb_adaptive_frame_field_flag : 1;
  397. uint32_t frame_mbs_only_flag : 1;
  398. uint32_t delta_pic_order_always_zero_flag : 1;
  399. uint32_t separate_colour_plane_flag : 1;
  400. uint32_t gaps_in_frame_num_value_allowed_flag : 1;
  401. uint32_t qpprime_y_zero_transform_bypass_flag : 1;
  402. uint32_t frame_cropping_flag : 1;
  403. uint32_t seq_scaling_matrix_present_flag : 1;
  404. uint32_t vui_parameters_present_flag : 1;
  405. };
  406. struct H264ScalingLists
  407. {
  408. using NativeType = StdVideoH264ScalingLists;
  409. operator StdVideoH264ScalingLists const &() const VULKAN_HPP_NOEXCEPT
  410. {
  411. return *reinterpret_cast<const StdVideoH264ScalingLists *>( this );
  412. }
  413. operator StdVideoH264ScalingLists &() VULKAN_HPP_NOEXCEPT
  414. {
  415. return *reinterpret_cast<StdVideoH264ScalingLists *>( this );
  416. }
  417. bool operator==( H264ScalingLists const & rhs ) const VULKAN_HPP_NOEXCEPT
  418. {
  419. return ( scaling_list_present_mask == rhs.scaling_list_present_mask ) && ( use_default_scaling_matrix_mask == rhs.use_default_scaling_matrix_mask ) &&
  420. ( ScalingList4x4 == rhs.ScalingList4x4 ) && ( ScalingList8x8 == rhs.ScalingList8x8 );
  421. }
  422. bool operator!=( H264ScalingLists const & rhs ) const VULKAN_HPP_NOEXCEPT
  423. {
  424. return !operator==( rhs );
  425. }
  426. public:
  427. uint16_t scaling_list_present_mask = {};
  428. uint16_t use_default_scaling_matrix_mask = {};
  429. VULKAN_HPP_NAMESPACE::ArrayWrapper2D<uint8_t, STD_VIDEO_H264_SCALING_LIST_4X4_NUM_LISTS, STD_VIDEO_H264_SCALING_LIST_4X4_NUM_ELEMENTS>
  430. ScalingList4x4 = {};
  431. VULKAN_HPP_NAMESPACE::ArrayWrapper2D<uint8_t, STD_VIDEO_H264_SCALING_LIST_8X8_NUM_LISTS, STD_VIDEO_H264_SCALING_LIST_8X8_NUM_ELEMENTS>
  432. ScalingList8x8 = {};
  433. };
  434. struct H264SequenceParameterSet
  435. {
  436. using NativeType = StdVideoH264SequenceParameterSet;
  437. operator StdVideoH264SequenceParameterSet const &() const VULKAN_HPP_NOEXCEPT
  438. {
  439. return *reinterpret_cast<const StdVideoH264SequenceParameterSet *>( this );
  440. }
  441. operator StdVideoH264SequenceParameterSet &() VULKAN_HPP_NOEXCEPT
  442. {
  443. return *reinterpret_cast<StdVideoH264SequenceParameterSet *>( this );
  444. }
  445. bool operator==( H264SequenceParameterSet const & rhs ) const VULKAN_HPP_NOEXCEPT
  446. {
  447. return ( flags == rhs.flags ) && ( profile_idc == rhs.profile_idc ) && ( level_idc == rhs.level_idc ) &&
  448. ( chroma_format_idc == rhs.chroma_format_idc ) && ( seq_parameter_set_id == rhs.seq_parameter_set_id ) &&
  449. ( bit_depth_luma_minus8 == rhs.bit_depth_luma_minus8 ) && ( bit_depth_chroma_minus8 == rhs.bit_depth_chroma_minus8 ) &&
  450. ( log2_max_frame_num_minus4 == rhs.log2_max_frame_num_minus4 ) && ( pic_order_cnt_type == rhs.pic_order_cnt_type ) &&
  451. ( offset_for_non_ref_pic == rhs.offset_for_non_ref_pic ) && ( offset_for_top_to_bottom_field == rhs.offset_for_top_to_bottom_field ) &&
  452. ( log2_max_pic_order_cnt_lsb_minus4 == rhs.log2_max_pic_order_cnt_lsb_minus4 ) &&
  453. ( num_ref_frames_in_pic_order_cnt_cycle == rhs.num_ref_frames_in_pic_order_cnt_cycle ) && ( max_num_ref_frames == rhs.max_num_ref_frames ) &&
  454. ( reserved1 == rhs.reserved1 ) && ( pic_width_in_mbs_minus1 == rhs.pic_width_in_mbs_minus1 ) &&
  455. ( pic_height_in_map_units_minus1 == rhs.pic_height_in_map_units_minus1 ) && ( frame_crop_left_offset == rhs.frame_crop_left_offset ) &&
  456. ( frame_crop_right_offset == rhs.frame_crop_right_offset ) && ( frame_crop_top_offset == rhs.frame_crop_top_offset ) &&
  457. ( frame_crop_bottom_offset == rhs.frame_crop_bottom_offset ) && ( reserved2 == rhs.reserved2 ) &&
  458. ( pOffsetForRefFrame == rhs.pOffsetForRefFrame ) && ( pScalingLists == rhs.pScalingLists ) &&
  459. ( pSequenceParameterSetVui == rhs.pSequenceParameterSetVui );
  460. }
  461. bool operator!=( H264SequenceParameterSet const & rhs ) const VULKAN_HPP_NOEXCEPT
  462. {
  463. return !operator==( rhs );
  464. }
  465. public:
  466. VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H264SpsFlags flags = {};
  467. VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H264ProfileIdc profile_idc =
  468. VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H264ProfileIdc::eBaseline;
  469. VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H264LevelIdc level_idc = VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H264LevelIdc::e1_0;
  470. VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H264ChromaFormatIdc chroma_format_idc =
  471. VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H264ChromaFormatIdc::eMonochrome;
  472. uint8_t seq_parameter_set_id = {};
  473. uint8_t bit_depth_luma_minus8 = {};
  474. uint8_t bit_depth_chroma_minus8 = {};
  475. uint8_t log2_max_frame_num_minus4 = {};
  476. VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H264PocType pic_order_cnt_type = VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H264PocType::e0;
  477. int32_t offset_for_non_ref_pic = {};
  478. int32_t offset_for_top_to_bottom_field = {};
  479. uint8_t log2_max_pic_order_cnt_lsb_minus4 = {};
  480. uint8_t num_ref_frames_in_pic_order_cnt_cycle = {};
  481. uint8_t max_num_ref_frames = {};
  482. uint8_t reserved1 = {};
  483. uint32_t pic_width_in_mbs_minus1 = {};
  484. uint32_t pic_height_in_map_units_minus1 = {};
  485. uint32_t frame_crop_left_offset = {};
  486. uint32_t frame_crop_right_offset = {};
  487. uint32_t frame_crop_top_offset = {};
  488. uint32_t frame_crop_bottom_offset = {};
  489. uint32_t reserved2 = {};
  490. const int32_t * pOffsetForRefFrame = {};
  491. const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H264ScalingLists * pScalingLists = {};
  492. const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H264SequenceParameterSetVui * pSequenceParameterSetVui = {};
  493. };
  494. struct H264PpsFlags
  495. {
  496. using NativeType = StdVideoH264PpsFlags;
  497. operator StdVideoH264PpsFlags const &() const VULKAN_HPP_NOEXCEPT
  498. {
  499. return *reinterpret_cast<const StdVideoH264PpsFlags *>( this );
  500. }
  501. operator StdVideoH264PpsFlags &() VULKAN_HPP_NOEXCEPT
  502. {
  503. return *reinterpret_cast<StdVideoH264PpsFlags *>( this );
  504. }
  505. bool operator==( H264PpsFlags const & rhs ) const VULKAN_HPP_NOEXCEPT
  506. {
  507. return ( transform_8x8_mode_flag == rhs.transform_8x8_mode_flag ) && ( redundant_pic_cnt_present_flag == rhs.redundant_pic_cnt_present_flag ) &&
  508. ( constrained_intra_pred_flag == rhs.constrained_intra_pred_flag ) &&
  509. ( deblocking_filter_control_present_flag == rhs.deblocking_filter_control_present_flag ) && ( weighted_pred_flag == rhs.weighted_pred_flag ) &&
  510. ( bottom_field_pic_order_in_frame_present_flag == rhs.bottom_field_pic_order_in_frame_present_flag ) &&
  511. ( entropy_coding_mode_flag == rhs.entropy_coding_mode_flag ) && ( pic_scaling_matrix_present_flag == rhs.pic_scaling_matrix_present_flag );
  512. }
  513. bool operator!=( H264PpsFlags const & rhs ) const VULKAN_HPP_NOEXCEPT
  514. {
  515. return !operator==( rhs );
  516. }
  517. public:
  518. uint32_t transform_8x8_mode_flag : 1;
  519. uint32_t redundant_pic_cnt_present_flag : 1;
  520. uint32_t constrained_intra_pred_flag : 1;
  521. uint32_t deblocking_filter_control_present_flag : 1;
  522. uint32_t weighted_pred_flag : 1;
  523. uint32_t bottom_field_pic_order_in_frame_present_flag : 1;
  524. uint32_t entropy_coding_mode_flag : 1;
  525. uint32_t pic_scaling_matrix_present_flag : 1;
  526. };
  527. struct H264PictureParameterSet
  528. {
  529. using NativeType = StdVideoH264PictureParameterSet;
  530. operator StdVideoH264PictureParameterSet const &() const VULKAN_HPP_NOEXCEPT
  531. {
  532. return *reinterpret_cast<const StdVideoH264PictureParameterSet *>( this );
  533. }
  534. operator StdVideoH264PictureParameterSet &() VULKAN_HPP_NOEXCEPT
  535. {
  536. return *reinterpret_cast<StdVideoH264PictureParameterSet *>( this );
  537. }
  538. bool operator==( H264PictureParameterSet const & rhs ) const VULKAN_HPP_NOEXCEPT
  539. {
  540. return ( flags == rhs.flags ) && ( seq_parameter_set_id == rhs.seq_parameter_set_id ) && ( pic_parameter_set_id == rhs.pic_parameter_set_id ) &&
  541. ( num_ref_idx_l0_default_active_minus1 == rhs.num_ref_idx_l0_default_active_minus1 ) &&
  542. ( num_ref_idx_l1_default_active_minus1 == rhs.num_ref_idx_l1_default_active_minus1 ) && ( weighted_bipred_idc == rhs.weighted_bipred_idc ) &&
  543. ( pic_init_qp_minus26 == rhs.pic_init_qp_minus26 ) && ( pic_init_qs_minus26 == rhs.pic_init_qs_minus26 ) &&
  544. ( chroma_qp_index_offset == rhs.chroma_qp_index_offset ) && ( second_chroma_qp_index_offset == rhs.second_chroma_qp_index_offset ) &&
  545. ( pScalingLists == rhs.pScalingLists );
  546. }
  547. bool operator!=( H264PictureParameterSet const & rhs ) const VULKAN_HPP_NOEXCEPT
  548. {
  549. return !operator==( rhs );
  550. }
  551. public:
  552. VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H264PpsFlags flags = {};
  553. uint8_t seq_parameter_set_id = {};
  554. uint8_t pic_parameter_set_id = {};
  555. uint8_t num_ref_idx_l0_default_active_minus1 = {};
  556. uint8_t num_ref_idx_l1_default_active_minus1 = {};
  557. VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H264WeightedBipredIdc weighted_bipred_idc =
  558. VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H264WeightedBipredIdc::eDefault;
  559. int8_t pic_init_qp_minus26 = {};
  560. int8_t pic_init_qs_minus26 = {};
  561. int8_t chroma_qp_index_offset = {};
  562. int8_t second_chroma_qp_index_offset = {};
  563. const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H264ScalingLists * pScalingLists = {};
  564. };
  565. //=== vulkan_video_codec_h264std_decode ===
  566. struct DecodeH264PictureInfoFlags
  567. {
  568. using NativeType = StdVideoDecodeH264PictureInfoFlags;
  569. operator StdVideoDecodeH264PictureInfoFlags const &() const VULKAN_HPP_NOEXCEPT
  570. {
  571. return *reinterpret_cast<const StdVideoDecodeH264PictureInfoFlags *>( this );
  572. }
  573. operator StdVideoDecodeH264PictureInfoFlags &() VULKAN_HPP_NOEXCEPT
  574. {
  575. return *reinterpret_cast<StdVideoDecodeH264PictureInfoFlags *>( this );
  576. }
  577. bool operator==( DecodeH264PictureInfoFlags const & rhs ) const VULKAN_HPP_NOEXCEPT
  578. {
  579. return ( field_pic_flag == rhs.field_pic_flag ) && ( is_intra == rhs.is_intra ) && ( IdrPicFlag == rhs.IdrPicFlag ) &&
  580. ( bottom_field_flag == rhs.bottom_field_flag ) && ( is_reference == rhs.is_reference ) &&
  581. ( complementary_field_pair == rhs.complementary_field_pair );
  582. }
  583. bool operator!=( DecodeH264PictureInfoFlags const & rhs ) const VULKAN_HPP_NOEXCEPT
  584. {
  585. return !operator==( rhs );
  586. }
  587. public:
  588. uint32_t field_pic_flag : 1;
  589. uint32_t is_intra : 1;
  590. uint32_t IdrPicFlag : 1;
  591. uint32_t bottom_field_flag : 1;
  592. uint32_t is_reference : 1;
  593. uint32_t complementary_field_pair : 1;
  594. };
  595. struct DecodeH264PictureInfo
  596. {
  597. using NativeType = StdVideoDecodeH264PictureInfo;
  598. operator StdVideoDecodeH264PictureInfo const &() const VULKAN_HPP_NOEXCEPT
  599. {
  600. return *reinterpret_cast<const StdVideoDecodeH264PictureInfo *>( this );
  601. }
  602. operator StdVideoDecodeH264PictureInfo &() VULKAN_HPP_NOEXCEPT
  603. {
  604. return *reinterpret_cast<StdVideoDecodeH264PictureInfo *>( this );
  605. }
  606. bool operator==( DecodeH264PictureInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
  607. {
  608. return ( flags == rhs.flags ) && ( seq_parameter_set_id == rhs.seq_parameter_set_id ) && ( pic_parameter_set_id == rhs.pic_parameter_set_id ) &&
  609. ( reserved1 == rhs.reserved1 ) && ( reserved2 == rhs.reserved2 ) && ( frame_num == rhs.frame_num ) && ( idr_pic_id == rhs.idr_pic_id ) &&
  610. ( PicOrderCnt == rhs.PicOrderCnt );
  611. }
  612. bool operator!=( DecodeH264PictureInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
  613. {
  614. return !operator==( rhs );
  615. }
  616. public:
  617. VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::DecodeH264PictureInfoFlags flags = {};
  618. uint8_t seq_parameter_set_id = {};
  619. uint8_t pic_parameter_set_id = {};
  620. uint8_t reserved1 = {};
  621. uint8_t reserved2 = {};
  622. uint16_t frame_num = {};
  623. uint16_t idr_pic_id = {};
  624. VULKAN_HPP_NAMESPACE::ArrayWrapper1D<int32_t, STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE> PicOrderCnt = {};
  625. };
  626. struct DecodeH264ReferenceInfoFlags
  627. {
  628. using NativeType = StdVideoDecodeH264ReferenceInfoFlags;
  629. operator StdVideoDecodeH264ReferenceInfoFlags const &() const VULKAN_HPP_NOEXCEPT
  630. {
  631. return *reinterpret_cast<const StdVideoDecodeH264ReferenceInfoFlags *>( this );
  632. }
  633. operator StdVideoDecodeH264ReferenceInfoFlags &() VULKAN_HPP_NOEXCEPT
  634. {
  635. return *reinterpret_cast<StdVideoDecodeH264ReferenceInfoFlags *>( this );
  636. }
  637. bool operator==( DecodeH264ReferenceInfoFlags const & rhs ) const VULKAN_HPP_NOEXCEPT
  638. {
  639. return ( top_field_flag == rhs.top_field_flag ) && ( bottom_field_flag == rhs.bottom_field_flag ) &&
  640. ( used_for_long_term_reference == rhs.used_for_long_term_reference ) && ( is_non_existing == rhs.is_non_existing );
  641. }
  642. bool operator!=( DecodeH264ReferenceInfoFlags const & rhs ) const VULKAN_HPP_NOEXCEPT
  643. {
  644. return !operator==( rhs );
  645. }
  646. public:
  647. uint32_t top_field_flag : 1;
  648. uint32_t bottom_field_flag : 1;
  649. uint32_t used_for_long_term_reference : 1;
  650. uint32_t is_non_existing : 1;
  651. };
  652. struct DecodeH264ReferenceInfo
  653. {
  654. using NativeType = StdVideoDecodeH264ReferenceInfo;
  655. operator StdVideoDecodeH264ReferenceInfo const &() const VULKAN_HPP_NOEXCEPT
  656. {
  657. return *reinterpret_cast<const StdVideoDecodeH264ReferenceInfo *>( this );
  658. }
  659. operator StdVideoDecodeH264ReferenceInfo &() VULKAN_HPP_NOEXCEPT
  660. {
  661. return *reinterpret_cast<StdVideoDecodeH264ReferenceInfo *>( this );
  662. }
  663. bool operator==( DecodeH264ReferenceInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
  664. {
  665. return ( flags == rhs.flags ) && ( FrameNum == rhs.FrameNum ) && ( reserved == rhs.reserved ) && ( PicOrderCnt == rhs.PicOrderCnt );
  666. }
  667. bool operator!=( DecodeH264ReferenceInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
  668. {
  669. return !operator==( rhs );
  670. }
  671. public:
  672. VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::DecodeH264ReferenceInfoFlags flags = {};
  673. uint16_t FrameNum = {};
  674. uint16_t reserved = {};
  675. VULKAN_HPP_NAMESPACE::ArrayWrapper1D<int32_t, STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE> PicOrderCnt = {};
  676. };
  677. //=== vulkan_video_codec_h264std_encode ===
  678. struct EncodeH264WeightTableFlags
  679. {
  680. using NativeType = StdVideoEncodeH264WeightTableFlags;
  681. operator StdVideoEncodeH264WeightTableFlags const &() const VULKAN_HPP_NOEXCEPT
  682. {
  683. return *reinterpret_cast<const StdVideoEncodeH264WeightTableFlags *>( this );
  684. }
  685. operator StdVideoEncodeH264WeightTableFlags &() VULKAN_HPP_NOEXCEPT
  686. {
  687. return *reinterpret_cast<StdVideoEncodeH264WeightTableFlags *>( this );
  688. }
  689. bool operator==( EncodeH264WeightTableFlags const & rhs ) const VULKAN_HPP_NOEXCEPT
  690. {
  691. return ( luma_weight_l0_flag == rhs.luma_weight_l0_flag ) && ( chroma_weight_l0_flag == rhs.chroma_weight_l0_flag ) &&
  692. ( luma_weight_l1_flag == rhs.luma_weight_l1_flag ) && ( chroma_weight_l1_flag == rhs.chroma_weight_l1_flag );
  693. }
  694. bool operator!=( EncodeH264WeightTableFlags const & rhs ) const VULKAN_HPP_NOEXCEPT
  695. {
  696. return !operator==( rhs );
  697. }
  698. public:
  699. uint32_t luma_weight_l0_flag = {};
  700. uint32_t chroma_weight_l0_flag = {};
  701. uint32_t luma_weight_l1_flag = {};
  702. uint32_t chroma_weight_l1_flag = {};
  703. };
  704. struct EncodeH264WeightTable
  705. {
  706. using NativeType = StdVideoEncodeH264WeightTable;
  707. operator StdVideoEncodeH264WeightTable const &() const VULKAN_HPP_NOEXCEPT
  708. {
  709. return *reinterpret_cast<const StdVideoEncodeH264WeightTable *>( this );
  710. }
  711. operator StdVideoEncodeH264WeightTable &() VULKAN_HPP_NOEXCEPT
  712. {
  713. return *reinterpret_cast<StdVideoEncodeH264WeightTable *>( this );
  714. }
  715. bool operator==( EncodeH264WeightTable const & rhs ) const VULKAN_HPP_NOEXCEPT
  716. {
  717. return ( flags == rhs.flags ) && ( luma_log2_weight_denom == rhs.luma_log2_weight_denom ) &&
  718. ( chroma_log2_weight_denom == rhs.chroma_log2_weight_denom ) && ( luma_weight_l0 == rhs.luma_weight_l0 ) &&
  719. ( luma_offset_l0 == rhs.luma_offset_l0 ) && ( chroma_weight_l0 == rhs.chroma_weight_l0 ) && ( chroma_offset_l0 == rhs.chroma_offset_l0 ) &&
  720. ( luma_weight_l1 == rhs.luma_weight_l1 ) && ( luma_offset_l1 == rhs.luma_offset_l1 ) && ( chroma_weight_l1 == rhs.chroma_weight_l1 ) &&
  721. ( chroma_offset_l1 == rhs.chroma_offset_l1 );
  722. }
  723. bool operator!=( EncodeH264WeightTable const & rhs ) const VULKAN_HPP_NOEXCEPT
  724. {
  725. return !operator==( rhs );
  726. }
  727. public:
  728. VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::EncodeH264WeightTableFlags flags = {};
  729. uint8_t luma_log2_weight_denom = {};
  730. uint8_t chroma_log2_weight_denom = {};
  731. VULKAN_HPP_NAMESPACE::ArrayWrapper1D<int8_t, STD_VIDEO_H264_MAX_NUM_LIST_REF> luma_weight_l0 = {};
  732. VULKAN_HPP_NAMESPACE::ArrayWrapper1D<int8_t, STD_VIDEO_H264_MAX_NUM_LIST_REF> luma_offset_l0 = {};
  733. VULKAN_HPP_NAMESPACE::ArrayWrapper2D<int8_t, STD_VIDEO_H264_MAX_NUM_LIST_REF, STD_VIDEO_H264_MAX_CHROMA_PLANES> chroma_weight_l0 = {};
  734. VULKAN_HPP_NAMESPACE::ArrayWrapper2D<int8_t, STD_VIDEO_H264_MAX_NUM_LIST_REF, STD_VIDEO_H264_MAX_CHROMA_PLANES> chroma_offset_l0 = {};
  735. VULKAN_HPP_NAMESPACE::ArrayWrapper1D<int8_t, STD_VIDEO_H264_MAX_NUM_LIST_REF> luma_weight_l1 = {};
  736. VULKAN_HPP_NAMESPACE::ArrayWrapper1D<int8_t, STD_VIDEO_H264_MAX_NUM_LIST_REF> luma_offset_l1 = {};
  737. VULKAN_HPP_NAMESPACE::ArrayWrapper2D<int8_t, STD_VIDEO_H264_MAX_NUM_LIST_REF, STD_VIDEO_H264_MAX_CHROMA_PLANES> chroma_weight_l1 = {};
  738. VULKAN_HPP_NAMESPACE::ArrayWrapper2D<int8_t, STD_VIDEO_H264_MAX_NUM_LIST_REF, STD_VIDEO_H264_MAX_CHROMA_PLANES> chroma_offset_l1 = {};
  739. };
  740. struct EncodeH264SliceHeaderFlags
  741. {
  742. using NativeType = StdVideoEncodeH264SliceHeaderFlags;
  743. operator StdVideoEncodeH264SliceHeaderFlags const &() const VULKAN_HPP_NOEXCEPT
  744. {
  745. return *reinterpret_cast<const StdVideoEncodeH264SliceHeaderFlags *>( this );
  746. }
  747. operator StdVideoEncodeH264SliceHeaderFlags &() VULKAN_HPP_NOEXCEPT
  748. {
  749. return *reinterpret_cast<StdVideoEncodeH264SliceHeaderFlags *>( this );
  750. }
  751. bool operator==( EncodeH264SliceHeaderFlags const & rhs ) const VULKAN_HPP_NOEXCEPT
  752. {
  753. return ( direct_spatial_mv_pred_flag == rhs.direct_spatial_mv_pred_flag ) &&
  754. ( num_ref_idx_active_override_flag == rhs.num_ref_idx_active_override_flag ) && ( reserved == rhs.reserved );
  755. }
  756. bool operator!=( EncodeH264SliceHeaderFlags const & rhs ) const VULKAN_HPP_NOEXCEPT
  757. {
  758. return !operator==( rhs );
  759. }
  760. public:
  761. uint32_t direct_spatial_mv_pred_flag : 1;
  762. uint32_t num_ref_idx_active_override_flag : 1;
  763. uint32_t reserved : 30;
  764. };
  765. struct EncodeH264PictureInfoFlags
  766. {
  767. using NativeType = StdVideoEncodeH264PictureInfoFlags;
  768. operator StdVideoEncodeH264PictureInfoFlags const &() const VULKAN_HPP_NOEXCEPT
  769. {
  770. return *reinterpret_cast<const StdVideoEncodeH264PictureInfoFlags *>( this );
  771. }
  772. operator StdVideoEncodeH264PictureInfoFlags &() VULKAN_HPP_NOEXCEPT
  773. {
  774. return *reinterpret_cast<StdVideoEncodeH264PictureInfoFlags *>( this );
  775. }
  776. bool operator==( EncodeH264PictureInfoFlags const & rhs ) const VULKAN_HPP_NOEXCEPT
  777. {
  778. return ( IdrPicFlag == rhs.IdrPicFlag ) && ( is_reference == rhs.is_reference ) &&
  779. ( no_output_of_prior_pics_flag == rhs.no_output_of_prior_pics_flag ) && ( long_term_reference_flag == rhs.long_term_reference_flag ) &&
  780. ( adaptive_ref_pic_marking_mode_flag == rhs.adaptive_ref_pic_marking_mode_flag ) && ( reserved == rhs.reserved );
  781. }
  782. bool operator!=( EncodeH264PictureInfoFlags const & rhs ) const VULKAN_HPP_NOEXCEPT
  783. {
  784. return !operator==( rhs );
  785. }
  786. public:
  787. uint32_t IdrPicFlag : 1;
  788. uint32_t is_reference : 1;
  789. uint32_t no_output_of_prior_pics_flag : 1;
  790. uint32_t long_term_reference_flag : 1;
  791. uint32_t adaptive_ref_pic_marking_mode_flag : 1;
  792. uint32_t reserved : 27;
  793. };
  794. struct EncodeH264ReferenceInfoFlags
  795. {
  796. using NativeType = StdVideoEncodeH264ReferenceInfoFlags;
  797. operator StdVideoEncodeH264ReferenceInfoFlags const &() const VULKAN_HPP_NOEXCEPT
  798. {
  799. return *reinterpret_cast<const StdVideoEncodeH264ReferenceInfoFlags *>( this );
  800. }
  801. operator StdVideoEncodeH264ReferenceInfoFlags &() VULKAN_HPP_NOEXCEPT
  802. {
  803. return *reinterpret_cast<StdVideoEncodeH264ReferenceInfoFlags *>( this );
  804. }
  805. bool operator==( EncodeH264ReferenceInfoFlags const & rhs ) const VULKAN_HPP_NOEXCEPT
  806. {
  807. return ( used_for_long_term_reference == rhs.used_for_long_term_reference ) && ( reserved == rhs.reserved );
  808. }
  809. bool operator!=( EncodeH264ReferenceInfoFlags const & rhs ) const VULKAN_HPP_NOEXCEPT
  810. {
  811. return !operator==( rhs );
  812. }
  813. public:
  814. uint32_t used_for_long_term_reference : 1;
  815. uint32_t reserved : 31;
  816. };
  817. struct EncodeH264ReferenceListsInfoFlags
  818. {
  819. using NativeType = StdVideoEncodeH264ReferenceListsInfoFlags;
  820. operator StdVideoEncodeH264ReferenceListsInfoFlags const &() const VULKAN_HPP_NOEXCEPT
  821. {
  822. return *reinterpret_cast<const StdVideoEncodeH264ReferenceListsInfoFlags *>( this );
  823. }
  824. operator StdVideoEncodeH264ReferenceListsInfoFlags &() VULKAN_HPP_NOEXCEPT
  825. {
  826. return *reinterpret_cast<StdVideoEncodeH264ReferenceListsInfoFlags *>( this );
  827. }
  828. bool operator==( EncodeH264ReferenceListsInfoFlags const & rhs ) const VULKAN_HPP_NOEXCEPT
  829. {
  830. return ( ref_pic_list_modification_flag_l0 == rhs.ref_pic_list_modification_flag_l0 ) &&
  831. ( ref_pic_list_modification_flag_l1 == rhs.ref_pic_list_modification_flag_l1 ) && ( reserved == rhs.reserved );
  832. }
  833. bool operator!=( EncodeH264ReferenceListsInfoFlags const & rhs ) const VULKAN_HPP_NOEXCEPT
  834. {
  835. return !operator==( rhs );
  836. }
  837. public:
  838. uint32_t ref_pic_list_modification_flag_l0 : 1;
  839. uint32_t ref_pic_list_modification_flag_l1 : 1;
  840. uint32_t reserved : 30;
  841. };
  842. struct EncodeH264RefListModEntry
  843. {
  844. using NativeType = StdVideoEncodeH264RefListModEntry;
  845. operator StdVideoEncodeH264RefListModEntry const &() const VULKAN_HPP_NOEXCEPT
  846. {
  847. return *reinterpret_cast<const StdVideoEncodeH264RefListModEntry *>( this );
  848. }
  849. operator StdVideoEncodeH264RefListModEntry &() VULKAN_HPP_NOEXCEPT
  850. {
  851. return *reinterpret_cast<StdVideoEncodeH264RefListModEntry *>( this );
  852. }
  853. bool operator==( EncodeH264RefListModEntry const & rhs ) const VULKAN_HPP_NOEXCEPT
  854. {
  855. return ( modification_of_pic_nums_idc == rhs.modification_of_pic_nums_idc ) && ( abs_diff_pic_num_minus1 == rhs.abs_diff_pic_num_minus1 ) &&
  856. ( long_term_pic_num == rhs.long_term_pic_num );
  857. }
  858. bool operator!=( EncodeH264RefListModEntry const & rhs ) const VULKAN_HPP_NOEXCEPT
  859. {
  860. return !operator==( rhs );
  861. }
  862. public:
  863. VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H264ModificationOfPicNumsIdc modification_of_pic_nums_idc =
  864. VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H264ModificationOfPicNumsIdc::eShortTermSubtract;
  865. uint16_t abs_diff_pic_num_minus1 = {};
  866. uint16_t long_term_pic_num = {};
  867. };
  868. struct EncodeH264RefPicMarkingEntry
  869. {
  870. using NativeType = StdVideoEncodeH264RefPicMarkingEntry;
  871. operator StdVideoEncodeH264RefPicMarkingEntry const &() const VULKAN_HPP_NOEXCEPT
  872. {
  873. return *reinterpret_cast<const StdVideoEncodeH264RefPicMarkingEntry *>( this );
  874. }
  875. operator StdVideoEncodeH264RefPicMarkingEntry &() VULKAN_HPP_NOEXCEPT
  876. {
  877. return *reinterpret_cast<StdVideoEncodeH264RefPicMarkingEntry *>( this );
  878. }
  879. bool operator==( EncodeH264RefPicMarkingEntry const & rhs ) const VULKAN_HPP_NOEXCEPT
  880. {
  881. return ( memory_management_control_operation == rhs.memory_management_control_operation ) &&
  882. ( difference_of_pic_nums_minus1 == rhs.difference_of_pic_nums_minus1 ) && ( long_term_pic_num == rhs.long_term_pic_num ) &&
  883. ( long_term_frame_idx == rhs.long_term_frame_idx ) && ( max_long_term_frame_idx_plus1 == rhs.max_long_term_frame_idx_plus1 );
  884. }
  885. bool operator!=( EncodeH264RefPicMarkingEntry const & rhs ) const VULKAN_HPP_NOEXCEPT
  886. {
  887. return !operator==( rhs );
  888. }
  889. public:
  890. VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H264MemMgmtControlOp memory_management_control_operation =
  891. VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H264MemMgmtControlOp::eEnd;
  892. uint16_t difference_of_pic_nums_minus1 = {};
  893. uint16_t long_term_pic_num = {};
  894. uint16_t long_term_frame_idx = {};
  895. uint16_t max_long_term_frame_idx_plus1 = {};
  896. };
  897. struct EncodeH264ReferenceListsInfo
  898. {
  899. using NativeType = StdVideoEncodeH264ReferenceListsInfo;
  900. operator StdVideoEncodeH264ReferenceListsInfo const &() const VULKAN_HPP_NOEXCEPT
  901. {
  902. return *reinterpret_cast<const StdVideoEncodeH264ReferenceListsInfo *>( this );
  903. }
  904. operator StdVideoEncodeH264ReferenceListsInfo &() VULKAN_HPP_NOEXCEPT
  905. {
  906. return *reinterpret_cast<StdVideoEncodeH264ReferenceListsInfo *>( this );
  907. }
  908. bool operator==( EncodeH264ReferenceListsInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
  909. {
  910. return ( flags == rhs.flags ) && ( num_ref_idx_l0_active_minus1 == rhs.num_ref_idx_l0_active_minus1 ) &&
  911. ( num_ref_idx_l1_active_minus1 == rhs.num_ref_idx_l1_active_minus1 ) && ( RefPicList0 == rhs.RefPicList0 ) &&
  912. ( RefPicList1 == rhs.RefPicList1 ) && ( refList0ModOpCount == rhs.refList0ModOpCount ) && ( refList1ModOpCount == rhs.refList1ModOpCount ) &&
  913. ( refPicMarkingOpCount == rhs.refPicMarkingOpCount ) && ( reserved1 == rhs.reserved1 ) &&
  914. ( pRefList0ModOperations == rhs.pRefList0ModOperations ) && ( pRefList1ModOperations == rhs.pRefList1ModOperations ) &&
  915. ( pRefPicMarkingOperations == rhs.pRefPicMarkingOperations );
  916. }
  917. bool operator!=( EncodeH264ReferenceListsInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
  918. {
  919. return !operator==( rhs );
  920. }
  921. public:
  922. VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::EncodeH264ReferenceListsInfoFlags flags = {};
  923. uint8_t num_ref_idx_l0_active_minus1 = {};
  924. uint8_t num_ref_idx_l1_active_minus1 = {};
  925. VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint8_t, STD_VIDEO_H264_MAX_NUM_LIST_REF> RefPicList0 = {};
  926. VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint8_t, STD_VIDEO_H264_MAX_NUM_LIST_REF> RefPicList1 = {};
  927. uint8_t refList0ModOpCount = {};
  928. uint8_t refList1ModOpCount = {};
  929. uint8_t refPicMarkingOpCount = {};
  930. VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint8_t, 7> reserved1 = {};
  931. const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::EncodeH264RefListModEntry * pRefList0ModOperations = {};
  932. const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::EncodeH264RefListModEntry * pRefList1ModOperations = {};
  933. const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::EncodeH264RefPicMarkingEntry * pRefPicMarkingOperations = {};
  934. };
  935. struct EncodeH264PictureInfo
  936. {
  937. using NativeType = StdVideoEncodeH264PictureInfo;
  938. operator StdVideoEncodeH264PictureInfo const &() const VULKAN_HPP_NOEXCEPT
  939. {
  940. return *reinterpret_cast<const StdVideoEncodeH264PictureInfo *>( this );
  941. }
  942. operator StdVideoEncodeH264PictureInfo &() VULKAN_HPP_NOEXCEPT
  943. {
  944. return *reinterpret_cast<StdVideoEncodeH264PictureInfo *>( this );
  945. }
  946. bool operator==( EncodeH264PictureInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
  947. {
  948. return ( flags == rhs.flags ) && ( seq_parameter_set_id == rhs.seq_parameter_set_id ) && ( pic_parameter_set_id == rhs.pic_parameter_set_id ) &&
  949. ( idr_pic_id == rhs.idr_pic_id ) && ( primary_pic_type == rhs.primary_pic_type ) && ( frame_num == rhs.frame_num ) &&
  950. ( PicOrderCnt == rhs.PicOrderCnt ) && ( temporal_id == rhs.temporal_id ) && ( reserved1 == rhs.reserved1 ) && ( pRefLists == rhs.pRefLists );
  951. }
  952. bool operator!=( EncodeH264PictureInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
  953. {
  954. return !operator==( rhs );
  955. }
  956. public:
  957. VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::EncodeH264PictureInfoFlags flags = {};
  958. uint8_t seq_parameter_set_id = {};
  959. uint8_t pic_parameter_set_id = {};
  960. uint16_t idr_pic_id = {};
  961. VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H264PictureType primary_pic_type =
  962. VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H264PictureType::eP;
  963. uint32_t frame_num = {};
  964. int32_t PicOrderCnt = {};
  965. uint8_t temporal_id = {};
  966. VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint8_t, 3> reserved1 = {};
  967. const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::EncodeH264ReferenceListsInfo * pRefLists = {};
  968. };
  969. struct EncodeH264ReferenceInfo
  970. {
  971. using NativeType = StdVideoEncodeH264ReferenceInfo;
  972. operator StdVideoEncodeH264ReferenceInfo const &() const VULKAN_HPP_NOEXCEPT
  973. {
  974. return *reinterpret_cast<const StdVideoEncodeH264ReferenceInfo *>( this );
  975. }
  976. operator StdVideoEncodeH264ReferenceInfo &() VULKAN_HPP_NOEXCEPT
  977. {
  978. return *reinterpret_cast<StdVideoEncodeH264ReferenceInfo *>( this );
  979. }
  980. bool operator==( EncodeH264ReferenceInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
  981. {
  982. return ( flags == rhs.flags ) && ( primary_pic_type == rhs.primary_pic_type ) && ( FrameNum == rhs.FrameNum ) && ( PicOrderCnt == rhs.PicOrderCnt ) &&
  983. ( long_term_pic_num == rhs.long_term_pic_num ) && ( long_term_frame_idx == rhs.long_term_frame_idx ) && ( temporal_id == rhs.temporal_id );
  984. }
  985. bool operator!=( EncodeH264ReferenceInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
  986. {
  987. return !operator==( rhs );
  988. }
  989. public:
  990. VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::EncodeH264ReferenceInfoFlags flags = {};
  991. VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H264PictureType primary_pic_type =
  992. VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H264PictureType::eP;
  993. uint32_t FrameNum = {};
  994. int32_t PicOrderCnt = {};
  995. uint16_t long_term_pic_num = {};
  996. uint16_t long_term_frame_idx = {};
  997. uint8_t temporal_id = {};
  998. };
  999. struct EncodeH264SliceHeader
  1000. {
  1001. using NativeType = StdVideoEncodeH264SliceHeader;
  1002. operator StdVideoEncodeH264SliceHeader const &() const VULKAN_HPP_NOEXCEPT
  1003. {
  1004. return *reinterpret_cast<const StdVideoEncodeH264SliceHeader *>( this );
  1005. }
  1006. operator StdVideoEncodeH264SliceHeader &() VULKAN_HPP_NOEXCEPT
  1007. {
  1008. return *reinterpret_cast<StdVideoEncodeH264SliceHeader *>( this );
  1009. }
  1010. bool operator==( EncodeH264SliceHeader const & rhs ) const VULKAN_HPP_NOEXCEPT
  1011. {
  1012. return ( flags == rhs.flags ) && ( first_mb_in_slice == rhs.first_mb_in_slice ) && ( slice_type == rhs.slice_type ) &&
  1013. ( slice_alpha_c0_offset_div2 == rhs.slice_alpha_c0_offset_div2 ) && ( slice_beta_offset_div2 == rhs.slice_beta_offset_div2 ) &&
  1014. ( slice_qp_delta == rhs.slice_qp_delta ) && ( reserved1 == rhs.reserved1 ) && ( cabac_init_idc == rhs.cabac_init_idc ) &&
  1015. ( disable_deblocking_filter_idc == rhs.disable_deblocking_filter_idc ) && ( pWeightTable == rhs.pWeightTable );
  1016. }
  1017. bool operator!=( EncodeH264SliceHeader const & rhs ) const VULKAN_HPP_NOEXCEPT
  1018. {
  1019. return !operator==( rhs );
  1020. }
  1021. public:
  1022. VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::EncodeH264SliceHeaderFlags flags = {};
  1023. uint32_t first_mb_in_slice = {};
  1024. VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H264SliceType slice_type = VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H264SliceType::eP;
  1025. int8_t slice_alpha_c0_offset_div2 = {};
  1026. int8_t slice_beta_offset_div2 = {};
  1027. int8_t slice_qp_delta = {};
  1028. uint8_t reserved1 = {};
  1029. VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H264CabacInitIdc cabac_init_idc =
  1030. VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H264CabacInitIdc::e0;
  1031. VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H264DisableDeblockingFilterIdc disable_deblocking_filter_idc =
  1032. VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H264DisableDeblockingFilterIdc::eDisabled;
  1033. const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::EncodeH264WeightTable * pWeightTable = {};
  1034. };
  1035. //=== vulkan_video_codec_h265std ===
  1036. struct H265DecPicBufMgr
  1037. {
  1038. using NativeType = StdVideoH265DecPicBufMgr;
  1039. operator StdVideoH265DecPicBufMgr const &() const VULKAN_HPP_NOEXCEPT
  1040. {
  1041. return *reinterpret_cast<const StdVideoH265DecPicBufMgr *>( this );
  1042. }
  1043. operator StdVideoH265DecPicBufMgr &() VULKAN_HPP_NOEXCEPT
  1044. {
  1045. return *reinterpret_cast<StdVideoH265DecPicBufMgr *>( this );
  1046. }
  1047. bool operator==( H265DecPicBufMgr const & rhs ) const VULKAN_HPP_NOEXCEPT
  1048. {
  1049. return ( max_latency_increase_plus1 == rhs.max_latency_increase_plus1 ) && ( max_dec_pic_buffering_minus1 == rhs.max_dec_pic_buffering_minus1 ) &&
  1050. ( max_num_reorder_pics == rhs.max_num_reorder_pics );
  1051. }
  1052. bool operator!=( H265DecPicBufMgr const & rhs ) const VULKAN_HPP_NOEXCEPT
  1053. {
  1054. return !operator==( rhs );
  1055. }
  1056. public:
  1057. VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint32_t, STD_VIDEO_H265_SUBLAYERS_LIST_SIZE> max_latency_increase_plus1 = {};
  1058. VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint8_t, STD_VIDEO_H265_SUBLAYERS_LIST_SIZE> max_dec_pic_buffering_minus1 = {};
  1059. VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint8_t, STD_VIDEO_H265_SUBLAYERS_LIST_SIZE> max_num_reorder_pics = {};
  1060. };
  1061. struct H265SubLayerHrdParameters
  1062. {
  1063. using NativeType = StdVideoH265SubLayerHrdParameters;
  1064. operator StdVideoH265SubLayerHrdParameters const &() const VULKAN_HPP_NOEXCEPT
  1065. {
  1066. return *reinterpret_cast<const StdVideoH265SubLayerHrdParameters *>( this );
  1067. }
  1068. operator StdVideoH265SubLayerHrdParameters &() VULKAN_HPP_NOEXCEPT
  1069. {
  1070. return *reinterpret_cast<StdVideoH265SubLayerHrdParameters *>( this );
  1071. }
  1072. bool operator==( H265SubLayerHrdParameters const & rhs ) const VULKAN_HPP_NOEXCEPT
  1073. {
  1074. return ( bit_rate_value_minus1 == rhs.bit_rate_value_minus1 ) && ( cpb_size_value_minus1 == rhs.cpb_size_value_minus1 ) &&
  1075. ( cpb_size_du_value_minus1 == rhs.cpb_size_du_value_minus1 ) && ( bit_rate_du_value_minus1 == rhs.bit_rate_du_value_minus1 ) &&
  1076. ( cbr_flag == rhs.cbr_flag );
  1077. }
  1078. bool operator!=( H265SubLayerHrdParameters const & rhs ) const VULKAN_HPP_NOEXCEPT
  1079. {
  1080. return !operator==( rhs );
  1081. }
  1082. public:
  1083. VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint32_t, STD_VIDEO_H265_CPB_CNT_LIST_SIZE> bit_rate_value_minus1 = {};
  1084. VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint32_t, STD_VIDEO_H265_CPB_CNT_LIST_SIZE> cpb_size_value_minus1 = {};
  1085. VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint32_t, STD_VIDEO_H265_CPB_CNT_LIST_SIZE> cpb_size_du_value_minus1 = {};
  1086. VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint32_t, STD_VIDEO_H265_CPB_CNT_LIST_SIZE> bit_rate_du_value_minus1 = {};
  1087. uint32_t cbr_flag = {};
  1088. };
  1089. struct H265HrdFlags
  1090. {
  1091. using NativeType = StdVideoH265HrdFlags;
  1092. operator StdVideoH265HrdFlags const &() const VULKAN_HPP_NOEXCEPT
  1093. {
  1094. return *reinterpret_cast<const StdVideoH265HrdFlags *>( this );
  1095. }
  1096. operator StdVideoH265HrdFlags &() VULKAN_HPP_NOEXCEPT
  1097. {
  1098. return *reinterpret_cast<StdVideoH265HrdFlags *>( this );
  1099. }
  1100. bool operator==( H265HrdFlags const & rhs ) const VULKAN_HPP_NOEXCEPT
  1101. {
  1102. return ( nal_hrd_parameters_present_flag == rhs.nal_hrd_parameters_present_flag ) &&
  1103. ( vcl_hrd_parameters_present_flag == rhs.vcl_hrd_parameters_present_flag ) &&
  1104. ( sub_pic_hrd_params_present_flag == rhs.sub_pic_hrd_params_present_flag ) &&
  1105. ( sub_pic_cpb_params_in_pic_timing_sei_flag == rhs.sub_pic_cpb_params_in_pic_timing_sei_flag ) &&
  1106. ( fixed_pic_rate_general_flag == rhs.fixed_pic_rate_general_flag ) && ( fixed_pic_rate_within_cvs_flag == rhs.fixed_pic_rate_within_cvs_flag ) &&
  1107. ( low_delay_hrd_flag == rhs.low_delay_hrd_flag );
  1108. }
  1109. bool operator!=( H265HrdFlags const & rhs ) const VULKAN_HPP_NOEXCEPT
  1110. {
  1111. return !operator==( rhs );
  1112. }
  1113. public:
  1114. uint32_t nal_hrd_parameters_present_flag : 1;
  1115. uint32_t vcl_hrd_parameters_present_flag : 1;
  1116. uint32_t sub_pic_hrd_params_present_flag : 1;
  1117. uint32_t sub_pic_cpb_params_in_pic_timing_sei_flag : 1;
  1118. uint32_t fixed_pic_rate_general_flag : 8;
  1119. uint32_t fixed_pic_rate_within_cvs_flag : 8;
  1120. uint32_t low_delay_hrd_flag : 8;
  1121. };
  1122. struct H265HrdParameters
  1123. {
  1124. using NativeType = StdVideoH265HrdParameters;
  1125. operator StdVideoH265HrdParameters const &() const VULKAN_HPP_NOEXCEPT
  1126. {
  1127. return *reinterpret_cast<const StdVideoH265HrdParameters *>( this );
  1128. }
  1129. operator StdVideoH265HrdParameters &() VULKAN_HPP_NOEXCEPT
  1130. {
  1131. return *reinterpret_cast<StdVideoH265HrdParameters *>( this );
  1132. }
  1133. bool operator==( H265HrdParameters const & rhs ) const VULKAN_HPP_NOEXCEPT
  1134. {
  1135. return ( flags == rhs.flags ) && ( tick_divisor_minus2 == rhs.tick_divisor_minus2 ) &&
  1136. ( du_cpb_removal_delay_increment_length_minus1 == rhs.du_cpb_removal_delay_increment_length_minus1 ) &&
  1137. ( dpb_output_delay_du_length_minus1 == rhs.dpb_output_delay_du_length_minus1 ) && ( bit_rate_scale == rhs.bit_rate_scale ) &&
  1138. ( cpb_size_scale == rhs.cpb_size_scale ) && ( cpb_size_du_scale == rhs.cpb_size_du_scale ) &&
  1139. ( initial_cpb_removal_delay_length_minus1 == rhs.initial_cpb_removal_delay_length_minus1 ) &&
  1140. ( au_cpb_removal_delay_length_minus1 == rhs.au_cpb_removal_delay_length_minus1 ) &&
  1141. ( dpb_output_delay_length_minus1 == rhs.dpb_output_delay_length_minus1 ) && ( cpb_cnt_minus1 == rhs.cpb_cnt_minus1 ) &&
  1142. ( elemental_duration_in_tc_minus1 == rhs.elemental_duration_in_tc_minus1 ) && ( reserved == rhs.reserved ) &&
  1143. ( pSubLayerHrdParametersNal == rhs.pSubLayerHrdParametersNal ) && ( pSubLayerHrdParametersVcl == rhs.pSubLayerHrdParametersVcl );
  1144. }
  1145. bool operator!=( H265HrdParameters const & rhs ) const VULKAN_HPP_NOEXCEPT
  1146. {
  1147. return !operator==( rhs );
  1148. }
  1149. public:
  1150. VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H265HrdFlags flags = {};
  1151. uint8_t tick_divisor_minus2 = {};
  1152. uint8_t du_cpb_removal_delay_increment_length_minus1 = {};
  1153. uint8_t dpb_output_delay_du_length_minus1 = {};
  1154. uint8_t bit_rate_scale = {};
  1155. uint8_t cpb_size_scale = {};
  1156. uint8_t cpb_size_du_scale = {};
  1157. uint8_t initial_cpb_removal_delay_length_minus1 = {};
  1158. uint8_t au_cpb_removal_delay_length_minus1 = {};
  1159. uint8_t dpb_output_delay_length_minus1 = {};
  1160. VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint8_t, STD_VIDEO_H265_SUBLAYERS_LIST_SIZE> cpb_cnt_minus1 = {};
  1161. VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint16_t, STD_VIDEO_H265_SUBLAYERS_LIST_SIZE> elemental_duration_in_tc_minus1 = {};
  1162. VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint16_t, 3> reserved = {};
  1163. const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H265SubLayerHrdParameters * pSubLayerHrdParametersNal = {};
  1164. const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H265SubLayerHrdParameters * pSubLayerHrdParametersVcl = {};
  1165. };
  1166. struct H265VpsFlags
  1167. {
  1168. using NativeType = StdVideoH265VpsFlags;
  1169. operator StdVideoH265VpsFlags const &() const VULKAN_HPP_NOEXCEPT
  1170. {
  1171. return *reinterpret_cast<const StdVideoH265VpsFlags *>( this );
  1172. }
  1173. operator StdVideoH265VpsFlags &() VULKAN_HPP_NOEXCEPT
  1174. {
  1175. return *reinterpret_cast<StdVideoH265VpsFlags *>( this );
  1176. }
  1177. bool operator==( H265VpsFlags const & rhs ) const VULKAN_HPP_NOEXCEPT
  1178. {
  1179. return ( vps_temporal_id_nesting_flag == rhs.vps_temporal_id_nesting_flag ) &&
  1180. ( vps_sub_layer_ordering_info_present_flag == rhs.vps_sub_layer_ordering_info_present_flag ) &&
  1181. ( vps_timing_info_present_flag == rhs.vps_timing_info_present_flag ) &&
  1182. ( vps_poc_proportional_to_timing_flag == rhs.vps_poc_proportional_to_timing_flag );
  1183. }
  1184. bool operator!=( H265VpsFlags const & rhs ) const VULKAN_HPP_NOEXCEPT
  1185. {
  1186. return !operator==( rhs );
  1187. }
  1188. public:
  1189. uint32_t vps_temporal_id_nesting_flag : 1;
  1190. uint32_t vps_sub_layer_ordering_info_present_flag : 1;
  1191. uint32_t vps_timing_info_present_flag : 1;
  1192. uint32_t vps_poc_proportional_to_timing_flag : 1;
  1193. };
  1194. struct H265ProfileTierLevelFlags
  1195. {
  1196. using NativeType = StdVideoH265ProfileTierLevelFlags;
  1197. operator StdVideoH265ProfileTierLevelFlags const &() const VULKAN_HPP_NOEXCEPT
  1198. {
  1199. return *reinterpret_cast<const StdVideoH265ProfileTierLevelFlags *>( this );
  1200. }
  1201. operator StdVideoH265ProfileTierLevelFlags &() VULKAN_HPP_NOEXCEPT
  1202. {
  1203. return *reinterpret_cast<StdVideoH265ProfileTierLevelFlags *>( this );
  1204. }
  1205. bool operator==( H265ProfileTierLevelFlags const & rhs ) const VULKAN_HPP_NOEXCEPT
  1206. {
  1207. return ( general_tier_flag == rhs.general_tier_flag ) && ( general_progressive_source_flag == rhs.general_progressive_source_flag ) &&
  1208. ( general_interlaced_source_flag == rhs.general_interlaced_source_flag ) &&
  1209. ( general_non_packed_constraint_flag == rhs.general_non_packed_constraint_flag ) &&
  1210. ( general_frame_only_constraint_flag == rhs.general_frame_only_constraint_flag );
  1211. }
  1212. bool operator!=( H265ProfileTierLevelFlags const & rhs ) const VULKAN_HPP_NOEXCEPT
  1213. {
  1214. return !operator==( rhs );
  1215. }
  1216. public:
  1217. uint32_t general_tier_flag : 1;
  1218. uint32_t general_progressive_source_flag : 1;
  1219. uint32_t general_interlaced_source_flag : 1;
  1220. uint32_t general_non_packed_constraint_flag : 1;
  1221. uint32_t general_frame_only_constraint_flag : 1;
  1222. };
  1223. struct H265ProfileTierLevel
  1224. {
  1225. using NativeType = StdVideoH265ProfileTierLevel;
  1226. operator StdVideoH265ProfileTierLevel const &() const VULKAN_HPP_NOEXCEPT
  1227. {
  1228. return *reinterpret_cast<const StdVideoH265ProfileTierLevel *>( this );
  1229. }
  1230. operator StdVideoH265ProfileTierLevel &() VULKAN_HPP_NOEXCEPT
  1231. {
  1232. return *reinterpret_cast<StdVideoH265ProfileTierLevel *>( this );
  1233. }
  1234. bool operator==( H265ProfileTierLevel const & rhs ) const VULKAN_HPP_NOEXCEPT
  1235. {
  1236. return ( flags == rhs.flags ) && ( general_profile_idc == rhs.general_profile_idc ) && ( general_level_idc == rhs.general_level_idc );
  1237. }
  1238. bool operator!=( H265ProfileTierLevel const & rhs ) const VULKAN_HPP_NOEXCEPT
  1239. {
  1240. return !operator==( rhs );
  1241. }
  1242. public:
  1243. VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H265ProfileTierLevelFlags flags = {};
  1244. VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H265ProfileIdc general_profile_idc =
  1245. VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H265ProfileIdc::eMain;
  1246. VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H265LevelIdc general_level_idc = VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H265LevelIdc::e1_0;
  1247. };
  1248. struct H265VideoParameterSet
  1249. {
  1250. using NativeType = StdVideoH265VideoParameterSet;
  1251. operator StdVideoH265VideoParameterSet const &() const VULKAN_HPP_NOEXCEPT
  1252. {
  1253. return *reinterpret_cast<const StdVideoH265VideoParameterSet *>( this );
  1254. }
  1255. operator StdVideoH265VideoParameterSet &() VULKAN_HPP_NOEXCEPT
  1256. {
  1257. return *reinterpret_cast<StdVideoH265VideoParameterSet *>( this );
  1258. }
  1259. bool operator==( H265VideoParameterSet const & rhs ) const VULKAN_HPP_NOEXCEPT
  1260. {
  1261. return ( flags == rhs.flags ) && ( vps_video_parameter_set_id == rhs.vps_video_parameter_set_id ) &&
  1262. ( vps_max_sub_layers_minus1 == rhs.vps_max_sub_layers_minus1 ) && ( reserved1 == rhs.reserved1 ) && ( reserved2 == rhs.reserved2 ) &&
  1263. ( vps_num_units_in_tick == rhs.vps_num_units_in_tick ) && ( vps_time_scale == rhs.vps_time_scale ) &&
  1264. ( vps_num_ticks_poc_diff_one_minus1 == rhs.vps_num_ticks_poc_diff_one_minus1 ) && ( reserved3 == rhs.reserved3 ) &&
  1265. ( pDecPicBufMgr == rhs.pDecPicBufMgr ) && ( pHrdParameters == rhs.pHrdParameters ) && ( pProfileTierLevel == rhs.pProfileTierLevel );
  1266. }
  1267. bool operator!=( H265VideoParameterSet const & rhs ) const VULKAN_HPP_NOEXCEPT
  1268. {
  1269. return !operator==( rhs );
  1270. }
  1271. public:
  1272. VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H265VpsFlags flags = {};
  1273. uint8_t vps_video_parameter_set_id = {};
  1274. uint8_t vps_max_sub_layers_minus1 = {};
  1275. uint8_t reserved1 = {};
  1276. uint8_t reserved2 = {};
  1277. uint32_t vps_num_units_in_tick = {};
  1278. uint32_t vps_time_scale = {};
  1279. uint32_t vps_num_ticks_poc_diff_one_minus1 = {};
  1280. uint32_t reserved3 = {};
  1281. const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H265DecPicBufMgr * pDecPicBufMgr = {};
  1282. const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H265HrdParameters * pHrdParameters = {};
  1283. const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H265ProfileTierLevel * pProfileTierLevel = {};
  1284. };
  1285. struct H265ScalingLists
  1286. {
  1287. using NativeType = StdVideoH265ScalingLists;
  1288. operator StdVideoH265ScalingLists const &() const VULKAN_HPP_NOEXCEPT
  1289. {
  1290. return *reinterpret_cast<const StdVideoH265ScalingLists *>( this );
  1291. }
  1292. operator StdVideoH265ScalingLists &() VULKAN_HPP_NOEXCEPT
  1293. {
  1294. return *reinterpret_cast<StdVideoH265ScalingLists *>( this );
  1295. }
  1296. bool operator==( H265ScalingLists const & rhs ) const VULKAN_HPP_NOEXCEPT
  1297. {
  1298. return ( ScalingList4x4 == rhs.ScalingList4x4 ) && ( ScalingList8x8 == rhs.ScalingList8x8 ) && ( ScalingList16x16 == rhs.ScalingList16x16 ) &&
  1299. ( ScalingList32x32 == rhs.ScalingList32x32 ) && ( ScalingListDCCoef16x16 == rhs.ScalingListDCCoef16x16 ) &&
  1300. ( ScalingListDCCoef32x32 == rhs.ScalingListDCCoef32x32 );
  1301. }
  1302. bool operator!=( H265ScalingLists const & rhs ) const VULKAN_HPP_NOEXCEPT
  1303. {
  1304. return !operator==( rhs );
  1305. }
  1306. public:
  1307. VULKAN_HPP_NAMESPACE::ArrayWrapper2D<uint8_t, STD_VIDEO_H265_SCALING_LIST_4X4_NUM_LISTS, STD_VIDEO_H265_SCALING_LIST_4X4_NUM_ELEMENTS>
  1308. ScalingList4x4 = {};
  1309. VULKAN_HPP_NAMESPACE::ArrayWrapper2D<uint8_t, STD_VIDEO_H265_SCALING_LIST_8X8_NUM_LISTS, STD_VIDEO_H265_SCALING_LIST_8X8_NUM_ELEMENTS>
  1310. ScalingList8x8 = {};
  1311. VULKAN_HPP_NAMESPACE::ArrayWrapper2D<uint8_t, STD_VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS, STD_VIDEO_H265_SCALING_LIST_16X16_NUM_ELEMENTS>
  1312. ScalingList16x16 = {};
  1313. VULKAN_HPP_NAMESPACE::ArrayWrapper2D<uint8_t, STD_VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS, STD_VIDEO_H265_SCALING_LIST_32X32_NUM_ELEMENTS>
  1314. ScalingList32x32 = {};
  1315. VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint8_t, STD_VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS> ScalingListDCCoef16x16 = {};
  1316. VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint8_t, STD_VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS> ScalingListDCCoef32x32 = {};
  1317. };
  1318. struct H265SpsVuiFlags
  1319. {
  1320. using NativeType = StdVideoH265SpsVuiFlags;
  1321. operator StdVideoH265SpsVuiFlags const &() const VULKAN_HPP_NOEXCEPT
  1322. {
  1323. return *reinterpret_cast<const StdVideoH265SpsVuiFlags *>( this );
  1324. }
  1325. operator StdVideoH265SpsVuiFlags &() VULKAN_HPP_NOEXCEPT
  1326. {
  1327. return *reinterpret_cast<StdVideoH265SpsVuiFlags *>( this );
  1328. }
  1329. bool operator==( H265SpsVuiFlags const & rhs ) const VULKAN_HPP_NOEXCEPT
  1330. {
  1331. return ( aspect_ratio_info_present_flag == rhs.aspect_ratio_info_present_flag ) && ( overscan_info_present_flag == rhs.overscan_info_present_flag ) &&
  1332. ( overscan_appropriate_flag == rhs.overscan_appropriate_flag ) && ( video_signal_type_present_flag == rhs.video_signal_type_present_flag ) &&
  1333. ( video_full_range_flag == rhs.video_full_range_flag ) && ( colour_description_present_flag == rhs.colour_description_present_flag ) &&
  1334. ( chroma_loc_info_present_flag == rhs.chroma_loc_info_present_flag ) &&
  1335. ( neutral_chroma_indication_flag == rhs.neutral_chroma_indication_flag ) && ( field_seq_flag == rhs.field_seq_flag ) &&
  1336. ( frame_field_info_present_flag == rhs.frame_field_info_present_flag ) && ( default_display_window_flag == rhs.default_display_window_flag ) &&
  1337. ( vui_timing_info_present_flag == rhs.vui_timing_info_present_flag ) &&
  1338. ( vui_poc_proportional_to_timing_flag == rhs.vui_poc_proportional_to_timing_flag ) &&
  1339. ( vui_hrd_parameters_present_flag == rhs.vui_hrd_parameters_present_flag ) && ( bitstream_restriction_flag == rhs.bitstream_restriction_flag ) &&
  1340. ( tiles_fixed_structure_flag == rhs.tiles_fixed_structure_flag ) &&
  1341. ( motion_vectors_over_pic_boundaries_flag == rhs.motion_vectors_over_pic_boundaries_flag ) &&
  1342. ( restricted_ref_pic_lists_flag == rhs.restricted_ref_pic_lists_flag );
  1343. }
  1344. bool operator!=( H265SpsVuiFlags const & rhs ) const VULKAN_HPP_NOEXCEPT
  1345. {
  1346. return !operator==( rhs );
  1347. }
  1348. public:
  1349. uint32_t aspect_ratio_info_present_flag : 1;
  1350. uint32_t overscan_info_present_flag : 1;
  1351. uint32_t overscan_appropriate_flag : 1;
  1352. uint32_t video_signal_type_present_flag : 1;
  1353. uint32_t video_full_range_flag : 1;
  1354. uint32_t colour_description_present_flag : 1;
  1355. uint32_t chroma_loc_info_present_flag : 1;
  1356. uint32_t neutral_chroma_indication_flag : 1;
  1357. uint32_t field_seq_flag : 1;
  1358. uint32_t frame_field_info_present_flag : 1;
  1359. uint32_t default_display_window_flag : 1;
  1360. uint32_t vui_timing_info_present_flag : 1;
  1361. uint32_t vui_poc_proportional_to_timing_flag : 1;
  1362. uint32_t vui_hrd_parameters_present_flag : 1;
  1363. uint32_t bitstream_restriction_flag : 1;
  1364. uint32_t tiles_fixed_structure_flag : 1;
  1365. uint32_t motion_vectors_over_pic_boundaries_flag : 1;
  1366. uint32_t restricted_ref_pic_lists_flag : 1;
  1367. };
  1368. struct H265SequenceParameterSetVui
  1369. {
  1370. using NativeType = StdVideoH265SequenceParameterSetVui;
  1371. operator StdVideoH265SequenceParameterSetVui const &() const VULKAN_HPP_NOEXCEPT
  1372. {
  1373. return *reinterpret_cast<const StdVideoH265SequenceParameterSetVui *>( this );
  1374. }
  1375. operator StdVideoH265SequenceParameterSetVui &() VULKAN_HPP_NOEXCEPT
  1376. {
  1377. return *reinterpret_cast<StdVideoH265SequenceParameterSetVui *>( this );
  1378. }
  1379. bool operator==( H265SequenceParameterSetVui const & rhs ) const VULKAN_HPP_NOEXCEPT
  1380. {
  1381. return ( flags == rhs.flags ) && ( aspect_ratio_idc == rhs.aspect_ratio_idc ) && ( sar_width == rhs.sar_width ) && ( sar_height == rhs.sar_height ) &&
  1382. ( video_format == rhs.video_format ) && ( colour_primaries == rhs.colour_primaries ) &&
  1383. ( transfer_characteristics == rhs.transfer_characteristics ) && ( matrix_coeffs == rhs.matrix_coeffs ) &&
  1384. ( chroma_sample_loc_type_top_field == rhs.chroma_sample_loc_type_top_field ) &&
  1385. ( chroma_sample_loc_type_bottom_field == rhs.chroma_sample_loc_type_bottom_field ) && ( reserved1 == rhs.reserved1 ) &&
  1386. ( reserved2 == rhs.reserved2 ) && ( def_disp_win_left_offset == rhs.def_disp_win_left_offset ) &&
  1387. ( def_disp_win_right_offset == rhs.def_disp_win_right_offset ) && ( def_disp_win_top_offset == rhs.def_disp_win_top_offset ) &&
  1388. ( def_disp_win_bottom_offset == rhs.def_disp_win_bottom_offset ) && ( vui_num_units_in_tick == rhs.vui_num_units_in_tick ) &&
  1389. ( vui_time_scale == rhs.vui_time_scale ) && ( vui_num_ticks_poc_diff_one_minus1 == rhs.vui_num_ticks_poc_diff_one_minus1 ) &&
  1390. ( min_spatial_segmentation_idc == rhs.min_spatial_segmentation_idc ) && ( reserved3 == rhs.reserved3 ) &&
  1391. ( max_bytes_per_pic_denom == rhs.max_bytes_per_pic_denom ) && ( max_bits_per_min_cu_denom == rhs.max_bits_per_min_cu_denom ) &&
  1392. ( log2_max_mv_length_horizontal == rhs.log2_max_mv_length_horizontal ) && ( log2_max_mv_length_vertical == rhs.log2_max_mv_length_vertical ) &&
  1393. ( pHrdParameters == rhs.pHrdParameters );
  1394. }
  1395. bool operator!=( H265SequenceParameterSetVui const & rhs ) const VULKAN_HPP_NOEXCEPT
  1396. {
  1397. return !operator==( rhs );
  1398. }
  1399. public:
  1400. VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H265SpsVuiFlags flags = {};
  1401. VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H265AspectRatioIdc aspect_ratio_idc =
  1402. VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H265AspectRatioIdc::eUnspecified;
  1403. uint16_t sar_width = {};
  1404. uint16_t sar_height = {};
  1405. uint8_t video_format = {};
  1406. uint8_t colour_primaries = {};
  1407. uint8_t transfer_characteristics = {};
  1408. uint8_t matrix_coeffs = {};
  1409. uint8_t chroma_sample_loc_type_top_field = {};
  1410. uint8_t chroma_sample_loc_type_bottom_field = {};
  1411. uint8_t reserved1 = {};
  1412. uint8_t reserved2 = {};
  1413. uint16_t def_disp_win_left_offset = {};
  1414. uint16_t def_disp_win_right_offset = {};
  1415. uint16_t def_disp_win_top_offset = {};
  1416. uint16_t def_disp_win_bottom_offset = {};
  1417. uint32_t vui_num_units_in_tick = {};
  1418. uint32_t vui_time_scale = {};
  1419. uint32_t vui_num_ticks_poc_diff_one_minus1 = {};
  1420. uint16_t min_spatial_segmentation_idc = {};
  1421. uint16_t reserved3 = {};
  1422. uint8_t max_bytes_per_pic_denom = {};
  1423. uint8_t max_bits_per_min_cu_denom = {};
  1424. uint8_t log2_max_mv_length_horizontal = {};
  1425. uint8_t log2_max_mv_length_vertical = {};
  1426. const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H265HrdParameters * pHrdParameters = {};
  1427. };
  1428. struct H265PredictorPaletteEntries
  1429. {
  1430. using NativeType = StdVideoH265PredictorPaletteEntries;
  1431. operator StdVideoH265PredictorPaletteEntries const &() const VULKAN_HPP_NOEXCEPT
  1432. {
  1433. return *reinterpret_cast<const StdVideoH265PredictorPaletteEntries *>( this );
  1434. }
  1435. operator StdVideoH265PredictorPaletteEntries &() VULKAN_HPP_NOEXCEPT
  1436. {
  1437. return *reinterpret_cast<StdVideoH265PredictorPaletteEntries *>( this );
  1438. }
  1439. bool operator==( H265PredictorPaletteEntries const & rhs ) const VULKAN_HPP_NOEXCEPT
  1440. {
  1441. return ( PredictorPaletteEntries == rhs.PredictorPaletteEntries );
  1442. }
  1443. bool operator!=( H265PredictorPaletteEntries const & rhs ) const VULKAN_HPP_NOEXCEPT
  1444. {
  1445. return !operator==( rhs );
  1446. }
  1447. public:
  1448. VULKAN_HPP_NAMESPACE::
  1449. ArrayWrapper2D<uint16_t, STD_VIDEO_H265_PREDICTOR_PALETTE_COMPONENTS_LIST_SIZE, STD_VIDEO_H265_PREDICTOR_PALETTE_COMP_ENTRIES_LIST_SIZE>
  1450. PredictorPaletteEntries = {};
  1451. };
  1452. struct H265SpsFlags
  1453. {
  1454. using NativeType = StdVideoH265SpsFlags;
  1455. operator StdVideoH265SpsFlags const &() const VULKAN_HPP_NOEXCEPT
  1456. {
  1457. return *reinterpret_cast<const StdVideoH265SpsFlags *>( this );
  1458. }
  1459. operator StdVideoH265SpsFlags &() VULKAN_HPP_NOEXCEPT
  1460. {
  1461. return *reinterpret_cast<StdVideoH265SpsFlags *>( this );
  1462. }
  1463. bool operator==( H265SpsFlags const & rhs ) const VULKAN_HPP_NOEXCEPT
  1464. {
  1465. return ( sps_temporal_id_nesting_flag == rhs.sps_temporal_id_nesting_flag ) && ( separate_colour_plane_flag == rhs.separate_colour_plane_flag ) &&
  1466. ( conformance_window_flag == rhs.conformance_window_flag ) &&
  1467. ( sps_sub_layer_ordering_info_present_flag == rhs.sps_sub_layer_ordering_info_present_flag ) &&
  1468. ( scaling_list_enabled_flag == rhs.scaling_list_enabled_flag ) &&
  1469. ( sps_scaling_list_data_present_flag == rhs.sps_scaling_list_data_present_flag ) && ( amp_enabled_flag == rhs.amp_enabled_flag ) &&
  1470. ( sample_adaptive_offset_enabled_flag == rhs.sample_adaptive_offset_enabled_flag ) && ( pcm_enabled_flag == rhs.pcm_enabled_flag ) &&
  1471. ( pcm_loop_filter_disabled_flag == rhs.pcm_loop_filter_disabled_flag ) &&
  1472. ( long_term_ref_pics_present_flag == rhs.long_term_ref_pics_present_flag ) &&
  1473. ( sps_temporal_mvp_enabled_flag == rhs.sps_temporal_mvp_enabled_flag ) &&
  1474. ( strong_intra_smoothing_enabled_flag == rhs.strong_intra_smoothing_enabled_flag ) &&
  1475. ( vui_parameters_present_flag == rhs.vui_parameters_present_flag ) && ( sps_extension_present_flag == rhs.sps_extension_present_flag ) &&
  1476. ( sps_range_extension_flag == rhs.sps_range_extension_flag ) &&
  1477. ( transform_skip_rotation_enabled_flag == rhs.transform_skip_rotation_enabled_flag ) &&
  1478. ( transform_skip_context_enabled_flag == rhs.transform_skip_context_enabled_flag ) &&
  1479. ( implicit_rdpcm_enabled_flag == rhs.implicit_rdpcm_enabled_flag ) && ( explicit_rdpcm_enabled_flag == rhs.explicit_rdpcm_enabled_flag ) &&
  1480. ( extended_precision_processing_flag == rhs.extended_precision_processing_flag ) &&
  1481. ( intra_smoothing_disabled_flag == rhs.intra_smoothing_disabled_flag ) &&
  1482. ( high_precision_offsets_enabled_flag == rhs.high_precision_offsets_enabled_flag ) &&
  1483. ( persistent_rice_adaptation_enabled_flag == rhs.persistent_rice_adaptation_enabled_flag ) &&
  1484. ( cabac_bypass_alignment_enabled_flag == rhs.cabac_bypass_alignment_enabled_flag ) && ( sps_scc_extension_flag == rhs.sps_scc_extension_flag ) &&
  1485. ( sps_curr_pic_ref_enabled_flag == rhs.sps_curr_pic_ref_enabled_flag ) && ( palette_mode_enabled_flag == rhs.palette_mode_enabled_flag ) &&
  1486. ( sps_palette_predictor_initializers_present_flag == rhs.sps_palette_predictor_initializers_present_flag ) &&
  1487. ( intra_boundary_filtering_disabled_flag == rhs.intra_boundary_filtering_disabled_flag );
  1488. }
  1489. bool operator!=( H265SpsFlags const & rhs ) const VULKAN_HPP_NOEXCEPT
  1490. {
  1491. return !operator==( rhs );
  1492. }
  1493. public:
  1494. uint32_t sps_temporal_id_nesting_flag : 1;
  1495. uint32_t separate_colour_plane_flag : 1;
  1496. uint32_t conformance_window_flag : 1;
  1497. uint32_t sps_sub_layer_ordering_info_present_flag : 1;
  1498. uint32_t scaling_list_enabled_flag : 1;
  1499. uint32_t sps_scaling_list_data_present_flag : 1;
  1500. uint32_t amp_enabled_flag : 1;
  1501. uint32_t sample_adaptive_offset_enabled_flag : 1;
  1502. uint32_t pcm_enabled_flag : 1;
  1503. uint32_t pcm_loop_filter_disabled_flag : 1;
  1504. uint32_t long_term_ref_pics_present_flag : 1;
  1505. uint32_t sps_temporal_mvp_enabled_flag : 1;
  1506. uint32_t strong_intra_smoothing_enabled_flag : 1;
  1507. uint32_t vui_parameters_present_flag : 1;
  1508. uint32_t sps_extension_present_flag : 1;
  1509. uint32_t sps_range_extension_flag : 1;
  1510. uint32_t transform_skip_rotation_enabled_flag : 1;
  1511. uint32_t transform_skip_context_enabled_flag : 1;
  1512. uint32_t implicit_rdpcm_enabled_flag : 1;
  1513. uint32_t explicit_rdpcm_enabled_flag : 1;
  1514. uint32_t extended_precision_processing_flag : 1;
  1515. uint32_t intra_smoothing_disabled_flag : 1;
  1516. uint32_t high_precision_offsets_enabled_flag : 1;
  1517. uint32_t persistent_rice_adaptation_enabled_flag : 1;
  1518. uint32_t cabac_bypass_alignment_enabled_flag : 1;
  1519. uint32_t sps_scc_extension_flag : 1;
  1520. uint32_t sps_curr_pic_ref_enabled_flag : 1;
  1521. uint32_t palette_mode_enabled_flag : 1;
  1522. uint32_t sps_palette_predictor_initializers_present_flag : 1;
  1523. uint32_t intra_boundary_filtering_disabled_flag : 1;
  1524. };
  1525. struct H265ShortTermRefPicSetFlags
  1526. {
  1527. using NativeType = StdVideoH265ShortTermRefPicSetFlags;
  1528. operator StdVideoH265ShortTermRefPicSetFlags const &() const VULKAN_HPP_NOEXCEPT
  1529. {
  1530. return *reinterpret_cast<const StdVideoH265ShortTermRefPicSetFlags *>( this );
  1531. }
  1532. operator StdVideoH265ShortTermRefPicSetFlags &() VULKAN_HPP_NOEXCEPT
  1533. {
  1534. return *reinterpret_cast<StdVideoH265ShortTermRefPicSetFlags *>( this );
  1535. }
  1536. bool operator==( H265ShortTermRefPicSetFlags const & rhs ) const VULKAN_HPP_NOEXCEPT
  1537. {
  1538. return ( inter_ref_pic_set_prediction_flag == rhs.inter_ref_pic_set_prediction_flag ) && ( delta_rps_sign == rhs.delta_rps_sign );
  1539. }
  1540. bool operator!=( H265ShortTermRefPicSetFlags const & rhs ) const VULKAN_HPP_NOEXCEPT
  1541. {
  1542. return !operator==( rhs );
  1543. }
  1544. public:
  1545. uint32_t inter_ref_pic_set_prediction_flag : 1;
  1546. uint32_t delta_rps_sign : 1;
  1547. };
  1548. struct H265ShortTermRefPicSet
  1549. {
  1550. using NativeType = StdVideoH265ShortTermRefPicSet;
  1551. operator StdVideoH265ShortTermRefPicSet const &() const VULKAN_HPP_NOEXCEPT
  1552. {
  1553. return *reinterpret_cast<const StdVideoH265ShortTermRefPicSet *>( this );
  1554. }
  1555. operator StdVideoH265ShortTermRefPicSet &() VULKAN_HPP_NOEXCEPT
  1556. {
  1557. return *reinterpret_cast<StdVideoH265ShortTermRefPicSet *>( this );
  1558. }
  1559. bool operator==( H265ShortTermRefPicSet const & rhs ) const VULKAN_HPP_NOEXCEPT
  1560. {
  1561. return ( flags == rhs.flags ) && ( delta_idx_minus1 == rhs.delta_idx_minus1 ) && ( use_delta_flag == rhs.use_delta_flag ) &&
  1562. ( abs_delta_rps_minus1 == rhs.abs_delta_rps_minus1 ) && ( used_by_curr_pic_flag == rhs.used_by_curr_pic_flag ) &&
  1563. ( used_by_curr_pic_s0_flag == rhs.used_by_curr_pic_s0_flag ) && ( used_by_curr_pic_s1_flag == rhs.used_by_curr_pic_s1_flag ) &&
  1564. ( reserved1 == rhs.reserved1 ) && ( reserved2 == rhs.reserved2 ) && ( reserved3 == rhs.reserved3 ) &&
  1565. ( num_negative_pics == rhs.num_negative_pics ) && ( num_positive_pics == rhs.num_positive_pics ) &&
  1566. ( delta_poc_s0_minus1 == rhs.delta_poc_s0_minus1 ) && ( delta_poc_s1_minus1 == rhs.delta_poc_s1_minus1 );
  1567. }
  1568. bool operator!=( H265ShortTermRefPicSet const & rhs ) const VULKAN_HPP_NOEXCEPT
  1569. {
  1570. return !operator==( rhs );
  1571. }
  1572. public:
  1573. VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H265ShortTermRefPicSetFlags flags = {};
  1574. uint32_t delta_idx_minus1 = {};
  1575. uint16_t use_delta_flag = {};
  1576. uint16_t abs_delta_rps_minus1 = {};
  1577. uint16_t used_by_curr_pic_flag = {};
  1578. uint16_t used_by_curr_pic_s0_flag = {};
  1579. uint16_t used_by_curr_pic_s1_flag = {};
  1580. uint16_t reserved1 = {};
  1581. uint8_t reserved2 = {};
  1582. uint8_t reserved3 = {};
  1583. uint8_t num_negative_pics = {};
  1584. uint8_t num_positive_pics = {};
  1585. VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint16_t, STD_VIDEO_H265_MAX_DPB_SIZE> delta_poc_s0_minus1 = {};
  1586. VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint16_t, STD_VIDEO_H265_MAX_DPB_SIZE> delta_poc_s1_minus1 = {};
  1587. };
  1588. struct H265LongTermRefPicsSps
  1589. {
  1590. using NativeType = StdVideoH265LongTermRefPicsSps;
  1591. operator StdVideoH265LongTermRefPicsSps const &() const VULKAN_HPP_NOEXCEPT
  1592. {
  1593. return *reinterpret_cast<const StdVideoH265LongTermRefPicsSps *>( this );
  1594. }
  1595. operator StdVideoH265LongTermRefPicsSps &() VULKAN_HPP_NOEXCEPT
  1596. {
  1597. return *reinterpret_cast<StdVideoH265LongTermRefPicsSps *>( this );
  1598. }
  1599. bool operator==( H265LongTermRefPicsSps const & rhs ) const VULKAN_HPP_NOEXCEPT
  1600. {
  1601. return ( used_by_curr_pic_lt_sps_flag == rhs.used_by_curr_pic_lt_sps_flag ) && ( lt_ref_pic_poc_lsb_sps == rhs.lt_ref_pic_poc_lsb_sps );
  1602. }
  1603. bool operator!=( H265LongTermRefPicsSps const & rhs ) const VULKAN_HPP_NOEXCEPT
  1604. {
  1605. return !operator==( rhs );
  1606. }
  1607. public:
  1608. uint32_t used_by_curr_pic_lt_sps_flag = {};
  1609. VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint32_t, STD_VIDEO_H265_MAX_LONG_TERM_REF_PICS_SPS> lt_ref_pic_poc_lsb_sps = {};
  1610. };
  1611. struct H265SequenceParameterSet
  1612. {
  1613. using NativeType = StdVideoH265SequenceParameterSet;
  1614. operator StdVideoH265SequenceParameterSet const &() const VULKAN_HPP_NOEXCEPT
  1615. {
  1616. return *reinterpret_cast<const StdVideoH265SequenceParameterSet *>( this );
  1617. }
  1618. operator StdVideoH265SequenceParameterSet &() VULKAN_HPP_NOEXCEPT
  1619. {
  1620. return *reinterpret_cast<StdVideoH265SequenceParameterSet *>( this );
  1621. }
  1622. bool operator==( H265SequenceParameterSet const & rhs ) const VULKAN_HPP_NOEXCEPT
  1623. {
  1624. return ( flags == rhs.flags ) && ( chroma_format_idc == rhs.chroma_format_idc ) && ( pic_width_in_luma_samples == rhs.pic_width_in_luma_samples ) &&
  1625. ( pic_height_in_luma_samples == rhs.pic_height_in_luma_samples ) && ( sps_video_parameter_set_id == rhs.sps_video_parameter_set_id ) &&
  1626. ( sps_max_sub_layers_minus1 == rhs.sps_max_sub_layers_minus1 ) && ( sps_seq_parameter_set_id == rhs.sps_seq_parameter_set_id ) &&
  1627. ( bit_depth_luma_minus8 == rhs.bit_depth_luma_minus8 ) && ( bit_depth_chroma_minus8 == rhs.bit_depth_chroma_minus8 ) &&
  1628. ( log2_max_pic_order_cnt_lsb_minus4 == rhs.log2_max_pic_order_cnt_lsb_minus4 ) &&
  1629. ( log2_min_luma_coding_block_size_minus3 == rhs.log2_min_luma_coding_block_size_minus3 ) &&
  1630. ( log2_diff_max_min_luma_coding_block_size == rhs.log2_diff_max_min_luma_coding_block_size ) &&
  1631. ( log2_min_luma_transform_block_size_minus2 == rhs.log2_min_luma_transform_block_size_minus2 ) &&
  1632. ( log2_diff_max_min_luma_transform_block_size == rhs.log2_diff_max_min_luma_transform_block_size ) &&
  1633. ( max_transform_hierarchy_depth_inter == rhs.max_transform_hierarchy_depth_inter ) &&
  1634. ( max_transform_hierarchy_depth_intra == rhs.max_transform_hierarchy_depth_intra ) &&
  1635. ( num_short_term_ref_pic_sets == rhs.num_short_term_ref_pic_sets ) && ( num_long_term_ref_pics_sps == rhs.num_long_term_ref_pics_sps ) &&
  1636. ( pcm_sample_bit_depth_luma_minus1 == rhs.pcm_sample_bit_depth_luma_minus1 ) &&
  1637. ( pcm_sample_bit_depth_chroma_minus1 == rhs.pcm_sample_bit_depth_chroma_minus1 ) &&
  1638. ( log2_min_pcm_luma_coding_block_size_minus3 == rhs.log2_min_pcm_luma_coding_block_size_minus3 ) &&
  1639. ( log2_diff_max_min_pcm_luma_coding_block_size == rhs.log2_diff_max_min_pcm_luma_coding_block_size ) && ( reserved1 == rhs.reserved1 ) &&
  1640. ( reserved2 == rhs.reserved2 ) && ( palette_max_size == rhs.palette_max_size ) &&
  1641. ( delta_palette_max_predictor_size == rhs.delta_palette_max_predictor_size ) &&
  1642. ( motion_vector_resolution_control_idc == rhs.motion_vector_resolution_control_idc ) &&
  1643. ( sps_num_palette_predictor_initializers_minus1 == rhs.sps_num_palette_predictor_initializers_minus1 ) &&
  1644. ( conf_win_left_offset == rhs.conf_win_left_offset ) && ( conf_win_right_offset == rhs.conf_win_right_offset ) &&
  1645. ( conf_win_top_offset == rhs.conf_win_top_offset ) && ( conf_win_bottom_offset == rhs.conf_win_bottom_offset ) &&
  1646. ( pProfileTierLevel == rhs.pProfileTierLevel ) && ( pDecPicBufMgr == rhs.pDecPicBufMgr ) && ( pScalingLists == rhs.pScalingLists ) &&
  1647. ( pShortTermRefPicSet == rhs.pShortTermRefPicSet ) && ( pLongTermRefPicsSps == rhs.pLongTermRefPicsSps ) &&
  1648. ( pSequenceParameterSetVui == rhs.pSequenceParameterSetVui ) && ( pPredictorPaletteEntries == rhs.pPredictorPaletteEntries );
  1649. }
  1650. bool operator!=( H265SequenceParameterSet const & rhs ) const VULKAN_HPP_NOEXCEPT
  1651. {
  1652. return !operator==( rhs );
  1653. }
  1654. public:
  1655. VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H265SpsFlags flags = {};
  1656. VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H265ChromaFormatIdc chroma_format_idc =
  1657. VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H265ChromaFormatIdc::eMonochrome;
  1658. uint32_t pic_width_in_luma_samples = {};
  1659. uint32_t pic_height_in_luma_samples = {};
  1660. uint8_t sps_video_parameter_set_id = {};
  1661. uint8_t sps_max_sub_layers_minus1 = {};
  1662. uint8_t sps_seq_parameter_set_id = {};
  1663. uint8_t bit_depth_luma_minus8 = {};
  1664. uint8_t bit_depth_chroma_minus8 = {};
  1665. uint8_t log2_max_pic_order_cnt_lsb_minus4 = {};
  1666. uint8_t log2_min_luma_coding_block_size_minus3 = {};
  1667. uint8_t log2_diff_max_min_luma_coding_block_size = {};
  1668. uint8_t log2_min_luma_transform_block_size_minus2 = {};
  1669. uint8_t log2_diff_max_min_luma_transform_block_size = {};
  1670. uint8_t max_transform_hierarchy_depth_inter = {};
  1671. uint8_t max_transform_hierarchy_depth_intra = {};
  1672. uint8_t num_short_term_ref_pic_sets = {};
  1673. uint8_t num_long_term_ref_pics_sps = {};
  1674. uint8_t pcm_sample_bit_depth_luma_minus1 = {};
  1675. uint8_t pcm_sample_bit_depth_chroma_minus1 = {};
  1676. uint8_t log2_min_pcm_luma_coding_block_size_minus3 = {};
  1677. uint8_t log2_diff_max_min_pcm_luma_coding_block_size = {};
  1678. uint8_t reserved1 = {};
  1679. uint8_t reserved2 = {};
  1680. uint8_t palette_max_size = {};
  1681. uint8_t delta_palette_max_predictor_size = {};
  1682. uint8_t motion_vector_resolution_control_idc = {};
  1683. uint8_t sps_num_palette_predictor_initializers_minus1 = {};
  1684. uint32_t conf_win_left_offset = {};
  1685. uint32_t conf_win_right_offset = {};
  1686. uint32_t conf_win_top_offset = {};
  1687. uint32_t conf_win_bottom_offset = {};
  1688. const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H265ProfileTierLevel * pProfileTierLevel = {};
  1689. const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H265DecPicBufMgr * pDecPicBufMgr = {};
  1690. const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H265ScalingLists * pScalingLists = {};
  1691. const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H265ShortTermRefPicSet * pShortTermRefPicSet = {};
  1692. const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H265LongTermRefPicsSps * pLongTermRefPicsSps = {};
  1693. const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H265SequenceParameterSetVui * pSequenceParameterSetVui = {};
  1694. const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H265PredictorPaletteEntries * pPredictorPaletteEntries = {};
  1695. };
  1696. struct H265PpsFlags
  1697. {
  1698. using NativeType = StdVideoH265PpsFlags;
  1699. operator StdVideoH265PpsFlags const &() const VULKAN_HPP_NOEXCEPT
  1700. {
  1701. return *reinterpret_cast<const StdVideoH265PpsFlags *>( this );
  1702. }
  1703. operator StdVideoH265PpsFlags &() VULKAN_HPP_NOEXCEPT
  1704. {
  1705. return *reinterpret_cast<StdVideoH265PpsFlags *>( this );
  1706. }
  1707. bool operator==( H265PpsFlags const & rhs ) const VULKAN_HPP_NOEXCEPT
  1708. {
  1709. return ( dependent_slice_segments_enabled_flag == rhs.dependent_slice_segments_enabled_flag ) &&
  1710. ( output_flag_present_flag == rhs.output_flag_present_flag ) && ( sign_data_hiding_enabled_flag == rhs.sign_data_hiding_enabled_flag ) &&
  1711. ( cabac_init_present_flag == rhs.cabac_init_present_flag ) && ( constrained_intra_pred_flag == rhs.constrained_intra_pred_flag ) &&
  1712. ( transform_skip_enabled_flag == rhs.transform_skip_enabled_flag ) && ( cu_qp_delta_enabled_flag == rhs.cu_qp_delta_enabled_flag ) &&
  1713. ( pps_slice_chroma_qp_offsets_present_flag == rhs.pps_slice_chroma_qp_offsets_present_flag ) &&
  1714. ( weighted_pred_flag == rhs.weighted_pred_flag ) && ( weighted_bipred_flag == rhs.weighted_bipred_flag ) &&
  1715. ( transquant_bypass_enabled_flag == rhs.transquant_bypass_enabled_flag ) && ( tiles_enabled_flag == rhs.tiles_enabled_flag ) &&
  1716. ( entropy_coding_sync_enabled_flag == rhs.entropy_coding_sync_enabled_flag ) && ( uniform_spacing_flag == rhs.uniform_spacing_flag ) &&
  1717. ( loop_filter_across_tiles_enabled_flag == rhs.loop_filter_across_tiles_enabled_flag ) &&
  1718. ( pps_loop_filter_across_slices_enabled_flag == rhs.pps_loop_filter_across_slices_enabled_flag ) &&
  1719. ( deblocking_filter_control_present_flag == rhs.deblocking_filter_control_present_flag ) &&
  1720. ( deblocking_filter_override_enabled_flag == rhs.deblocking_filter_override_enabled_flag ) &&
  1721. ( pps_deblocking_filter_disabled_flag == rhs.pps_deblocking_filter_disabled_flag ) &&
  1722. ( pps_scaling_list_data_present_flag == rhs.pps_scaling_list_data_present_flag ) &&
  1723. ( lists_modification_present_flag == rhs.lists_modification_present_flag ) &&
  1724. ( slice_segment_header_extension_present_flag == rhs.slice_segment_header_extension_present_flag ) &&
  1725. ( pps_extension_present_flag == rhs.pps_extension_present_flag ) &&
  1726. ( cross_component_prediction_enabled_flag == rhs.cross_component_prediction_enabled_flag ) &&
  1727. ( chroma_qp_offset_list_enabled_flag == rhs.chroma_qp_offset_list_enabled_flag ) &&
  1728. ( pps_curr_pic_ref_enabled_flag == rhs.pps_curr_pic_ref_enabled_flag ) &&
  1729. ( residual_adaptive_colour_transform_enabled_flag == rhs.residual_adaptive_colour_transform_enabled_flag ) &&
  1730. ( pps_slice_act_qp_offsets_present_flag == rhs.pps_slice_act_qp_offsets_present_flag ) &&
  1731. ( pps_palette_predictor_initializers_present_flag == rhs.pps_palette_predictor_initializers_present_flag ) &&
  1732. ( monochrome_palette_flag == rhs.monochrome_palette_flag ) && ( pps_range_extension_flag == rhs.pps_range_extension_flag );
  1733. }
  1734. bool operator!=( H265PpsFlags const & rhs ) const VULKAN_HPP_NOEXCEPT
  1735. {
  1736. return !operator==( rhs );
  1737. }
  1738. public:
  1739. uint32_t dependent_slice_segments_enabled_flag : 1;
  1740. uint32_t output_flag_present_flag : 1;
  1741. uint32_t sign_data_hiding_enabled_flag : 1;
  1742. uint32_t cabac_init_present_flag : 1;
  1743. uint32_t constrained_intra_pred_flag : 1;
  1744. uint32_t transform_skip_enabled_flag : 1;
  1745. uint32_t cu_qp_delta_enabled_flag : 1;
  1746. uint32_t pps_slice_chroma_qp_offsets_present_flag : 1;
  1747. uint32_t weighted_pred_flag : 1;
  1748. uint32_t weighted_bipred_flag : 1;
  1749. uint32_t transquant_bypass_enabled_flag : 1;
  1750. uint32_t tiles_enabled_flag : 1;
  1751. uint32_t entropy_coding_sync_enabled_flag : 1;
  1752. uint32_t uniform_spacing_flag : 1;
  1753. uint32_t loop_filter_across_tiles_enabled_flag : 1;
  1754. uint32_t pps_loop_filter_across_slices_enabled_flag : 1;
  1755. uint32_t deblocking_filter_control_present_flag : 1;
  1756. uint32_t deblocking_filter_override_enabled_flag : 1;
  1757. uint32_t pps_deblocking_filter_disabled_flag : 1;
  1758. uint32_t pps_scaling_list_data_present_flag : 1;
  1759. uint32_t lists_modification_present_flag : 1;
  1760. uint32_t slice_segment_header_extension_present_flag : 1;
  1761. uint32_t pps_extension_present_flag : 1;
  1762. uint32_t cross_component_prediction_enabled_flag : 1;
  1763. uint32_t chroma_qp_offset_list_enabled_flag : 1;
  1764. uint32_t pps_curr_pic_ref_enabled_flag : 1;
  1765. uint32_t residual_adaptive_colour_transform_enabled_flag : 1;
  1766. uint32_t pps_slice_act_qp_offsets_present_flag : 1;
  1767. uint32_t pps_palette_predictor_initializers_present_flag : 1;
  1768. uint32_t monochrome_palette_flag : 1;
  1769. uint32_t pps_range_extension_flag : 1;
  1770. };
  1771. struct H265PictureParameterSet
  1772. {
  1773. using NativeType = StdVideoH265PictureParameterSet;
  1774. operator StdVideoH265PictureParameterSet const &() const VULKAN_HPP_NOEXCEPT
  1775. {
  1776. return *reinterpret_cast<const StdVideoH265PictureParameterSet *>( this );
  1777. }
  1778. operator StdVideoH265PictureParameterSet &() VULKAN_HPP_NOEXCEPT
  1779. {
  1780. return *reinterpret_cast<StdVideoH265PictureParameterSet *>( this );
  1781. }
  1782. bool operator==( H265PictureParameterSet const & rhs ) const VULKAN_HPP_NOEXCEPT
  1783. {
  1784. return ( flags == rhs.flags ) && ( pps_pic_parameter_set_id == rhs.pps_pic_parameter_set_id ) &&
  1785. ( pps_seq_parameter_set_id == rhs.pps_seq_parameter_set_id ) && ( sps_video_parameter_set_id == rhs.sps_video_parameter_set_id ) &&
  1786. ( num_extra_slice_header_bits == rhs.num_extra_slice_header_bits ) &&
  1787. ( num_ref_idx_l0_default_active_minus1 == rhs.num_ref_idx_l0_default_active_minus1 ) &&
  1788. ( num_ref_idx_l1_default_active_minus1 == rhs.num_ref_idx_l1_default_active_minus1 ) && ( init_qp_minus26 == rhs.init_qp_minus26 ) &&
  1789. ( diff_cu_qp_delta_depth == rhs.diff_cu_qp_delta_depth ) && ( pps_cb_qp_offset == rhs.pps_cb_qp_offset ) &&
  1790. ( pps_cr_qp_offset == rhs.pps_cr_qp_offset ) && ( pps_beta_offset_div2 == rhs.pps_beta_offset_div2 ) &&
  1791. ( pps_tc_offset_div2 == rhs.pps_tc_offset_div2 ) && ( log2_parallel_merge_level_minus2 == rhs.log2_parallel_merge_level_minus2 ) &&
  1792. ( log2_max_transform_skip_block_size_minus2 == rhs.log2_max_transform_skip_block_size_minus2 ) &&
  1793. ( diff_cu_chroma_qp_offset_depth == rhs.diff_cu_chroma_qp_offset_depth ) &&
  1794. ( chroma_qp_offset_list_len_minus1 == rhs.chroma_qp_offset_list_len_minus1 ) && ( cb_qp_offset_list == rhs.cb_qp_offset_list ) &&
  1795. ( cr_qp_offset_list == rhs.cr_qp_offset_list ) && ( log2_sao_offset_scale_luma == rhs.log2_sao_offset_scale_luma ) &&
  1796. ( log2_sao_offset_scale_chroma == rhs.log2_sao_offset_scale_chroma ) && ( pps_act_y_qp_offset_plus5 == rhs.pps_act_y_qp_offset_plus5 ) &&
  1797. ( pps_act_cb_qp_offset_plus5 == rhs.pps_act_cb_qp_offset_plus5 ) && ( pps_act_cr_qp_offset_plus3 == rhs.pps_act_cr_qp_offset_plus3 ) &&
  1798. ( pps_num_palette_predictor_initializers == rhs.pps_num_palette_predictor_initializers ) &&
  1799. ( luma_bit_depth_entry_minus8 == rhs.luma_bit_depth_entry_minus8 ) && ( chroma_bit_depth_entry_minus8 == rhs.chroma_bit_depth_entry_minus8 ) &&
  1800. ( num_tile_columns_minus1 == rhs.num_tile_columns_minus1 ) && ( num_tile_rows_minus1 == rhs.num_tile_rows_minus1 ) &&
  1801. ( reserved1 == rhs.reserved1 ) && ( reserved2 == rhs.reserved2 ) && ( column_width_minus1 == rhs.column_width_minus1 ) &&
  1802. ( row_height_minus1 == rhs.row_height_minus1 ) && ( reserved3 == rhs.reserved3 ) && ( pScalingLists == rhs.pScalingLists ) &&
  1803. ( pPredictorPaletteEntries == rhs.pPredictorPaletteEntries );
  1804. }
  1805. bool operator!=( H265PictureParameterSet const & rhs ) const VULKAN_HPP_NOEXCEPT
  1806. {
  1807. return !operator==( rhs );
  1808. }
  1809. public:
  1810. VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H265PpsFlags flags = {};
  1811. uint8_t pps_pic_parameter_set_id = {};
  1812. uint8_t pps_seq_parameter_set_id = {};
  1813. uint8_t sps_video_parameter_set_id = {};
  1814. uint8_t num_extra_slice_header_bits = {};
  1815. uint8_t num_ref_idx_l0_default_active_minus1 = {};
  1816. uint8_t num_ref_idx_l1_default_active_minus1 = {};
  1817. int8_t init_qp_minus26 = {};
  1818. uint8_t diff_cu_qp_delta_depth = {};
  1819. int8_t pps_cb_qp_offset = {};
  1820. int8_t pps_cr_qp_offset = {};
  1821. int8_t pps_beta_offset_div2 = {};
  1822. int8_t pps_tc_offset_div2 = {};
  1823. uint8_t log2_parallel_merge_level_minus2 = {};
  1824. uint8_t log2_max_transform_skip_block_size_minus2 = {};
  1825. uint8_t diff_cu_chroma_qp_offset_depth = {};
  1826. uint8_t chroma_qp_offset_list_len_minus1 = {};
  1827. VULKAN_HPP_NAMESPACE::ArrayWrapper1D<int8_t, STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE> cb_qp_offset_list = {};
  1828. VULKAN_HPP_NAMESPACE::ArrayWrapper1D<int8_t, STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE> cr_qp_offset_list = {};
  1829. uint8_t log2_sao_offset_scale_luma = {};
  1830. uint8_t log2_sao_offset_scale_chroma = {};
  1831. int8_t pps_act_y_qp_offset_plus5 = {};
  1832. int8_t pps_act_cb_qp_offset_plus5 = {};
  1833. int8_t pps_act_cr_qp_offset_plus3 = {};
  1834. uint8_t pps_num_palette_predictor_initializers = {};
  1835. uint8_t luma_bit_depth_entry_minus8 = {};
  1836. uint8_t chroma_bit_depth_entry_minus8 = {};
  1837. uint8_t num_tile_columns_minus1 = {};
  1838. uint8_t num_tile_rows_minus1 = {};
  1839. uint8_t reserved1 = {};
  1840. uint8_t reserved2 = {};
  1841. VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint16_t, STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE> column_width_minus1 = {};
  1842. VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint16_t, STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE> row_height_minus1 = {};
  1843. uint32_t reserved3 = {};
  1844. const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H265ScalingLists * pScalingLists = {};
  1845. const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H265PredictorPaletteEntries * pPredictorPaletteEntries = {};
  1846. };
  1847. //=== vulkan_video_codec_h265std_decode ===
  1848. struct DecodeH265PictureInfoFlags
  1849. {
  1850. using NativeType = StdVideoDecodeH265PictureInfoFlags;
  1851. operator StdVideoDecodeH265PictureInfoFlags const &() const VULKAN_HPP_NOEXCEPT
  1852. {
  1853. return *reinterpret_cast<const StdVideoDecodeH265PictureInfoFlags *>( this );
  1854. }
  1855. operator StdVideoDecodeH265PictureInfoFlags &() VULKAN_HPP_NOEXCEPT
  1856. {
  1857. return *reinterpret_cast<StdVideoDecodeH265PictureInfoFlags *>( this );
  1858. }
  1859. bool operator==( DecodeH265PictureInfoFlags const & rhs ) const VULKAN_HPP_NOEXCEPT
  1860. {
  1861. return ( IrapPicFlag == rhs.IrapPicFlag ) && ( IdrPicFlag == rhs.IdrPicFlag ) && ( IsReference == rhs.IsReference ) &&
  1862. ( short_term_ref_pic_set_sps_flag == rhs.short_term_ref_pic_set_sps_flag );
  1863. }
  1864. bool operator!=( DecodeH265PictureInfoFlags const & rhs ) const VULKAN_HPP_NOEXCEPT
  1865. {
  1866. return !operator==( rhs );
  1867. }
  1868. public:
  1869. uint32_t IrapPicFlag : 1;
  1870. uint32_t IdrPicFlag : 1;
  1871. uint32_t IsReference : 1;
  1872. uint32_t short_term_ref_pic_set_sps_flag : 1;
  1873. };
  1874. struct DecodeH265PictureInfo
  1875. {
  1876. using NativeType = StdVideoDecodeH265PictureInfo;
  1877. operator StdVideoDecodeH265PictureInfo const &() const VULKAN_HPP_NOEXCEPT
  1878. {
  1879. return *reinterpret_cast<const StdVideoDecodeH265PictureInfo *>( this );
  1880. }
  1881. operator StdVideoDecodeH265PictureInfo &() VULKAN_HPP_NOEXCEPT
  1882. {
  1883. return *reinterpret_cast<StdVideoDecodeH265PictureInfo *>( this );
  1884. }
  1885. bool operator==( DecodeH265PictureInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
  1886. {
  1887. return ( flags == rhs.flags ) && ( sps_video_parameter_set_id == rhs.sps_video_parameter_set_id ) &&
  1888. ( pps_seq_parameter_set_id == rhs.pps_seq_parameter_set_id ) && ( pps_pic_parameter_set_id == rhs.pps_pic_parameter_set_id ) &&
  1889. ( NumDeltaPocsOfRefRpsIdx == rhs.NumDeltaPocsOfRefRpsIdx ) && ( PicOrderCntVal == rhs.PicOrderCntVal ) &&
  1890. ( NumBitsForSTRefPicSetInSlice == rhs.NumBitsForSTRefPicSetInSlice ) && ( reserved == rhs.reserved ) &&
  1891. ( RefPicSetStCurrBefore == rhs.RefPicSetStCurrBefore ) && ( RefPicSetStCurrAfter == rhs.RefPicSetStCurrAfter ) &&
  1892. ( RefPicSetLtCurr == rhs.RefPicSetLtCurr );
  1893. }
  1894. bool operator!=( DecodeH265PictureInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
  1895. {
  1896. return !operator==( rhs );
  1897. }
  1898. public:
  1899. VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::DecodeH265PictureInfoFlags flags = {};
  1900. uint8_t sps_video_parameter_set_id = {};
  1901. uint8_t pps_seq_parameter_set_id = {};
  1902. uint8_t pps_pic_parameter_set_id = {};
  1903. uint8_t NumDeltaPocsOfRefRpsIdx = {};
  1904. int32_t PicOrderCntVal = {};
  1905. uint16_t NumBitsForSTRefPicSetInSlice = {};
  1906. uint16_t reserved = {};
  1907. VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint8_t, STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE> RefPicSetStCurrBefore = {};
  1908. VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint8_t, STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE> RefPicSetStCurrAfter = {};
  1909. VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint8_t, STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE> RefPicSetLtCurr = {};
  1910. };
  1911. struct DecodeH265ReferenceInfoFlags
  1912. {
  1913. using NativeType = StdVideoDecodeH265ReferenceInfoFlags;
  1914. operator StdVideoDecodeH265ReferenceInfoFlags const &() const VULKAN_HPP_NOEXCEPT
  1915. {
  1916. return *reinterpret_cast<const StdVideoDecodeH265ReferenceInfoFlags *>( this );
  1917. }
  1918. operator StdVideoDecodeH265ReferenceInfoFlags &() VULKAN_HPP_NOEXCEPT
  1919. {
  1920. return *reinterpret_cast<StdVideoDecodeH265ReferenceInfoFlags *>( this );
  1921. }
  1922. bool operator==( DecodeH265ReferenceInfoFlags const & rhs ) const VULKAN_HPP_NOEXCEPT
  1923. {
  1924. return ( used_for_long_term_reference == rhs.used_for_long_term_reference ) && ( unused_for_reference == rhs.unused_for_reference );
  1925. }
  1926. bool operator!=( DecodeH265ReferenceInfoFlags const & rhs ) const VULKAN_HPP_NOEXCEPT
  1927. {
  1928. return !operator==( rhs );
  1929. }
  1930. public:
  1931. uint32_t used_for_long_term_reference : 1;
  1932. uint32_t unused_for_reference : 1;
  1933. };
  1934. struct DecodeH265ReferenceInfo
  1935. {
  1936. using NativeType = StdVideoDecodeH265ReferenceInfo;
  1937. operator StdVideoDecodeH265ReferenceInfo const &() const VULKAN_HPP_NOEXCEPT
  1938. {
  1939. return *reinterpret_cast<const StdVideoDecodeH265ReferenceInfo *>( this );
  1940. }
  1941. operator StdVideoDecodeH265ReferenceInfo &() VULKAN_HPP_NOEXCEPT
  1942. {
  1943. return *reinterpret_cast<StdVideoDecodeH265ReferenceInfo *>( this );
  1944. }
  1945. bool operator==( DecodeH265ReferenceInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
  1946. {
  1947. return ( flags == rhs.flags ) && ( PicOrderCntVal == rhs.PicOrderCntVal );
  1948. }
  1949. bool operator!=( DecodeH265ReferenceInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
  1950. {
  1951. return !operator==( rhs );
  1952. }
  1953. public:
  1954. VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::DecodeH265ReferenceInfoFlags flags = {};
  1955. int32_t PicOrderCntVal = {};
  1956. };
  1957. //=== vulkan_video_codec_h265std_encode ===
  1958. struct EncodeH265WeightTableFlags
  1959. {
  1960. using NativeType = StdVideoEncodeH265WeightTableFlags;
  1961. operator StdVideoEncodeH265WeightTableFlags const &() const VULKAN_HPP_NOEXCEPT
  1962. {
  1963. return *reinterpret_cast<const StdVideoEncodeH265WeightTableFlags *>( this );
  1964. }
  1965. operator StdVideoEncodeH265WeightTableFlags &() VULKAN_HPP_NOEXCEPT
  1966. {
  1967. return *reinterpret_cast<StdVideoEncodeH265WeightTableFlags *>( this );
  1968. }
  1969. bool operator==( EncodeH265WeightTableFlags const & rhs ) const VULKAN_HPP_NOEXCEPT
  1970. {
  1971. return ( luma_weight_l0_flag == rhs.luma_weight_l0_flag ) && ( chroma_weight_l0_flag == rhs.chroma_weight_l0_flag ) &&
  1972. ( luma_weight_l1_flag == rhs.luma_weight_l1_flag ) && ( chroma_weight_l1_flag == rhs.chroma_weight_l1_flag );
  1973. }
  1974. bool operator!=( EncodeH265WeightTableFlags const & rhs ) const VULKAN_HPP_NOEXCEPT
  1975. {
  1976. return !operator==( rhs );
  1977. }
  1978. public:
  1979. uint16_t luma_weight_l0_flag = {};
  1980. uint16_t chroma_weight_l0_flag = {};
  1981. uint16_t luma_weight_l1_flag = {};
  1982. uint16_t chroma_weight_l1_flag = {};
  1983. };
  1984. struct EncodeH265WeightTable
  1985. {
  1986. using NativeType = StdVideoEncodeH265WeightTable;
  1987. operator StdVideoEncodeH265WeightTable const &() const VULKAN_HPP_NOEXCEPT
  1988. {
  1989. return *reinterpret_cast<const StdVideoEncodeH265WeightTable *>( this );
  1990. }
  1991. operator StdVideoEncodeH265WeightTable &() VULKAN_HPP_NOEXCEPT
  1992. {
  1993. return *reinterpret_cast<StdVideoEncodeH265WeightTable *>( this );
  1994. }
  1995. bool operator==( EncodeH265WeightTable const & rhs ) const VULKAN_HPP_NOEXCEPT
  1996. {
  1997. return ( flags == rhs.flags ) && ( luma_log2_weight_denom == rhs.luma_log2_weight_denom ) &&
  1998. ( delta_chroma_log2_weight_denom == rhs.delta_chroma_log2_weight_denom ) && ( delta_luma_weight_l0 == rhs.delta_luma_weight_l0 ) &&
  1999. ( luma_offset_l0 == rhs.luma_offset_l0 ) && ( delta_chroma_weight_l0 == rhs.delta_chroma_weight_l0 ) &&
  2000. ( delta_chroma_offset_l0 == rhs.delta_chroma_offset_l0 ) && ( delta_luma_weight_l1 == rhs.delta_luma_weight_l1 ) &&
  2001. ( luma_offset_l1 == rhs.luma_offset_l1 ) && ( delta_chroma_weight_l1 == rhs.delta_chroma_weight_l1 ) &&
  2002. ( delta_chroma_offset_l1 == rhs.delta_chroma_offset_l1 );
  2003. }
  2004. bool operator!=( EncodeH265WeightTable const & rhs ) const VULKAN_HPP_NOEXCEPT
  2005. {
  2006. return !operator==( rhs );
  2007. }
  2008. public:
  2009. VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::EncodeH265WeightTableFlags flags = {};
  2010. uint8_t luma_log2_weight_denom = {};
  2011. int8_t delta_chroma_log2_weight_denom = {};
  2012. VULKAN_HPP_NAMESPACE::ArrayWrapper1D<int8_t, STD_VIDEO_H265_MAX_NUM_LIST_REF> delta_luma_weight_l0 = {};
  2013. VULKAN_HPP_NAMESPACE::ArrayWrapper1D<int8_t, STD_VIDEO_H265_MAX_NUM_LIST_REF> luma_offset_l0 = {};
  2014. VULKAN_HPP_NAMESPACE::ArrayWrapper2D<int8_t, STD_VIDEO_H265_MAX_NUM_LIST_REF, STD_VIDEO_H265_MAX_CHROMA_PLANES> delta_chroma_weight_l0 = {};
  2015. VULKAN_HPP_NAMESPACE::ArrayWrapper2D<int8_t, STD_VIDEO_H265_MAX_NUM_LIST_REF, STD_VIDEO_H265_MAX_CHROMA_PLANES> delta_chroma_offset_l0 = {};
  2016. VULKAN_HPP_NAMESPACE::ArrayWrapper1D<int8_t, STD_VIDEO_H265_MAX_NUM_LIST_REF> delta_luma_weight_l1 = {};
  2017. VULKAN_HPP_NAMESPACE::ArrayWrapper1D<int8_t, STD_VIDEO_H265_MAX_NUM_LIST_REF> luma_offset_l1 = {};
  2018. VULKAN_HPP_NAMESPACE::ArrayWrapper2D<int8_t, STD_VIDEO_H265_MAX_NUM_LIST_REF, STD_VIDEO_H265_MAX_CHROMA_PLANES> delta_chroma_weight_l1 = {};
  2019. VULKAN_HPP_NAMESPACE::ArrayWrapper2D<int8_t, STD_VIDEO_H265_MAX_NUM_LIST_REF, STD_VIDEO_H265_MAX_CHROMA_PLANES> delta_chroma_offset_l1 = {};
  2020. };
  2021. struct EncodeH265SliceSegmentHeaderFlags
  2022. {
  2023. using NativeType = StdVideoEncodeH265SliceSegmentHeaderFlags;
  2024. operator StdVideoEncodeH265SliceSegmentHeaderFlags const &() const VULKAN_HPP_NOEXCEPT
  2025. {
  2026. return *reinterpret_cast<const StdVideoEncodeH265SliceSegmentHeaderFlags *>( this );
  2027. }
  2028. operator StdVideoEncodeH265SliceSegmentHeaderFlags &() VULKAN_HPP_NOEXCEPT
  2029. {
  2030. return *reinterpret_cast<StdVideoEncodeH265SliceSegmentHeaderFlags *>( this );
  2031. }
  2032. bool operator==( EncodeH265SliceSegmentHeaderFlags const & rhs ) const VULKAN_HPP_NOEXCEPT
  2033. {
  2034. return ( first_slice_segment_in_pic_flag == rhs.first_slice_segment_in_pic_flag ) &&
  2035. ( dependent_slice_segment_flag == rhs.dependent_slice_segment_flag ) && ( slice_sao_luma_flag == rhs.slice_sao_luma_flag ) &&
  2036. ( slice_sao_chroma_flag == rhs.slice_sao_chroma_flag ) && ( num_ref_idx_active_override_flag == rhs.num_ref_idx_active_override_flag ) &&
  2037. ( mvd_l1_zero_flag == rhs.mvd_l1_zero_flag ) && ( cabac_init_flag == rhs.cabac_init_flag ) &&
  2038. ( cu_chroma_qp_offset_enabled_flag == rhs.cu_chroma_qp_offset_enabled_flag ) &&
  2039. ( deblocking_filter_override_flag == rhs.deblocking_filter_override_flag ) &&
  2040. ( slice_deblocking_filter_disabled_flag == rhs.slice_deblocking_filter_disabled_flag ) &&
  2041. ( collocated_from_l0_flag == rhs.collocated_from_l0_flag ) &&
  2042. ( slice_loop_filter_across_slices_enabled_flag == rhs.slice_loop_filter_across_slices_enabled_flag ) && ( reserved == rhs.reserved );
  2043. }
  2044. bool operator!=( EncodeH265SliceSegmentHeaderFlags const & rhs ) const VULKAN_HPP_NOEXCEPT
  2045. {
  2046. return !operator==( rhs );
  2047. }
  2048. public:
  2049. uint32_t first_slice_segment_in_pic_flag : 1;
  2050. uint32_t dependent_slice_segment_flag : 1;
  2051. uint32_t slice_sao_luma_flag : 1;
  2052. uint32_t slice_sao_chroma_flag : 1;
  2053. uint32_t num_ref_idx_active_override_flag : 1;
  2054. uint32_t mvd_l1_zero_flag : 1;
  2055. uint32_t cabac_init_flag : 1;
  2056. uint32_t cu_chroma_qp_offset_enabled_flag : 1;
  2057. uint32_t deblocking_filter_override_flag : 1;
  2058. uint32_t slice_deblocking_filter_disabled_flag : 1;
  2059. uint32_t collocated_from_l0_flag : 1;
  2060. uint32_t slice_loop_filter_across_slices_enabled_flag : 1;
  2061. uint32_t reserved : 20;
  2062. };
  2063. struct EncodeH265SliceSegmentHeader
  2064. {
  2065. using NativeType = StdVideoEncodeH265SliceSegmentHeader;
  2066. operator StdVideoEncodeH265SliceSegmentHeader const &() const VULKAN_HPP_NOEXCEPT
  2067. {
  2068. return *reinterpret_cast<const StdVideoEncodeH265SliceSegmentHeader *>( this );
  2069. }
  2070. operator StdVideoEncodeH265SliceSegmentHeader &() VULKAN_HPP_NOEXCEPT
  2071. {
  2072. return *reinterpret_cast<StdVideoEncodeH265SliceSegmentHeader *>( this );
  2073. }
  2074. bool operator==( EncodeH265SliceSegmentHeader const & rhs ) const VULKAN_HPP_NOEXCEPT
  2075. {
  2076. return ( flags == rhs.flags ) && ( slice_type == rhs.slice_type ) && ( slice_segment_address == rhs.slice_segment_address ) &&
  2077. ( collocated_ref_idx == rhs.collocated_ref_idx ) && ( MaxNumMergeCand == rhs.MaxNumMergeCand ) &&
  2078. ( slice_cb_qp_offset == rhs.slice_cb_qp_offset ) && ( slice_cr_qp_offset == rhs.slice_cr_qp_offset ) &&
  2079. ( slice_beta_offset_div2 == rhs.slice_beta_offset_div2 ) && ( slice_tc_offset_div2 == rhs.slice_tc_offset_div2 ) &&
  2080. ( slice_act_y_qp_offset == rhs.slice_act_y_qp_offset ) && ( slice_act_cb_qp_offset == rhs.slice_act_cb_qp_offset ) &&
  2081. ( slice_act_cr_qp_offset == rhs.slice_act_cr_qp_offset ) && ( slice_qp_delta == rhs.slice_qp_delta ) && ( reserved1 == rhs.reserved1 ) &&
  2082. ( pWeightTable == rhs.pWeightTable );
  2083. }
  2084. bool operator!=( EncodeH265SliceSegmentHeader const & rhs ) const VULKAN_HPP_NOEXCEPT
  2085. {
  2086. return !operator==( rhs );
  2087. }
  2088. public:
  2089. VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::EncodeH265SliceSegmentHeaderFlags flags = {};
  2090. VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H265SliceType slice_type = VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H265SliceType::eB;
  2091. uint32_t slice_segment_address = {};
  2092. uint8_t collocated_ref_idx = {};
  2093. uint8_t MaxNumMergeCand = {};
  2094. int8_t slice_cb_qp_offset = {};
  2095. int8_t slice_cr_qp_offset = {};
  2096. int8_t slice_beta_offset_div2 = {};
  2097. int8_t slice_tc_offset_div2 = {};
  2098. int8_t slice_act_y_qp_offset = {};
  2099. int8_t slice_act_cb_qp_offset = {};
  2100. int8_t slice_act_cr_qp_offset = {};
  2101. int8_t slice_qp_delta = {};
  2102. uint16_t reserved1 = {};
  2103. const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::EncodeH265WeightTable * pWeightTable = {};
  2104. };
  2105. struct EncodeH265ReferenceListsInfoFlags
  2106. {
  2107. using NativeType = StdVideoEncodeH265ReferenceListsInfoFlags;
  2108. operator StdVideoEncodeH265ReferenceListsInfoFlags const &() const VULKAN_HPP_NOEXCEPT
  2109. {
  2110. return *reinterpret_cast<const StdVideoEncodeH265ReferenceListsInfoFlags *>( this );
  2111. }
  2112. operator StdVideoEncodeH265ReferenceListsInfoFlags &() VULKAN_HPP_NOEXCEPT
  2113. {
  2114. return *reinterpret_cast<StdVideoEncodeH265ReferenceListsInfoFlags *>( this );
  2115. }
  2116. bool operator==( EncodeH265ReferenceListsInfoFlags const & rhs ) const VULKAN_HPP_NOEXCEPT
  2117. {
  2118. return ( ref_pic_list_modification_flag_l0 == rhs.ref_pic_list_modification_flag_l0 ) &&
  2119. ( ref_pic_list_modification_flag_l1 == rhs.ref_pic_list_modification_flag_l1 ) && ( reserved == rhs.reserved );
  2120. }
  2121. bool operator!=( EncodeH265ReferenceListsInfoFlags const & rhs ) const VULKAN_HPP_NOEXCEPT
  2122. {
  2123. return !operator==( rhs );
  2124. }
  2125. public:
  2126. uint32_t ref_pic_list_modification_flag_l0 : 1;
  2127. uint32_t ref_pic_list_modification_flag_l1 : 1;
  2128. uint32_t reserved : 30;
  2129. };
  2130. struct EncodeH265ReferenceListsInfo
  2131. {
  2132. using NativeType = StdVideoEncodeH265ReferenceListsInfo;
  2133. operator StdVideoEncodeH265ReferenceListsInfo const &() const VULKAN_HPP_NOEXCEPT
  2134. {
  2135. return *reinterpret_cast<const StdVideoEncodeH265ReferenceListsInfo *>( this );
  2136. }
  2137. operator StdVideoEncodeH265ReferenceListsInfo &() VULKAN_HPP_NOEXCEPT
  2138. {
  2139. return *reinterpret_cast<StdVideoEncodeH265ReferenceListsInfo *>( this );
  2140. }
  2141. bool operator==( EncodeH265ReferenceListsInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
  2142. {
  2143. return ( flags == rhs.flags ) && ( num_ref_idx_l0_active_minus1 == rhs.num_ref_idx_l0_active_minus1 ) &&
  2144. ( num_ref_idx_l1_active_minus1 == rhs.num_ref_idx_l1_active_minus1 ) && ( RefPicList0 == rhs.RefPicList0 ) &&
  2145. ( RefPicList1 == rhs.RefPicList1 ) && ( list_entry_l0 == rhs.list_entry_l0 ) && ( list_entry_l1 == rhs.list_entry_l1 );
  2146. }
  2147. bool operator!=( EncodeH265ReferenceListsInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
  2148. {
  2149. return !operator==( rhs );
  2150. }
  2151. public:
  2152. VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::EncodeH265ReferenceListsInfoFlags flags = {};
  2153. uint8_t num_ref_idx_l0_active_minus1 = {};
  2154. uint8_t num_ref_idx_l1_active_minus1 = {};
  2155. VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint8_t, STD_VIDEO_H265_MAX_NUM_LIST_REF> RefPicList0 = {};
  2156. VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint8_t, STD_VIDEO_H265_MAX_NUM_LIST_REF> RefPicList1 = {};
  2157. VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint8_t, STD_VIDEO_H265_MAX_NUM_LIST_REF> list_entry_l0 = {};
  2158. VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint8_t, STD_VIDEO_H265_MAX_NUM_LIST_REF> list_entry_l1 = {};
  2159. };
  2160. struct EncodeH265PictureInfoFlags
  2161. {
  2162. using NativeType = StdVideoEncodeH265PictureInfoFlags;
  2163. operator StdVideoEncodeH265PictureInfoFlags const &() const VULKAN_HPP_NOEXCEPT
  2164. {
  2165. return *reinterpret_cast<const StdVideoEncodeH265PictureInfoFlags *>( this );
  2166. }
  2167. operator StdVideoEncodeH265PictureInfoFlags &() VULKAN_HPP_NOEXCEPT
  2168. {
  2169. return *reinterpret_cast<StdVideoEncodeH265PictureInfoFlags *>( this );
  2170. }
  2171. bool operator==( EncodeH265PictureInfoFlags const & rhs ) const VULKAN_HPP_NOEXCEPT
  2172. {
  2173. return ( is_reference == rhs.is_reference ) && ( IrapPicFlag == rhs.IrapPicFlag ) &&
  2174. ( used_for_long_term_reference == rhs.used_for_long_term_reference ) && ( discardable_flag == rhs.discardable_flag ) &&
  2175. ( cross_layer_bla_flag == rhs.cross_layer_bla_flag ) && ( pic_output_flag == rhs.pic_output_flag ) &&
  2176. ( no_output_of_prior_pics_flag == rhs.no_output_of_prior_pics_flag ) &&
  2177. ( short_term_ref_pic_set_sps_flag == rhs.short_term_ref_pic_set_sps_flag ) &&
  2178. ( slice_temporal_mvp_enabled_flag == rhs.slice_temporal_mvp_enabled_flag ) && ( reserved == rhs.reserved );
  2179. }
  2180. bool operator!=( EncodeH265PictureInfoFlags const & rhs ) const VULKAN_HPP_NOEXCEPT
  2181. {
  2182. return !operator==( rhs );
  2183. }
  2184. public:
  2185. uint32_t is_reference : 1;
  2186. uint32_t IrapPicFlag : 1;
  2187. uint32_t used_for_long_term_reference : 1;
  2188. uint32_t discardable_flag : 1;
  2189. uint32_t cross_layer_bla_flag : 1;
  2190. uint32_t pic_output_flag : 1;
  2191. uint32_t no_output_of_prior_pics_flag : 1;
  2192. uint32_t short_term_ref_pic_set_sps_flag : 1;
  2193. uint32_t slice_temporal_mvp_enabled_flag : 1;
  2194. uint32_t reserved : 23;
  2195. };
  2196. struct EncodeH265LongTermRefPics
  2197. {
  2198. using NativeType = StdVideoEncodeH265LongTermRefPics;
  2199. operator StdVideoEncodeH265LongTermRefPics const &() const VULKAN_HPP_NOEXCEPT
  2200. {
  2201. return *reinterpret_cast<const StdVideoEncodeH265LongTermRefPics *>( this );
  2202. }
  2203. operator StdVideoEncodeH265LongTermRefPics &() VULKAN_HPP_NOEXCEPT
  2204. {
  2205. return *reinterpret_cast<StdVideoEncodeH265LongTermRefPics *>( this );
  2206. }
  2207. bool operator==( EncodeH265LongTermRefPics const & rhs ) const VULKAN_HPP_NOEXCEPT
  2208. {
  2209. return ( num_long_term_sps == rhs.num_long_term_sps ) && ( num_long_term_pics == rhs.num_long_term_pics ) && ( lt_idx_sps == rhs.lt_idx_sps ) &&
  2210. ( poc_lsb_lt == rhs.poc_lsb_lt ) && ( used_by_curr_pic_lt_flag == rhs.used_by_curr_pic_lt_flag ) &&
  2211. ( delta_poc_msb_present_flag == rhs.delta_poc_msb_present_flag ) && ( delta_poc_msb_cycle_lt == rhs.delta_poc_msb_cycle_lt );
  2212. }
  2213. bool operator!=( EncodeH265LongTermRefPics const & rhs ) const VULKAN_HPP_NOEXCEPT
  2214. {
  2215. return !operator==( rhs );
  2216. }
  2217. public:
  2218. uint8_t num_long_term_sps = {};
  2219. uint8_t num_long_term_pics = {};
  2220. VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint8_t, STD_VIDEO_H265_MAX_LONG_TERM_REF_PICS_SPS> lt_idx_sps = {};
  2221. VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint8_t, STD_VIDEO_H265_MAX_LONG_TERM_PICS> poc_lsb_lt = {};
  2222. uint16_t used_by_curr_pic_lt_flag = {};
  2223. VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint8_t, STD_VIDEO_H265_MAX_DELTA_POC> delta_poc_msb_present_flag = {};
  2224. VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint8_t, STD_VIDEO_H265_MAX_DELTA_POC> delta_poc_msb_cycle_lt = {};
  2225. };
  2226. struct EncodeH265PictureInfo
  2227. {
  2228. using NativeType = StdVideoEncodeH265PictureInfo;
  2229. operator StdVideoEncodeH265PictureInfo const &() const VULKAN_HPP_NOEXCEPT
  2230. {
  2231. return *reinterpret_cast<const StdVideoEncodeH265PictureInfo *>( this );
  2232. }
  2233. operator StdVideoEncodeH265PictureInfo &() VULKAN_HPP_NOEXCEPT
  2234. {
  2235. return *reinterpret_cast<StdVideoEncodeH265PictureInfo *>( this );
  2236. }
  2237. bool operator==( EncodeH265PictureInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
  2238. {
  2239. return ( flags == rhs.flags ) && ( pic_type == rhs.pic_type ) && ( sps_video_parameter_set_id == rhs.sps_video_parameter_set_id ) &&
  2240. ( pps_seq_parameter_set_id == rhs.pps_seq_parameter_set_id ) && ( pps_pic_parameter_set_id == rhs.pps_pic_parameter_set_id ) &&
  2241. ( short_term_ref_pic_set_idx == rhs.short_term_ref_pic_set_idx ) && ( PicOrderCntVal == rhs.PicOrderCntVal ) &&
  2242. ( TemporalId == rhs.TemporalId ) && ( reserved1 == rhs.reserved1 ) && ( pRefLists == rhs.pRefLists ) &&
  2243. ( pShortTermRefPicSet == rhs.pShortTermRefPicSet ) && ( pLongTermRefPics == rhs.pLongTermRefPics );
  2244. }
  2245. bool operator!=( EncodeH265PictureInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
  2246. {
  2247. return !operator==( rhs );
  2248. }
  2249. public:
  2250. VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::EncodeH265PictureInfoFlags flags = {};
  2251. VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H265PictureType pic_type = VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H265PictureType::eP;
  2252. uint8_t sps_video_parameter_set_id = {};
  2253. uint8_t pps_seq_parameter_set_id = {};
  2254. uint8_t pps_pic_parameter_set_id = {};
  2255. uint8_t short_term_ref_pic_set_idx = {};
  2256. int32_t PicOrderCntVal = {};
  2257. uint8_t TemporalId = {};
  2258. VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint8_t, 7> reserved1 = {};
  2259. const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::EncodeH265ReferenceListsInfo * pRefLists = {};
  2260. const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H265ShortTermRefPicSet * pShortTermRefPicSet = {};
  2261. const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::EncodeH265LongTermRefPics * pLongTermRefPics = {};
  2262. };
  2263. struct EncodeH265ReferenceInfoFlags
  2264. {
  2265. using NativeType = StdVideoEncodeH265ReferenceInfoFlags;
  2266. operator StdVideoEncodeH265ReferenceInfoFlags const &() const VULKAN_HPP_NOEXCEPT
  2267. {
  2268. return *reinterpret_cast<const StdVideoEncodeH265ReferenceInfoFlags *>( this );
  2269. }
  2270. operator StdVideoEncodeH265ReferenceInfoFlags &() VULKAN_HPP_NOEXCEPT
  2271. {
  2272. return *reinterpret_cast<StdVideoEncodeH265ReferenceInfoFlags *>( this );
  2273. }
  2274. bool operator==( EncodeH265ReferenceInfoFlags const & rhs ) const VULKAN_HPP_NOEXCEPT
  2275. {
  2276. return ( used_for_long_term_reference == rhs.used_for_long_term_reference ) && ( unused_for_reference == rhs.unused_for_reference ) &&
  2277. ( reserved == rhs.reserved );
  2278. }
  2279. bool operator!=( EncodeH265ReferenceInfoFlags const & rhs ) const VULKAN_HPP_NOEXCEPT
  2280. {
  2281. return !operator==( rhs );
  2282. }
  2283. public:
  2284. uint32_t used_for_long_term_reference : 1;
  2285. uint32_t unused_for_reference : 1;
  2286. uint32_t reserved : 30;
  2287. };
  2288. struct EncodeH265ReferenceInfo
  2289. {
  2290. using NativeType = StdVideoEncodeH265ReferenceInfo;
  2291. operator StdVideoEncodeH265ReferenceInfo const &() const VULKAN_HPP_NOEXCEPT
  2292. {
  2293. return *reinterpret_cast<const StdVideoEncodeH265ReferenceInfo *>( this );
  2294. }
  2295. operator StdVideoEncodeH265ReferenceInfo &() VULKAN_HPP_NOEXCEPT
  2296. {
  2297. return *reinterpret_cast<StdVideoEncodeH265ReferenceInfo *>( this );
  2298. }
  2299. bool operator==( EncodeH265ReferenceInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
  2300. {
  2301. return ( flags == rhs.flags ) && ( pic_type == rhs.pic_type ) && ( PicOrderCntVal == rhs.PicOrderCntVal ) && ( TemporalId == rhs.TemporalId );
  2302. }
  2303. bool operator!=( EncodeH265ReferenceInfo const & rhs ) const VULKAN_HPP_NOEXCEPT
  2304. {
  2305. return !operator==( rhs );
  2306. }
  2307. public:
  2308. VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::EncodeH265ReferenceInfoFlags flags = {};
  2309. VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H265PictureType pic_type = VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::H265PictureType::eP;
  2310. int32_t PicOrderCntVal = {};
  2311. uint8_t TemporalId = {};
  2312. };
  2313. } // namespace VULKAN_HPP_VIDEO_NAMESPACE
  2314. } // namespace VULKAN_HPP_NAMESPACE
  2315. #endif