hardware/intel/libva
Revision | d3a3ac0a819a076ae379602f549cabadb89d8677 (tree) |
---|---|
Zeit | 2007-08-23 04:27:00 |
Autor | Waldo Bastian <waldo.bastian@inte...> |
Commiter | Waldo Bastian |
Update H.264 params
@@ -1,27 +1,53 @@ | ||
1 | 1 | /* |
2 | + * Copyright (c) 2007, Intel Corp. | |
3 | + * All rights reserved. | |
4 | + * | |
5 | + * Redistribution and use in source and binary forms, with or without | |
6 | + * modification, are permitted provided that the following conditions are met: | |
7 | + * | |
8 | + * Redistributions of source code must retain the above copyright notice, | |
9 | + * this list of conditions and the following disclaimer. | |
10 | + * Redistributions in binary form must reproduce the above copyright notice, | |
11 | + * this list of conditions and the following disclaimer in the documentation | |
12 | + * and/or other materials provided with the distribution. | |
13 | + * Neither the name of Intel Corporation nor the names of its contributors | |
14 | + * may be used to endorse or promote products derived from this software | |
15 | + * without specific prior written permission. | |
16 | + * | |
17 | + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | |
18 | + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | |
19 | + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | |
20 | + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE | |
21 | + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | |
22 | + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE | |
23 | + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | |
24 | + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | |
25 | + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT | |
26 | + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
27 | + */ | |
28 | +/* | |
2 | 29 | * Video Decode Acceleration API Specification |
3 | 30 | * |
4 | 31 | * Rev. 0.20 |
5 | 32 | * <jonathan.bian@intel.com> |
6 | 33 | * |
7 | 34 | * Revision History: |
8 | - * rev 0.10 (12/10/06 Jonathan Bian) - Initial draft | |
9 | - * rev 0.11 (12/15/06 Jonathan Bian) - Fixed some errors | |
10 | - * rev 0.12 (02/05/07 Jonathan Bian) - Added VC-1 data structures for slice level decode | |
11 | - * rev 0.13 (02/28/07 Jonathan Bian) - Added GetDisplay() | |
12 | - * rev 0.14 (04/13/07 Jonathan Bian) - Fixed MPEG-2 PictureParameter structure, cleaned up a few funcs. | |
13 | - * rev 0.15 (04/20/07 Jonathan Bian) - Overhauled buffer management | |
14 | - * rev 0.16 (05/02/07 Jonathan Bian) - Added error codes and fixed some issues with configuration | |
15 | - * rev 0.17 (05/07/07 Jonathan Bian) - Added H.264/AVC data structures for slice level decode. | |
16 | - * rev 0.18 (05/14/07 Jonathan Bian) - Added data structures for MPEG-4 slice level decode | |
17 | - * and MPEG-2 motion compensation. | |
18 | - * rev 0.19 (08/06/07 Jonathan Bian) - Removed extra type for bitplane data (VAPictureBitPlaneBufferType) | |
19 | - * rev 0.20 (08/07/07 Jonathan Bian) - Added missing fields to VC-1 PictureParameter structure. | |
35 | + * rev 0.10 (12/10/2006 Jonathan Bian) - Initial draft | |
36 | + * rev 0.11 (12/15/2006 Jonathan Bian) - Fixed some errors | |
37 | + * rev 0.12 (02/05/2007 Jonathan Bian) - Added VC-1 data structures for slice level decode | |
38 | + * rev 0.13 (02/28/2007 Jonathan Bian) - Added GetDisplay() | |
39 | + * rev 0.14 (04/13/2007 Jonathan Bian) - Fixed MPEG-2 PictureParameter structure, cleaned up a few funcs. | |
40 | + * rev 0.15 (04/20/2007 Jonathan Bian) - Overhauled buffer management | |
41 | + * rev 0.16 (05/02/2007 Jonathan Bian) - Added error codes and fixed some issues with configuration | |
42 | + * rev 0.17 (05/07/2007 Jonathan Bian) - Added H.264/AVC data structures for slice level decode. | |
43 | + * rev 0.18 (05/14/2007 Jonathan Bian) - Added data structures for MPEG-4 slice level decode | |
44 | + * and MPEG-2 motion compensation. | |
45 | + * rev 0.19 (08/06/2007 Jonathan Bian) - Removed extra type for bitplane data. | |
46 | + * rev 0.20 (08/08/2007 Jonathan Bian) - Added missing fields to VC-1 PictureParameter structure. | |
20 | 47 | * |
21 | 48 | * Acknowledgements: |
22 | 49 | * Thanks to Waldo Bastian for many valuable feedbacks. |
23 | 50 | */ |
24 | - | |
25 | 51 | #ifndef _VA_H_ |
26 | 52 | #define _VA_H_ |
27 | 53 |
@@ -639,7 +665,7 @@ typedef struct _VAPictureParameterBufferVC1 | ||
639 | 665 | unsigned char picture_type : 2; /* PICTURE_LAYER::PTYPE */ |
640 | 666 | unsigned char frame_coding_mode : 3;/* PICTURE_LAYER::FCM */ |
641 | 667 | unsigned char top_field_first : 1;/* PICTURE_LAYER::TFF */ |
642 | - unsigned char is_first_field : 1; /* set to 1 if it is first field */ | |
668 | + unsigned char is_first_field : 1; /* set to 1 if it is the first field */ | |
643 | 669 | unsigned char intensity_compensation: 1;/* PICTURE_LAYER::INTCOMP */ |
644 | 670 | }; |
645 | 671 | unsigned char picture_fields; |
@@ -693,7 +719,7 @@ typedef struct _VAPictureParameterBufferVC1 | ||
693 | 719 | unsigned char dq_binary_level : 1; /* VOPDQUANT::DQBILEVEL */ |
694 | 720 | unsigned char alt_pic_quantizer : 5;/* VOPDQUANT::ALTPQUANT */ |
695 | 721 | }; |
696 | - unsigned short pic_quantizer_fields; | |
722 | + unsigned long pic_quantizer_fields; | |
697 | 723 | }; |
698 | 724 | union { |
699 | 725 | struct { |
@@ -781,6 +807,7 @@ typedef struct _VAPictureParameterBufferH264 | ||
781 | 807 | unsigned char frame_mbs_only_flag : 1; |
782 | 808 | unsigned char mb_adaptive_frame_field_flag : 1; |
783 | 809 | unsigned char direct_8x8_inference_flag : 1; |
810 | + unsigned char MinLumaBiPredSize8x8 : 1; /* see A.3.3.2 */ | |
784 | 811 | }; |
785 | 812 | unsigned char seq_fields; |
786 | 813 | }; |
@@ -796,6 +823,7 @@ typedef struct _VAPictureParameterBufferH264 | ||
796 | 823 | unsigned char weighted_bipred_idc : 1; |
797 | 824 | unsigned char transform_8x8_mode_flag : 1; |
798 | 825 | unsigned char field_pic_flag : 1; |
826 | + unsigned char constrained_intra_pred_flag : 1; | |
799 | 827 | }; |
800 | 828 | unsigned char pic_fields; |
801 | 829 | }; |
@@ -840,6 +868,18 @@ typedef struct _VASliceParameterBufferH264 | ||
840 | 868 | VAPictureH264 RefPicList1[32]; /* See 8.2.4.2 */ |
841 | 869 | unsigned char luma_log2_weight_denom; |
842 | 870 | unsigned char chroma_log2_weight_denom; |
871 | + unsigned char luma_weight_l0_flag; | |
872 | + short luma_weight_l0[32]; | |
873 | + short luma_offset_l0[32]; | |
874 | + unsigned char chroma_weight_l0_flag; | |
875 | + short chroma_weight_l0[32][2]; | |
876 | + short chroma_offset_l0[32][2]; | |
877 | + unsigned char luma_weight_l1_flag; | |
878 | + short luma_weight_l1[32]; | |
879 | + short luma_offset_l1[32]; | |
880 | + unsigned char chroma_weight_l1_flag; | |
881 | + short chroma_weight_l1[32][2]; | |
882 | + short chroma_offset_l1[32][2]; | |
843 | 883 | } VASliceParameterBufferH264; |
844 | 884 | |
845 | 885 | /* Buffer functions */ |