Initialize sequence display extension fields to signal unspecified values

Bug: 29640760
Change-Id: I7cf99d432035576471e188b2da5328f91b7a9a81
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 @@
         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 @@
     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 @@
     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 @@
     /** 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;