diff options
author | Harish Mahendrakar <harish.mahendrakar@ittiam.com> | 2015-08-13 10:59:13 +0530 |
---|---|---|
committer | Marco Nelissen <marcone@google.com> | 2015-10-16 20:15:49 +0000 |
commit | 8520690e241ad92a07893e198b2df417fe045d79 (patch) | |
tree | 1fd034f495a58663a5423622c0112a0ec63239c7 /decoder/impeg2d_structs.h | |
parent | 903fd2be3063609dd3cd7ad0691de46c1b52b7d1 (diff) | |
download | android_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.h | 17 |
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; |