Q:

convert yuv to mp4 by ffmpeg on android

i have to convert yuv to mp4 by ffmpeg on android. When I convert wav to mp4 it works well. but when i convert yuv or yuv + wav to mp4,  i got errer message said 
Error decoding AAC frame header

anybody knows what happened?
following is the full debug log
transferYUV2MP4() enter
__transfer_yuv_to_mp4() enter
__transfer_yuv_to_mp4() argv[00/17] = ffmpeg
__transfer_yuv_to_mp4() argv[01/17] = -loglevel
__transfer_yuv_to_mp4() argv[02/17] = debug
__transfer_yuv_to_mp4() argv[03/17] = -y
__transfer_yuv_to_mp4() argv[04/17] = -i
__transfer_yuv_to_mp4() argv[05/17] = /sdcard/111.yuv
__transfer_yuv_to_mp4() argv[06/17] = -i
__transfer_yuv_to_mp4() argv[07/17] = /sdcard/3.wav
__transfer_yuv_to_mp4() argv[08/17] = -c:a
__transfer_yuv_to_mp4() argv[09/17] = aac
__transfer_yuv_to_mp4() argv[10/17] = -strict
__transfer_yuv_to_mp4() argv[11/17] = experimental
__transfer_yuv_to_mp4() argv[12/17] = -b:a
__transfer_yuv_to_mp4() argv[13/17] = 56k
__transfer_yuv_to_mp4() argv[14/17] = -preset
__transfer_yuv_to_mp4() argv[15/17] = ultrafast
__transfer_yuv_to_mp4() argv[16/17] = /sdcard/111.mp4
__run_ffmpeg_main() enter
__run_ffmpeg_main() handle=0xb000f7f8
__run_ffmpeg_main() dlfunc=0x4b5a2728
ffmpeg version 1.2.2
 Copyright (c) 2000-2013 the FFmpeg developers
  built on Aug 10 2013 16:34:45 with gcc 4.6 (GCC) 20120106 (prerelease)
  configuration: --target-os=linux --prefix=./android/armv7-a --sysroot=/Users/pht/android/ndks/android-ndk-r9/platforms/android-8/arch-arm/ --enable-gpl --enable-version3 --disable-shared --enable-static --disable-ffprobe --disable-ffplay --disable-ffserver --disable-network --enable-avformat --enable-avcodec --enable-cross-compile --arch=arm --cc=/Users/pht/android-standalone-toolchain/bin/arm-linux-androideabi-gcc --nm=/Users/pht/android-standalone-toolchain/bin/arm-linux-androideabi-nm --cross-prefix=/Users/pht/android-standalone-toolchain/bin/arm-linux-androideabi- --extra-cflags=' -I../fdk-aac/include -I../x264 -O3 -fpic -DANDROID -DHAVE_SYS_UIO_H=1 -Dipv6mr_interface=ipv6mr_ifindex -fasm -Wno-psabi -fno-short-enums -fno-strict-aliasing -finline-limit=300 -mfloat-abi=softfp -mfpu=vfpv3-d16 -marm -march=armv7-a ' --extra-ldflags=' -L../fdk-aac/lib -L../x264 -Wl,-rpath-link=/Users/pht/android/ndks/android-ndk-r9/platforms/android-8/arch-arm//usr/lib -L/Users/pht/android/ndks/android-ndk-r9/platforms/andr
  libavutil      52. 18.100 / 52. 18.100
  libavcodec     54. 92.100 / 54. 92.100
  libavformat    54. 63.104 / 54. 63.104
  libavdevice    54.  3.103 / 54.  3.103
  libavfilter     3. 42.103 /  3. 42.103
  libswscale      2.  2.100 /  2.  2.100
  libswresample   0. 17.102 /  0. 17.102
  libpostproc    52.  2.100 / 52.  2.100
Splitting the commandline.
Reading option '-loglevel' ...
 matched as option 'loglevel' (set libav* logging level) with argument 'debug'.
Reading option '-y' ...
 matched as option 'y' (overwrite output files) with argument '1'.
Reading option '-i' ...
 matched as input file with argument '/sdcard/111.yuv'.
Reading option '-i' ...
 matched as input file with argument '/sdcard/3.wav'.
Reading option '-c:a' ...
 matched as option 'c' (codec name) with argument 'aac'.
Reading option '-strict' ...
 matched as AVOption 'strict' with argument 'experimental'.
Reading option '-b:a' ...
 matched as option 'b' (video bitrate (please use -b:v)) with argument '56k'.
Reading option '-preset' ...
 matched as AVOption 'preset' with argument 'ultrafast'.
Reading option '/sdcard/111.mp4' ...
 matched as output file.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option loglevel (set libav* logging level) with argument debug.
Applying option y (overwrite output files) with argument 1.
Successfully parsed a group of options.
Parsing a group of options: input file /sdcard/111.yuv.
Successfully parsed a group of options.
Opening an input file: /sdcard/111.yuv.
Format aac detected only with low score of 1, misdetection possible!
File position before avformat_find_stream_info() is 0
get_buffer() failed
Error decoding AAC frame header.
channel element 2.12 is not allocated
More than one AAC RDB per ADTS frame is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
channel element 3.4 is not allocated
channel element 2.2 is not allocated
Number of scalefactor bands in group (44) exceeds limit (40).
channel element 2.10 is not allocated
channel element 1.15 is not allocated
channel element 3.6 is not allocated
channel element 2.0 is not allocated
channel element 3.3 is not allocated
Sample rate index in program config element does not match the sample rate index configured by the container.
channel element 2.8 is not allocated
Sample rate index in program config element does not match the sample rate index configured by the container.
channel element 3.2 is not allocated
Reserved bit set.
channel element 2.6 is not allocated
channel element 2.1 is not allocated
Dependent coupling is not supported together with LTP
Dependent coupling is not supported together with LTP
Dependent coupling is not supported together with LTP
Dependent coupling is not supported together with LTP
Dependent coupling is not supported together with LTP

and the "Dependent coupling..." line loops thousands of times

A:

I didn't open rawvideo and yuv4 encoder/decoder and muxer/demuxer when compile ffmpeg. After I add them, it has been solved. 

