diff options
author | Gwenole Beauchesne <gbeauchesne@splitted-desktop.com> | 2009-07-08 07:58:29 +0000 |
---|---|---|
committer | Austin Yuan <shengquan.yuan@intel.com> | 2009-07-08 17:42:05 +0800 |
commit | ddb1a3247bab99832366429888522a314526e98c (patch) | |
tree | ec50f90951617e67c3aaeaddcd11659d9021a6d9 /src | |
parent | 6a1c58a195140e20375f0e57f512c023e22901ad (diff) | |
download | libva-ddb1a3247bab99832366429888522a314526e98c.tar.gz |
Add VASliceParameterBufferBase.
Signed-off-by: Austin Yuan <shengquan.yuan@intel.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/va.h | 34 |
1 files changed, 21 insertions, 13 deletions
@@ -466,6 +466,27 @@ typedef enum } VABufferType; +/* + * There will be cases where the bitstream buffer will not have enough room to hold + * the data for the entire slice, and the following flags will be used in the slice + * parameter to signal to the server for the possible cases. + * If a slice parameter buffer and slice data buffer pair is sent to the server with + * the slice data partially in the slice data buffer (BEGIN and MIDDLE cases below), + * then a slice parameter and data buffer needs to be sent again to complete this slice. + */ +#define VA_SLICE_DATA_FLAG_ALL 0x00 /* whole slice is in the buffer */ +#define VA_SLICE_DATA_FLAG_BEGIN 0x01 /* The beginning of the slice is in the buffer but the end if not */ +#define VA_SLICE_DATA_FLAG_MIDDLE 0x02 /* Neither beginning nor end of the slice is in the buffer */ +#define VA_SLICE_DATA_FLAG_END 0x04 /* end of the slice is in the buffer */ + +/* Codec-independent Slice Parameter Buffer base */ +typedef struct _VASliceParameterBufferBase +{ + unsigned int slice_data_size; /* number of bytes in the slice data buffer for this slice */ + unsigned int slice_data_offset; /* the offset to the first byte of slice data */ + unsigned int slice_data_flag; /* see VA_SLICE_DATA_FLAG_XXX definitions */ +} VASliceParameterBufferBase; + /**************************** * MPEG-2 data structures ****************************/ @@ -517,19 +538,6 @@ typedef struct _VAIQMatrixBufferMPEG2 unsigned char chroma_non_intra_quantiser_matrix[64]; } VAIQMatrixBufferMPEG2; -/* - * There will be cases where the bitstream buffer will not have enough room to hold - * the data for the entire slice, and the following flags will be used in the slice - * parameter to signal to the server for the possible cases. - * If a slice parameter buffer and slice data buffer pair is sent to the server with - * the slice data partially in the slice data buffer (BEGIN and MIDDLE cases below), - * then a slice parameter and data buffer needs to be sent again to complete this slice. - */ -#define VA_SLICE_DATA_FLAG_ALL 0x00 /* whole slice is in the buffer */ -#define VA_SLICE_DATA_FLAG_BEGIN 0x01 /* The beginning of the slice is in the buffer but the end if not */ -#define VA_SLICE_DATA_FLAG_MIDDLE 0x02 /* Neither beginning nor end of the slice is in the buffer */ -#define VA_SLICE_DATA_FLAG_END 0x04 /* end of the slice is in the buffer */ - /* MPEG-2 Slice Parameter Buffer */ typedef struct _VASliceParameterBufferMPEG2 { |