libmediaparser: parser header changes to keep consistency

fix corruption issue for AVC baseline profile
return success when parsing SEI reserved message
add support for constrained high profile
reset VC1 parameters when ES contains config data
mpeg4 error concealment in case of vol missing
add color space info

BZ: IMINAN-37403

Change-Id: I12d7b719026de7c32cbd0ad09ed707187fad5bc6
Signed-off-by: Nana Guo <nana.n.guo@intel.com>
diff --git a/libmediaparser/mixvbp/vbp_manager/include/vbp_loader.h b/libmediaparser/mixvbp/vbp_manager/include/vbp_loader.h
index 7866b12..4ee2afe 100644
--- a/libmediaparser/mixvbp/vbp_manager/include/vbp_loader.h
+++ b/libmediaparser/mixvbp/vbp_manager/include/vbp_loader.h
@@ -14,6 +14,7 @@
  * limitations under the License.
  */
 
+
 #ifndef VBP_LOADER_H
 #define VBP_LOADER_H
 
@@ -75,6 +76,11 @@
 
     // bit rate
     int bit_rate;
+
+    // indicate if vol is received
+    uint8 got_vol;
+    // indicate if vop is received
+    uint8 got_vop;
 } vbp_codec_data_mp42;
 
 typedef struct _vbp_slice_data_mp42
@@ -83,6 +89,11 @@
     uint32 slice_offset;
     uint32 slice_size;
     VASliceParameterBufferMPEG4 slice_param;
+    uint8* cur_frame_addr;
+    uint8* forward_ref_addr;
+    uint8* backward_ref_addr;
+    uint32_t pic_stride;
+    uint32_t pic_height;
 } vbp_slice_data_mp42;
 
 typedef struct _vbp_picture_data_mp42 vbp_picture_data_mp42;
@@ -112,8 +123,8 @@
 } vbp_data_mp42;
 
 /*
- *  * MPEG2 data structure
- *   */
+ * MPEG2 data structure
+ */
 
 typedef struct _vbp_codec_data_mpeg2
 {
@@ -132,6 +143,7 @@
 
     // a 3-bit integer, 0 for unspecified, PAL/NTSC/SECAM
     uint8 video_format;
+
     // 0 short range, 1 full range
     uint8 video_range;
 
@@ -142,6 +154,7 @@
 
     // a 8-bit integer
     uint8  matrix_coefficients;
+
     uint8  load_intra_quantiser_matrix;
     uint8  load_non_intra_quantiser_matrix;
 
@@ -164,6 +177,7 @@
 {
     VAPictureParameterBufferMPEG2* pic_parms;
     vbp_slice_data_mpeg2* slice_data;
+
     uint32 num_slices;
 } vbp_picture_data_mpeg2;
 
@@ -171,13 +185,16 @@
 {
     /* rolling counter of buffers sent by vbp_parse */
     uint32 buf_number;
+
     vbp_codec_data_mpeg2* codec_data;
     VAIQMatrixBufferMPEG2* iq_matrix_buffer;
 
     uint32 num_pictures;
+
     vbp_picture_data_mpeg2 *pic_data;
 } vbp_data_mpeg2;
 
+
 /*
  * H.264 data structure
  */
@@ -195,6 +212,7 @@
     uint8 constraint_set2_flag;
     uint8 constraint_set3_flag;
     uint8 constraint_set4_flag;
+    uint8 constraint_set5_flag;
 
     uint8 num_ref_frames;
     uint8 gaps_in_frame_num_value_allowed_flag;
@@ -393,6 +411,9 @@
     uint8 version_num;
     int show_frame;
 
+    /* color space type specification */
+    int clr_type;
+
     uint32 frame_width;
     uint32 frame_height;
 
@@ -539,4 +560,6 @@
 uint32 vbp_update(Handle hcontext, void *newdata, uint32 size, void **data);
 #endif
 
+uint32 vbp_decode(Handle hcontext, void *picdata);
+
 #endif /* VBP_LOADER_H */