diff options
-rw-r--r-- | libmediaparser/mixvbp/vbp_manager/include/vbp_loader.h | 27 |
1 files changed, 25 insertions, 2 deletions
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 @@ typedef struct _vbp_codec_data_mp42 // 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 @@ typedef struct _vbp_slice_data_mp42 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 @@ typedef struct _vbp_data_mp42 } vbp_data_mp42; /* - * * MPEG2 data structure - * */ + * MPEG2 data structure + */ typedef struct _vbp_codec_data_mpeg2 { @@ -132,6 +143,7 @@ typedef struct _vbp_codec_data_mpeg2 // 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 @@ typedef struct _vbp_codec_data_mpeg2 // a 8-bit integer uint8 matrix_coefficients; + uint8 load_intra_quantiser_matrix; uint8 load_non_intra_quantiser_matrix; @@ -164,6 +177,7 @@ typedef struct _vbp_picture_data_mpeg2 { VAPictureParameterBufferMPEG2* pic_parms; vbp_slice_data_mpeg2* slice_data; + uint32 num_slices; } vbp_picture_data_mpeg2; @@ -171,13 +185,16 @@ typedef struct _vbp_data_mpeg2 { /* 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 @@ typedef struct _vbp_codec_data_h264 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 @@ typedef struct _vbp_codec_data_vp8 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_flush(Handle hcontent); uint32 vbp_update(Handle hcontext, void *newdata, uint32 size, void **data); #endif +uint32 vbp_decode(Handle hcontext, void *picdata); + #endif /* VBP_LOADER_H */ |