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;
 
 
