diff options
author | Harish Mahendrakar <harish.mahendrakar@ittiam.com> | 2016-07-25 11:25:25 +0530 |
---|---|---|
committer | Hangyu Kuang <hkuang@google.com> | 2016-07-27 11:39:29 -0700 |
commit | 212b4c4179975c1a263d5ee4723223181a8b46ad (patch) | |
tree | e2567882c2e556136dece88954028766b2832e0f | |
parent | 945d23d1eeb05f54bfaa6777fe44237341adb915 (diff) | |
download | libmpeg2-212b4c4179975c1a263d5ee4723223181a8b46ad.tar.gz |
Initialize sequence display extension fields to signal unspecified valuesandroid-cts_7.1_r1android-cts-7.1_r9android-cts-7.1_r8android-cts-7.1_r7android-cts-7.1_r6android-cts-7.1_r5android-cts-7.1_r4android-cts-7.1_r3android-cts-7.1_r29android-cts-7.1_r28android-cts-7.1_r27android-cts-7.1_r26android-cts-7.1_r25android-cts-7.1_r24android-cts-7.1_r23android-cts-7.1_r22android-cts-7.1_r21android-cts-7.1_r20android-cts-7.1_r2android-cts-7.1_r19android-cts-7.1_r18android-cts-7.1_r17android-cts-7.1_r16android-cts-7.1_r15android-cts-7.1_r14android-cts-7.1_r13android-cts-7.1_r12android-cts-7.1_r11android-cts-7.1_r10android-cts-7.1_r1android-7.1.1_r9android-7.1.1_r8android-7.1.1_r7android-7.1.1_r6android-7.1.1_r4android-7.1.1_r3android-7.1.1_r28android-7.1.1_r27android-7.1.1_r26android-7.1.1_r25android-7.1.1_r24android-7.1.1_r23android-7.1.1_r22android-7.1.1_r21android-7.1.1_r20android-7.1.1_r2android-7.1.1_r17android-7.1.1_r16android-7.1.1_r15android-7.1.1_r14android-7.1.1_r13android-7.1.1_r12android-7.1.1_r11android-7.1.1_r10android-7.1.1_r1android-7.1.0_r7android-7.1.0_r6android-7.1.0_r5android-7.1.0_r4android-7.1.0_r3android-7.1.0_r2android-7.1.0_r1nougat-mr1.4-releasenougat-mr1.2-releasenougat-mr1-releasenougat-mr1-devnougat-mr1-cts-releasenougat-dr1-release
Bug: 29640760
Change-Id: I7cf99d432035576471e188b2da5328f91b7a9a81
-rw-r--r-- | decoder/impeg2d_api_main.c | 29 | ||||
-rw-r--r-- | decoder/impeg2d_dec_hdr.c | 4 | ||||
-rw-r--r-- | decoder/impeg2d_structs.h | 2 |
3 files changed, 26 insertions, 9 deletions
diff --git a/decoder/impeg2d_api_main.c b/decoder/impeg2d_api_main.c index 5a6b36b..a792f06 100644 --- a/decoder/impeg2d_api_main.c +++ b/decoder/impeg2d_api_main.c @@ -317,21 +317,32 @@ IV_API_CALL_STATUS_T impeg2d_api_get_seq_info(iv_obj_t *ps_dechdl, ps_op->u1_frame_rate_code = ps_codec->u2_frame_rate_code; ps_op->u1_frame_rate_extension_n = ps_codec->u2_frame_rate_extension_n; ps_op->u1_frame_rate_extension_d = ps_codec->u2_frame_rate_extension_d; - ps_op->u1_video_format = ps_codec->u1_video_format; - ps_op->u1_colour_primaries = ps_codec->u1_colour_primaries; - ps_op->u1_transfer_characteristics = ps_codec->u1_transfer_characteristics; - ps_op->u1_matrix_coefficients = ps_codec->u1_matrix_coefficients; - ps_op->u2_display_horizontal_size = ps_codec->u2_display_horizontal_size; - ps_op->u2_display_vertical_size = ps_codec->u2_display_vertical_size; + if(ps_codec->u1_seq_disp_extn_present == 1) + { + ps_op->u1_video_format = ps_codec->u1_video_format; + ps_op->u1_colour_primaries = ps_codec->u1_colour_primaries; + ps_op->u1_transfer_characteristics = ps_codec->u1_transfer_characteristics; + ps_op->u1_matrix_coefficients = ps_codec->u1_matrix_coefficients; + ps_op->u2_display_horizontal_size = ps_codec->u2_display_horizontal_size; + ps_op->u2_display_vertical_size = ps_codec->u2_display_vertical_size; + } + else + { + ps_op->u1_video_format = 5; + ps_op->u1_colour_primaries = 2; + ps_op->u1_transfer_characteristics = 2; + ps_op->u1_matrix_coefficients = 2; + ps_op->u2_display_horizontal_size = ps_codec->u2_horizontal_size; + ps_op->u2_display_vertical_size = ps_codec->u2_vertical_size; + } ps_op->u4_error_code = IV_SUCCESS; + return IV_SUCCESS; } else { ps_op->u4_error_code = IV_FAIL; + return IV_FAIL; } - - - return IV_SUCCESS; } /** diff --git a/decoder/impeg2d_dec_hdr.c b/decoder/impeg2d_dec_hdr.c index b913daf..13e9ba1 100644 --- a/decoder/impeg2d_dec_hdr.c +++ b/decoder/impeg2d_dec_hdr.c @@ -378,6 +378,9 @@ void impeg2d_dec_seq_disp_ext(dec_state_t *ps_dec) impeg2d_bit_stream_get(ps_stream, 4); ps_dec->u1_video_format = impeg2d_bit_stream_get(ps_stream, 3); ps_dec->u1_colour_description = impeg2d_bit_stream_get(ps_stream, 1); + ps_dec->u1_colour_primaries = 2; + ps_dec->u1_transfer_characteristics = 2; + ps_dec->u1_matrix_coefficients = 2; if(ps_dec->u1_colour_description) { ps_dec->u1_colour_primaries = impeg2d_bit_stream_get(ps_stream, 8); @@ -390,6 +393,7 @@ void impeg2d_dec_seq_disp_ext(dec_state_t *ps_dec) GET_MARKER_BIT(ps_dec,ps_stream); ps_dec->u2_display_vertical_size = impeg2d_bit_stream_get(ps_stream,14); + ps_dec->u1_seq_disp_extn_present = 1; impeg2d_next_start_code(ps_dec); } diff --git a/decoder/impeg2d_structs.h b/decoder/impeg2d_structs.h index b8fc3b5..03cd54c 100644 --- a/decoder/impeg2d_structs.h +++ b/decoder/impeg2d_structs.h @@ -380,6 +380,8 @@ typedef struct dec_state_struct_t /** Buffer used after deinterlacer for format conversion */ UWORD8 *pu1_deint_fmt_buf; + /** Flag to indicate if Seq Display Extn is present */ + UWORD8 u1_seq_disp_extn_present; }dec_state_t; |