From ee4b8c3ec1e5b5f126d8bdb7021eb15630de751e Mon Sep 17 00:00:00 2001 From: "Zhao, Yakui" Date: Mon, 26 May 2014 08:40:15 +0800 Subject: H264_encoding: Reset the last_packed_header_type to avoid the unpaired packed header type/data After adding the support of inserting the packed rawdata, more group of packed header data can be passed. In order to insert the packed rawdata correctly, the packed header type/ data should be paired. Signed-off-by: Zhao Yakui (cherry picked from commit fd78866bd64d7ab57fe8cb0c4b25e8357973b0b1) --- src/i965_drv_video.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/i965_drv_video.c b/src/i965_drv_video.c index d8b50dc..cf42b68 100755 --- a/src/i965_drv_video.c +++ b/src/i965_drv_video.c @@ -2508,7 +2508,11 @@ i965_encoder_render_picture(VADriverContextP ctx, case VAEncPackedHeaderDataBufferType: { - + if (encode->last_packed_header_type == 0) { + WARN_ONCE("the packed header data is passed without type!\n"); + vaStatus = VA_STATUS_ERROR_INVALID_PARAMETER; + return vaStatus; + } if (encode->last_packed_header_type == VAEncPackedHeaderRawData) { vaStatus = I965_RENDER_ENCODE_BUFFER(packed_header_data_ext); if (vaStatus == VA_STATUS_SUCCESS) { @@ -2531,6 +2535,7 @@ i965_encoder_render_picture(VADriverContextP ctx, obj_buffer, va_enc_packed_type_to_idx(encode->last_packed_header_type)); } + encode->last_packed_header_type = 0; break; } -- cgit v1.2.3