msphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget,/translations/zh_CN/admin-guide/media/rkisp1modnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget,/translations/zh_TW/admin-guide/media/rkisp1modnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget,/translations/it_IT/admin-guide/media/rkisp1modnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget,/translations/ja_JP/admin-guide/media/rkisp1modnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget,/translations/ko_KR/admin-guide/media/rkisp1modnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget,/translations/sp_SP/admin-guide/media/rkisp1modnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhcomment)}(h SPDX-License-Identifier: GPL-2.0h]h SPDX-License-Identifier: GPL-2.0}hhsbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1hhhhhhF/var/lib/git/docbuild/linux/Documentation/admin-guide/media/rkisp1.rsthKubh)}(h4This data file has been placed in the public domain.h]h4This data file has been placed in the public domain.}hhsbah}(h]h ]h"]h$]h&]hhuh1hhhhhho/srv/docbuild/lib/venvs/build-kernel-docs/lib64/python3.9/site-packages/docutils/parsers/rst/include/isonum.txthKubh)}(hDerived from the Unicode character mappings available from . Processed by unicode2rstsubs.py, part of Docutils: .h]hDerived from the Unicode character mappings available from . Processed by unicode2rstsubs.py, part of Docutils: .}hhsbah}(h]h ]h"]h$]h&]hhuh1hhhhhhhhKubhsubstitution_definition)}(h*.. |amp| unicode:: U+00026 .. AMPERSANDh]h&}hhsbah}(h]h ]h"]ampah$]h&]uh1hhhhKhhhhubh)}(h+.. |apos| unicode:: U+00027 .. APOSTROPHEh]h'}hhsbah}(h]h ]h"]aposah$]h&]uh1hhhhKhhhhubh)}(h).. |ast| unicode:: U+0002A .. ASTERISKh]h*}hhsbah}(h]h ]h"]astah$]h&]uh1hhhhK hhhhubh)}(h+.. |brvbar| unicode:: U+000A6 .. BROKEN BARh]h¦}hjsbah}(h]h ]h"]brvbarah$]h&]uh1hhhhK hhhhubh)}(h0.. |bsol| unicode:: U+0005C .. REVERSE SOLIDUSh]h\}hjsbah}(h]h ]h"]bsolah$]h&]uh1hhhhK hhhhubh)}(h*.. |cent| unicode:: U+000A2 .. CENT SIGNh]h¢}hjsbah}(h]h ]h"]centah$]h&]uh1hhhhK hhhhubh)}(h&.. |colon| unicode:: U+0003A .. COLONh]h:}hj-sbah}(h]h ]h"]colonah$]h&]uh1hhhhK hhhhubh)}(h&.. |comma| unicode:: U+0002C .. COMMAh]h,}hj<sbah}(h]h ]h"]commaah$]h&]uh1hhhhKhhhhubh)}(h... |commat| unicode:: U+00040 .. COMMERCIAL ATh]h@}hjKsbah}(h]h ]h"]commatah$]h&]uh1hhhhKhhhhubh)}(h/.. |copy| unicode:: U+000A9 .. COPYRIGHT SIGNh]h©}hjZsbah}(h]h ]h"]copyah$]h&]uh1hhhhKhhhhubh)}(h... |curren| unicode:: U+000A4 .. CURRENCY SIGNh]h¤}hjisbah}(h]h ]h"]currenah$]h&]uh1hhhhKhhhhubh)}(h0.. |darr| unicode:: U+02193 .. DOWNWARDS ARROWh]h↓}hjxsbah}(h]h ]h"]darrah$]h&]uh1hhhhKhhhhubh)}(h,.. |deg| unicode:: U+000B0 .. DEGREE SIGNh]h°}hjsbah}(h]h ]h"]degah$]h&]uh1hhhhKhhhhubh)}(h... |divide| unicode:: U+000F7 .. DIVISION SIGNh]h÷}hjsbah}(h]h ]h"]divideah$]h&]uh1hhhhKhhhhubh)}(h,.. |dollar| unicode:: U+00024 .. DOLLAR SIGNh]h$}hjsbah}(h]h ]h"]dollarah$]h&]uh1hhhhKhhhhubh)}(h,.. |equals| unicode:: U+0003D .. EQUALS SIGNh]h=}hjsbah}(h]h ]h"]equalsah$]h&]uh1hhhhKhhhhubh)}(h1.. |excl| unicode:: U+00021 .. EXCLAMATION MARKh]h!}hjsbah}(h]h ]h"]exclah$]h&]uh1hhhhKhhhhubh)}(h9.. |frac12| unicode:: U+000BD .. VULGAR FRACTION ONE HALFh]h½}hjsbah}(h]h ]h"]frac12ah$]h&]uh1hhhhKhhhhubh)}(h<.. |frac14| unicode:: U+000BC .. VULGAR FRACTION ONE QUARTERh]h¼}hjsbah}(h]h ]h"]frac14ah$]h&]uh1hhhhKhhhhubh)}(h;.. |frac18| unicode:: U+0215B .. VULGAR FRACTION ONE EIGHTHh]h⅛}hjsbah}(h]h ]h"]frac18ah$]h&]uh1hhhhKhhhhubh)}(h?.. |frac34| unicode:: U+000BE .. VULGAR FRACTION THREE QUARTERSh]h¾}hjsbah}(h]h ]h"]frac34ah$]h&]uh1hhhhKhhhhubh)}(h>.. |frac38| unicode:: U+0215C .. VULGAR FRACTION THREE EIGHTHSh]h⅜}hjsbah}(h]h ]h"]frac38ah$]h&]uh1hhhhKhhhhubh)}(h=.. |frac58| unicode:: U+0215D .. VULGAR FRACTION FIVE EIGHTHSh]h⅝}hjsbah}(h]h ]h"]frac58ah$]h&]uh1hhhhKhhhhubh)}(h>.. |frac78| unicode:: U+0215E .. VULGAR FRACTION SEVEN EIGHTHSh]h⅞}hj,sbah}(h]h ]h"]frac78ah$]h&]uh1hhhhKhhhhubh)}(h2.. |gt| unicode:: U+0003E .. GREATER-THAN SIGNh]h>}hj;sbah}(h]h ]h"]gtah$]h&]uh1hhhhKhhhhubh)}(h9.. |half| unicode:: U+000BD .. VULGAR FRACTION ONE HALFh]h½}hjJsbah}(h]h ]h"]halfah$]h&]uh1hhhhK hhhhubh)}(h/.. |horbar| unicode:: U+02015 .. HORIZONTAL BARh]h―}hjYsbah}(h]h ]h"]horbarah$]h&]uh1hhhhK!hhhhubh)}(h'.. |hyphen| unicode:: U+02010 .. HYPHENh]h‐}hjhsbah}(h]h ]h"]hyphenah$]h&]uh1hhhhK"hhhhubh)}(h:.. |iexcl| unicode:: U+000A1 .. INVERTED EXCLAMATION MARKh]h¡}hjwsbah}(h]h ]h"]iexclah$]h&]uh1hhhhK#hhhhubh)}(h7.. |iquest| unicode:: U+000BF .. INVERTED QUESTION MARKh]h¿}hjsbah}(h]h ]h"]iquestah$]h&]uh1hhhhK$hhhhubh)}(hJ.. |laquo| unicode:: U+000AB .. LEFT-POINTING DOUBLE ANGLE QUOTATION MARKh]h«}hjsbah}(h]h ]h"]laquoah$]h&]uh1hhhhK%hhhhubh)}(h0.. |larr| unicode:: U+02190 .. LEFTWARDS ARROWh]h←}hjsbah}(h]h ]h"]larrah$]h&]uh1hhhhK&hhhhubh)}(h3.. |lcub| unicode:: U+0007B .. LEFT CURLY BRACKETh]h{}hjsbah}(h]h ]h"]lcubah$]h&]uh1hhhhK'hhhhubh)}(h;.. |ldquo| unicode:: U+0201C .. LEFT DOUBLE QUOTATION MARKh]h“}hjsbah}(h]h ]h"]ldquoah$]h&]uh1hhhhK(hhhhubh)}(h).. |lowbar| unicode:: U+0005F .. LOW LINEh]h_}hjsbah}(h]h ]h"]lowbarah$]h&]uh1hhhhK)hhhhubh)}(h1.. |lpar| unicode:: U+00028 .. LEFT PARENTHESISh]h(}hjsbah}(h]h ]h"]lparah$]h&]uh1hhhhK*hhhhubh)}(h4.. |lsqb| unicode:: U+0005B .. LEFT SQUARE BRACKETh]h[}hjsbah}(h]h ]h"]lsqbah$]h&]uh1hhhhK+hhhhubh)}(h;.. |lsquo| unicode:: U+02018 .. LEFT SINGLE QUOTATION MARKh]h‘}hjsbah}(h]h ]h"]lsquoah$]h&]uh1hhhhK,hhhhubh)}(h/.. |lt| unicode:: U+0003C .. LESS-THAN SIGNh]h<}hj sbah}(h]h ]h"]ltah$]h&]uh1hhhhK-hhhhubh)}(h+.. |micro| unicode:: U+000B5 .. MICRO SIGNh]hµ}hjsbah}(h]h ]h"]microah$]h&]uh1hhhhK.hhhhubh)}(h+.. |middot| unicode:: U+000B7 .. MIDDLE DOTh]h·}hj+sbah}(h]h ]h"]middotah$]h&]uh1hhhhK/hhhhubh)}(h/.. |nbsp| unicode:: U+000A0 .. NO-BREAK SPACEh]h }hj:sbah}(h]h ]h"]nbspah$]h&]uh1hhhhK0hhhhubh)}(h).. |not| unicode:: U+000AC .. NOT SIGNh]h¬}hjIsbah}(h]h ]h"]notah$]h&]uh1hhhhK1hhhhubh)}(h,.. |num| unicode:: U+00023 .. NUMBER SIGNh]h#}hjXsbah}(h]h ]h"]numah$]h&]uh1hhhhK2hhhhubh)}(h).. |ohm| unicode:: U+02126 .. OHM SIGNh]hΩ}hjgsbah}(h]h ]h"]ohmah$]h&]uh1hhhhK3hhhhubh)}(h;.. |ordf| unicode:: U+000AA .. FEMININE ORDINAL INDICATORh]hª}hjvsbah}(h]h ]h"]ordfah$]h&]uh1hhhhK4hhhhubh)}(h<.. |ordm| unicode:: U+000BA .. MASCULINE ORDINAL INDICATORh]hº}hjsbah}(h]h ]h"]ordmah$]h&]uh1hhhhK5hhhhubh)}(h-.. |para| unicode:: U+000B6 .. PILCROW SIGNh]h¶}hjsbah}(h]h ]h"]paraah$]h&]uh1hhhhK6hhhhubh)}(h-.. |percnt| unicode:: U+00025 .. PERCENT SIGNh]h%}hjsbah}(h]h ]h"]percntah$]h&]uh1hhhhK7hhhhubh)}(h*.. |period| unicode:: U+0002E .. FULL STOPh]h.}hjsbah}(h]h ]h"]periodah$]h&]uh1hhhhK8hhhhubh)}(h*.. |plus| unicode:: U+0002B .. PLUS SIGNh]h+}hjsbah}(h]h ]h"]plusah$]h&]uh1hhhhK9hhhhubh)}(h0.. |plusmn| unicode:: U+000B1 .. PLUS-MINUS SIGNh]h±}hjsbah}(h]h ]h"]plusmnah$]h&]uh1hhhhK:hhhhubh)}(h+.. |pound| unicode:: U+000A3 .. POUND SIGNh]h£}hjsbah}(h]h ]h"]poundah$]h&]uh1hhhhK;hhhhubh)}(h... |quest| unicode:: U+0003F .. QUESTION MARKh]h?}hjsbah}(h]h ]h"]questah$]h&]uh1hhhhKhhhhubh)}(h1.. |rarr| unicode:: U+02192 .. RIGHTWARDS ARROWh]h→}hjsbah}(h]h ]h"]rarrah$]h&]uh1hhhhK?hhhhubh)}(h4.. |rcub| unicode:: U+0007D .. RIGHT CURLY BRACKETh]h}}hj*sbah}(h]h ]h"]rcubah$]h&]uh1hhhhK@hhhhubh)}(h<.. |rdquo| unicode:: U+0201D .. RIGHT DOUBLE QUOTATION MARKh]h”}hj9sbah}(h]h ]h"]rdquoah$]h&]uh1hhhhKAhhhhubh)}(h0.. |reg| unicode:: U+000AE .. REGISTERED SIGNh]h®}hjHsbah}(h]h ]h"]regah$]h&]uh1hhhhKBhhhhubh)}(h2.. |rpar| unicode:: U+00029 .. RIGHT PARENTHESISh]h)}hjWsbah}(h]h ]h"]rparah$]h&]uh1hhhhKChhhhubh)}(h5.. |rsqb| unicode:: U+0005D .. RIGHT SQUARE BRACKETh]h]}hjfsbah}(h]h ]h"]rsqbah$]h&]uh1hhhhKDhhhhubh)}(h<.. |rsquo| unicode:: U+02019 .. RIGHT SINGLE QUOTATION MARKh]h’}hjusbah}(h]h ]h"]rsquoah$]h&]uh1hhhhKEhhhhubh)}(h-.. |sect| unicode:: U+000A7 .. SECTION SIGNh]h§}hjsbah}(h]h ]h"]sectah$]h&]uh1hhhhKFhhhhubh)}(h*.. |semi| unicode:: U+0003B .. SEMICOLONh]h;}hjsbah}(h]h ]h"]semiah$]h&]uh1hhhhKGhhhhubh)}(h,.. |shy| unicode:: U+000AD .. SOFT HYPHENh]h­}hjsbah}(h]h ]h"]shyah$]h&]uh1hhhhKHhhhhubh)}(h(.. |sol| unicode:: U+0002F .. SOLIDUSh]h/}hjsbah}(h]h ]h"]solah$]h&]uh1hhhhKIhhhhubh)}(h,.. |sung| unicode:: U+0266A .. EIGHTH NOTEh]h♪}hjsbah}(h]h ]h"]sungah$]h&]uh1hhhhKJhhhhubh)}(h0.. |sup1| unicode:: U+000B9 .. SUPERSCRIPT ONEh]h¹}hjsbah}(h]h ]h"]sup1ah$]h&]uh1hhhhKKhhhhubh)}(h0.. |sup2| unicode:: U+000B2 .. SUPERSCRIPT TWOh]h²}hjsbah}(h]h ]h"]sup2ah$]h&]uh1hhhhKLhhhhubh)}(h2.. |sup3| unicode:: U+000B3 .. SUPERSCRIPT THREEh]h³}hjsbah}(h]h ]h"]sup3ah$]h&]uh1hhhhKMhhhhubh)}(h4.. |times| unicode:: U+000D7 .. MULTIPLICATION SIGNh]h×}hjsbah}(h]h ]h"]timesah$]h&]uh1hhhhKNhhhhubh)}(h0.. |trade| unicode:: U+02122 .. TRADE MARK SIGNh]h™}hj sbah}(h]h ]h"]tradeah$]h&]uh1hhhhKOhhhhubh)}(h... |uarr| unicode:: U+02191 .. UPWARDS ARROWh]h↑}hjsbah}(h]h ]h"]uarrah$]h&]uh1hhhhKPhhhhubh)}(h... |verbar| unicode:: U+0007C .. VERTICAL LINEh]h|}hj)sbah}(h]h ]h"]verbarah$]h&]uh1hhhhKQhhhhubh)}(h*.. |yen| unicode:: U+000A5 .. YEN SIGN h]h¥}hj8sbah}(h]h ]h"]yenah$]h&]uh1hhhhKRhhhhubhsection)}(hhh](htitle)}(h(Rockchip Image Signal Processor (rkisp1)h]h(Rockchip Image Signal Processor (rkisp1)}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1jLhjIhhhhhKubjH)}(hhh](jM)}(h Introductionh]h Introduction}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1jLhj\hhhhhK ubh paragraph)}(hThis file documents the driver for the Rockchip ISP1 that is part of RK3288 and RK3399 SoCs. The driver is located under drivers/media/platform/rockchip/ rkisp1 and uses the Media-Controller API.h]hThis file documents the driver for the Rockchip ISP1 that is part of RK3288 and RK3399 SoCs. The driver is located under drivers/media/platform/rockchip/ rkisp1 and uses the Media-Controller API.}(hjohhhNhNubah}(h]h ]h"]h$]h&]uh1jmhhhK hj\hhubeh}(h] introductionah ]h"] introductionah$]h&]uh1jGhjIhhhhhK ubjH)}(hhh](jM)}(h Revisionsh]h Revisions}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jLhjhhhhhKubjn)}(hXEThere exist multiple smaller revisions to this ISP that got introduced in later SoCs. Revisions can be found in the enum :c:type:`rkisp1_cif_isp_version` in the UAPI and the revision of the ISP inside the running SoC can be read in the field hw_revision of struct media_device_info as returned by ioctl MEDIA_IOC_DEVICE_INFO.h](hyThere exist multiple smaller revisions to this ISP that got introduced in later SoCs. Revisions can be found in the enum }(hjhhhNhNubh)}(h :c:type:`rkisp1_cif_isp_version`h]hliteral)}(hjh]hrkisp1_cif_isp_version}(hjhhhNhNubah}(h]h ](xrefcc-typeeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocadmin-guide/media/rkisp1 refdomainjreftypetype refexplicitrefwarn reftargetrkisp1_cif_isp_versionuh1hhhhKhjubh in the UAPI and the revision of the ISP inside the running SoC can be read in the field hw_revision of struct media_device_info as returned by ioctl MEDIA_IOC_DEVICE_INFO.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1jmhhhKhjhhubjn)}(hVersions in use are:h]hVersions in use are:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jmhhhKhjhhubh bullet_list)}(hhh](h list_item)}(h.RKISP1_V10: used at least in rk3288 and rk3399h]jn)}(hjh]h.RKISP1_V10: used at least in rk3288 and rk3399}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jmhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h>RKISP1_V11: declared in the original vendor code, but not usedh]jn)}(hjh]h>RKISP1_V11: declared in the original vendor code, but not used}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jmhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h,RKISP1_V12: used at least in rk3326 and px30h]jn)}(hjh]h,RKISP1_V12: used at least in rk3326 and px30}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jmhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h$RKISP1_V13: used at least in rk1808 h]jn)}(h#RKISP1_V13: used at least in rk1808h]h#RKISP1_V13: used at least in rk1808}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1jmhhhKhj'ubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubeh}(h]h ]h"]h$]h&]bullet-uh1jhhhKhjhhubeh}(h] revisionsah ]h"] revisionsah$]h&]uh1jGhjIhhhhhKubjH)}(hhh](jM)}(hTopologyh]hTopology}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1jLhjOhhhhhK!ubhtarget)}(h.. _rkisp1_topology_graph:h]h}(h]h ]h"]h$]h&]refidrkisp1-topology-graphuh1j`hKxhjOhhhhubkfigure kernel_figure)}(hhh]hfigure)}(hhh]himage)}(hm.. kernel-figure:: rkisp1.dot :alt: Diagram of the default media pipeline topology :align: center h]h}(h]h ]h"]h$]h&]alt.Diagram of the default media pipeline topologyuriadmin-guide/media/rkisp1.dot candidates}*jsuh1jyhjvhhhKubah}(h]h ]h"]h$]h&]aligncenteruh1jthjqubah}(h]jmah ]h"]rkisp1_topology_graphah$]h&]uh1johjOhhhhhNexpect_referenced_by_name}jjbsexpect_referenced_by_id}jmjbsubjn)}(hThe driver has 4 video devices:h]hThe driver has 4 video devices:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jmhhhK)hjOhhubj)}(hhh](j)}(hTrkisp1_mainpath: capture device for retrieving images, usually in higher resolution.h]jn)}(hTrkisp1_mainpath: capture device for retrieving images, usually in higher resolution.h]hTrkisp1_mainpath: capture device for retrieving images, usually in higher resolution.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jmhhhK+hjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h6rkisp1_selfpath: capture device for retrieving images.h]jn)}(hjh]h6rkisp1_selfpath: capture device for retrieving images.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jmhhhK-hjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h>rkisp1_stats: a metadata capture device that sends statistics.h]jn)}(hjh]h>rkisp1_stats: a metadata capture device that sends statistics.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jmhhhK.hjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h`rkisp1_params: a metadata output device that receives parameters configurations from userspace. h]jn)}(h_rkisp1_params: a metadata output device that receives parameters configurations from userspace.h]h_rkisp1_params: a metadata output device that receives parameters configurations from userspace.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jmhhhK/hjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubeh}(h]h ]h"]h$]h&]jEjFuh1jhhhK+hjOhhubjn)}(hThe driver has 3 subdevices:h]hThe driver has 3 subdevices:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jmhhhK2hjOhhubj)}(hhh](j)}(h^rkisp1_resizer_mainpath: used to resize and downsample frames for the mainpath capture device.h]jn)}(h^rkisp1_resizer_mainpath: used to resize and downsample frames for the mainpath capture device.h]h^rkisp1_resizer_mainpath: used to resize and downsample frames for the mainpath capture device.}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1jmhhhK4hj%ubah}(h]h ]h"]h$]h&]uh1jhj"hhhhhNubj)}(h^rkisp1_resizer_selfpath: used to resize and downsample frames for the selfpath capture device.h]jn)}(h^rkisp1_resizer_selfpath: used to resize and downsample frames for the selfpath capture device.h]h^rkisp1_resizer_selfpath: used to resize and downsample frames for the selfpath capture device.}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1jmhhhK6hj=ubah}(h]h ]h"]h$]h&]uh1jhj"hhhhhNubj)}(hWrkisp1_isp: is connected to the sensor and is responsible for all the isp operations. h]jn)}(hUrkisp1_isp: is connected to the sensor and is responsible for all the isp operations.h]hUrkisp1_isp: is connected to the sensor and is responsible for all the isp operations.}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1jmhhhK8hjUubah}(h]h ]h"]h$]h&]uh1jhj"hhhhhNubeh}(h]h ]h"]h$]h&]jEjFuh1jhhhK4hjOhhubjH)}(hhh](jM)}(h=rkisp1_mainpath, rkisp1_selfpath - Frames Capture Video Nodesh]h=rkisp1_mainpath, rkisp1_selfpath - Frames Capture Video Nodes}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1jLhjshhhhhK=ubjn)}(hXThose are the `mainpath` and `selfpath` capture devices to capture frames. Those entities are the DMA engines that write the frames to memory. The selfpath video device can capture YUV/RGB formats. Its input is YUV encoded stream and it is able to convert it to RGB. The selfpath is not able to capture bayer formats. The mainpath can capture both bayer and YUV formats but it is not able to capture RGB formats. Both capture videos support the ``V4L2_CAP_IO_MC`` :ref:`capability `.h](hThose are the }(hjhhhNhNubhtitle_reference)}(h `mainpath`h]hmainpath}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh and }(hjhhhNhNubj)}(h `selfpath`h]hselfpath}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubhX capture devices to capture frames. Those entities are the DMA engines that write the frames to memory. The selfpath video device can capture YUV/RGB formats. Its input is YUV encoded stream and it is able to convert it to RGB. The selfpath is not able to capture bayer formats. The mainpath can capture both bayer and YUV formats but it is not able to capture RGB formats. Both capture videos support the }(hjhhhNhNubj)}(h``V4L2_CAP_IO_MC``h]hV4L2_CAP_IO_MC}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh }(hjhhhNhNubh)}(h':ref:`capability `h]hinline)}(hjh]h capability}(hjhhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj refdomainjreftyperef refexplicitrefwarnjdevice-capabilitiesuh1hhhhK>hjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1jmhhhK>hjshhubeh}(h]:rkisp1-mainpath-rkisp1-selfpath-frames-capture-video-nodesah ]h"]=rkisp1_mainpath, rkisp1_selfpath - frames capture video nodesah$]h&]uh1jGhjOhhhhhK=ubjH)}(hhh](jM)}(hLrkisp1_resizer_mainpath, rkisp1_resizer_selfpath - Resizers Subdevices Nodesh]hLrkisp1_resizer_mainpath, rkisp1_resizer_selfpath - Resizers Subdevices Nodes}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jLhjhhhhhKJubjn)}(hXThose are resizer entities for the mainpath and the selfpath. Those entities can scale the frames up and down and also change the YUV sampling (for example YUV4:2:2 -> YUV4:2:0). They also have cropping capability on the sink pad. The resizers entities can only operate on YUV:4:2:2 format (MEDIA_BUS_FMT_YUYV8_2X8). The mainpath capture device supports capturing video in bayer formats. In that case the resizer of the mainpath is set to 'bypass' mode - it just forward the frame without operating on it.h]hXThose are resizer entities for the mainpath and the selfpath. Those entities can scale the frames up and down and also change the YUV sampling (for example YUV4:2:2 -> YUV4:2:0). They also have cropping capability on the sink pad. The resizers entities can only operate on YUV:4:2:2 format (MEDIA_BUS_FMT_YUYV8_2X8). The mainpath capture device supports capturing video in bayer formats. In that case the resizer of the mainpath is set to ‘bypass’ mode - it just forward the frame without operating on it.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jmhhhKKhjhhubeh}(h]Irkisp1-resizer-mainpath-rkisp1-resizer-selfpath-resizers-subdevices-nodesah ]h"]Lrkisp1_resizer_mainpath, rkisp1_resizer_selfpath - resizers subdevices nodesah$]h&]uh1jGhjOhhhhhKJubjH)}(hhh](jM)}(h3rkisp1_isp - Image Signal Processing Subdevice Nodeh]h3rkisp1_isp - Image Signal Processing Subdevice Node}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1jLhjhhhhhKUubjn)}(hXThis is the isp entity. It is connected to the sensor on sink pad 0 and receives the frames using the CSI-2 protocol. It is responsible of configuring the CSI-2 protocol. It has a cropping capability on sink pad 0 that is connected to the sensor and on source pad 2 connected to the resizer entities. Cropping on sink pad 0 defines the image region from the sensor. Cropping on source pad 2 defines the region for the Image Stabilizer (IS).h]hXThis is the isp entity. It is connected to the sensor on sink pad 0 and receives the frames using the CSI-2 protocol. It is responsible of configuring the CSI-2 protocol. It has a cropping capability on sink pad 0 that is connected to the sensor and on source pad 2 connected to the resizer entities. Cropping on sink pad 0 defines the image region from the sensor. Cropping on source pad 2 defines the region for the Image Stabilizer (IS).}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1jmhhhKVhjhhubja)}(h.. _rkisp1_stats:h]h}(h]h ]h"]h$]h&]jl rkisp1-statsuh1j`hKhjhhhhubeh}(h]1rkisp1-isp-image-signal-processing-subdevice-nodeah ]h"]3rkisp1_isp - image signal processing subdevice nodeah$]h&]uh1jGhjOhhhhhKUubjH)}(hhh](jM)}(h$rkisp1_stats - Statistics Video Nodeh]h$rkisp1_stats - Statistics Video Node}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1jLhjQhhhhhK`ubjn)}(hX1The statistics video node outputs the 3A (auto focus, auto exposure and auto white balance) statistics, and also histogram statistics for the frames that are being processed by the rkisp1 to userspace applications. Using these data, applications can implement algorithms and re-parameterize the driver through the rkisp_params node to improve image quality during a video stream. The buffer format is defined by struct :c:type:`rkisp1_stat_buffer`, and userspace should set :ref:`V4L2_META_FMT_RK_ISP1_STAT_3A ` as the dataformat.h](hXThe statistics video node outputs the 3A (auto focus, auto exposure and auto white balance) statistics, and also histogram statistics for the frames that are being processed by the rkisp1 to userspace applications. Using these data, applications can implement algorithms and re-parameterize the driver through the rkisp_params node to improve image quality during a video stream. The buffer format is defined by struct }(hjbhhhNhNubh)}(h:c:type:`rkisp1_stat_buffer`h]j)}(hjlh]hrkisp1_stat_buffer}(hjnhhhNhNubah}(h]h ](jjc-typeeh"]h$]h&]uh1jhjjubah}(h]h ]h"]h$]h&]refdocj refdomainjreftypetype refexplicitrefwarnjrkisp1_stat_bufferuh1hhhhKahjbubh, and userspace should set }(hjbhhhNhNubh)}(hD:ref:`V4L2_META_FMT_RK_ISP1_STAT_3A `h]j)}(hjh]hV4L2_META_FMT_RK_ISP1_STAT_3A}(hjhhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj refdomainjreftyperef refexplicitrefwarnjv4l2-meta-fmt-rk-isp1-stat-3auh1hhhhKahjbubh as the dataformat.}(hjbhhhNhNubeh}(h]h ]h"]h$]h&]uh1jmhhhKahjQhhubja)}(h.. _rkisp1_params:h]h}(h]h ]h"]h$]h&]jl rkisp1-paramsuh1j`hKhjQhhhhubeh}(h]("rkisp1-stats-statistics-video-nodejHeh ]h"]($rkisp1_stats - statistics video node rkisp1_statseh$]h&]uh1jGhjOhhhhhK`j}jj>sj}jHj>subjH)}(hhh](jM)}(h%rkisp1_params - Parameters Video Nodeh]h%rkisp1_params - Parameters Video Node}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jLhjhhhhhKoubjn)}(hThe rkisp1_params video node receives a set of parameters from userspace to be applied to the hardware during a video stream, allowing userspace to dynamically modify values such as black level, cross talk corrections and others.h]hThe rkisp1_params video node receives a set of parameters from userspace to be applied to the hardware during a video stream, allowing userspace to dynamically modify values such as black level, cross talk corrections and others.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jmhhhKphjhhubjn)}(hThe ISP driver supports two different parameters configuration methods, the `fixed parameters format` or the `extensible parameters format`.h](hLThe ISP driver supports two different parameters configuration methods, the }(hjhhhNhNubj)}(h`fixed parameters format`h]hfixed parameters format}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh or the }(hjhhhNhNubj)}(h`extensible parameters format`h]hextensible parameters format}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1jmhhhKuhjhhubjn)}(hWhen using the `fixed parameters` method the buffer format is defined by struct :c:type:`rkisp1_params_cfg`, and userspace should set :ref:`V4L2_META_FMT_RK_ISP1_PARAMS ` as the dataformat.h](hWhen using the }(hj hhhNhNubj)}(h`fixed parameters`h]hfixed parameters}(hj& hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh/ method the buffer format is defined by struct }(hj hhhNhNubh)}(h:c:type:`rkisp1_params_cfg`h]j)}(hj: h]hrkisp1_params_cfg}(hj< hhhNhNubah}(h]h ](jjc-typeeh"]h$]h&]uh1jhj8 ubah}(h]h ]h"]h$]h&]refdocj refdomainjreftypetype refexplicitrefwarnjrkisp1_params_cfguh1hhhhKxhj ubh, and userspace should set }(hj hhhNhNubh)}(hB:ref:`V4L2_META_FMT_RK_ISP1_PARAMS `h]j)}(hj] h]hV4L2_META_FMT_RK_ISP1_PARAMS}(hj_ hhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jhj[ ubah}(h]h ]h"]h$]h&]refdocj refdomainji reftyperef refexplicitrefwarnjv4l2-meta-fmt-rk-isp1-paramsuh1hhhhKxhj ubh as the dataformat.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1jmhhhKxhjhhubjn)}(hWhen using the `extensible parameters` method the buffer format is defined by struct :c:type:`rkisp1_ext_params_cfg`, and userspace should set :ref:`V4L2_META_FMT_RK_ISP1_EXT_PARAMS ` as the dataformat.h](hWhen using the }(hj hhhNhNubj)}(h`extensible parameters`h]hextensible parameters}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh/ method the buffer format is defined by struct }(hj hhhNhNubh)}(h:c:type:`rkisp1_ext_params_cfg`h]j)}(hj h]hrkisp1_ext_params_cfg}(hj hhhNhNubah}(h]h ](jjc-typeeh"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]refdocj refdomainjreftypetype refexplicitrefwarnjrkisp1_ext_params_cfguh1hhhhK}hj ubh, and userspace should set }(hj hhhNhNubh)}(hJ:ref:`V4L2_META_FMT_RK_ISP1_EXT_PARAMS `h]j)}(hj h]h V4L2_META_FMT_RK_ISP1_EXT_PARAMS}(hj hhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]refdocj refdomainj reftyperef refexplicitrefwarnj v4l2-meta-fmt-rk-isp1-ext-paramsuh1hhhhK}hj ubh as the dataformat.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1jmhhhK}hjhhubeh}(h](#rkisp1-params-parameters-video-nodejeh ]h"](%rkisp1_params - parameters video node rkisp1_paramseh$]h&]uh1jGhjOhhhhhKoj}j jsj}jjsubeh}(h]topologyah ]h"]topologyah$]h&]uh1jGhjIhhhhhK!ubjH)}(hhh](jM)}(hCapturing Video Frames Exampleh]hCapturing Video Frames Example}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jLhj hhhhhKubjn)}(hRIn the following example, the sensor connected to pad 0 of 'rkisp1_isp' is imx219.h]hVIn the following example, the sensor connected to pad 0 of ‘rkisp1_isp’ is imx219.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jmhhhKhj hhubjn)}(hThe following commands can be used to capture video from the selfpath video node with dimension 900x800 planar format YUV 4:2:2. It uses all cropping capabilities possible, (see explanation right below)h]hThe following commands can be used to capture video from the selfpath video node with dimension 900x800 planar format YUV 4:2:2. It uses all cropping capabilities possible, (see explanation right below)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jmhhhKhj hhubh literal_block)}(hX# set the links "media-ctl" "-d" "platform:rkisp1" "-r" "media-ctl" "-d" "platform:rkisp1" "-l" "'imx219 4-0010':0 -> 'rkisp1_isp':0 [1]" "media-ctl" "-d" "platform:rkisp1" "-l" "'rkisp1_isp':2 -> 'rkisp1_resizer_selfpath':0 [1]" "media-ctl" "-d" "platform:rkisp1" "-l" "'rkisp1_isp':2 -> 'rkisp1_resizer_mainpath':0 [0]" # set format for imx219 4-0010:0 "media-ctl" "-d" "platform:rkisp1" "--set-v4l2" '"imx219 4-0010":0 [fmt:SRGGB10_1X10/1640x1232]' # set format for rkisp1_isp pads: "media-ctl" "-d" "platform:rkisp1" "--set-v4l2" '"rkisp1_isp":0 [fmt:SRGGB10_1X10/1640x1232 crop: (0,0)/1600x1200]' "media-ctl" "-d" "platform:rkisp1" "--set-v4l2" '"rkisp1_isp":2 [fmt:YUYV8_2X8/1600x1200 crop: (0,0)/1500x1100]' # set format for rkisp1_resizer_selfpath pads: "media-ctl" "-d" "platform:rkisp1" "--set-v4l2" '"rkisp1_resizer_selfpath":0 [fmt:YUYV8_2X8/1500x1100 crop: (300,400)/1400x1000]' "media-ctl" "-d" "platform:rkisp1" "--set-v4l2" '"rkisp1_resizer_selfpath":1 [fmt:YUYV8_2X8/900x800]' # set format for rkisp1_selfpath: "v4l2-ctl" "-z" "platform:rkisp1" "-d" "rkisp1_selfpath" "-v" "width=900,height=800," "v4l2-ctl" "-z" "platform:rkisp1" "-d" "rkisp1_selfpath" "-v" "pixelformat=422P" # start streaming: v4l2-ctl "-z" "platform:rkisp1" "-d" "rkisp1_selfpath" "--stream-mmap" "--stream-count" "10"h]hX# set the links "media-ctl" "-d" "platform:rkisp1" "-r" "media-ctl" "-d" "platform:rkisp1" "-l" "'imx219 4-0010':0 -> 'rkisp1_isp':0 [1]" "media-ctl" "-d" "platform:rkisp1" "-l" "'rkisp1_isp':2 -> 'rkisp1_resizer_selfpath':0 [1]" "media-ctl" "-d" "platform:rkisp1" "-l" "'rkisp1_isp':2 -> 'rkisp1_resizer_mainpath':0 [0]" # set format for imx219 4-0010:0 "media-ctl" "-d" "platform:rkisp1" "--set-v4l2" '"imx219 4-0010":0 [fmt:SRGGB10_1X10/1640x1232]' # set format for rkisp1_isp pads: "media-ctl" "-d" "platform:rkisp1" "--set-v4l2" '"rkisp1_isp":0 [fmt:SRGGB10_1X10/1640x1232 crop: (0,0)/1600x1200]' "media-ctl" "-d" "platform:rkisp1" "--set-v4l2" '"rkisp1_isp":2 [fmt:YUYV8_2X8/1600x1200 crop: (0,0)/1500x1100]' # set format for rkisp1_resizer_selfpath pads: "media-ctl" "-d" "platform:rkisp1" "--set-v4l2" '"rkisp1_resizer_selfpath":0 [fmt:YUYV8_2X8/1500x1100 crop: (300,400)/1400x1000]' "media-ctl" "-d" "platform:rkisp1" "--set-v4l2" '"rkisp1_resizer_selfpath":1 [fmt:YUYV8_2X8/900x800]' # set format for rkisp1_selfpath: "v4l2-ctl" "-z" "platform:rkisp1" "-d" "rkisp1_selfpath" "-v" "width=900,height=800," "v4l2-ctl" "-z" "platform:rkisp1" "-d" "rkisp1_selfpath" "-v" "pixelformat=422P" # start streaming: v4l2-ctl "-z" "platform:rkisp1" "-d" "rkisp1_selfpath" "--stream-mmap" "--stream-count" "10"}hj. sbah}(h]h ]h"]h$]h&]hhforcelanguagebashhighlight_args}uh1j, hhhKhj hhubjn)}(hXoIn the above example the sensor is configured to bayer format: `SRGGB10_1X10/1640x1232`. The rkisp1_isp:0 pad should be configured to the same mbus format and dimensions as the sensor, otherwise streaming will fail with 'EPIPE' error. So it is also configured to `SRGGB10_1X10/1640x1232`. In addition, the rkisp1_isp:0 pad is configured to cropping `(0,0)/1600x1200`.h](h?In the above example the sensor is configured to bayer format: }(hjA hhhNhNubj)}(h`SRGGB10_1X10/1640x1232`h]hSRGGB10_1X10/1640x1232}(hjI hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjA ubh. The rkisp1_isp:0 pad should be configured to the same mbus format and dimensions as the sensor, otherwise streaming will fail with ‘EPIPE’ error. So it is also configured to }(hjA hhhNhNubj)}(h`SRGGB10_1X10/1640x1232`h]hSRGGB10_1X10/1640x1232}(hj[ hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjA ubh>. In addition, the rkisp1_isp:0 pad is configured to cropping }(hjA hhhNhNubj)}(h`(0,0)/1600x1200`h]h(0,0)/1600x1200}(hjm hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjA ubh.}(hjA hhhNhNubeh}(h]h ]h"]h$]h&]uh1jmhhhKhj hhubjn)}(hThe cropping dimensions are automatically propagated to be the format of the isp source pad `rkisp1_isp:2`. Another cropping operation is configured on the isp source pad: `(0,0)/1500x1100`.h](h\The cropping dimensions are automatically propagated to be the format of the isp source pad }(hj hhhNhNubj)}(h`rkisp1_isp:2`h]h rkisp1_isp:2}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubhB. Another cropping operation is configured on the isp source pad: }(hj hhhNhNubj)}(h`(0,0)/1500x1100`h]h(0,0)/1500x1100}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1jmhhhKhj hhubjn)}(hThe resizer's sink pad `rkisp1_resizer_selfpath` should be configured to format `YUYV8_2X8/1500x1100` in order to match the format on the other side of the link. In addition a cropping `(300,400)/1400x1000` is configured on it.h](hThe resizer’s sink pad }(hj hhhNhNubj)}(h`rkisp1_resizer_selfpath`h]hrkisp1_resizer_selfpath}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh should be configured to format }(hj hhhNhNubj)}(h`YUYV8_2X8/1500x1100`h]hYUYV8_2X8/1500x1100}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubhT in order to match the format on the other side of the link. In addition a cropping }(hj hhhNhNubj)}(h`(300,400)/1400x1000`h]h(300,400)/1400x1000}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh is configured on it.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1jmhhhKhj hhubjn)}(hThe source pad of the resizer, `rkisp1_resizer_selfpath:1` is configured to format `YUYV8_2X8/900x800`. That means that the resizer first crop a window of `(300,400)/1400x100` from the received frame and then scales this window to dimension `900x800`.h](hThe source pad of the resizer, }(hj hhhNhNubj)}(h`rkisp1_resizer_selfpath:1`h]hrkisp1_resizer_selfpath:1}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh is configured to format }(hj hhhNhNubj)}(h`YUYV8_2X8/900x800`h]hYUYV8_2X8/900x800}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh5. That means that the resizer first crop a window of }(hj hhhNhNubj)}(h`(300,400)/1400x100`h]h(300,400)/1400x100}(hj' hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubhB from the received frame and then scales this window to dimension }(hj hhhNhNubj)}(h `900x800`h]h900x800}(hj9 hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1jmhhhKhj hhubjn)}(hNote that the above example does not uses the stats-params control loop. Therefore the capture frames will not go through the 3A algorithms and probably won't have a good quality, and can even look dark and greenish.h]hNote that the above example does not uses the stats-params control loop. Therefore the capture frames will not go through the 3A algorithms and probably won’t have a good quality, and can even look dark and greenish.}(hjQ hhhNhNubah}(h]h ]h"]h$]h&]uh1jmhhhKhj hhubeh}(h]capturing-video-frames-exampleah ]h"]capturing video frames exampleah$]h&]uh1jGhjIhhhhhKubjH)}(hhh](jM)}(hConfiguring Quantizationh]hConfiguring Quantization}(hjj hhhNhNubah}(h]h ]h"]h$]h&]uh1jLhjg hhhhhKubjn)}(hXThe driver supports limited and full range quantization on YUV formats, where limited is the default. To switch between one or the other, userspace should use the Colorspace Conversion API (CSC) for subdevices on source pad 2 of the isp (`rkisp1_isp:2`). The quantization configured on this pad is the quantization of the captured video frames on the mainpath and selfpath video nodes. Note that the resizer and capture entities will always report ``V4L2_QUANTIZATION_DEFAULT`` even if the quantization is configured to full range on `rkisp1_isp:2`. So in order to get the configured quantization, application should get it from pad `rkisp1_isp:2`.h](hThe driver supports limited and full range quantization on YUV formats, where limited is the default. To switch between one or the other, userspace should use the Colorspace Conversion API (CSC) for subdevices on source pad 2 of the isp (}(hjx hhhNhNubj)}(h`rkisp1_isp:2`h]h rkisp1_isp:2}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjx ubh). The quantization configured on this pad is the quantization of the captured video frames on the mainpath and selfpath video nodes. Note that the resizer and capture entities will always report }(hjx hhhNhNubj)}(h``V4L2_QUANTIZATION_DEFAULT``h]hV4L2_QUANTIZATION_DEFAULT}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjx ubh9 even if the quantization is configured to full range on }(hjx hhhNhNubj)}(h`rkisp1_isp:2`h]h rkisp1_isp:2}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjx ubhU. So in order to get the configured quantization, application should get it from pad }(hjx hhhNhNubj)}(h`rkisp1_isp:2`h]h rkisp1_isp:2}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjx ubh.}(hjx hhhNhNubeh}(h]h ]h"]h$]h&]uh1jmhhhKhjg hhubeh}(h]configuring-quantizationah ]h"]configuring quantizationah$]h&]uh1jGhjIhhhhhKubeh}(h]&rockchip-image-signal-processor-rkisp1ah ]h"](rockchip image signal processor (rkisp1)ah$]h&]uh1jGhhhhhhhKubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(jLN generatorN datestampN source_linkN source_urlN toc_backlinksentryfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerj error_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourceh _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}(hhhhhhj jjjj*jj9j-jHj<jWjKjfjZjujijjxjjjjjjjjjjjjjjjjj jjjj)jj8j,jGj;jVjJjejYjtjhjjwjjjjjjjjjjjjjjjjj jjj j(jj7j+jFj:jUjIjdjXjsjgjjvjjjjjjjjjjjjjjjjj jjj j'jj6j*jEj9jTjHjcjWjrjfjjujjjjjjjjjjjjjjjjjjjj j&jj5j)jDj8usubstitution_names}(amphߌaposhasthbrvbarj bsoljcentj*colonj9commajHcommatjWcopyjfcurrenjudarrjdegjdividejdollarjequalsjexcljfrac12jfrac14jfrac18jfrac34j frac38jfrac58j)frac78j8gtjGhalfjVhorbarjehyphenjtiexcljiquestjlaquojlarrjlcubjldquojlowbarjlparjlsqbjlsquoj ltjmicroj(middotj7nbspjFnotjUnumjdohmjsordfjordmjparajpercntjperiodjplusjplusmnjpoundjquestjquotj raquojrarrj'rcubj6rdquojEregjTrparjcrsqbjrrsquojsectjsemijshyjsoljsungjsup1jsup2jsup3jtimesjtradejuarrj&verbarj5yenjDurefnames}refids}(jm]jbajH]j>aj]jaunameids}(j j jjjLjIj j jjmjjjjjNjKjjHjjj jj j jd ja j j u nametypes}(j jjLj jjjjNjjj j jd j uh}(j jIjj\jIjj jOjmjqjjsjjjKjjHjQjjQjjj jja j j jg u footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}Rparse_messages]transform_messages](hsystem_message)}(hhh]jn)}(hhh]h;Hyperlink target "rkisp1-topology-graph" is not referenced.}hj sbah}(h]h ]h"]h$]h&]uh1jmhj ubah}(h]h ]h"]h$]h&]levelKtypeINFOsourcehlineKxuh1j ubj )}(hhh]jn)}(hhh]h2Hyperlink target "rkisp1-stats" is not referenced.}hj sbah}(h]h ]h"]h$]h&]uh1jmhj ubah}(h]h ]h"]h$]h&]levelKtypej sourcehlineKuh1j ubj )}(hhh]jn)}(hhh]h3Hyperlink target "rkisp1-params" is not referenced.}hj sbah}(h]h ]h"]h$]h&]uh1jmhj ubah}(h]h ]h"]h$]h&]levelKtypej sourcehlineKuh1j ube transformerN include_log]*Documentation/admin-guide/media/rkisp1.rst(NNNNta decorationNhhub.