diff options
author | Harish Mahendrakar <hmahendrakar@google.com> | 2023-10-23 19:34:36 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2023-10-23 19:34:36 +0000 |
commit | 84fd24468042699ac81b0e12b10bfd6ce2656d87 (patch) | |
tree | 1733c8cb84a33fac4805bb5e1fccea4cd24213d4 | |
parent | d0bfde67931cddcf1bedb11c2dd53310a15f6226 (diff) | |
parent | a4c40189d5733f854b65cd1adca6224fdd211967 (diff) | |
download | libmpeg2-84fd24468042699ac81b0e12b10bfd6ce2656d87.tar.gz |
Upgrade libmpeg2 to v1.3.0 am: a4c40189d5
Original change: https://android-review.googlesource.com/c/platform/external/libmpeg2/+/2798076
Change-Id: I1bf8196b0f27d18556fcc4ff060d5aa3258b2797
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r-- | Android.bp | 85 | ||||
-rw-r--r-- | METADATA | 6 | ||||
-rw-r--r-- | common/arm/icv_platform_macros.h | 2 | ||||
-rw-r--r-- | common/arm/impeg2_platform_macros.h | 7 | ||||
-rw-r--r-- | common/armv8/icv_platform_macros.h | 6 | ||||
-rw-r--r-- | common/armv8/impeg2_platform_macros.h | 7 | ||||
-rw-r--r-- | common/riscv/icv_platform_macros.h | 2 | ||||
-rw-r--r-- | common/riscv/impeg2_platform_macros.h | 8 | ||||
-rw-r--r-- | common/x86/icv_platform_macros.h | 2 | ||||
-rw-r--r-- | common/x86/impeg2_platform_macros.h | 8 | ||||
-rw-r--r-- | decoder/impeg2d_api_main.c | 78 | ||||
-rw-r--r-- | decoder/impeg2d_bitstream.c | 12 | ||||
-rw-r--r-- | decoder/impeg2d_bitstream.h | 12 | ||||
-rw-r--r-- | decoder/impeg2d_mv_dec.c | 2 | ||||
-rw-r--r-- | decoder/impeg2d_mv_dec.h | 2 |
15 files changed, 108 insertions, 131 deletions
@@ -18,8 +18,11 @@ license { cc_library_static { name: "libmpeg2dec", vendor_available: true, - host_supported:true, - shared_libs: ["liblog", "libcutils"], + host_supported: true, + shared_libs: [ + "liblog", + "libcutils", + ], cflags: [ "-D_LIB", @@ -34,11 +37,18 @@ cc_library_static { ], export_include_dirs: [ - "decoder", "common", + "decoder", ], srcs: [ + "common/icv_sad.c", + "common/icv_variance.c", + "common/ideint.c", + "common/ideint_cac.c", + "common/ideint_debug.c", + "common/ideint_function_selector_generic.c", + "common/ideint_utils.c", "common/impeg2_buf_mgr.c", "common/impeg2_disp_mgr.c", "common/impeg2_format_conv.c", @@ -50,10 +60,11 @@ cc_library_static { "common/ithread.c", "decoder/impeg2d_api_main.c", "decoder/impeg2d_bitstream.c", + "decoder/impeg2d_d_pic.c", "decoder/impeg2d_debug.c", "decoder/impeg2d_dec_hdr.c", "decoder/impeg2d_decoder.c", - "decoder/impeg2d_d_pic.c", + "decoder/impeg2d_deinterlace.c", "decoder/impeg2d_function_selector_generic.c", "decoder/impeg2d_globals.c", "decoder/impeg2d_i_pic.c", @@ -63,40 +74,32 @@ cc_library_static { "decoder/impeg2d_pnb_pic.c", "decoder/impeg2d_vld.c", "decoder/impeg2d_vld_tables.c", - "decoder/impeg2d_deinterlace.c", - "common/icv_sad.c", - "common/icv_variance.c", - "common/ideint.c", - "common/ideint_cac.c", - "common/ideint_debug.c", - "common/ideint_function_selector_generic.c", - "common/ideint_utils.c", ], arch: { arm: { local_include_dirs: [ - "decoder/arm", "common/arm", + "decoder/arm", ], srcs: [ - "decoder/arm/impeg2d_function_selector.c", "common/arm/ideint_function_selector.c", + "decoder/arm/impeg2d_function_selector.c", ], neon: { srcs: [ - "decoder/arm/impeg2d_function_selector_a9q.c", - "common/arm/ideint_function_selector_a9.c", "common/arm/icv_sad_a9.s", "common/arm/icv_variance_a9.s", - "common/arm/ideint_spatial_filter_a9.s", "common/arm/ideint_cac_a9.s", + "common/arm/ideint_function_selector_a9.c", + "common/arm/ideint_spatial_filter_a9.s", "common/arm/impeg2_format_conv.s", "common/arm/impeg2_idct.s", "common/arm/impeg2_inter_pred.s", "common/arm/impeg2_mem_func.s", + "decoder/arm/impeg2d_function_selector_a9q.c", ], cflags: [ "-UDISABLE_NEON", @@ -127,24 +130,24 @@ cc_library_static { "-DDEFAULT_ARCH=D_ARCH_ARMV8_GENERIC", ], local_include_dirs: [ - "decoder/arm", "common/armv8", + "decoder/arm", ], srcs: [ - "decoder/arm/impeg2d_function_selector.c", - "decoder/arm/impeg2d_function_selector_av8.c", "common/arm/ideint_function_selector.c", "common/arm/ideint_function_selector_av8.c", "common/armv8/icv_sad_av8.s", "common/armv8/icv_variance_av8.s", - "common/armv8/ideint_spatial_filter_av8.s", "common/armv8/ideint_cac_av8.s", - "common/armv8/impeg2_neon_macros.s", + "common/armv8/ideint_spatial_filter_av8.s", "common/armv8/impeg2_format_conv.s", "common/armv8/impeg2_idct.s", "common/armv8/impeg2_inter_pred.s", "common/armv8/impeg2_mem_func.s", + "common/armv8/impeg2_neon_macros.s", + "decoder/arm/impeg2d_function_selector.c", + "decoder/arm/impeg2d_function_selector_av8.c", ], }, @@ -154,8 +157,8 @@ cc_library_static { ], srcs: [ - "decoder/riscv/impeg2d_function_selector.c", "common/riscv/ideint_function_selector.c", + "decoder/riscv/impeg2d_function_selector.c", ], }, @@ -169,25 +172,25 @@ cc_library_static { ], local_include_dirs: [ - "decoder/x86", "common/x86", + "decoder/x86", ], srcs: [ - "decoder/x86/impeg2d_function_selector.c", - "decoder/x86/impeg2d_function_selector_avx2.c", - "decoder/x86/impeg2d_function_selector_ssse3.c", - "decoder/x86/impeg2d_function_selector_sse42.c", - "common/x86/ideint_function_selector.c", - "common/x86/ideint_function_selector_ssse3.c", - "common/x86/ideint_function_selector_sse42.c", - "common/x86/icv_variance_ssse3.c", "common/x86/icv_sad_ssse3.c", + "common/x86/icv_variance_ssse3.c", "common/x86/ideint_cac_ssse3.c", + "common/x86/ideint_function_selector.c", + "common/x86/ideint_function_selector_sse42.c", + "common/x86/ideint_function_selector_ssse3.c", "common/x86/ideint_spatial_filter_ssse3.c", "common/x86/impeg2_idct_recon_sse42_intr.c", "common/x86/impeg2_inter_pred_sse42_intr.c", "common/x86/impeg2_mem_func_sse42_intr.c", + "decoder/x86/impeg2d_function_selector.c", + "decoder/x86/impeg2d_function_selector_avx2.c", + "decoder/x86/impeg2d_function_selector_sse42.c", + "decoder/x86/impeg2d_function_selector_ssse3.c", ], }, @@ -201,25 +204,25 @@ cc_library_static { ], local_include_dirs: [ - "decoder/x86", "common/x86", + "decoder/x86", ], srcs: [ - "decoder/x86/impeg2d_function_selector.c", - "decoder/x86/impeg2d_function_selector_avx2.c", - "decoder/x86/impeg2d_function_selector_ssse3.c", - "decoder/x86/impeg2d_function_selector_sse42.c", - "common/x86/ideint_function_selector.c", - "common/x86/ideint_function_selector_ssse3.c", - "common/x86/ideint_function_selector_sse42.c", - "common/x86/icv_variance_ssse3.c", "common/x86/icv_sad_ssse3.c", + "common/x86/icv_variance_ssse3.c", "common/x86/ideint_cac_ssse3.c", + "common/x86/ideint_function_selector.c", + "common/x86/ideint_function_selector_sse42.c", + "common/x86/ideint_function_selector_ssse3.c", "common/x86/ideint_spatial_filter_ssse3.c", "common/x86/impeg2_idct_recon_sse42_intr.c", "common/x86/impeg2_inter_pred_sse42_intr.c", "common/x86/impeg2_mem_func_sse42_intr.c", + "decoder/x86/impeg2d_function_selector.c", + "decoder/x86/impeg2d_function_selector_avx2.c", + "decoder/x86/impeg2d_function_selector_sse42.c", + "decoder/x86/impeg2d_function_selector_ssse3.c", ], }, }, @@ -9,11 +9,11 @@ third_party { type: GIT value: "https://github.com/ittiam-systems/libmpeg2.git" } - version: "v1.2.0" + version: "v1.3.0" license_type: NOTICE last_upgrade_date { year: 2023 - month: 8 - day: 8 + month: 10 + day: 23 } } diff --git a/common/arm/icv_platform_macros.h b/common/arm/icv_platform_macros.h index db092a3..c25e00b 100644 --- a/common/arm/icv_platform_macros.h +++ b/common/arm/icv_platform_macros.h @@ -105,8 +105,6 @@ static __inline UWORD32 ITT_BIG_ENDIAN(UWORD32 x) #define SHR_NEG(val,shift) (((shift) > 0) ? ( (val) >> (shift)) : ((val) << (-(shift)))) #define SHL_NEG(val,shift) (((shift) > 0) ? ( (val) >> (-(shift))) : ((val) << (shift))) -#define INLINE inline - #define MEM_ALIGN8 __attribute__ ((aligned (8))) #define MEM_ALIGN16 __attribute__ ((aligned (16))) #define MEM_ALIGN32 __attribute__ ((aligned (32))) diff --git a/common/arm/impeg2_platform_macros.h b/common/arm/impeg2_platform_macros.h index 11db302..8e1ff28 100644 --- a/common/arm/impeg2_platform_macros.h +++ b/common/arm/impeg2_platform_macros.h @@ -21,11 +21,7 @@ #define __IMPEG2_PLATFORM_MACROS_H__ -#define CONV_LE_TO_BE(u4_temp2,u4_temp1) u4_temp2 = \ - (u4_temp1 << 24) | \ - ((u4_temp1 & 0xff00) << 8) | \ - ((u4_temp1 & 0xff0000) >> 8) | \ - (u4_temp1 >> 24); +#define CONV_LE_TO_BE(u4_temp2,u4_temp1) u4_temp2 = __builtin_bswap32(u4_temp1); static __inline UWORD32 CLZ(UWORD32 u4_word) { @@ -69,7 +65,6 @@ static __inline WORD32 CLIP_S16(WORD32 x) return x; } -#define INLINE #define PLD(x) __pld(x) #endif /* __IMPEG2_PLATFORM_MACROS_H__ */ diff --git a/common/armv8/icv_platform_macros.h b/common/armv8/icv_platform_macros.h index 3602688..de3e6f4 100644 --- a/common/armv8/icv_platform_macros.h +++ b/common/armv8/icv_platform_macros.h @@ -38,9 +38,7 @@ #ifndef __ICV_PLATFORM_MACROS_H__ #define __ICV_PLATFORM_MACROS_H__ -#define INLINE inline - -static INLINE UWORD32 CLZ(UWORD32 u4_word) +static __inline UWORD32 CLZ(UWORD32 u4_word) { if(u4_word) return (__builtin_clz(u4_word)); @@ -83,8 +81,6 @@ static __inline UWORD32 CLZNZ(UWORD32 u4_word) #define SHR_NEG(val,shift) (((shift) > 0) ? ( (val) >> (shift)) : ((val) << (-(shift)))) #define SHL_NEG(val,shift) (((shift) > 0) ? ( (val) >> (-(shift))) : ((val) << (shift))) -#define INLINE inline - #define MEM_ALIGN8 __attribute__ ((aligned (8))) #define MEM_ALIGN16 __attribute__ ((aligned (16))) #define MEM_ALIGN32 __attribute__ ((aligned (32))) diff --git a/common/armv8/impeg2_platform_macros.h b/common/armv8/impeg2_platform_macros.h index be1f8d8..da0291c 100644 --- a/common/armv8/impeg2_platform_macros.h +++ b/common/armv8/impeg2_platform_macros.h @@ -20,11 +20,7 @@ #ifndef __IMPEG2_PLATFORM_MACROS_H__ #define __IMPEG2_PLATFORM_MACROS_H__ -#define CONV_LE_TO_BE(u4_temp2,u4_temp1) u4_temp2 = \ - (u4_temp1 << 24) | \ - ((u4_temp1 & 0xff00) << 8) | \ - ((u4_temp1 & 0xff0000) >> 8) | \ - (u4_temp1 >> 24); +#define CONV_LE_TO_BE(u4_temp2,u4_temp1) u4_temp2 = __builtin_bswap32(u4_temp1); static __inline UWORD32 CLZ(UWORD32 u4_word) { @@ -43,7 +39,6 @@ static __inline UWORD32 CLZ(UWORD32 u4_word) #define CLIP_U16(x) ((x) > 65535) ? (65535) : (((x) < 0) ? (0) : (x)) #define CLIP_S16(x) ((x) > 32767) ? (32767) : (((x) < -32768) ? (-32768) : (x)) -#define INLINE #define PLD(x) __pld(x) #endif /* __IMPEG2_PLATFORM_MACROS_H__ */ diff --git a/common/riscv/icv_platform_macros.h b/common/riscv/icv_platform_macros.h index 4b268f6..942464c 100644 --- a/common/riscv/icv_platform_macros.h +++ b/common/riscv/icv_platform_macros.h @@ -60,6 +60,4 @@ static __inline UWORD32 CLZ(UWORD32 u4_word) #define NOP(nop_cnt) {UWORD32 nop_i; for (nop_i = 0; nop_i < nop_cnt; nop_i++) asm("nop");} -#define INLINE inline - #endif /* _ICV_PLATFORM_MACROS_H_ */ diff --git a/common/riscv/impeg2_platform_macros.h b/common/riscv/impeg2_platform_macros.h index a5912e2..07af1a1 100644 --- a/common/riscv/impeg2_platform_macros.h +++ b/common/riscv/impeg2_platform_macros.h @@ -21,10 +21,8 @@ #define __IMPEG2_PLATFORM_MACROS_H__ -#define CONV_LE_TO_BE(u4_temp2,u4_temp1) u4_temp2 = (u4_temp1 << 24) | \ - ((u4_temp1 & 0xff00) << 8) | \ - ((u4_temp1 & 0xff0000) >> 8) | \ - (u4_temp1 >> 24); +#define CONV_LE_TO_BE(u4_temp2,u4_temp1) u4_temp2 = __builtin_bswap32(u4_temp1); + static __inline UWORD32 CLZ(UWORD32 u4_word) { if(u4_word) @@ -43,6 +41,4 @@ static __inline UWORD32 CLZ(UWORD32 u4_word) #define CLIP_U16(x) ((x) > 65535) ? (65535) : (((x) < 0) ? (0) : (x)) #define CLIP_S16(x) ((x) > 32767) ? (32767) : (((x) < -32768) ? (-32768) : (x)) -#define INLINE - #endif /* __IMPEG2_PLATFORM_MACROS_H__ */ diff --git a/common/x86/icv_platform_macros.h b/common/x86/icv_platform_macros.h index 61da7f5..78b18d2 100644 --- a/common/x86/icv_platform_macros.h +++ b/common/x86/icv_platform_macros.h @@ -89,8 +89,6 @@ static __inline UWORD32 CTZ(UWORD32 u4_word) #define SHR_NEG(val,shift) (((shift) > 0) ? ( (val) >> (shift)) : ((val) << (-(shift)))) #define SHL_NEG(val,shift) (((shift) > 0) ? ( (val) >> (-(shift))) : ((val) << (shift))) -#define INLINE inline - #define MEM_ALIGN8 __attribute__ ((aligned (8))) #define MEM_ALIGN16 __attribute__ ((aligned (16))) #define MEM_ALIGN32 __attribute__ ((aligned (32))) diff --git a/common/x86/impeg2_platform_macros.h b/common/x86/impeg2_platform_macros.h index 183f1fa..e42dd35 100644 --- a/common/x86/impeg2_platform_macros.h +++ b/common/x86/impeg2_platform_macros.h @@ -21,10 +21,8 @@ #define __IMPEG2_PLATFORM_MACROS_H__ -#define CONV_LE_TO_BE(u4_temp2,u4_temp1) u4_temp2 = (u4_temp1 << 24) | \ - ((u4_temp1 & 0xff00) << 8) | \ - ((u4_temp1 & 0xff0000) >> 8) | \ - (u4_temp1 >> 24); +#define CONV_LE_TO_BE(u4_temp2,u4_temp1) u4_temp2 = __builtin_bswap32(u4_temp1); + static __inline UWORD32 CLZ(UWORD32 u4_word) { if(u4_word) @@ -44,6 +42,4 @@ static __inline UWORD32 CLZ(UWORD32 u4_word) #define CLIP_S16(x) ((x) > 32767) ? (32767) : (((x) < -32768) ? (-32768) : (x)) #define PLD(x) -#define INLINE - #endif /* __IMPEG2_PLATFORM_MACROS_H__ */ diff --git a/decoder/impeg2d_api_main.c b/decoder/impeg2d_api_main.c index 22901b3..b2d8647 100644 --- a/decoder/impeg2d_api_main.c +++ b/decoder/impeg2d_api_main.c @@ -782,6 +782,45 @@ IV_API_CALL_STATUS_T impeg2d_api_get_version(iv_obj_t *ps_dechdl, return (IV_SUCCESS); } +WORD32 impeg2d_join_threads(dec_state_multi_core_t *ps_dec_state_multi_core) +{ + dec_state_t *ps_dec_thd, *ps_dec_state; + + ps_dec_state = ps_dec_state_multi_core->ps_dec_state[0]; + + if(ps_dec_state->i4_threads_active) + { + int i; + for(i = 0; i < MAX_THREADS; i++) + { + WORD32 ret; + ps_dec_thd = ps_dec_state_multi_core->ps_dec_state[i]; + if(ps_dec_state_multi_core->au4_thread_launched[i]) + { + ret = ithread_mutex_lock(ps_dec_thd->pv_proc_start_mutex); + if((IMPEG2D_ERROR_CODES_T)IV_SUCCESS != ret) return(IV_FAIL); + + // set process start for the threads waiting on the start condition + // in the decode routine so as to break them + ps_dec_thd->ai4_process_start = 1; + ps_dec_state_multi_core->i4_break_threads = 1; + + ret = ithread_cond_signal(ps_dec_thd->pv_proc_start_condition); + if((IMPEG2D_ERROR_CODES_T)IV_SUCCESS != ret) return(IV_FAIL); + + ret = ithread_mutex_unlock(ps_dec_thd->pv_proc_start_mutex); + if((IMPEG2D_ERROR_CODES_T)IV_SUCCESS != ret) return(IV_FAIL); + + ithread_join(ps_dec_thd->pv_codec_thread_handle, NULL); + ps_dec_state_multi_core->au4_thread_launched[i] = 0; + ps_dec_state_multi_core->i4_break_threads = 0; + } + } + } + + return IV_SUCCESS; +} + /*****************************************************************************/ /* */ /* Function Name : impeg2d_api_get_buf_info */ @@ -915,6 +954,7 @@ IV_API_CALL_STATUS_T impeg2d_api_set_flush_mode(iv_obj_t *ps_dechdl, ps_dec_state_multi_core = (dec_state_multi_core_t *)(ps_dechdl->pv_codec_handle); ps_dec_state = ps_dec_state_multi_core->ps_dec_state[0]; + impeg2d_join_threads(ps_dec_state_multi_core); ps_dec_state->u1_flushfrm = 1; @@ -977,44 +1017,6 @@ IV_API_CALL_STATUS_T impeg2d_api_set_default(iv_obj_t *ps_dechdl, } -WORD32 impeg2d_join_threads(dec_state_multi_core_t *ps_dec_state_multi_core) -{ - dec_state_t *ps_dec_thd, *ps_dec_state; - - ps_dec_state = ps_dec_state_multi_core->ps_dec_state[0]; - - if(ps_dec_state->i4_threads_active) - { - int i; - for(i = 0; i < MAX_THREADS; i++) - { - WORD32 ret; - ps_dec_thd = ps_dec_state_multi_core->ps_dec_state[i]; - if(ps_dec_state_multi_core->au4_thread_launched[i]) - { - ret = ithread_mutex_lock(ps_dec_thd->pv_proc_start_mutex); - if((IMPEG2D_ERROR_CODES_T)IV_SUCCESS != ret) return(IV_FAIL); - - // set process start for the threads waiting on the start condition - // in the decode routine so as to break them - ps_dec_thd->ai4_process_start = 1; - ps_dec_state_multi_core->i4_break_threads = 1; - - ret = ithread_cond_signal(ps_dec_thd->pv_proc_start_condition); - if((IMPEG2D_ERROR_CODES_T)IV_SUCCESS != ret) return(IV_FAIL); - - ret = ithread_mutex_unlock(ps_dec_thd->pv_proc_start_mutex); - if((IMPEG2D_ERROR_CODES_T)IV_SUCCESS != ret) return(IV_FAIL); - - ithread_join(ps_dec_thd->pv_codec_thread_handle, NULL); - ps_dec_state_multi_core->au4_thread_launched[i] = 0; - ps_dec_state_multi_core->i4_break_threads = 0; - } - } - } - - return IV_SUCCESS; -} /*****************************************************************************/ /* */ diff --git a/decoder/impeg2d_bitstream.c b/decoder/impeg2d_bitstream.c index 57a9e2f..b1690f7 100644 --- a/decoder/impeg2d_bitstream.c +++ b/decoder/impeg2d_bitstream.c @@ -144,7 +144,7 @@ void impeg2d_bit_stream_init(stream_t *ps_stream, * * Values Returned : The bit read(0/1) *******************************************************************************/ -INLINE UWORD8 impeg2d_bit_stream_get_bit(stream_t *ps_stream) +UWORD8 impeg2d_bit_stream_get_bit(stream_t *ps_stream) { UWORD32 u4_bit,u4_offset,u4_temp; UWORD32 u4_curr_bit; @@ -188,7 +188,7 @@ INLINE UWORD8 impeg2d_bit_stream_get_bit(stream_t *ps_stream) * * Values Returned : None *******************************************************************************/ -INLINE void impeg2d_bit_stream_flush(void* pv_ctxt, UWORD32 u4_no_of_bits) +void impeg2d_bit_stream_flush(void* pv_ctxt, UWORD32 u4_no_of_bits) { stream_t *ps_stream = (stream_t *)pv_ctxt; @@ -219,7 +219,7 @@ INLINE void impeg2d_bit_stream_flush(void* pv_ctxt, UWORD32 u4_no_of_bits) * least significant bit and going towards most significant * bit in the order of their occurence. *******************************************************************************/ -INLINE void impeg2d_bit_stream_flush_to_byte_boundary(void* pv_ctxt) +void impeg2d_bit_stream_flush_to_byte_boundary(void* pv_ctxt) { UWORD8 u1_bit_offset; stream_t *ps_stream = (stream_t *)pv_ctxt; @@ -257,7 +257,7 @@ INLINE void impeg2d_bit_stream_flush_to_byte_boundary(void* pv_ctxt) * least significant bit and going towards most significant * bit in the order of their occurence. *******************************************************************************/ -INLINE UWORD32 impeg2d_bit_stream_nxt( stream_t *ps_stream, WORD32 i4_no_of_bits) +UWORD32 impeg2d_bit_stream_nxt( stream_t *ps_stream, WORD32 i4_no_of_bits) { UWORD32 u4_bits,u4_offset,u4_temp; UWORD8 u4_bit_ptr; @@ -306,7 +306,7 @@ INLINE UWORD32 impeg2d_bit_stream_nxt( stream_t *ps_stream, WORD32 i4_no_of_bit * bit in the order of their occurence. *******************************************************************************/ -INLINE UWORD32 impeg2d_bit_stream_get(void* pv_ctxt, UWORD32 u4_num_bits) +UWORD32 impeg2d_bit_stream_get(void* pv_ctxt, UWORD32 u4_num_bits) { UWORD32 u4_next_bits = impeg2d_bit_stream_nxt(pv_ctxt, u4_num_bits); impeg2d_bit_stream_flush(pv_ctxt, u4_num_bits); @@ -331,7 +331,7 @@ INLINE UWORD32 impeg2d_bit_stream_get(void* pv_ctxt, UWORD32 u4_num_bits) * least significant bit and going towards most significant * bit in the order of their occurence. *******************************************************************************/ -INLINE UWORD32 impeg2d_bit_stream_num_bits_read(void* pv_ctxt) +UWORD32 impeg2d_bit_stream_num_bits_read(void* pv_ctxt) { stream_t *u4_no_of_bitsstream = (stream_t *)pv_ctxt; size_t u4_temp; diff --git a/decoder/impeg2d_bitstream.h b/decoder/impeg2d_bitstream.h index 4ce4013..d4f9250 100644 --- a/decoder/impeg2d_bitstream.h +++ b/decoder/impeg2d_bitstream.h @@ -139,13 +139,13 @@ typedef struct _stream_t void impeg2d_bit_stream_init(stream_t *stream, UWORD8 *byteBuf, UWORD32 u4_max_offset); -INLINE UWORD8 impeg2d_bit_stream_get_bit(stream_t *stream); -INLINE void impeg2d_bit_stream_flush(void* ctxt, UWORD32 NoOfBits); -INLINE void impeg2d_bit_stream_flush_to_byte_boundary(void* ctxt); -INLINE UWORD32 impeg2d_bit_stream_nxt(stream_t *stream, WORD32 NoOfBits); +UWORD8 impeg2d_bit_stream_get_bit(stream_t *stream); +void impeg2d_bit_stream_flush(void* ctxt, UWORD32 NoOfBits); +void impeg2d_bit_stream_flush_to_byte_boundary(void* ctxt); +UWORD32 impeg2d_bit_stream_nxt(stream_t *stream, WORD32 NoOfBits); -INLINE UWORD32 impeg2d_bit_stream_get(void* ctxt, UWORD32 numBits); -INLINE UWORD32 impeg2d_bit_stream_num_bits_read(void* ctxt); +UWORD32 impeg2d_bit_stream_get(void* ctxt, UWORD32 numBits); +UWORD32 impeg2d_bit_stream_num_bits_read(void* ctxt); diff --git a/decoder/impeg2d_mv_dec.c b/decoder/impeg2d_mv_dec.c index 190726a..b64d994 100644 --- a/decoder/impeg2d_mv_dec.c +++ b/decoder/impeg2d_mv_dec.c @@ -60,7 +60,7 @@ * * Value Returned: None *******************************************************************************/ -INLINE void impeg2d_dec_1mv(stream_t *ps_stream, WORD16 ai2_pred_mv[], WORD16 ai2_mv[],UWORD16 au2_fCode[], +void impeg2d_dec_1mv(stream_t *ps_stream, WORD16 ai2_pred_mv[], WORD16 ai2_mv[],UWORD16 au2_fCode[], UWORD16 u2_mv_y_shift, WORD16 ai2_dmv[]) { WORD16 i2_f; diff --git a/decoder/impeg2d_mv_dec.h b/decoder/impeg2d_mv_dec.h index f6c691e..44f0135 100644 --- a/decoder/impeg2d_mv_dec.h +++ b/decoder/impeg2d_mv_dec.h @@ -22,7 +22,7 @@ e_field_t impeg2d_dec_mv(stream_t *stream, WORD16 predMv[], WORD16 mv[],UWORD16 fCode[], UWORD16 shift,UWORD16 fld_sel); -INLINE void impeg2d_dec_1mv(stream_t *stream, WORD16 predMv[], WORD16 mv[],UWORD16 fCode[], +void impeg2d_dec_1mv(stream_t *stream, WORD16 predMv[], WORD16 mv[],UWORD16 fCode[], UWORD16 shift,WORD16 dmv[]); #endif /* #ifndef __IMPEG2D_MV_DEC_H__ */ |