From 11a222f5d963097fb72cec7bf6e06ff8c3d96fa4 Mon Sep 17 00:00:00 2001 From: Tero Rintaluoma Date: Mon, 24 Jan 2011 11:21:40 +0200 Subject: [PATCH] Adds "armvX-none-rvct" targets Adds following targets to configure script to support RVCT compilation without operating system support (for Profiler or bare metal images). - armv5te-none-rvct - armv6-none-rvct - armv7-none-rvct To strip OS specific parts from the code "os_support"-config was added to script and CONFIG_OS_SUPPORT flag is used in the code to exclude OS specific parts such as OS specific includes and function calls for timers and threads etc. This was done to enable RVCT compilation for profiling purposes or running the image on bare metal target with Lauterbach. Removed separate AREA directives for READONLY data in armv6 and neon assembly files to fix the RVCT compilation. Otherwise "ldr , =label" syntax would have been needed to prevent linker errors. This syntax is not supported by older gnu assemblers. Change-Id: I14f4c68529e8c27397502fbc3010a54e505ddb43 --- build/make/configure.sh | 13 ++++++---- configure | 5 ++++ examples.mk | 10 +++++++- md5_utils.c | 2 -- vp8/common/arm/armv6/sixtappredict8x4_v6.asm | 2 -- .../arm/neon/bilinearpredict16x16_neon.asm | 5 +--- .../arm/neon/bilinearpredict4x4_neon.asm | 5 +--- .../arm/neon/bilinearpredict8x4_neon.asm | 5 +--- .../arm/neon/bilinearpredict8x8_neon.asm | 5 +--- vp8/common/arm/neon/loopfilter_neon.asm | 3 ++- .../loopfiltersimplehorizontaledge_neon.asm | 5 +--- .../loopfiltersimpleverticaledge_neon.asm | 5 +--- vp8/common/arm/neon/mbloopfilter_neon.asm | 3 ++- vp8/common/arm/neon/shortidct4x4llm_neon.asm | 5 +--- .../arm/neon/sixtappredict16x16_neon.asm | 5 +--- vp8/common/arm/neon/sixtappredict4x4_neon.asm | 5 +--- vp8/common/arm/neon/sixtappredict8x4_neon.asm | 5 +--- vp8/common/arm/neon/sixtappredict8x8_neon.asm | 5 +--- vp8/common/threading.h | 6 +++++ vp8/decoder/threading.c | 2 +- vp8/encoder/arm/neon/fastfdct4x4_neon.asm | 5 +--- vp8/encoder/arm/neon/fastfdct8x4_neon.asm | 5 +--- vp8/encoder/arm/neon/shortfdct_neon.asm | 5 +--- .../neon/vp8_subpixelvariance16x16_neon.asm | 5 +--- .../arm/neon/vp8_subpixelvariance8x8_neon.asm | 5 +--- vpx_ports/vpx_timer.h | 24 +++++++++++++++++++ vpxdec.c | 24 +++++++++++-------- vpxenc.c | 10 +++++++- 28 files changed, 96 insertions(+), 88 deletions(-) diff --git a/build/make/configure.sh b/build/make/configure.sh index 75279b9b9..8c4d2cf79 100755 --- a/build/make/configure.sh +++ b/build/make/configure.sh @@ -664,7 +664,7 @@ process_common_toolchain() { elif enabled armv7 then check_add_cflags -march=armv7-a -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp #-ftree-vectorize - check_add_asflags -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp #-march=armv7-a + check_add_asflags -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp #-march=armv7-a else check_add_cflags -march=${tgt_isa} check_add_asflags -march=${tgt_isa} @@ -695,10 +695,17 @@ process_common_toolchain() { arch_int=${arch_int%%te} check_add_asflags --pd "\"ARCHITECTURE SETA ${arch_int}\"" enabled debug && add_asflags -g + add_cflags --gnu + add_cflags --enum_is_int + add_cflags --wchar32 ;; esac case ${tgt_os} in + none*) + disable multithread + disable os_support + ;; darwin*) SDK_PATH=/Developer/Platforms/iPhoneOS.platform/Developer TOOLCHAIN_PATH=${SDK_PATH}/usr/bin @@ -747,13 +754,9 @@ process_common_toolchain() { || die "Must supply --libc when targetting *-linux-rvct" # Set up compiler - add_cflags --gnu - add_cflags --enum_is_int add_cflags --library_interface=aeabi_glibc add_cflags --no_hide_all - add_cflags --wchar32 add_cflags --dwarf2 - add_cflags --gnu # Set up linker add_ldflags --sysv --no_startup --no_ref_cpp_init diff --git a/configure b/configure index cb568d7aa..ed1990607 100755 --- a/configure +++ b/configure @@ -79,11 +79,13 @@ EOF # alphabetically by architecture, generic-gnu last. all_platforms="${all_platforms} armv5te-linux-rvct" all_platforms="${all_platforms} armv5te-linux-gcc" +all_platforms="${all_platforms} armv5te-none-rvct" all_platforms="${all_platforms} armv5te-symbian-gcc" all_platforms="${all_platforms} armv5te-wince-vs8" all_platforms="${all_platforms} armv6-darwin-gcc" all_platforms="${all_platforms} armv6-linux-rvct" all_platforms="${all_platforms} armv6-linux-gcc" +all_platforms="${all_platforms} armv6-none-rvct" all_platforms="${all_platforms} armv6-symbian-gcc" all_platforms="${all_platforms} armv6-wince-vs8" all_platforms="${all_platforms} iwmmxt-linux-rvct" @@ -95,6 +97,7 @@ all_platforms="${all_platforms} iwmmxt2-wince-vs8" all_platforms="${all_platforms} armv7-darwin-gcc" #neon Cortex-A8 all_platforms="${all_platforms} armv7-linux-rvct" #neon Cortex-A8 all_platforms="${all_platforms} armv7-linux-gcc" #neon Cortex-A8 +all_platforms="${all_platforms} armv7-none-rvct" #neon Cortex-A8 all_platforms="${all_platforms} mips32-linux-gcc" all_platforms="${all_platforms} ppc32-darwin8-gcc" all_platforms="${all_platforms} ppc32-darwin9-gcc" @@ -159,6 +162,7 @@ enable fast_unaligned #allow unaligned accesses, if supported by hw enable md5 enable spatial_resampling enable multithread +enable os_support [ -d ${source_path}/../include ] && enable alt_tree_layout for d in vp8; do @@ -253,6 +257,7 @@ CONFIG_LIST=" small arm_asm_detok postproc_visualizer + os_support " CMDLINE_SELECT=" extra_warnings diff --git a/examples.mk b/examples.mk index a30205d31..89c93db62 100644 --- a/examples.mk +++ b/examples.mk @@ -93,8 +93,16 @@ vp8cx_set_ref.DESCRIPTION = VP8 set encoder reference frame # Handle extra library flags depending on codec configuration -CODEC_EXTRA_LIBS-$(CONFIG_VP8) += m +# We should not link to math library (libm) on RVCT +# when building for bare-metal targets +ifeq ($(CONFIG_OS_SUPPORT), yes) +CODEC_EXTRA_LIBS-$(CONFIG_VP8) += m +else + ifeq ($(CONFIG_GCC), yes) + CODEC_EXTRA_LIBS-$(CONFIG_VP8) += m + endif +endif # # End of specified files. The rest of the build rules should happen # automagically from here. diff --git a/md5_utils.c b/md5_utils.c index 455d9cd2b..9a584fab7 100644 --- a/md5_utils.c +++ b/md5_utils.c @@ -20,8 +20,6 @@ * Still in the public domain. */ -#include /* for stupid systems */ - #include /* for memcpy() */ #include "md5_utils.h" diff --git a/vp8/common/arm/armv6/sixtappredict8x4_v6.asm b/vp8/common/arm/armv6/sixtappredict8x4_v6.asm index 8b9939484..029e02aa0 100644 --- a/vp8/common/arm/armv6/sixtappredict8x4_v6.asm +++ b/vp8/common/arm/armv6/sixtappredict8x4_v6.asm @@ -243,8 +243,6 @@ skip_secondpass_hloop ENDP ;----------------- - AREA subpelfilters8_dat, DATA, READWRITE ;read/write by default -;Data section with name data_area is specified. DCD reserves space in memory for 48 data. ;One word each is reserved. Label filter_coeff can be used to access the data. ;Data address: filter_coeff, filter_coeff+4, filter_coeff+8 ... _filter8_coeff_ diff --git a/vp8/common/arm/neon/bilinearpredict16x16_neon.asm b/vp8/common/arm/neon/bilinearpredict16x16_neon.asm index bb72bad1f..79e1a6935 100644 --- a/vp8/common/arm/neon/bilinearpredict16x16_neon.asm +++ b/vp8/common/arm/neon/bilinearpredict16x16_neon.asm @@ -350,10 +350,7 @@ filt_blk2d_spo16x16_loop_neon ENDP ;----------------- - AREA bifilters16_dat, DATA, READWRITE ;read/write by default -;Data section with name data_area is specified. DCD reserves space in memory for 48 data. -;One word each is reserved. Label filter_coeff can be used to access the data. -;Data address: filter_coeff, filter_coeff+4, filter_coeff+8 ... + _bifilter16_coeff_ DCD bifilter16_coeff bifilter16_coeff diff --git a/vp8/common/arm/neon/bilinearpredict4x4_neon.asm b/vp8/common/arm/neon/bilinearpredict4x4_neon.asm index 6d4820b7e..10cd1b8bd 100644 --- a/vp8/common/arm/neon/bilinearpredict4x4_neon.asm +++ b/vp8/common/arm/neon/bilinearpredict4x4_neon.asm @@ -123,10 +123,7 @@ skip_secondpass_filter ENDP ;----------------- - AREA bilinearfilters4_dat, DATA, READWRITE ;read/write by default -;Data section with name data_area is specified. DCD reserves space in memory for 48 data. -;One word each is reserved. Label filter_coeff can be used to access the data. -;Data address: filter_coeff, filter_coeff+4, filter_coeff+8 ... + _bifilter4_coeff_ DCD bifilter4_coeff bifilter4_coeff diff --git a/vp8/common/arm/neon/bilinearpredict8x4_neon.asm b/vp8/common/arm/neon/bilinearpredict8x4_neon.asm index b9f3ce034..bf37bb0d6 100644 --- a/vp8/common/arm/neon/bilinearpredict8x4_neon.asm +++ b/vp8/common/arm/neon/bilinearpredict8x4_neon.asm @@ -128,10 +128,7 @@ skip_secondpass_filter ENDP ;----------------- - AREA bifilters8x4_dat, DATA, READWRITE ;read/write by default -;Data section with name data_area is specified. DCD reserves space in memory for 48 data. -;One word each is reserved. Label filter_coeff can be used to access the data. -;Data address: filter_coeff, filter_coeff+4, filter_coeff+8 ... + _bifilter8x4_coeff_ DCD bifilter8x4_coeff bifilter8x4_coeff diff --git a/vp8/common/arm/neon/bilinearpredict8x8_neon.asm b/vp8/common/arm/neon/bilinearpredict8x8_neon.asm index f7a7d1496..9b29df6c3 100644 --- a/vp8/common/arm/neon/bilinearpredict8x8_neon.asm +++ b/vp8/common/arm/neon/bilinearpredict8x8_neon.asm @@ -176,10 +176,7 @@ skip_secondpass_filter ENDP ;----------------- - AREA bifilters8_dat, DATA, READWRITE ;read/write by default -;Data section with name data_area is specified. DCD reserves space in memory for 48 data. -;One word each is reserved. Label filter_coeff can be used to access the data. -;Data address: filter_coeff, filter_coeff+4, filter_coeff+8 ... + _bifilter8_coeff_ DCD bifilter8_coeff bifilter8_coeff diff --git a/vp8/common/arm/neon/loopfilter_neon.asm b/vp8/common/arm/neon/loopfilter_neon.asm index bf0c35721..d3a79f640 100644 --- a/vp8/common/arm/neon/loopfilter_neon.asm +++ b/vp8/common/arm/neon/loopfilter_neon.asm @@ -397,7 +397,8 @@ bx lr ENDP ; |vp8_loop_filter_horizontal_edge_y_neon| - AREA loopfilter_dat, DATA, READONLY +;----------------- + _lf_coeff_ DCD lf_coeff lf_coeff diff --git a/vp8/common/arm/neon/loopfiltersimplehorizontaledge_neon.asm b/vp8/common/arm/neon/loopfiltersimplehorizontaledge_neon.asm index 0b84dc750..5fe7e7e6d 100644 --- a/vp8/common/arm/neon/loopfiltersimplehorizontaledge_neon.asm +++ b/vp8/common/arm/neon/loopfiltersimplehorizontaledge_neon.asm @@ -104,10 +104,7 @@ ENDP ; |vp8_loop_filter_simple_horizontal_edge_neon| ;----------------- - AREA hloopfiltery_dat, DATA, READWRITE ;read/write by default -;Data section with name data_area is specified. DCD reserves space in memory for 16 data. -;One word each is reserved. Label filter_coeff can be used to access the data. -;Data address: filter_coeff, filter_coeff+4, filter_coeff+8 ... + _lfhy_coeff_ DCD lfhy_coeff lfhy_coeff diff --git a/vp8/common/arm/neon/loopfiltersimpleverticaledge_neon.asm b/vp8/common/arm/neon/loopfiltersimpleverticaledge_neon.asm index a793d095a..c30378b9c 100644 --- a/vp8/common/arm/neon/loopfiltersimpleverticaledge_neon.asm +++ b/vp8/common/arm/neon/loopfiltersimpleverticaledge_neon.asm @@ -145,10 +145,7 @@ ENDP ; |vp8_loop_filter_simple_vertical_edge_neon| ;----------------- - AREA vloopfiltery_dat, DATA, READWRITE ;read/write by default -;Data section with name data_area is specified. DCD reserves space in memory for 16 data. -;One word each is reserved. Label filter_coeff can be used to access the data. -;Data address: filter_coeff, filter_coeff+4, filter_coeff+8 ... + _vlfy_coeff_ DCD vlfy_coeff vlfy_coeff diff --git a/vp8/common/arm/neon/mbloopfilter_neon.asm b/vp8/common/arm/neon/mbloopfilter_neon.asm index 255dd5619..981adffd1 100644 --- a/vp8/common/arm/neon/mbloopfilter_neon.asm +++ b/vp8/common/arm/neon/mbloopfilter_neon.asm @@ -505,7 +505,8 @@ bx lr ENDP ; |vp8_mbloop_filter_neon| - AREA mbloopfilter_dat, DATA, READONLY +;----------------- + _mblf_coeff_ DCD mblf_coeff mblf_coeff diff --git a/vp8/common/arm/neon/shortidct4x4llm_neon.asm b/vp8/common/arm/neon/shortidct4x4llm_neon.asm index d77a2879e..16c4d2d24 100644 --- a/vp8/common/arm/neon/shortidct4x4llm_neon.asm +++ b/vp8/common/arm/neon/shortidct4x4llm_neon.asm @@ -113,10 +113,7 @@ ENDP ;----------------- - AREA idct4x4_dat, DATA, READWRITE ;read/write by default -;Data section with name data_area is specified. DCD reserves space in memory for 48 data. -;One word each is reserved. Label filter_coeff can be used to access the data. -;Data address: filter_coeff, filter_coeff+4, filter_coeff+8 ... + _idct_coeff_ DCD idct_coeff idct_coeff diff --git a/vp8/common/arm/neon/sixtappredict16x16_neon.asm b/vp8/common/arm/neon/sixtappredict16x16_neon.asm index e434a709c..3c22fa19b 100644 --- a/vp8/common/arm/neon/sixtappredict16x16_neon.asm +++ b/vp8/common/arm/neon/sixtappredict16x16_neon.asm @@ -476,10 +476,7 @@ secondpass_only_inner_loop_neon ENDP ;----------------- - AREA subpelfilters16_dat, DATA, READWRITE ;read/write by default -;Data section with name data_area is specified. DCD reserves space in memory for 48 data. -;One word each is reserved. Label filter_coeff can be used to access the data. -;Data address: filter_coeff, filter_coeff+4, filter_coeff+8 ... + _filter16_coeff_ DCD filter16_coeff filter16_coeff diff --git a/vp8/common/arm/neon/sixtappredict4x4_neon.asm b/vp8/common/arm/neon/sixtappredict4x4_neon.asm index 3d22d775a..2dc3f591f 100644 --- a/vp8/common/arm/neon/sixtappredict4x4_neon.asm +++ b/vp8/common/arm/neon/sixtappredict4x4_neon.asm @@ -407,10 +407,7 @@ secondpass_filter4x4_only ENDP ;----------------- - AREA subpelfilters4_dat, DATA, READWRITE ;read/write by default -;Data section with name data_area is specified. DCD reserves space in memory for 48 data. -;One word each is reserved. Label filter_coeff can be used to access the data. -;Data address: filter_coeff, filter_coeff+4, filter_coeff+8 ... + _filter4_coeff_ DCD filter4_coeff filter4_coeff diff --git a/vp8/common/arm/neon/sixtappredict8x4_neon.asm b/vp8/common/arm/neon/sixtappredict8x4_neon.asm index 1dd6b1b37..0904f52ca 100644 --- a/vp8/common/arm/neon/sixtappredict8x4_neon.asm +++ b/vp8/common/arm/neon/sixtappredict8x4_neon.asm @@ -458,10 +458,7 @@ secondpass_filter8x4_only ENDP ;----------------- - AREA subpelfilters8_dat, DATA, READWRITE ;read/write by default -;Data section with name data_area is specified. DCD reserves space in memory for 48 data. -;One word each is reserved. Label filter_coeff can be used to access the data. -;Data address: filter_coeff, filter_coeff+4, filter_coeff+8 ... + _filter8_coeff_ DCD filter8_coeff filter8_coeff diff --git a/vp8/common/arm/neon/sixtappredict8x8_neon.asm b/vp8/common/arm/neon/sixtappredict8x8_neon.asm index 37255c758..33af86f8f 100644 --- a/vp8/common/arm/neon/sixtappredict8x8_neon.asm +++ b/vp8/common/arm/neon/sixtappredict8x8_neon.asm @@ -509,10 +509,7 @@ filt_blk2d_spo8x8_loop_neon ENDP ;----------------- - AREA subpelfilters8_dat, DATA, READWRITE ;read/write by default -;Data section with name data_area is specified. DCD reserves space in memory for 48 data. -;One word each is reserved. Label filter_coeff can be used to access the data. -;Data address: filter_coeff, filter_coeff+4, filter_coeff+8 ... + _filter8_coeff_ DCD filter8_coeff filter8_coeff diff --git a/vp8/common/threading.h b/vp8/common/threading.h index 1929f7c4f..0dd7bbc4c 100644 --- a/vp8/common/threading.h +++ b/vp8/common/threading.h @@ -14,6 +14,8 @@ #define VPXINFINITE 10000 /* 10second. */ +#if CONFIG_OS_SUPPORT + /* Thread management macros */ #ifdef _WIN32 /* Win32 */ @@ -88,4 +90,8 @@ #define x86_pause_hint() #endif +#else /* CONFIG_OS_SUPPORT = 0 */ +#define THREAD_FUNCTION void * +#endif /* CONFIG_OS_SUPPORT */ + #endif diff --git a/vp8/decoder/threading.c b/vp8/decoder/threading.c index fc8406eae..930d9b913 100644 --- a/vp8/decoder/threading.c +++ b/vp8/decoder/threading.c @@ -9,7 +9,7 @@ */ -#ifndef WIN32 +#if !defined(WIN32) && CONFIG_OS_SUPPORT == 1 # include #endif #ifdef __APPLE__ diff --git a/vp8/encoder/arm/neon/fastfdct4x4_neon.asm b/vp8/encoder/arm/neon/fastfdct4x4_neon.asm index 8c191a753..1cc0bd781 100644 --- a/vp8/encoder/arm/neon/fastfdct4x4_neon.asm +++ b/vp8/encoder/arm/neon/fastfdct4x4_neon.asm @@ -112,10 +112,7 @@ ENDP ;----------------- - AREA fastfdct_dat, DATA, READONLY -;Data section with name data_area is specified. DCD reserves space in memory for 48 data. -;One word each is reserved. Label filter_coeff can be used to access the data. -;Data address: filter_coeff, filter_coeff+4, filter_coeff+8 ... + _ffdct_coeff_ DCD ffdct_coeff ffdct_coeff diff --git a/vp8/encoder/arm/neon/fastfdct8x4_neon.asm b/vp8/encoder/arm/neon/fastfdct8x4_neon.asm index ca351a1c4..f6e8bbb83 100644 --- a/vp8/encoder/arm/neon/fastfdct8x4_neon.asm +++ b/vp8/encoder/arm/neon/fastfdct8x4_neon.asm @@ -165,10 +165,7 @@ ENDP ;----------------- - AREA fastfdct8x4_dat, DATA, READONLY -;Data section with name data_area is specified. DCD reserves space in memory for 48 data. -;One word each is reserved. Label filter_coeff can be used to access the data. -;Data address: filter_coeff, filter_coeff+4, filter_coeff+8 ... + _ffdct8_coeff_ DCD ffdct8_coeff ffdct8_coeff diff --git a/vp8/encoder/arm/neon/shortfdct_neon.asm b/vp8/encoder/arm/neon/shortfdct_neon.asm index 5af5cb888..1b7f36277 100644 --- a/vp8/encoder/arm/neon/shortfdct_neon.asm +++ b/vp8/encoder/arm/neon/shortfdct_neon.asm @@ -122,10 +122,7 @@ ENDP ;----------------- - AREA dct4x4_dat, DATA, READONLY -;Data section with name data_area is specified. DCD reserves space in memory for 48 data. -;One word each is reserved. Label filter_coeff can be used to access the data. -;Data address: filter_coeff, filter_coeff+4, filter_coeff+8 ... + _dct_matrix_ DCD dct_matrix dct_matrix diff --git a/vp8/encoder/arm/neon/vp8_subpixelvariance16x16_neon.asm b/vp8/encoder/arm/neon/vp8_subpixelvariance16x16_neon.asm index 1b09cfe4c..3ca2bdf3b 100644 --- a/vp8/encoder/arm/neon/vp8_subpixelvariance16x16_neon.asm +++ b/vp8/encoder/arm/neon/vp8_subpixelvariance16x16_neon.asm @@ -416,10 +416,7 @@ sub_pixel_variance16x16_neon_loop ENDP ;----------------- - AREA vp8e_bilinear_taps_dat, DATA, READWRITE ;read/write by default -;Data section with name data_area is specified. DCD reserves space in memory for 48 data. -;One word each is reserved. Label filter_coeff can be used to access the data. -;Data address: filter_coeff, filter_coeff+4, filter_coeff+8 ... + _BilinearTaps_coeff_ DCD bilinear_taps_coeff bilinear_taps_coeff diff --git a/vp8/encoder/arm/neon/vp8_subpixelvariance8x8_neon.asm b/vp8/encoder/arm/neon/vp8_subpixelvariance8x8_neon.asm index cf4da62fa..38b58780a 100644 --- a/vp8/encoder/arm/neon/vp8_subpixelvariance8x8_neon.asm +++ b/vp8/encoder/arm/neon/vp8_subpixelvariance8x8_neon.asm @@ -215,10 +215,7 @@ sub_pixel_variance8x8_neon_loop ENDP ;----------------- - AREA bilinear_taps_dat, DATA, READWRITE ;read/write by default -;Data section with name data_area is specified. DCD reserves space in memory for 48 data. -;One word each is reserved. Label filter_coeff can be used to access the data. -;Data address: filter_coeff, filter_coeff+4, filter_coeff+8 ... + _BilinearTaps_coeff_ DCD bilinear_taps_coeff bilinear_taps_coeff diff --git a/vpx_ports/vpx_timer.h b/vpx_ports/vpx_timer.h index 37a0c7cb2..c8335a0a8 100644 --- a/vpx_ports/vpx_timer.h +++ b/vpx_ports/vpx_timer.h @@ -12,6 +12,8 @@ #ifndef VPX_TIMER_H #define VPX_TIMER_H +#if CONFIG_OS_SUPPORT + #if defined(_WIN32) /* * Win32 specific includes @@ -93,5 +95,27 @@ vpx_usec_timer_elapsed(struct vpx_usec_timer *t) #endif } +#else /* CONFIG_OS_SUPPORT = 0*/ + +/* Empty timer functions if CONFIG_OS_SUPPORT = 0 */ +#ifndef timersub +#define timersub(a, b, result) +#endif + +struct vpx_usec_timer +{ + void *dummy; +}; + +static void +vpx_usec_timer_start(struct vpx_usec_timer *t) { } + +static void +vpx_usec_timer_mark(struct vpx_usec_timer *t) { } + +static long +vpx_usec_timer_elapsed(struct vpx_usec_timer *t) { return 0; } + +#endif /* CONFIG_OS_SUPPORT */ #endif diff --git a/vpxdec.c b/vpxdec.c index dd1796380..ca9af1ec1 100644 --- a/vpxdec.c +++ b/vpxdec.c @@ -17,14 +17,7 @@ #include #include #include -#if defined(_WIN32) -#include -#define snprintf _snprintf -#define isatty _isatty -#define fileno _fileno -#else -#include -#endif + #define VPX_CODEC_DISABLE_COMPAT 1 #include "vpx_config.h" #include "vpx/vpx_decoder.h" @@ -38,6 +31,17 @@ #include "tools_common.h" #include "nestegg/include/nestegg/nestegg.h" +#if CONFIG_OS_SUPPORT +#if defined(_WIN32) +#include +#define snprintf _snprintf +#define isatty _isatty +#define fileno _fileno +#else +#include +#endif +#endif + #ifndef PATH_MAX #define PATH_MAX 256 #endif @@ -866,7 +870,7 @@ int main(int argc, const char **argv_) strcmp(fn, "-") ? fn : "stdin"); return EXIT_FAILURE; } - +#if CONFIG_OS_SUPPORT /* Make sure we don't dump to the terminal, unless forced to with -o - */ if(!outfile_pattern && isatty(fileno(stdout)) && !do_md5 && !noblit) { @@ -875,7 +879,7 @@ int main(int argc, const char **argv_) "override.\n"); return EXIT_FAILURE; } - +#endif input.infile = infile; if(file_is_ivf(infile, &fourcc, &width, &height, &fps_den, &fps_num)) diff --git a/vpxenc.c b/vpxenc.c index 2c133e718..d0f4c2348 100755 --- a/vpxenc.c +++ b/vpxenc.c @@ -12,7 +12,7 @@ /* This is a simple program that encodes YV12 files and generates ivf * files using the new interface. */ -#if defined(_WIN32) +#if defined(_WIN32) || !CONFIG_OS_SUPPORT #define USE_POSIX_MMAP 0 #else #define USE_POSIX_MMAP 1 @@ -58,6 +58,14 @@ typedef __int64 off_t; #define LITERALU64(n) n##LLU #endif +/* We should use 32-bit file operations in WebM file format + * when building ARM executable file (.axf) with RVCT */ +#if !CONFIG_OS_SUPPORT +typedef long off_t; +#define fseeko fseek +#define ftello ftell +#endif + static const char *exec_name; static const struct codec_item