ext-ctrls-codec.rst 80 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675
  1. .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
  2. .. c:namespace:: V4L
  3. .. _codec-controls:
  4. ***********************
  5. Codec Control Reference
  6. ***********************
  7. Below all controls within the Codec control class are described. First
  8. the generic controls, then controls specific for certain hardware.
  9. .. note::
  10. These controls are applicable to all codecs and not just MPEG. The
  11. defines are prefixed with V4L2_CID_MPEG/V4L2_MPEG as the controls
  12. were originally made for MPEG codecs and later extended to cover all
  13. encoding formats.
  14. Generic Codec Controls
  15. ======================
  16. .. _mpeg-control-id:
  17. Codec Control IDs
  18. -----------------
  19. ``V4L2_CID_CODEC_CLASS (class)``
  20. The Codec class descriptor. Calling
  21. :ref:`VIDIOC_QUERYCTRL` for this control will
  22. return a description of this control class. This description can be
  23. used as the caption of a Tab page in a GUI, for example.
  24. .. _v4l2-mpeg-stream-type:
  25. ``V4L2_CID_MPEG_STREAM_TYPE``
  26. (enum)
  27. enum v4l2_mpeg_stream_type -
  28. The MPEG-1, -2 or -4 output stream type. One cannot assume anything
  29. here. Each hardware MPEG encoder tends to support different subsets
  30. of the available MPEG stream types. This control is specific to
  31. multiplexed MPEG streams. The currently defined stream types are:
  32. .. flat-table::
  33. :header-rows: 0
  34. :stub-columns: 0
  35. * - ``V4L2_MPEG_STREAM_TYPE_MPEG2_PS``
  36. - MPEG-2 program stream
  37. * - ``V4L2_MPEG_STREAM_TYPE_MPEG2_TS``
  38. - MPEG-2 transport stream
  39. * - ``V4L2_MPEG_STREAM_TYPE_MPEG1_SS``
  40. - MPEG-1 system stream
  41. * - ``V4L2_MPEG_STREAM_TYPE_MPEG2_DVD``
  42. - MPEG-2 DVD-compatible stream
  43. * - ``V4L2_MPEG_STREAM_TYPE_MPEG1_VCD``
  44. - MPEG-1 VCD-compatible stream
  45. * - ``V4L2_MPEG_STREAM_TYPE_MPEG2_SVCD``
  46. - MPEG-2 SVCD-compatible stream
  47. ``V4L2_CID_MPEG_STREAM_PID_PMT (integer)``
  48. Program Map Table Packet ID for the MPEG transport stream (default
  49. 16)
  50. ``V4L2_CID_MPEG_STREAM_PID_AUDIO (integer)``
  51. Audio Packet ID for the MPEG transport stream (default 256)
  52. ``V4L2_CID_MPEG_STREAM_PID_VIDEO (integer)``
  53. Video Packet ID for the MPEG transport stream (default 260)
  54. ``V4L2_CID_MPEG_STREAM_PID_PCR (integer)``
  55. Packet ID for the MPEG transport stream carrying PCR fields (default
  56. 259)
  57. ``V4L2_CID_MPEG_STREAM_PES_ID_AUDIO (integer)``
  58. Audio ID for MPEG PES
  59. ``V4L2_CID_MPEG_STREAM_PES_ID_VIDEO (integer)``
  60. Video ID for MPEG PES
  61. .. _v4l2-mpeg-stream-vbi-fmt:
  62. ``V4L2_CID_MPEG_STREAM_VBI_FMT``
  63. (enum)
  64. enum v4l2_mpeg_stream_vbi_fmt -
  65. Some cards can embed VBI data (e. g. Closed Caption, Teletext) into
  66. the MPEG stream. This control selects whether VBI data should be
  67. embedded, and if so, what embedding method should be used. The list
  68. of possible VBI formats depends on the driver. The currently defined
  69. VBI format types are:
  70. .. tabularcolumns:: |p{6.6 cm}|p{10.9cm}|
  71. .. flat-table::
  72. :header-rows: 0
  73. :stub-columns: 0
  74. * - ``V4L2_MPEG_STREAM_VBI_FMT_NONE``
  75. - No VBI in the MPEG stream
  76. * - ``V4L2_MPEG_STREAM_VBI_FMT_IVTV``
  77. - VBI in private packets, IVTV format (documented in the kernel
  78. sources in the file
  79. ``Documentation/userspace-api/media/drivers/cx2341x-uapi.rst``)
  80. .. _v4l2-mpeg-audio-sampling-freq:
  81. ``V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ``
  82. (enum)
  83. enum v4l2_mpeg_audio_sampling_freq -
  84. MPEG Audio sampling frequency. Possible values are:
  85. .. flat-table::
  86. :header-rows: 0
  87. :stub-columns: 0
  88. * - ``V4L2_MPEG_AUDIO_SAMPLING_FREQ_44100``
  89. - 44.1 kHz
  90. * - ``V4L2_MPEG_AUDIO_SAMPLING_FREQ_48000``
  91. - 48 kHz
  92. * - ``V4L2_MPEG_AUDIO_SAMPLING_FREQ_32000``
  93. - 32 kHz
  94. .. _v4l2-mpeg-audio-encoding:
  95. ``V4L2_CID_MPEG_AUDIO_ENCODING``
  96. (enum)
  97. enum v4l2_mpeg_audio_encoding -
  98. MPEG Audio encoding. This control is specific to multiplexed MPEG
  99. streams. Possible values are:
  100. .. flat-table::
  101. :header-rows: 0
  102. :stub-columns: 0
  103. * - ``V4L2_MPEG_AUDIO_ENCODING_LAYER_1``
  104. - MPEG-1/2 Layer I encoding
  105. * - ``V4L2_MPEG_AUDIO_ENCODING_LAYER_2``
  106. - MPEG-1/2 Layer II encoding
  107. * - ``V4L2_MPEG_AUDIO_ENCODING_LAYER_3``
  108. - MPEG-1/2 Layer III encoding
  109. * - ``V4L2_MPEG_AUDIO_ENCODING_AAC``
  110. - MPEG-2/4 AAC (Advanced Audio Coding)
  111. * - ``V4L2_MPEG_AUDIO_ENCODING_AC3``
  112. - AC-3 aka ATSC A/52 encoding
  113. .. _v4l2-mpeg-audio-l1-bitrate:
  114. ``V4L2_CID_MPEG_AUDIO_L1_BITRATE``
  115. (enum)
  116. enum v4l2_mpeg_audio_l1_bitrate -
  117. MPEG-1/2 Layer I bitrate. Possible values are:
  118. .. flat-table::
  119. :header-rows: 0
  120. :stub-columns: 0
  121. * - ``V4L2_MPEG_AUDIO_L1_BITRATE_32K``
  122. - 32 kbit/s
  123. * - ``V4L2_MPEG_AUDIO_L1_BITRATE_64K``
  124. - 64 kbit/s
  125. * - ``V4L2_MPEG_AUDIO_L1_BITRATE_96K``
  126. - 96 kbit/s
  127. * - ``V4L2_MPEG_AUDIO_L1_BITRATE_128K``
  128. - 128 kbit/s
  129. * - ``V4L2_MPEG_AUDIO_L1_BITRATE_160K``
  130. - 160 kbit/s
  131. * - ``V4L2_MPEG_AUDIO_L1_BITRATE_192K``
  132. - 192 kbit/s
  133. * - ``V4L2_MPEG_AUDIO_L1_BITRATE_224K``
  134. - 224 kbit/s
  135. * - ``V4L2_MPEG_AUDIO_L1_BITRATE_256K``
  136. - 256 kbit/s
  137. * - ``V4L2_MPEG_AUDIO_L1_BITRATE_288K``
  138. - 288 kbit/s
  139. * - ``V4L2_MPEG_AUDIO_L1_BITRATE_320K``
  140. - 320 kbit/s
  141. * - ``V4L2_MPEG_AUDIO_L1_BITRATE_352K``
  142. - 352 kbit/s
  143. * - ``V4L2_MPEG_AUDIO_L1_BITRATE_384K``
  144. - 384 kbit/s
  145. * - ``V4L2_MPEG_AUDIO_L1_BITRATE_416K``
  146. - 416 kbit/s
  147. * - ``V4L2_MPEG_AUDIO_L1_BITRATE_448K``
  148. - 448 kbit/s
  149. .. _v4l2-mpeg-audio-l2-bitrate:
  150. ``V4L2_CID_MPEG_AUDIO_L2_BITRATE``
  151. (enum)
  152. enum v4l2_mpeg_audio_l2_bitrate -
  153. MPEG-1/2 Layer II bitrate. Possible values are:
  154. .. flat-table::
  155. :header-rows: 0
  156. :stub-columns: 0
  157. * - ``V4L2_MPEG_AUDIO_L2_BITRATE_32K``
  158. - 32 kbit/s
  159. * - ``V4L2_MPEG_AUDIO_L2_BITRATE_48K``
  160. - 48 kbit/s
  161. * - ``V4L2_MPEG_AUDIO_L2_BITRATE_56K``
  162. - 56 kbit/s
  163. * - ``V4L2_MPEG_AUDIO_L2_BITRATE_64K``
  164. - 64 kbit/s
  165. * - ``V4L2_MPEG_AUDIO_L2_BITRATE_80K``
  166. - 80 kbit/s
  167. * - ``V4L2_MPEG_AUDIO_L2_BITRATE_96K``
  168. - 96 kbit/s
  169. * - ``V4L2_MPEG_AUDIO_L2_BITRATE_112K``
  170. - 112 kbit/s
  171. * - ``V4L2_MPEG_AUDIO_L2_BITRATE_128K``
  172. - 128 kbit/s
  173. * - ``V4L2_MPEG_AUDIO_L2_BITRATE_160K``
  174. - 160 kbit/s
  175. * - ``V4L2_MPEG_AUDIO_L2_BITRATE_192K``
  176. - 192 kbit/s
  177. * - ``V4L2_MPEG_AUDIO_L2_BITRATE_224K``
  178. - 224 kbit/s
  179. * - ``V4L2_MPEG_AUDIO_L2_BITRATE_256K``
  180. - 256 kbit/s
  181. * - ``V4L2_MPEG_AUDIO_L2_BITRATE_320K``
  182. - 320 kbit/s
  183. * - ``V4L2_MPEG_AUDIO_L2_BITRATE_384K``
  184. - 384 kbit/s
  185. .. _v4l2-mpeg-audio-l3-bitrate:
  186. ``V4L2_CID_MPEG_AUDIO_L3_BITRATE``
  187. (enum)
  188. enum v4l2_mpeg_audio_l3_bitrate -
  189. MPEG-1/2 Layer III bitrate. Possible values are:
  190. .. flat-table::
  191. :header-rows: 0
  192. :stub-columns: 0
  193. * - ``V4L2_MPEG_AUDIO_L3_BITRATE_32K``
  194. - 32 kbit/s
  195. * - ``V4L2_MPEG_AUDIO_L3_BITRATE_40K``
  196. - 40 kbit/s
  197. * - ``V4L2_MPEG_AUDIO_L3_BITRATE_48K``
  198. - 48 kbit/s
  199. * - ``V4L2_MPEG_AUDIO_L3_BITRATE_56K``
  200. - 56 kbit/s
  201. * - ``V4L2_MPEG_AUDIO_L3_BITRATE_64K``
  202. - 64 kbit/s
  203. * - ``V4L2_MPEG_AUDIO_L3_BITRATE_80K``
  204. - 80 kbit/s
  205. * - ``V4L2_MPEG_AUDIO_L3_BITRATE_96K``
  206. - 96 kbit/s
  207. * - ``V4L2_MPEG_AUDIO_L3_BITRATE_112K``
  208. - 112 kbit/s
  209. * - ``V4L2_MPEG_AUDIO_L3_BITRATE_128K``
  210. - 128 kbit/s
  211. * - ``V4L2_MPEG_AUDIO_L3_BITRATE_160K``
  212. - 160 kbit/s
  213. * - ``V4L2_MPEG_AUDIO_L3_BITRATE_192K``
  214. - 192 kbit/s
  215. * - ``V4L2_MPEG_AUDIO_L3_BITRATE_224K``
  216. - 224 kbit/s
  217. * - ``V4L2_MPEG_AUDIO_L3_BITRATE_256K``
  218. - 256 kbit/s
  219. * - ``V4L2_MPEG_AUDIO_L3_BITRATE_320K``
  220. - 320 kbit/s
  221. ``V4L2_CID_MPEG_AUDIO_AAC_BITRATE (integer)``
  222. AAC bitrate in bits per second.
  223. .. _v4l2-mpeg-audio-ac3-bitrate:
  224. ``V4L2_CID_MPEG_AUDIO_AC3_BITRATE``
  225. (enum)
  226. enum v4l2_mpeg_audio_ac3_bitrate -
  227. AC-3 bitrate. Possible values are:
  228. .. flat-table::
  229. :header-rows: 0
  230. :stub-columns: 0
  231. * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_32K``
  232. - 32 kbit/s
  233. * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_40K``
  234. - 40 kbit/s
  235. * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_48K``
  236. - 48 kbit/s
  237. * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_56K``
  238. - 56 kbit/s
  239. * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_64K``
  240. - 64 kbit/s
  241. * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_80K``
  242. - 80 kbit/s
  243. * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_96K``
  244. - 96 kbit/s
  245. * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_112K``
  246. - 112 kbit/s
  247. * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_128K``
  248. - 128 kbit/s
  249. * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_160K``
  250. - 160 kbit/s
  251. * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_192K``
  252. - 192 kbit/s
  253. * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_224K``
  254. - 224 kbit/s
  255. * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_256K``
  256. - 256 kbit/s
  257. * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_320K``
  258. - 320 kbit/s
  259. * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_384K``
  260. - 384 kbit/s
  261. * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_448K``
  262. - 448 kbit/s
  263. * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_512K``
  264. - 512 kbit/s
  265. * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_576K``
  266. - 576 kbit/s
  267. * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_640K``
  268. - 640 kbit/s
  269. .. _v4l2-mpeg-audio-mode:
  270. ``V4L2_CID_MPEG_AUDIO_MODE``
  271. (enum)
  272. enum v4l2_mpeg_audio_mode -
  273. MPEG Audio mode. Possible values are:
  274. .. flat-table::
  275. :header-rows: 0
  276. :stub-columns: 0
  277. * - ``V4L2_MPEG_AUDIO_MODE_STEREO``
  278. - Stereo
  279. * - ``V4L2_MPEG_AUDIO_MODE_JOINT_STEREO``
  280. - Joint Stereo
  281. * - ``V4L2_MPEG_AUDIO_MODE_DUAL``
  282. - Bilingual
  283. * - ``V4L2_MPEG_AUDIO_MODE_MONO``
  284. - Mono
  285. .. _v4l2-mpeg-audio-mode-extension:
  286. ``V4L2_CID_MPEG_AUDIO_MODE_EXTENSION``
  287. (enum)
  288. enum v4l2_mpeg_audio_mode_extension -
  289. Joint Stereo audio mode extension. In Layer I and II they indicate
  290. which subbands are in intensity stereo. All other subbands are coded
  291. in stereo. Layer III is not (yet) supported. Possible values are:
  292. .. tabularcolumns:: |p{9.1cm}|p{8.4cm}|
  293. .. flat-table::
  294. :header-rows: 0
  295. :stub-columns: 0
  296. * - ``V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_4``
  297. - Subbands 4-31 in intensity stereo
  298. * - ``V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_8``
  299. - Subbands 8-31 in intensity stereo
  300. * - ``V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_12``
  301. - Subbands 12-31 in intensity stereo
  302. * - ``V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_16``
  303. - Subbands 16-31 in intensity stereo
  304. .. _v4l2-mpeg-audio-emphasis:
  305. ``V4L2_CID_MPEG_AUDIO_EMPHASIS``
  306. (enum)
  307. enum v4l2_mpeg_audio_emphasis -
  308. Audio Emphasis. Possible values are:
  309. .. flat-table::
  310. :header-rows: 0
  311. :stub-columns: 0
  312. * - ``V4L2_MPEG_AUDIO_EMPHASIS_NONE``
  313. - None
  314. * - ``V4L2_MPEG_AUDIO_EMPHASIS_50_DIV_15_uS``
  315. - 50/15 microsecond emphasis
  316. * - ``V4L2_MPEG_AUDIO_EMPHASIS_CCITT_J17``
  317. - CCITT J.17
  318. .. _v4l2-mpeg-audio-crc:
  319. ``V4L2_CID_MPEG_AUDIO_CRC``
  320. (enum)
  321. enum v4l2_mpeg_audio_crc -
  322. CRC method. Possible values are:
  323. .. flat-table::
  324. :header-rows: 0
  325. :stub-columns: 0
  326. * - ``V4L2_MPEG_AUDIO_CRC_NONE``
  327. - None
  328. * - ``V4L2_MPEG_AUDIO_CRC_CRC16``
  329. - 16 bit parity check
  330. ``V4L2_CID_MPEG_AUDIO_MUTE (boolean)``
  331. Mutes the audio when capturing. This is not done by muting audio
  332. hardware, which can still produce a slight hiss, but in the encoder
  333. itself, guaranteeing a fixed and reproducible audio bitstream. 0 =
  334. unmuted, 1 = muted.
  335. .. _v4l2-mpeg-audio-dec-playback:
  336. ``V4L2_CID_MPEG_AUDIO_DEC_PLAYBACK``
  337. (enum)
  338. enum v4l2_mpeg_audio_dec_playback -
  339. Determines how monolingual audio should be played back. Possible
  340. values are:
  341. .. tabularcolumns:: |p{9.8cm}|p{7.7cm}|
  342. .. flat-table::
  343. :header-rows: 0
  344. :stub-columns: 0
  345. * - ``V4L2_MPEG_AUDIO_DEC_PLAYBACK_AUTO``
  346. - Automatically determines the best playback mode.
  347. * - ``V4L2_MPEG_AUDIO_DEC_PLAYBACK_STEREO``
  348. - Stereo playback.
  349. * - ``V4L2_MPEG_AUDIO_DEC_PLAYBACK_LEFT``
  350. - Left channel playback.
  351. * - ``V4L2_MPEG_AUDIO_DEC_PLAYBACK_RIGHT``
  352. - Right channel playback.
  353. * - ``V4L2_MPEG_AUDIO_DEC_PLAYBACK_MONO``
  354. - Mono playback.
  355. * - ``V4L2_MPEG_AUDIO_DEC_PLAYBACK_SWAPPED_STEREO``
  356. - Stereo playback with swapped left and right channels.
  357. .. _v4l2-mpeg-audio-dec-multilingual-playback:
  358. ``V4L2_CID_MPEG_AUDIO_DEC_MULTILINGUAL_PLAYBACK``
  359. (enum)
  360. enum v4l2_mpeg_audio_dec_playback -
  361. Determines how multilingual audio should be played back.
  362. .. _v4l2-mpeg-video-encoding:
  363. ``V4L2_CID_MPEG_VIDEO_ENCODING``
  364. (enum)
  365. enum v4l2_mpeg_video_encoding -
  366. MPEG Video encoding method. This control is specific to multiplexed
  367. MPEG streams. Possible values are:
  368. .. flat-table::
  369. :header-rows: 0
  370. :stub-columns: 0
  371. * - ``V4L2_MPEG_VIDEO_ENCODING_MPEG_1``
  372. - MPEG-1 Video encoding
  373. * - ``V4L2_MPEG_VIDEO_ENCODING_MPEG_2``
  374. - MPEG-2 Video encoding
  375. * - ``V4L2_MPEG_VIDEO_ENCODING_MPEG_4_AVC``
  376. - MPEG-4 AVC (H.264) Video encoding
  377. .. _v4l2-mpeg-video-aspect:
  378. ``V4L2_CID_MPEG_VIDEO_ASPECT``
  379. (enum)
  380. enum v4l2_mpeg_video_aspect -
  381. Video aspect. Possible values are:
  382. .. flat-table::
  383. :header-rows: 0
  384. :stub-columns: 0
  385. * - ``V4L2_MPEG_VIDEO_ASPECT_1x1``
  386. * - ``V4L2_MPEG_VIDEO_ASPECT_4x3``
  387. * - ``V4L2_MPEG_VIDEO_ASPECT_16x9``
  388. * - ``V4L2_MPEG_VIDEO_ASPECT_221x100``
  389. ``V4L2_CID_MPEG_VIDEO_B_FRAMES (integer)``
  390. Number of B-Frames (default 2)
  391. ``V4L2_CID_MPEG_VIDEO_GOP_SIZE (integer)``
  392. GOP size (default 12)
  393. ``V4L2_CID_MPEG_VIDEO_GOP_CLOSURE (boolean)``
  394. GOP closure (default 1)
  395. ``V4L2_CID_MPEG_VIDEO_PULLDOWN (boolean)``
  396. Enable 3:2 pulldown (default 0)
  397. .. _v4l2-mpeg-video-bitrate-mode:
  398. ``V4L2_CID_MPEG_VIDEO_BITRATE_MODE``
  399. (enum)
  400. enum v4l2_mpeg_video_bitrate_mode -
  401. Video bitrate mode. Possible values are:
  402. .. flat-table::
  403. :header-rows: 0
  404. :stub-columns: 0
  405. * - ``V4L2_MPEG_VIDEO_BITRATE_MODE_VBR``
  406. - Variable bitrate
  407. * - ``V4L2_MPEG_VIDEO_BITRATE_MODE_CBR``
  408. - Constant bitrate
  409. * - ``V4L2_MPEG_VIDEO_BITRATE_MODE_CQ``
  410. - Constant quality
  411. ``V4L2_CID_MPEG_VIDEO_BITRATE (integer)``
  412. Average video bitrate in bits per second.
  413. ``V4L2_CID_MPEG_VIDEO_BITRATE_PEAK (integer)``
  414. Peak video bitrate in bits per second. Must be larger or equal to
  415. the average video bitrate. It is ignored if the video bitrate mode
  416. is set to constant bitrate.
  417. ``V4L2_CID_MPEG_VIDEO_CONSTANT_QUALITY (integer)``
  418. Constant quality level control. This control is applicable when
  419. ``V4L2_CID_MPEG_VIDEO_BITRATE_MODE`` value is
  420. ``V4L2_MPEG_VIDEO_BITRATE_MODE_CQ``. Valid range is 1 to 100
  421. where 1 indicates lowest quality and 100 indicates highest quality.
  422. Encoder will decide the appropriate quantization parameter and
  423. bitrate to produce requested frame quality.
  424. ``V4L2_CID_MPEG_VIDEO_FRAME_SKIP_MODE (enum)``
  425. enum v4l2_mpeg_video_frame_skip_mode -
  426. Indicates in what conditions the encoder should skip frames. If
  427. encoding a frame would cause the encoded stream to be larger then a
  428. chosen data limit then the frame will be skipped. Possible values
  429. are:
  430. .. tabularcolumns:: |p{8.2cm}|p{9.3cm}|
  431. .. raw:: latex
  432. \small
  433. .. flat-table::
  434. :header-rows: 0
  435. :stub-columns: 0
  436. * - ``V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_DISABLED``
  437. - Frame skip mode is disabled.
  438. * - ``V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_LEVEL_LIMIT``
  439. - Frame skip mode enabled and buffer limit is set by the chosen
  440. level and is defined by the standard.
  441. * - ``V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_BUF_LIMIT``
  442. - Frame skip mode enabled and buffer limit is set by the
  443. :ref:`VBV (MPEG1/2/4) <v4l2-mpeg-video-vbv-size>` or
  444. :ref:`CPB (H264) buffer size <v4l2-mpeg-video-h264-cpb-size>` control.
  445. .. raw:: latex
  446. \normalsize
  447. ``V4L2_CID_MPEG_VIDEO_TEMPORAL_DECIMATION (integer)``
  448. For every captured frame, skip this many subsequent frames (default
  449. 0).
  450. ``V4L2_CID_MPEG_VIDEO_MUTE (boolean)``
  451. "Mutes" the video to a fixed color when capturing. This is useful
  452. for testing, to produce a fixed video bitstream. 0 = unmuted, 1 =
  453. muted.
  454. ``V4L2_CID_MPEG_VIDEO_MUTE_YUV (integer)``
  455. Sets the "mute" color of the video. The supplied 32-bit integer is
  456. interpreted as follows (bit 0 = least significant bit):
  457. .. flat-table::
  458. :header-rows: 0
  459. :stub-columns: 0
  460. * - Bit 0:7
  461. - V chrominance information
  462. * - Bit 8:15
  463. - U chrominance information
  464. * - Bit 16:23
  465. - Y luminance information
  466. * - Bit 24:31
  467. - Must be zero.
  468. .. _v4l2-mpeg-video-dec-pts:
  469. ``V4L2_CID_MPEG_VIDEO_DEC_PTS (integer64)``
  470. This read-only control returns the 33-bit video Presentation Time
  471. Stamp as defined in ITU T-REC-H.222.0 and ISO/IEC 13818-1 of the
  472. currently displayed frame. This is the same PTS as is used in
  473. :ref:`VIDIOC_DECODER_CMD`.
  474. .. _v4l2-mpeg-video-dec-frame:
  475. ``V4L2_CID_MPEG_VIDEO_DEC_FRAME (integer64)``
  476. This read-only control returns the frame counter of the frame that
  477. is currently displayed (decoded). This value is reset to 0 whenever
  478. the decoder is started.
  479. ``V4L2_CID_MPEG_VIDEO_DEC_CONCEAL_COLOR (integer64)``
  480. This control sets the conceal color in YUV color space. It describes
  481. the client preference of the error conceal color in case of an error
  482. where the reference frame is missing. The decoder should fill the
  483. reference buffer with the preferred color and use it for future
  484. decoding. The control is using 16 bits per channel.
  485. Applicable to decoders.
  486. .. flat-table::
  487. :header-rows: 0
  488. :stub-columns: 0
  489. * -
  490. - 8bit format
  491. - 10bit format
  492. - 12bit format
  493. * - Y luminance
  494. - Bit 0:7
  495. - Bit 0:9
  496. - Bit 0:11
  497. * - Cb chrominance
  498. - Bit 16:23
  499. - Bit 16:25
  500. - Bit 16:27
  501. * - Cr chrominance
  502. - Bit 32:39
  503. - Bit 32:41
  504. - Bit 32:43
  505. * - Must be zero
  506. - Bit 48:63
  507. - Bit 48:63
  508. - Bit 48:63
  509. ``V4L2_CID_MPEG_VIDEO_DECODER_SLICE_INTERFACE (boolean)``
  510. If enabled the decoder expects to receive a single slice per buffer,
  511. otherwise the decoder expects a single frame in per buffer.
  512. Applicable to the decoder, all codecs.
  513. ``V4L2_CID_MPEG_VIDEO_DEC_DISPLAY_DELAY_ENABLE (boolean)``
  514. If the display delay is enabled then the decoder is forced to return
  515. a CAPTURE buffer (decoded frame) after processing a certain number
  516. of OUTPUT buffers. The delay can be set through
  517. ``V4L2_CID_MPEG_VIDEO_DEC_DISPLAY_DELAY``. This
  518. feature can be used for example for generating thumbnails of videos.
  519. Applicable to the decoder.
  520. ``V4L2_CID_MPEG_VIDEO_DEC_DISPLAY_DELAY (integer)``
  521. Display delay value for decoder. The decoder is forced to
  522. return a decoded frame after the set 'display delay' number of
  523. frames. If this number is low it may result in frames returned out
  524. of display order, in addition the hardware may still be using the
  525. returned buffer as a reference picture for subsequent frames.
  526. ``V4L2_CID_MPEG_VIDEO_AU_DELIMITER (boolean)``
  527. If enabled then, AUD (Access Unit Delimiter) NALUs will be generated.
  528. That could be useful to find the start of a frame without having to
  529. fully parse each NALU. Applicable to the H264 and HEVC encoders.
  530. ``V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_ENABLE (boolean)``
  531. Enable writing sample aspect ratio in the Video Usability
  532. Information. Applicable to the H264 encoder.
  533. .. _v4l2-mpeg-video-h264-vui-sar-idc:
  534. ``V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_IDC``
  535. (enum)
  536. enum v4l2_mpeg_video_h264_vui_sar_idc -
  537. VUI sample aspect ratio indicator for H.264 encoding. The value is
  538. defined in the table E-1 in the standard. Applicable to the H264
  539. encoder.
  540. .. flat-table::
  541. :header-rows: 0
  542. :stub-columns: 0
  543. * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_UNSPECIFIED``
  544. - Unspecified
  545. * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_1x1``
  546. - 1x1
  547. * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_12x11``
  548. - 12x11
  549. * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_10x11``
  550. - 10x11
  551. * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_16x11``
  552. - 16x11
  553. * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_40x33``
  554. - 40x33
  555. * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_24x11``
  556. - 24x11
  557. * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_20x11``
  558. - 20x11
  559. * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_32x11``
  560. - 32x11
  561. * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_80x33``
  562. - 80x33
  563. * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_18x11``
  564. - 18x11
  565. * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_15x11``
  566. - 15x11
  567. * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_64x33``
  568. - 64x33
  569. * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_160x99``
  570. - 160x99
  571. * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_4x3``
  572. - 4x3
  573. * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_3x2``
  574. - 3x2
  575. * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_2x1``
  576. - 2x1
  577. * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_EXTENDED``
  578. - Extended SAR
  579. ``V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_WIDTH (integer)``
  580. Extended sample aspect ratio width for H.264 VUI encoding.
  581. Applicable to the H264 encoder.
  582. ``V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_HEIGHT (integer)``
  583. Extended sample aspect ratio height for H.264 VUI encoding.
  584. Applicable to the H264 encoder.
  585. .. _v4l2-mpeg-video-h264-level:
  586. ``V4L2_CID_MPEG_VIDEO_H264_LEVEL``
  587. (enum)
  588. enum v4l2_mpeg_video_h264_level -
  589. The level information for the H264 video elementary stream.
  590. Applicable to the H264 encoder. Possible values are:
  591. .. flat-table::
  592. :header-rows: 0
  593. :stub-columns: 0
  594. * - ``V4L2_MPEG_VIDEO_H264_LEVEL_1_0``
  595. - Level 1.0
  596. * - ``V4L2_MPEG_VIDEO_H264_LEVEL_1B``
  597. - Level 1B
  598. * - ``V4L2_MPEG_VIDEO_H264_LEVEL_1_1``
  599. - Level 1.1
  600. * - ``V4L2_MPEG_VIDEO_H264_LEVEL_1_2``
  601. - Level 1.2
  602. * - ``V4L2_MPEG_VIDEO_H264_LEVEL_1_3``
  603. - Level 1.3
  604. * - ``V4L2_MPEG_VIDEO_H264_LEVEL_2_0``
  605. - Level 2.0
  606. * - ``V4L2_MPEG_VIDEO_H264_LEVEL_2_1``
  607. - Level 2.1
  608. * - ``V4L2_MPEG_VIDEO_H264_LEVEL_2_2``
  609. - Level 2.2
  610. * - ``V4L2_MPEG_VIDEO_H264_LEVEL_3_0``
  611. - Level 3.0
  612. * - ``V4L2_MPEG_VIDEO_H264_LEVEL_3_1``
  613. - Level 3.1
  614. * - ``V4L2_MPEG_VIDEO_H264_LEVEL_3_2``
  615. - Level 3.2
  616. * - ``V4L2_MPEG_VIDEO_H264_LEVEL_4_0``
  617. - Level 4.0
  618. * - ``V4L2_MPEG_VIDEO_H264_LEVEL_4_1``
  619. - Level 4.1
  620. * - ``V4L2_MPEG_VIDEO_H264_LEVEL_4_2``
  621. - Level 4.2
  622. * - ``V4L2_MPEG_VIDEO_H264_LEVEL_5_0``
  623. - Level 5.0
  624. * - ``V4L2_MPEG_VIDEO_H264_LEVEL_5_1``
  625. - Level 5.1
  626. * - ``V4L2_MPEG_VIDEO_H264_LEVEL_5_2``
  627. - Level 5.2
  628. * - ``V4L2_MPEG_VIDEO_H264_LEVEL_6_0``
  629. - Level 6.0
  630. * - ``V4L2_MPEG_VIDEO_H264_LEVEL_6_1``
  631. - Level 6.1
  632. * - ``V4L2_MPEG_VIDEO_H264_LEVEL_6_2``
  633. - Level 6.2
  634. .. _v4l2-mpeg-video-mpeg2-level:
  635. ``V4L2_CID_MPEG_VIDEO_MPEG2_LEVEL``
  636. (enum)
  637. enum v4l2_mpeg_video_mpeg2_level -
  638. The level information for the MPEG2 elementary stream. Applicable to
  639. MPEG2 codecs. Possible values are:
  640. .. flat-table::
  641. :header-rows: 0
  642. :stub-columns: 0
  643. * - ``V4L2_MPEG_VIDEO_MPEG2_LEVEL_LOW``
  644. - Low Level (LL)
  645. * - ``V4L2_MPEG_VIDEO_MPEG2_LEVEL_MAIN``
  646. - Main Level (ML)
  647. * - ``V4L2_MPEG_VIDEO_MPEG2_LEVEL_HIGH_1440``
  648. - High-1440 Level (H-14)
  649. * - ``V4L2_MPEG_VIDEO_MPEG2_LEVEL_HIGH``
  650. - High Level (HL)
  651. .. _v4l2-mpeg-video-mpeg4-level:
  652. ``V4L2_CID_MPEG_VIDEO_MPEG4_LEVEL``
  653. (enum)
  654. enum v4l2_mpeg_video_mpeg4_level -
  655. The level information for the MPEG4 elementary stream. Applicable to
  656. the MPEG4 encoder. Possible values are:
  657. .. flat-table::
  658. :header-rows: 0
  659. :stub-columns: 0
  660. * - ``V4L2_MPEG_VIDEO_MPEG4_LEVEL_0``
  661. - Level 0
  662. * - ``V4L2_MPEG_VIDEO_MPEG4_LEVEL_0B``
  663. - Level 0b
  664. * - ``V4L2_MPEG_VIDEO_MPEG4_LEVEL_1``
  665. - Level 1
  666. * - ``V4L2_MPEG_VIDEO_MPEG4_LEVEL_2``
  667. - Level 2
  668. * - ``V4L2_MPEG_VIDEO_MPEG4_LEVEL_3``
  669. - Level 3
  670. * - ``V4L2_MPEG_VIDEO_MPEG4_LEVEL_3B``
  671. - Level 3b
  672. * - ``V4L2_MPEG_VIDEO_MPEG4_LEVEL_4``
  673. - Level 4
  674. * - ``V4L2_MPEG_VIDEO_MPEG4_LEVEL_5``
  675. - Level 5
  676. .. _v4l2-mpeg-video-h264-profile:
  677. ``V4L2_CID_MPEG_VIDEO_H264_PROFILE``
  678. (enum)
  679. enum v4l2_mpeg_video_h264_profile -
  680. The profile information for H264. Applicable to the H264 encoder.
  681. Possible values are:
  682. .. raw:: latex
  683. \small
  684. .. tabularcolumns:: |p{10.2cm}|p{7.3cm}|
  685. .. flat-table::
  686. :header-rows: 0
  687. :stub-columns: 0
  688. * - ``V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE``
  689. - Baseline profile
  690. * - ``V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_BASELINE``
  691. - Constrained Baseline profile
  692. * - ``V4L2_MPEG_VIDEO_H264_PROFILE_MAIN``
  693. - Main profile
  694. * - ``V4L2_MPEG_VIDEO_H264_PROFILE_EXTENDED``
  695. - Extended profile
  696. * - ``V4L2_MPEG_VIDEO_H264_PROFILE_HIGH``
  697. - High profile
  698. * - ``V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_10``
  699. - High 10 profile
  700. * - ``V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_422``
  701. - High 422 profile
  702. * - ``V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_444_PREDICTIVE``
  703. - High 444 Predictive profile
  704. * - ``V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_10_INTRA``
  705. - High 10 Intra profile
  706. * - ``V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_422_INTRA``
  707. - High 422 Intra profile
  708. * - ``V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_444_INTRA``
  709. - High 444 Intra profile
  710. * - ``V4L2_MPEG_VIDEO_H264_PROFILE_CAVLC_444_INTRA``
  711. - CAVLC 444 Intra profile
  712. * - ``V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_BASELINE``
  713. - Scalable Baseline profile
  714. * - ``V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_HIGH``
  715. - Scalable High profile
  716. * - ``V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_HIGH_INTRA``
  717. - Scalable High Intra profile
  718. * - ``V4L2_MPEG_VIDEO_H264_PROFILE_STEREO_HIGH``
  719. - Stereo High profile
  720. * - ``V4L2_MPEG_VIDEO_H264_PROFILE_MULTIVIEW_HIGH``
  721. - Multiview High profile
  722. * - ``V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_HIGH``
  723. - Constrained High profile
  724. .. raw:: latex
  725. \normalsize
  726. .. _v4l2-mpeg-video-mpeg2-profile:
  727. ``V4L2_CID_MPEG_VIDEO_MPEG2_PROFILE``
  728. (enum)
  729. enum v4l2_mpeg_video_mpeg2_profile -
  730. The profile information for MPEG2. Applicable to MPEG2 codecs.
  731. Possible values are:
  732. .. raw:: latex
  733. \small
  734. .. tabularcolumns:: |p{10.2cm}|p{7.3cm}|
  735. .. flat-table::
  736. :header-rows: 0
  737. :stub-columns: 0
  738. * - ``V4L2_MPEG_VIDEO_MPEG2_PROFILE_SIMPLE``
  739. - Simple profile (SP)
  740. * - ``V4L2_MPEG_VIDEO_MPEG2_PROFILE_MAIN``
  741. - Main profile (MP)
  742. * - ``V4L2_MPEG_VIDEO_MPEG2_PROFILE_SNR_SCALABLE``
  743. - SNR Scalable profile (SNR)
  744. * - ``V4L2_MPEG_VIDEO_MPEG2_PROFILE_SPATIALLY_SCALABLE``
  745. - Spatially Scalable profile (Spt)
  746. * - ``V4L2_MPEG_VIDEO_MPEG2_PROFILE_HIGH``
  747. - High profile (HP)
  748. * - ``V4L2_MPEG_VIDEO_MPEG2_PROFILE_MULTIVIEW``
  749. - Multi-view profile (MVP)
  750. .. raw:: latex
  751. \normalsize
  752. .. _v4l2-mpeg-video-mpeg4-profile:
  753. ``V4L2_CID_MPEG_VIDEO_MPEG4_PROFILE``
  754. (enum)
  755. enum v4l2_mpeg_video_mpeg4_profile -
  756. The profile information for MPEG4. Applicable to the MPEG4 encoder.
  757. Possible values are:
  758. .. raw:: latex
  759. \small
  760. .. tabularcolumns:: |p{11.8cm}|p{5.7cm}|
  761. .. flat-table::
  762. :header-rows: 0
  763. :stub-columns: 0
  764. * - ``V4L2_MPEG_VIDEO_MPEG4_PROFILE_SIMPLE``
  765. - Simple profile
  766. * - ``V4L2_MPEG_VIDEO_MPEG4_PROFILE_ADVANCED_SIMPLE``
  767. - Advanced Simple profile
  768. * - ``V4L2_MPEG_VIDEO_MPEG4_PROFILE_CORE``
  769. - Core profile
  770. * - ``V4L2_MPEG_VIDEO_MPEG4_PROFILE_SIMPLE_SCALABLE``
  771. - Simple Scalable profile
  772. * - ``V4L2_MPEG_VIDEO_MPEG4_PROFILE_ADVANCED_CODING_EFFICIENCY``
  773. - Advanced Coding Efficiency profile
  774. .. raw:: latex
  775. \normalsize
  776. ``V4L2_CID_MPEG_VIDEO_MAX_REF_PIC (integer)``
  777. The maximum number of reference pictures used for encoding.
  778. Applicable to the encoder.
  779. .. _v4l2-mpeg-video-multi-slice-mode:
  780. ``V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE``
  781. (enum)
  782. enum v4l2_mpeg_video_multi_slice_mode -
  783. Determines how the encoder should handle division of frame into
  784. slices. Applicable to the encoder. Possible values are:
  785. .. tabularcolumns:: |p{9.6cm}|p{7.9cm}|
  786. .. flat-table::
  787. :header-rows: 0
  788. :stub-columns: 0
  789. * - ``V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_SINGLE``
  790. - Single slice per frame.
  791. * - ``V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_MB``
  792. - Multiple slices with set maximum number of macroblocks per slice.
  793. * - ``V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_BYTES``
  794. - Multiple slice with set maximum size in bytes per slice.
  795. ``V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_MB (integer)``
  796. The maximum number of macroblocks in a slice. Used when
  797. ``V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE`` is set to
  798. ``V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_MB``. Applicable to the
  799. encoder.
  800. ``V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_BYTES (integer)``
  801. The maximum size of a slice in bytes. Used when
  802. ``V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE`` is set to
  803. ``V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_BYTES``. Applicable to the
  804. encoder.
  805. .. _v4l2-mpeg-video-h264-loop-filter-mode:
  806. ``V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_MODE``
  807. (enum)
  808. enum v4l2_mpeg_video_h264_loop_filter_mode -
  809. Loop filter mode for H264 encoder. Possible values are:
  810. .. raw:: latex
  811. \small
  812. .. tabularcolumns:: |p{13.5cm}|p{4.0cm}|
  813. .. flat-table::
  814. :header-rows: 0
  815. :stub-columns: 0
  816. * - ``V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_ENABLED``
  817. - Loop filter is enabled.
  818. * - ``V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED``
  819. - Loop filter is disabled.
  820. * - ``V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED_AT_SLICE_BOUNDARY``
  821. - Loop filter is disabled at the slice boundary.
  822. .. raw:: latex
  823. \normalsize
  824. ``V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_ALPHA (integer)``
  825. Loop filter alpha coefficient, defined in the H264 standard.
  826. This value corresponds to the slice_alpha_c0_offset_div2 slice header
  827. field, and should be in the range of -6 to +6, inclusive. The actual alpha
  828. offset FilterOffsetA is twice this value.
  829. Applicable to the H264 encoder.
  830. ``V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_BETA (integer)``
  831. Loop filter beta coefficient, defined in the H264 standard.
  832. This corresponds to the slice_beta_offset_div2 slice header field, and
  833. should be in the range of -6 to +6, inclusive. The actual beta offset
  834. FilterOffsetB is twice this value.
  835. Applicable to the H264 encoder.
  836. .. _v4l2-mpeg-video-h264-entropy-mode:
  837. ``V4L2_CID_MPEG_VIDEO_H264_ENTROPY_MODE``
  838. (enum)
  839. enum v4l2_mpeg_video_h264_entropy_mode -
  840. Entropy coding mode for H264 - CABAC/CAVALC. Applicable to the H264
  841. encoder. Possible values are:
  842. .. tabularcolumns:: |p{9.0cm}|p{8.5cm}|
  843. .. flat-table::
  844. :header-rows: 0
  845. :stub-columns: 0
  846. * - ``V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CAVLC``
  847. - Use CAVLC entropy coding.
  848. * - ``V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CABAC``
  849. - Use CABAC entropy coding.
  850. ``V4L2_CID_MPEG_VIDEO_H264_8X8_TRANSFORM (boolean)``
  851. Enable 8X8 transform for H264. Applicable to the H264 encoder.
  852. ``V4L2_CID_MPEG_VIDEO_H264_CONSTRAINED_INTRA_PREDICTION (boolean)``
  853. Enable constrained intra prediction for H264. Applicable to the H264
  854. encoder.
  855. ``V4L2_CID_MPEG_VIDEO_H264_CHROMA_QP_INDEX_OFFSET (integer)``
  856. Specify the offset that should be added to the luma quantization
  857. parameter to determine the chroma quantization parameter. Applicable
  858. to the H264 encoder.
  859. ``V4L2_CID_MPEG_VIDEO_CYCLIC_INTRA_REFRESH_MB (integer)``
  860. Cyclic intra macroblock refresh. This is the number of continuous
  861. macroblocks refreshed every frame. Each frame a successive set of
  862. macroblocks is refreshed until the cycle completes and starts from
  863. the top of the frame. Setting this control to zero means that
  864. macroblocks will not be refreshed. Note that this control will not
  865. take effect when ``V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD`` control
  866. is set to non zero value.
  867. Applicable to H264, H263 and MPEG4 encoder.
  868. ``V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD_TYPE (enum)``
  869. enum v4l2_mpeg_video_intra_refresh_period_type -
  870. Sets the type of intra refresh. The period to refresh
  871. the whole frame is specified by V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD.
  872. Note that if this control is not present, then it is undefined what
  873. refresh type is used and it is up to the driver to decide.
  874. Applicable to H264 and HEVC encoders. Possible values are:
  875. .. tabularcolumns:: |p{9.6cm}|p{7.9cm}|
  876. .. flat-table::
  877. :header-rows: 0
  878. :stub-columns: 0
  879. * - ``V4L2_MPEG_VIDEO_INTRA_REFRESH_PERIOD_TYPE_RANDOM``
  880. - The whole frame is completely refreshed randomly
  881. after the specified period.
  882. * - ``V4L2_MPEG_VIDEO_INTRA_REFRESH_PERIOD_TYPE_CYCLIC``
  883. - The whole frame MBs are completely refreshed in cyclic order
  884. after the specified period.
  885. ``V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD (integer)``
  886. Intra macroblock refresh period. This sets the period to refresh
  887. the whole frame. In other words, this defines the number of frames
  888. for which the whole frame will be intra-refreshed. An example:
  889. setting period to 1 means that the whole frame will be refreshed,
  890. setting period to 2 means that the half of macroblocks will be
  891. intra-refreshed on frameX and the other half of macroblocks
  892. will be refreshed in frameX + 1 and so on. Setting the period to
  893. zero means no period is specified.
  894. Note that if the client sets this control to non zero value the
  895. ``V4L2_CID_MPEG_VIDEO_CYCLIC_INTRA_REFRESH_MB`` control shall be
  896. ignored. Applicable to H264 and HEVC encoders.
  897. ``V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE (boolean)``
  898. Frame level rate control enable. If this control is disabled then
  899. the quantization parameter for each frame type is constant and set
  900. with appropriate controls (e.g.
  901. ``V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP``). If frame rate control is
  902. enabled then quantization parameter is adjusted to meet the chosen
  903. bitrate. Minimum and maximum value for the quantization parameter
  904. can be set with appropriate controls (e.g.
  905. ``V4L2_CID_MPEG_VIDEO_H263_MIN_QP``). Applicable to encoders.
  906. ``V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE (boolean)``
  907. Macroblock level rate control enable. Applicable to the MPEG4 and
  908. H264 encoders.
  909. ``V4L2_CID_MPEG_VIDEO_MPEG4_QPEL (boolean)``
  910. Quarter pixel motion estimation for MPEG4. Applicable to the MPEG4
  911. encoder.
  912. ``V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP (integer)``
  913. Quantization parameter for an I frame for H263. Valid range: from 1
  914. to 31.
  915. ``V4L2_CID_MPEG_VIDEO_H263_MIN_QP (integer)``
  916. Minimum quantization parameter for H263. Valid range: from 1 to 31.
  917. ``V4L2_CID_MPEG_VIDEO_H263_MAX_QP (integer)``
  918. Maximum quantization parameter for H263. Valid range: from 1 to 31.
  919. ``V4L2_CID_MPEG_VIDEO_H263_P_FRAME_QP (integer)``
  920. Quantization parameter for an P frame for H263. Valid range: from 1
  921. to 31.
  922. ``V4L2_CID_MPEG_VIDEO_H263_B_FRAME_QP (integer)``
  923. Quantization parameter for an B frame for H263. Valid range: from 1
  924. to 31.
  925. ``V4L2_CID_MPEG_VIDEO_H264_I_FRAME_QP (integer)``
  926. Quantization parameter for an I frame for H264. Valid range: from 0
  927. to 51.
  928. ``V4L2_CID_MPEG_VIDEO_H264_MIN_QP (integer)``
  929. Minimum quantization parameter for H264. Valid range: from 0 to 51.
  930. ``V4L2_CID_MPEG_VIDEO_H264_MAX_QP (integer)``
  931. Maximum quantization parameter for H264. Valid range: from 0 to 51.
  932. ``V4L2_CID_MPEG_VIDEO_H264_P_FRAME_QP (integer)``
  933. Quantization parameter for an P frame for H264. Valid range: from 0
  934. to 51.
  935. ``V4L2_CID_MPEG_VIDEO_H264_B_FRAME_QP (integer)``
  936. Quantization parameter for an B frame for H264. Valid range: from 0
  937. to 51.
  938. ``V4L2_CID_MPEG_VIDEO_H264_I_FRAME_MIN_QP (integer)``
  939. Minimum quantization parameter for the H264 I frame to limit I frame
  940. quality to a range. Valid range: from 0 to 51. If
  941. V4L2_CID_MPEG_VIDEO_H264_MIN_QP is also set, the quantization parameter
  942. should be chosen to meet both requirements.
  943. ``V4L2_CID_MPEG_VIDEO_H264_I_FRAME_MAX_QP (integer)``
  944. Maximum quantization parameter for the H264 I frame to limit I frame
  945. quality to a range. Valid range: from 0 to 51. If
  946. V4L2_CID_MPEG_VIDEO_H264_MAX_QP is also set, the quantization parameter
  947. should be chosen to meet both requirements.
  948. ``V4L2_CID_MPEG_VIDEO_H264_P_FRAME_MIN_QP (integer)``
  949. Minimum quantization parameter for the H264 P frame to limit P frame
  950. quality to a range. Valid range: from 0 to 51. If
  951. V4L2_CID_MPEG_VIDEO_H264_MIN_QP is also set, the quantization parameter
  952. should be chosen to meet both requirements.
  953. ``V4L2_CID_MPEG_VIDEO_H264_P_FRAME_MAX_QP (integer)``
  954. Maximum quantization parameter for the H264 P frame to limit P frame
  955. quality to a range. Valid range: from 0 to 51. If
  956. V4L2_CID_MPEG_VIDEO_H264_MAX_QP is also set, the quantization parameter
  957. should be chosen to meet both requirements.
  958. ``V4L2_CID_MPEG_VIDEO_H264_B_FRAME_MIN_QP (integer)``
  959. Minimum quantization parameter for the H264 B frame to limit B frame
  960. quality to a range. Valid range: from 0 to 51. If
  961. V4L2_CID_MPEG_VIDEO_H264_MIN_QP is also set, the quantization parameter
  962. should be chosen to meet both requirements.
  963. ``V4L2_CID_MPEG_VIDEO_H264_B_FRAME_MAX_QP (integer)``
  964. Maximum quantization parameter for the H264 B frame to limit B frame
  965. quality to a range. Valid range: from 0 to 51. If
  966. V4L2_CID_MPEG_VIDEO_H264_MAX_QP is also set, the quantization parameter
  967. should be chosen to meet both requirements.
  968. ``V4L2_CID_MPEG_VIDEO_MPEG4_I_FRAME_QP (integer)``
  969. Quantization parameter for an I frame for MPEG4. Valid range: from 1
  970. to 31.
  971. ``V4L2_CID_MPEG_VIDEO_MPEG4_MIN_QP (integer)``
  972. Minimum quantization parameter for MPEG4. Valid range: from 1 to 31.
  973. ``V4L2_CID_MPEG_VIDEO_MPEG4_MAX_QP (integer)``
  974. Maximum quantization parameter for MPEG4. Valid range: from 1 to 31.
  975. ``V4L2_CID_MPEG_VIDEO_MPEG4_P_FRAME_QP (integer)``
  976. Quantization parameter for an P frame for MPEG4. Valid range: from 1
  977. to 31.
  978. ``V4L2_CID_MPEG_VIDEO_MPEG4_B_FRAME_QP (integer)``
  979. Quantization parameter for an B frame for MPEG4. Valid range: from 1
  980. to 31.
  981. .. _v4l2-mpeg-video-vbv-size:
  982. ``V4L2_CID_MPEG_VIDEO_VBV_SIZE (integer)``
  983. The Video Buffer Verifier size in kilobytes, it is used as a
  984. limitation of frame skip. The VBV is defined in the standard as a
  985. mean to verify that the produced stream will be successfully
  986. decoded. The standard describes it as "Part of a hypothetical
  987. decoder that is conceptually connected to the output of the encoder.
  988. Its purpose is to provide a constraint on the variability of the
  989. data rate that an encoder or editing process may produce.".
  990. Applicable to the MPEG1, MPEG2, MPEG4 encoders.
  991. .. _v4l2-mpeg-video-vbv-delay:
  992. ``V4L2_CID_MPEG_VIDEO_VBV_DELAY (integer)``
  993. Sets the initial delay in milliseconds for VBV buffer control.
  994. .. _v4l2-mpeg-video-hor-search-range:
  995. ``V4L2_CID_MPEG_VIDEO_MV_H_SEARCH_RANGE (integer)``
  996. Horizontal search range defines maximum horizontal search area in
  997. pixels to search and match for the present Macroblock (MB) in the
  998. reference picture. This V4L2 control macro is used to set horizontal
  999. search range for motion estimation module in video encoder.
  1000. .. _v4l2-mpeg-video-vert-search-range:
  1001. ``V4L2_CID_MPEG_VIDEO_MV_V_SEARCH_RANGE (integer)``
  1002. Vertical search range defines maximum vertical search area in pixels
  1003. to search and match for the present Macroblock (MB) in the reference
  1004. picture. This V4L2 control macro is used to set vertical search
  1005. range for motion estimation module in video encoder.
  1006. .. _v4l2-mpeg-video-force-key-frame:
  1007. ``V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME (button)``
  1008. Force a key frame for the next queued buffer. Applicable to
  1009. encoders. This is a general, codec-agnostic keyframe control.
  1010. .. _v4l2-mpeg-video-h264-cpb-size:
  1011. ``V4L2_CID_MPEG_VIDEO_H264_CPB_SIZE (integer)``
  1012. The Coded Picture Buffer size in kilobytes, it is used as a
  1013. limitation of frame skip. The CPB is defined in the H264 standard as
  1014. a mean to verify that the produced stream will be successfully
  1015. decoded. Applicable to the H264 encoder.
  1016. ``V4L2_CID_MPEG_VIDEO_H264_I_PERIOD (integer)``
  1017. Period between I-frames in the open GOP for H264. In case of an open
  1018. GOP this is the period between two I-frames. The period between IDR
  1019. (Instantaneous Decoding Refresh) frames is taken from the GOP_SIZE
  1020. control. An IDR frame, which stands for Instantaneous Decoding
  1021. Refresh is an I-frame after which no prior frames are referenced.
  1022. This means that a stream can be restarted from an IDR frame without
  1023. the need to store or decode any previous frames. Applicable to the
  1024. H264 encoder.
  1025. .. _v4l2-mpeg-video-header-mode:
  1026. ``V4L2_CID_MPEG_VIDEO_HEADER_MODE``
  1027. (enum)
  1028. enum v4l2_mpeg_video_header_mode -
  1029. Determines whether the header is returned as the first buffer or is
  1030. it returned together with the first frame. Applicable to encoders.
  1031. Possible values are:
  1032. .. raw:: latex
  1033. \small
  1034. .. tabularcolumns:: |p{10.3cm}|p{7.2cm}|
  1035. .. flat-table::
  1036. :header-rows: 0
  1037. :stub-columns: 0
  1038. * - ``V4L2_MPEG_VIDEO_HEADER_MODE_SEPARATE``
  1039. - The stream header is returned separately in the first buffer.
  1040. * - ``V4L2_MPEG_VIDEO_HEADER_MODE_JOINED_WITH_1ST_FRAME``
  1041. - The stream header is returned together with the first encoded
  1042. frame.
  1043. .. raw:: latex
  1044. \normalsize
  1045. ``V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER (boolean)``
  1046. Repeat the video sequence headers. Repeating these headers makes
  1047. random access to the video stream easier. Applicable to the MPEG1, 2
  1048. and 4 encoder.
  1049. ``V4L2_CID_MPEG_VIDEO_DECODER_MPEG4_DEBLOCK_FILTER (boolean)``
  1050. Enabled the deblocking post processing filter for MPEG4 decoder.
  1051. Applicable to the MPEG4 decoder.
  1052. ``V4L2_CID_MPEG_VIDEO_MPEG4_VOP_TIME_RES (integer)``
  1053. vop_time_increment_resolution value for MPEG4. Applicable to the
  1054. MPEG4 encoder.
  1055. ``V4L2_CID_MPEG_VIDEO_MPEG4_VOP_TIME_INC (integer)``
  1056. vop_time_increment value for MPEG4. Applicable to the MPEG4
  1057. encoder.
  1058. ``V4L2_CID_MPEG_VIDEO_H264_SEI_FRAME_PACKING (boolean)``
  1059. Enable generation of frame packing supplemental enhancement
  1060. information in the encoded bitstream. The frame packing SEI message
  1061. contains the arrangement of L and R planes for 3D viewing.
  1062. Applicable to the H264 encoder.
  1063. ``V4L2_CID_MPEG_VIDEO_H264_SEI_FP_CURRENT_FRAME_0 (boolean)``
  1064. Sets current frame as frame0 in frame packing SEI. Applicable to the
  1065. H264 encoder.
  1066. .. _v4l2-mpeg-video-h264-sei-fp-arrangement-type:
  1067. ``V4L2_CID_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE``
  1068. (enum)
  1069. enum v4l2_mpeg_video_h264_sei_fp_arrangement_type -
  1070. Frame packing arrangement type for H264 SEI. Applicable to the H264
  1071. encoder. Possible values are:
  1072. .. raw:: latex
  1073. \small
  1074. .. tabularcolumns:: |p{12cm}|p{5.5cm}|
  1075. .. flat-table::
  1076. :header-rows: 0
  1077. :stub-columns: 0
  1078. * - ``V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_CHEKERBOARD``
  1079. - Pixels are alternatively from L and R.
  1080. * - ``V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_COLUMN``
  1081. - L and R are interlaced by column.
  1082. * - ``V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_ROW``
  1083. - L and R are interlaced by row.
  1084. * - ``V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_SIDE_BY_SIDE``
  1085. - L is on the left, R on the right.
  1086. * - ``V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_TOP_BOTTOM``
  1087. - L is on top, R on bottom.
  1088. * - ``V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_TEMPORAL``
  1089. - One view per frame.
  1090. .. raw:: latex
  1091. \normalsize
  1092. ``V4L2_CID_MPEG_VIDEO_H264_FMO (boolean)``
  1093. Enables flexible macroblock ordering in the encoded bitstream. It is
  1094. a technique used for restructuring the ordering of macroblocks in
  1095. pictures. Applicable to the H264 encoder.
  1096. .. _v4l2-mpeg-video-h264-fmo-map-type:
  1097. ``V4L2_CID_MPEG_VIDEO_H264_FMO_MAP_TYPE``
  1098. (enum)
  1099. enum v4l2_mpeg_video_h264_fmo_map_type -
  1100. When using FMO, the map type divides the image in different scan
  1101. patterns of macroblocks. Applicable to the H264 encoder. Possible
  1102. values are:
  1103. .. raw:: latex
  1104. \small
  1105. .. tabularcolumns:: |p{12.5cm}|p{5.0cm}|
  1106. .. flat-table::
  1107. :header-rows: 0
  1108. :stub-columns: 0
  1109. * - ``V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_INTERLEAVED_SLICES``
  1110. - Slices are interleaved one after other with macroblocks in run
  1111. length order.
  1112. * - ``V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_SCATTERED_SLICES``
  1113. - Scatters the macroblocks based on a mathematical function known to
  1114. both encoder and decoder.
  1115. * - ``V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_FOREGROUND_WITH_LEFT_OVER``
  1116. - Macroblocks arranged in rectangular areas or regions of interest.
  1117. * - ``V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_BOX_OUT``
  1118. - Slice groups grow in a cyclic way from centre to outwards.
  1119. * - ``V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_RASTER_SCAN``
  1120. - Slice groups grow in raster scan pattern from left to right.
  1121. * - ``V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_WIPE_SCAN``
  1122. - Slice groups grow in wipe scan pattern from top to bottom.
  1123. * - ``V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_EXPLICIT``
  1124. - User defined map type.
  1125. .. raw:: latex
  1126. \normalsize
  1127. ``V4L2_CID_MPEG_VIDEO_H264_FMO_SLICE_GROUP (integer)``
  1128. Number of slice groups in FMO. Applicable to the H264 encoder.
  1129. .. _v4l2-mpeg-video-h264-fmo-change-direction:
  1130. ``V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_DIRECTION``
  1131. (enum)
  1132. enum v4l2_mpeg_video_h264_fmo_change_dir -
  1133. Specifies a direction of the slice group change for raster and wipe
  1134. maps. Applicable to the H264 encoder. Possible values are:
  1135. .. tabularcolumns:: |p{9.6cm}|p{7.9cm}|
  1136. .. flat-table::
  1137. :header-rows: 0
  1138. :stub-columns: 0
  1139. * - ``V4L2_MPEG_VIDEO_H264_FMO_CHANGE_DIR_RIGHT``
  1140. - Raster scan or wipe right.
  1141. * - ``V4L2_MPEG_VIDEO_H264_FMO_CHANGE_DIR_LEFT``
  1142. - Reverse raster scan or wipe left.
  1143. ``V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_RATE (integer)``
  1144. Specifies the size of the first slice group for raster and wipe map.
  1145. Applicable to the H264 encoder.
  1146. ``V4L2_CID_MPEG_VIDEO_H264_FMO_RUN_LENGTH (integer)``
  1147. Specifies the number of consecutive macroblocks for the interleaved
  1148. map. Applicable to the H264 encoder.
  1149. ``V4L2_CID_MPEG_VIDEO_H264_ASO (boolean)``
  1150. Enables arbitrary slice ordering in encoded bitstream. Applicable to
  1151. the H264 encoder.
  1152. ``V4L2_CID_MPEG_VIDEO_H264_ASO_SLICE_ORDER (integer)``
  1153. Specifies the slice order in ASO. Applicable to the H264 encoder.
  1154. The supplied 32-bit integer is interpreted as follows (bit 0 = least
  1155. significant bit):
  1156. .. flat-table::
  1157. :header-rows: 0
  1158. :stub-columns: 0
  1159. * - Bit 0:15
  1160. - Slice ID
  1161. * - Bit 16:32
  1162. - Slice position or order
  1163. ``V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING (boolean)``
  1164. Enables H264 hierarchical coding. Applicable to the H264 encoder.
  1165. .. _v4l2-mpeg-video-h264-hierarchical-coding-type:
  1166. ``V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_TYPE``
  1167. (enum)
  1168. enum v4l2_mpeg_video_h264_hierarchical_coding_type -
  1169. Specifies the hierarchical coding type. Applicable to the H264
  1170. encoder. Possible values are:
  1171. .. flat-table::
  1172. :header-rows: 0
  1173. :stub-columns: 0
  1174. * - ``V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_B``
  1175. - Hierarchical B coding.
  1176. * - ``V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_P``
  1177. - Hierarchical P coding.
  1178. ``V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER (integer)``
  1179. Specifies the number of hierarchical coding layers. Applicable to
  1180. the H264 encoder.
  1181. ``V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER_QP (integer)``
  1182. Specifies a user defined QP for each layer. Applicable to the H264
  1183. encoder. The supplied 32-bit integer is interpreted as follows (bit
  1184. 0 = least significant bit):
  1185. .. flat-table::
  1186. :header-rows: 0
  1187. :stub-columns: 0
  1188. * - Bit 0:15
  1189. - QP value
  1190. * - Bit 16:32
  1191. - Layer number
  1192. ``V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L0_BR (integer)``
  1193. Indicates bit rate (bps) for hierarchical coding layer 0 for H264 encoder.
  1194. ``V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L1_BR (integer)``
  1195. Indicates bit rate (bps) for hierarchical coding layer 1 for H264 encoder.
  1196. ``V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L2_BR (integer)``
  1197. Indicates bit rate (bps) for hierarchical coding layer 2 for H264 encoder.
  1198. ``V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L3_BR (integer)``
  1199. Indicates bit rate (bps) for hierarchical coding layer 3 for H264 encoder.
  1200. ``V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L4_BR (integer)``
  1201. Indicates bit rate (bps) for hierarchical coding layer 4 for H264 encoder.
  1202. ``V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L5_BR (integer)``
  1203. Indicates bit rate (bps) for hierarchical coding layer 5 for H264 encoder.
  1204. ``V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L6_BR (integer)``
  1205. Indicates bit rate (bps) for hierarchical coding layer 6 for H264 encoder.
  1206. ``V4L2_CID_FWHT_I_FRAME_QP (integer)``
  1207. Quantization parameter for an I frame for FWHT. Valid range: from 1
  1208. to 31.
  1209. ``V4L2_CID_FWHT_P_FRAME_QP (integer)``
  1210. Quantization parameter for a P frame for FWHT. Valid range: from 1
  1211. to 31.
  1212. ``V4L2_CID_MPEG_VIDEO_AVERAGE_QP (integer)``
  1213. This read-only control returns the average QP value of the currently
  1214. encoded frame. The value applies to the last dequeued capture buffer
  1215. (VIDIOC_DQBUF). Its valid range depends on the encoding format and parameters.
  1216. For H264, its valid range is from 0 to 51.
  1217. For HEVC, its valid range is from 0 to 51 for 8 bit and
  1218. from 0 to 63 for 10 bit.
  1219. For H263 and MPEG4, its valid range is from 1 to 31.
  1220. For VP8, its valid range is from 0 to 127.
  1221. For VP9, its valid range is from 0 to 255.
  1222. If the codec's MIN_QP and MAX_QP are set, then the QP will meet both requirements.
  1223. Codecs need to always use the specified range, rather then a HW custom range.
  1224. Applicable to encoders
  1225. .. raw:: latex
  1226. \normalsize
  1227. MFC 5.1 MPEG Controls
  1228. =====================
  1229. The following MPEG class controls deal with MPEG decoding and encoding
  1230. settings that are specific to the Multi Format Codec 5.1 device present
  1231. in the S5P family of SoCs by Samsung.
  1232. .. _mfc51-control-id:
  1233. MFC 5.1 Control IDs
  1234. -------------------
  1235. ``V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY_ENABLE (boolean)``
  1236. If the display delay is enabled then the decoder is forced to return
  1237. a CAPTURE buffer (decoded frame) after processing a certain number
  1238. of OUTPUT buffers. The delay can be set through
  1239. ``V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY``. This
  1240. feature can be used for example for generating thumbnails of videos.
  1241. Applicable to the H264 decoder.
  1242. .. note::
  1243. This control is deprecated. Use the standard
  1244. ``V4L2_CID_MPEG_VIDEO_DEC_DISPLAY_DELAY_ENABLE`` control instead.
  1245. ``V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY (integer)``
  1246. Display delay value for H264 decoder. The decoder is forced to
  1247. return a decoded frame after the set 'display delay' number of
  1248. frames. If this number is low it may result in frames returned out
  1249. of display order, in addition the hardware may still be using the
  1250. returned buffer as a reference picture for subsequent frames.
  1251. .. note::
  1252. This control is deprecated. Use the standard
  1253. ``V4L2_CID_MPEG_VIDEO_DEC_DISPLAY_DELAY`` control instead.
  1254. ``V4L2_CID_MPEG_MFC51_VIDEO_H264_NUM_REF_PIC_FOR_P (integer)``
  1255. The number of reference pictures used for encoding a P picture.
  1256. Applicable to the H264 encoder.
  1257. ``V4L2_CID_MPEG_MFC51_VIDEO_PADDING (boolean)``
  1258. Padding enable in the encoder - use a color instead of repeating
  1259. border pixels. Applicable to encoders.
  1260. ``V4L2_CID_MPEG_MFC51_VIDEO_PADDING_YUV (integer)``
  1261. Padding color in the encoder. Applicable to encoders. The supplied
  1262. 32-bit integer is interpreted as follows (bit 0 = least significant
  1263. bit):
  1264. .. flat-table::
  1265. :header-rows: 0
  1266. :stub-columns: 0
  1267. * - Bit 0:7
  1268. - V chrominance information
  1269. * - Bit 8:15
  1270. - U chrominance information
  1271. * - Bit 16:23
  1272. - Y luminance information
  1273. * - Bit 24:31
  1274. - Must be zero.
  1275. ``V4L2_CID_MPEG_MFC51_VIDEO_RC_REACTION_COEFF (integer)``
  1276. Reaction coefficient for MFC rate control. Applicable to encoders.
  1277. .. note::
  1278. #. Valid only when the frame level RC is enabled.
  1279. #. For tight CBR, this field must be small (ex. 2 ~ 10). For
  1280. VBR, this field must be large (ex. 100 ~ 1000).
  1281. #. It is not recommended to use the greater number than
  1282. FRAME_RATE * (10^9 / BIT_RATE).
  1283. ``V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_DARK (boolean)``
  1284. Adaptive rate control for dark region. Valid only when H.264 and
  1285. macroblock level RC is enabled
  1286. (``V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE``). Applicable to the H264
  1287. encoder.
  1288. ``V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_SMOOTH (boolean)``
  1289. Adaptive rate control for smooth region. Valid only when H.264 and
  1290. macroblock level RC is enabled
  1291. (``V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE``). Applicable to the H264
  1292. encoder.
  1293. ``V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_STATIC (boolean)``
  1294. Adaptive rate control for static region. Valid only when H.264 and
  1295. macroblock level RC is enabled
  1296. (``V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE``). Applicable to the H264
  1297. encoder.
  1298. ``V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_ACTIVITY (boolean)``
  1299. Adaptive rate control for activity region. Valid only when H.264 and
  1300. macroblock level RC is enabled
  1301. (``V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE``). Applicable to the H264
  1302. encoder.
  1303. .. _v4l2-mpeg-mfc51-video-frame-skip-mode:
  1304. ``V4L2_CID_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE``
  1305. (enum)
  1306. .. note::
  1307. This control is deprecated. Use the standard
  1308. ``V4L2_CID_MPEG_VIDEO_FRAME_SKIP_MODE`` control instead.
  1309. enum v4l2_mpeg_mfc51_video_frame_skip_mode -
  1310. Indicates in what conditions the encoder should skip frames. If
  1311. encoding a frame would cause the encoded stream to be larger then a
  1312. chosen data limit then the frame will be skipped. Possible values
  1313. are:
  1314. .. tabularcolumns:: |p{9.4cm}|p{8.1cm}|
  1315. .. raw:: latex
  1316. \small
  1317. .. flat-table::
  1318. :header-rows: 0
  1319. :stub-columns: 0
  1320. * - ``V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_DISABLED``
  1321. - Frame skip mode is disabled.
  1322. * - ``V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_LEVEL_LIMIT``
  1323. - Frame skip mode enabled and buffer limit is set by the chosen
  1324. level and is defined by the standard.
  1325. * - ``V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_BUF_LIMIT``
  1326. - Frame skip mode enabled and buffer limit is set by the VBV
  1327. (MPEG1/2/4) or CPB (H264) buffer size control.
  1328. .. raw:: latex
  1329. \normalsize
  1330. ``V4L2_CID_MPEG_MFC51_VIDEO_RC_FIXED_TARGET_BIT (integer)``
  1331. Enable rate-control with fixed target bit. If this setting is
  1332. enabled, then the rate control logic of the encoder will calculate
  1333. the average bitrate for a GOP and keep it below or equal the set
  1334. bitrate target. Otherwise the rate control logic calculates the
  1335. overall average bitrate for the stream and keeps it below or equal
  1336. to the set bitrate. In the first case the average bitrate for the
  1337. whole stream will be smaller then the set bitrate. This is caused
  1338. because the average is calculated for smaller number of frames, on
  1339. the other hand enabling this setting will ensure that the stream
  1340. will meet tight bandwidth constraints. Applicable to encoders.
  1341. .. _v4l2-mpeg-mfc51-video-force-frame-type:
  1342. ``V4L2_CID_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE``
  1343. (enum)
  1344. enum v4l2_mpeg_mfc51_video_force_frame_type -
  1345. Force a frame type for the next queued buffer. Applicable to
  1346. encoders. Possible values are:
  1347. .. tabularcolumns:: |p{9.9cm}|p{7.6cm}|
  1348. .. flat-table::
  1349. :header-rows: 0
  1350. :stub-columns: 0
  1351. * - ``V4L2_MPEG_MFC51_FORCE_FRAME_TYPE_DISABLED``
  1352. - Forcing a specific frame type disabled.
  1353. * - ``V4L2_MPEG_MFC51_FORCE_FRAME_TYPE_I_FRAME``
  1354. - Force an I-frame.
  1355. * - ``V4L2_MPEG_MFC51_FORCE_FRAME_TYPE_NOT_CODED``
  1356. - Force a non-coded frame.
  1357. CX2341x MPEG Controls
  1358. =====================
  1359. The following MPEG class controls deal with MPEG encoding settings that
  1360. are specific to the Conexant CX23415 and CX23416 MPEG encoding chips.
  1361. .. _cx2341x-control-id:
  1362. CX2341x Control IDs
  1363. -------------------
  1364. .. _v4l2-mpeg-cx2341x-video-spatial-filter-mode:
  1365. ``V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE``
  1366. (enum)
  1367. enum v4l2_mpeg_cx2341x_video_spatial_filter_mode -
  1368. Sets the Spatial Filter mode (default ``MANUAL``). Possible values
  1369. are:
  1370. .. tabularcolumns:: |p{11.5cm}|p{6.0cm}|
  1371. .. flat-table::
  1372. :header-rows: 0
  1373. :stub-columns: 0
  1374. * - ``V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_MANUAL``
  1375. - Choose the filter manually
  1376. * - ``V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_AUTO``
  1377. - Choose the filter automatically
  1378. ``V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER (integer (0-15))``
  1379. The setting for the Spatial Filter. 0 = off, 15 = maximum. (Default
  1380. is 0.)
  1381. .. _luma-spatial-filter-type:
  1382. ``V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE``
  1383. (enum)
  1384. enum v4l2_mpeg_cx2341x_video_luma_spatial_filter_type -
  1385. Select the algorithm to use for the Luma Spatial Filter (default
  1386. ``1D_HOR``). Possible values:
  1387. .. tabularcolumns:: |p{13.1cm}|p{4.4cm}|
  1388. .. raw:: latex
  1389. \footnotesize
  1390. .. flat-table::
  1391. :header-rows: 0
  1392. :stub-columns: 0
  1393. * - ``V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_OFF``
  1394. - No filter
  1395. * - ``V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_HOR``
  1396. - One-dimensional horizontal
  1397. * - ``V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_VERT``
  1398. - One-dimensional vertical
  1399. * - ``V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_HV_SEPARABLE``
  1400. - Two-dimensional separable
  1401. * - ``V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_SYM_NON_SEPARABLE``
  1402. - Two-dimensional symmetrical non-separable
  1403. .. raw:: latex
  1404. \normalsize
  1405. .. _chroma-spatial-filter-type:
  1406. ``V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE``
  1407. (enum)
  1408. enum v4l2_mpeg_cx2341x_video_chroma_spatial_filter_type -
  1409. Select the algorithm for the Chroma Spatial Filter (default
  1410. ``1D_HOR``). Possible values are:
  1411. .. raw:: latex
  1412. \footnotesize
  1413. .. tabularcolumns:: |p{11.0cm}|p{6.5cm}|
  1414. .. flat-table::
  1415. :header-rows: 0
  1416. :stub-columns: 0
  1417. * - ``V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_OFF``
  1418. - No filter
  1419. * - ``V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_1D_HOR``
  1420. - One-dimensional horizontal
  1421. .. raw:: latex
  1422. \normalsize
  1423. .. _v4l2-mpeg-cx2341x-video-temporal-filter-mode:
  1424. ``V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE``
  1425. (enum)
  1426. enum v4l2_mpeg_cx2341x_video_temporal_filter_mode -
  1427. Sets the Temporal Filter mode (default ``MANUAL``). Possible values
  1428. are:
  1429. .. raw:: latex
  1430. \footnotesize
  1431. .. flat-table::
  1432. :header-rows: 0
  1433. :stub-columns: 0
  1434. * - ``V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_MANUAL``
  1435. - Choose the filter manually
  1436. * - ``V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_AUTO``
  1437. - Choose the filter automatically
  1438. .. raw:: latex
  1439. \normalsize
  1440. ``V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER (integer (0-31))``
  1441. The setting for the Temporal Filter. 0 = off, 31 = maximum. (Default
  1442. is 8 for full-scale capturing and 0 for scaled capturing.)
  1443. .. _v4l2-mpeg-cx2341x-video-median-filter-type:
  1444. ``V4L2_CID_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE``
  1445. (enum)
  1446. enum v4l2_mpeg_cx2341x_video_median_filter_type -
  1447. Median Filter Type (default ``OFF``). Possible values are:
  1448. .. raw:: latex
  1449. \small
  1450. .. tabularcolumns:: |p{11.0cm}|p{6.5cm}|
  1451. .. flat-table::
  1452. :header-rows: 0
  1453. :stub-columns: 0
  1454. * - ``V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_OFF``
  1455. - No filter
  1456. * - ``V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR``
  1457. - Horizontal filter
  1458. * - ``V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_VERT``
  1459. - Vertical filter
  1460. * - ``V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR_VERT``
  1461. - Horizontal and vertical filter
  1462. * - ``V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_DIAG``
  1463. - Diagonal filter
  1464. .. raw:: latex
  1465. \normalsize
  1466. ``V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_BOTTOM (integer (0-255))``
  1467. Threshold above which the luminance median filter is enabled
  1468. (default 0)
  1469. ``V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_TOP (integer (0-255))``
  1470. Threshold below which the luminance median filter is enabled
  1471. (default 255)
  1472. ``V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_BOTTOM (integer (0-255))``
  1473. Threshold above which the chroma median filter is enabled (default
  1474. 0)
  1475. ``V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_TOP (integer (0-255))``
  1476. Threshold below which the chroma median filter is enabled (default
  1477. 255)
  1478. ``V4L2_CID_MPEG_CX2341X_STREAM_INSERT_NAV_PACKETS (boolean)``
  1479. The CX2341X MPEG encoder can insert one empty MPEG-2 PES packet into
  1480. the stream between every four video frames. The packet size is 2048
  1481. bytes, including the packet_start_code_prefix and stream_id
  1482. fields. The stream_id is 0xBF (private stream 2). The payload
  1483. consists of 0x00 bytes, to be filled in by the application. 0 = do
  1484. not insert, 1 = insert packets.
  1485. VPX Control Reference
  1486. =====================
  1487. The VPX controls include controls for encoding parameters of VPx video
  1488. codec.
  1489. .. _vpx-control-id:
  1490. VPX Control IDs
  1491. ---------------
  1492. .. _v4l2-vpx-num-partitions:
  1493. ``V4L2_CID_MPEG_VIDEO_VPX_NUM_PARTITIONS``
  1494. (enum)
  1495. enum v4l2_vp8_num_partitions -
  1496. The number of token partitions to use in VP8 encoder. Possible
  1497. values are:
  1498. .. flat-table::
  1499. :header-rows: 0
  1500. :stub-columns: 0
  1501. * - ``V4L2_CID_MPEG_VIDEO_VPX_1_PARTITION``
  1502. - 1 coefficient partition
  1503. * - ``V4L2_CID_MPEG_VIDEO_VPX_2_PARTITIONS``
  1504. - 2 coefficient partitions
  1505. * - ``V4L2_CID_MPEG_VIDEO_VPX_4_PARTITIONS``
  1506. - 4 coefficient partitions
  1507. * - ``V4L2_CID_MPEG_VIDEO_VPX_8_PARTITIONS``
  1508. - 8 coefficient partitions
  1509. ``V4L2_CID_MPEG_VIDEO_VPX_IMD_DISABLE_4X4 (boolean)``
  1510. Setting this prevents intra 4x4 mode in the intra mode decision.
  1511. .. _v4l2-vpx-num-ref-frames:
  1512. ``V4L2_CID_MPEG_VIDEO_VPX_NUM_REF_FRAMES``
  1513. (enum)
  1514. enum v4l2_vp8_num_ref_frames -
  1515. The number of reference pictures for encoding P frames. Possible
  1516. values are:
  1517. .. tabularcolumns:: |p{7.5cm}|p{7.5cm}|
  1518. .. raw:: latex
  1519. \small
  1520. .. flat-table::
  1521. :header-rows: 0
  1522. :stub-columns: 0
  1523. * - ``V4L2_CID_MPEG_VIDEO_VPX_1_REF_FRAME``
  1524. - Last encoded frame will be searched
  1525. * - ``V4L2_CID_MPEG_VIDEO_VPX_2_REF_FRAME``
  1526. - Two frames will be searched among the last encoded frame, the
  1527. golden frame and the alternate reference (altref) frame. The
  1528. encoder implementation will decide which two are chosen.
  1529. * - ``V4L2_CID_MPEG_VIDEO_VPX_3_REF_FRAME``
  1530. - The last encoded frame, the golden frame and the altref frame will
  1531. be searched.
  1532. .. raw:: latex
  1533. \normalsize
  1534. ``V4L2_CID_MPEG_VIDEO_VPX_FILTER_LEVEL (integer)``
  1535. Indicates the loop filter level. The adjustment of the loop filter
  1536. level is done via a delta value against a baseline loop filter
  1537. value.
  1538. ``V4L2_CID_MPEG_VIDEO_VPX_FILTER_SHARPNESS (integer)``
  1539. This parameter affects the loop filter. Anything above zero weakens
  1540. the deblocking effect on the loop filter.
  1541. ``V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_REF_PERIOD (integer)``
  1542. Sets the refresh period for the golden frame. The period is defined
  1543. in number of frames. For a value of 'n', every nth frame starting
  1544. from the first key frame will be taken as a golden frame. For eg.
  1545. for encoding sequence of 0, 1, 2, 3, 4, 5, 6, 7 where the golden
  1546. frame refresh period is set as 4, the frames 0, 4, 8 etc will be
  1547. taken as the golden frames as frame 0 is always a key frame.
  1548. .. _v4l2-vpx-golden-frame-sel:
  1549. ``V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_SEL``
  1550. (enum)
  1551. enum v4l2_vp8_golden_frame_sel -
  1552. Selects the golden frame for encoding. Possible values are:
  1553. .. raw:: latex
  1554. \scriptsize
  1555. .. tabularcolumns:: |p{8.6cm}|p{8.9cm}|
  1556. .. flat-table::
  1557. :header-rows: 0
  1558. :stub-columns: 0
  1559. * - ``V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_USE_PREV``
  1560. - Use the (n-2)th frame as a golden frame, current frame index being
  1561. 'n'.
  1562. * - ``V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_USE_REF_PERIOD``
  1563. - Use the previous specific frame indicated by
  1564. ``V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_REF_PERIOD`` as a
  1565. golden frame.
  1566. .. raw:: latex
  1567. \normalsize
  1568. ``V4L2_CID_MPEG_VIDEO_VPX_MIN_QP (integer)``
  1569. Minimum quantization parameter for VP8.
  1570. ``V4L2_CID_MPEG_VIDEO_VPX_MAX_QP (integer)``
  1571. Maximum quantization parameter for VP8.
  1572. ``V4L2_CID_MPEG_VIDEO_VPX_I_FRAME_QP (integer)``
  1573. Quantization parameter for an I frame for VP8.
  1574. ``V4L2_CID_MPEG_VIDEO_VPX_P_FRAME_QP (integer)``
  1575. Quantization parameter for a P frame for VP8.
  1576. .. _v4l2-mpeg-video-vp8-profile:
  1577. ``V4L2_CID_MPEG_VIDEO_VP8_PROFILE``
  1578. (enum)
  1579. enum v4l2_mpeg_video_vp8_profile -
  1580. This control allows selecting the profile for VP8 encoder.
  1581. This is also used to enumerate supported profiles by VP8 encoder or decoder.
  1582. Possible values are:
  1583. .. flat-table::
  1584. :header-rows: 0
  1585. :stub-columns: 0
  1586. * - ``V4L2_MPEG_VIDEO_VP8_PROFILE_0``
  1587. - Profile 0
  1588. * - ``V4L2_MPEG_VIDEO_VP8_PROFILE_1``
  1589. - Profile 1
  1590. * - ``V4L2_MPEG_VIDEO_VP8_PROFILE_2``
  1591. - Profile 2
  1592. * - ``V4L2_MPEG_VIDEO_VP8_PROFILE_3``
  1593. - Profile 3
  1594. .. _v4l2-mpeg-video-vp9-profile:
  1595. ``V4L2_CID_MPEG_VIDEO_VP9_PROFILE``
  1596. (enum)
  1597. enum v4l2_mpeg_video_vp9_profile -
  1598. This control allows selecting the profile for VP9 encoder.
  1599. This is also used to enumerate supported profiles by VP9 encoder or decoder.
  1600. Possible values are:
  1601. .. flat-table::
  1602. :header-rows: 0
  1603. :stub-columns: 0
  1604. * - ``V4L2_MPEG_VIDEO_VP9_PROFILE_0``
  1605. - Profile 0
  1606. * - ``V4L2_MPEG_VIDEO_VP9_PROFILE_1``
  1607. - Profile 1
  1608. * - ``V4L2_MPEG_VIDEO_VP9_PROFILE_2``
  1609. - Profile 2
  1610. * - ``V4L2_MPEG_VIDEO_VP9_PROFILE_3``
  1611. - Profile 3
  1612. .. _v4l2-mpeg-video-vp9-level:
  1613. ``V4L2_CID_MPEG_VIDEO_VP9_LEVEL (enum)``
  1614. enum v4l2_mpeg_video_vp9_level -
  1615. This control allows selecting the level for VP9 encoder.
  1616. This is also used to enumerate supported levels by VP9 encoder or decoder.
  1617. More information can be found at
  1618. `webmproject <https://www.webmproject.org/vp9/levels/>`__. Possible values are:
  1619. .. flat-table::
  1620. :header-rows: 0
  1621. :stub-columns: 0
  1622. * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_1_0``
  1623. - Level 1
  1624. * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_1_1``
  1625. - Level 1.1
  1626. * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_2_0``
  1627. - Level 2
  1628. * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_2_1``
  1629. - Level 2.1
  1630. * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_3_0``
  1631. - Level 3
  1632. * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_3_1``
  1633. - Level 3.1
  1634. * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_4_0``
  1635. - Level 4
  1636. * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_4_1``
  1637. - Level 4.1
  1638. * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_5_0``
  1639. - Level 5
  1640. * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_5_1``
  1641. - Level 5.1
  1642. * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_5_2``
  1643. - Level 5.2
  1644. * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_6_0``
  1645. - Level 6
  1646. * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_6_1``
  1647. - Level 6.1
  1648. * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_6_2``
  1649. - Level 6.2
  1650. High Efficiency Video Coding (HEVC/H.265) Control Reference
  1651. ===========================================================
  1652. The HEVC/H.265 controls include controls for encoding parameters of HEVC/H.265
  1653. video codec.
  1654. .. _hevc-control-id:
  1655. HEVC/H.265 Control IDs
  1656. ----------------------
  1657. ``V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP (integer)``
  1658. Minimum quantization parameter for HEVC.
  1659. Valid range: from 0 to 51 for 8 bit and from 0 to 63 for 10 bit.
  1660. ``V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP (integer)``
  1661. Maximum quantization parameter for HEVC.
  1662. Valid range: from 0 to 51 for 8 bit and from 0 to 63 for 10 bit.
  1663. ``V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_QP (integer)``
  1664. Quantization parameter for an I frame for HEVC.
  1665. Valid range: [V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP,
  1666. V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP].
  1667. ``V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_QP (integer)``
  1668. Quantization parameter for a P frame for HEVC.
  1669. Valid range: [V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP,
  1670. V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP].
  1671. ``V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_QP (integer)``
  1672. Quantization parameter for a B frame for HEVC.
  1673. Valid range: [V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP,
  1674. V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP].
  1675. ``V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_MIN_QP (integer)``
  1676. Minimum quantization parameter for the HEVC I frame to limit I frame
  1677. quality to a range. Valid range: from 0 to 51 for 8 bit and from 0 to 63 for 10 bit.
  1678. If V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP is also set, the quantization parameter
  1679. should be chosen to meet both requirements.
  1680. ``V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_MAX_QP (integer)``
  1681. Maximum quantization parameter for the HEVC I frame to limit I frame
  1682. quality to a range. Valid range: from 0 to 51 for 8 bit and from 0 to 63 for 10 bit.
  1683. If V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP is also set, the quantization parameter
  1684. should be chosen to meet both requirements.
  1685. ``V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_MIN_QP (integer)``
  1686. Minimum quantization parameter for the HEVC P frame to limit P frame
  1687. quality to a range. Valid range: from 0 to 51 for 8 bit and from 0 to 63 for 10 bit.
  1688. If V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP is also set, the quantization parameter
  1689. should be chosen to meet both requirements.
  1690. ``V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_MAX_QP (integer)``
  1691. Maximum quantization parameter for the HEVC P frame to limit P frame
  1692. quality to a range. Valid range: from 0 to 51 for 8 bit and from 0 to 63 for 10 bit.
  1693. If V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP is also set, the quantization parameter
  1694. should be chosen to meet both requirements.
  1695. ``V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_MIN_QP (integer)``
  1696. Minimum quantization parameter for the HEVC B frame to limit B frame
  1697. quality to a range. Valid range: from 0 to 51 for 8 bit and from 0 to 63 for 10 bit.
  1698. If V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP is also set, the quantization parameter
  1699. should be chosen to meet both requirements.
  1700. ``V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_MAX_QP (integer)``
  1701. Maximum quantization parameter for the HEVC B frame to limit B frame
  1702. quality to a range. Valid range: from 0 to 51 for 8 bit and from 0 to 63 for 10 bit.
  1703. If V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP is also set, the quantization parameter
  1704. should be chosen to meet both requirements.
  1705. ``V4L2_CID_MPEG_VIDEO_HEVC_HIER_QP (boolean)``
  1706. HIERARCHICAL_QP allows the host to specify the quantization parameter
  1707. values for each temporal layer through HIERARCHICAL_QP_LAYER. This is
  1708. valid only if HIERARCHICAL_CODING_LAYER is greater than 1. Setting the
  1709. control value to 1 enables setting of the QP values for the layers.
  1710. .. _v4l2-hevc-hier-coding-type:
  1711. ``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_TYPE``
  1712. (enum)
  1713. enum v4l2_mpeg_video_hevc_hier_coding_type -
  1714. Selects the hierarchical coding type for encoding. Possible values are:
  1715. .. raw:: latex
  1716. \footnotesize
  1717. .. tabularcolumns:: |p{8.2cm}|p{9.3cm}|
  1718. .. flat-table::
  1719. :header-rows: 0
  1720. :stub-columns: 0
  1721. * - ``V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_B``
  1722. - Use the B frame for hierarchical coding.
  1723. * - ``V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_P``
  1724. - Use the P frame for hierarchical coding.
  1725. .. raw:: latex
  1726. \normalsize
  1727. ``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_LAYER (integer)``
  1728. Selects the hierarchical coding layer. In normal encoding
  1729. (non-hierarchial coding), it should be zero. Possible values are [0, 6].
  1730. 0 indicates HIERARCHICAL CODING LAYER 0, 1 indicates HIERARCHICAL CODING
  1731. LAYER 1 and so on.
  1732. ``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_QP (integer)``
  1733. Indicates quantization parameter for hierarchical coding layer 0.
  1734. Valid range: [V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP,
  1735. V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP].
  1736. ``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_QP (integer)``
  1737. Indicates quantization parameter for hierarchical coding layer 1.
  1738. Valid range: [V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP,
  1739. V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP].
  1740. ``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_QP (integer)``
  1741. Indicates quantization parameter for hierarchical coding layer 2.
  1742. Valid range: [V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP,
  1743. V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP].
  1744. ``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_QP (integer)``
  1745. Indicates quantization parameter for hierarchical coding layer 3.
  1746. Valid range: [V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP,
  1747. V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP].
  1748. ``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_QP (integer)``
  1749. Indicates quantization parameter for hierarchical coding layer 4.
  1750. Valid range: [V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP,
  1751. V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP].
  1752. ``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_QP (integer)``
  1753. Indicates quantization parameter for hierarchical coding layer 5.
  1754. Valid range: [V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP,
  1755. V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP].
  1756. ``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_QP (integer)``
  1757. Indicates quantization parameter for hierarchical coding layer 6.
  1758. Valid range: [V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP,
  1759. V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP].
  1760. .. _v4l2-hevc-profile:
  1761. ``V4L2_CID_MPEG_VIDEO_HEVC_PROFILE``
  1762. (enum)
  1763. enum v4l2_mpeg_video_hevc_profile -
  1764. Select the desired profile for HEVC encoder.
  1765. .. raw:: latex
  1766. \footnotesize
  1767. .. tabularcolumns:: |p{9.0cm}|p{8.5cm}|
  1768. .. flat-table::
  1769. :header-rows: 0
  1770. :stub-columns: 0
  1771. * - ``V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN``
  1772. - Main profile.
  1773. * - ``V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_STILL_PICTURE``
  1774. - Main still picture profile.
  1775. * - ``V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_10``
  1776. - Main 10 profile.
  1777. .. raw:: latex
  1778. \normalsize
  1779. .. _v4l2-hevc-level:
  1780. ``V4L2_CID_MPEG_VIDEO_HEVC_LEVEL``
  1781. (enum)
  1782. enum v4l2_mpeg_video_hevc_level -
  1783. Selects the desired level for HEVC encoder.
  1784. ================================== =========
  1785. ``V4L2_MPEG_VIDEO_HEVC_LEVEL_1`` Level 1.0
  1786. ``V4L2_MPEG_VIDEO_HEVC_LEVEL_2`` Level 2.0
  1787. ``V4L2_MPEG_VIDEO_HEVC_LEVEL_2_1`` Level 2.1
  1788. ``V4L2_MPEG_VIDEO_HEVC_LEVEL_3`` Level 3.0
  1789. ``V4L2_MPEG_VIDEO_HEVC_LEVEL_3_1`` Level 3.1
  1790. ``V4L2_MPEG_VIDEO_HEVC_LEVEL_4`` Level 4.0
  1791. ``V4L2_MPEG_VIDEO_HEVC_LEVEL_4_1`` Level 4.1
  1792. ``V4L2_MPEG_VIDEO_HEVC_LEVEL_5`` Level 5.0
  1793. ``V4L2_MPEG_VIDEO_HEVC_LEVEL_5_1`` Level 5.1
  1794. ``V4L2_MPEG_VIDEO_HEVC_LEVEL_5_2`` Level 5.2
  1795. ``V4L2_MPEG_VIDEO_HEVC_LEVEL_6`` Level 6.0
  1796. ``V4L2_MPEG_VIDEO_HEVC_LEVEL_6_1`` Level 6.1
  1797. ``V4L2_MPEG_VIDEO_HEVC_LEVEL_6_2`` Level 6.2
  1798. ================================== =========
  1799. ``V4L2_CID_MPEG_VIDEO_HEVC_FRAME_RATE_RESOLUTION (integer)``
  1800. Indicates the number of evenly spaced subintervals, called ticks, within
  1801. one second. This is a 16 bit unsigned integer and has a maximum value up to
  1802. 0xffff and a minimum value of 1.
  1803. .. _v4l2-hevc-tier:
  1804. ``V4L2_CID_MPEG_VIDEO_HEVC_TIER``
  1805. (enum)
  1806. enum v4l2_mpeg_video_hevc_tier -
  1807. TIER_FLAG specifies tiers information of the HEVC encoded picture. Tier
  1808. were made to deal with applications that differ in terms of maximum bit
  1809. rate. Setting the flag to 0 selects HEVC tier as Main tier and setting
  1810. this flag to 1 indicates High tier. High tier is for applications requiring
  1811. high bit rates.
  1812. ================================== ==========
  1813. ``V4L2_MPEG_VIDEO_HEVC_TIER_MAIN`` Main tier.
  1814. ``V4L2_MPEG_VIDEO_HEVC_TIER_HIGH`` High tier.
  1815. ================================== ==========
  1816. ``V4L2_CID_MPEG_VIDEO_HEVC_MAX_PARTITION_DEPTH (integer)``
  1817. Selects HEVC maximum coding unit depth.
  1818. .. _v4l2-hevc-loop-filter-mode:
  1819. ``V4L2_CID_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE``
  1820. (enum)
  1821. enum v4l2_mpeg_video_hevc_loop_filter_mode -
  1822. Loop filter mode for HEVC encoder. Possible values are:
  1823. .. raw:: latex
  1824. \footnotesize
  1825. .. tabularcolumns:: |p{12.1cm}|p{5.4cm}|
  1826. .. flat-table::
  1827. :header-rows: 0
  1828. :stub-columns: 0
  1829. * - ``V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_DISABLED``
  1830. - Loop filter is disabled.
  1831. * - ``V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_ENABLED``
  1832. - Loop filter is enabled.
  1833. * - ``V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_DISABLED_AT_SLICE_BOUNDARY``
  1834. - Loop filter is disabled at the slice boundary.
  1835. .. raw:: latex
  1836. \normalsize
  1837. ``V4L2_CID_MPEG_VIDEO_HEVC_LF_BETA_OFFSET_DIV2 (integer)``
  1838. Selects HEVC loop filter beta offset. The valid range is [-6, +6].
  1839. ``V4L2_CID_MPEG_VIDEO_HEVC_LF_TC_OFFSET_DIV2 (integer)``
  1840. Selects HEVC loop filter tc offset. The valid range is [-6, +6].
  1841. .. _v4l2-hevc-refresh-type:
  1842. ``V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_TYPE``
  1843. (enum)
  1844. enum v4l2_mpeg_video_hevc_hier_refresh_type -
  1845. Selects refresh type for HEVC encoder.
  1846. Host has to specify the period into
  1847. V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_PERIOD.
  1848. .. raw:: latex
  1849. \footnotesize
  1850. .. tabularcolumns:: |p{6.2cm}|p{11.3cm}|
  1851. .. flat-table::
  1852. :header-rows: 0
  1853. :stub-columns: 0
  1854. * - ``V4L2_MPEG_VIDEO_HEVC_REFRESH_NONE``
  1855. - Use the B frame for hierarchical coding.
  1856. * - ``V4L2_MPEG_VIDEO_HEVC_REFRESH_CRA``
  1857. - Use CRA (Clean Random Access Unit) picture encoding.
  1858. * - ``V4L2_MPEG_VIDEO_HEVC_REFRESH_IDR``
  1859. - Use IDR (Instantaneous Decoding Refresh) picture encoding.
  1860. .. raw:: latex
  1861. \normalsize
  1862. ``V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_PERIOD (integer)``
  1863. Selects the refresh period for HEVC encoder.
  1864. This specifies the number of I pictures between two CRA/IDR pictures.
  1865. This is valid only if REFRESH_TYPE is not 0.
  1866. ``V4L2_CID_MPEG_VIDEO_HEVC_LOSSLESS_CU (boolean)``
  1867. Indicates HEVC lossless encoding. Setting it to 0 disables lossless
  1868. encoding. Setting it to 1 enables lossless encoding.
  1869. ``V4L2_CID_MPEG_VIDEO_HEVC_CONST_INTRA_PRED (boolean)``
  1870. Indicates constant intra prediction for HEVC encoder. Specifies the
  1871. constrained intra prediction in which intra largest coding unit (LCU)
  1872. prediction is performed by using residual data and decoded samples of
  1873. neighboring intra LCU only. Setting the value to 1 enables constant intra
  1874. prediction and setting the value to 0 disables constant intra prediction.
  1875. ``V4L2_CID_MPEG_VIDEO_HEVC_WAVEFRONT (boolean)``
  1876. Indicates wavefront parallel processing for HEVC encoder. Setting it to 0
  1877. disables the feature and setting it to 1 enables the wavefront parallel
  1878. processing.
  1879. ``V4L2_CID_MPEG_VIDEO_HEVC_GENERAL_PB (boolean)``
  1880. Setting the value to 1 enables combination of P and B frame for HEVC
  1881. encoder.
  1882. ``V4L2_CID_MPEG_VIDEO_HEVC_TEMPORAL_ID (boolean)``
  1883. Indicates temporal identifier for HEVC encoder which is enabled by
  1884. setting the value to 1.
  1885. ``V4L2_CID_MPEG_VIDEO_HEVC_STRONG_SMOOTHING (boolean)``
  1886. Indicates bi-linear interpolation is conditionally used in the intra
  1887. prediction filtering process in the CVS when set to 1. Indicates bi-linear
  1888. interpolation is not used in the CVS when set to 0.
  1889. ``V4L2_CID_MPEG_VIDEO_HEVC_MAX_NUM_MERGE_MV_MINUS1 (integer)``
  1890. Indicates maximum number of merge candidate motion vectors.
  1891. Values are from 0 to 4.
  1892. ``V4L2_CID_MPEG_VIDEO_HEVC_TMV_PREDICTION (boolean)``
  1893. Indicates temporal motion vector prediction for HEVC encoder. Setting it to
  1894. 1 enables the prediction. Setting it to 0 disables the prediction.
  1895. ``V4L2_CID_MPEG_VIDEO_HEVC_WITHOUT_STARTCODE (boolean)``
  1896. Specifies if HEVC generates a stream with a size of the length field
  1897. instead of start code pattern. The size of the length field is configurable
  1898. through the V4L2_CID_MPEG_VIDEO_HEVC_SIZE_OF_LENGTH_FIELD control. Setting
  1899. the value to 0 disables encoding without startcode pattern. Setting the
  1900. value to 1 will enables encoding without startcode pattern.
  1901. .. _v4l2-hevc-size-of-length-field:
  1902. ``V4L2_CID_MPEG_VIDEO_HEVC_SIZE_OF_LENGTH_FIELD``
  1903. (enum)
  1904. enum v4l2_mpeg_video_hevc_size_of_length_field -
  1905. Indicates the size of length field.
  1906. This is valid when encoding WITHOUT_STARTCODE_ENABLE is enabled.
  1907. .. raw:: latex
  1908. \footnotesize
  1909. .. tabularcolumns:: |p{5.5cm}|p{12.0cm}|
  1910. .. flat-table::
  1911. :header-rows: 0
  1912. :stub-columns: 0
  1913. * - ``V4L2_MPEG_VIDEO_HEVC_SIZE_0``
  1914. - Generate start code pattern (Normal).
  1915. * - ``V4L2_MPEG_VIDEO_HEVC_SIZE_1``
  1916. - Generate size of length field instead of start code pattern and length is 1.
  1917. * - ``V4L2_MPEG_VIDEO_HEVC_SIZE_2``
  1918. - Generate size of length field instead of start code pattern and length is 2.
  1919. * - ``V4L2_MPEG_VIDEO_HEVC_SIZE_4``
  1920. - Generate size of length field instead of start code pattern and length is 4.
  1921. .. raw:: latex
  1922. \normalsize
  1923. ``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_BR (integer)``
  1924. Indicates bit rate for hierarchical coding layer 0 for HEVC encoder.
  1925. ``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_BR (integer)``
  1926. Indicates bit rate for hierarchical coding layer 1 for HEVC encoder.
  1927. ``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_BR (integer)``
  1928. Indicates bit rate for hierarchical coding layer 2 for HEVC encoder.
  1929. ``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_BR (integer)``
  1930. Indicates bit rate for hierarchical coding layer 3 for HEVC encoder.
  1931. ``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_BR (integer)``
  1932. Indicates bit rate for hierarchical coding layer 4 for HEVC encoder.
  1933. ``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_BR (integer)``
  1934. Indicates bit rate for hierarchical coding layer 5 for HEVC encoder.
  1935. ``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_BR (integer)``
  1936. Indicates bit rate for hierarchical coding layer 6 for HEVC encoder.
  1937. ``V4L2_CID_MPEG_VIDEO_REF_NUMBER_FOR_PFRAMES (integer)``
  1938. Selects number of P reference pictures required for HEVC encoder.
  1939. P-Frame can use 1 or 2 frames for reference.
  1940. ``V4L2_CID_MPEG_VIDEO_PREPEND_SPSPPS_TO_IDR (integer)``
  1941. Indicates whether to generate SPS and PPS at every IDR. Setting it to 0
  1942. disables generating SPS and PPS at every IDR. Setting it to one enables
  1943. generating SPS and PPS at every IDR.