Commit d3a3ac0a authored by Waldo Bastian's avatar Waldo Bastian

Update H.264 params

parent ca1a6873
/*
* Copyright (c) 2007, Intel Corp.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
* Neither the name of Intel Corporation nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
* GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/* /*
* Video Decode Acceleration API Specification * Video Decode Acceleration API Specification
* *
...@@ -5,23 +32,22 @@ ...@@ -5,23 +32,22 @@
* <jonathan.bian@intel.com> * <jonathan.bian@intel.com>
* *
* Revision History: * Revision History:
* rev 0.10 (12/10/06 Jonathan Bian) - Initial draft * rev 0.10 (12/10/2006 Jonathan Bian) - Initial draft
* rev 0.11 (12/15/06 Jonathan Bian) - Fixed some errors * rev 0.11 (12/15/2006 Jonathan Bian) - Fixed some errors
* rev 0.12 (02/05/07 Jonathan Bian) - Added VC-1 data structures for slice level decode * rev 0.12 (02/05/2007 Jonathan Bian) - Added VC-1 data structures for slice level decode
* rev 0.13 (02/28/07 Jonathan Bian) - Added GetDisplay() * rev 0.13 (02/28/2007 Jonathan Bian) - Added GetDisplay()
* rev 0.14 (04/13/07 Jonathan Bian) - Fixed MPEG-2 PictureParameter structure, cleaned up a few funcs. * rev 0.14 (04/13/2007 Jonathan Bian) - Fixed MPEG-2 PictureParameter structure, cleaned up a few funcs.
* rev 0.15 (04/20/07 Jonathan Bian) - Overhauled buffer management * rev 0.15 (04/20/2007 Jonathan Bian) - Overhauled buffer management
* rev 0.16 (05/02/07 Jonathan Bian) - Added error codes and fixed some issues with configuration * rev 0.16 (05/02/2007 Jonathan Bian) - Added error codes and fixed some issues with configuration
* rev 0.17 (05/07/07 Jonathan Bian) - Added H.264/AVC data structures for slice level decode. * rev 0.17 (05/07/2007 Jonathan Bian) - Added H.264/AVC data structures for slice level decode.
* rev 0.18 (05/14/07 Jonathan Bian) - Added data structures for MPEG-4 slice level decode * rev 0.18 (05/14/2007 Jonathan Bian) - Added data structures for MPEG-4 slice level decode
* and MPEG-2 motion compensation. * and MPEG-2 motion compensation.
* rev 0.19 (08/06/07 Jonathan Bian) - Removed extra type for bitplane data (VAPictureBitPlaneBufferType) * rev 0.19 (08/06/2007 Jonathan Bian) - Removed extra type for bitplane data.
* rev 0.20 (08/07/07 Jonathan Bian) - Added missing fields to VC-1 PictureParameter structure. * rev 0.20 (08/08/2007 Jonathan Bian) - Added missing fields to VC-1 PictureParameter structure.
* *
* Acknowledgements: * Acknowledgements:
* Thanks to Waldo Bastian for many valuable feedbacks. * Thanks to Waldo Bastian for many valuable feedbacks.
*/ */
#ifndef _VA_H_ #ifndef _VA_H_
#define _VA_H_ #define _VA_H_
...@@ -639,7 +665,7 @@ typedef struct _VAPictureParameterBufferVC1 ...@@ -639,7 +665,7 @@ typedef struct _VAPictureParameterBufferVC1
unsigned char picture_type : 2; /* PICTURE_LAYER::PTYPE */ unsigned char picture_type : 2; /* PICTURE_LAYER::PTYPE */
unsigned char frame_coding_mode : 3;/* PICTURE_LAYER::FCM */ unsigned char frame_coding_mode : 3;/* PICTURE_LAYER::FCM */
unsigned char top_field_first : 1;/* PICTURE_LAYER::TFF */ unsigned char top_field_first : 1;/* PICTURE_LAYER::TFF */
unsigned char is_first_field : 1; /* set to 1 if it is first field */ unsigned char is_first_field : 1; /* set to 1 if it is the first field */
unsigned char intensity_compensation: 1;/* PICTURE_LAYER::INTCOMP */ unsigned char intensity_compensation: 1;/* PICTURE_LAYER::INTCOMP */
}; };
unsigned char picture_fields; unsigned char picture_fields;
...@@ -693,7 +719,7 @@ typedef struct _VAPictureParameterBufferVC1 ...@@ -693,7 +719,7 @@ typedef struct _VAPictureParameterBufferVC1
unsigned char dq_binary_level : 1; /* VOPDQUANT::DQBILEVEL */ unsigned char dq_binary_level : 1; /* VOPDQUANT::DQBILEVEL */
unsigned char alt_pic_quantizer : 5;/* VOPDQUANT::ALTPQUANT */ unsigned char alt_pic_quantizer : 5;/* VOPDQUANT::ALTPQUANT */
}; };
unsigned short pic_quantizer_fields; unsigned long pic_quantizer_fields;
}; };
union { union {
struct { struct {
...@@ -781,6 +807,7 @@ typedef struct _VAPictureParameterBufferH264 ...@@ -781,6 +807,7 @@ typedef struct _VAPictureParameterBufferH264
unsigned char frame_mbs_only_flag : 1; unsigned char frame_mbs_only_flag : 1;
unsigned char mb_adaptive_frame_field_flag : 1; unsigned char mb_adaptive_frame_field_flag : 1;
unsigned char direct_8x8_inference_flag : 1; unsigned char direct_8x8_inference_flag : 1;
unsigned char MinLumaBiPredSize8x8 : 1; /* see A.3.3.2 */
}; };
unsigned char seq_fields; unsigned char seq_fields;
}; };
...@@ -796,6 +823,7 @@ typedef struct _VAPictureParameterBufferH264 ...@@ -796,6 +823,7 @@ typedef struct _VAPictureParameterBufferH264
unsigned char weighted_bipred_idc : 1; unsigned char weighted_bipred_idc : 1;
unsigned char transform_8x8_mode_flag : 1; unsigned char transform_8x8_mode_flag : 1;
unsigned char field_pic_flag : 1; unsigned char field_pic_flag : 1;
unsigned char constrained_intra_pred_flag : 1;
}; };
unsigned char pic_fields; unsigned char pic_fields;
}; };
...@@ -840,6 +868,18 @@ typedef struct _VASliceParameterBufferH264 ...@@ -840,6 +868,18 @@ typedef struct _VASliceParameterBufferH264
VAPictureH264 RefPicList1[32]; /* See 8.2.4.2 */ VAPictureH264 RefPicList1[32]; /* See 8.2.4.2 */
unsigned char luma_log2_weight_denom; unsigned char luma_log2_weight_denom;
unsigned char chroma_log2_weight_denom; unsigned char chroma_log2_weight_denom;
unsigned char luma_weight_l0_flag;
short luma_weight_l0[32];
short luma_offset_l0[32];
unsigned char chroma_weight_l0_flag;
short chroma_weight_l0[32][2];
short chroma_offset_l0[32][2];
unsigned char luma_weight_l1_flag;
short luma_weight_l1[32];
short luma_offset_l1[32];
unsigned char chroma_weight_l1_flag;
short chroma_weight_l1[32][2];
short chroma_offset_l1[32][2];
} VASliceParameterBufferH264; } VASliceParameterBufferH264;
/* Buffer functions */ /* Buffer functions */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment