Commit 7e941a79 authored by Laurent Pinchart's avatar Laurent Pinchart Committed by Mauro Carvalho Chehab
Browse files

[media] v4l: Add media format codes for AHSV8888 on 32-bit busses

parent e5ad37b6
Loading
Loading
Loading
Loading
+157 −0
Original line number Diff line number Diff line
@@ -2491,6 +2491,163 @@
      </table>
    </section>

    <section>
      <title>HSV/HSL Formats</title>

      <para>Those formats transfer pixel data as RGB values in a cylindrical-coordinate
      system using Hue-Saturation-Value or Hue-Saturation-Lightness components. The
      format code is made of the following information.
      <itemizedlist>
	<listitem><para>The hue, saturation, value or lightness and optional alpha
	components order code, as encoded in a pixel sample. The only currently
	supported value is AHSV.
	</para></listitem>
	<listitem><para>The number of bits per component, for each component. The values
	can be different for all components. The only currently supported value is 8888.
	</para></listitem>
	<listitem><para>The number of bus samples per pixel. Pixels that are wider than
	the bus width must be transferred in multiple samples. The only currently
	supported value is 1.</para></listitem>
	<listitem><para>The bus width.</para></listitem>
	<listitem><para>For formats where the total number of bits per pixel is smaller
	than the number of bus samples per pixel times the bus width, a padding
	value stating if the bytes are padded in their most high order bits
	(PADHI) or low order bits (PADLO).</para></listitem>
	<listitem><para>For formats where the number of bus samples per pixel is larger
	than 1, an endianness value stating if the pixel is transferred MSB first
	(BE) or LSB first (LE).</para></listitem>
      </itemizedlist>
      </para>

      <para>The following table lists existing HSV/HSL formats.</para>

      <table pgwide="0" frame="none" id="v4l2-mbus-pixelcode-hsv">
	<title>HSV/HSL formats</title>
	<tgroup cols="27">
	  <colspec colname="id" align="left" />
	  <colspec colname="code" align="center"/>
	  <colspec colname="bit" />
	  <colspec colnum="4" colname="b31" align="center" />
	  <colspec colnum="5" colname="b20" align="center" />
	  <colspec colnum="6" colname="b29" align="center" />
	  <colspec colnum="7" colname="b28" align="center" />
	  <colspec colnum="8" colname="b27" align="center" />
	  <colspec colnum="9" colname="b26" align="center" />
	  <colspec colnum="10" colname="b25" align="center" />
	  <colspec colnum="11" colname="b24" align="center" />
	  <colspec colnum="12" colname="b23" align="center" />
	  <colspec colnum="13" colname="b22" align="center" />
	  <colspec colnum="14" colname="b21" align="center" />
	  <colspec colnum="15" colname="b20" align="center" />
	  <colspec colnum="16" colname="b19" align="center" />
	  <colspec colnum="17" colname="b18" align="center" />
	  <colspec colnum="18" colname="b17" align="center" />
	  <colspec colnum="19" colname="b16" align="center" />
	  <colspec colnum="20" colname="b15" align="center" />
	  <colspec colnum="21" colname="b14" align="center" />
	  <colspec colnum="22" colname="b13" align="center" />
	  <colspec colnum="23" colname="b12" align="center" />
	  <colspec colnum="24" colname="b11" align="center" />
	  <colspec colnum="25" colname="b10" align="center" />
	  <colspec colnum="26" colname="b09" align="center" />
	  <colspec colnum="27" colname="b08" align="center" />
	  <colspec colnum="28" colname="b07" align="center" />
	  <colspec colnum="29" colname="b06" align="center" />
	  <colspec colnum="30" colname="b05" align="center" />
	  <colspec colnum="31" colname="b04" align="center" />
	  <colspec colnum="32" colname="b03" align="center" />
	  <colspec colnum="33" colname="b02" align="center" />
	  <colspec colnum="34" colname="b01" align="center" />
	  <colspec colnum="35" colname="b00" align="center" />
	  <spanspec namest="b31" nameend="b00" spanname="b0" />
	  <thead>
	    <row>
	      <entry>Identifier</entry>
	      <entry>Code</entry>
	      <entry></entry>
	      <entry spanname="b0">Data organization</entry>
	    </row>
	    <row>
	      <entry></entry>
	      <entry></entry>
	      <entry>Bit</entry>
	      <entry>31</entry>
	      <entry>30</entry>
	      <entry>29</entry>
	      <entry>28</entry>
	      <entry>27</entry>
	      <entry>26</entry>
	      <entry>25</entry>
	      <entry>24</entry>
	      <entry>23</entry>
	      <entry>22</entry>
	      <entry>21</entry>
	      <entry>20</entry>
	      <entry>19</entry>
	      <entry>18</entry>
	      <entry>17</entry>
	      <entry>16</entry>
	      <entry>15</entry>
	      <entry>14</entry>
	      <entry>13</entry>
	      <entry>12</entry>
	      <entry>11</entry>
	      <entry>10</entry>
	      <entry>9</entry>
	      <entry>8</entry>
	      <entry>7</entry>
	      <entry>6</entry>
	      <entry>5</entry>
	      <entry>4</entry>
	      <entry>3</entry>
	      <entry>2</entry>
	      <entry>1</entry>
	      <entry>0</entry>
	    </row>
	  </thead>
	  <tbody valign="top">
	    <row id="V4L2-MBUS-FMT-AHSV8888-1X32">
	      <entry>V4L2_MBUS_FMT_AHSV8888_1X32</entry>
	      <entry>0x6001</entry>
	      <entry></entry>
	      <entry>a<subscript>7</subscript></entry>
	      <entry>a<subscript>6</subscript></entry>
	      <entry>a<subscript>5</subscript></entry>
	      <entry>a<subscript>4</subscript></entry>
	      <entry>a<subscript>3</subscript></entry>
	      <entry>a<subscript>2</subscript></entry>
	      <entry>a<subscript>1</subscript></entry>
	      <entry>a<subscript>0</subscript></entry>
	      <entry>h<subscript>7</subscript></entry>
	      <entry>h<subscript>6</subscript></entry>
	      <entry>h<subscript>5</subscript></entry>
	      <entry>h<subscript>4</subscript></entry>
	      <entry>h<subscript>3</subscript></entry>
	      <entry>h<subscript>2</subscript></entry>
	      <entry>h<subscript>1</subscript></entry>
	      <entry>h<subscript>0</subscript></entry>
	      <entry>s<subscript>7</subscript></entry>
	      <entry>s<subscript>6</subscript></entry>
	      <entry>s<subscript>5</subscript></entry>
	      <entry>s<subscript>4</subscript></entry>
	      <entry>s<subscript>3</subscript></entry>
	      <entry>s<subscript>2</subscript></entry>
	      <entry>s<subscript>1</subscript></entry>
	      <entry>s<subscript>0</subscript></entry>
	      <entry>v<subscript>7</subscript></entry>
	      <entry>v<subscript>6</subscript></entry>
	      <entry>v<subscript>5</subscript></entry>
	      <entry>v<subscript>4</subscript></entry>
	      <entry>v<subscript>3</subscript></entry>
	      <entry>v<subscript>2</subscript></entry>
	      <entry>v<subscript>1</subscript></entry>
	      <entry>v<subscript>0</subscript></entry>
	    </row>
	  </tbody>
	</tgroup>
      </table>
    </section>

    <section>
      <title>JPEG Compressed Formats</title>

+3 −0
Original line number Diff line number Diff line
@@ -110,6 +110,9 @@ enum v4l2_mbus_pixelcode {

	/* S5C73M3 sensor specific interleaved UYVY and JPEG */
	V4L2_MBUS_FMT_S5C_UYVY_JPEG_1X8 = 0x5001,

	/* HSV - next is 0x6002 */
	V4L2_MBUS_FMT_AHSV8888_1X32 = 0x6001,
};

/**