summaryrefslogtreecommitdiff
path: root/va/va.h
diff options
context:
space:
mode:
authorXiang, Haihao <haihao.xiang@intel.com>2014-11-19 15:43:10 +0800
committerXiang, Haihao <haihao.xiang@intel.com>2015-03-19 09:55:25 +0800
commit5d6bf67f0005b912f80a1b442f56127affb53332 (patch)
treec89a3a58ab63d66455172fa9ca734b6d9707dd57 /va/va.h
parentf626a3ada17b845b2240469f2cb911b558ea3212 (diff)
downloadlibva-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.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/va/va.h b/va/va.h
index 2b988fd..6aa62b1 100644
--- a/va/va.h
+++ b/va/va.h
@@ -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>
/****************************