]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
media: coda: jpeg: merge Huffman table bits and values
authorPhilipp Zabel <p.zabel@pengutronix.de>
Thu, 12 Dec 2019 14:02:53 +0000 (15:02 +0100)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Mon, 16 Dec 2019 09:03:51 +0000 (10:03 +0100)
The Huffman bits tables are always 16 bytes long, and they are always
followed directly by the values tables, both in hardware and in JPEG
files. Just merge the two tables.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/platform/coda/coda-jpeg.c

index bf61a3ecc580089f35c239d6a85e59c09d8e7a23..27e20aee1a8c1a7e5d3876763f82fb805caa1a14 100644 (file)
  * chrominance from JPEG ITU-T.81 (ISO/IEC 10918-1) Annex K.3
  */
 
-static const unsigned char luma_dc_bits[16] = {
+static const unsigned char luma_dc[16 + 12] = {
+       /* bits */
        0x00, 0x01, 0x05, 0x01, 0x01, 0x01, 0x01, 0x01,
        0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-
-static const unsigned char luma_dc_value[12] = {
+       /* values */
        0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
        0x08, 0x09, 0x0a, 0x0b,
 };
 
-static const unsigned char chroma_dc_bits[16] = {
+static const unsigned char chroma_dc[16 + 12] = {
+       /* bits */
        0x00, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
        0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-
-static const unsigned char chroma_dc_value[12] = {
+       /* values */
        0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
        0x08, 0x09, 0x0a, 0x0b,
 };
 
-static const unsigned char luma_ac_bits[16] = {
+static const unsigned char luma_ac[16 + 162 + 2] = {
+       /* bits */
        0x00, 0x02, 0x01, 0x03, 0x03, 0x02, 0x04, 0x03,
        0x05, 0x05, 0x04, 0x04, 0x00, 0x00, 0x01, 0x7d,
-};
-
-static const unsigned char luma_ac_value[162 + 2] = {
+       /* values */
        0x01, 0x02, 0x03, 0x00, 0x04, 0x11, 0x05, 0x12,
        0x21, 0x31, 0x41, 0x06, 0x13, 0x51, 0x61, 0x07,
        0x22, 0x71, 0x14, 0x32, 0x81, 0x91, 0xa1, 0x08,
@@ -68,12 +65,11 @@ static const unsigned char luma_ac_value[162 + 2] = {
        0xf9, 0xfa, /* padded to 32-bit */
 };
 
-static const unsigned char chroma_ac_bits[16] = {
+static const unsigned char chroma_ac[16 + 162 + 2] = {
+       /* bits */
        0x00, 0x02, 0x01, 0x02, 0x04, 0x04, 0x03, 0x04,
        0x07, 0x05, 0x04, 0x04, 0x00, 0x01, 0x02, 0x77,
-};
-
-static const unsigned char chroma_ac_value[162 + 2] = {
+       /* values */
        0x00, 0x01, 0x02, 0x03, 0x11, 0x04, 0x05, 0x21,
        0x31, 0x06, 0x12, 0x41, 0x51, 0x07, 0x61, 0x71,
        0x13, 0x22, 0x32, 0x81, 0x08, 0x14, 0x42, 0x91,
@@ -148,14 +144,10 @@ int coda_jpeg_write_tables(struct coda_ctx *ctx)
 {
        int i;
        static const struct coda_memcpy_desc huff[8] = {
-               { 0,   luma_dc_bits,    sizeof(luma_dc_bits)    },
-               { 16,  luma_dc_value,   sizeof(luma_dc_value)   },
-               { 32,  luma_ac_bits,    sizeof(luma_ac_bits)    },
-               { 48,  luma_ac_value,   sizeof(luma_ac_value)   },
-               { 216, chroma_dc_bits,  sizeof(chroma_dc_bits)  },
-               { 232, chroma_dc_value, sizeof(chroma_dc_value) },
-               { 248, chroma_ac_bits,  sizeof(chroma_ac_bits)  },
-               { 264, chroma_ac_value, sizeof(chroma_ac_value) },
+               { 0,   luma_dc,    sizeof(luma_dc)    },
+               { 32,  luma_ac,    sizeof(luma_ac)    },
+               { 216, chroma_dc,  sizeof(chroma_dc)  },
+               { 248, chroma_ac,  sizeof(chroma_ac)  },
        };
        struct coda_memcpy_desc qmat[3] = {
                { 512, ctx->params.jpeg_qmat_tab[0], 64 },