2096 lines
90 KiB
Diff
2096 lines
90 KiB
Diff
From: Javier Viguera <javier.viguera@digi.com>
|
|
Date: Fri, 22 Nov 2013 16:57:32 +0100
|
|
Subject: [PATCH] gst-fsl-plugin: update to DEL revision
|
|
|
|
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
|
|
---
|
|
Makefile.am | 1 +
|
|
configure | 387 ++++++++++++++--------
|
|
configure.ac | 18 +-
|
|
libs/me/TimeStamp.c | 279 ++++++++--------
|
|
src/audio/aac_dec/src/mfw_gst_aacdec.c | 48 ++-
|
|
src/audio/aacplus_dec/src/mfw_gst_aacplusdec.c | 42 ++-
|
|
src/audio/mp3_dec/src/mfw_gst_mp3dec.c | 99 +-----
|
|
src/audio/mp3_dec/src/mfw_gst_mp3dec.h | 9 +-
|
|
src/audio/vorbis_dec/src/mfw_gst_vorbisdec.c | 12 +-
|
|
src/misc/v4l_sink/src/mfw_gst_v4l_buffer.c | 1 +
|
|
src/misc/v4l_sink/src/mfw_gst_v4lsink.c | 6 +
|
|
src/parser/aiur/src/aiurdemux.c | 2 +-
|
|
src/video/mpeg4asp_dec/src/mfw_gst_mpeg4asp_dec.c | 5 +-
|
|
src/video/vpu_dec.full/src/mfw_gst_vpu_decoder.c | 12 +-
|
|
tools/gplay/gplay_header.tgz | Bin 8807 -> 0 bytes
|
|
tools/gplay/mfw_gplay.c | 11 +-
|
|
tools/gplay/mfw_gplay_core.c | 8 +-
|
|
tools/gplay/mfw_gplay_core.h | 4 +-
|
|
18 files changed, 514 insertions(+), 430 deletions(-)
|
|
delete mode 100644 tools/gplay/gplay_header.tgz
|
|
|
|
diff --git a/Makefile.am b/Makefile.am
|
|
index be3d1d2..0f1c23c 100755
|
|
--- a/Makefile.am
|
|
+++ b/Makefile.am
|
|
@@ -1,3 +1,4 @@
|
|
+ACLOCAL_AMFLAGS = -I m4
|
|
|
|
LIBSDIRS = \
|
|
libs/sconf \
|
|
diff --git a/configure b/configure
|
|
index d29d19d..b4c9303 100755
|
|
--- a/configure
|
|
+++ b/configure
|
|
@@ -1,6 +1,8 @@
|
|
#! /bin/sh
|
|
# Guess values for system-dependent variables and create Makefiles.
|
|
-# Generated by GNU Autoconf 2.59.
|
|
+# Generated by GNU Autoconf 2.59 for GStreamer i.MX Plug-ins 2.0.3.
|
|
+#
|
|
+# Report bugs to <http://www.freescale.com>.
|
|
#
|
|
# Copyright (C) 2003 Free Software Foundation, Inc.
|
|
# This configure script is free software; the Free Software Foundation
|
|
@@ -419,11 +421,11 @@ SHELL=${CONFIG_SHELL-/bin/sh}
|
|
: ${ac_max_here_lines=38}
|
|
|
|
# Identity of this package.
|
|
-PACKAGE_NAME=
|
|
-PACKAGE_TARNAME=
|
|
-PACKAGE_VERSION=
|
|
-PACKAGE_STRING=
|
|
-PACKAGE_BUGREPORT=
|
|
+PACKAGE_NAME='GStreamer i.MX Plug-ins'
|
|
+PACKAGE_TARNAME='gstreamer-i-mx-plug-ins'
|
|
+PACKAGE_VERSION='2.0.3'
|
|
+PACKAGE_STRING='GStreamer i.MX Plug-ins 2.0.3'
|
|
+PACKAGE_BUGREPORT='http://www.freescale.com'
|
|
|
|
# Factoring default headers for most tests.
|
|
ac_includes_default="\
|
|
@@ -462,7 +464,7 @@ ac_includes_default="\
|
|
# include <unistd.h>
|
|
#endif"
|
|
|
|
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar BUILD_GCC_TRUE BUILD_GCC_FALSE ACLOCAL_AMFLAGS CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE build build_cpu build_vendor build_os host host_cpu host_vendor host_os SED EGREP LN_S ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB CPP CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL HAVE_PKGCONFIG PLATFORM PKG_CONFIG ac_pt_PKG_CONFIG GST_CFLAGS GST_LIBS GST_MAJORMINOR GST_BASE_CFLAGS GST_BASE_LIBS GST_PLUGINS_BASE_CFLAGS GST_PLUGINS_BASE_LIBS FSL_MM_CORE_CFLAGS FSL_MM_CORE_LIBS VPU_CFLAGS VPU_LIBS IPU_CFLAGS IPU_LIBS asf_arm9_SONAME asf_arm11_SONAME avi_arm9_SONAME avi_arm11_SONAME flv_arm9_SONAME flv_arm11_SONAME mpg2_arm9_SONAME mpg2_arm11_SONAME mp4_arm9_SONAME mp4_arm11_SONAME mkv_arm9_SONAME mkv_arm11_SONAME ogg_arm9_SONAME ogg_arm11_SONAME plugindir GST_PLUGIN_LDFLAGS PLATFORM_IS_MX2X_TRUE PLATFORM_IS_MX2X_FALSE PLATFORM_IS_MX233_TRUE PLATFORM_IS_MX233_FALSE PLATFORM_IS_MX25_TRUE PLATFORM_IS_MX25_FALSE PLATFORM_IS_MX27_TRUE PLATFORM_IS_MX27_FALSE PLATFORM_IS_MX28_TRUE PLATFORM_IS_MX28_FALSE PLATFORM_IS_MX3X_TRUE PLATFORM_IS_MX3X_FALSE PLATFORM_IS_MX31_TRUE PLATFORM_IS_MX31_FALSE PLATFORM_IS_MX35_TRUE PLATFORM_IS_MX35_FALSE PLATFORM_IS_MX37_TRUE PLATFORM_IS_MX37_FALSE PLATFORM_IS_MX5X_TRUE PLATFORM_IS_MX5X_FALSE PLATFORM_IS_MX51_TRUE PLATFORM_IS_MX51_FALSE PLATFORM_IS_MX53_TRUE PLATFORM_IS_MX53_FALSE PLATFORM_IS_MX50_TRUE PLATFORM_IS_MX50_FALSE PLATFORM_IS_MX6X_TRUE PLATFORM_IS_MX6X_FALSE LTIBBUILD_TRUE LTIBBUILD_FALSE USE_AAC_DEC_TRUE USE_AAC_DEC_FALSE USE_AACP_DEC_TRUE USE_AACP_DEC_FALSE USE_BSAC_DEC_TRUE USE_BSAC_DEC_FALSE USE_MP3_DEC_TRUE USE_MP3_DEC_FALSE USE_MP3_ENC_TRUE USE_MP3_ENC_FALSE USE_VORBIS_DEC_TRUE USE_VORBIS_DEC_FALSE USE_WMA10_DEC_TRUE USE_WMA10_DEC_FALSE USE_DOWNMIX_TRUE USE_DOWNMIX_FALSE USE_WMA8_ENC_TRUE USE_WMA8_ENC_FALSE USE_AC3_DEC_TRUE USE_AC3_DEC_FALSE USE_H264_DEC_TRUE USE_H264_DEC_FALSE USE_MPEG4_DEC_TRUE USE_MPEG4_DEC_FALSE USE_MPEG2_DEC_TRUE USE_MPEG2_DEC_FALSE USE_WMV9MP_DEC_TRUE USE_WMV9MP_DEC_FALSE USE_WMV78_DEC_TRUE USE_WMV78_DEC_FALSE USE_X11_TRUE USE_X11_FALSE GSTMXLIBS_VERSION LIBOBJS LTLIBOBJS'
|
|
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar ACLOCAL_AMFLAGS MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT BUILD_GCC_TRUE BUILD_GCC_FALSE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE build build_cpu build_vendor build_os host host_cpu host_vendor host_os SED EGREP LN_S ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB CPP CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL HAVE_PKGCONFIG PLATFORM PKG_CONFIG ac_pt_PKG_CONFIG GST_CFLAGS GST_LIBS GST_MAJORMINOR GST_BASE_CFLAGS GST_BASE_LIBS GST_PLUGINS_BASE_CFLAGS GST_PLUGINS_BASE_LIBS FSL_MM_CORE_CFLAGS FSL_MM_CORE_LIBS VPU_CFLAGS VPU_LIBS IPU_CFLAGS IPU_LIBS asf_arm9_SONAME asf_arm11_SONAME avi_arm9_SONAME avi_arm11_SONAME flv_arm9_SONAME flv_arm11_SONAME mpg2_arm9_SONAME mpg2_arm11_SONAME mp4_arm9_SONAME mp4_arm11_SONAME mkv_arm9_SONAME mkv_arm11_SONAME ogg_arm9_SONAME ogg_arm11_SONAME plugindir GST_PLUGIN_LDFLAGS PLATFORM_IS_MX2X_TRUE PLATFORM_IS_MX2X_FALSE PLATFORM_IS_MX233_TRUE PLATFORM_IS_MX233_FALSE PLATFORM_IS_MX25_TRUE PLATFORM_IS_MX25_FALSE PLATFORM_IS_MX27_TRUE PLATFORM_IS_MX27_FALSE PLATFORM_IS_MX28_TRUE PLATFORM_IS_MX28_FALSE PLATFORM_IS_MX3X_TRUE PLATFORM_IS_MX3X_FALSE PLATFORM_IS_MX31_TRUE PLATFORM_IS_MX31_FALSE PLATFORM_IS_MX35_TRUE PLATFORM_IS_MX35_FALSE PLATFORM_IS_MX37_TRUE PLATFORM_IS_MX37_FALSE PLATFORM_IS_MX5X_TRUE PLATFORM_IS_MX5X_FALSE PLATFORM_IS_MX51_TRUE PLATFORM_IS_MX51_FALSE PLATFORM_IS_MX53_TRUE PLATFORM_IS_MX53_FALSE PLATFORM_IS_MX50_TRUE PLATFORM_IS_MX50_FALSE PLATFORM_IS_MX6X_TRUE PLATFORM_IS_MX6X_FALSE LTIBBUILD_TRUE LTIBBUILD_FALSE USE_AAC_DEC_TRUE USE_AAC_DEC_FALSE USE_AACP_DEC_TRUE USE_AACP_DEC_FALSE USE_BSAC_DEC_TRUE USE_BSAC_DEC_FALSE USE_MP3_DEC_TRUE USE_MP3_DEC_FALSE USE_MP3_ENC_TRUE USE_MP3_ENC_FALSE USE_VORBIS_DEC_TRUE USE_VORBIS_DEC_FALSE USE_WMA10_DEC_TRUE USE_WMA10_DEC_FALSE USE_DOWNMIX_TRUE USE_DOWNMIX_FALSE USE_WMA8_ENC_TRUE USE_WMA8_ENC_FALSE USE_AC3_DEC_TRUE USE_AC3_DEC_FALSE USE_H264_DEC_TRUE USE_H264_DEC_FALSE USE_MPEG4_DEC_TRUE USE_MPEG4_DEC_FALSE USE_MPEG2_DEC_TRUE USE_MPEG2_DEC_FALSE USE_WMV9MP_DEC_TRUE USE_WMV9MP_DEC_FALSE USE_WMV78_DEC_TRUE USE_WMV78_DEC_FALSE USE_X11_TRUE USE_X11_FALSE GSTMXLIBS_VERSION LIBOBJS LTLIBOBJS'
|
|
ac_subst_files=''
|
|
|
|
# Initialize some variables set by options.
|
|
@@ -1003,7 +1005,7 @@ if test "$ac_init_help" = "long"; then
|
|
# Omit some internal or obsolete options to make the list less imposing.
|
|
# This message is too long to be a string in the A/UX 3.1 sh.
|
|
cat <<_ACEOF
|
|
-\`configure' configures this package to adapt to many kinds of systems.
|
|
+\`configure' configures GStreamer i.MX Plug-ins 2.0.3 to adapt to many kinds of systems.
|
|
|
|
Usage: $0 [OPTION]... [VAR=VALUE]...
|
|
|
|
@@ -1068,7 +1070,9 @@ _ACEOF
|
|
fi
|
|
|
|
if test -n "$ac_init_help"; then
|
|
-
|
|
+ case $ac_init_help in
|
|
+ short | recursive ) echo "Configuration of GStreamer i.MX Plug-ins 2.0.3:";;
|
|
+ esac
|
|
cat <<\_ACEOF
|
|
|
|
Optional Features:
|
|
@@ -1147,6 +1151,7 @@ Some influential environment variables:
|
|
Use these variables to override the choices made by `configure' or to help
|
|
it to find libraries and programs with nonstandard names/locations.
|
|
|
|
+Report bugs to <http://www.freescale.com>.
|
|
_ACEOF
|
|
fi
|
|
|
|
@@ -1242,6 +1247,8 @@ fi
|
|
test -n "$ac_init_help" && exit 0
|
|
if $ac_init_version; then
|
|
cat <<\_ACEOF
|
|
+GStreamer i.MX Plug-ins configure 2.0.3
|
|
+generated by GNU Autoconf 2.59
|
|
|
|
Copyright (C) 2003 Free Software Foundation, Inc.
|
|
This configure script is free software; the Free Software Foundation
|
|
@@ -1254,7 +1261,7 @@ cat >&5 <<_ACEOF
|
|
This file contains any messages produced by compilers while
|
|
running configure, to aid debugging if configure makes a mistake.
|
|
|
|
-It was created by $as_me, which was
|
|
+It was created by GStreamer i.MX Plug-ins $as_me 2.0.3, which was
|
|
generated by GNU Autoconf 2.59. Invocation command line was
|
|
|
|
$ $0 $@
|
|
@@ -1592,40 +1599,6 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
|
|
|
|
|
|
|
|
-
|
|
-
|
|
-
|
|
-
|
|
-
|
|
-
|
|
-
|
|
-
|
|
-
|
|
-echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5
|
|
-echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6
|
|
- # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
|
|
-if test "${enable_maintainer_mode+set}" = set; then
|
|
- enableval="$enable_maintainer_mode"
|
|
- USE_MAINTAINER_MODE=$enableval
|
|
-else
|
|
- USE_MAINTAINER_MODE=no
|
|
-fi;
|
|
- echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5
|
|
-echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6
|
|
-
|
|
-
|
|
-if test $USE_MAINTAINER_MODE = yes; then
|
|
- MAINTAINER_MODE_TRUE=
|
|
- MAINTAINER_MODE_FALSE='#'
|
|
-else
|
|
- MAINTAINER_MODE_TRUE='#'
|
|
- MAINTAINER_MODE_FALSE=
|
|
-fi
|
|
-
|
|
- MAINT=$MAINTAINER_MODE_TRUE
|
|
-
|
|
-
|
|
-
|
|
am__api_version="1.9"
|
|
ac_aux_dir=
|
|
for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
|
|
@@ -1932,8 +1905,8 @@ fi
|
|
|
|
|
|
# Define the identity of the package.
|
|
- PACKAGE=$PACKAGE
|
|
- VERSION=$VERSION
|
|
+ PACKAGE=gst-fsl-plugins
|
|
+ VERSION=2.0.3
|
|
|
|
|
|
cat >>confdefs.h <<_ACEOF
|
|
@@ -2064,6 +2037,53 @@ am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
|
|
|
|
|
|
|
|
+
|
|
+ACLOCAL_AMFLAGS="-I m4"
|
|
+
|
|
+
|
|
+
|
|
+
|
|
+
|
|
+
|
|
+
|
|
+
|
|
+
|
|
+
|
|
+
|
|
+
|
|
+
|
|
+
|
|
+
|
|
+
|
|
+
|
|
+
|
|
+
|
|
+
|
|
+echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5
|
|
+echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6
|
|
+ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
|
|
+if test "${enable_maintainer_mode+set}" = set; then
|
|
+ enableval="$enable_maintainer_mode"
|
|
+ USE_MAINTAINER_MODE=$enableval
|
|
+else
|
|
+ USE_MAINTAINER_MODE=no
|
|
+fi;
|
|
+ echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5
|
|
+echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6
|
|
+
|
|
+
|
|
+if test $USE_MAINTAINER_MODE = yes; then
|
|
+ MAINTAINER_MODE_TRUE=
|
|
+ MAINTAINER_MODE_FALSE='#'
|
|
+else
|
|
+ MAINTAINER_MODE_TRUE='#'
|
|
+ MAINTAINER_MODE_FALSE=
|
|
+fi
|
|
+
|
|
+ MAINT=$MAINTAINER_MODE_TRUE
|
|
+
|
|
+
|
|
+
|
|
my_add_modules=
|
|
echo "$as_me:$LINENO: checking for generating Plugins for gcc" >&5
|
|
echo $ECHO_N "checking for generating Plugins for gcc... $ECHO_C" >&6
|
|
@@ -2099,8 +2119,6 @@ else
|
|
BUILD_GCC_FALSE=
|
|
fi
|
|
|
|
-ACLOCAL_AMFLAGS="-I m4"
|
|
-
|
|
|
|
|
|
|
|
@@ -3208,6 +3226,109 @@ else
|
|
fi
|
|
|
|
|
|
+if test "x$CC" != xcc; then
|
|
+ echo "$as_me:$LINENO: checking whether $CC and cc understand -c and -o together" >&5
|
|
+echo $ECHO_N "checking whether $CC and cc understand -c and -o together... $ECHO_C" >&6
|
|
+else
|
|
+ echo "$as_me:$LINENO: checking whether cc understands -c and -o together" >&5
|
|
+echo $ECHO_N "checking whether cc understands -c and -o together... $ECHO_C" >&6
|
|
+fi
|
|
+set dummy $CC; ac_cc=`echo $2 |
|
|
+ sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
|
|
+if eval "test \"\${ac_cv_prog_cc_${ac_cc}_c_o+set}\" = set"; then
|
|
+ echo $ECHO_N "(cached) $ECHO_C" >&6
|
|
+else
|
|
+ cat >conftest.$ac_ext <<_ACEOF
|
|
+/* confdefs.h. */
|
|
+_ACEOF
|
|
+cat confdefs.h >>conftest.$ac_ext
|
|
+cat >>conftest.$ac_ext <<_ACEOF
|
|
+/* end confdefs.h. */
|
|
+
|
|
+int
|
|
+main ()
|
|
+{
|
|
+
|
|
+ ;
|
|
+ return 0;
|
|
+}
|
|
+_ACEOF
|
|
+# Make sure it works both with $CC and with simple cc.
|
|
+# We do the test twice because some compilers refuse to overwrite an
|
|
+# existing .o file with -o, though they will create one.
|
|
+ac_try='$CC -c conftest.$ac_ext -o conftest.$ac_objext >&5'
|
|
+if { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
|
+ (eval $ac_try) 2>&5
|
|
+ ac_status=$?
|
|
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
|
+ (exit $ac_status); } &&
|
|
+ test -f conftest.$ac_objext && { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
|
+ (eval $ac_try) 2>&5
|
|
+ ac_status=$?
|
|
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
|
+ (exit $ac_status); };
|
|
+then
|
|
+ eval ac_cv_prog_cc_${ac_cc}_c_o=yes
|
|
+ if test "x$CC" != xcc; then
|
|
+ # Test first that cc exists at all.
|
|
+ if { ac_try='cc -c conftest.$ac_ext >&5'
|
|
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
|
+ (eval $ac_try) 2>&5
|
|
+ ac_status=$?
|
|
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
|
+ (exit $ac_status); }; }; then
|
|
+ ac_try='cc -c conftest.$ac_ext -o conftest.$ac_objext >&5'
|
|
+ if { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
|
+ (eval $ac_try) 2>&5
|
|
+ ac_status=$?
|
|
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
|
+ (exit $ac_status); } &&
|
|
+ test -f conftest.$ac_objext && { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
|
+ (eval $ac_try) 2>&5
|
|
+ ac_status=$?
|
|
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
|
+ (exit $ac_status); };
|
|
+ then
|
|
+ # cc works too.
|
|
+ :
|
|
+ else
|
|
+ # cc exists but doesn't like -o.
|
|
+ eval ac_cv_prog_cc_${ac_cc}_c_o=no
|
|
+ fi
|
|
+ fi
|
|
+ fi
|
|
+else
|
|
+ eval ac_cv_prog_cc_${ac_cc}_c_o=no
|
|
+fi
|
|
+rm -f conftest*
|
|
+
|
|
+fi
|
|
+if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" = yes"; then
|
|
+ echo "$as_me:$LINENO: result: yes" >&5
|
|
+echo "${ECHO_T}yes" >&6
|
|
+else
|
|
+ echo "$as_me:$LINENO: result: no" >&5
|
|
+echo "${ECHO_T}no" >&6
|
|
+
|
|
+cat >>confdefs.h <<\_ACEOF
|
|
+#define NO_MINUS_C_MINUS_O 1
|
|
+_ACEOF
|
|
+
|
|
+fi
|
|
+
|
|
+# FIXME: we rely on the cache variable name because
|
|
+# there is no other way.
|
|
+set dummy $CC
|
|
+ac_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
|
|
+if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" != yes"; then
|
|
+ # Losing compiler, so override with the script.
|
|
+ # FIXME: It is wrong to rewrite CC.
|
|
+ # But if we don't then we get into trouble of one sort or another.
|
|
+ # A longer-term fix would be to have automake use am__CC in this case,
|
|
+ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
|
|
+ CC="$am_aux_dir/compile $CC"
|
|
+fi
|
|
+
|
|
# Check whether --enable-shared or --disable-shared was given.
|
|
if test "${enable_shared+set}" = set; then
|
|
enableval="$enable_shared"
|
|
@@ -3830,7 +3951,7 @@ ia64-*-hpux*)
|
|
;;
|
|
*-*-irix6*)
|
|
# Find out which ABI we are using.
|
|
- echo '#line 3833 "configure"' > conftest.$ac_ext
|
|
+ echo '#line 3954 "configure"' > conftest.$ac_ext
|
|
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
|
|
(eval $ac_compile) 2>&5
|
|
ac_status=$?
|
|
@@ -4607,9 +4728,9 @@ echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&
|
|
echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
|
|
(
|
|
cat <<\_ASBOX
|
|
-## ------------------------------------------ ##
|
|
-## Report this to the AC_PACKAGE_NAME lists. ##
|
|
-## ------------------------------------------ ##
|
|
+## --------------------------------------- ##
|
|
+## Report this to http://www.freescale.com ##
|
|
+## --------------------------------------- ##
|
|
_ASBOX
|
|
) |
|
|
sed "s/^/$as_me: WARNING: /" >&2
|
|
@@ -5429,7 +5550,7 @@ fi
|
|
|
|
|
|
# Provide some information about the compiler.
|
|
-echo "$as_me:5432:" \
|
|
+echo "$as_me:5553:" \
|
|
"checking for Fortran 77 compiler version" >&5
|
|
ac_compiler=`set X $ac_compile; echo $2`
|
|
{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
|
|
@@ -6492,11 +6613,11 @@ else
|
|
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
|
|
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
|
|
-e 's:$: $lt_compiler_flag:'`
|
|
- (eval echo "\"\$as_me:6495: $lt_compile\"" >&5)
|
|
+ (eval echo "\"\$as_me:6616: $lt_compile\"" >&5)
|
|
(eval "$lt_compile" 2>conftest.err)
|
|
ac_status=$?
|
|
cat conftest.err >&5
|
|
- echo "$as_me:6499: \$? = $ac_status" >&5
|
|
+ echo "$as_me:6620: \$? = $ac_status" >&5
|
|
if (exit $ac_status) && test -s "$ac_outfile"; then
|
|
# The compiler can only warn and ignore the option if not recognized
|
|
# So say no if there are warnings other than the usual output.
|
|
@@ -6760,11 +6881,11 @@ else
|
|
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
|
|
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
|
|
-e 's:$: $lt_compiler_flag:'`
|
|
- (eval echo "\"\$as_me:6763: $lt_compile\"" >&5)
|
|
+ (eval echo "\"\$as_me:6884: $lt_compile\"" >&5)
|
|
(eval "$lt_compile" 2>conftest.err)
|
|
ac_status=$?
|
|
cat conftest.err >&5
|
|
- echo "$as_me:6767: \$? = $ac_status" >&5
|
|
+ echo "$as_me:6888: \$? = $ac_status" >&5
|
|
if (exit $ac_status) && test -s "$ac_outfile"; then
|
|
# The compiler can only warn and ignore the option if not recognized
|
|
# So say no if there are warnings other than the usual output.
|
|
@@ -6864,11 +6985,11 @@ else
|
|
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
|
|
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
|
|
-e 's:$: $lt_compiler_flag:'`
|
|
- (eval echo "\"\$as_me:6867: $lt_compile\"" >&5)
|
|
+ (eval echo "\"\$as_me:6988: $lt_compile\"" >&5)
|
|
(eval "$lt_compile" 2>out/conftest.err)
|
|
ac_status=$?
|
|
cat out/conftest.err >&5
|
|
- echo "$as_me:6871: \$? = $ac_status" >&5
|
|
+ echo "$as_me:6992: \$? = $ac_status" >&5
|
|
if (exit $ac_status) && test -s out/conftest2.$ac_objext
|
|
then
|
|
# The compiler can only warn and ignore the option if not recognized
|
|
@@ -8333,7 +8454,7 @@ linux*)
|
|
libsuff=
|
|
case "$host_cpu" in
|
|
x86_64*|s390x*|powerpc64*)
|
|
- echo '#line 8336 "configure"' > conftest.$ac_ext
|
|
+ echo '#line 8457 "configure"' > conftest.$ac_ext
|
|
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
|
|
(eval $ac_compile) 2>&5
|
|
ac_status=$?
|
|
@@ -9230,7 +9351,7 @@ else
|
|
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
|
lt_status=$lt_dlunknown
|
|
cat > conftest.$ac_ext <<EOF
|
|
-#line 9233 "configure"
|
|
+#line 9354 "configure"
|
|
#include "confdefs.h"
|
|
|
|
#if HAVE_DLFCN_H
|
|
@@ -9330,7 +9451,7 @@ else
|
|
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
|
lt_status=$lt_dlunknown
|
|
cat > conftest.$ac_ext <<EOF
|
|
-#line 9333 "configure"
|
|
+#line 9454 "configure"
|
|
#include "confdefs.h"
|
|
|
|
#if HAVE_DLFCN_H
|
|
@@ -11673,11 +11794,11 @@ else
|
|
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
|
|
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
|
|
-e 's:$: $lt_compiler_flag:'`
|
|
- (eval echo "\"\$as_me:11676: $lt_compile\"" >&5)
|
|
+ (eval echo "\"\$as_me:11797: $lt_compile\"" >&5)
|
|
(eval "$lt_compile" 2>conftest.err)
|
|
ac_status=$?
|
|
cat conftest.err >&5
|
|
- echo "$as_me:11680: \$? = $ac_status" >&5
|
|
+ echo "$as_me:11801: \$? = $ac_status" >&5
|
|
if (exit $ac_status) && test -s "$ac_outfile"; then
|
|
# The compiler can only warn and ignore the option if not recognized
|
|
# So say no if there are warnings other than the usual output.
|
|
@@ -11777,11 +11898,11 @@ else
|
|
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
|
|
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
|
|
-e 's:$: $lt_compiler_flag:'`
|
|
- (eval echo "\"\$as_me:11780: $lt_compile\"" >&5)
|
|
+ (eval echo "\"\$as_me:11901: $lt_compile\"" >&5)
|
|
(eval "$lt_compile" 2>out/conftest.err)
|
|
ac_status=$?
|
|
cat out/conftest.err >&5
|
|
- echo "$as_me:11784: \$? = $ac_status" >&5
|
|
+ echo "$as_me:11905: \$? = $ac_status" >&5
|
|
if (exit $ac_status) && test -s out/conftest2.$ac_objext
|
|
then
|
|
# The compiler can only warn and ignore the option if not recognized
|
|
@@ -12313,7 +12434,7 @@ linux*)
|
|
libsuff=
|
|
case "$host_cpu" in
|
|
x86_64*|s390x*|powerpc64*)
|
|
- echo '#line 12316 "configure"' > conftest.$ac_ext
|
|
+ echo '#line 12437 "configure"' > conftest.$ac_ext
|
|
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
|
|
(eval $ac_compile) 2>&5
|
|
ac_status=$?
|
|
@@ -13371,11 +13492,11 @@ else
|
|
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
|
|
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
|
|
-e 's:$: $lt_compiler_flag:'`
|
|
- (eval echo "\"\$as_me:13374: $lt_compile\"" >&5)
|
|
+ (eval echo "\"\$as_me:13495: $lt_compile\"" >&5)
|
|
(eval "$lt_compile" 2>conftest.err)
|
|
ac_status=$?
|
|
cat conftest.err >&5
|
|
- echo "$as_me:13378: \$? = $ac_status" >&5
|
|
+ echo "$as_me:13499: \$? = $ac_status" >&5
|
|
if (exit $ac_status) && test -s "$ac_outfile"; then
|
|
# The compiler can only warn and ignore the option if not recognized
|
|
# So say no if there are warnings other than the usual output.
|
|
@@ -13475,11 +13596,11 @@ else
|
|
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
|
|
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
|
|
-e 's:$: $lt_compiler_flag:'`
|
|
- (eval echo "\"\$as_me:13478: $lt_compile\"" >&5)
|
|
+ (eval echo "\"\$as_me:13599: $lt_compile\"" >&5)
|
|
(eval "$lt_compile" 2>out/conftest.err)
|
|
ac_status=$?
|
|
cat out/conftest.err >&5
|
|
- echo "$as_me:13482: \$? = $ac_status" >&5
|
|
+ echo "$as_me:13603: \$? = $ac_status" >&5
|
|
if (exit $ac_status) && test -s out/conftest2.$ac_objext
|
|
then
|
|
# The compiler can only warn and ignore the option if not recognized
|
|
@@ -14924,7 +15045,7 @@ linux*)
|
|
libsuff=
|
|
case "$host_cpu" in
|
|
x86_64*|s390x*|powerpc64*)
|
|
- echo '#line 14927 "configure"' > conftest.$ac_ext
|
|
+ echo '#line 15048 "configure"' > conftest.$ac_ext
|
|
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
|
|
(eval $ac_compile) 2>&5
|
|
ac_status=$?
|
|
@@ -15702,11 +15823,11 @@ else
|
|
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
|
|
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
|
|
-e 's:$: $lt_compiler_flag:'`
|
|
- (eval echo "\"\$as_me:15705: $lt_compile\"" >&5)
|
|
+ (eval echo "\"\$as_me:15826: $lt_compile\"" >&5)
|
|
(eval "$lt_compile" 2>conftest.err)
|
|
ac_status=$?
|
|
cat conftest.err >&5
|
|
- echo "$as_me:15709: \$? = $ac_status" >&5
|
|
+ echo "$as_me:15830: \$? = $ac_status" >&5
|
|
if (exit $ac_status) && test -s "$ac_outfile"; then
|
|
# The compiler can only warn and ignore the option if not recognized
|
|
# So say no if there are warnings other than the usual output.
|
|
@@ -15970,11 +16091,11 @@ else
|
|
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
|
|
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
|
|
-e 's:$: $lt_compiler_flag:'`
|
|
- (eval echo "\"\$as_me:15973: $lt_compile\"" >&5)
|
|
+ (eval echo "\"\$as_me:16094: $lt_compile\"" >&5)
|
|
(eval "$lt_compile" 2>conftest.err)
|
|
ac_status=$?
|
|
cat conftest.err >&5
|
|
- echo "$as_me:15977: \$? = $ac_status" >&5
|
|
+ echo "$as_me:16098: \$? = $ac_status" >&5
|
|
if (exit $ac_status) && test -s "$ac_outfile"; then
|
|
# The compiler can only warn and ignore the option if not recognized
|
|
# So say no if there are warnings other than the usual output.
|
|
@@ -16074,11 +16195,11 @@ else
|
|
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
|
|
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
|
|
-e 's:$: $lt_compiler_flag:'`
|
|
- (eval echo "\"\$as_me:16077: $lt_compile\"" >&5)
|
|
+ (eval echo "\"\$as_me:16198: $lt_compile\"" >&5)
|
|
(eval "$lt_compile" 2>out/conftest.err)
|
|
ac_status=$?
|
|
cat out/conftest.err >&5
|
|
- echo "$as_me:16081: \$? = $ac_status" >&5
|
|
+ echo "$as_me:16202: \$? = $ac_status" >&5
|
|
if (exit $ac_status) && test -s out/conftest2.$ac_objext
|
|
then
|
|
# The compiler can only warn and ignore the option if not recognized
|
|
@@ -17543,7 +17664,7 @@ linux*)
|
|
libsuff=
|
|
case "$host_cpu" in
|
|
x86_64*|s390x*|powerpc64*)
|
|
- echo '#line 17546 "configure"' > conftest.$ac_ext
|
|
+ echo '#line 17667 "configure"' > conftest.$ac_ext
|
|
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
|
|
(eval $ac_compile) 2>&5
|
|
ac_status=$?
|
|
@@ -20097,9 +20218,9 @@ echo "$as_me: WARNING: aacd_dec_interface.h: proceeding with the preprocessor's
|
|
echo "$as_me: WARNING: aacd_dec_interface.h: in the future, the compiler will take precedence" >&2;}
|
|
(
|
|
cat <<\_ASBOX
|
|
-## ------------------------------------------ ##
|
|
-## Report this to the AC_PACKAGE_NAME lists. ##
|
|
-## ------------------------------------------ ##
|
|
+## --------------------------------------- ##
|
|
+## Report this to http://www.freescale.com ##
|
|
+## --------------------------------------- ##
|
|
_ASBOX
|
|
) |
|
|
sed "s/^/$as_me: WARNING: /" >&2
|
|
@@ -20331,9 +20452,9 @@ echo "$as_me: WARNING: aacplus_dec_interface.h: proceeding with the preprocessor
|
|
echo "$as_me: WARNING: aacplus_dec_interface.h: in the future, the compiler will take precedence" >&2;}
|
|
(
|
|
cat <<\_ASBOX
|
|
-## ------------------------------------------ ##
|
|
-## Report this to the AC_PACKAGE_NAME lists. ##
|
|
-## ------------------------------------------ ##
|
|
+## --------------------------------------- ##
|
|
+## Report this to http://www.freescale.com ##
|
|
+## --------------------------------------- ##
|
|
_ASBOX
|
|
) |
|
|
sed "s/^/$as_me: WARNING: /" >&2
|
|
@@ -20565,9 +20686,9 @@ echo "$as_me: WARNING: bsacd_dec_interface.h: proceeding with the preprocessor's
|
|
echo "$as_me: WARNING: bsacd_dec_interface.h: in the future, the compiler will take precedence" >&2;}
|
|
(
|
|
cat <<\_ASBOX
|
|
-## ------------------------------------------ ##
|
|
-## Report this to the AC_PACKAGE_NAME lists. ##
|
|
-## ------------------------------------------ ##
|
|
+## --------------------------------------- ##
|
|
+## Report this to http://www.freescale.com ##
|
|
+## --------------------------------------- ##
|
|
_ASBOX
|
|
) |
|
|
sed "s/^/$as_me: WARNING: /" >&2
|
|
@@ -20799,9 +20920,9 @@ echo "$as_me: WARNING: mp3_dec_interface.h: proceeding with the preprocessor's r
|
|
echo "$as_me: WARNING: mp3_dec_interface.h: in the future, the compiler will take precedence" >&2;}
|
|
(
|
|
cat <<\_ASBOX
|
|
-## ------------------------------------------ ##
|
|
-## Report this to the AC_PACKAGE_NAME lists. ##
|
|
-## ------------------------------------------ ##
|
|
+## --------------------------------------- ##
|
|
+## Report this to http://www.freescale.com ##
|
|
+## --------------------------------------- ##
|
|
_ASBOX
|
|
) |
|
|
sed "s/^/$as_me: WARNING: /" >&2
|
|
@@ -21034,9 +21155,9 @@ echo "$as_me: WARNING: mp3_enc_interface.h: proceeding with the preprocessor's r
|
|
echo "$as_me: WARNING: mp3_enc_interface.h: in the future, the compiler will take precedence" >&2;}
|
|
(
|
|
cat <<\_ASBOX
|
|
-## ------------------------------------------ ##
|
|
-## Report this to the AC_PACKAGE_NAME lists. ##
|
|
-## ------------------------------------------ ##
|
|
+## --------------------------------------- ##
|
|
+## Report this to http://www.freescale.com ##
|
|
+## --------------------------------------- ##
|
|
_ASBOX
|
|
) |
|
|
sed "s/^/$as_me: WARNING: /" >&2
|
|
@@ -21270,9 +21391,9 @@ echo "$as_me: WARNING: oggvorbis_dec_api.h: proceeding with the preprocessor's r
|
|
echo "$as_me: WARNING: oggvorbis_dec_api.h: in the future, the compiler will take precedence" >&2;}
|
|
(
|
|
cat <<\_ASBOX
|
|
-## ------------------------------------------ ##
|
|
-## Report this to the AC_PACKAGE_NAME lists. ##
|
|
-## ------------------------------------------ ##
|
|
+## --------------------------------------- ##
|
|
+## Report this to http://www.freescale.com ##
|
|
+## --------------------------------------- ##
|
|
_ASBOX
|
|
) |
|
|
sed "s/^/$as_me: WARNING: /" >&2
|
|
@@ -21505,9 +21626,9 @@ echo "$as_me: WARNING: wma10_dec/wma10_dec_interface.h: proceeding with the prep
|
|
echo "$as_me: WARNING: wma10_dec/wma10_dec_interface.h: in the future, the compiler will take precedence" >&2;}
|
|
(
|
|
cat <<\_ASBOX
|
|
-## ------------------------------------------ ##
|
|
-## Report this to the AC_PACKAGE_NAME lists. ##
|
|
-## ------------------------------------------ ##
|
|
+## --------------------------------------- ##
|
|
+## Report this to http://www.freescale.com ##
|
|
+## --------------------------------------- ##
|
|
_ASBOX
|
|
) |
|
|
sed "s/^/$as_me: WARNING: /" >&2
|
|
@@ -21740,9 +21861,9 @@ echo "$as_me: WARNING: downmix_dec_interface.h: proceeding with the preprocessor
|
|
echo "$as_me: WARNING: downmix_dec_interface.h: in the future, the compiler will take precedence" >&2;}
|
|
(
|
|
cat <<\_ASBOX
|
|
-## ------------------------------------------ ##
|
|
-## Report this to the AC_PACKAGE_NAME lists. ##
|
|
-## ------------------------------------------ ##
|
|
+## --------------------------------------- ##
|
|
+## Report this to http://www.freescale.com ##
|
|
+## --------------------------------------- ##
|
|
_ASBOX
|
|
) |
|
|
sed "s/^/$as_me: WARNING: /" >&2
|
|
@@ -21975,9 +22096,9 @@ echo "$as_me: WARNING: wma8_enc_interface.h: proceeding with the preprocessor's
|
|
echo "$as_me: WARNING: wma8_enc_interface.h: in the future, the compiler will take precedence" >&2;}
|
|
(
|
|
cat <<\_ASBOX
|
|
-## ------------------------------------------ ##
|
|
-## Report this to the AC_PACKAGE_NAME lists. ##
|
|
-## ------------------------------------------ ##
|
|
+## --------------------------------------- ##
|
|
+## Report this to http://www.freescale.com ##
|
|
+## --------------------------------------- ##
|
|
_ASBOX
|
|
) |
|
|
sed "s/^/$as_me: WARNING: /" >&2
|
|
@@ -22210,9 +22331,9 @@ echo "$as_me: WARNING: ac3d_dec_interface.h: proceeding with the preprocessor's
|
|
echo "$as_me: WARNING: ac3d_dec_interface.h: in the future, the compiler will take precedence" >&2;}
|
|
(
|
|
cat <<\_ASBOX
|
|
-## ------------------------------------------ ##
|
|
-## Report this to the AC_PACKAGE_NAME lists. ##
|
|
-## ------------------------------------------ ##
|
|
+## --------------------------------------- ##
|
|
+## Report this to http://www.freescale.com ##
|
|
+## --------------------------------------- ##
|
|
_ASBOX
|
|
) |
|
|
sed "s/^/$as_me: WARNING: /" >&2
|
|
@@ -22446,9 +22567,9 @@ echo "$as_me: WARNING: avcd_dec_api.h: proceeding with the preprocessor's result
|
|
echo "$as_me: WARNING: avcd_dec_api.h: in the future, the compiler will take precedence" >&2;}
|
|
(
|
|
cat <<\_ASBOX
|
|
-## ------------------------------------------ ##
|
|
-## Report this to the AC_PACKAGE_NAME lists. ##
|
|
-## ------------------------------------------ ##
|
|
+## --------------------------------------- ##
|
|
+## Report this to http://www.freescale.com ##
|
|
+## --------------------------------------- ##
|
|
_ASBOX
|
|
) |
|
|
sed "s/^/$as_me: WARNING: /" >&2
|
|
@@ -22681,9 +22802,9 @@ echo "$as_me: WARNING: mpeg4_asp_api.h: proceeding with the preprocessor's resul
|
|
echo "$as_me: WARNING: mpeg4_asp_api.h: in the future, the compiler will take precedence" >&2;}
|
|
(
|
|
cat <<\_ASBOX
|
|
-## ------------------------------------------ ##
|
|
-## Report this to the AC_PACKAGE_NAME lists. ##
|
|
-## ------------------------------------------ ##
|
|
+## --------------------------------------- ##
|
|
+## Report this to http://www.freescale.com ##
|
|
+## --------------------------------------- ##
|
|
_ASBOX
|
|
) |
|
|
sed "s/^/$as_me: WARNING: /" >&2
|
|
@@ -22916,9 +23037,9 @@ echo "$as_me: WARNING: mpeg2_dec_api.h: proceeding with the preprocessor's resul
|
|
echo "$as_me: WARNING: mpeg2_dec_api.h: in the future, the compiler will take precedence" >&2;}
|
|
(
|
|
cat <<\_ASBOX
|
|
-## ------------------------------------------ ##
|
|
-## Report this to the AC_PACKAGE_NAME lists. ##
|
|
-## ------------------------------------------ ##
|
|
+## --------------------------------------- ##
|
|
+## Report this to http://www.freescale.com ##
|
|
+## --------------------------------------- ##
|
|
_ASBOX
|
|
) |
|
|
sed "s/^/$as_me: WARNING: /" >&2
|
|
@@ -23151,9 +23272,9 @@ echo "$as_me: WARNING: wmv9mp_dec_api.h: proceeding with the preprocessor's resu
|
|
echo "$as_me: WARNING: wmv9mp_dec_api.h: in the future, the compiler will take precedence" >&2;}
|
|
(
|
|
cat <<\_ASBOX
|
|
-## ------------------------------------------ ##
|
|
-## Report this to the AC_PACKAGE_NAME lists. ##
|
|
-## ------------------------------------------ ##
|
|
+## --------------------------------------- ##
|
|
+## Report this to http://www.freescale.com ##
|
|
+## --------------------------------------- ##
|
|
_ASBOX
|
|
) |
|
|
sed "s/^/$as_me: WARNING: /" >&2
|
|
@@ -23386,9 +23507,9 @@ echo "$as_me: WARNING: wmv789_dec_api.h: proceeding with the preprocessor's resu
|
|
echo "$as_me: WARNING: wmv789_dec_api.h: in the future, the compiler will take precedence" >&2;}
|
|
(
|
|
cat <<\_ASBOX
|
|
-## ------------------------------------------ ##
|
|
-## Report this to the AC_PACKAGE_NAME lists. ##
|
|
-## ------------------------------------------ ##
|
|
+## --------------------------------------- ##
|
|
+## Report this to http://www.freescale.com ##
|
|
+## --------------------------------------- ##
|
|
_ASBOX
|
|
) |
|
|
sed "s/^/$as_me: WARNING: /" >&2
|
|
@@ -23577,9 +23698,9 @@ echo "$as_me: WARNING: X11/Xlib.h: proceeding with the preprocessor's result" >&
|
|
echo "$as_me: WARNING: X11/Xlib.h: in the future, the compiler will take precedence" >&2;}
|
|
(
|
|
cat <<\_ASBOX
|
|
-## ------------------------------------------ ##
|
|
-## Report this to the AC_PACKAGE_NAME lists. ##
|
|
-## ------------------------------------------ ##
|
|
+## --------------------------------------- ##
|
|
+## Report this to http://www.freescale.com ##
|
|
+## --------------------------------------- ##
|
|
_ASBOX
|
|
) |
|
|
sed "s/^/$as_me: WARNING: /" >&2
|
|
@@ -24263,7 +24384,7 @@ _ASBOX
|
|
} >&5
|
|
cat >&5 <<_CSEOF
|
|
|
|
-This file was extended by $as_me, which was
|
|
+This file was extended by GStreamer i.MX Plug-ins $as_me 2.0.3, which was
|
|
generated by GNU Autoconf 2.59. Invocation command line was
|
|
|
|
CONFIG_FILES = $CONFIG_FILES
|
|
@@ -24321,7 +24442,7 @@ _ACEOF
|
|
|
|
cat >>$CONFIG_STATUS <<_ACEOF
|
|
ac_cs_version="\\
|
|
-config.status
|
|
+GStreamer i.MX Plug-ins config.status 2.0.3
|
|
configured by $0, generated by GNU Autoconf 2.59,
|
|
with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
|
|
|
|
@@ -24557,9 +24678,6 @@ s,@ECHO_C@,$ECHO_C,;t t
|
|
s,@ECHO_N@,$ECHO_N,;t t
|
|
s,@ECHO_T@,$ECHO_T,;t t
|
|
s,@LIBS@,$LIBS,;t t
|
|
-s,@MAINTAINER_MODE_TRUE@,$MAINTAINER_MODE_TRUE,;t t
|
|
-s,@MAINTAINER_MODE_FALSE@,$MAINTAINER_MODE_FALSE,;t t
|
|
-s,@MAINT@,$MAINT,;t t
|
|
s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
|
|
s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
|
|
s,@INSTALL_DATA@,$INSTALL_DATA,;t t
|
|
@@ -24582,9 +24700,12 @@ s,@am__leading_dot@,$am__leading_dot,;t t
|
|
s,@AMTAR@,$AMTAR,;t t
|
|
s,@am__tar@,$am__tar,;t t
|
|
s,@am__untar@,$am__untar,;t t
|
|
+s,@ACLOCAL_AMFLAGS@,$ACLOCAL_AMFLAGS,;t t
|
|
+s,@MAINTAINER_MODE_TRUE@,$MAINTAINER_MODE_TRUE,;t t
|
|
+s,@MAINTAINER_MODE_FALSE@,$MAINTAINER_MODE_FALSE,;t t
|
|
+s,@MAINT@,$MAINT,;t t
|
|
s,@BUILD_GCC_TRUE@,$BUILD_GCC_TRUE,;t t
|
|
s,@BUILD_GCC_FALSE@,$BUILD_GCC_FALSE,;t t
|
|
-s,@ACLOCAL_AMFLAGS@,$ACLOCAL_AMFLAGS,;t t
|
|
s,@CC@,$CC,;t t
|
|
s,@CFLAGS@,$CFLAGS,;t t
|
|
s,@LDFLAGS@,$LDFLAGS,;t t
|
|
diff --git a/configure.ac b/configure.ac
|
|
index 1587668..341484d 100755
|
|
--- a/configure.ac
|
|
+++ b/configure.ac
|
|
@@ -1,4 +1,16 @@
|
|
-AC_INIT
|
|
+AC_PREREQ(2.59)
|
|
+
|
|
+dnl initialize autoconf
|
|
+dnl releases only do -Wall, git and prerelease does -Werror too
|
|
+dnl use a three digit version number for releases, and four for git/prerelease
|
|
+AC_INIT(GStreamer i.MX Plug-ins, 2.0.3, http://www.freescale.com)
|
|
+
|
|
+
|
|
+dnl initialize automake
|
|
+AM_INIT_AUTOMAKE(gst-fsl-plugins,2.0.3)
|
|
+
|
|
+
|
|
+AC_SUBST(ACLOCAL_AMFLAGS, "-I m4")
|
|
|
|
AC_DEFUN([FIND_PARSER_SONAME],
|
|
[
|
|
@@ -201,8 +213,6 @@ fi
|
|
dnl AM_MAINTAINER_MODE provides the option to enable maintainer mode
|
|
AM_MAINTAINER_MODE
|
|
|
|
-AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
|
|
-
|
|
dnl Added for BUILD options.
|
|
my_add_modules=
|
|
AC_MSG_CHECKING([for generating Plugins for gcc])
|
|
@@ -223,12 +233,12 @@ AC_ARG_WITH(unix,
|
|
|
|
AM_CONDITIONAL(BUILD_GCC, test $my_build_gcc = yes)
|
|
dnl make aclocal work in maintainer mode
|
|
-AC_SUBST(ACLOCAL_AMFLAGS, "-I m4")
|
|
|
|
|
|
|
|
dnl check for tools
|
|
AC_PROG_CC
|
|
+AM_PROG_CC_C_O
|
|
AC_PROG_LIBTOOL
|
|
|
|
|
|
diff --git a/libs/me/TimeStamp.c b/libs/me/TimeStamp.c
|
|
index 30e7b35..536a94b 100755
|
|
--- a/libs/me/TimeStamp.c
|
|
+++ b/libs/me/TimeStamp.c
|
|
@@ -38,13 +38,34 @@
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
|
|
-
|
|
-#define xDEBUG
|
|
-
|
|
const char *debug_env = "ME_DEBUG";
|
|
char *debug= NULL;
|
|
int debug_level = 0;
|
|
|
|
+enum {
|
|
+ DEBUG_LEVEL_ERROR = 0,
|
|
+ DEBUG_LEVEL_WARNING = 1,
|
|
+ DEBUG_LEVEL_LOG = 2,
|
|
+ DEBUG_LEVEL_VERBOSE = 3,
|
|
+};
|
|
+
|
|
+
|
|
+#define TSM_MESSAGE(level, fmt, ...)\
|
|
+ do{\
|
|
+ if (debug_level>=(level)){\
|
|
+ printf("TSM:"fmt, ##__VA_ARGS__);\
|
|
+ }\
|
|
+ }while(0)
|
|
+
|
|
+#define TSM_ERROR(...) TSM_MESSAGE(DEBUG_LEVEL_ERROR, ##__VA_ARGS__)
|
|
+#define TSM_WARNING(...) TSM_MESSAGE(DEBUG_LEVEL_WARNING, ##__VA_ARGS__)
|
|
+#define TSM_LOG(...) TSM_MESSAGE(DEBUG_LEVEL_LOG, ##__VA_ARGS__)
|
|
+#define TSM_VERBOSE(...) TSM_MESSAGE(DEBUG_LEVEL_VERBOSE, ##__VA_ARGS__)
|
|
+
|
|
+
|
|
+
|
|
+
|
|
+
|
|
#define TSM_HISTORY_POWER 5
|
|
#define TSM_HISTORY_SIZE (1<<TSM_HISTORY_POWER)
|
|
#define TSM_ADAPTIVE_INTERVAL(tsm) \
|
|
@@ -106,10 +127,9 @@ typedef struct _TSManager
|
|
TSM_TIMESTAMP dur_history_buf[TSM_HISTORY_SIZE];
|
|
TSMControl * ts_buf;
|
|
unsigned long long age;
|
|
-//#ifdef DEBUG
|
|
int tx_cnt;
|
|
int rx_cnt;
|
|
-//#endif
|
|
+ int cnt;
|
|
} TSManager;
|
|
|
|
|
|
@@ -131,33 +151,34 @@ void TSManagerReceive(void * handle, TSM_TIMESTAMP timestamp)
|
|
TSManager * tsm = (TSManager *)handle;
|
|
|
|
if (tsm){
|
|
- if (tsm->mode==MODE_AI){
|
|
-
|
|
- if (TSM_TS_IS_VALID (timestamp) && (TSM_ABS(timestamp, tsm->last_ts_sent)<TSM_SECOND*10))
|
|
- {
|
|
- tsm->ts_buf[tsm->rx].ts = timestamp;
|
|
- tsm->ts_buf[tsm->rx].age = tsm->age+TSM_PLUS_AGE(tsm);
|
|
- #ifdef DEBUG
|
|
- //printf("age should %lld %lld\n", tsm->age, tsm->ts_buf[tsm->rx].age);
|
|
- //printf("++++++ distance = %d tx=%d, rx=%d, invalid count=%d\n", TSM_DISTANCE(tsm), tsm->tx, tsm->rx,tsm->invalid_ts_count);
|
|
- #endif
|
|
- tsm->rx = ((tsm->rx + 1) % tsm->ts_buf_size);
|
|
- }
|
|
- else {
|
|
- tsm->invalid_ts_count++;
|
|
- }
|
|
- }else if (tsm->mode==MODE_FIFO){
|
|
- tsm->ts_buf[tsm->rx].ts = timestamp;
|
|
- tsm->rx = ((tsm->rx + 1) % tsm->ts_buf_size);
|
|
+ tsm->rx_cnt++;
|
|
+ if (tsm->cnt<tsm->ts_buf_size-1){
|
|
+ tsm->cnt++;
|
|
+ if (tsm->mode==MODE_AI){
|
|
+
|
|
+ if (TSM_TS_IS_VALID (timestamp) && (TSM_ABS(timestamp, tsm->last_ts_sent)<TSM_SECOND*10))
|
|
+ {
|
|
+ tsm->ts_buf[tsm->rx].ts = timestamp;
|
|
+ tsm->ts_buf[tsm->rx].age = tsm->age+TSM_PLUS_AGE(tsm);
|
|
+ #ifdef DEBUG
|
|
+ //printf("age should %lld %lld\n", tsm->age, tsm->ts_buf[tsm->rx].age);
|
|
+ //printf("++++++ distance = %d tx=%d, rx=%d, invalid count=%d\n", TSM_DISTANCE(tsm), tsm->tx, tsm->rx,tsm->invalid_ts_count);
|
|
+ #endif
|
|
+ tsm->rx = ((tsm->rx + 1) % tsm->ts_buf_size);
|
|
+ }
|
|
+ else {
|
|
+ tsm->invalid_ts_count++;
|
|
+ }
|
|
+ }else if (tsm->mode==MODE_FIFO){
|
|
+ tsm->ts_buf[tsm->rx].ts = timestamp;
|
|
+ tsm->rx = ((tsm->rx + 1) % tsm->ts_buf_size);
|
|
+ }
|
|
+ TSM_LOG("++Receive %d:%"TSM_TIME_FORMAT", invalid:%d, size:%d\n", tsm->rx_cnt, TSM_TIME_ARGS(timestamp), tsm->invalid_ts_count, tsm->cnt);
|
|
+ }else{
|
|
+ TSM_ERROR("Too many timestamps recieved!! (cnt=%d)\n", tsm->cnt);
|
|
}
|
|
}
|
|
|
|
-
|
|
- if(debug_level==2) {
|
|
- printf("coming %d ts = %"TSM_TIME_FORMAT", last_ts=%"TSM_TIME_FORMAT", invalid cnt=%d\n",
|
|
- tsm->rx_cnt++, TSM_TIME_ARGS(timestamp), TSM_TIME_ARGS(tsm->last_ts_sent), tsm->invalid_ts_count);
|
|
- }
|
|
- //#endif
|
|
}
|
|
|
|
/*======================================================================================
|
|
@@ -182,107 +203,101 @@ TSM_TIMESTAMP TSManagerSend (void * handle)
|
|
int age;
|
|
TSM_TIMESTAMP half_interval = TSM_ADAPTIVE_INTERVAL(tsm)>>1;
|
|
|
|
- if (tsm==NULL)
|
|
- goto fail;
|
|
-
|
|
-
|
|
-
|
|
- if (tsm->mode==MODE_AI){
|
|
-
|
|
- if (tsm->first==0){
|
|
- tstmp = tsm->last_ts_sent + TSM_ADAPTIVE_INTERVAL(tsm);
|
|
- }else{
|
|
- tstmp = tsm->last_ts_sent;
|
|
- }
|
|
-
|
|
- while (i != tsm->rx) {
|
|
- if (index>=0) {
|
|
- if (tsm->ts_buf[i].ts < ts0) {
|
|
- ts0 = tsm->ts_buf[i].ts;
|
|
- age = tsm->ts_buf[i].age;
|
|
- index = i;
|
|
- }
|
|
- }
|
|
- else {
|
|
- ts0 = tsm->ts_buf[i].ts;
|
|
- age = tsm->ts_buf[i].age;
|
|
- index = i;
|
|
- }
|
|
- i = ((i + 1) % tsm->ts_buf_size);
|
|
- }
|
|
- if (index>=0) {
|
|
- if ((tsm->invalid_ts_count) && (ts0 >=((tstmp) + half_interval)) && (age>tsm->age)){
|
|
- /* use calculated ts0 */
|
|
- tsm->invalid_ts_count--;
|
|
- }else{
|
|
- if (index != tsm->tx) {
|
|
- tsm->ts_buf[index] =
|
|
- tsm->ts_buf[tsm->tx];
|
|
- }
|
|
- tsm->tx = ((tsm->tx + 1) % tsm->ts_buf_size);
|
|
-
|
|
- #if 0
|
|
- if (ts0 >=((tstmp) + half_interval))
|
|
- tstmp = tstmp;
|
|
- else
|
|
- tstmp = ts0;
|
|
- #else
|
|
- tstmp = ts0;
|
|
- #endif
|
|
- }
|
|
-
|
|
- }else{
|
|
- tsm->invalid_ts_count--;
|
|
- }
|
|
-
|
|
- if (tsm->first==0){
|
|
-
|
|
-
|
|
- if (tstmp>tsm->last_ts_sent){
|
|
- ts0 = (tstmp-tsm->last_ts_sent);
|
|
- }else{
|
|
- ts0 = 0;
|
|
- tstmp=tsm->last_ts_sent;
|
|
- }
|
|
-
|
|
- if(debug_level==3)
|
|
- {
|
|
- if (ts0>TSM_ADAPTIVE_INTERVAL(tsm)*3/2)
|
|
- printf("Warning: !!!!!!!!!!!!dur this time %"TSM_TIME_FORMAT" > frame_interval:%"TSM_TIME_FORMAT"* 3/2\n",
|
|
- TSM_TIME_ARGS(ts0), TSM_TIME_ARGS(TSM_ADAPTIVE_INTERVAL(tsm)));
|
|
- }
|
|
-
|
|
- tsm->dur_history_total-=tsm->dur_history_buf[tsm->dur_history_tx];
|
|
- tsm->dur_history_buf[tsm->dur_history_tx] = ts0;
|
|
- tsm->dur_history_tx = ((tsm->dur_history_tx + 1) % TSM_HISTORY_SIZE);
|
|
- tsm->dur_history_total+=ts0;
|
|
- }
|
|
-
|
|
- tsm->last_ts_sent = tstmp;
|
|
- tsm->age++;
|
|
- tsm->first = 0;
|
|
-
|
|
-
|
|
- }else if (tsm->mode==MODE_FIFO){
|
|
- if (tsm->tx!=tsm->rx){
|
|
- tstmp = tsm->ts_buf[tsm->tx].ts;
|
|
- tsm->tx = ((tsm->tx + 1) % tsm->ts_buf_size);
|
|
- tsm->last_ts_sent = tstmp;
|
|
- }else{
|
|
- tstmp = tsm->last_ts_sent;
|
|
- printf("\FATAL Error[no timestamp received], Maybe a framework bug!\n");
|
|
- }
|
|
+ if (tsm){
|
|
+ tsm->tx_cnt++;
|
|
+ if (tsm->cnt>0){
|
|
+ tsm->cnt--;
|
|
+ if (tsm->mode==MODE_AI){
|
|
+
|
|
+ if (tsm->first==0){
|
|
+ tstmp = tsm->last_ts_sent + TSM_ADAPTIVE_INTERVAL(tsm);
|
|
+ }else{
|
|
+ tstmp = tsm->last_ts_sent;
|
|
+ }
|
|
+
|
|
+ while (i != tsm->rx) {
|
|
+ if (index>=0) {
|
|
+ if (tsm->ts_buf[i].ts < ts0) {
|
|
+ ts0 = tsm->ts_buf[i].ts;
|
|
+ age = tsm->ts_buf[i].age;
|
|
+ index = i;
|
|
+ }
|
|
+ }
|
|
+ else {
|
|
+ ts0 = tsm->ts_buf[i].ts;
|
|
+ age = tsm->ts_buf[i].age;
|
|
+ index = i;
|
|
+ }
|
|
+ i = ((i + 1) % tsm->ts_buf_size);
|
|
+ }
|
|
+ if (index>=0) {
|
|
+ if ((tsm->invalid_ts_count) && (ts0 >=((tstmp) + half_interval)) && (age>tsm->age)){
|
|
+ /* use calculated ts0 */
|
|
+ tsm->invalid_ts_count--;
|
|
+ }else{
|
|
+ if (index != tsm->tx) {
|
|
+ tsm->ts_buf[index] =
|
|
+ tsm->ts_buf[tsm->tx];
|
|
+ }
|
|
+ tsm->tx = ((tsm->tx + 1) % tsm->ts_buf_size);
|
|
+
|
|
+ #if 0
|
|
+ if (ts0 >=((tstmp) + half_interval))
|
|
+ tstmp = tstmp;
|
|
+ else
|
|
+ tstmp = ts0;
|
|
+ #else
|
|
+ tstmp = ts0;
|
|
+ #endif
|
|
+ }
|
|
+
|
|
+ }else{
|
|
+ tsm->invalid_ts_count--;
|
|
+ }
|
|
+
|
|
+ if (tsm->first==0){
|
|
+
|
|
+
|
|
+ if (tstmp>tsm->last_ts_sent){
|
|
+ ts0 = (tstmp-tsm->last_ts_sent);
|
|
+ }else{
|
|
+ ts0 = 0;
|
|
+ tstmp=tsm->last_ts_sent;
|
|
+ }
|
|
+
|
|
+
|
|
+ if (ts0>TSM_ADAPTIVE_INTERVAL(tsm)*3/2){
|
|
+ TSM_WARNING("Jitter:%"TSM_TIME_FORMAT"\n", TSM_TIME_ARGS(ts0));
|
|
+ }else if (ts0==0){
|
|
+ TSM_WARNING("Jitter:%"TSM_TIME_FORMAT"\n", TSM_TIME_ARGS(ts0));
|
|
+ }
|
|
+ tsm->dur_history_total-=tsm->dur_history_buf[tsm->dur_history_tx];
|
|
+ tsm->dur_history_buf[tsm->dur_history_tx] = ts0;
|
|
+ tsm->dur_history_tx = ((tsm->dur_history_tx + 1) % TSM_HISTORY_SIZE);
|
|
+ tsm->dur_history_total+=ts0;
|
|
+ }
|
|
+
|
|
+ tsm->last_ts_sent = tstmp;
|
|
+ tsm->age++;
|
|
+ tsm->first = 0;
|
|
+
|
|
+
|
|
+ }else if (tsm->mode==MODE_FIFO){
|
|
+ tstmp = tsm->ts_buf[tsm->tx].ts;
|
|
+ tsm->tx = ((tsm->tx + 1) % tsm->ts_buf_size);
|
|
+ ts0 = tstmp - tsm->last_ts_sent;
|
|
+ tsm->last_ts_sent = tstmp;
|
|
+ }
|
|
+
|
|
+ TSM_LOG("--Send %d:%"TSM_TIME_FORMAT", int:%"TSM_TIME_FORMAT", avg:%"TSM_TIME_FORMAT"\n",
|
|
+ tsm->tx_cnt, TSM_TIME_ARGS(tstmp), TSM_TIME_ARGS(ts0),
|
|
+ TSM_TIME_ARGS(TSM_ADAPTIVE_INTERVAL(tsm)));
|
|
+
|
|
+ }else{
|
|
+ TSM_ERROR("Too many timestamps send!!\n");
|
|
}
|
|
|
|
- if(debug_level==1){
|
|
- printf("frame_interval = %"TSM_TIME_FORMAT"\n", TSM_TIME_ARGS(TSM_ADAPTIVE_INTERVAL(tsm)));
|
|
- }
|
|
-
|
|
- if(debug_level==2) {
|
|
- printf("outing +++++++ %d ts out:%"TSM_TIME_FORMAT" frame_interval:%"TSM_TIME_FORMAT"\n",
|
|
- tsm->tx_cnt++, TSM_TIME_ARGS(tstmp), TSM_TIME_ARGS(ts0));
|
|
- }
|
|
- //#endif
|
|
+ }
|
|
fail:
|
|
|
|
return tstmp;
|
|
@@ -300,10 +315,7 @@ void resyncTSManager(void * handle, TSM_TIMESTAMP synctime, TSMGR_MODE mode)
|
|
tsm->invalid_ts_count = 0;
|
|
tsm->mode = mode;
|
|
tsm->age = 0;
|
|
- //#ifdef DEBUG
|
|
- tsm->rx_cnt = tsm->tx_cnt = 0;
|
|
- //#endif
|
|
- //TSM_BUFFER_SET(tsm->ts_buf, TSM_TIMESTAMP_NONE, tsm->ts_buf_size);
|
|
+ tsm->rx_cnt = tsm->tx_cnt = tsm->cnt = 0;
|
|
}
|
|
}
|
|
|
|
@@ -330,7 +342,6 @@ void * createTSManager(int ts_buf_size)
|
|
|
|
// printf("debug = %s \n ++++++++++++++++++++++++++++",debug);
|
|
if (tsm){
|
|
- tsm->tx = tsm->rx = 0;
|
|
if (ts_buf_size<=0){
|
|
ts_buf_size = TSM_DEFAULT_TS_BUFFER_SIZE;
|
|
}
|
|
@@ -388,7 +399,7 @@ void setTSManagerFrameRate(void * handle, int fps_n, int fps_d)
|
|
TSM_BUFFER_SET(tsm->dur_history_buf, ts, TSM_HISTORY_SIZE);
|
|
tsm->dur_history_total = (ts<<TSM_HISTORY_POWER);
|
|
if(debug)
|
|
- printf("+++Frame intrval:%"TSM_TIME_FORMAT"+++\n",TSM_TIME_ARGS(ts));
|
|
+ TSM_LOG("Set frame intrval:%"TSM_TIME_FORMAT"\n",TSM_TIME_ARGS(ts));
|
|
}
|
|
}
|
|
|
|
diff --git a/src/audio/aac_dec/src/mfw_gst_aacdec.c b/src/audio/aac_dec/src/mfw_gst_aacdec.c
|
|
index 01d21d8..6e8a37b 100755
|
|
--- a/src/audio/aac_dec/src/mfw_gst_aacdec.c
|
|
+++ b/src/audio/aac_dec/src/mfw_gst_aacdec.c
|
|
@@ -1521,6 +1521,11 @@ mfw_gst_aacdec_data (MFW_GST_AACDEC_INFO_T * aacdec_info, gint inbuffsize)
|
|
dec_info.aacd_num_channels = aacdec_info->number_of_channels;
|
|
dec_info.aacd_len = AAC_FRAME_SIZE;
|
|
aacdec_info->corrupt_bs = TRUE;
|
|
+
|
|
+ GST_INFO("consume len %d %d %d\n",
|
|
+ consumelen, gst_adapter_available(aacdec_info->pAdapter),
|
|
+ dec_info.BitsInBlock / 8);
|
|
+ consumelen=gst_adapter_available (aacdec_info->pAdapter);
|
|
memset (outbuf, 0, AAC_FRAME_SIZE * CHANS * sizeof (AACD_OutputFmtType));
|
|
} else {
|
|
aacdec_info->flow_error = TRUE;
|
|
@@ -1530,6 +1535,9 @@ mfw_gst_aacdec_data (MFW_GST_AACDEC_INFO_T * aacdec_info, gint inbuffsize)
|
|
GST_ERROR ("Error in decoding the frame error is %d", rc);
|
|
GST_DEBUG ("inbuffsize = %d", inbuffsize);
|
|
}
|
|
+ else {
|
|
+ aacdec_info->error_cnt = 0;
|
|
+ }
|
|
|
|
/* engr113747 : sometimes the audio sample rate is not common used, such
|
|
* as 41000, so there is no corresponding AAC sample rate index. The
|
|
@@ -1561,8 +1569,12 @@ mfw_gst_aacdec_data (MFW_GST_AACDEC_INFO_T * aacdec_info, gint inbuffsize)
|
|
|
|
if (dec_info.BitsInBlock < 8)
|
|
g_print ("consumed:%d\n", dec_info.BitsInBlock);
|
|
+
|
|
consumelen += (dec_info.BitsInBlock / 8);
|
|
|
|
+ if (consumelen>gst_adapter_available (aacdec_info->pAdapter))
|
|
+ consumelen=gst_adapter_available (aacdec_info->pAdapter);
|
|
+
|
|
if (*(dec_config->AACD_bno) < 2) {
|
|
get_timestamp_with_length (&aacdec_info->tsMgr, consumelen);
|
|
goto bail;
|
|
@@ -1588,26 +1600,22 @@ mfw_gst_aacdec_data (MFW_GST_AACDEC_INFO_T * aacdec_info, gint inbuffsize)
|
|
g_value_set_enum (&pos, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT);
|
|
gst_value_array_append_value (&chanpos, &pos);
|
|
} else if (dec_info.aacd_num_channels == 3) {
|
|
- g_value_set_enum (&pos, GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER);
|
|
- gst_value_array_append_value (&chanpos, &pos);
|
|
g_value_set_enum (&pos, GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT);
|
|
gst_value_array_append_value (&chanpos, &pos);
|
|
g_value_set_enum (&pos, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT);
|
|
gst_value_array_append_value (&chanpos, &pos);
|
|
- } else if (dec_info.aacd_num_channels == 4) { /* FC,FCL,FCR,BC */
|
|
- g_value_set_enum (&pos, GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER);
|
|
+ g_value_set_enum (&pos, GST_AUDIO_CHANNEL_POSITION_LFE);
|
|
gst_value_array_append_value (&chanpos, &pos);
|
|
- g_value_set_enum (&pos,
|
|
- GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT_OF_CENTER);
|
|
+ } else if (dec_info.aacd_num_channels == 4) {
|
|
+ g_value_set_enum (&pos, GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT);
|
|
gst_value_array_append_value (&chanpos, &pos);
|
|
- g_value_set_enum (&pos,
|
|
- GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT_OF_CENTER);
|
|
+ g_value_set_enum (&pos, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT);
|
|
gst_value_array_append_value (&chanpos, &pos);
|
|
- g_value_set_enum (&pos, GST_AUDIO_CHANNEL_POSITION_REAR_CENTER);
|
|
+ g_value_set_enum (&pos, GST_AUDIO_CHANNEL_POSITION_REAR_LEFT);
|
|
gst_value_array_append_value (&chanpos, &pos);
|
|
- } else if (dec_info.aacd_num_channels == 5) { /* FC,FL,FR,BL,BR */
|
|
- g_value_set_enum (&pos, GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER);
|
|
+ g_value_set_enum (&pos, GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT);
|
|
gst_value_array_append_value (&chanpos, &pos);
|
|
+ } else if (dec_info.aacd_num_channels == 5) {
|
|
g_value_set_enum (&pos, GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT);
|
|
gst_value_array_append_value (&chanpos, &pos);
|
|
g_value_set_enum (&pos, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT);
|
|
@@ -1616,9 +1624,9 @@ mfw_gst_aacdec_data (MFW_GST_AACDEC_INFO_T * aacdec_info, gint inbuffsize)
|
|
gst_value_array_append_value (&chanpos, &pos);
|
|
g_value_set_enum (&pos, GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT);
|
|
gst_value_array_append_value (&chanpos, &pos);
|
|
- } else if (dec_info.aacd_num_channels == 6) { /* FC,FL,FR,BL,BR,LFE */
|
|
g_value_set_enum (&pos, GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER);
|
|
gst_value_array_append_value (&chanpos, &pos);
|
|
+ } else if (dec_info.aacd_num_channels == 6) {
|
|
g_value_set_enum (&pos, GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT);
|
|
gst_value_array_append_value (&chanpos, &pos);
|
|
g_value_set_enum (&pos, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT);
|
|
@@ -1627,6 +1635,8 @@ mfw_gst_aacdec_data (MFW_GST_AACDEC_INFO_T * aacdec_info, gint inbuffsize)
|
|
gst_value_array_append_value (&chanpos, &pos);
|
|
g_value_set_enum (&pos, GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT);
|
|
gst_value_array_append_value (&chanpos, &pos);
|
|
+ g_value_set_enum (&pos, GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER);
|
|
+ gst_value_array_append_value (&chanpos, &pos);
|
|
g_value_set_enum (&pos, GST_AUDIO_CHANNEL_POSITION_LFE);
|
|
gst_value_array_append_value (&chanpos, &pos);
|
|
}
|
|
@@ -1928,7 +1938,7 @@ PutBits (MFW_GST_AACDEC_INFO_T * aacdec_info, guint8 ** PositionDest,
|
|
guint8 *dummyDest;
|
|
|
|
|
|
- GST_INFO ("Put data:%x, len:%d.", Data, NumberOfBits);
|
|
+ GST_DEBUG ("Put data:%x, len:%d.", Data, NumberOfBits);
|
|
/* Hold the Address of the passed Destination source address. */
|
|
if (PositionDest == NULL) {
|
|
dummyDest = NULL;
|
|
@@ -2309,16 +2319,22 @@ mfw_gst_aacdec_chain (GstPad * pad, GstBuffer * buf)
|
|
/* searching for sync word so that can give correct
|
|
data to the decode library */
|
|
if (aacdec_info->app_params.App_adts_header_present) {
|
|
- while (1) {
|
|
+ while (i<inbuffsize) {
|
|
if ((inbuffer[i] == 0xFF) && ((inbuffer[i + 1] == 0xF9)
|
|
|| (inbuffer[i + 1] == 0xF1))) {
|
|
break;
|
|
}
|
|
i++;
|
|
}
|
|
- inbuffer = inbuffer + i;
|
|
+ if (i >= inbuffsize) {
|
|
+ aacdec_info->app_params.App_adts_header_present = FALSE;
|
|
+ }
|
|
+ else {
|
|
+ inbuffer = inbuffer + i;
|
|
+ inbuffsize = inbuffsize - i;
|
|
+ }
|
|
}
|
|
- inbuffsize = inbuffsize - i;
|
|
+
|
|
GST_BUFFER_OFFSET (aacdec_info->inbuffer1) = 0;
|
|
|
|
App_bs_readinit ((gchar *) inbuffer, inbuffsize, aacdec_info);
|
|
diff --git a/src/audio/aacplus_dec/src/mfw_gst_aacplusdec.c b/src/audio/aacplus_dec/src/mfw_gst_aacplusdec.c
|
|
index 2180735..2d0304c 100755
|
|
--- a/src/audio/aacplus_dec/src/mfw_gst_aacplusdec.c
|
|
+++ b/src/audio/aacplus_dec/src/mfw_gst_aacplusdec.c
|
|
@@ -1552,6 +1552,12 @@ mfw_gst_aacplusdec_data (MFW_GST_AACPLUSDEC_INFO_T * aacplusdec_info,
|
|
aacplusdec_info->number_of_channels;
|
|
dec_info.aacd_len = AAC_FRAME_SIZE;
|
|
aacplusdec_info->corrupt_bs = TRUE;
|
|
+
|
|
+ GST_INFO("consume len %d %d %d\n",
|
|
+ consumelen, gst_adapter_available(aacplusdec_info->pAdapter),
|
|
+ dec_info.BitsInBlock / 8);
|
|
+ consumelen=gst_adapter_available (aacplusdec_info->pAdapter);
|
|
+
|
|
memset (outbuf, 0,
|
|
AAC_FRAME_SIZE * CHANS * sizeof (AACD_OutputFmtType));
|
|
}
|
|
@@ -1562,6 +1568,9 @@ mfw_gst_aacplusdec_data (MFW_GST_AACPLUSDEC_INFO_T * aacplusdec_info,
|
|
GST_ERROR ("Error in decoding the frame error is %d\n", rc);
|
|
GST_DEBUG ("inbuffsize = %d\n", inbuffsize);
|
|
}
|
|
+ else {
|
|
+ aacplusdec_info->error_cnt = 0;
|
|
+ }
|
|
|
|
/* engr113747 : sometimes the audio sample rate is not common used, such
|
|
* as 41000, so there is no corresponding AAC sample rate index. The
|
|
@@ -1607,6 +1616,9 @@ mfw_gst_aacplusdec_data (MFW_GST_AACPLUSDEC_INFO_T * aacplusdec_info,
|
|
|
|
consumelen += (dec_info.BitsInBlock / 8);
|
|
|
|
+ if (consumelen>gst_adapter_available (aacplusdec_info->pAdapter))
|
|
+ consumelen=gst_adapter_available (aacplusdec_info->pAdapter);
|
|
+
|
|
if (*(dec_config->AACD_bno) < 2) {
|
|
get_timestamp_with_length (&aacplusdec_info->tsMgr, consumelen);
|
|
return consumelen;
|
|
@@ -1644,34 +1656,31 @@ mfw_gst_aacplusdec_data (MFW_GST_AACPLUSDEC_INFO_T * aacplusdec_info,
|
|
gst_value_array_append_value (&chanpos, &pos);
|
|
}
|
|
else if (dec_info.aacd_num_channels == 3) {
|
|
- g_value_set_enum (&pos,
|
|
- GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER);
|
|
- gst_value_array_append_value (&chanpos, &pos);
|
|
g_value_set_enum (&pos,
|
|
GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT);
|
|
gst_value_array_append_value (&chanpos, &pos);
|
|
g_value_set_enum (&pos,
|
|
GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT);
|
|
gst_value_array_append_value (&chanpos, &pos);
|
|
- }
|
|
- else if (dec_info.aacd_num_channels == 4) { /* FC,FCL,FCR,BC */
|
|
- g_value_set_enum (&pos,
|
|
- GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER);
|
|
+ g_value_set_enum (&pos,
|
|
+ GST_AUDIO_CHANNEL_POSITION_LFE);
|
|
gst_value_array_append_value (&chanpos, &pos);
|
|
+ }
|
|
+ else if (dec_info.aacd_num_channels == 4) {
|
|
g_value_set_enum (&pos,
|
|
- GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT_OF_CENTER);
|
|
+ GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT);
|
|
gst_value_array_append_value (&chanpos, &pos);
|
|
g_value_set_enum (&pos,
|
|
- GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT_OF_CENTER);
|
|
+ GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT);
|
|
gst_value_array_append_value (&chanpos, &pos);
|
|
g_value_set_enum (&pos,
|
|
- GST_AUDIO_CHANNEL_POSITION_REAR_CENTER);
|
|
+ GST_AUDIO_CHANNEL_POSITION_REAR_LEFT);
|
|
gst_value_array_append_value (&chanpos, &pos);
|
|
- }
|
|
- else if (dec_info.aacd_num_channels == 5) { /* FC,FL,FR,BL,BR */
|
|
g_value_set_enum (&pos,
|
|
- GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER);
|
|
+ GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT);
|
|
gst_value_array_append_value (&chanpos, &pos);
|
|
+ }
|
|
+ else if (dec_info.aacd_num_channels == 5) {
|
|
g_value_set_enum (&pos,
|
|
GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT);
|
|
gst_value_array_append_value (&chanpos, &pos);
|
|
@@ -1684,11 +1693,11 @@ mfw_gst_aacplusdec_data (MFW_GST_AACPLUSDEC_INFO_T * aacplusdec_info,
|
|
g_value_set_enum (&pos,
|
|
GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT);
|
|
gst_value_array_append_value (&chanpos, &pos);
|
|
- }
|
|
- else if (dec_info.aacd_num_channels == 6) { /* FC,FL,FR,BL,BR,LFE */
|
|
g_value_set_enum (&pos,
|
|
GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER);
|
|
gst_value_array_append_value (&chanpos, &pos);
|
|
+ }
|
|
+ else if (dec_info.aacd_num_channels == 6) {
|
|
g_value_set_enum (&pos,
|
|
GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT);
|
|
gst_value_array_append_value (&chanpos, &pos);
|
|
@@ -1701,6 +1710,9 @@ mfw_gst_aacplusdec_data (MFW_GST_AACPLUSDEC_INFO_T * aacplusdec_info,
|
|
g_value_set_enum (&pos,
|
|
GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT);
|
|
gst_value_array_append_value (&chanpos, &pos);
|
|
+ g_value_set_enum (&pos,
|
|
+ GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER);
|
|
+ gst_value_array_append_value (&chanpos, &pos);
|
|
g_value_set_enum (&pos, GST_AUDIO_CHANNEL_POSITION_LFE);
|
|
gst_value_array_append_value (&chanpos, &pos);
|
|
}
|
|
diff --git a/src/audio/mp3_dec/src/mfw_gst_mp3dec.c b/src/audio/mp3_dec/src/mfw_gst_mp3dec.c
|
|
index dff345b..1787ec6 100755
|
|
--- a/src/audio/mp3_dec/src/mfw_gst_mp3dec.c
|
|
+++ b/src/audio/mp3_dec/src/mfw_gst_mp3dec.c
|
|
@@ -1,9 +1,4 @@
|
|
/*
|
|
- * Copyright (C) 2005-2011 Freescale Semiconductor, Inc. All rights reserved.
|
|
- *
|
|
- */
|
|
-
|
|
-/*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Library General Public
|
|
* License as published by the Free Software Foundation; either
|
|
@@ -20,6 +15,13 @@
|
|
* Boston, MA 02111-1307, USA.
|
|
*/
|
|
|
|
+ /*
|
|
+ * Copyright (C) <2005-2011> Freescale Semiconductor, Inc .
|
|
+
|
|
+ * Based on gstmad.c by
|
|
+ * Copyright (C) <1999> Erik Walthinsen <omega@cse.ogi.edu>
|
|
+ */
|
|
+
|
|
/*
|
|
* Module Name: mfw_gst_mp3dec.c
|
|
*
|
|
@@ -113,12 +115,6 @@ GST_STATIC_PAD_TEMPLATE("src",
|
|
#define MFW_MP3DEC_CBKSIZE 512
|
|
#define PULL_SIZE 4096
|
|
|
|
-/* threshold for timestamp resetting */
|
|
-#define TS_RESET_THRESHOLD 2
|
|
-
|
|
-/* fadein step */
|
|
-#define FADEIN_STEP 1
|
|
-
|
|
/* the clock in MHz for IMX31 to be changed for other platforms */
|
|
#define PROCESSOR_CLOCK 532
|
|
|
|
@@ -1002,9 +998,6 @@ mfw_gst_mp3dec_change_state(GstElement * element,
|
|
mp3dec_info->layerchk = FALSE;
|
|
mp3dec_info->strm_info_get = FALSE;
|
|
mp3dec_info->new_segment = 1;
|
|
- mp3dec_info->flushed_bytes = 0;
|
|
- mp3dec_info->buf_list = NULL;
|
|
- mp3dec_info->fadein_factor = 0;
|
|
memset(&mp3dec_info->strm_info, 0, sizeof(mp3_fr_info));
|
|
break;
|
|
}
|
|
@@ -1995,47 +1988,6 @@ static GstClockTime decode_mp3_get_timestamp(MfwGstMp3DecInfo * mp3dec_info)
|
|
return ts;
|
|
}
|
|
|
|
-
|
|
-static void decode_mp3_fadein_mono(MfwGstMp3DecInfo * mp3dec_info, GstBuffer *buffer)
|
|
-{
|
|
- gint size = GST_BUFFER_SIZE (buffer) / 2;
|
|
- gint16 *data = (gint16 *)GST_BUFFER_DATA (buffer);
|
|
- gint number = size;
|
|
- gint max = mp3dec_info->dec_param->mp3d_sampling_freq - mp3dec_info->fadein_factor;
|
|
-
|
|
- if (max > 0) {
|
|
- gint i = 0;
|
|
- number = MIN(size, max);
|
|
- for (i = 0; i < number; i++) {
|
|
- data[i] = (gint16)(data[i] * mp3dec_info->fadein_factor /
|
|
- mp3dec_info->dec_param->mp3d_sampling_freq);
|
|
- mp3dec_info->fadein_factor += FADEIN_STEP;
|
|
- }
|
|
- }
|
|
-}
|
|
-
|
|
-
|
|
-static void decode_mp3_fadein_steoro(MfwGstMp3DecInfo * mp3dec_info, GstBuffer *buffer)
|
|
-{
|
|
- gint size = GST_BUFFER_SIZE (buffer) / 2;
|
|
- gint16 *data = (gint16 *)GST_BUFFER_DATA (buffer);
|
|
- gint number = 0;
|
|
- gint max = mp3dec_info->dec_param->mp3d_sampling_freq - mp3dec_info->fadein_factor;
|
|
-
|
|
- if (max > 0) {
|
|
- gint i = 0;
|
|
- number = MIN(size, max);
|
|
- for (i = 0; i < number; i += 2) {
|
|
- data[i] = (gint16)(data[i] * mp3dec_info->fadein_factor /
|
|
- mp3dec_info->dec_param->mp3d_sampling_freq);
|
|
- data[i + 1] = (gint16)(data[i + 1] * mp3dec_info->fadein_factor /
|
|
- mp3dec_info->dec_param->mp3d_sampling_freq);
|
|
- mp3dec_info->fadein_factor += FADEIN_STEP;
|
|
- }
|
|
- }
|
|
-}
|
|
-
|
|
-
|
|
/*==================================================================================================
|
|
|
|
FUNCTION: mfw_gst_mp3dec_chain
|
|
@@ -2109,7 +2061,6 @@ static GstFlowReturn mfw_gst_mp3dec_chain(GstPad * pad, GstBuffer * buffer)
|
|
|
|
size = GST_BUFFER_SIZE(buffer);
|
|
ts = GST_BUFFER_TIMESTAMP(buffer);
|
|
- decode_mp3_add_buf_to_list(mp3dec_info, buffer);
|
|
|
|
gst_adapter_push(adapter, buffer);
|
|
|
|
@@ -2125,7 +2076,6 @@ static GstFlowReturn mfw_gst_mp3dec_chain(GstPad * pad, GstBuffer * buffer)
|
|
GST_DEBUG("Size of ID3 Data = %d", mp3dec_info->id3v2_size);
|
|
}
|
|
if (size > mp3dec_info->id3v2_size) {
|
|
- decode_mp3_flush_buf_from_list(mp3dec_info, mp3dec_info->id3v2_size);
|
|
gst_adapter_flush(adapter, mp3dec_info->id3v2_size);
|
|
} else {
|
|
return GST_FLOW_OK;
|
|
@@ -2171,7 +2121,6 @@ static GstFlowReturn mfw_gst_mp3dec_chain(GstPad * pad, GstBuffer * buffer)
|
|
else {
|
|
fr_size = mp3_parser_parse_frame_header((gchar *) data, size, &mp3dec_info->strm_info);
|
|
if (fr_size.index < size) {
|
|
- decode_mp3_flush_buf_from_list(mp3dec_info, fr_size.index);
|
|
gst_adapter_flush(adapter, fr_size.index);
|
|
}
|
|
#if 0
|
|
@@ -2302,7 +2251,6 @@ static GstFlowReturn decode_mp3_chunk(MfwGstMp3DecInfo * mp3dec_info, guint bufs
|
|
struct timeval tv_prof, tv_prof1;
|
|
long time_before = 0, time_after = 0;
|
|
guint loop_cnt=0;
|
|
- GstClockTime ts, diff;
|
|
|
|
{
|
|
if (mp3dec_info->demo_mode == 2)
|
|
@@ -2352,18 +2300,6 @@ static GstFlowReturn decode_mp3_chunk(MfwGstMp3DecInfo * mp3dec_info, guint bufs
|
|
decode_out);
|
|
//g_print (RED_STR("mp3d_decode_frame() returns %d, error count %d\n", retval, err_count));
|
|
|
|
- ts = decode_mp3_get_timestamp(mp3dec_info);
|
|
-#if 0
|
|
- if ((err_count > 0) && !IS_MP3_DEC_ERROR(retval)) {
|
|
- /* if this is the first correct output after error, reset the time offset */
|
|
- if (GST_CLOCK_TIME_IS_VALID(ts)) {
|
|
- GST_ERROR ("Encountered error, "
|
|
- "reset time offset from %"GST_TIME_FORMAT" to %"GST_TIME_FORMAT"\n",
|
|
- GST_TIME_ARGS(mp3dec_info->time_offset), GST_TIME_ARGS(ts));
|
|
- mp3dec_info->time_offset = ts;
|
|
- }
|
|
- }
|
|
-#endif
|
|
|
|
#ifdef PUSH_MODE
|
|
if (mp3dec_info->dec_config->consumedBufLen>0){
|
|
@@ -2372,11 +2308,9 @@ static GstFlowReturn decode_mp3_chunk(MfwGstMp3DecInfo * mp3dec_info, guint bufs
|
|
//mp3dec_info->dec_config->consumedBufLen = bufsize;
|
|
//}
|
|
//gst_adapter_flush(mp3dec_global_info->adapter, mp3dec_info->dec_config->consumedBufLen);
|
|
- decode_mp3_flush_buf_from_list(mp3dec_info, mp3dec_info->dec_config->consumedBufLen);
|
|
gst_adapter_flush(mp3dec_info->adapter, mp3dec_info->dec_config->consumedBufLen);
|
|
}
|
|
|
|
-
|
|
#endif
|
|
if (IS_MP3_DEC_ERROR(retval)){
|
|
err_count++;
|
|
@@ -2463,13 +2397,11 @@ static GstFlowReturn decode_mp3_chunk(MfwGstMp3DecInfo * mp3dec_info, guint bufs
|
|
if (mp3dec_info->dec_param->mp3d_num_channels == 1) {
|
|
GST_BUFFER_SIZE(outbuffer) = MP3D_FRAME_SIZE * 2;
|
|
num_samples = MP3D_FRAME_SIZE;
|
|
- decode_mp3_fadein_mono(mp3dec_info, outbuffer);
|
|
|
|
}
|
|
if (mp3dec_info->dec_param->mp3d_num_channels == 2) {
|
|
GST_BUFFER_SIZE(outbuffer) = MP3D_FRAME_SIZE * 2 * 2;
|
|
num_samples = MP3D_FRAME_SIZE*2;
|
|
- decode_mp3_fadein_steoro(mp3dec_info, outbuffer);
|
|
|
|
}
|
|
mp3dec_info->total_samples += num_samples;
|
|
@@ -2479,22 +2411,7 @@ static GstFlowReturn decode_mp3_chunk(MfwGstMp3DecInfo * mp3dec_info, guint bufs
|
|
time_duration =
|
|
gst_util_uint64_scale_int(loop_cnt, GST_SECOND, mp3dec_info->dec_param->mp3d_sampling_freq);
|
|
|
|
- /* A/V sync for fuzzy stream:
|
|
- * Check the difference between calculated ts and accumulated ts. If it is
|
|
- * bigger than the threshold, reset the timestamp to the calculated one. */
|
|
- diff = (mp3dec_info->time_offset > ts) ?
|
|
- (mp3dec_info->time_offset - ts) : (ts - mp3dec_info->time_offset);
|
|
- if ((GST_CLOCK_TIME_IS_VALID(ts)) &&
|
|
- (diff > (time_duration * TS_RESET_THRESHOLD))) {
|
|
- GST_WARNING ("difference between calculated ts and accumulated ts is bigger than %d frames, "
|
|
- "reset time offset from %"GST_TIME_FORMAT" to %"GST_TIME_FORMAT"",
|
|
- TS_RESET_THRESHOLD,
|
|
- GST_TIME_ARGS(mp3dec_info->time_offset), GST_TIME_ARGS(ts));
|
|
- mp3dec_info->time_offset = ts;
|
|
- mp3dec_info->fadein_factor = 0;
|
|
- }
|
|
-
|
|
- GST_BUFFER_TIMESTAMP(outbuffer) = mp3dec_info->time_offset;
|
|
+ GST_BUFFER_TIMESTAMP(outbuffer) = mp3dec_info->time_offset;
|
|
GST_BUFFER_DURATION(outbuffer) = time_duration;
|
|
GST_BUFFER_OFFSET(outbuffer) = 0;
|
|
|
|
diff --git a/src/audio/mp3_dec/src/mfw_gst_mp3dec.h b/src/audio/mp3_dec/src/mfw_gst_mp3dec.h
|
|
index c45b8b6..e25e7a0 100755
|
|
--- a/src/audio/mp3_dec/src/mfw_gst_mp3dec.h
|
|
+++ b/src/audio/mp3_dec/src/mfw_gst_mp3dec.h
|
|
@@ -110,14 +110,9 @@ G_BEGIN_DECLS
|
|
mp3_fr_info strm_info;
|
|
gint demo_mode; /* 0: Normal mode, 1: Demo mode 2: Demo ending */
|
|
gint new_segment;
|
|
-
|
|
- /* buffer list for calculating timestamp */
|
|
- GList *buf_list;
|
|
+ /* buffer list for calculating timestamp */
|
|
+ GList *buf_list;
|
|
gint flushed_bytes;
|
|
-
|
|
- /* for fade in after error frame */
|
|
- gint fadein_factor;
|
|
-
|
|
} MfwGstMp3DecInfo;
|
|
|
|
typedef struct _MfwGstMp3DecInfoClass {
|
|
diff --git a/src/audio/vorbis_dec/src/mfw_gst_vorbisdec.c b/src/audio/vorbis_dec/src/mfw_gst_vorbisdec.c
|
|
index 1fb883f..dba400a 100755
|
|
--- a/src/audio/vorbis_dec/src/mfw_gst_vorbisdec.c
|
|
+++ b/src/audio/vorbis_dec/src/mfw_gst_vorbisdec.c
|
|
@@ -431,7 +431,7 @@ void mfw_gst_vorbisdec_set_caps_channel_pos(GstCaps *caps, gint channum)
|
|
{
|
|
GValue chanpos = { 0 };
|
|
GValue pos = { 0 };
|
|
-
|
|
+
|
|
g_value_init (&chanpos, GST_TYPE_ARRAY);
|
|
g_value_init (&pos, GST_TYPE_AUDIO_CHANNEL_POSITION);
|
|
|
|
@@ -699,7 +699,7 @@ mfw_gst_vorbisdec_chain(GstPad * pad, GstBuffer * buf)
|
|
GST_DEBUG(GREEN_STR("time_offset = %lld", vordec_info->time_offset));
|
|
}
|
|
if (vordec_info->codec_data){
|
|
- gst_adapter_push(vordec_info->pAdapter, vordec_info->codec_data);
|
|
+ gst_adapter_push(vordec_info->pAdapter, gst_buffer_ref(vordec_info->codec_data));
|
|
vordec_info->codec_data = NULL;
|
|
}
|
|
gst_adapter_push(vordec_info->pAdapter, buf);
|
|
@@ -763,7 +763,7 @@ mfw_gst_vorbisdec_chain(GstPad * pad, GstBuffer * buf)
|
|
gst_tag_list_add(list,GST_TAG_MERGE_APPEND, GST_TAG_AUDIO_CODEC,
|
|
codec_name,NULL);
|
|
gst_tag_list_add (list, GST_TAG_MERGE_APPEND, GST_TAG_BITRATE,
|
|
- (guint)(psOVDecObj->ave_bitrate),NULL);
|
|
+ (guint)(psOVDecObj->ave_bitrate),NULL);
|
|
gst_tag_list_add (list, GST_TAG_MERGE_APPEND, GST_TAG_MFW_VORBIS_SAMPLING_RATE,
|
|
(guint)vordec_info->sampling_freq,NULL);
|
|
gst_tag_list_add (list, GST_TAG_MERGE_APPEND, GST_TAG_MFW_VORBIS_CHANNELS,
|
|
@@ -851,12 +851,12 @@ mfw_gst_vorbisdec_change_state(GstElement * element,
|
|
memset(psOVDecObj, 0, sizeof(sOggVorbisDecObj));
|
|
|
|
break;
|
|
- case GST_STATE_CHANGE_READY_TO_PAUSED:
|
|
+ case GST_STATE_CHANGE_READY_TO_PAUSED:
|
|
gst_tag_register (GST_TAG_MFW_VORBIS_CHANNELS, GST_TAG_FLAG_DECODED,G_TYPE_UINT,
|
|
"number of channels","number of channels", NULL);
|
|
gst_tag_register (GST_TAG_MFW_VORBIS_SAMPLING_RATE, GST_TAG_FLAG_DECODED,G_TYPE_UINT,
|
|
- "sampling frequency (Hz)","sampling frequency (Hz)", NULL);
|
|
-
|
|
+ "sampling frequency (Hz)","sampling frequency (Hz)", NULL);
|
|
+
|
|
vordec_info->pAdapter = gst_adapter_new();
|
|
init_tsmanager(&vordec_info->tsMgr);
|
|
|
|
diff --git a/src/misc/v4l_sink/src/mfw_gst_v4l_buffer.c b/src/misc/v4l_sink/src/mfw_gst_v4l_buffer.c
|
|
index 5febe48..82230f5 100755
|
|
--- a/src/misc/v4l_sink/src/mfw_gst_v4l_buffer.c
|
|
+++ b/src/misc/v4l_sink/src/mfw_gst_v4l_buffer.c
|
|
@@ -280,6 +280,7 @@ MFWGstV4LSinkBuffer *mfw_gst_v4l2_new_swbuffer(MFW_GST_V4LSINK_INFO_T * v4l_info
|
|
switch (v4l_info->outformat) {
|
|
case V4L2_PIX_FMT_RGB565:
|
|
case V4L2_PIX_FMT_YUYV:
|
|
+ case V4L2_PIX_FMT_UYVY:
|
|
buf_size = (v4l_info->width+v4l_info->cr_left_bypixel+v4l_info->cr_right_bypixel)*
|
|
(v4l_info->height+v4l_info->cr_left_bypixel+v4l_info->cr_right_bypixel)*2;
|
|
|
|
diff --git a/src/misc/v4l_sink/src/mfw_gst_v4lsink.c b/src/misc/v4l_sink/src/mfw_gst_v4lsink.c
|
|
index db6da3a..c6a6b6c 100755
|
|
--- a/src/misc/v4l_sink/src/mfw_gst_v4lsink.c
|
|
+++ b/src/misc/v4l_sink/src/mfw_gst_v4lsink.c
|
|
@@ -1209,6 +1209,10 @@ mfw_gst_v4lsink_set_format (MFW_GST_V4LSINK_INFO_T * v4l_info, GstCaps * caps)
|
|
if (v4l_info->fourcc == GST_STR_FOURCC ("I420")) {
|
|
GST_WARNING ("Default mode: I420");
|
|
}
|
|
+ else if (v4l_info->fourcc == GST_STR_FOURCC ("UYVY")) {
|
|
+ GST_WARNING ("set to UYVY mode");
|
|
+ v4l_info->outformat = V4L2_PIX_FMT_UYVY;
|
|
+ }
|
|
else if (v4l_info->fourcc == GST_STR_FOURCC ("NV12")) {
|
|
GST_WARNING ("set to nv12 mode");
|
|
v4l_info->outformat = V4L2_PIX_FMT_NV12;
|
|
@@ -1918,6 +1922,7 @@ mfw_gst_v4lsink_buffer_alloc (GstBaseSink * bsink, guint64 offset,
|
|
case V4L2_PIX_FMT_RGB565:
|
|
frame_buffer_size = (v4l_info->width * v4l_info->height) * 2;
|
|
break;
|
|
+ case V4L2_PIX_FMT_UYVY:
|
|
case V4L2_PIX_FMT_YUYV:
|
|
case V4L2_PIX_FMT_YUV422P:
|
|
frame_buffer_size = (v4l_info->width * v4l_info->height) * 2;
|
|
@@ -2044,6 +2049,7 @@ mfw_gst_v4lsink_base_init (gpointer g_class)
|
|
guint32 formats[] = {
|
|
GST_MAKE_FOURCC ('I', '4', '2', '0'),
|
|
GST_MAKE_FOURCC ('Y', 'V', '1', '2'),
|
|
+ GST_MAKE_FOURCC ('U', 'Y', 'V', 'Y'),
|
|
GST_MAKE_FOURCC ('Y', 'U', 'Y', 'V'),
|
|
GST_MAKE_FOURCC ('Y', 'U', 'Y', '2'),
|
|
GST_MAKE_FOURCC ('N', 'V', '1', '2'),
|
|
diff --git a/src/parser/aiur/src/aiurdemux.c b/src/parser/aiur/src/aiurdemux.c
|
|
index e2567d9..10427a8 100755
|
|
--- a/src/parser/aiur/src/aiurdemux.c
|
|
+++ b/src/parser/aiur/src/aiurdemux.c
|
|
@@ -2418,7 +2418,7 @@ aiurdemux_parse_video (GstAiurDemux * demux, AiurDemuxStream * stream,
|
|
case VIDEO_MPEG2:
|
|
//mime = "video/mp2v";
|
|
mime =
|
|
- "video/mpeg, systemstream = (boolean)false, parsed = (boolean)true";
|
|
+ "video/mpeg, systemstream = (boolean)false, parsed = (boolean)true, mpegversion=(int)2";
|
|
codec = "MPEG2";
|
|
break;
|
|
case VIDEO_MPEG4:
|
|
diff --git a/src/video/mpeg4asp_dec/src/mfw_gst_mpeg4asp_dec.c b/src/video/mpeg4asp_dec/src/mfw_gst_mpeg4asp_dec.c
|
|
index 1ae390c..8e3a591 100755
|
|
--- a/src/video/mpeg4asp_dec/src/mfw_gst_mpeg4asp_dec.c
|
|
+++ b/src/video/mpeg4asp_dec/src/mfw_gst_mpeg4asp_dec.c
|
|
@@ -69,9 +69,6 @@
|
|
"video/x-h263, " \
|
|
"width = (int) [0, 1280], " \
|
|
"height = (int)[0, 720]; " \
|
|
- "video/x-divx, " \
|
|
- "width = (int) [16, 1280], " \
|
|
- "height = (int)[16, 720]; " \
|
|
\
|
|
"video/x-xvid, " \
|
|
"width = (int) [16, 1280], " \
|
|
@@ -1819,4 +1816,4 @@ GST_PLUGIN_DEFINE(GST_VERSION_MAJOR, /* major version of Gstreamer */
|
|
plugin_init, /* first function to be called */
|
|
VERSION,
|
|
GST_LICENSE_UNKNOWN,
|
|
- FSL_GST_MM_PLUGIN_PACKAGE_NAME, FSL_GST_MM_PLUGIN_PACKAGE_ORIG)
|
|
\ No newline at end of file
|
|
+ FSL_GST_MM_PLUGIN_PACKAGE_NAME, FSL_GST_MM_PLUGIN_PACKAGE_ORIG)
|
|
diff --git a/src/video/vpu_dec.full/src/mfw_gst_vpu_decoder.c b/src/video/vpu_dec.full/src/mfw_gst_vpu_decoder.c
|
|
index 44266d8..dc7ab44 100755
|
|
--- a/src/video/vpu_dec.full/src/mfw_gst_vpu_decoder.c
|
|
+++ b/src/video/vpu_dec.full/src/mfw_gst_vpu_decoder.c
|
|
@@ -2664,7 +2664,7 @@ mfw_gst_vpudec_prep_gstbuf (MfwGstVPU_Dec * vpu_dec)
|
|
}
|
|
retval = TRUE;
|
|
memcpy (GST_BUFFER_DATA (vpu_dec->pushbuff),
|
|
- vpu_dec->frame_virt[vpu_dec->outputInfo->indexFrameDisplay],
|
|
+ GST_BUFFER_DATA(vpu_dec->outbuffers[vpu_dec->outputInfo->indexFrameDisplay]),
|
|
vpu_dec->yuv_frame_size);
|
|
vpu_ret =
|
|
vpu_DecClrDispFlag (*(vpu_dec->handle),
|
|
@@ -4431,8 +4431,7 @@ mfw_gst_vpudec_setcaps (GstPad * pad, GstCaps * caps)
|
|
else if ((strcmp (mime, "video/x-pn-realvideo") == 0) &&
|
|
HAS_RV_DECODER (vpu_dec->chip_code))
|
|
vpu_dec->codec = STD_RV;
|
|
- else if (((strcmp (mime, "video/x-divx") == 0) ||
|
|
- (strcmp (mime, "video/x-xvid") == 0)) &&
|
|
+ else if ((strcmp (mime, "video/x-divx") == 0) &&
|
|
HAS_DIVX_DECODER (vpu_dec->chip_code)) {
|
|
gint divx_version;
|
|
gst_structure_get_int (structure, "divxversion", &divx_version);
|
|
@@ -4445,7 +4444,10 @@ mfw_gst_vpudec_setcaps (GstPad * pad, GstCaps * caps)
|
|
vpu_dec->mp4Class = MP4_DIVX5_HIGHER;
|
|
else
|
|
vpu_dec->mp4Class = MP4_DIVX4;
|
|
- } else if ((strcmp (mime, "image/jpeg") == 0) &&
|
|
+ }else if ( strcmp (mime, "video/x-xvid") == 0) {
|
|
+ vpu_dec->codec = STD_MPEG4;
|
|
+ vpu_dec->mp4Class = MP4_XVID;
|
|
+ }else if ((strcmp (mime, "image/jpeg") == 0) &&
|
|
HAS_MJPEG_DECODER (vpu_dec->chip_code))
|
|
vpu_dec->codec = STD_MJPG;
|
|
else {
|
|
@@ -4609,7 +4611,7 @@ mfw_gst_vpudec_gen_sink_pad_caps (CHIP_CODE chip_code)
|
|
caps_list[i++] = "video/x-pn-realvideo, %s;";
|
|
|
|
case CC_MX37:
|
|
- caps_list[i++] = "video/x-xvid, %s, " "divxversion = (int)[3, 6];";
|
|
+ caps_list[i++] = "video/x-xvid, %s;";
|
|
|
|
caps_list[i++] = "video/x-divx, %s, " "divxversion = (int)[3, 6];";
|
|
|
|
diff --git a/tools/gplay/gplay_header.tgz b/tools/gplay/gplay_header.tgz
|
|
deleted file mode 100644
|
|
index 1ee46bb2e9fea9257f252f6ca477132c3a9d7d14..0000000000000000000000000000000000000000
|
|
GIT binary patch
|
|
literal 0
|
|
HcmV?d00001
|
|
|
|
literal 8807
|
|
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
|
|
|
|
diff --git a/tools/gplay/mfw_gplay.c b/tools/gplay/mfw_gplay.c
|
|
index 0bcd78c..ee65100 100755
|
|
--- a/tools/gplay/mfw_gplay.c
|
|
+++ b/tools/gplay/mfw_gplay.c
|
|
@@ -858,18 +858,13 @@ int main(int argc,char *argv[])
|
|
|
|
case 'v': // Volume
|
|
{
|
|
- int volume;
|
|
- PRINT("Set volume[0,100]:");
|
|
+ double volume;
|
|
+ PRINT("Set volume[0-1.0]:");
|
|
kb_restore_term(STDIN_FILENO);
|
|
gbdisplay = FSL_PLAYER_FALSE;
|
|
- scanf("%d",&volume);
|
|
+ scanf("%lf",&volume);
|
|
gbdisplay = FSL_PLAYER_TRUE;
|
|
kb_set_raw_term(STDIN_FILENO);
|
|
- if( volume<0 || volume>1000 )
|
|
- {
|
|
- printf("Invalid volume!\n");
|
|
- break;
|
|
- }
|
|
pplayer->klass->set_volume(pplayer, (volume));
|
|
break;
|
|
}
|
|
diff --git a/tools/gplay/mfw_gplay_core.c b/tools/gplay/mfw_gplay_core.c
|
|
index 8361499..4705cac 100755
|
|
--- a/tools/gplay/mfw_gplay_core.c
|
|
+++ b/tools/gplay/mfw_gplay_core.c
|
|
@@ -100,7 +100,7 @@ fsl_player_ret_val fsl_player_stop(fsl_player_handle handle);
|
|
fsl_player_ret_val fsl_player_seek(fsl_player_handle handle, fsl_player_u32 time_ms, fsl_player_u32 flags);
|
|
fsl_player_ret_val fsl_player_set_playback_rate(fsl_player_handle handle, double playback_rate);
|
|
|
|
-fsl_player_ret_val fsl_player_set_volume(fsl_player_handle handle, /*double*/fsl_player_s32 volume);
|
|
+fsl_player_ret_val fsl_player_set_volume(fsl_player_handle handle, double volume);
|
|
fsl_player_ret_val fsl_player_mute(fsl_player_handle handle);
|
|
fsl_player_ret_val fsl_player_snapshot(fsl_player_handle handle);
|
|
fsl_player_ret_val fsl_player_set_video_output(fsl_player_handle handle, fsl_player_video_output_mode mode);
|
|
@@ -1170,18 +1170,18 @@ fsl_player_ret_val fsl_player_stop(fsl_player_handle handle)
|
|
}
|
|
|
|
/* accept 0-1000, corresponding as 0-10.0*/
|
|
-fsl_player_ret_val fsl_player_set_volume(fsl_player_handle handle, fsl_player_s32 volume)
|
|
+fsl_player_ret_val fsl_player_set_volume(fsl_player_handle handle, double volume)
|
|
{
|
|
fsl_player* pplayer = (fsl_player*)handle;
|
|
fsl_player_property* pproperty = (fsl_player_property*)pplayer->property_handle;
|
|
GValue value = {0};
|
|
|
|
- if( volume > 1000 || volume < 0 )
|
|
+ if( volume < 0.0 )
|
|
{
|
|
FSL_PLAYER_PRINT("Set volume failed: Invalid volume=%lf which should be between [0, 1000]!\n" ,volume);
|
|
return FSL_PLAYER_ERROR_BAD_PARAM;
|
|
}
|
|
- pproperty->volume = (double)volume/100;
|
|
+ pproperty->volume = (double)volume;
|
|
g_value_init(&value, G_TYPE_DOUBLE);
|
|
g_value_set_double(&value, pproperty->volume);
|
|
g_object_set_property(G_OBJECT(pproperty->playbin), "volume", &value);
|
|
diff --git a/tools/gplay/mfw_gplay_core.h b/tools/gplay/mfw_gplay_core.h
|
|
index 85323b4..1d9ea13 100755
|
|
--- a/tools/gplay/mfw_gplay_core.h
|
|
+++ b/tools/gplay/mfw_gplay_core.h
|
|
@@ -221,7 +221,7 @@ typedef struct{
|
|
fsl_player_u32 features;
|
|
|
|
char * video_sink_name;
|
|
- char * audio_sink_name;
|
|
+ char * audio_sink_name;
|
|
|
|
char * visual_name;
|
|
|
|
@@ -249,7 +249,7 @@ struct _fsl_player_class
|
|
fsl_player_ret_val (*seek) (fsl_player_handle that, fsl_player_u32 time_ms, fsl_player_u32 flags);
|
|
fsl_player_ret_val (*set_playback_rate) (fsl_player_handle that, double playback_rate);
|
|
|
|
- fsl_player_ret_val (*set_volume) (fsl_player_handle that, fsl_player_s32 volume);
|
|
+ fsl_player_ret_val (*set_volume) (fsl_player_handle that, double volume);
|
|
fsl_player_ret_val (*mute) (fsl_player_handle that);
|
|
fsl_player_ret_val (*snapshot) (fsl_player_handle that);
|
|
fsl_player_ret_val (*set_video_output) (fsl_player_handle that, fsl_player_video_output_mode mode);
|