summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHarish Mahendrakar <hmahendrakar@google.com>2023-10-23 20:16:31 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2023-10-23 20:16:31 +0000
commite3848276ba47737ae2fa55e9a2dbde37f60779ba (patch)
tree1733c8cb84a33fac4805bb5e1fccea4cd24213d4
parentc31e28d5e0b0dc2018aef670e0cccaccc3ff2e0f (diff)
parent84fd24468042699ac81b0e12b10bfd6ce2656d87 (diff)
downloadlibmpeg2-e3848276ba47737ae2fa55e9a2dbde37f60779ba.tar.gz
Upgrade libmpeg2 to v1.3.0 am: a4c40189d5 am: 84fd244680
Original change: https://android-review.googlesource.com/c/platform/external/libmpeg2/+/2798076 Change-Id: Ibc8ba3bde8c95043173b9e46b9c24b472c5df68c Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--Android.bp85
-rw-r--r--METADATA6
-rw-r--r--common/arm/icv_platform_macros.h2
-rw-r--r--common/arm/impeg2_platform_macros.h7
-rw-r--r--common/armv8/icv_platform_macros.h6
-rw-r--r--common/armv8/impeg2_platform_macros.h7
-rw-r--r--common/riscv/icv_platform_macros.h2
-rw-r--r--common/riscv/impeg2_platform_macros.h8
-rw-r--r--common/x86/icv_platform_macros.h2
-rw-r--r--common/x86/impeg2_platform_macros.h8
-rw-r--r--decoder/impeg2d_api_main.c78
-rw-r--r--decoder/impeg2d_bitstream.c12
-rw-r--r--decoder/impeg2d_bitstream.h12
-rw-r--r--decoder/impeg2d_mv_dec.c2
-rw-r--r--decoder/impeg2d_mv_dec.h2
15 files changed, 108 insertions, 131 deletions
diff --git a/Android.bp b/Android.bp
index f99ae5c..df34bbc 100644
--- a/Android.bp
+++ b/Android.bp
@@ -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",
],
},
},
diff --git a/METADATA b/METADATA
index 37f8316..e58032c 100644
--- a/METADATA
+++ b/METADATA
@@ -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__ */