Commit 11a222f5 authored by Tero Rintaluoma's avatar Tero Rintaluoma Committed by Tero Rintaluoma

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 <reg>, =label" syntax would have been needed to prevent linker
errors. This syntax is not supported by older gnu assemblers.

Change-Id: I14f4c68529e8c27397502fbc3010a54e505ddb43
parent d3e9409b
...@@ -664,7 +664,7 @@ process_common_toolchain() { ...@@ -664,7 +664,7 @@ process_common_toolchain() {
elif enabled armv7 elif enabled armv7
then then
check_add_cflags -march=armv7-a -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp #-ftree-vectorize 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 else
check_add_cflags -march=${tgt_isa} check_add_cflags -march=${tgt_isa}
check_add_asflags -march=${tgt_isa} check_add_asflags -march=${tgt_isa}
...@@ -695,10 +695,17 @@ process_common_toolchain() { ...@@ -695,10 +695,17 @@ process_common_toolchain() {
arch_int=${arch_int%%te} arch_int=${arch_int%%te}
check_add_asflags --pd "\"ARCHITECTURE SETA ${arch_int}\"" check_add_asflags --pd "\"ARCHITECTURE SETA ${arch_int}\""
enabled debug && add_asflags -g enabled debug && add_asflags -g
add_cflags --gnu
add_cflags --enum_is_int
add_cflags --wchar32
;; ;;
esac esac
case ${tgt_os} in case ${tgt_os} in
none*)
disable multithread
disable os_support
;;
darwin*) darwin*)
SDK_PATH=/Developer/Platforms/iPhoneOS.platform/Developer SDK_PATH=/Developer/Platforms/iPhoneOS.platform/Developer
TOOLCHAIN_PATH=${SDK_PATH}/usr/bin TOOLCHAIN_PATH=${SDK_PATH}/usr/bin
...@@ -747,13 +754,9 @@ process_common_toolchain() { ...@@ -747,13 +754,9 @@ process_common_toolchain() {
|| die "Must supply --libc when targetting *-linux-rvct" || die "Must supply --libc when targetting *-linux-rvct"
# Set up compiler # Set up compiler
add_cflags --gnu
add_cflags --enum_is_int
add_cflags --library_interface=aeabi_glibc add_cflags --library_interface=aeabi_glibc
add_cflags --no_hide_all add_cflags --no_hide_all
add_cflags --wchar32
add_cflags --dwarf2 add_cflags --dwarf2
add_cflags --gnu
# Set up linker # Set up linker
add_ldflags --sysv --no_startup --no_ref_cpp_init add_ldflags --sysv --no_startup --no_ref_cpp_init
......
...@@ -79,11 +79,13 @@ EOF ...@@ -79,11 +79,13 @@ EOF
# alphabetically by architecture, generic-gnu last. # alphabetically by architecture, generic-gnu last.
all_platforms="${all_platforms} armv5te-linux-rvct" all_platforms="${all_platforms} armv5te-linux-rvct"
all_platforms="${all_platforms} armv5te-linux-gcc" 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-symbian-gcc"
all_platforms="${all_platforms} armv5te-wince-vs8" all_platforms="${all_platforms} armv5te-wince-vs8"
all_platforms="${all_platforms} armv6-darwin-gcc" all_platforms="${all_platforms} armv6-darwin-gcc"
all_platforms="${all_platforms} armv6-linux-rvct" all_platforms="${all_platforms} armv6-linux-rvct"
all_platforms="${all_platforms} armv6-linux-gcc" 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-symbian-gcc"
all_platforms="${all_platforms} armv6-wince-vs8" all_platforms="${all_platforms} armv6-wince-vs8"
all_platforms="${all_platforms} iwmmxt-linux-rvct" all_platforms="${all_platforms} iwmmxt-linux-rvct"
...@@ -95,6 +97,7 @@ all_platforms="${all_platforms} iwmmxt2-wince-vs8" ...@@ -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-darwin-gcc" #neon Cortex-A8
all_platforms="${all_platforms} armv7-linux-rvct" #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-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} mips32-linux-gcc"
all_platforms="${all_platforms} ppc32-darwin8-gcc" all_platforms="${all_platforms} ppc32-darwin8-gcc"
all_platforms="${all_platforms} ppc32-darwin9-gcc" all_platforms="${all_platforms} ppc32-darwin9-gcc"
...@@ -159,6 +162,7 @@ enable fast_unaligned #allow unaligned accesses, if supported by hw ...@@ -159,6 +162,7 @@ enable fast_unaligned #allow unaligned accesses, if supported by hw
enable md5 enable md5
enable spatial_resampling enable spatial_resampling
enable multithread enable multithread
enable os_support
[ -d ${source_path}/../include ] && enable alt_tree_layout [ -d ${source_path}/../include ] && enable alt_tree_layout
for d in vp8; do for d in vp8; do
...@@ -253,6 +257,7 @@ CONFIG_LIST=" ...@@ -253,6 +257,7 @@ CONFIG_LIST="
small small
arm_asm_detok arm_asm_detok
postproc_visualizer postproc_visualizer
os_support
" "
CMDLINE_SELECT=" CMDLINE_SELECT="
extra_warnings extra_warnings
......
...@@ -93,8 +93,16 @@ vp8cx_set_ref.DESCRIPTION = VP8 set encoder reference frame ...@@ -93,8 +93,16 @@ vp8cx_set_ref.DESCRIPTION = VP8 set encoder reference frame
# Handle extra library flags depending on codec configuration # 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 # End of specified files. The rest of the build rules should happen
# automagically from here. # automagically from here.
......
...@@ -20,8 +20,6 @@ ...@@ -20,8 +20,6 @@
* Still in the public domain. * Still in the public domain.
*/ */
#include <sys/types.h> /* for stupid systems */
#include <string.h> /* for memcpy() */ #include <string.h> /* for memcpy() */
#include "md5_utils.h" #include "md5_utils.h"
......
...@@ -243,8 +243,6 @@ skip_secondpass_hloop ...@@ -243,8 +243,6 @@ skip_secondpass_hloop
ENDP 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. ;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 ... ;Data address: filter_coeff, filter_coeff+4, filter_coeff+8 ...
_filter8_coeff_ _filter8_coeff_
......
...@@ -350,10 +350,7 @@ filt_blk2d_spo16x16_loop_neon ...@@ -350,10 +350,7 @@ filt_blk2d_spo16x16_loop_neon
ENDP 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_ _bifilter16_coeff_
DCD bifilter16_coeff DCD bifilter16_coeff
bifilter16_coeff bifilter16_coeff
......
...@@ -123,10 +123,7 @@ skip_secondpass_filter ...@@ -123,10 +123,7 @@ skip_secondpass_filter
ENDP 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_ _bifilter4_coeff_
DCD bifilter4_coeff DCD bifilter4_coeff
bifilter4_coeff bifilter4_coeff
......
...@@ -128,10 +128,7 @@ skip_secondpass_filter ...@@ -128,10 +128,7 @@ skip_secondpass_filter
ENDP 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_ _bifilter8x4_coeff_
DCD bifilter8x4_coeff DCD bifilter8x4_coeff
bifilter8x4_coeff bifilter8x4_coeff
......
...@@ -176,10 +176,7 @@ skip_secondpass_filter ...@@ -176,10 +176,7 @@ skip_secondpass_filter
ENDP 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_ _bifilter8_coeff_
DCD bifilter8_coeff DCD bifilter8_coeff
bifilter8_coeff bifilter8_coeff
......
...@@ -397,7 +397,8 @@ ...@@ -397,7 +397,8 @@
bx lr bx lr
ENDP ; |vp8_loop_filter_horizontal_edge_y_neon| ENDP ; |vp8_loop_filter_horizontal_edge_y_neon|
AREA loopfilter_dat, DATA, READONLY ;-----------------
_lf_coeff_ _lf_coeff_
DCD lf_coeff DCD lf_coeff
lf_coeff lf_coeff
......
...@@ -104,10 +104,7 @@ ...@@ -104,10 +104,7 @@
ENDP ; |vp8_loop_filter_simple_horizontal_edge_neon| 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_ _lfhy_coeff_
DCD lfhy_coeff DCD lfhy_coeff
lfhy_coeff lfhy_coeff
......
...@@ -145,10 +145,7 @@ ...@@ -145,10 +145,7 @@
ENDP ; |vp8_loop_filter_simple_vertical_edge_neon| 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_ _vlfy_coeff_
DCD vlfy_coeff DCD vlfy_coeff
vlfy_coeff vlfy_coeff
......
...@@ -505,7 +505,8 @@ ...@@ -505,7 +505,8 @@
bx lr bx lr
ENDP ; |vp8_mbloop_filter_neon| ENDP ; |vp8_mbloop_filter_neon|
AREA mbloopfilter_dat, DATA, READONLY ;-----------------
_mblf_coeff_ _mblf_coeff_
DCD mblf_coeff DCD mblf_coeff
mblf_coeff mblf_coeff
......
...@@ -113,10 +113,7 @@ ...@@ -113,10 +113,7 @@
ENDP 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_ _idct_coeff_
DCD idct_coeff DCD idct_coeff
idct_coeff idct_coeff
......
...@@ -476,10 +476,7 @@ secondpass_only_inner_loop_neon ...@@ -476,10 +476,7 @@ secondpass_only_inner_loop_neon
ENDP 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_ _filter16_coeff_
DCD filter16_coeff DCD filter16_coeff
filter16_coeff filter16_coeff
......
...@@ -407,10 +407,7 @@ secondpass_filter4x4_only ...@@ -407,10 +407,7 @@ secondpass_filter4x4_only
ENDP 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_ _filter4_coeff_
DCD filter4_coeff DCD filter4_coeff
filter4_coeff filter4_coeff
......
...@@ -458,10 +458,7 @@ secondpass_filter8x4_only ...@@ -458,10 +458,7 @@ secondpass_filter8x4_only
ENDP 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_ _filter8_coeff_
DCD filter8_coeff DCD filter8_coeff
filter8_coeff filter8_coeff
......
...@@ -509,10 +509,7 @@ filt_blk2d_spo8x8_loop_neon ...@@ -509,10 +509,7 @@ filt_blk2d_spo8x8_loop_neon
ENDP 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_ _filter8_coeff_
DCD filter8_coeff DCD filter8_coeff
filter8_coeff filter8_coeff
......
...@@ -14,6 +14,8 @@ ...@@ -14,6 +14,8 @@
#define VPXINFINITE 10000 /* 10second. */ #define VPXINFINITE 10000 /* 10second. */
#if CONFIG_OS_SUPPORT
/* Thread management macros */ /* Thread management macros */
#ifdef _WIN32 #ifdef _WIN32
/* Win32 */ /* Win32 */
...@@ -88,4 +90,8 @@ ...@@ -88,4 +90,8 @@
#define x86_pause_hint() #define x86_pause_hint()
#endif #endif
#else /* CONFIG_OS_SUPPORT = 0 */
#define THREAD_FUNCTION void *
#endif /* CONFIG_OS_SUPPORT */
#endif #endif
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
*/ */
#ifndef WIN32 #if !defined(WIN32) && CONFIG_OS_SUPPORT == 1
# include <unistd.h> # include <unistd.h>
#endif #endif
#ifdef __APPLE__ #ifdef __APPLE__
......
...@@ -112,10 +112,7 @@ ...@@ -112,10 +112,7 @@
ENDP 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_ _ffdct_coeff_
DCD ffdct_coeff DCD ffdct_coeff
ffdct_coeff ffdct_coeff
......
...@@ -165,10 +165,7 @@ ...@@ -165,10 +165,7 @@
ENDP 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_ _ffdct8_coeff_
DCD ffdct8_coeff DCD ffdct8_coeff
ffdct8_coeff ffdct8_coeff
......
...@@ -122,10 +122,7 @@ ...@@ -122,10 +122,7 @@
ENDP 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_ _dct_matrix_
DCD dct_matrix DCD dct_matrix
dct_matrix dct_matrix
......
...@@ -416,10 +416,7 @@ sub_pixel_variance16x16_neon_loop ...@@ -416,10 +416,7 @@ sub_pixel_variance16x16_neon_loop
ENDP 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_ _BilinearTaps_coeff_
DCD bilinear_taps_coeff DCD bilinear_taps_coeff
bilinear_taps_coeff bilinear_taps_coeff
......
...@@ -215,10 +215,7 @@ sub_pixel_variance8x8_neon_loop ...@@ -215,10 +215,7 @@ sub_pixel_variance8x8_neon_loop
ENDP 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_ _BilinearTaps_coeff_
DCD bilinear_taps_coeff DCD bilinear_taps_coeff
bilinear_taps_coeff bilinear_taps_coeff
......
...@@ -12,6 +12,8 @@ ...@@ -12,6 +12,8 @@
#ifndef VPX_TIMER_H #ifndef VPX_TIMER_H
#define VPX_TIMER_H #define VPX_TIMER_H
#if CONFIG_OS_SUPPORT
#if defined(_WIN32) #if defined(_WIN32)
/* /*
* Win32 specific includes * Win32 specific includes
...@@ -93,5 +95,27 @@ vpx_usec_timer_elapsed(struct vpx_usec_timer *t) ...@@ -93,5 +95,27 @@ vpx_usec_timer_elapsed(struct vpx_usec_timer *t)
#endif #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 #endif
...@@ -17,14 +17,7 @@ ...@@ -17,14 +17,7 @@
#include <stdarg.h> #include <stdarg.h>
#include <string.h> #include <string.h>
#include <limits.h> #include <limits.h>
#if defined(_WIN32)
#include <io.h>
#define snprintf _snprintf
#define isatty _isatty
#define fileno _fileno
#else
#include <unistd.h>
#endif
#define VPX_CODEC_DISABLE_COMPAT 1 #define VPX_CODEC_DISABLE_COMPAT 1
#include "vpx_config.h" #include "vpx_config.h"
#include "vpx/vpx_decoder.h" #include "vpx/vpx_decoder.h"
...@@ -38,6 +31,17 @@ ...@@ -38,6 +31,17 @@
#include "tools_common.h" #include "tools_common.h"
#include "nestegg/include/nestegg/nestegg.h" #include "nestegg/include/nestegg/nestegg.h"
#if CONFIG_OS_SUPPORT
#if defined(_WIN32)
#include <io.h>
#define snprintf _snprintf
#define isatty _isatty
#define fileno _fileno
#else
#include <unistd.h>
#endif
#endif
#ifndef PATH_MAX #ifndef PATH_MAX
#define PATH_MAX 256 #define PATH_MAX 256
#endif #endif
...@@ -866,7 +870,7 @@ int main(int argc, const char **argv_) ...@@ -866,7 +870,7 @@ int main(int argc, const char **argv_)
strcmp(fn, "-") ? fn : "stdin"); strcmp(fn, "-") ? fn : "stdin");
return EXIT_FAILURE; return EXIT_FAILURE;
} }
#if CONFIG_OS_SUPPORT
/* Make sure we don't dump to the terminal, unless forced to with -o - */ /* Make sure we don't dump to the terminal, unless forced to with -o - */
if(!outfile_pattern && isatty(fileno(stdout)) && !do_md5 && !noblit) if(!outfile_pattern && isatty(fileno(stdout)) && !do_md5 && !noblit)
{ {
...@@ -875,7 +879,7 @@ int main(int argc, const char **argv_) ...@@ -875,7 +879,7 @@ int main(int argc, const char **argv_)
"override.\n"); "override.\n");
return EXIT_FAILURE; return EXIT_FAILURE;
} }
#endif
input.infile = infile; input.infile = infile;
if(file_is_ivf(infile, &fourcc, &width, &height, &fps_den, if(file_is_ivf(infile, &fourcc, &width, &height, &fps_den,
&fps_num)) &fps_num))
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
/* This is a simple program that encodes YV12 files and generates ivf /* This is a simple program that encodes YV12 files and generates ivf
* files using the new interface. * files using the new interface.
*/ */
#if defined(_WIN32) #if defined(_WIN32) || !CONFIG_OS_SUPPORT
#define USE_POSIX_MMAP 0 #define USE_POSIX_MMAP 0
#else #else
#define USE_POSIX_MMAP 1 #define USE_POSIX_MMAP 1
...@@ -58,6 +58,14 @@ typedef __int64 off_t; ...@@ -58,6 +58,14 @@ typedef __int64 off_t;
#define LITERALU64(n) n##LLU #define LITERALU64(n) n##LLU
#endif #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 char *exec_name;
static const struct codec_item static const struct codec_item
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment