diff options
author | Xiang, Haihao <haihao.xiang@intel.com> | 2014-11-19 15:43:10 +0800 |
---|---|---|
committer | Xiang, Haihao <haihao.xiang@intel.com> | 2015-03-19 09:55:25 +0800 |
commit | 5d6bf67f0005b912f80a1b442f56127affb53332 (patch) | |
tree | c89a3a58ab63d66455172fa9ca734b6d9707dd57 /va/va.h | |
parent | f626a3ada17b845b2240469f2cb911b558ea3212 (diff) | |
download | libva-5d6bf67f0005b912f80a1b442f56127affb53332.tar.gz |
Move VAHuffmanTableBufferJPEGBaseline to va.h
VAHuffmanTableBufferJPEGBaseline is also used for JPEG encoding,
so move it to va.h as we discussed before.
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
(cherry picked from commit 504478e0bbc27cc529c96b168cae1fb9dd12c4a5)
Conflicts:
va/va.h
Diffstat (limited to 'va/va.h')
-rw-r--r-- | va/va.h | 39 |
1 files changed, 39 insertions, 0 deletions
@@ -1151,6 +1151,45 @@ typedef struct _VASliceParameterBufferBase unsigned int slice_data_flag; /* see VA_SLICE_DATA_FLAG_XXX definitions */ } VASliceParameterBufferBase; +/********************************** + * JPEG common data structures + **********************************/ +/** + * \brief Huffman table for JPEG decoding. + * + * This structure holds the complete Huffman tables. This is an + * aggregation of all Huffman table (DHT) segments maintained by the + * application. i.e. up to 2 Huffman tables are stored in there for + * baseline profile. + * + * The #load_huffman_table array can be used as a hint to notify the + * VA driver implementation about which table(s) actually changed + * since the last submission of this buffer. + */ +typedef struct _VAHuffmanTableBufferJPEGBaseline { + /** \brief Specifies which #huffman_table is valid. */ + unsigned char load_huffman_table[2]; + /** \brief Huffman tables indexed by table identifier (Th). */ + struct { + /** @name DC table (up to 12 categories) */ + /**@{*/ + /** \brief Number of Huffman codes of length i + 1 (Li). */ + unsigned char num_dc_codes[16]; + /** \brief Value associated with each Huffman code (Vij). */ + unsigned char dc_values[12]; + /**@}*/ + /** @name AC table (2 special codes + up to 16 * 10 codes) */ + /**@{*/ + /** \brief Number of Huffman codes of length i + 1 (Li). */ + unsigned char num_ac_codes[16]; + /** \brief Value associated with each Huffman code (Vij). */ + unsigned char ac_values[162]; + /** \brief Padding to 4-byte boundaries. Must be set to zero. */ + unsigned char pad[2]; + /**@}*/ + } huffman_table[2]; +} VAHuffmanTableBufferJPEGBaseline; + #include <va/va_dec_jpeg.h> /**************************** |