summaryrefslogtreecommitdiffstats
path: root/decoder/impeg2d_structs.h
diff options
context:
space:
mode:
authorHarish Mahendrakar <harish.mahendrakar@ittiam.com>2015-08-13 10:59:13 +0530
committerMarco Nelissen <marcone@google.com>2015-10-16 20:15:49 +0000
commit8520690e241ad92a07893e198b2df417fe045d79 (patch)
tree1fd034f495a58663a5423622c0112a0ec63239c7 /decoder/impeg2d_structs.h
parent903fd2be3063609dd3cd7ad0691de46c1b52b7d1 (diff)
downloadandroid_external_libmpeg2-8520690e241ad92a07893e198b2df417fe045d79.tar.gz
android_external_libmpeg2-8520690e241ad92a07893e198b2df417fe045d79.tar.bz2
android_external_libmpeg2-8520690e241ad92a07893e198b2df417fe045d79.zip
Added deinterlacer
Decoder output is deinterlaced if a picture is signalled as interlaced Added SIMD optimizations for arm, armv8 and x86/x64 Bug: 20932810 Change-Id: I6079922f4fc8f1d3680e5169a4d8e70efe8ea471
Diffstat (limited to 'decoder/impeg2d_structs.h')
-rw-r--r--decoder/impeg2d_structs.h17
1 files changed, 16 insertions, 1 deletions
diff --git a/decoder/impeg2d_structs.h b/decoder/impeg2d_structs.h
index 9fa2631..743b043 100644
--- a/decoder/impeg2d_structs.h
+++ b/decoder/impeg2d_structs.h
@@ -25,7 +25,7 @@ to support B pictures. Because of format conversion in a thread, codec delay is
To reduce this delay, format conversion has to wait for MB status before converting for B pictures.
To avoid this check the delay is increased to 2 and hence number of reference frames minimum is 4.
Because of temporal dependency in deinterlacer one additional buffer is also needed */
-#define NUM_INT_FRAME_BUFFERS 4
+#define NUM_INT_FRAME_BUFFERS 5
#define MAX_WIDTH 4096
@@ -41,6 +41,9 @@ Because of temporal dependency in deinterlacer one additional buffer is also nee
#define MAX_BITSTREAM_BUFFER_SIZE 2000 * 1024
+/* Flag to signal that buffer is held by deinterlacing */
+#define MPEG2_BUF_MGR_DEINT (BUF_MGR_DISP << 1)
+
typedef enum
{
CMD_PROCESS,
@@ -360,6 +363,18 @@ typedef struct dec_state_struct_t
WORD32 i4_frame_decoded;
+ /** Flag to enable deinterlace */
+ UWORD32 u4_deinterlace;
+
+ /** Deinterlacer context */
+ void *pv_deinterlacer_ctxt;
+
+ /** Picture buffer held by deinterlacer */
+ pic_buf_t *ps_deint_pic;
+
+ /** Buffer used after deinterlacer for format conversion */
+ UWORD8 *pu1_deint_fmt_buf;
+
}dec_state_t;