Compile faad2 on Android

Source: Internet
Author: User

Compile faad2 on Android

1. Download the source code from the official website

2. edit a config. h:

/* config.h.  Generated from config.h.in by configure.  *//* config.h.in.  Generated from configure.in by autoheader.  *//* Define if you want to use libfaad together with Digital Radio Mondiale   (DRM) *//* #undef DRM *//* Define if you want support for Digital Radio Mondiale (DRM) parametric   stereo *//* #undef DRM_PS *//* Define to 1 if you have the 
 
   header file. */#define HAVE_DLFCN_H 1/* Define to 1 if you have the 
  
    header file. */#define HAVE_ERRNO_H 1/* Define if needed *//* #undef HAVE_FLOAT32_T *//* Define to 1 if you have the 
   
     header file. */#define HAVE_FLOAT_H 1/* Define to 1 if you have the `getpwuid' function. */#define HAVE_GETPWUID 1/* Define to 1 if you have the 
    
      header file. */#define HAVE_INTTYPES_H 1/* Define if you have the IOKit API *//* #undef HAVE_IOKIT_IOKITLIB_H *//* Define to 1 if you have the 
     
       header file. */#define HAVE_LIMITS_H 1/* Define if you have C99's lrintf function. */#define HAVE_LRINTF 1/* Define to 1 if you have the 
      
        header file. *//* #undef HAVE_MATHF_H *//* Define to 1 if you have the `memcpy' function. */#define HAVE_MEMCPY 1/* Define to 1 if you have the 
       
         header file. */#define HAVE_MEMORY_H 1/* Define to 1 if you have the 
        
          header file. */#define HAVE_STDINT_H 1/* Define to 1 if you have the 
         
           header file. */#define HAVE_STDLIB_H 1/* Define to 1 if you have the `strchr' function. */#define HAVE_STRCHR 1/* Define to 1 if you have the 
          
            header file. */#define HAVE_STRINGS_H 1/* Define to 1 if you have the 
           
             header file. */#define HAVE_STRING_H 1/* Define to 1 if you have the `strsep' function. */#define HAVE_STRSEP 1/* Define to 1 if you have the 
            
              header file. *//* #undef HAVE_SYSFS_LIBSYSFS_H *//* Define to 1 if you have the 
             
               header file. */#define HAVE_SYS_STAT_H 1/* Define to 1 if you have the 
              
                header file. */#define HAVE_SYS_TIME_H 1/* Define to 1 if you have the 
               
                 header file. */#define HAVE_SYS_TYPES_H 1/* Define to 1 if you have the 
                
                  header file. */#define HAVE_UNISTD_H 1/* Define to 1 if your C compiler doesn't accept -c and -o together. *//* #undef NO_MINUS_C_MINUS_O *//* Name of package */#define PACKAGE "faad2"/* Define to the address where bug reports for this package should be sent. */#define PACKAGE_BUGREPORT ""/* Define to the full name of this package. */#define PACKAGE_NAME ""/* Define to the full name and version of this package. */#define PACKAGE_STRING ""/* Define to the one symbol short name of this package. */#define PACKAGE_TARNAME ""/* Define to the version of this package. */#define PACKAGE_VERSION ""/* Define to 1 if you have the ANSI C header files. */#define STDC_HEADERS 1/* Define to 1 if you can safely include both 
                 
                   and 
                  
                   . */#define TIME_WITH_SYS_TIME 1/* Version number of package */#define VERSION "2.7.0"/* Define to 1 if your processor stores words with the most significant byte first (like Motorola and SPARC, unlike Intel and VAX). *//* #undef WORDS_BIGENDIAN *//* Define to `__inline__' or `__inline' if that's what the C compiler calls it, or to nothing if 'inline' is not supported under any name. */#ifndef __cplusplus/* #undef inline */#endif/* Define to `long int' if 
                   
                     does not define. *//* #undef off_t */
                   
                  
                 
                
               
              
             
            
           
          
         
        
       
      
     
    
   
  
 

3. Compile Android. mk

LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE:= faadLOCAL_ARM_MODE := armLOCAL_C_INCLUDES := \$(LOCAL_PATH)\$(LOCAL_PATH)/include\$(LOCAL_PATH)/libfaad\$(LOCAL_PATH)/common/mp4ff\$(LOCAL_PATH)/libfaad/codebookLOCAL_SRC_FILES := \libfaad/bits.c  \libfaad/cfft.c  \libfaad/decoder.c \libfaad/drc.c     \    libfaad/drm_dec.c \libfaad/error.c \libfaad/filtbank.c \libfaad/ic_predict.c \libfaad/is.c \libfaad/lt_predict.c \libfaad/mdct.c \libfaad/mp4.c \libfaad/ms.c \libfaad/output.c \libfaad/pns.c \libfaad/ps_dec.c \libfaad/ps_syntax.c \libfaad/pulse.c \libfaad/specrec.c \libfaad/syntax.c \libfaad/tns.c \libfaad/hcr.c \libfaad/huffman.c \libfaad/rvlc.c \libfaad/ssr.c \libfaad/ssr_fb.c \libfaad/ssr_ipqf.c \libfaad/common.c \libfaad/sbr_dct.c \libfaad/sbr_e_nf.c \libfaad/sbr_fbt.c \libfaad/sbr_hfadj.c \libfaad/sbr_hfgen.c \libfaad/sbr_huff.c \libfaad/sbr_qmf.c \libfaad/sbr_syntax.c \libfaad/sbr_tf_grid.c \libfaad/sbr_dec.c\common/mp4ff/mp4atom.c\common/mp4ff/mp4ff.c\common/mp4ff/mp4meta.c\common/mp4ff/mp4sample.c \common/mp4ff/mp4tagupdate.c\common/mp4ff/mp4util.c\com_iflytek_codec_aac_FaadAACNativeDecoder.cLOCAL_CFLAGS:= -DHAVE_CONFIG_HLOCAL_LDLIBS := -lloginclude $(BUILD_SHARED_LIBRARY)

4. compile.

5. Fixed Point:

The above compilation is a floating point, which can be compiled into a fixed point by opening two Macros in faad/libfaad/common. h:

#define FIXED_POINT#define BIG_IQ_TABLE

Then rinse and compile. On my mobile phone, use a fixed point, which can be 5 times faster.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.