€•j”Œsphinx.addnodes”Œdocument”“”)�”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)�”}”(hhh]”(hŒ pending_xref”“”)�”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…”�”}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ/translations/zh_CN/gpu/meson”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)�”}”(hhh]”hŒChinese (Traditional)”…”�”}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ/translations/zh_TW/gpu/meson”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒItalian”…”�”}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ/translations/it_IT/gpu/meson”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒJapanese”…”�”}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ/translations/ja_JP/gpu/meson”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒKorean”…”�”}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ/translations/ko_KR/gpu/meson”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒPortuguese (Brazilian)”…”�”}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ/translations/pt_BR/gpu/meson”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒSpanish”…”�”}”hh–sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ/translations/sp_SP/gpu/meson”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒsection”“”)�”}”(hhh]”(hŒtitle”“”)�”}”(hŒ-drm/meson AmLogic Meson Video Processing Unit”h]”hŒ-drm/meson AmLogic Meson Video Processing Unit”…”�”}”(hh¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhh·h²hh³Œ7/var/lib/git/docbuild/linux/Documentation/gpu/meson.rst”h´KubhŒ paragraph”“”)�”}”(hŒzVPU Handles the Global Video Processing, it includes management of the clocks gates, blocks reset lines and power domains.”h]”hŒzVPU Handles the Global Video Processing, it includes management of the clocks gates, blocks reset lines and power domains.”…”�”}”(hhÍh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³ŒZ/var/lib/git/docbuild/linux/Documentation/gpu/meson:5: ./drivers/gpu/drm/meson/meson_drv.c”h´K/hh·h²hubhÌ)�”}”(hŒWhat is missing :”h]”hŒWhat is missing :”…”�”}”(hhÜh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³ŒZ/var/lib/git/docbuild/linux/Documentation/gpu/meson:5: ./drivers/gpu/drm/meson/meson_drv.c”h´K2hh·h²hubhŒ bullet_list”“”)�”}”(hhh]”(hŒ list_item”“”)�”}”(hŒ/Full reset of entire video processing HW blocks”h]”hÌ)�”}”(hhôh]”hŒ/Full reset of entire video processing HW blocks”…”�”}”(hhöh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³ŒZ/var/lib/git/docbuild/linux/Documentation/gpu/meson:5: ./drivers/gpu/drm/meson/meson_drv.c”h´K4hhòubah}”(h]”h ]”h"]”h$]”h&]”uh1hðhhíubhñ)�”}”(hŒ"Scaling and setup of the VPU clock”h]”hÌ)�”}”(hj h]”hŒ"Scaling and setup of the VPU clock”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³ŒZ/var/lib/git/docbuild/linux/Documentation/gpu/meson:5: ./drivers/gpu/drm/meson/meson_drv.c”h´K5hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1hðhhíubhñ)�”}”(hŒBus clock gates”h]”hÌ)�”}”(hj$h]”hŒBus clock gates”…”�”}”(hj&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³ŒZ/var/lib/git/docbuild/linux/Documentation/gpu/meson:5: ./drivers/gpu/drm/meson/meson_drv.c”h´K6hj"ubah}”(h]”h ]”h"]”h$]”h&]”uh1hðhhíubhñ)�”}”(hŒ&Powering up video processing HW blocks”h]”hÌ)�”}”(hj<h]”hŒ&Powering up video processing HW blocks”…”�”}”(hj>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³ŒZ/var/lib/git/docbuild/linux/Documentation/gpu/meson:5: ./drivers/gpu/drm/meson/meson_drv.c”h´K7hj:ubah}”(h]”h ]”h"]”h$]”h&]”uh1hðhhíubhñ)�”}”(hŒ%Powering Up HDMI controller and PHY ”h]”hÌ)�”}”(hŒ#Powering Up HDMI controller and PHY”h]”hŒ#Powering Up HDMI controller and PHY”…”�”}”(hjVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³ŒZ/var/lib/git/docbuild/linux/Documentation/gpu/meson:5: ./drivers/gpu/drm/meson/meson_drv.c”h´K8hjRubah}”(h]”h ]”h"]”h$]”h&]”uh1hðhhíubeh}”(h]”h ]”h"]”h$]”h&]”Œbullet”Œ-”uh1hëh³jh´K4hh·h²hubh¶)�”}”(hhh]”(h»)�”}”(hŒVideo Processing Unit”h]”hŒVideo Processing Unit”…”�”}”(hjvh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjsh²hh³hÊh´K ubhÌ)�”}”(hŒmThe Amlogic Meson Display controller is composed of several components that are going to be documented below:”h]”hŒmThe Amlogic Meson Display controller is composed of several components that are going to be documented below:”…”�”}”(hj„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K hjsh²hubhŒ literal_block”“”)�”}”(hXDMC|---------------VPU (Video Processing Unit)----------------|------HHI------| | vd1 _______ _____________ _________________ | | D |-------| |----| | | | | HDMI PLL | D | vd2 | VIU | | Video Post | | Video Encoders |<---|-----VCLK | R |-------| |----| Processing | | | | | | osd2 | | | |---| Enci ----------|----|-----VDAC------| R |-------| CSC |----| Scalers | | Encp ----------|----|----HDMI-TX----| A | osd1 | | | Blenders | | Encl ----------|----|---------------| M |-------|______|----|____________| |________________| | | ___|__________________________________________________________|_______________|”h]”hXDMC|---------------VPU (Video Processing Unit)----------------|------HHI------| | vd1 _______ _____________ _________________ | | D |-------| |----| | | | | HDMI PLL | D | vd2 | VIU | | Video Post | | Video Encoders |<---|-----VCLK | R |-------| |----| Processing | | | | | | osd2 | | | |---| Enci ----------|----|-----VDAC------| R |-------| CSC |----| Scalers | | Encp ----------|----|----HDMI-TX----| A | osd1 | | | Blenders | | Encl ----------|----|---------------| M |-------|______|----|____________| |________________| | | ___|__________________________________________________________|_______________|”…”�”}”hj”sbah}”(h]”h ]”h"]”h$]”h&]”Œforce”‰Œhighlight_args”}”Œ xml:space”Œpreserve”Œlanguage”Œnone”uh1j’h³hÊh´Khjsh²hubeh}”(h]”Œvideo-processing-unit”ah ]”h"]”Œvideo processing unit”ah$]”h&]”uh1hµhh·h²hh³hÊh´K ubh¶)�”}”(hhh]”(h»)�”}”(hŒVideo Input Unit”h]”hŒVideo Input Unit”…”�”}”(hj´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj±h²hh³hÊh´KubhÌ)�”}”(hŒeVIU Handles the Pixel scanout and the basic Colorspace conversions We handle the following features :”h]”hŒeVIU Handles the Pixel scanout and the basic Colorspace conversions We handle the following features :”…”�”}”(hjÂh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/meson:30: ./drivers/gpu/drm/meson/meson_viu.c”h´Khj±h²hubhì)�”}”(hhh]”(hñ)�”}”(hŒ#OSD1 RGB565/RGB888/xRGB8888 scanout”h]”hÌ)�”}”(hjÖh]”hŒ#OSD1 RGB565/RGB888/xRGB8888 scanout”…”�”}”(hjØh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/meson:30: ./drivers/gpu/drm/meson/meson_viu.c”h´KhjÔubah}”(h]”h ]”h"]”h$]”h&]”uh1hðhjÑubhñ)�”}”(hŒRGB conversion to x/cb/cr”h]”hÌ)�”}”(hjîh]”hŒRGB conversion to x/cb/cr”…”�”}”(hjðh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/meson:30: ./drivers/gpu/drm/meson/meson_viu.c”h´Khjìubah}”(h]”h ]”h"]”h$]”h&]”uh1hðhjÑubhñ)�”}”(hŒ'Progressive or Interlace buffer scanout”h]”hÌ)�”}”(hjh]”hŒ'Progressive or Interlace buffer scanout”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/meson:30: ./drivers/gpu/drm/meson/meson_viu.c”h´Khjubah}”(h]”h ]”h"]”h$]”h&]”uh1hðhjÑubhñ)�”}”(hŒOSD1 Commit on Vsync”h]”hÌ)�”}”(hjh]”hŒOSD1 Commit on Vsync”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/meson:30: ./drivers/gpu/drm/meson/meson_viu.c”h´Khjubah}”(h]”h ]”h"]”h$]”h&]”uh1hðhjÑubhñ)�”}”(hŒHDR OSD matrix for GXL/GXM ”h]”hÌ)�”}”(hŒHDR OSD matrix for GXL/GXM”h]”hŒHDR OSD matrix for GXL/GXM”…”�”}”(hj8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/meson:30: ./drivers/gpu/drm/meson/meson_viu.c”h´Khj4ubah}”(h]”h ]”h"]”h$]”h&]”uh1hðhjÑubeh}”(h]”h ]”h"]”h$]”h&]”jqjruh1hëh³jåh´Khj±h²hubhÌ)�”}”(hŒWhat is missing :”h]”hŒWhat is missing :”…”�”}”(hjSh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/meson:30: ./drivers/gpu/drm/meson/meson_viu.c”h´Khj±h²hubhì)�”}”(hhh]”(hñ)�”}”(hŒ'BGR888/xBGR8888/BGRx8888/BGRx8888 modes”h]”hÌ)�”}”(hjgh]”hŒ'BGR888/xBGR8888/BGRx8888/BGRx8888 modes”…”�”}”(hjih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/meson:30: ./drivers/gpu/drm/meson/meson_viu.c”h´Khjeubah}”(h]”h ]”h"]”h$]”h&]”uh1hðhjbubhñ)�”}”(hŒYUV4:2:2 Y0CbY1Cr scanout”h]”hÌ)�”}”(hjh]”hŒYUV4:2:2 Y0CbY1Cr scanout”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/meson:30: ./drivers/gpu/drm/meson/meson_viu.c”h´Khj}ubah}”(h]”h ]”h"]”h$]”h&]”uh1hðhjbubhñ)�”}”(hŒ(Conversion to YUV 4:4:4 from 4:2:2 input”h]”hÌ)�”}”(hj—h]”hŒ(Conversion to YUV 4:4:4 from 4:2:2 input”…”�”}”(hj™h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/meson:30: ./drivers/gpu/drm/meson/meson_viu.c”h´K hj•ubah}”(h]”h ]”h"]”h$]”h&]”uh1hðhjbubhñ)�”}”(hŒColorkey Alpha matching”h]”hÌ)�”}”(hj¯h]”hŒColorkey Alpha matching”…”�”}”(hj±h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/meson:30: ./drivers/gpu/drm/meson/meson_viu.c”h´K!hj­ubah}”(h]”h ]”h"]”h$]”h&]”uh1hðhjbubhñ)�”}”(hŒBig endian scanout”h]”hÌ)�”}”(hjÇh]”hŒBig endian scanout”…”�”}”(hjÉh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/meson:30: ./drivers/gpu/drm/meson/meson_viu.c”h´K"hjÅubah}”(h]”h ]”h"]”h$]”h&]”uh1hðhjbubhñ)�”}”(hŒX/Y reverse scanout”h]”hÌ)�”}”(hjßh]”hŒX/Y reverse scanout”…”�”}”(hjáh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/meson:30: ./drivers/gpu/drm/meson/meson_viu.c”h´K#hjÝubah}”(h]”h ]”h"]”h$]”h&]”uh1hðhjbubhñ)�”}”(hŒGlobal alpha setup”h]”hÌ)�”}”(hj÷h]”hŒGlobal alpha setup”…”�”}”(hjùh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/meson:30: ./drivers/gpu/drm/meson/meson_viu.c”h´K$hjõubah}”(h]”h ]”h"]”h$]”h&]”uh1hðhjbubhñ)�”}”(hŒ5OSD2 support, would need interlace switching on vsync”h]”hÌ)�”}”(hjh]”hŒ5OSD2 support, would need interlace switching on vsync”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/meson:30: ./drivers/gpu/drm/meson/meson_viu.c”h´K%hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1hðhjbubhñ)�”}”(hŒ*OSD1 full scaling to support TV overscan ”h]”hÌ)�”}”(hŒ(OSD1 full scaling to support TV overscan”h]”hŒ(OSD1 full scaling to support TV overscan”…”�”}”(hj)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/meson:30: ./drivers/gpu/drm/meson/meson_viu.c”h´K&hj%ubah}”(h]”h ]”h"]”h$]”h&]”uh1hðhjbubeh}”(h]”h ]”h"]”h$]”h&]”jqjruh1hëh³jvh´Khj±h²hubeh}”(h]”Œvideo-input-unit”ah ]”h"]”Œvideo input unit”ah$]”h&]”uh1hµhh·h²hh³hÊh´Kubh¶)�”}”(hhh]”(h»)�”}”(hŒVideo Post Processing”h]”hŒVideo Post Processing”…”�”}”(hjOh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjLh²hh³hÊh´K"ubhÌ)�”}”(hŒmVPP Handles all the Post Processing after the Scanout from the VIU We handle the following post processings :”h]”hŒmVPP Handles all the Post Processing after the Scanout from the VIU We handle the following post processings :”…”�”}”(hj]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/meson:36: ./drivers/gpu/drm/meson/meson_vpp.c”h´KhjLh²hubhì)�”}”(hhh]”(hñ)�”}”(hŒPPostblend, Blends the OSD1 only We exclude OSD2, VS1, VS1 and Preblend output”h]”hŒdefinition_list”“”)�”}”(hhh]”hŒdefinition_list_item”“”)�”}”(hŒMPostblend, Blends the OSD1 only We exclude OSD2, VS1, VS1 and Preblend output”h]”(hŒterm”“”)�”}”(hŒPostblend, Blends the OSD1 only”h]”hŒPostblend, Blends the OSD1 only”…”�”}”(hj€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j~h³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/meson:36: ./drivers/gpu/drm/meson/meson_vpp.c”h´KhjzubhŒ definition”“”)�”}”(hhh]”hÌ)�”}”(hŒ-We exclude OSD2, VS1, VS1 and Preblend output”h]”hŒ-We exclude OSD2, VS1, VS1 and Preblend output”…”�”}”(hj”h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/meson:36: ./drivers/gpu/drm/meson/meson_vpp.c”h´Khj‘ubah}”(h]”h ]”h"]”h$]”h&]”uh1j�hjzubeh}”(h]”h ]”h"]”h$]”h&]”uh1jxh³jŽh´Khjuubah}”(h]”h ]”h"]”h$]”h&]”uh1jshjoubah}”(h]”h ]”h"]”h$]”h&]”uh1hðhjlubhñ)�”}”(hŒfVertical OSD Scaler for OSD1 only, we disable vertical scaler and use it only for interlace scanout”h]”jt)�”}”(hhh]”jy)�”}”(hŒcVertical OSD Scaler for OSD1 only, we disable vertical scaler and use it only for interlace scanout”h]”(j)�”}”(hŒAVertical OSD Scaler for OSD1 only, we disable vertical scaler and”h]”hŒAVertical OSD Scaler for OSD1 only, we disable vertical scaler and”…”�”}”(hjÆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j~h³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/meson:36: ./drivers/gpu/drm/meson/meson_vpp.c”h´KhjÂubj�)�”}”(hhh]”hÌ)�”}”(hŒ!use it only for interlace scanout”h]”hŒ!use it only for interlace scanout”…”�”}”(hjØh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/meson:36: ./drivers/gpu/drm/meson/meson_vpp.c”h´KhjÕubah}”(h]”h ]”h"]”h$]”h&]”uh1j�hjÂubeh}”(h]”h ]”h"]”h$]”h&]”uh1jxh³jÔh´Khj¿ubah}”(h]”h ]”h"]”h$]”h&]”uh1jshj»ubah}”(h]”h ]”h"]”h$]”h&]”uh1hðhjlubhñ)�”}”(hŒ.Intermediate FIFO with default Amlogic values ”h]”hÌ)�”}”(hŒ-Intermediate FIFO with default Amlogic values”h]”hŒ-Intermediate FIFO with default Amlogic values”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/meson:36: ./drivers/gpu/drm/meson/meson_vpp.c”h´Khjÿubah}”(h]”h ]”h"]”h$]”h&]”uh1hðhjlubeh}”(h]”h ]”h"]”h$]”h&]”jqjruh1hëh³jŽh´KhjLh²hubhÌ)�”}”(hŒWhat is missing :”h]”hŒWhat is missing :”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/meson:36: ./drivers/gpu/drm/meson/meson_vpp.c”h´KhjLh²hubhì)�”}”(hhh]”(hñ)�”}”(hŒ&Preblend for video overlay pre-scaling”h]”hÌ)�”}”(hj2h]”hŒ&Preblend for video overlay pre-scaling”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/meson:36: ./drivers/gpu/drm/meson/meson_vpp.c”h´Khj0ubah}”(h]”h ]”h"]”h$]”h&]”uh1hðhj-ubhñ)�”}”(hŒ#OSD2 support for cursor framebuffer”h]”hÌ)�”}”(hjJh]”hŒ#OSD2 support for cursor framebuffer”…”�”}”(hjLh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/meson:36: ./drivers/gpu/drm/meson/meson_vpp.c”h´KhjHubah}”(h]”h ]”h"]”h$]”h&]”uh1hðhj-ubhñ)�”}”(hŒ"Video pre-scaling before postblend”h]”hÌ)�”}”(hjbh]”hŒ"Video pre-scaling before postblend”…”�”}”(hjdh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/meson:36: ./drivers/gpu/drm/meson/meson_vpp.c”h´Khj`ubah}”(h]”h ]”h"]”h$]”h&]”uh1hðhj-ubhñ)�”}”(hŒ;Full Vertical/Horizontal OSD scaling to support TV overscan”h]”hÌ)�”}”(hjzh]”hŒ;Full Vertical/Horizontal OSD scaling to support TV overscan”…”�”}”(hj|h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/meson:36: ./drivers/gpu/drm/meson/meson_vpp.c”h´Khjxubah}”(h]”h ]”h"]”h$]”h&]”uh1hðhj-ubhñ)�”}”(hŒHDR conversion ”h]”hÌ)�”}”(hŒHDR conversion”h]”hŒHDR conversion”…”�”}”(hj”h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/meson:36: ./drivers/gpu/drm/meson/meson_vpp.c”h´Khj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1hðhj-ubeh}”(h]”h ]”h"]”h$]”h&]”jqjruh1hëh³jAh´KhjLh²hubeh}”(h]”Œvideo-post-processing”ah ]”h"]”Œvideo post processing”ah$]”h&]”uh1hµhh·h²hh³hÊh´K"ubh¶)�”}”(hhh]”(h»)�”}”(hŒ Video Encoder”h]”hŒ Video Encoder”…”�”}”(hjºh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj·h²hh³hÊh´K(ubhÌ)�”}”(hŒZVENC Handle the pixels encoding to the output formats. We handle the following encodings :”h]”hŒZVENC Handle the pixels encoding to the output formats. We handle the following encodings :”…”�”}”(hjÈh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/gpu/meson:42: ./drivers/gpu/drm/meson/meson_venc.c”h´Khj·h²hubhì)�”}”(hhh]”(hñ)�”}”(hŒGCVBS Encoding via the ENCI encoder and VDAC digital to analog converter”h]”hÌ)�”}”(hjÜh]”hŒGCVBS Encoding via the ENCI encoder and VDAC digital to analog converter”…”�”}”(hjÞh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/gpu/meson:42: ./drivers/gpu/drm/meson/meson_venc.c”h´KhjÚubah}”(h]”h ]”h"]”h$]”h&]”uh1hðhj×ubhñ)�”}”(hŒ(TMDS/HDMI Encoding via ENCI_DIV and ENCP”h]”hÌ)�”}”(hjôh]”hŒ(TMDS/HDMI Encoding via ENCI_DIV and ENCP”…”�”}”(hjöh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/gpu/meson:42: ./drivers/gpu/drm/meson/meson_venc.c”h´Khjòubah}”(h]”h ]”h"]”h$]”h&]”uh1hðhj×ubhñ)�”}”(hŒ)Setup of more clock rates for HDMI modes ”h]”hÌ)�”}”(hŒ(Setup of more clock rates for HDMI modes”h]”hŒ(Setup of more clock rates for HDMI modes”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/gpu/meson:42: ./drivers/gpu/drm/meson/meson_venc.c”h´Khj ubah}”(h]”h ]”h"]”h$]”h&]”uh1hðhj×ubeh}”(h]”h ]”h"]”h$]”h&]”jqjruh1hëh³jëh´Khj·h²hubhÌ)�”}”(hŒWhat is missing :”h]”hŒWhat is missing :”…”�”}”(hj)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/gpu/meson:42: ./drivers/gpu/drm/meson/meson_venc.c”h´Khj·h²hubhì)�”}”(hhh]”(hñ)�”}”(hŒLCD Panel encoding via ENCL”h]”hÌ)�”}”(hj=h]”hŒLCD Panel encoding via ENCL”…”�”}”(hj?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/gpu/meson:42: ./drivers/gpu/drm/meson/meson_venc.c”h´Khj;ubah}”(h]”h ]”h"]”h$]”h&]”uh1hðhj8ubhñ)�”}”(hŒTV Panel encoding via ENCT ”h]”hÌ)�”}”(hŒTV Panel encoding via ENCT”h]”hŒTV Panel encoding via ENCT”…”�”}”(hjWh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/gpu/meson:42: ./drivers/gpu/drm/meson/meson_venc.c”h´KhjSubah}”(h]”h ]”h"]”h$]”h&]”uh1hðhj8ubeh}”(h]”h ]”h"]”h$]”h&]”jqjruh1hëh³jLh´Khj·h²hubhÌ)�”}”(hŒ VENC paths :”h]”hŒ VENC paths :”…”�”}”(hjrh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/gpu/meson:42: ./drivers/gpu/drm/meson/meson_venc.c”h´K hj·h²hubj“)�”}”(hX… _____ _____ ____________________ vd1---| |-| | | VENC /---------|----VDAC vd2---| VIU |-| VPP |-|-----ENCI/-ENCI_DVI-|-| osd1--| |-| | | \ | X--HDMI-TX osd2--|_____|-|_____| | |\-ENCP--ENCP_DVI-|-| | | | | \--ENCL-----------|----LVDS |____________________|”h]”hX… _____ _____ ____________________ vd1---| |-| | | VENC /---------|----VDAC vd2---| VIU |-| VPP |-|-----ENCI/-ENCI_DVI-|-| osd1--| |-| | | \ | X--HDMI-TX osd2--|_____|-|_____| | |\-ENCP--ENCP_DVI-|-| | | | | \--ENCL-----------|----LVDS |____________________|”…”�”}”hj�sbah}”(h]”h ]”h"]”h$]”h&]”Œforce”‰Œhighlight_args”}”j¥j¦j§j¨uh1j’h³Œ\/var/lib/git/docbuild/linux/Documentation/gpu/meson:42: ./drivers/gpu/drm/meson/meson_venc.c”h´K"hj·h²hubhÌ)�”}”(hX¯The ENCI is designed for PAl or NTSC encoding and can go through the VDAC directly for CVBS encoding or through the ENCI_DVI encoder for HDMI. The ENCP is designed for Progressive encoding but can also generate 1080i interlaced pixels, and was initially designed to encode pixels for VDAC to output RGB ou YUV analog outputs. It's output is only used through the ENCP_DVI encoder for HDMI. The ENCL LVDS encoder is not implemented.”h]”hX±The ENCI is designed for PAl or NTSC encoding and can go through the VDAC directly for CVBS encoding or through the ENCI_DVI encoder for HDMI. The ENCP is designed for Progressive encoding but can also generate 1080i interlaced pixels, and was initially designed to encode pixels for VDAC to output RGB ou YUV analog outputs. It’s output is only used through the ENCP_DVI encoder for HDMI. The ENCL LVDS encoder is not implemented.”…”�”}”(hj“h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/gpu/meson:42: ./drivers/gpu/drm/meson/meson_venc.c”h´K-hj·h²hubhÌ)�”}”(hŒ�The ENCI and ENCP encoders needs specially defined parameters for each supported mode and thus cannot be determined from standard video timings.”h]”hŒ�The ENCI and ENCP encoders needs specially defined parameters for each supported mode and thus cannot be determined from standard video timings.”…”�”}”(hj¢h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/gpu/meson:42: ./drivers/gpu/drm/meson/meson_venc.c”h´K5hj·h²hubhÌ)�”}”(hŒ¿The ENCI end ENCP DVI encoders are more generic and can generate any timings from the pixel data generated by ENCI or ENCP, so can use the standard video timings are source for HW parameters.”h]”hŒ¿The ENCI end ENCP DVI encoders are more generic and can generate any timings from the pixel data generated by ENCI or ENCP, so can use the standard video timings are source for HW parameters.”…”�”}”(hj±h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/gpu/meson:42: ./drivers/gpu/drm/meson/meson_venc.c”h´K8hj·h²hubeh}”(h]”Œ video-encoder”ah ]”h"]”Œ video encoder”ah$]”h&]”uh1hµhh·h²hh³hÊh´K(ubh¶)�”}”(hhh]”(h»)�”}”(hŒ Video Clocks”h]”hŒ Video Clocks”…”�”}”(hjËh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjÈh²hh³hÊh´K.ubhÌ)�”}”(hŒgVCLK is the "Pixel Clock" frequency generator from a dedicated PLL. We handle the following encodings :”h]”hŒkVCLK is the “Pixel Clockâ€� frequency generator from a dedicated PLL. We handle the following encodings :”…”�”}”(hjÙh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/gpu/meson:48: ./drivers/gpu/drm/meson/meson_vclk.c”h´KhjÈh²hubhì)�”}”(hhh]”(hñ)�”}”(hŒ?CVBS 27MHz generator via the VCLK2 to the VENCI and VDAC blocks”h]”hÌ)�”}”(hjíh]”hŒ?CVBS 27MHz generator via the VCLK2 to the VENCI and VDAC blocks”…”�”}”(hjïh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/gpu/meson:48: ./drivers/gpu/drm/meson/meson_vclk.c”h´Khjëubah}”(h]”h ]”h"]”h$]”h&]”uh1hðhjèubhñ)�”}”(hŒHDMI Pixel Clocks generation ”h]”hÌ)�”}”(hŒHDMI Pixel Clocks generation”h]”hŒHDMI Pixel Clocks generation”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/gpu/meson:48: ./drivers/gpu/drm/meson/meson_vclk.c”h´Khjubah}”(h]”h ]”h"]”h$]”h&]”uh1hðhjèubeh}”(h]”h ]”h"]”h$]”h&]”jqjruh1hëh³jüh´KhjÈh²hubhÌ)�”}”(hŒWhat is missing :”h]”hŒWhat is missing :”…”�”}”(hj"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/gpu/meson:48: ./drivers/gpu/drm/meson/meson_vclk.c”h´KhjÈh²hubhì)�”}”(hhh]”hñ)�”}”(hŒ.Genenate Pixel clocks for 2K/4K 10bit formats ”h]”hÌ)�”}”(hŒ-Genenate Pixel clocks for 2K/4K 10bit formats”h]”hŒ-Genenate Pixel clocks for 2K/4K 10bit formats”…”�”}”(hj8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/gpu/meson:48: ./drivers/gpu/drm/meson/meson_vclk.c”h´Khj4ubah}”(h]”h ]”h"]”h$]”h&]”uh1hðhj1ubah}”(h]”h ]”h"]”h$]”h&]”jqjruh1hëh³jFh´KhjÈh²hubhÌ)�”}”(hŒClock generator scheme :”h]”hŒClock generator scheme :”…”�”}”(hjSh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/gpu/meson:48: ./drivers/gpu/drm/meson/meson_vclk.c”h´KhjÈh²hubj“)�”}”(hX __________ _________ _____ | | | | | |--ENCI | HDMI PLL |-| PLL_DIV |--- VCLK--| |--ENCL |__________| |_________| \ | MUX |--ENCP --VCLK2-| |--VDAC |_____|--HDMI-TX”h]”hX __________ _________ _____ | | | | | |--ENCI | HDMI PLL |-| PLL_DIV |--- VCLK--| |--ENCL |__________| |_________| \ | MUX |--ENCP --VCLK2-| |--VDAC |_____|--HDMI-TX”…”�”}”hjbsbah}”(h]”h ]”h"]”h$]”h&]”Œforce”‰Œhighlight_args”}”j¥j¦j§j¨uh1j’h³Œ\/var/lib/git/docbuild/linux/Documentation/gpu/meson:48: ./drivers/gpu/drm/meson/meson_vclk.c”h´KhjÈh²hubhÌ)�”}”(hŒžFinal clocks can take input for either VCLK or VCLK2, but VCLK is the preferred path for HDMI clocking and VCLK2 is the preferred path for CVBS VDAC clocking.”h]”hŒžFinal clocks can take input for either VCLK or VCLK2, but VCLK is the preferred path for HDMI clocking and VCLK2 is the preferred path for CVBS VDAC clocking.”…”�”}”(hjth²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/gpu/meson:48: ./drivers/gpu/drm/meson/meson_vclk.c”h´K%hjÈh²hubhÌ)�”}”(hŒIVCLK and VCLK2 have fixed divided clocks paths for /1, /2, /4, /6 or /12.”h]”hŒIVCLK and VCLK2 have fixed divided clocks paths for /1, /2, /4, /6 or /12.”…”�”}”(hjƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/gpu/meson:48: ./drivers/gpu/drm/meson/meson_vclk.c”h´K)hjÈh²hubhÌ)�”}”(hŒ|The PLL_DIV can achieve an additional fractional dividing like 1.5, 3.5, 3.75... to generate special 2K and 4K 10bit clocks.”h]”hŒ|The PLL_DIV can achieve an additional fractional dividing like 1.5, 3.5, 3.75... to generate special 2K and 4K 10bit clocks.”…”�”}”(hj’h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ\/var/lib/git/docbuild/linux/Documentation/gpu/meson:48: ./drivers/gpu/drm/meson/meson_vclk.c”h´K+hjÈh²hubeh}”(h]”Œ video-clocks”ah ]”h"]”Œ video clocks”ah$]”h&]”uh1hµhh·h²hh³hÊh´K.ubh¶)�”}”(hhh]”(h»)�”}”(hŒHDMI Video Output”h]”hŒHDMI Video Output”…”�”}”(hj¬h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj©h²hh³hÊh´K4ubhÌ)�”}”(hŒHDMI Output is composed of :”h]”hŒHDMI Output is composed of :”…”�”}”(hjºh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ_/var/lib/git/docbuild/linux/Documentation/gpu/meson:54: ./drivers/gpu/drm/meson/meson_dw_hdmi.c”h´K$hj©h²hubhì)�”}”(hhh]”(hñ)�”}”(hŒ(A Synopsys DesignWare HDMI Controller IP”h]”hÌ)�”}”(hjÎh]”hŒ(A Synopsys DesignWare HDMI Controller IP”…”�”}”(hjÐh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ_/var/lib/git/docbuild/linux/Documentation/gpu/meson:54: ./drivers/gpu/drm/meson/meson_dw_hdmi.c”h´K&hjÌubah}”(h]”h ]”h"]”h$]”h&]”uh1hðhjÉubhñ)�”}”(hŒ2A TOP control block controlling the Clocks and PHY”h]”hÌ)�”}”(hjæh]”hŒ2A TOP control block controlling the Clocks and PHY”…”�”}”(hjèh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ_/var/lib/git/docbuild/linux/Documentation/gpu/meson:54: ./drivers/gpu/drm/meson/meson_dw_hdmi.c”h´K'hjäubah}”(h]”h ]”h"]”h$]”h&]”uh1hðhjÉubhñ)�”}”(hŒ8A custom HDMI PHY in order convert video to TMDS signal ”h]”hÌ)�”}”(hŒ7A custom HDMI PHY in order convert video to TMDS signal”h]”hŒ7A custom HDMI PHY in order convert video to TMDS signal”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ_/var/lib/git/docbuild/linux/Documentation/gpu/meson:54: ./drivers/gpu/drm/meson/meson_dw_hdmi.c”h´K(hjüubah}”(h]”h ]”h"]”h$]”h&]”uh1hðhjÉubeh}”(h]”h ]”h"]”h$]”h&]”jqjruh1hëh³jÝh´K&hj©h²hubj“)�”}”(hX ___________________________________ | HDMI TOP |<= HPD |___________________________________| | | | | Synopsys HDMI | HDMI PHY |=> TMDS | Controller |________________| |___________________________________|<=> DDC”h]”hX ___________________________________ | HDMI TOP |<= HPD |___________________________________| | | | | Synopsys HDMI | HDMI PHY |=> TMDS | Controller |________________| |___________________________________|<=> DDC”…”�”}”hjsbah}”(h]”h ]”h"]”h$]”h&]”Œforce”‰Œhighlight_args”}”j¥j¦j§j¨uh1j’h³Œ_/var/lib/git/docbuild/linux/Documentation/gpu/meson:54: ./drivers/gpu/drm/meson/meson_dw_hdmi.c”h´K*hj©h²hubhÌ)�”}”(hX/The HDMI TOP block only supports HPD sensing. The Synopsys HDMI Controller interrupt is routed through the TOP Block interrupt. Communication to the TOP Block and the Synopsys HDMI Controller is done a pair of addr+read/write registers. The HDMI PHY is configured by registers in the HHI register block.”h]”hX/The HDMI TOP block only supports HPD sensing. The Synopsys HDMI Controller interrupt is routed through the TOP Block interrupt. Communication to the TOP Block and the Synopsys HDMI Controller is done a pair of addr+read/write registers. The HDMI PHY is configured by registers in the HHI register block.”…”�”}”(hj-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ_/var/lib/git/docbuild/linux/Documentation/gpu/meson:54: ./drivers/gpu/drm/meson/meson_dw_hdmi.c”h´K5hj©h²hubhÌ)�”}”(hXHPixel data arrives in 4:4:4 format from the VENC block and the VPU HDMI mux selects either the ENCI encoder for the 576i or 480i formats or the ENCP encoder for all the other formats including interlaced HD formats. The VENC uses a DVI encoder on top of the ENCI or ENCP encoders to generate DVI timings for the HDMI controller.”h]”hXHPixel data arrives in 4:4:4 format from the VENC block and the VPU HDMI mux selects either the ENCI encoder for the 576i or 480i formats or the ENCP encoder for all the other formats including interlaced HD formats. The VENC uses a DVI encoder on top of the ENCI or ENCP encoders to generate DVI timings for the HDMI controller.”…”�”}”(hj<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ_/var/lib/git/docbuild/linux/Documentation/gpu/meson:54: ./drivers/gpu/drm/meson/meson_dw_hdmi.c”h´K>hj©h²hubhÌ)�”}”(hŒ}GXBB, GXL and GXM embeds the Synopsys DesignWare HDMI TX IP version 2.01a with HDCP and I2C & S/PDIF audio source interfaces.”h]”hŒ}GXBB, GXL and GXM embeds the Synopsys DesignWare HDMI TX IP version 2.01a with HDCP and I2C & S/PDIF audio source interfaces.”…”�”}”(hjKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ_/var/lib/git/docbuild/linux/Documentation/gpu/meson:54: ./drivers/gpu/drm/meson/meson_dw_hdmi.c”h´KGhj©h²hubhÌ)�”}”(hŒ"We handle the following features :”h]”hŒ"We handle the following features :”…”�”}”(hjZh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ_/var/lib/git/docbuild/linux/Documentation/gpu/meson:54: ./drivers/gpu/drm/meson/meson_dw_hdmi.c”h´KKhj©h²hubhì)�”}”(hhh]”(hñ)�”}”(hŒHPD Rise & Fall interrupt”h]”hÌ)�”}”(hjnh]”hŒHPD Rise & Fall interrupt”…”�”}”(hjph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ_/var/lib/git/docbuild/linux/Documentation/gpu/meson:54: ./drivers/gpu/drm/meson/meson_dw_hdmi.c”h´KMhjlubah}”(h]”h ]”h"]”h$]”h&]”uh1hðhjiubhñ)�”}”(hŒHDMI Controller Interrupt”h]”hÌ)�”}”(hj†h]”hŒHDMI Controller Interrupt”…”�”}”(hjˆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ_/var/lib/git/docbuild/linux/Documentation/gpu/meson:54: ./drivers/gpu/drm/meson/meson_dw_hdmi.c”h´KNhj„ubah}”(h]”h ]”h"]”h$]”h&]”uh1hðhjiubhñ)�”}”(hŒ!HDMI PHY Init for 480i to 1080p60”h]”hÌ)�”}”(hjžh]”hŒ!HDMI PHY Init for 480i to 1080p60”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ_/var/lib/git/docbuild/linux/Documentation/gpu/meson:54: ./drivers/gpu/drm/meson/meson_dw_hdmi.c”h´KOhjœubah}”(h]”h ]”h"]”h$]”h&]”uh1hðhjiubhñ)�”}”(hŒ+VENC & HDMI Clock setup for 480i to 1080p60”h]”hÌ)�”}”(hj¶h]”hŒ+VENC & HDMI Clock setup for 480i to 1080p60”…”�”}”(hj¸h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ_/var/lib/git/docbuild/linux/Documentation/gpu/meson:54: ./drivers/gpu/drm/meson/meson_dw_hdmi.c”h´KPhj´ubah}”(h]”h ]”h"]”h$]”h&]”uh1hðhjiubhñ)�”}”(hŒ$VENC Mode setup for 480i to 1080p60 ”h]”hÌ)�”}”(hŒ#VENC Mode setup for 480i to 1080p60”h]”hŒ#VENC Mode setup for 480i to 1080p60”…”�”}”(hjÐh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ_/var/lib/git/docbuild/linux/Documentation/gpu/meson:54: ./drivers/gpu/drm/meson/meson_dw_hdmi.c”h´KQhjÌubah}”(h]”h ]”h"]”h$]”h&]”uh1hðhjiubeh}”(h]”h ]”h"]”h$]”h&]”jqjruh1hëh³j}h´KMhj©h²hubhÌ)�”}”(hŒWhat is missing :”h]”hŒWhat is missing :”…”�”}”(hjëh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ_/var/lib/git/docbuild/linux/Documentation/gpu/meson:54: ./drivers/gpu/drm/meson/meson_dw_hdmi.c”h´KShj©h²hubhì)�”}”(hhh]”(hñ)�”}”(hŒ,PHY, Clock and Mode setup for 2k && 4k modes”h]”hÌ)�”}”(hjÿh]”hŒ,PHY, Clock and Mode setup for 2k && 4k modes”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ_/var/lib/git/docbuild/linux/Documentation/gpu/meson:54: ./drivers/gpu/drm/meson/meson_dw_hdmi.c”h´KUhjýubah}”(h]”h ]”h"]”h$]”h&]”uh1hðhjúubhñ)�”}”(hŒ"SDDC Scrambling mode for HDMI 2.0a”h]”hÌ)�”}”(hjh]”hŒ"SDDC Scrambling mode for HDMI 2.0a”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ_/var/lib/git/docbuild/linux/Documentation/gpu/meson:54: ./drivers/gpu/drm/meson/meson_dw_hdmi.c”h´KVhjubah}”(h]”h ]”h"]”h$]”h&]”uh1hðhjúubhñ)�”}”(hŒ HDCP Setup”h]”hÌ)�”}”(hj/h]”hŒ HDCP Setup”…”�”}”(hj1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ_/var/lib/git/docbuild/linux/Documentation/gpu/meson:54: ./drivers/gpu/drm/meson/meson_dw_hdmi.c”h´KWhj-ubah}”(h]”h ]”h"]”h$]”h&]”uh1hðhjúubhñ)�”}”(hŒCEC Management ”h]”hÌ)�”}”(hŒCEC Management”h]”hŒCEC Management”…”�”}”(hjIh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³Œ_/var/lib/git/docbuild/linux/Documentation/gpu/meson:54: ./drivers/gpu/drm/meson/meson_dw_hdmi.c”h´KXhjEubah}”(h]”h ]”h"]”h$]”h&]”uh1hðhjúubeh}”(h]”h ]”h"]”h$]”h&]”jqjruh1hëh³jh´KUhj©h²hubeh}”(h]”Œhdmi-video-output”ah ]”h"]”Œhdmi video output”ah$]”h&]”uh1hµhh·h²hh³hÊh´K4ubeh}”(h]”Œ-drm-meson-amlogic-meson-video-processing-unit”ah ]”h"]”Œ-drm/meson amlogic meson video processing unit”ah$]”h&]”uh1hµhhh²hh³hÊh´Kubeh}”(h]”h ]”h"]”h$]”h&]”Œsource”hÊuh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)�”}”(hºNŒ generator”NŒ datestamp”NŒ source_link”NŒ source_url”NŒ toc_backlinks”Œentry”Œfootnote_backlinks”KŒ sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ strip_classes”NŒ report_level”KŒ halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”j—Œerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”hÊŒ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œrefids”}”Œnameids”}”(jqjnj®j«jIjFj´j±jÅjÂj¦j£jijfuŒ nametypes”}”(jq‰j®‰jI‰j´‰jʼnj¦‰ji‰uh}”(jnh·j«jsjFj±j±jLjÂj·j£jÈjfj©uŒ footnote_refs”}”Œ citation_refs”}”Œ autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”Œ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”…”R”Œparse_messages”]”Œtransform_messages”]”Œ transformer”NŒ include_log”]”Œ decoration”Nh²hub.