sphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget/translations/zh_CN/gpu/afbcmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget/translations/zh_TW/gpu/afbcmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget/translations/it_IT/gpu/afbcmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget/translations/ja_JP/gpu/afbcmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget/translations/ko_KR/gpu/afbcmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget/translations/sp_SP/gpu/afbcmodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhcomment)}(h!SPDX-License-Identifier: GPL-2.0+h]h!SPDX-License-Identifier: GPL-2.0+}hhsbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1hhhhhh6/var/lib/git/docbuild/linux/Documentation/gpu/afbc.rsthKubhsection)}(hhh](htitle)}(h"Arm Framebuffer Compression (AFBC)h]h"Arm Framebuffer Compression (AFBC)}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh paragraph)}(hAFBC is a proprietary lossless image compression protocol and format. It provides fine-grained random access and minimizes the amount of data transferred between IP blocks.h]hAFBC is a proprietary lossless image compression protocol and format. It provides fine-grained random access and minimizes the amount of data transferred between IP blocks.}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hAFBC can be enabled on drivers which support it via use of the AFBC format modifiers defined in drm_fourcc.h. See DRM_FORMAT_MOD_ARM_AFBC(*).h]hAFBC can be enabled on drivers which support it via use of the AFBC format modifiers defined in drm_fourcc.h. See DRM_FORMAT_MOD_ARM_AFBC(*).}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hhhhubh)}(hAll users of the AFBC modifiers must follow the usage guidelines laid out in this document, to ensure compatibility across different AFBC producers and consumers.h]hAll users of the AFBC modifiers must follow the usage guidelines laid out in this document, to ensure compatibility across different AFBC producers and consumers.}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hhh](h)}(hComponents and Orderingh]hComponents and Ordering}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh)}(hX?AFBC streams can contain several components - where a component corresponds to a color channel (i.e. R, G, B, X, A, Y, Cb, Cr). The assignment of input/output color channels must be consistent between the encoder and the decoder for correct operation, otherwise the consumer will interpret the decoded data incorrectly.h]hX?AFBC streams can contain several components - where a component corresponds to a color channel (i.e. R, G, B, X, A, Y, Cb, Cr). The assignment of input/output color channels must be consistent between the encoder and the decoder for correct operation, otherwise the consumer will interpret the decoded data incorrectly.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hFurthermore, when the lossless colorspace transform is used (AFBC_FORMAT_MOD_YTR, which should be enabled for RGB buffers for maximum compression efficiency), the component order must be:h]hFurthermore, when the lossless colorspace transform is used (AFBC_FORMAT_MOD_YTR, which should be enabled for RGB buffers for maximum compression efficiency), the component order must be:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh block_quote)}(h3* Component 0: R * Component 1: G * Component 2: B h]h bullet_list)}(hhh](h list_item)}(hComponent 0: Rh]h)}(hj1h]hComponent 0: R}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj/ubah}(h]h ]h"]h$]h&]uh1j-hj*ubj.)}(hComponent 1: Gh]h)}(hjHh]hComponent 1: G}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hjFubah}(h]h ]h"]h$]h&]uh1j-hj*ubj.)}(hComponent 2: B h]h)}(hComponent 2: Bh]hComponent 2: B}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK!hj]ubah}(h]h ]h"]h$]h&]uh1j-hj*ubeh}(h]h ]h"]h$]h&]bullet*uh1j(hhhKhj$ubah}(h]h ]h"]h$]h&]uh1j"hhhKhhhhubh)}(hThe component ordering is communicated via the fourcc code in the fourcc:modifier pair. In general, component '0' is considered to reside in the least-significant bits of the corresponding linear format. For example, COMP(bits):h]hThe component ordering is communicated via the fourcc code in the fourcc:modifier pair. In general, component ‘0’ is considered to reside in the least-significant bits of the corresponding linear format. For example, COMP(bits):}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK#hhhhubj#)}(hX?* DRM_FORMAT_ABGR8888 * Component 0: R(8) * Component 1: G(8) * Component 2: B(8) * Component 3: A(8) * DRM_FORMAT_BGR888 * Component 0: R(8) * Component 1: G(8) * Component 2: B(8) * DRM_FORMAT_YUYV * Component 0: Y(8) * Component 1: Cb(8, 2x1 subsampled) * Component 2: Cr(8, 2x1 subsampled) h]j))}(hhh](j.)}(heDRM_FORMAT_ABGR8888 * Component 0: R(8) * Component 1: G(8) * Component 2: B(8) * Component 3: A(8) h](h)}(hDRM_FORMAT_ABGR8888h]hDRM_FORMAT_ABGR8888}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK(hjubj))}(hhh](j.)}(hComponent 0: R(8)h]h)}(hjh]hComponent 0: R(8)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK*hjubah}(h]h ]h"]h$]h&]uh1j-hjubj.)}(hComponent 1: G(8)h]h)}(hjh]hComponent 1: G(8)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK+hjubah}(h]h ]h"]h$]h&]uh1j-hjubj.)}(hComponent 2: B(8)h]h)}(hjh]hComponent 2: B(8)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK,hjubah}(h]h ]h"]h$]h&]uh1j-hjubj.)}(hComponent 3: A(8) h]h)}(hComponent 3: A(8)h]hComponent 3: A(8)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK-hjubah}(h]h ]h"]h$]h&]uh1j-hjubeh}(h]h ]h"]h$]h&]j{j|uh1j(hhhK*hjubeh}(h]h ]h"]h$]h&]uh1j-hjubj.)}(hODRM_FORMAT_BGR888 * Component 0: R(8) * Component 1: G(8) * Component 2: B(8) h](h)}(hDRM_FORMAT_BGR888h]hDRM_FORMAT_BGR888}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK/hjubj))}(hhh](j.)}(hComponent 0: R(8)h]h)}(hj-h]hComponent 0: R(8)}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK1hj+ubah}(h]h ]h"]h$]h&]uh1j-hj(ubj.)}(hComponent 1: G(8)h]h)}(hjDh]hComponent 1: G(8)}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK2hjBubah}(h]h ]h"]h$]h&]uh1j-hj(ubj.)}(hComponent 2: B(8) h]h)}(hComponent 2: B(8)h]hComponent 2: B(8)}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK3hjYubah}(h]h ]h"]h$]h&]uh1j-hj(ubeh}(h]h ]h"]h$]h&]j{j|uh1j(hhhK1hjubeh}(h]h ]h"]h$]h&]uh1j-hjubj.)}(hoDRM_FORMAT_YUYV * Component 0: Y(8) * Component 1: Cb(8, 2x1 subsampled) * Component 2: Cr(8, 2x1 subsampled) h](h)}(hDRM_FORMAT_YUYVh]hDRM_FORMAT_YUYV}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK5hj}ubj))}(hhh](j.)}(hComponent 0: Y(8)h]h)}(hjh]hComponent 0: Y(8)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK7hjubah}(h]h ]h"]h$]h&]uh1j-hjubj.)}(h"Component 1: Cb(8, 2x1 subsampled)h]h)}(hjh]h"Component 1: Cb(8, 2x1 subsampled)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK8hjubah}(h]h ]h"]h$]h&]uh1j-hjubj.)}(h#Component 2: Cr(8, 2x1 subsampled) h]h)}(h"Component 2: Cr(8, 2x1 subsampled)h]h"Component 2: Cr(8, 2x1 subsampled)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK9hjubah}(h]h ]h"]h$]h&]uh1j-hjubeh}(h]h ]h"]h$]h&]j{j|uh1j(hhhK7hj}ubeh}(h]h ]h"]h$]h&]uh1j-hjubeh}(h]h ]h"]h$]h&]j{j|uh1j(hhhK(hjubah}(h]h ]h"]h$]h&]uh1j"hhhK(hhhhubh)}(hIn AFBC, 'X' components are not treated any differently from any other component. Therefore, an AFBC buffer with fourcc DRM_FORMAT_XBGR8888 encodes with 4 components, like so:h]hIn AFBC, ‘X’ components are not treated any differently from any other component. Therefore, an AFBC buffer with fourcc DRM_FORMAT_XBGR8888 encodes with 4 components, like so:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK;hhhhubj#)}(ho* DRM_FORMAT_XBGR8888 * Component 0: R(8) * Component 1: G(8) * Component 2: B(8) * Component 3: X(8) h]j))}(hhh]j.)}(heDRM_FORMAT_XBGR8888 * Component 0: R(8) * Component 1: G(8) * Component 2: B(8) * Component 3: X(8) h](h)}(hDRM_FORMAT_XBGR8888h]hDRM_FORMAT_XBGR8888}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK?hjubj))}(hhh](j.)}(hComponent 0: R(8)h]h)}(hjh]hComponent 0: R(8)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKAhjubah}(h]h ]h"]h$]h&]uh1j-hjubj.)}(hComponent 1: G(8)h]h)}(hj3h]hComponent 1: G(8)}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKBhj1ubah}(h]h ]h"]h$]h&]uh1j-hjubj.)}(hComponent 2: B(8)h]h)}(hjJh]hComponent 2: B(8)}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKChjHubah}(h]h ]h"]h$]h&]uh1j-hjubj.)}(hComponent 3: X(8) h]h)}(hComponent 3: X(8)h]hComponent 3: X(8)}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKDhj_ubah}(h]h ]h"]h$]h&]uh1j-hjubeh}(h]h ]h"]h$]h&]j{j|uh1j(hhhKAhjubeh}(h]h ]h"]h$]h&]uh1j-hjubah}(h]h ]h"]h$]h&]j{j|uh1j(hhhK?hjubah}(h]h ]h"]h$]h&]uh1j"hhhK?hhhhubh)}(hXPlease note, however, that the inclusion of a "wasted" 'X' channel is bad for compression efficiency, and so it's recommended to avoid formats containing 'X' bits. If a fourth component is required/expected by the encoder/decoder, then it is recommended to instead use an equivalent format with alpha, setting all alpha bits to '1'. If there is no requirement for a fourth component, then a format which doesn't include alpha can be used, e.g. DRM_FORMAT_BGR888.h]hXPlease note, however, that the inclusion of a “wasted” ‘X’ channel is bad for compression efficiency, and so it’s recommended to avoid formats containing ‘X’ bits. If a fourth component is required/expected by the encoder/decoder, then it is recommended to instead use an equivalent format with alpha, setting all alpha bits to ‘1’. If there is no requirement for a fourth component, then a format which doesn’t include alpha can be used, e.g. DRM_FORMAT_BGR888.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKFhhhhubeh}(h]components-and-orderingah ]h"]components and orderingah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hNumber of Planesh]hNumber of Planes}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKOubh)}(hXFormats which are typically multi-planar in linear layouts (e.g. YUV 420), can be encoded into one, or multiple, AFBC planes. As with component order, the encoder and decoder must agree about the number of planes in order to correctly decode the buffer. The fourcc code is used to determine the number of encoded planes in an AFBC buffer, matching the number of planes for the linear (unmodified) format. Within each plane, the component ordering also follows the fourcc code:h]hXFormats which are typically multi-planar in linear layouts (e.g. YUV 420), can be encoded into one, or multiple, AFBC planes. As with component order, the encoder and decoder must agree about the number of planes in order to correctly decode the buffer. The fourcc code is used to determine the number of encoded planes in an AFBC buffer, matching the number of planes for the linear (unmodified) format. Within each plane, the component ordering also follows the fourcc code:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKQhjhhubh)}(h For example:h]h For example:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKZhjhhubj#)}(hX@* DRM_FORMAT_YUYV: nplanes = 1 * Plane 0: * Component 0: Y(8) * Component 1: Cb(8, 2x1 subsampled) * Component 2: Cr(8, 2x1 subsampled) * DRM_FORMAT_NV12: nplanes = 2 * Plane 0: * Component 0: Y(8) * Plane 1: * Component 0: Cb(8, 2x1 subsampled) * Component 1: Cr(8, 2x1 subsampled) h]j))}(hhh](j.)}(hDRM_FORMAT_YUYV: nplanes = 1 * Plane 0: * Component 0: Y(8) * Component 1: Cb(8, 2x1 subsampled) * Component 2: Cr(8, 2x1 subsampled) h](h)}(hDRM_FORMAT_YUYV: nplanes = 1h]hDRM_FORMAT_YUYV: nplanes = 1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK\hjubj))}(hhh]j.)}(hhPlane 0: * Component 0: Y(8) * Component 1: Cb(8, 2x1 subsampled) * Component 2: Cr(8, 2x1 subsampled) h](h)}(hPlane 0:h]hPlane 0:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK^hjubj))}(hhh](j.)}(hComponent 0: Y(8)h]h)}(hjh]hComponent 0: Y(8)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK`hjubah}(h]h ]h"]h$]h&]uh1j-hjubj.)}(h"Component 1: Cb(8, 2x1 subsampled)h]h)}(hjh]h"Component 1: Cb(8, 2x1 subsampled)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKahjubah}(h]h ]h"]h$]h&]uh1j-hjubj.)}(h#Component 2: Cr(8, 2x1 subsampled) h]h)}(h"Component 2: Cr(8, 2x1 subsampled)h]h"Component 2: Cr(8, 2x1 subsampled)}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKbhj1ubah}(h]h ]h"]h$]h&]uh1j-hjubeh}(h]h ]h"]h$]h&]j{j|uh1j(hhhK`hjubeh}(h]h ]h"]h$]h&]uh1j-hjubah}(h]h ]h"]h$]h&]j{j|uh1j(hhhK^hjubeh}(h]h ]h"]h$]h&]uh1j-hjubj.)}(hDRM_FORMAT_NV12: nplanes = 2 * Plane 0: * Component 0: Y(8) * Plane 1: * Component 0: Cb(8, 2x1 subsampled) * Component 1: Cr(8, 2x1 subsampled) h](h)}(hDRM_FORMAT_NV12: nplanes = 2h]hDRM_FORMAT_NV12: nplanes = 2}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKdhjaubj))}(hhh](j.)}(hPlane 0: * Component 0: Y(8) h](h)}(hPlane 0:h]hPlane 0:}(hjzhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKfhjvubj))}(hhh]j.)}(hComponent 0: Y(8) h]h)}(hComponent 0: Y(8)h]hComponent 0: Y(8)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhjubah}(h]h ]h"]h$]h&]uh1j-hjubah}(h]h ]h"]h$]h&]j{j|uh1j(hhhKhhjvubeh}(h]h ]h"]h$]h&]uh1j-hjsubj.)}(hTPlane 1: * Component 0: Cb(8, 2x1 subsampled) * Component 1: Cr(8, 2x1 subsampled) h](h)}(hPlane 1:h]hPlane 1:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKjhjubj))}(hhh](j.)}(h"Component 0: Cb(8, 2x1 subsampled)h]h)}(hjh]h"Component 0: Cb(8, 2x1 subsampled)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKlhjubah}(h]h ]h"]h$]h&]uh1j-hjubj.)}(h#Component 1: Cr(8, 2x1 subsampled) h]h)}(h"Component 1: Cr(8, 2x1 subsampled)h]h"Component 1: Cr(8, 2x1 subsampled)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKmhjubah}(h]h ]h"]h$]h&]uh1j-hjubeh}(h]h ]h"]h$]h&]j{j|uh1j(hhhKlhjubeh}(h]h ]h"]h$]h&]uh1j-hjsubeh}(h]h ]h"]h$]h&]j{j|uh1j(hhhKfhjaubeh}(h]h ]h"]h$]h&]uh1j-hjubeh}(h]h ]h"]h$]h&]j{j|uh1j(hhhK\hjubah}(h]h ]h"]h$]h&]uh1j"hhhK\hjhhubeh}(h]number-of-planesah ]h"]number of planesah$]h&]uh1hhhhhhhhKOubh)}(hhh](h)}(hCross-device interoperabilityh]hCross-device interoperability}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKpubh)}(hXFor maximum compatibility across devices, the table below defines canonical formats for use between AFBC-enabled devices. Formats which are listed here must be used exactly as specified when using the AFBC modifiers. Formats which are not listed should be avoided.h]hXFor maximum compatibility across devices, the table below defines canonical formats for use between AFBC-enabled devices. Formats which are listed here must be used exactly as specified when using the AFBC modifiers. Formats which are not listed should be avoided.}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKrhjhhubhtable)}(hhh](h)}(h AFBC formatsh]h AFBC formats}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKwhj@ubhtgroup)}(hhh](hcolspec)}(hhh]h}(h]h ]h"]h$]h&]colwidthK!uh1jVhjSubjW)}(hhh]h}(h]h ]h"]h$]h&]colwidthK!uh1jVhjSubjW)}(hhh]h}(h]h ]h"]h$]h&]colwidthK!uh1jVhjSubhtbody)}(hhh](hrow)}(hhh](hentry)}(hhh]h)}(h Fourcc codeh]h Fourcc code}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKyhjubah}(h]h ]h"]h$]h&]uh1jhj}ubj)}(hhh]h)}(h Descriptionh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKzhjubah}(h]h ]h"]h$]h&]uh1jhj}ubj)}(hhh]h)}(hPlanes/Componentsh]hPlanes/Components}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK{hjubah}(h]h ]h"]h$]h&]uh1jhj}ubeh}(h]h ]h"]h$]h&]uh1j{hjxubj|)}(hhh](j)}(hhh]h)}(hDRM_FORMAT_ABGR2101010h]hDRM_FORMAT_ABGR2101010}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK}hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h*10-bit per component RGB, with 2-bit alphah]h*10-bit per component RGB, with 2-bit alpha}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK~hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]hdefinition_list)}(hhh]hdefinition_list_item)}(hiPlane 0: 4 components * Component 0: R(10) * Component 1: G(10) * Component 2: B(10) * Component 3: A(2) h](hterm)}(hPlane 0: 4 componentsh]hPlane 0: 4 components}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hhhKhjubh definition)}(hhh]j))}(hhh](j.)}(hComponent 0: R(10)h]h)}(hj&h]hComponent 0: R(10)}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj$ubah}(h]h ]h"]h$]h&]uh1j-hj!ubj.)}(hComponent 1: G(10)h]h)}(hj=h]hComponent 1: G(10)}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj;ubah}(h]h ]h"]h$]h&]uh1j-hj!ubj.)}(hComponent 2: B(10)h]h)}(hjTh]hComponent 2: B(10)}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjRubah}(h]h ]h"]h$]h&]uh1j-hj!ubj.)}(hComponent 3: A(2) h]h)}(hComponent 3: A(2)h]hComponent 3: A(2)}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjiubah}(h]h ]h"]h$]h&]uh1j-hj!ubeh}(h]h ]h"]h$]h&]j{j|uh1j(hhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j{hjxubj|)}(hhh](j)}(hhh]h)}(hDRM_FORMAT_ABGR8888h]hDRM_FORMAT_ABGR8888}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h)8-bit per component RGB, with 8-bit alphah]h)8-bit per component RGB, with 8-bit alpha}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(hhh]j)}(hfPlane 0: 4 components * Component 0: R(8) * Component 1: G(8) * Component 2: B(8) * Component 3: A(8) h](j )}(hPlane 0: 4 componentsh]hPlane 0: 4 components}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hhhKhjubj)}(hhh]j))}(hhh](j.)}(hComponent 0: R(8)h]h)}(hjh]hComponent 0: R(8)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j-hjubj.)}(hComponent 1: G(8)h]h)}(hj h]hComponent 1: G(8)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j-hjubj.)}(hComponent 2: B(8)h]h)}(hj$h]hComponent 2: B(8)}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj"ubah}(h]h ]h"]h$]h&]uh1j-hjubj.)}(hComponent 3: A(8) h]h)}(hComponent 3: A(8)h]hComponent 3: A(8)}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj9ubah}(h]h ]h"]h$]h&]uh1j-hjubeh}(h]h ]h"]h$]h&]j{j|uh1j(hhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j{hjxubj|)}(hhh](j)}(hhh]h)}(hDRM_FORMAT_BGR888h]hDRM_FORMAT_BGR888}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjxubah}(h]h ]h"]h$]h&]uh1jhjuubj)}(hhh]h)}(h8-bit per component RGBh]h8-bit per component RGB}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjuubj)}(hhh]j)}(hhh]j)}(hRPlane 0: 3 components * Component 0: R(8) * Component 1: G(8) * Component 2: B(8) h](j )}(hPlane 0: 3 componentsh]hPlane 0: 3 components}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hhhKhjubj)}(hhh]j))}(hhh](j.)}(hComponent 0: R(8)h]h)}(hjh]hComponent 0: R(8)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j-hjubj.)}(hComponent 1: G(8)h]h)}(hjh]hComponent 1: G(8)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j-hjubj.)}(hComponent 2: B(8) h]h)}(hComponent 2: B(8)h]hComponent 2: B(8)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j-hjubeh}(h]h ]h"]h$]h&]j{j|uh1j(hhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhjuubeh}(h]h ]h"]h$]h&]uh1j{hjxubj|)}(hhh](j)}(hhh]h)}(hDRM_FORMAT_BGR565h]hDRM_FORMAT_BGR565}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj1ubah}(h]h ]h"]h$]h&]uh1jhj.ubj)}(hhh]h)}(h5/6-bit per component RGBh]h5/6-bit per component RGB}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjHubah}(h]h ]h"]h$]h&]uh1jhj.ubj)}(hhh]j)}(hhh]j)}(hRPlane 0: 3 components * Component 0: R(5) * Component 1: G(6) * Component 2: B(5) h](j )}(hPlane 0: 3 componentsh]hPlane 0: 3 components}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1j hhhKhjeubj)}(hhh]j))}(hhh](j.)}(hComponent 0: R(5)h]h)}(hjh]hComponent 0: R(5)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj}ubah}(h]h ]h"]h$]h&]uh1j-hjzubj.)}(hComponent 1: G(6)h]h)}(hjh]hComponent 1: G(6)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j-hjzubj.)}(hComponent 2: B(5) h]h)}(hComponent 2: B(5)h]hComponent 2: B(5)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j-hjzubeh}(h]h ]h"]h$]h&]j{j|uh1j(hhhKhjwubah}(h]h ]h"]h$]h&]uh1jhjeubeh}(h]h ]h"]h$]h&]uh1jhhhKhjbubah}(h]h ]h"]h$]h&]uh1jhj_ubah}(h]h ]h"]h$]h&]uh1jhj.ubeh}(h]h ]h"]h$]h&]uh1j{hjxubj|)}(hhh](j)}(hhh]h)}(hDRM_FORMAT_ABGR1555h]hDRM_FORMAT_ABGR1555}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h)5-bit per component RGB, with 1-bit alphah]h)5-bit per component RGB, with 1-bit alpha}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(hhh]j)}(hfPlane 0: 4 components * Component 0: R(5) * Component 1: G(5) * Component 2: B(5) * Component 3: A(1) h](j )}(hPlane 0: 4 componentsh]hPlane 0: 4 components}(hj" hhhNhNubah}(h]h ]h"]h$]h&]uh1j hhhKhj ubj)}(hhh]j))}(hhh](j.)}(hComponent 0: R(5)h]h)}(hj8 h]hComponent 0: R(5)}(hj: hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj6 ubah}(h]h ]h"]h$]h&]uh1j-hj3 ubj.)}(hComponent 1: G(5)h]h)}(hjO h]hComponent 1: G(5)}(hjQ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjM ubah}(h]h ]h"]h$]h&]uh1j-hj3 ubj.)}(hComponent 2: B(5)h]h)}(hjf h]hComponent 2: B(5)}(hjh hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjd ubah}(h]h ]h"]h$]h&]uh1j-hj3 ubj.)}(hComponent 3: A(1) h]h)}(hComponent 3: A(1)h]hComponent 3: A(1)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj{ ubah}(h]h ]h"]h$]h&]uh1j-hj3 ubeh}(h]h ]h"]h$]h&]j{j|uh1j(hhhKhj0 ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j{hjxubj|)}(hhh](j)}(hhh]h)}(hDRM_FORMAT_VUY888h]hDRM_FORMAT_VUY888}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h+8-bit per component YCbCr 444, single planeh]h+8-bit per component YCbCr 444, single plane}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]j)}(hhh]j)}(hTPlane 0: 3 components * Component 0: Y(8) * Component 1: Cb(8) * Component 2: Cr(8) h](j )}(hPlane 0: 3 componentsh]hPlane 0: 3 components}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hhhKhj ubj)}(hhh]j))}(hhh](j.)}(hComponent 0: Y(8)h]h)}(hj h]hComponent 0: Y(8)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j-hj ubj.)}(hComponent 1: Cb(8)h]h)}(hj h]hComponent 1: Cb(8)}(hj! hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j-hj ubj.)}(hComponent 2: Cr(8) h]h)}(hComponent 2: Cr(8)h]hComponent 2: Cr(8)}(hj8 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj4 ubah}(h]h ]h"]h$]h&]uh1j-hj ubeh}(h]h ]h"]h$]h&]j{j|uh1j(hhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1j{hjxubj|)}(hhh](j)}(hhh]h)}(hDRM_FORMAT_VUY101010h]hDRM_FORMAT_VUY101010}(hjv hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjs ubah}(h]h ]h"]h$]h&]uh1jhjp ubj)}(hhh]h)}(h,10-bit per component YCbCr 444, single planeh]h,10-bit per component YCbCr 444, single plane}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhjp ubj)}(hhh]j)}(hhh]j)}(hWPlane 0: 3 components * Component 0: Y(10) * Component 1: Cb(10) * Component 2: Cr(10) h](j )}(hPlane 0: 3 componentsh]hPlane 0: 3 components}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hhhKhj ubj)}(hhh]j))}(hhh](j.)}(hComponent 0: Y(10)h]h)}(hj h]hComponent 0: Y(10)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j-hj ubj.)}(hComponent 1: Cb(10)h]h)}(hj h]hComponent 1: Cb(10)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j-hj ubj.)}(hComponent 2: Cr(10) h]h)}(hComponent 2: Cr(10)h]hComponent 2: Cr(10)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j-hj ubeh}(h]h ]h"]h$]h&]j{j|uh1j(hhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhjp ubeh}(h]h ]h"]h$]h&]uh1j{hjxubj|)}(hhh](j)}(hhh]h)}(hDRM_FORMAT_YUYVh]hDRM_FORMAT_YUYV}(hj/ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj, ubah}(h]h ]h"]h$]h&]uh1jhj) ubj)}(hhh]h)}(h+8-bit per component YCbCr 422, single planeh]h+8-bit per component YCbCr 422, single plane}(hjF hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjC ubah}(h]h ]h"]h$]h&]uh1jhj) ubj)}(hhh]j)}(hhh]j)}(htPlane 0: 3 components * Component 0: Y(8) * Component 1: Cb(8, 2x1 subsampled) * Component 2: Cr(8, 2x1 subsampled) h](j )}(hPlane 0: 3 componentsh]hPlane 0: 3 components}(hjd hhhNhNubah}(h]h ]h"]h$]h&]uh1j hhhKhj` ubj)}(hhh]j))}(hhh](j.)}(hComponent 0: Y(8)h]h)}(hjz h]hComponent 0: Y(8)}(hj| hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjx ubah}(h]h ]h"]h$]h&]uh1j-hju ubj.)}(h"Component 1: Cb(8, 2x1 subsampled)h]h)}(hj h]h"Component 1: Cb(8, 2x1 subsampled)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j-hju ubj.)}(h#Component 2: Cr(8, 2x1 subsampled) h]h)}(h"Component 2: Cr(8, 2x1 subsampled)h]h"Component 2: Cr(8, 2x1 subsampled)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j-hju ubeh}(h]h ]h"]h$]h&]j{j|uh1j(hhhKhjr ubah}(h]h ]h"]h$]h&]uh1jhj` ubeh}(h]h ]h"]h$]h&]uh1jhhhKhj] ubah}(h]h ]h"]h$]h&]uh1jhjZ ubah}(h]h ]h"]h$]h&]uh1jhj) ubeh}(h]h ]h"]h$]h&]uh1j{hjxubj|)}(hhh](j)}(hhh]h)}(hDRM_FORMAT_NV16h]hDRM_FORMAT_NV16}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h(8-bit per component YCbCr 422, two planeh]h(8-bit per component YCbCr 422, two plane}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]j)}(hhh](j)}(h(Plane 0: 1 component * Component 0: Y(8)h](j )}(hPlane 0: 1 componenth]hPlane 0: 1 component}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hhhKhj ubj)}(hhh]j))}(hhh]j.)}(hComponent 0: Y(8)h]h)}(hj3 h]hComponent 0: Y(8)}(hj5 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj1 ubah}(h]h ]h"]h$]h&]uh1j-hj. ubah}(h]h ]h"]h$]h&]j{j|uh1j(hhhKhj+ ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhhhKhj ubj)}(h`Plane 1: 2 components * Component 0: Cb(8, 2x1 subsampled) * Component 1: Cr(8, 2x1 subsampled) h](j )}(hPlane 1: 2 componentsh]hPlane 1: 2 components}(hj^ hhhNhNubah}(h]h ]h"]h$]h&]uh1j hhhKhjZ ubj)}(hhh]j))}(hhh](j.)}(h"Component 0: Cb(8, 2x1 subsampled)h]h)}(hjt h]h"Component 0: Cb(8, 2x1 subsampled)}(hjv hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjr ubah}(h]h ]h"]h$]h&]uh1j-hjo ubj.)}(h#Component 1: Cr(8, 2x1 subsampled) h]h)}(h"Component 1: Cr(8, 2x1 subsampled)h]h"Component 1: Cr(8, 2x1 subsampled)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j-hjo ubeh}(h]h ]h"]h$]h&]j{j|uh1j(hhhKhjl ubah}(h]h ]h"]h$]h&]uh1jhjZ ubeh}(h]h ]h"]h$]h&]uh1jhhhKhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1j{hjxubj|)}(hhh](j)}(hhh]h)}(hDRM_FORMAT_Y210h]hDRM_FORMAT_Y210}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h,10-bit per component YCbCr 422, single planeh]h,10-bit per component YCbCr 422, single plane}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]j)}(hhh]j)}(hwPlane 0: 3 components * Component 0: Y(10) * Component 1: Cb(10, 2x1 subsampled) * Component 2: Cr(10, 2x1 subsampled) h](j )}(hPlane 0: 3 componentsh]hPlane 0: 3 components}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hhhKhj ubj)}(hhh]j))}(hhh](j.)}(hComponent 0: Y(10)h]h)}(hj h]hComponent 0: Y(10)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j-hj ubj.)}(h#Component 1: Cb(10, 2x1 subsampled)h]h)}(hj- h]h#Component 1: Cb(10, 2x1 subsampled)}(hj/ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj+ ubah}(h]h ]h"]h$]h&]uh1j-hj ubj.)}(h$Component 2: Cr(10, 2x1 subsampled) h]h)}(h#Component 2: Cr(10, 2x1 subsampled)h]h#Component 2: Cr(10, 2x1 subsampled)}(hjF hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjB ubah}(h]h ]h"]h$]h&]uh1j-hj ubeh}(h]h ]h"]h$]h&]j{j|uh1j(hhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1j{hjxubj|)}(hhh](j)}(hhh]h)}(hDRM_FORMAT_P210h]hDRM_FORMAT_P210}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj~ ubj)}(hhh]h)}(h)10-bit per component YCbCr 422, two planeh]h)10-bit per component YCbCr 422, two plane}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj~ ubj)}(hhh]j)}(hhh](j)}(h)Plane 0: 1 component * Component 0: Y(10)h](j )}(hPlane 0: 1 componenth]hPlane 0: 1 component}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hhhKhj ubj)}(hhh]j))}(hhh]j.)}(hComponent 0: Y(10)h]h)}(hj h]hComponent 0: Y(10)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j-hj ubah}(h]h ]h"]h$]h&]j{j|uh1j(hhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhhhKhj ubj)}(hbPlane 1: 2 components * Component 0: Cb(10, 2x1 subsampled) * Component 1: Cr(10, 2x1 subsampled) h](j )}(hPlane 1: 2 componentsh]hPlane 1: 2 components}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hhhKhj ubj)}(hhh]j))}(hhh](j.)}(h#Component 0: Cb(10, 2x1 subsampled)h]h)}(hjh]h#Component 0: Cb(10, 2x1 subsampled)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j-hj ubj.)}(h$Component 1: Cr(10, 2x1 subsampled) h]h)}(h#Component 1: Cr(10, 2x1 subsampled)h]h#Component 1: Cr(10, 2x1 subsampled)}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj%ubah}(h]h ]h"]h$]h&]uh1j-hj ubeh}(h]h ]h"]h$]h&]j{j|uh1j(hhhKhjubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhhhKhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhj~ ubeh}(h]h ]h"]h$]h&]uh1j{hjxubj|)}(hhh](j)}(hhh]h)}(hDRM_FORMAT_YUV420_8BITh]hDRM_FORMAT_YUV420_8BIT}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjdubah}(h]h ]h"]h$]h&]uh1jhjaubj)}(hhh]h)}(h+8-bit per component YCbCr 420, single planeh]h+8-bit per component YCbCr 420, single plane}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj{ubah}(h]h ]h"]h$]h&]uh1jhjaubj)}(hhh]j)}(hhh]j)}(htPlane 0: 3 components * Component 0: Y(8) * Component 1: Cb(8, 2x2 subsampled) * Component 2: Cr(8, 2x2 subsampled) h](j )}(hPlane 0: 3 componentsh]hPlane 0: 3 components}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hhhKhjubj)}(hhh]j))}(hhh](j.)}(hComponent 0: Y(8)h]h)}(hjh]hComponent 0: Y(8)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j-hjubj.)}(h"Component 1: Cb(8, 2x2 subsampled)h]h)}(hjh]h"Component 1: Cb(8, 2x2 subsampled)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j-hjubj.)}(h#Component 2: Cr(8, 2x2 subsampled) h]h)}(h"Component 2: Cr(8, 2x2 subsampled)h]h"Component 2: Cr(8, 2x2 subsampled)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j-hjubeh}(h]h ]h"]h$]h&]j{j|uh1j(hhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhjaubeh}(h]h ]h"]h$]h&]uh1j{hjxubj|)}(hhh](j)}(hhh]h)}(hDRM_FORMAT_YUV420_10BITh]hDRM_FORMAT_YUV420_10BIT}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h,10-bit per component YCbCr 420, single planeh]h,10-bit per component YCbCr 420, single plane}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj4ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(hhh]j)}(hwPlane 0: 3 components * Component 0: Y(10) * Component 1: Cb(10, 2x2 subsampled) * Component 2: Cr(10, 2x2 subsampled) h](j )}(hPlane 0: 3 componentsh]hPlane 0: 3 components}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1j hhhKhjQubj)}(hhh]j))}(hhh](j.)}(hComponent 0: Y(10)h]h)}(hjkh]hComponent 0: Y(10)}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjiubah}(h]h ]h"]h$]h&]uh1j-hjfubj.)}(h#Component 1: Cb(10, 2x2 subsampled)h]h)}(hjh]h#Component 1: Cb(10, 2x2 subsampled)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j-hjfubj.)}(h$Component 2: Cr(10, 2x2 subsampled) h]h)}(h#Component 2: Cr(10, 2x2 subsampled)h]h#Component 2: Cr(10, 2x2 subsampled)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j-hjfubeh}(h]h ]h"]h$]h&]j{j|uh1j(hhhKhjcubah}(h]h ]h"]h$]h&]uh1jhjQubeh}(h]h ]h"]h$]h&]uh1jhhhKhjNubah}(h]h ]h"]h$]h&]uh1jhjKubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j{hjxubj|)}(hhh](j)}(hhh]h)}(hDRM_FORMAT_NV12h]hDRM_FORMAT_NV12}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h(8-bit per component YCbCr 420, two planeh]h(8-bit per component YCbCr 420, two plane}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(hhh](j)}(h(Plane 0: 1 component * Component 0: Y(8)h](j )}(hPlane 0: 1 componenth]hPlane 0: 1 component}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hhhKhj ubj)}(hhh]j))}(hhh]j.)}(hComponent 0: Y(8)h]h)}(hj$h]hComponent 0: Y(8)}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj"ubah}(h]h ]h"]h$]h&]uh1j-hjubah}(h]h ]h"]h$]h&]j{j|uh1j(hhhKhjubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhhhKhjubj)}(h`Plane 1: 2 components * Component 0: Cb(8, 2x2 subsampled) * Component 1: Cr(8, 2x2 subsampled) h](j )}(hPlane 1: 2 componentsh]hPlane 1: 2 components}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1j hhhKhjKubj)}(hhh]j))}(hhh](j.)}(h"Component 0: Cb(8, 2x2 subsampled)h]h)}(hjeh]h"Component 0: Cb(8, 2x2 subsampled)}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjcubah}(h]h ]h"]h$]h&]uh1j-hj`ubj.)}(h#Component 1: Cr(8, 2x2 subsampled) h]h)}(h"Component 1: Cr(8, 2x2 subsampled)h]h"Component 1: Cr(8, 2x2 subsampled)}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjzubah}(h]h ]h"]h$]h&]uh1j-hj`ubeh}(h]h ]h"]h$]h&]j{j|uh1j(hhhKhj]ubah}(h]h ]h"]h$]h&]uh1jhjKubeh}(h]h ]h"]h$]h&]uh1jhhhKhjubeh}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j{hjxubj|)}(hhh](j)}(hhh]h)}(hDRM_FORMAT_P010h]hDRM_FORMAT_P010}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h)10-bit per component YCbCr 420, two planeh]h)10-bit per component YCbCr 420, two plane}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(hhh](j)}(h)Plane 0: 1 component * Component 0: Y(10)h](j )}(hPlane 0: 1 componenth]hPlane 0: 1 component}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hhhKhjubj)}(hhh]j))}(hhh]j.)}(hComponent 0: Y(10)h]h)}(hjh]hComponent 0: Y(10)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j-hjubah}(h]h ]h"]h$]h&]j{j|uh1j(hhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhhhKhjubj)}(haPlane 1: 2 components * Component 0: Cb(10, 2x2 subsampled) * Component 1: Cr(10, 2x2 subsampled)h](j )}(hPlane 1: 2 componentsh]hPlane 1: 2 components}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1j hhhKhj.ubj)}(hhh]j))}(hhh](j.)}(h#Component 0: Cb(10, 2x2 subsampled)h]h)}(hjHh]h#Component 0: Cb(10, 2x2 subsampled)}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjFubah}(h]h ]h"]h$]h&]uh1j-hjCubj.)}(h#Component 1: Cr(10, 2x2 subsampled)h]h)}(hj_h]h#Component 1: Cr(10, 2x2 subsampled)}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj]ubah}(h]h ]h"]h$]h&]uh1j-hjCubeh}(h]h ]h"]h$]h&]j{j|uh1j(hhhKhj@ubah}(h]h ]h"]h$]h&]uh1jhj.ubeh}(h]h ]h"]h$]h&]uh1jhhhKhjubeh}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j{hjxubeh}(h]h ]h"]h$]h&]uh1jvhjSubeh}(h]h ]h"]h$]h&]colsKuh1jQhj@ubeh}(h]id1ah ]h"]h$]h&]uh1j>hjhhhNhNubeh}(h]cross-device-interoperabilityah ]h"]cross-device interoperabilityah$]h&]uh1hhhhhhhhKpubeh}(h] arm-framebuffer-compression-afbcah ]h"]"arm framebuffer compression (afbc)ah$]h&]uh1hhhhhhhhKubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksjfootnote_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_handlerjerror_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}substitution_names}refnames}refids}nameids}(jjjjjjjju nametypes}(jjjjuh}(jhjhjjjjjj@u footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}jKsRparse_messages]transform_messages] transformerN include_log] decorationNhhub.