Merge remote-tracking branch 'qatar/master'
authorMichael Niedermayer <michaelni@gmx.at>
Fri, 24 Jun 2011 00:54:12 +0000 (02:54 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Fri, 24 Jun 2011 01:07:04 +0000 (03:07 +0200)
* qatar/master:
  doxygen: Consistently use '@' instead of '\' for Doxygen markup.
  Use av_printf_format to check the usage of printf style functions
  Add av_printf_format, for marking printf style format strings and their parameters
  ARM: enable thumb for Cortex-M* CPUs
  nsvdec: Propagate error values instead of returning 0 in nsv_read_header().
  build: remove SRC_PATH_BARE variable
  build: move basic rules and variables to main Makefile
  build: move special targets to end of main Makefile
  lavdev: improve feedback in case of invalid frame rate/size
  vfwcap: prefer "framerate_q" over "fps" in vfw_read_header()
  v4l2: prefer "framerate_q" over "fps" in v4l2_set_parameters()
  fbdev: prefer "framerate_q" over "fps" in device context
  bktr: prefer "framerate" over "fps" for grab_read_header()
  ALSA: implement channel layout for playback.
  alsa: support unsigned variants of already supported signed formats.
  alsa: add support for more formats.
  ARM: allow building in Thumb2 mode

Conflicts:
common.mak
doc/APIchanges
libavcodec/vdpau.h
libavdevice/alsa-audio-common.c
libavdevice/fbdev.c
libavdevice/libdc1394.c
libavutil/avutil.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
81 files changed:
1  2 
Makefile
configure
doc/APIchanges
libavcodec/acelp_pitch_delay.h
libavcodec/arm/aac.h
libavcodec/arm/ac3dsp_armv6.S
libavcodec/arm/asm.S
libavcodec/arm/dcadsp_neon.S
libavcodec/arm/dsputil_arm.S
libavcodec/arm/dsputil_armv6.S
libavcodec/arm/dsputil_neon.S
libavcodec/arm/dsputil_vfp.S
libavcodec/arm/fmtconvert_neon.S
libavcodec/arm/fmtconvert_vfp.S
libavcodec/arm/h264dsp_neon.S
libavcodec/arm/h264idct_neon.S
libavcodec/arm/mathops.h
libavcodec/arm/mdct_neon.S
libavcodec/arm/mpegvideo_armv5te_s.S
libavcodec/arm/mpegvideo_neon.S
libavcodec/arm/rdft_neon.S
libavcodec/arm/simple_idct_arm.S
libavcodec/arm/simple_idct_armv5te.S
libavcodec/arm/simple_idct_armv6.S
libavcodec/arm/simple_idct_neon.S
libavcodec/arm/synth_filter_neon.S
libavcodec/arm/vp56_arith.h
libavcodec/arm/vp8_armv6.S
libavcodec/arm/vp8dsp_neon.S
libavcodec/avcodec.h
libavcodec/celp_filters.h
libavcodec/fft.h
libavcodec/g729dec.c
libavcodec/h264_parser.c
libavcodec/lagarith.c
libavcodec/lagarithrac.h
libavcodec/lcldec.c
libavcodec/lsp.c
libavcodec/lsp.h
libavcodec/motion_est.c
libavcodec/motion_est_template.c
libavcodec/mpegvideo.h
libavcodec/nuv.c
libavcodec/qcelpdata.h
libavcodec/qcelpdec.c
libavcodec/rtjpeg.c
libavcodec/tableprint.h
libavcodec/twinvq.c
libavcodec/vaapi.c
libavcodec/vaapi.h
libavcodec/vaapi_internal.h
libavcodec/vdpau.c
libavcodec/vdpau.h
libavcodec/x86/idct_sse2_xvid.c
libavcodec/x86/idct_xvid.h
libavcodec/xsubenc.c
libavdevice/alsa-audio-common.c
libavdevice/alsa-audio.h
libavdevice/bktr.c
libavdevice/fbdev.c
libavdevice/v4l2.c
libavdevice/vfwcap.c
libavformat/asfcrypt.c
libavformat/avio.h
libavformat/gxf.c
libavformat/internal.h
libavformat/mpegts.c
libavformat/nuv.c
libavformat/rtpproto.c
libavutil/arm/intmath.h
libavutil/attributes.h
libavutil/avstring.h
libavutil/avutil.h
libavutil/common.h
libavutil/des.c
libavutil/des.h
libavutil/log.h
libavutil/lzo.c
libavutil/lzo.h
libavutil/rc4.h
subdir.mak

diff --combined Makefile
+++ b/Makefile
@@@ -1,21 -1,53 +1,57 @@@
  include config.mak
  
- SRC_DIR = $(SRC_PATH_BARE)
+ vpath %.c    $(SRC_PATH)
+ vpath %.h    $(SRC_PATH)
+ vpath %.S    $(SRC_PATH)
+ vpath %.asm  $(SRC_PATH)
+ vpath %.v    $(SRC_PATH)
+ vpath %.texi $(SRC_PATH)
+ ifndef V
+ Q      = @
+ ECHO   = printf "$(1)\t%s\n" $(2)
 -BRIEF  = CC AS YASM AR LD HOSTCC
++BRIEF  = CC AS YASM AR LD HOSTCC STRIP CP
+ SILENT = DEPCC YASMDEP RM RANLIB
+ MSG    = $@
+ M      = @$(call ECHO,$(TAG),$@);
+ $(foreach VAR,$(BRIEF), \
+     $(eval override $(VAR) = @$$(call ECHO,$(VAR),$$(MSG)); $($(VAR))))
+ $(foreach VAR,$(SILENT),$(eval override $(VAR) = @$($(VAR))))
+ $(eval INSTALL = @$(call ECHO,INSTALL,$$(^:$(SRC_PATH)/%=%)); $(INSTALL))
+ endif
+ IFLAGS     := -I. -I$(SRC_PATH)
+ CPPFLAGS   := $(IFLAGS) $(CPPFLAGS)
+ CFLAGS     += $(ECFLAGS)
+ YASMFLAGS  += $(IFLAGS) -Pconfig.asm
+ HOSTCFLAGS += $(IFLAGS)
+ %.o: %.c
+       $(CCDEP)
+       $(CC) $(CPPFLAGS) $(CFLAGS) $(CC_DEPFLAGS) -c $(CC_O) $<
+ %.o: %.S
+       $(ASDEP)
+       $(AS) $(CPPFLAGS) $(ASFLAGS) $(AS_DEPFLAGS) -c -o $@ $<
+ %.ho: %.h
+       $(CC) $(CPPFLAGS) $(CFLAGS) -Wno-unused -c -o $@ -x c $<
  
- vpath %.c   $(SRC_DIR)
- vpath %.h   $(SRC_DIR)
- vpath %.S   $(SRC_DIR)
- vpath %.asm $(SRC_DIR)
- vpath %.v   $(SRC_DIR)
- vpath %.texi $(SRC_PATH_BARE)
+ %.ver: %.v
+       $(Q)sed 's/$$MAJOR/$($(basename $(@F))_VERSION_MAJOR)/' $^ > $@
+ %.c %.h: TAG = GEN
++# Do not delete intermediate files from chains of implicit rules
++$(OBJS):
 +
  PROGS-$(CONFIG_FFMPEG)   += ffmpeg
  PROGS-$(CONFIG_FFPLAY)   += ffplay
  PROGS-$(CONFIG_FFPROBE)  += ffprobe
  PROGS-$(CONFIG_FFSERVER) += ffserver
  
  PROGS      := $(PROGS-yes:%=%$(EXESUF))
 +PROGS_G     = $(PROGS-yes:%=%_g$(EXESUF))
  OBJS        = $(PROGS-yes:%=%.o) cmdutils.o
  TOOLS       = $(addprefix tools/, $(addsuffix $(EXESUF), cws2fws graph2dot lavfi-showfiltfmts pktdumper probetest qt-faststart trasher))
  TESTTOOLS   = audiogen videogen rotozoom tiny_psnr base64
@@@ -23,7 -55,6 +59,7 @@@ HOSTPROGS  := $(TESTTOOLS:%=tests/%
  
  BASENAMES   = ffmpeg ffplay ffprobe ffserver
  ALLPROGS    = $(BASENAMES:%=%$(EXESUF))
 +ALLPROGS_G  = $(BASENAMES:%=%_g$(EXESUF))
  ALLMANPAGES = $(BASENAMES:%=%.1)
  
  ALLFFLIBS = avcodec avdevice avfilter avformat avutil postproc swscale
@@@ -37,7 -68,7 +73,7 @@@ FFLIBS-$(CONFIG_SWSCALE)  += swscal
  
  FFLIBS := avutil
  
- DATA_FILES := $(wildcard $(SRC_DIR)/ffpresets/*.ffpreset)
+ DATA_FILES := $(wildcard $(SRC_PATH)/ffpresets/*.ffpreset)
  
  SKIPHEADERS = cmdutils_common_opts.h
  
@@@ -49,12 -80,8 +85,12 @@@ FF_DEP_LIBS  := $(DEP_LIBS
  
  all: $(FF_DEP_LIBS) $(PROGS)
  
 +$(PROGS): %$(EXESUF): %_g$(EXESUF)
 +      $(CP) $< $@
 +      $(STRIP) $@
 +
  config.h: .config
- .config: $(wildcard $(FFLIBS:%=$(SRC_DIR)/lib%/all*.c))
+ .config: $(wildcard $(FFLIBS:%=$(SRC_PATH)/lib%/all*.c))
        @-tput bold 2>/dev/null
        @-printf '\nWARNING: $(?F) newer than config.h, rerun configure\n\n'
        @-tput sgr0 2>/dev/null
@@@ -77,10 -104,10 +113,10 @@@ ende
  $(foreach D,$(FFLIBS),$(eval $(call DOSUBDIR,lib$(D))))
  
  ffplay.o: CFLAGS += $(SDL_CFLAGS)
 -ffplay$(EXESUF): FF_EXTRALIBS += $(SDL_LIBS)
 -ffserver$(EXESUF): FF_LDFLAGS += $(FFSERVERLDFLAGS)
 +ffplay_g$(EXESUF): FF_EXTRALIBS += $(SDL_LIBS)
 +ffserver_g$(EXESUF): FF_LDFLAGS += $(FFSERVERLDFLAGS)
  
 -$(PROGS): %$(EXESUF): %.o cmdutils.o $(FF_DEP_LIBS)
 +%_g$(EXESUF): %.o cmdutils.o $(FF_DEP_LIBS)
        $(LD) $(FF_LDFLAGS) -o $@ $< cmdutils.o $(FF_EXTRALIBS)
  
  alltools: $(TOOLS)
@@@ -93,8 -120,8 +129,8 @@@ tools/%.o: tools/%.
  
  -include $(wildcard tools/*.d)
  
- VERSION_SH  = $(SRC_PATH_BARE)/version.sh
- GIT_LOG     = $(SRC_PATH_BARE)/.git/logs/HEAD
+ VERSION_SH  = $(SRC_PATH)/version.sh
+ GIT_LOG     = $(SRC_PATH)/.git/logs/HEAD
  
  .version: $(wildcard $(GIT_LOG)) $(VERSION_SH) config.mak
  .version: M=@
@@@ -134,7 -161,7 +170,7 @@@ uninstall-data
        $(RM) -r "$(DATADIR)"
  
  clean::
 -      $(RM) $(ALLPROGS)
 +      $(RM) $(ALLPROGS) $(ALLPROGS_G)
        $(RM) $(CLEANSUFFIXES)
        $(RM) $(TOOLS)
        $(RM) $(CLEANSUFFIXES:%=tools/%)
@@@ -144,12 -171,20 +180,20 @@@ distclean:
        $(RM) config.* .version version.h libavutil/avconfig.h
  
  config:
 -      $(SRC_PATH)/configure $(value LIBAV_CONFIGURATION)
 +      $(SRC_PATH)/configure $(value FFMPEG_CONFIGURATION)
  
 -check: test checkheaders
 +check: test
  
  include doc/Makefile
  include tests/Makefile
  
+ # Dummy rule to stop make trying to rebuild removed or renamed headers
+ %.h:
+       @:
+ # Disable suffix rules.  Most of the builtin rules are suffix rules,
+ # so this saves some time on slow systems.
+ .SUFFIXES:
  .PHONY: all alltools *clean check config examples install*
  .PHONY: testprogs uninstall*
diff --combined configure
+++ b/configure
@@@ -1,6 -1,6 +1,6 @@@
  #!/bin/sh
  #
 -# Libav configure script
 +# FFmpeg configure script
  #
  # Copyright (c) 2000-2002 Fabrice Bellard
  # Copyright (c) 2005-2008 Diego Biurrun
@@@ -44,9 -44,9 +44,9 @@@ if test "$E1" != 0 || test "$E2" = 0; t
      echo "No compatible shell script interpreter found."
      echo "This configure script requires a POSIX-compatible shell"
      echo "such as bash or ksh."
 -    echo "THIS IS NOT A BUG IN LIBAV, DO NOT REPORT IT AS SUCH."
 +    echo "THIS IS NOT A BUG IN FFMPEG, DO NOT REPORT IT AS SUCH."
      echo "Instead, install a working POSIX-compatible shell."
 -    echo "Disabling this configure test will create a broken Libav."
 +    echo "Disabling this configure test will create a broken FFmpeg."
      if test "$BASH_VERSION" = '2.04.0(1)-release'; then
          echo "This bash version ($BASH_VERSION) is broken on your platform."
          echo "Upgrade to a later version if available."
@@@ -160,7 -160,6 +160,7 @@@ Configuration options
  External library support:
    --enable-avisynth        enable reading of AVISynth script files [no]
    --enable-bzlib           enable bzlib [autodetect]
 +  --enable-libcelt         enable CELT/Opus decoding via libcelt [no]
    --enable-frei0r          enable frei0r video filtering
    --enable-libopencore-amrnb enable AMR-NB de/encoding via libopencore-amrnb [no]
    --enable-libopencore-amrwb enable AMR-WB decoding via libopencore-amrwb [no]
@@@ -240,12 -239,11 +240,12 @@@ Advanced options (experts only)
    --disable-symver         disable symbol versioning
    --optflags               override optimization-related compiler flags
  
 -Developer options (useful when working on Libav itself):
 +Developer options (useful when working on FFmpeg itself):
    --disable-debug          disable debugging symbols
    --enable-debug=LEVEL     set the debug level [$debuglevel]
    --disable-optimizations  disable compiler optimizations
    --enable-extra-warnings  enable more compiler warnings
 +  --disable-stripping      disable stripping of executables and shared libraries
    --samples=PATH           location of test samples for FATE, if not set use
                             \$FATE_SAMPLES at make invocation time.
  
@@@ -282,7 -280,7 +282,7 @@@ die()
  
  If you think configure made a mistake, make sure you are using the latest
  version from Git.  If the latest version fails, report the problem to the
 -libav-user@libav.org mailing list or IRC #libav on irc.freenode.net.
 +ffmpeg-user@ffmpeg.org mailing list or IRC #ffmpeg on irc.freenode.net.
  EOF
      if disabled logging; then
          cat <<EOF
@@@ -760,7 -758,7 +760,7 @@@ check_pkg_config()
      headers="$2"
      funcs="$3"
      shift 3
 -    $pkg_config --exists $pkg || return
 +    $pkg_config --exists $pkg 2>/dev/null || return
      pkg_cflags=$($pkg_config --cflags $pkg)
      pkg_libs=$($pkg_config --libs $pkg)
      check_func_headers "$headers" "$funcs" $pkg_cflags $pkg_libs "$@" &&
@@@ -909,7 -907,6 +909,7 @@@ CONFIG_LIST=
      avformat
      avisynth
      bzlib
 +    crystalhd
      dct
      doc
      dwt
      h264pred
      hardcoded_tables
      huffman
 +    libcelt
      libdc1394
      libdirac
      libfaac
      static
      swscale
      swscale_alpha
+     thumb
      vaapi
      vdpau
      version3
@@@ -1075,8 -1072,9 +1076,8 @@@ HAVE_LIST=
      inet_aton
      inline_asm
      isatty
 +    kbhit
      ldbrx
 -    libdc1394_1
 -    libdc1394_2
      llrint
      llrintf
      local_aligned_16
      sys_soundcard_h
      sys_videoio_h
      ten_operands
 +    termios_h
      threads
      trunc
      truncf
@@@ -1152,7 -1149,6 +1153,7 @@@ CMDLINE_SELECT=
      extra_warnings
      logging
      optimizations
 +    stripping
      symver
      yasm
  "
@@@ -1183,7 -1179,6 +1184,7 @@@ CMDLINE_SET=
      host_ldflags
      host_libs
      host_os
 +    install
      ld
      logfile
      malloc_prefix
      optflags
      pkg_config
      samples
 +    strip
      sysinclude
      sysroot
      target_exec
@@@ -1277,7 -1271,6 +1278,7 @@@ flac_decoder_select="golomb
  flac_encoder_select="golomb lpc"
  flashsv_decoder_select="zlib"
  flashsv_encoder_select="zlib"
 +flashsv2_encoder_select="zlib"
  flv_decoder_select="h263_decoder"
  flv_encoder_select="h263_encoder"
  fraps_decoder_select="huffman"
@@@ -1288,7 -1281,6 +1289,7 @@@ h263_vaapi_hwaccel_select="vaapi h263_d
  h263i_decoder_select="h263_decoder"
  h263p_encoder_select="h263_encoder"
  h264_decoder_select="golomb h264dsp h264pred"
 +h264_crystalhd_decoder_select="crystalhd h264_mp4toannexb_bsf h264_parser"
  h264_dxva2_hwaccel_deps="dxva2api_h"
  h264_dxva2_hwaccel_select="dxva2 h264_decoder"
  h264_vaapi_hwaccel_select="vaapi"
@@@ -1316,18 -1308,13 +1317,18 @@@ mpeg4_decoder_select="h263_decoder mpeg
  mpeg4_encoder_select="h263_encoder"
  mpeg_vdpau_decoder_select="vdpau mpegvideo_decoder"
  mpeg1_vdpau_decoder_select="vdpau mpeg1video_decoder"
 +mpeg1_vdpau_hwaccel_select="vdpau mpeg1video_decoder"
 +mpeg2_crystalhd_decoder_select="crystalhd"
  mpeg2_dxva2_hwaccel_deps="dxva2api_h"
  mpeg2_dxva2_hwaccel_select="dxva2 mpeg2video_decoder"
 +mpeg2_vdpau_hwaccel_select="vdpau mpeg2video_decoder"
  mpeg2_vaapi_hwaccel_select="vaapi mpeg2video_decoder"
 +mpeg4_crystalhd_decoder_select="crystalhd"
  mpeg4_vaapi_hwaccel_select="vaapi mpeg4_decoder"
  mpeg4_vdpau_decoder_select="vdpau mpeg4_decoder"
  mpeg_xvmc_decoder_deps="X11_extensions_XvMClib_h"
  mpeg_xvmc_decoder_select="mpegvideo_decoder"
 +msmpeg4_crystalhd_decoder_select="crystalhd"
  msmpeg4v1_decoder_select="h263_decoder"
  msmpeg4v1_encoder_select="h263_encoder"
  msmpeg4v2_decoder_select="h263_decoder"
@@@ -1351,9 -1338,6 +1352,9 @@@ shorten_decoder_select="golomb
  sipr_decoder_select="lsp"
  snow_decoder_select="dwt"
  snow_encoder_select="aandct dwt"
 +sonic_decoder_select="golomb"
 +sonic_encoder_select="golomb"
 +sonic_ls_encoder_select="golomb"
  svq1_encoder_select="aandct"
  svq3_decoder_select="golomb h264dsp h264pred"
  svq3_decoder_suggest="zlib"
@@@ -1364,7 -1348,6 +1365,7 @@@ truehd_decoder_select="mlp_decoder
  tscc_decoder_select="zlib"
  twinvq_decoder_select="mdct lsp sinewin"
  vc1_decoder_select="h263_decoder"
 +vc1_crystalhd_decoder_select="crystalhd"
  vc1_dxva2_hwaccel_deps="dxva2api_h DXVA_PictureParameters_wDecodedPictureIndex"
  vc1_dxva2_hwaccel_select="dxva2 vc1_decoder"
  vc1_vaapi_hwaccel_select="vaapi vc1_decoder"
@@@ -1386,7 -1369,6 +1387,7 @@@ wmv1_encoder_select="h263_encoder
  wmv2_decoder_select="h263_decoder"
  wmv2_encoder_select="h263_encoder"
  wmv3_decoder_select="vc1_decoder"
 +wmv3_crystalhd_decoder_select="crystalhd"
  wmv3_dxva2_hwaccel_select="vc1_dxva2_hwaccel"
  wmv3_vaapi_hwaccel_select="vc1_vaapi_hwaccel"
  wmv3_vdpau_decoder_select="vc1_vdpau_decoder"
@@@ -1395,7 -1377,6 +1396,7 @@@ zlib_encoder_select="zlib
  zmbv_decoder_select="zlib"
  zmbv_encoder_select="zlib"
  
 +crystalhd_deps="libcrystalhd_libcrystalhd_if_h"
  vaapi_deps="va_va_h"
  vdpau_deps="vdpau_vdpau_h vdpau_vdpau_x11_h"
  
  h264_parser_select="golomb h264dsp h264pred"
  
  # external libraries
 +libcelt_decoder_deps="libcelt"
  libdirac_decoder_deps="libdirac !libschroedinger"
  libdirac_encoder_deps="libdirac"
  libfaac_encoder_deps="libfaac"
@@@ -1464,15 -1444,12 +1465,15 @@@ w64_demuxer_deps="wav_demuxer
  alsa_indev_deps="alsa_asoundlib_h snd_pcm_htimestamp"
  alsa_outdev_deps="alsa_asoundlib_h"
  bktr_indev_deps_any="dev_bktr_ioctl_bt848_h machine_ioctl_bt848_h dev_video_bktr_ioctl_bt848_h dev_ic_bt8xx_h"
 +dshow_indev_deps="IBaseFilter"
 +dshow_indev_extralibs="-lpsapi -lole32 -lstrmiids -luuid"
  dv1394_indev_deps="dv1394 dv_demuxer"
  fbdev_indev_deps="linux_fb_h"
 -jack_indev_deps="jack_jack_h"
 +jack_indev_deps="jack_jack_h sem_timedwait"
  libdc1394_indev_deps="libdc1394"
  oss_indev_deps_any="soundcard_h sys_soundcard_h"
  oss_outdev_deps_any="soundcard_h sys_soundcard_h"
 +sdl_outdev_deps="sdl"
  sndio_indev_deps="sndio_h"
  sndio_outdev_deps="sndio_h"
  v4l_indev_deps="linux_videodev_h"
@@@ -1500,9 -1477,6 +1501,9 @@@ drawtext_filter_deps="libfreetype
  frei0r_filter_deps="frei0r dlopen strtok_r"
  frei0r_src_filter_deps="frei0r dlopen strtok_r"
  hqdn3d_filter_deps="gpl"
 +movie_filter_deps="avcodec avformat"
 +mp_filter_deps="gpl avcodec"
 +negate_filter_deps="lut_filter"
  ocv_filter_deps="libopencv"
  scale_filter_deps="swscale"
  yadif_filter_deps="gpl"
@@@ -1646,13 -1620,11 +1647,13 @@@ ar_default="ar
  cc_default="gcc"
  cc_version=\"unknown\"
  host_cc_default="gcc"
 +install="install"
  ln_s="ln -sf"
  nm_default="nm"
  objformat="elf"
  pkg_config_default=pkg-config
  ranlib="ranlib"
 +strip_default="strip"
  yasmexe="yasm"
  nogas=":"
  
@@@ -1685,7 -1657,6 +1686,7 @@@ enable optimization
  enable postproc
  enable protocols
  enable static
 +enable stripping
  enable swscale
  enable swscale_alpha
  
@@@ -1717,7 -1688,7 +1718,7 @@@ DEPFLAGS='$(CPPFLAGS) $(CFLAGS) -MM
  
  # find source path
  if test -f configure; then
-     source_path="$(pwd)"
+     source_path=.
      disable source_path_used
  else
      source_path=$(cd $(dirname "$0"); pwd)
@@@ -1732,7 -1703,7 +1733,7 @@@ for v in "$@"; d
      r=${v#*=}
      l=${v%"$r"}
      r=$(sh_quote "$r")
 -    LIBAV_CONFIGURATION="${LIBAV_CONFIGURATION# } ${l}${r}"
 +    FFMPEG_CONFIGURATION="${FFMPEG_CONFIGURATION# } ${l}${r}"
  done
  
  find_things(){
@@@ -1844,7 -1815,7 +1845,7 @@@ don
  
  disabled logging && logfile=/dev/null
  
 -echo "# $0 $LIBAV_CONFIGURATION" > $logfile
 +echo "# $0 $FFMPEG_CONFIGURATION" > $logfile
  set >> $logfile
  
  test -n "$cross_prefix" && enable cross_compile
@@@ -1861,11 -1832,10 +1862,11 @@@ cc_default="${cross_prefix}${cc_default
  nm_default="${cross_prefix}${nm_default}"
  pkg_config_default="${cross_prefix}${pkg_config_default}"
  ranlib="${cross_prefix}${ranlib}"
 +strip_default="${cross_prefix}${strip_default}"
  
  sysinclude_default="${sysroot}/usr/include"
  
 -set_default cc nm pkg_config sysinclude
 +set_default cc nm pkg_config strip sysinclude
  enabled cross_compile || host_cc_default=$cc
  set_default host_cc
  
@@@ -2263,7 -2233,7 +2264,7 @@@ elif enabled x86; the
              disable cmov
          ;;
          # targets that do support conditional mov (cmov)
 -        i686|pentiumpro|pentium[23]|pentium-m|athlon|athlon-tbird|athlon-4|athlon-[mx]p|athlon64|k8|opteron|athlon-fx|core2|amdfam10|barcelona|atom)
 +        i686|pentiumpro|pentium[23]|pentium-m|athlon|athlon-tbird|athlon-4|athlon-[mx]p|athlon64*|k8*|opteron*|athlon-fx|core2|amdfam10|barcelona|atom)
              cpuflags="-march=$cpu"
              enable cmov
              enable fast_cmov
@@@ -2300,7 -2270,7 +2301,7 @@@ elif enabled arm; the
              case $cpu in
                  cortex-a*)                               subarch=armv7a  ;;
                  cortex-r*)                               subarch=armv7r  ;;
-                 cortex-m*)                               subarch=armv7m  ;;
+                 cortex-m*)                 enable thumb; subarch=armv7m  ;;
                  arm11*)                                  subarch=armv6   ;;
                  arm[79]*e*|arm9[24]6*|arm96*|arm102[26]) subarch=armv5te ;;
                  armv4*|arm7*|arm9[24]*)                  subarch=armv4   ;;
@@@ -2412,7 -2382,7 +2413,7 @@@ case $target_os i
      openbsd)
          enable malloc_aligned
          # On OpenBSD 4.5. the compiler does not use PIC unless
 -        # explicitly using -fPIC. Libav builds fine without PIC,
 +        # explicitly using -fPIC. FFmpeg builds fine without PIC,
          # however the generated executable will not do anything
          # (simply quits with exit-code 1, no crash, no output).
          # Thus explicitly enable PIC here.
          ;;
      bsd/os)
          add_extralibs -lpoll -lgnugetopt
 +        strip="strip -d"
          ;;
      darwin)
          enable malloc_aligned
          enabled ppc && add_asflags -force_cpusubtype_ALL
          SHFLAGS='-dynamiclib -Wl,-single_module -Wl,-install_name,$(SHLIBDIR)/$(SLIBNAME),-current_version,$(LIBVERSION),-compatibility_version,$(LIBMAJOR)'
          enabled x86_32 && append SHFLAGS -Wl,-read_only_relocs,suppress
 +        strip="${strip} -x"
          add_ldflags -Wl,-dynamic,-search_paths_first
          SLIBSUF=".dylib"
          SLIBNAME_WITH_VERSION='$(SLIBPREF)$(FULLNAME).$(LIBVERSION)$(SLIBSUF)'
          LIBTARGET=i386
          if enabled x86_64; then
              enable malloc_aligned
 -            LIBTARGET="i386:x86-64"
 +            LIBTARGET=x64
          elif enabled arm; then
              LIBTARGET=arm-wince
          fi
          SLIBSUF=".dll"
          SLIBNAME_WITH_VERSION='$(SLIBPREF)$(FULLNAME)-$(LIBVERSION)$(SLIBSUF)'
          SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)'
 -        SLIB_EXTRA_CMD=-'$(DLLTOOL) -m $(LIBTARGET) -d $$(@:$(SLIBSUF)=.def) -l $(SUBDIR)$(SLIBNAME_WITH_MAJOR:$(SLIBSUF)=.lib) -D $(SLIBNAME_WITH_MAJOR)'
 +        SLIB_EXTRA_CMD='-lib.exe /machine:$(LIBTARGET) /def:$$(@:$(SLIBSUF)=.def) /out:$(SUBDIR)$(SLIBNAME_WITH_MAJOR:$(SLIBSUF)=.lib)'
          SLIB_INSTALL_EXTRA_CMD='-install -m 644 $(SUBDIR)$(SLIBNAME_WITH_MAJOR:$(SLIBSUF)=.lib) "$(SHLIBDIR)/$(SLIBNAME:$(SLIBSUF)=.lib)"; \
              install -m 644 $(SUBDIR)$(SLIBNAME_WITH_MAJOR:$(SLIBSUF)=.lib) "$(SHLIBDIR)/$(SLIBNAME_WITH_MAJOR:$(SLIBSUF)=.lib)"; \
              install -d "$(LIBDIR)"; \
          SLIB_UNINSTALL_EXTRA_CMD='rm -f "$(SHLIBDIR)/$(SLIBNAME:$(SLIBSUF)=.lib)"'
          SHFLAGS='-shared -Wl,--output-def,$$(@:$(SLIBSUF)=.def) -Wl,--out-implib,$(SUBDIR)lib$(SLIBNAME:$(SLIBSUF)=.dll.a) -Wl,--enable-runtime-pseudo-reloc -Wl,--enable-auto-image-base'
          objformat="win32"
 -        dlltool="${cross_prefix}dlltool"
          enable dos_paths
          check_cflags -fno-common
          check_cpp_condition _mingw.h "defined (__MINGW64_VERSION_MAJOR) || (__MINGW32_MAJOR_VERSION > 3) \
          ranlib="echo ignoring ranlib"
          ;;
      os/2*)
 +        strip="lxlite -CS"
          ln_s="cp -f"
          objformat="aout"
          add_cppflags -D_GNU_SOURCE
          ;;
  esac
  
 -echo "config:$arch:$subarch:$cpu:$target_os:$cc_ident:$LIBAV_CONFIGURATION" >config.fate
 +echo "config:$arch:$subarch:$cpu:$target_os:$cc_ident:$FFMPEG_CONFIGURATION" >config.fate
  
  check_cpp_condition stdlib.h "defined(__PIC__) || defined(__pic__) || defined(PIC)" && enable pic
  
@@@ -2640,7 -2608,7 +2641,7 @@@ if enabled alpha; the
  
  elif enabled arm; then
  
-     check_cflags -marm
+     enabled thumb && check_cflags -mthumb || check_cflags -marm
      nogas=die
  
      if     check_cpp_condition stddef.h "defined __ARM_PCS_VFP"; then
@@@ -2842,7 -2810,6 +2843,7 @@@ check_func  ${malloc_prefix}posix_memal
  check_func  setrlimit
  check_func  strerror_r
  check_func  strtok_r
 +check_func_headers conio.h kbhit
  check_func_headers io.h setmode
  check_func_headers lzo/lzo1x.h lzo1x_999_compress
  check_lib2 "windows.h psapi.h" GetProcessMemoryInfo -lpsapi
@@@ -2852,13 -2819,11 +2853,13 @@@ check_func_headers windows.h VirtualAll
  
  check_header dlfcn.h
  check_header dxva2api.h
 +check_header libcrystalhd/libcrystalhd_if.h
  check_header malloc.h
  check_header poll.h
  check_header sys/mman.h
  check_header sys/resource.h
  check_header sys/select.h
 +check_header termios.h
  check_header vdpau/vdpau.h
  check_header vdpau/vdpau_x11.h
  check_header X11/extensions/XvMClib.h
@@@ -2896,7 -2861,6 +2897,7 @@@ for thread in $THREADS_LIST; d
  done
  
  check_lib math.h sin -lm && LIBM="-lm"
 +disabled crystalhd || check_lib libcrystalhd/libcrystalhd_if.h DtsCrystalHDVersion -lcrystalhd || disable crystalhd
  enabled vaapi && require vaapi va/va.h vaInitialize -lva
  
  check_mathfunc exp2
@@@ -2914,9 -2878,7 +2915,9 @@@ check_mathfunc trunc
  
  # these are off by default, so fail if requested and not available
  enabled avisynth   && require2 vfw32 "windows.h vfw.h" AVIFileInit -lavifil32
 +enabled libcelt    && require libcelt celt/celt.h celt_decode -lcelt0
  enabled frei0r     && { check_header frei0r.h || die "ERROR: frei0r.h header not found"; }
 +enabled libdc1394  && require_pkg_config libdc1394-2 dc1394/dc1394.h dc1394_new
  enabled libdirac   && require_pkg_config dirac                          \
      "libdirac_decoder/dirac_parser.h libdirac_encoder/dirac_encoder.h"  \
      "dirac_decoder_init dirac_encoder_init"
@@@ -2927,7 -2889,7 +2928,7 @@@ enabled libmp3lame && require  "libmp3l
  enabled libnut     && require  libnut libnut.h nut_demuxer_init -lnut
  enabled libopencore_amrnb  && require libopencore_amrnb opencore-amrnb/interf_dec.h Decoder_Interface_init -lopencore-amrnb
  enabled libopencore_amrwb  && require libopencore_amrwb opencore-amrwb/dec_if.h D_IF_init -lopencore-amrwb
 -enabled libopencv  && require_pkg_config opencv opencv/cv.h cvCreateImageHeader
 +enabled libopencv  && require_pkg_config opencv opencv/cxcore.h cvCreateImageHeader
  enabled libopenjpeg && require libopenjpeg openjpeg.h opj_version -lopenjpeg
  enabled librtmp    && require_pkg_config librtmp librtmp/rtmp.h RTMP_Socket
  enabled libschroedinger && require_pkg_config schroedinger-1.0 schroedinger/schro.h schro_init
@@@ -2939,8 -2901,8 +2940,8 @@@ enabled libvorbis  && require  libvorbi
  enabled libvpx     && {
      enabled libvpx_decoder && { check_lib2 "vpx/vpx_decoder.h vpx/vp8dx.h" vpx_codec_dec_init_ver -lvpx ||
                                  die "ERROR: libvpx decoder version must be >=0.9.1"; }
 -    enabled libvpx_encoder && { check_lib2 "vpx/vpx_encoder.h vpx/vp8cx.h" vpx_codec_enc_init_ver -lvpx ||
 -                                die "ERROR: libvpx encoder version must be >=0.9.1"; } }
 +    enabled libvpx_encoder && { check_lib2 "vpx/vpx_encoder.h vpx/vp8cx.h" "vpx_codec_enc_init_ver VPX_CQ" -lvpx ||
 +                                die "ERROR: libvpx encoder version must be >=0.9.6"; } }
  enabled libx264    && require  libx264 x264.h x264_encoder_encode -lx264 &&
                        { check_cpp_condition x264.h "X264_BUILD >= 115" ||
                          die "ERROR: libx264 version must be >= 0.115."; }
@@@ -2948,22 -2910,20 +2949,22 @@@ enabled libxavs    && require  libxavs 
  enabled libxvid    && require  libxvid xvid.h xvid_global -lxvidcore
  enabled mlib       && require  mediaLib mlib_types.h mlib_VectorSub_S16_U8_Mod -lmlib
  
 -# libdc1394 check
 -if enabled libdc1394; then
 -    { check_lib dc1394/dc1394.h dc1394_new -ldc1394 -lraw1394 &&
 -        enable libdc1394_2; } ||
 -    { check_lib libdc1394/dc1394_control.h dc1394_create_handle -ldc1394_control -lraw1394 &&
 -        enable libdc1394_1; } ||
 -    die "ERROR: No version of libdc1394 found "
 -fi
 -
 +SDL_CONFIG="${cross_prefix}sdl-config"
  if check_pkg_config sdl SDL_version.h SDL_Linked_Version; then
      check_cpp_condition SDL.h "(SDL_MAJOR_VERSION<<16 | SDL_MINOR_VERSION<<8 | SDL_PATCHLEVEL) >= 0x010201" $sdl_cflags &&
      enable sdl &&
      check_struct SDL.h SDL_VideoInfo current_w $sdl_cflags && enable sdl_video_size
 +else
 +  if "${SDL_CONFIG}" --version > /dev/null 2>&1; then
 +    sdl_cflags=$("${SDL_CONFIG}" --cflags)
 +    sdl_libs=$("${SDL_CONFIG}" --libs)
 +    check_func_headers SDL_version.h SDL_Linked_Version $sdl_cflags $sdl_libs &&
 +    check_cpp_condition SDL.h "(SDL_MAJOR_VERSION<<16 | SDL_MINOR_VERSION<<8 | SDL_PATCHLEVEL) >= 0x010201" $sdl_cflags &&
 +    enable sdl &&
 +    check_struct SDL.h SDL_VideoInfo current_w $sdl_cflags && enable sdl_video_size
 +  fi
  fi
 +enabled sdl && add_cflags $sdl_cflags && add_extralibs $sdl_libs
  
  texi2html -version > /dev/null 2>&1 && enable texi2html || disable texi2html
  
@@@ -2977,8 -2937,6 +2978,8 @@@ check_func_headers "windows.h vfw.h" ca
  # w32api 3.12 had it defined wrong
  check_cpp_condition vfw.h "WM_CAP_DRIVER_CONNECT > WM_USER" && enable vfwcap_defines
  
 +check_type "dshow.h" IBaseFilter
 +
  # check for ioctl_meteor.h, ioctl_bt848.h and alternatives
  { check_header dev/bktr/ioctl_meteor.h &&
    check_header dev/bktr/ioctl_bt848.h; } ||
  check_header dev/ic/bt8xx.h
  
  check_header sndio.h
 -check_header sys/soundcard.h
 +if check_struct sys/soundcard.h audio_buf_info bytes; then
 +    enable_safe sys/soundcard.h
 +else
 +    check_cc -D__BSD_VISIBLE -D__XSI_VISIBLE <<EOF && add_cppflags -D__BSD_VISIBLE -D__XSI_VISIBLE && enable_safe sys/soundcard.h
 +    #include <sys/soundcard.h>
 +    audio_buf_info abc;
 +EOF
 +fi
  check_header soundcard.h
  
  enabled_any alsa_indev alsa_outdev && check_lib2 alsa/asoundlib.h snd_pcm_htimestamp -lasound
  
 -enabled jack_indev && check_lib2 jack/jack.h jack_client_open -ljack
 +enabled jack_indev && check_lib2 jack/jack.h jack_client_open -ljack && check_func sem_timedwait
  
  enabled_any sndio_indev sndio_outdev && check_lib2 sndio.h sio_open -lsndio
  
@@@ -3013,13 -2964,6 +3014,13 @@@ check_func XOpenDisplay -lX1
  check_func XShmCreateImage -lX11 -lXext &&
  check_func XFixesGetCursorImage -lX11 -lXext -lXfixes
  
 +if ! disabled vaapi; then
 +    check_lib va/va.h vaInitialize -lva && {
 +        check_cpp_condition va/va_version.h "VA_CHECK_VERSION(0,32,0)" ||
 +        warn "Please upgrade to VA-API >= 0.32 if you would like full VA-API support.";
 +    } || disable vaapi
 +fi
 +
  if ! disabled vdpau && enabled vdpau_vdpau_h; then
  check_cpp_condition \
      vdpau/vdpau.h "defined VDP_DECODER_PROFILE_MPEG4_PART2_ASP" ||
@@@ -3043,7 -2987,6 +3044,7 @@@ check_cflags -Wwrite-string
  check_cflags -Wtype-limits
  check_cflags -Wundef
  check_cflags -Wmissing-prototypes
 +check_cflags -Wno-pointer-to-int-cast
  enabled extra_warnings && check_cflags -Winline
  
  # add some linker flags
@@@ -3151,11 -3094,6 +3152,11 @@@ check_deps $CONFIG_LIST       
  
  enabled asm || { arch=c; disable $ARCH_LIST $ARCH_EXT_LIST; }
  
 +if test $target_os == "haiku"; then
 +    disable memalign
 +    disable posix_memalign
 +fi
 +
  ! enabled_any memalign posix_memalign malloc_aligned &&
      enabled_any $need_memalign && enable memalign_hack
  
@@@ -3206,7 -3144,6 +3207,7 @@@ if enabled sparc; the
      echo "VIS enabled               ${vis-no}"
  fi
  echo "debug symbols             ${debug-no}"
 +echo "strip symbols             ${stripping-no}"
  echo "optimize for size         ${small-no}"
  echo "optimizations             ${optimizations-no}"
  echo "static                    ${static-no}"
@@@ -3218,7 -3155,6 +3219,7 @@@ echo "threading support         ${threa
  echo "SDL support               ${sdl-no}"
  echo "Sun medialib support      ${mlib-no}"
  echo "AVISynth enabled          ${avisynth-no}"
 +echo "libcelt enabled           ${libcelt-no}"
  echo "frei0r enabled            ${frei0r-no}"
  echo "libdc1394 support         ${libdc1394-no}"
  echo "libdirac enabled          ${libdirac-no}"
@@@ -3277,8 -3213,6 +3278,8 @@@ if enabled source_path_used; the
          libavdevice
          libavfilter
          libavfilter/$arch
 +        libavfilter/libmpcodecs
 +        libavfilter/libmpcodecs/libvo
          libavformat
          libavutil
          libavutil/$arch
      map 'test -f "$source_path/$v" && $ln_s "$source_path/$v" $v' $FILES
  fi
  
 +enabled stripping || strip="echo skipping strip"
 +
  config_files="$TMPH config.mak"
  
  cat > config.mak <<EOF
  # Automatically generated by configure - do not modify!
 -ifndef LIBAV_CONFIG_MAK
 -LIBAV_CONFIG_MAK=1
 -LIBAV_CONFIGURATION=$LIBAV_CONFIGURATION
 +ifndef FFMPEG_CONFIG_MAK
 +FFMPEG_CONFIG_MAK=1
 +FFMPEG_CONFIGURATION=$FFMPEG_CONFIGURATION
  prefix=$prefix
  LIBDIR=\$(DESTDIR)$libdir
  SHLIBDIR=\$(DESTDIR)$shlibdir
@@@ -3325,8 -3257,7 +3326,7 @@@ INCDIR=\$(DESTDIR)$incdi
  BINDIR=\$(DESTDIR)$bindir
  DATADIR=\$(DESTDIR)$datadir
  MANDIR=\$(DESTDIR)$mandir
- SRC_PATH="$source_path"
- SRC_PATH_BARE=$source_path
+ SRC_PATH=$source_path
  CC_IDENT=$cc_ident
  ARCH=$arch
  CC=$cc
@@@ -3337,13 -3268,12 +3337,13 @@@ YASM=$yasmex
  YASMDEP=$yasmexe
  AR=$ar
  RANLIB=$ranlib
 +CP=cp -p
  LN_S=$ln_s
 +STRIP=$strip
  CPPFLAGS=$CPPFLAGS
  CFLAGS=$CFLAGS
  ASFLAGS=$ASFLAGS
  CC_O=$CC_O
 -DLLTOOL=$dlltool
  LDFLAGS=$LDFLAGS
  FFSERVERLDFLAGS=$FFSERVERLDFLAGS
  SHFLAGS=$SHFLAGS
@@@ -3373,7 -3303,7 +3373,7 @@@ SDL_LIBS=$sdl_lib
  SDL_CFLAGS=$sdl_cflags
  LIB_INSTALL_EXTRA_CMD=$LIB_INSTALL_EXTRA_CMD
  EXTRALIBS=$extralibs
 -INSTALL=install
 +INSTALL=$install
  LIBTARGET=${LIBTARGET}
  SLIBNAME=${SLIBNAME}
  SLIBNAME_WITH_VERSION=${SLIBNAME_WITH_VERSION}
@@@ -3405,10 -3335,10 +3405,10 @@@ get_version LIBAVFILTER libavfilter/avf
  
  cat > $TMPH <<EOF
  /* Automatically generated by configure - do not modify! */
 -#ifndef LIBAV_CONFIG_H
 -#define LIBAV_CONFIG_H
 -#define LIBAV_CONFIGURATION "$(c_escape $LIBAV_CONFIGURATION)"
 -#define LIBAV_LICENSE "$(c_escape $license)"
 +#ifndef FFMPEG_CONFIG_H
 +#define FFMPEG_CONFIG_H
 +#define FFMPEG_CONFIGURATION "$(c_escape $FFMPEG_CONFIGURATION)"
 +#define FFMPEG_LICENSE "$(c_escape $license)"
  #define FFMPEG_DATADIR "$(eval c_escape $datadir)"
  #define CC_TYPE "$cc_type"
  #define CC_VERSION $cc_version
@@@ -3459,8 -3389,8 +3459,8 @@@ LAVFI_TESTS=$(print_enabled  -n _test $
  SEEK_TESTS=$(print_enabled   -n _test $SEEK_TESTS)
  EOF
  
 -echo "#endif /* LIBAV_CONFIG_H */" >> $TMPH
 -echo "endif # LIBAV_CONFIG_MAK" >> config.mak
 +echo "#endif /* FFMPEG_CONFIG_H */" >> $TMPH
 +echo "endif # FFMPEG_CONFIG_MAK" >> config.mak
  
  # Do not overwrite an unchanged config.h to avoid superfluous rebuilds.
  cp_if_changed $TMPH config.h
@@@ -3524,10 -3454,10 +3524,10 @@@ Cflags: -I\${includedir
  EOF
  }
  
 -pkgconfig_generate libavutil "Libav utility library" "$LIBAVUTIL_VERSION" "$LIBM"
 -pkgconfig_generate libavcodec "Libav codec library" "$LIBAVCODEC_VERSION" "$extralibs" "libavutil = $LIBAVUTIL_VERSION"
 -pkgconfig_generate libavformat "Libav container format library" "$LIBAVFORMAT_VERSION" "$extralibs" "libavcodec = $LIBAVCODEC_VERSION"
 -pkgconfig_generate libavdevice "Libav device handling library" "$LIBAVDEVICE_VERSION" "$extralibs" "libavformat = $LIBAVFORMAT_VERSION"
 -pkgconfig_generate libavfilter "Libav video filtering library" "$LIBAVFILTER_VERSION" "$extralibs"
 -pkgconfig_generate libpostproc "Libav post processing library" "$LIBPOSTPROC_VERSION" "" "libavutil = $LIBAVUTIL_VERSION"
 -pkgconfig_generate libswscale "Libav image rescaling library" "$LIBSWSCALE_VERSION" "$LIBM" "libavutil = $LIBAVUTIL_VERSION"
 +pkgconfig_generate libavutil "FFmpeg utility library" "$LIBAVUTIL_VERSION" "$LIBM"
 +pkgconfig_generate libavcodec "FFmpeg codec library" "$LIBAVCODEC_VERSION" "$extralibs" "libavutil = $LIBAVUTIL_VERSION"
 +pkgconfig_generate libavformat "FFmpeg container format library" "$LIBAVFORMAT_VERSION" "$extralibs" "libavcodec = $LIBAVCODEC_VERSION"
 +pkgconfig_generate libavdevice "FFmpeg device handling library" "$LIBAVDEVICE_VERSION" "$extralibs" "libavformat = $LIBAVFORMAT_VERSION"
 +pkgconfig_generate libavfilter "FFmpeg video filtering library" "$LIBAVFILTER_VERSION" "$extralibs"
 +pkgconfig_generate libpostproc "FFmpeg post processing library" "$LIBPOSTPROC_VERSION" "" "libavutil = $LIBAVUTIL_VERSION"
 +pkgconfig_generate libswscale "FFmpeg image rescaling library" "$LIBSWSCALE_VERSION" "$LIBM" "libavutil = $LIBAVUTIL_VERSION"
diff --combined doc/APIchanges
@@@ -13,36 -13,9 +13,39 @@@ libavutil:   2011-04-1
  
  API changes, most recent first:
  
 +2011-06-19 - xxxxxxx - lavfi 2.23.0 - avfilter.h
 +  Add layout negotiation fields and helper functions.
 +
 +  In particular, add in_chlayouts and out_chlayouts to AVFilterLink,
 +  and the functions:
 +  avfilter_set_common_sample_formats()
 +  avfilter_set_common_channel_layouts()
 +  avfilter_all_channel_layouts()
 +
 +2011-06-19 - xxxxxxx - lavfi 2.22.0 - AVFilterFormats
 +  Change type of AVFilterFormats.formats from int * to int64_t *,
 +  and update formats handling API accordingly.
 +
 +  avfilter_make_format_list() still takes a int32_t array and converts
 +  it to int64_t. A new function, avfilter_make_format64_list(), that
 +  takes int64_t arrays has been added.
 +
 +2011-06-19 - xxxxxxx - lavfi 2.21.0 - vsink_buffer.h
 +  Add video sink buffer and vsink_buffer.h public header.
 +
 +2011-06-12 - xxxxxxx - lavfi 2.18.0 - avcodec.h
 +  Add avfilter_get_video_buffer_ref_from_frame() function in
 +  libavfilter/avcodec.h.
 +
 +2011-06-12 - xxxxxxx - lavfi 2.17.0 - avfiltergraph.h
 +  Add avfilter_inout_alloc() and avfilter_inout_free() functions.
 +
 +2011-06-12 - xxxxxxx - lavfi 2.16.0 - avfilter_graph_parse()
 +  Change avfilter_graph_parse() signature.
 +
+ 2011-06-xx - xxxxxxx - lavu 51.8.0 - attributes.h
+   Add av_printf_format().
  2011-06-xx - xxxxxxx - lavf 53.2.0 - avformat.h
    Add avformat_open_input and avformat_write_header().
    Deprecate av_open_input_stream, av_open_input_file,
  2011-06-xx - xxxxxxx - lavu 51.6.0 - opt.h
    Add av_opt_flag_is_set().
  
 -2011-06-xx - xxxxxxx - lavu 51.5.0 - AVMetadata
 +2011-06-10 - c381960 - lavfi 2.15.0 - avfilter_get_audio_buffer_ref_from_arrays
 +  Add avfilter_get_audio_buffer_ref_from_arrays() to avfilter.h.
 +
 +2011-06-09 - d9f80ea - lavu 51.8.0 - AVMetadata
    Move AVMetadata from lavf to lavu and rename it to
    AVDictionary -- new installed header dict.h.
    All av_metadata_* functions renamed to av_dict_*.
  
 -2011-06-07 - a6703fa - lavu 51.4.0 - av_get_bytes_per_sample()
 +2011-06-07 - a6703fa - lavu 51.8.0 - av_get_bytes_per_sample()
    Add av_get_bytes_per_sample() in libavutil/samplefmt.h.
    Deprecate av_get_bits_per_sample_fmt().
  
 -2011-06-xx - xxxxxxx - lavu 51.3.0 - opt.h
 +2011-06-xx - b39b062 - lavu 51.8.0 - opt.h
    Add av_opt_free convenience function.
  
 -2011-05-28 - 0420bd7 - lavu 51.2.0 - pixdesc.h
 +2011-06-06 - 95a0242 - lavfi 2.14.0 - AVFilterBufferRefAudioProps
 +  Remove AVFilterBufferRefAudioProps.size, and use nb_samples in
 +  avfilter_get_audio_buffer() and avfilter_default_get_audio_buffer() in
 +  place of size.
 +
 +2011-06-06 - 0bc2cca - lavu 51.6.0 - av_samples_alloc()
 +  Switch nb_channels and nb_samples parameters order in
 +  av_samples_alloc().
 +
 +2011-06-06 - e1c7414 - lavu 51.5.0 - av_samples_*
 +  Change the data layout created by av_samples_fill_arrays() and
 +  av_samples_alloc().
 +
 +2011-06-06 - 27bcf55 - lavfi 2.13.0 - vsrc_buffer.h
 +  Make av_vsrc_buffer_add_video_buffer_ref() accepts an additional
 +  flags parameter in input.
 +
 +2011-06-03 - e977ca2 - lavfi 2.12.0 - avfilter_link_free()
 +  Add avfilter_link_free() function.
 +
 +2011-06-02 - 5ad38d9 - lavu 51.4.0 - av_force_cpu_flags()
 +  Add av_cpu_flags() in libavutil/cpu.h.
 +
 +2011-05-28 - e71f260 - lavu 51.3.0 - pixdesc.h
    Add av_get_pix_fmt_name() in libavutil/pixdesc.h, and deprecate
    avcodec_get_pix_fmt_name() in libavcodec/avcodec.h in its favor.
  
 -2011-05-25 - 30315a8 - lavf 53.1.0 - avformat.h
 +2011-05-25 - 30315a8 - lavf 53.3.0 - avformat.h
    Add fps_probe_size to AVFormatContext.
  
 -2011-05-18 - 64150ff - lavc 53.4.0 - AVCodecContext.request_sample_fmt
 +2011-05-22 - 5ecdfd0 - lavf 53.2.0 - avformat.h
 +  Introduce avformat_alloc_output_context2() and deprecate
 +  avformat_alloc_output_context().
 +
 +2011-05-22 - 83db719 - lavfi 2.10.0 - vsrc_buffer.h
 +  Make libavfilter/vsrc_buffer.h public.
 +
 +2011-05-19 - c000a9f - lavfi 2.8.0 - avcodec.h
 +  Add av_vsrc_buffer_add_frame() to libavfilter/avcodec.h.
 +
 +2011-05-14 - 9fdf772 - lavfi 2.6.0 - avcodec.h
 +  Add avfilter_get_video_buffer_ref_from_frame() to libavfilter/avcodec.h.
 +
 +2011-05-18 - 64150ff - lavc 53.7.0 - AVCodecContext.request_sample_fmt
    Add request_sample_fmt field to AVCodecContext.
  
 -2011-05-10 - 188dea1 - lavc 53.3.0 - avcodec.h
 +2011-05-10 - 188dea1 - lavc 53.6.0 - avcodec.h
    Deprecate AVLPCType and the following fields in
    AVCodecContext: lpc_coeff_precision, prediction_order_method,
    min_partition_order, max_partition_order, lpc_type, lpc_passes.
    Corresponding FLAC encoder options should be used instead.
  
 +2011-05-07 - 9fdf772 - lavfi 2.5.0 - avcodec.h
 +  Add libavfilter/avcodec.h header and avfilter_copy_frame_props()
 +  function.
 +
 +2011-05-07 - 18ded93 - lavc 53.5.0 - AVFrame
 +  Add format field to AVFrame.
 +
 +2011-05-07 - 22333a6 - lavc 53.4.0 - AVFrame
 +  Add width and height fields to AVFrame.
 +
 +2011-05-01 - 35fe66a - lavfi 2.4.0 - avfilter.h
 +  Rename AVFilterBufferRefVideoProps.pixel_aspect to
 +  sample_aspect_ratio.
 +
 +2011-05-01 - 77e9dee - lavc 53.3.0 - AVFrame
 +  Add a sample_aspect_ratio field to AVFrame.
 +
 +2011-05-01 - 1ba5727 - lavc 53.2.0 - AVFrame
 +  Add a pkt_pos field to AVFrame.
 +
 +2011-04-29 - 35ceaa7 - lavu 51.2.0 - mem.h
 +  Add av_dynarray_add function for adding
 +  an element to a dynamic array.
 +
  2011-04-26 - bebe72f - lavu 51.1.0 - avutil.h
    Add AVPictureType enum and av_get_picture_type_char(), deprecate
    FF_*_TYPE defines and av_get_pict_type_char() defined in
      333e894 deprecate url_open_protocol
      e230705 deprecate url_poll and URLPollEntry
  
 -2011-04-10 - lavu  50.40.0 - pixfmt.h
 -  Add PIX_FMT_BGR48LE and PIX_FMT_BGR48BE pixel formats
 -
  2011-04-08 - lavf 52.106.0 - avformat.h
    Minor avformat.h cleanup:
      a9bf9d8 deprecate av_guess_image2_codec
  2011-03-25 - 34b47d7 - lavc 52.115.0 - AVCodecContext.audio_service_type
    Add audio_service_type field to AVCodecContext.
  
 +2011-03-17 - e309fdc - lavu 50.40.0 - pixfmt.h
 +  Add PIX_FMT_BGR48LE and PIX_FMT_BGR48BE pixel formats
 +
  2011-03-02 - 863c471 - lavf  52.103.0 - av_pkt_dump2, av_pkt_dump_log2
    Add new functions av_pkt_dump2, av_pkt_dump_log2 that uses the
    source stream timebase for outputting timestamps. Deprecate
  2011-02-02 - dfd2a00 - lavu 50.37.0 - log.h
    Make av_dlog public.
  
 +2011-01-31 - 7b3ea55 - lavfi 1.76.0 - vsrc_buffer
 +  Add sample_aspect_ratio fields to vsrc_buffer arguments
 +
 +2011-01-31 - 910b5b8 - lavfi 1.75.0 - AVFilterLink sample_aspect_ratio
 +  Add sample_aspect_ratio field to AVFilterLink.
 +
  2011-01-15 - r26374 - lavfi 1.74.0 - AVFilterBufferRefAudioProps
    Rename AVFilterBufferRefAudioProps.samples_nb to nb_samples.
  
@@@ -3,20 -3,20 +3,20 @@@
   *
   * Copyright (c) 2008 Vladimir Voroshilov
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
  #define PITCH_DELAY_MAX             143
  
  /**
-  * \brief Decode pitch delay of the first subframe encoded by 8 bits with 1/3
+  * @brief Decode pitch delay of the first subframe encoded by 8 bits with 1/3
   *        resolution.
-  * \param ac_index adaptive codebook index (8 bits)
+  * @param ac_index adaptive codebook index (8 bits)
   *
-  * \return pitch delay in 1/3 units
+  * @return pitch delay in 1/3 units
   *
   * Pitch delay is coded:
   *    with 1/3 resolution, 19  < pitch_delay <  85
  int ff_acelp_decode_8bit_to_1st_delay3(int ac_index);
  
  /**
-  * \brief Decode pitch delay of the second subframe encoded by 5 or 6 bits
+  * @brief Decode pitch delay of the second subframe encoded by 5 or 6 bits
   *        with 1/3 precision.
-  * \param ac_index adaptive codebook index (5 or 6 bits)
-  * \param pitch_delay_min lower bound (integer) of pitch delay interval
+  * @param ac_index adaptive codebook index (5 or 6 bits)
+  * @param pitch_delay_min lower bound (integer) of pitch delay interval
   *                      for second subframe
   *
-  * \return pitch delay in 1/3 units
+  * @return pitch delay in 1/3 units
   *
   * Pitch delay is coded:
   *    with 1/3 resolution, -6 < pitch_delay - int(prev_pitch_delay) < 5
   *
-  * \remark The routine is used in G.729 @@8k, AMR @@10.2k, AMR @@7.95k,
+  * @remark The routine is used in G.729 @@8k, AMR @@10.2k, AMR @@7.95k,
   *         AMR @@7.4k for the second subframe.
   */
  int ff_acelp_decode_5_6_bit_to_2nd_delay3(
          int pitch_delay_min);
  
  /**
-  * \brief Decode pitch delay with 1/3 precision.
-  * \param ac_index adaptive codebook index (4 bits)
-  * \param pitch_delay_min lower bound (integer) of pitch delay interval for
+  * @brief Decode pitch delay with 1/3 precision.
+  * @param ac_index adaptive codebook index (4 bits)
+  * @param pitch_delay_min lower bound (integer) of pitch delay interval for
   *                      second subframe
   *
-  * \return pitch delay in 1/3 units
+  * @return pitch delay in 1/3 units
   *
   * Pitch delay is coded:
   *    integers only,          -6  < pitch_delay - int(prev_pitch_delay) <= -2
   *    with 1/3 resolution,    -2  < pitch_delay - int(prev_pitch_delay) <  1
   *    integers only,           1 <= pitch_delay - int(prev_pitch_delay) <  5
   *
-  * \remark The routine is used in G.729 @@6.4k, AMR @@6.7k, AMR @@5.9k,
+  * @remark The routine is used in G.729 @@6.4k, AMR @@6.7k, AMR @@5.9k,
   *         AMR @@5.15k, AMR @@4.75k for the second subframe.
   */
  int ff_acelp_decode_4bit_to_2nd_delay3(
          int pitch_delay_min);
  
  /**
-  * \brief Decode pitch delay of the first subframe encoded by 9 bits
+  * @brief Decode pitch delay of the first subframe encoded by 9 bits
   *        with 1/6 precision.
-  * \param ac_index adaptive codebook index (9 bits)
+  * @param ac_index adaptive codebook index (9 bits)
   *
-  * \return pitch delay in 1/6 units
+  * @return pitch delay in 1/6 units
   *
   * Pitch delay is coded:
   *    with 1/6 resolution,  17  < pitch_delay <  95
   *    integers only,        95 <= pitch_delay <= 143
   *
-  * \remark The routine is used in AMR @@12.2k for the first and third subframes.
+  * @remark The routine is used in AMR @@12.2k for the first and third subframes.
   */
  int ff_acelp_decode_9bit_to_1st_delay6(int ac_index);
  
  /**
-  * \brief Decode pitch delay of the second subframe encoded by 6 bits
+  * @brief Decode pitch delay of the second subframe encoded by 6 bits
   *        with 1/6 precision.
-  * \param ac_index adaptive codebook index (6 bits)
-  * \param pitch_delay_min lower bound (integer) of pitch delay interval for
+  * @param ac_index adaptive codebook index (6 bits)
+  * @param pitch_delay_min lower bound (integer) of pitch delay interval for
   *                      second subframe
   *
-  * \return pitch delay in 1/6 units
+  * @return pitch delay in 1/6 units
   *
   * Pitch delay is coded:
   *    with 1/6 resolution, -6 < pitch_delay - int(prev_pitch_delay) < 5
   *
-  * \remark The routine is used in AMR @@12.2k for the second and fourth subframes.
+  * @remark The routine is used in AMR @@12.2k for the second and fourth subframes.
   */
  int ff_acelp_decode_6bit_to_2nd_delay6(
          int ac_index,
          int pitch_delay_min);
  
  /**
-  * \brief Update past quantized energies
-  * \param[in,out]  quant_energy  past quantized energies (5.10)
-  * \param gain_corr_factor gain correction factor
-  * \param log2_ma_pred_order log2() of MA prediction order
-  * \param erasure frame erasure flag
+  * @brief Update past quantized energies
+  * @param[in,out]  quant_energy  past quantized energies (5.10)
+  * @param gain_corr_factor gain correction factor
+  * @param log2_ma_pred_order log2() of MA prediction order
+  * @param erasure frame erasure flag
   *
   * If frame erasure flag is not equal to zero, memory is updated with
   * averaged energy, attenuated by 4dB:
   * In normal mode memory is updated with
   *     Er - Ep = 20 * log10(gain_corr_factor)
   *
-  * \remark The routine is used in G.729 and AMR (all modes).
+  * @remark The routine is used in G.729 and AMR (all modes).
   */
  void ff_acelp_update_past_gain(
          int16_t* quant_energy,
          int erasure);
  
  /**
-  * \brief Decode the adaptive codebook gain and add
+  * @brief Decode the adaptive codebook gain and add
   *        correction (4.1.5 and 3.9.1 of G.729).
-  * \param dsp initialized dsputil context
-  * \param gain_corr_factor gain correction factor (2.13)
-  * \param fc_v fixed-codebook vector (2.13)
-  * \param mr_energy mean innovation energy and fixed-point correction (7.13)
-  * \param[in,out]  quant_energy  past quantized energies (5.10)
-  * \param subframe_size length of subframe
+  * @param dsp initialized dsputil context
+  * @param gain_corr_factor gain correction factor (2.13)
+  * @param fc_v fixed-codebook vector (2.13)
+  * @param mr_energy mean innovation energy and fixed-point correction (7.13)
+  * @param[in,out]  quant_energy  past quantized energies (5.10)
+  * @param subframe_size length of subframe
   *
-  * \return quantized fixed-codebook gain (14.1)
+  * @return quantized fixed-codebook gain (14.1)
   *
   * The routine implements equations 69, 66 and 71 of the G.729 specification (3.9.1)
   *
   *
   *        mr_energy = Em + 10log(N) + 10log(2^26)
   *
-  * \remark The routine is used in G.729 and AMR (all modes).
+  * @remark The routine is used in G.729 and AMR (all modes).
   */
  int16_t ff_acelp_decode_gain_code(
      DSPContext *dsp,
diff --combined libavcodec/arm/aac.h
@@@ -1,20 -1,20 +1,20 @@@
  /*
   * Copyright (c) 2010 Mans Rullgard <mans@mansr.com>
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
@@@ -114,12 -114,15 +114,15 @@@ static inline float *VMUL4S(float *dst
               "vmov     d1,  %2,  %3          \n\t"
               "lsls     %6,  %6,  #1          \n\t"
               "and      %0,  %5,  #1<<31      \n\t"
+              "it       cs                    \n\t"
               "lslcs    %5,  %5,  #1          \n\t"
               "lsls     %6,  %6,  #1          \n\t"
               "and      %1,  %5,  #1<<31      \n\t"
+              "it       cs                    \n\t"
               "lslcs    %5,  %5,  #1          \n\t"
               "lsls     %6,  %6,  #1          \n\t"
               "and      %2,  %5,  #1<<31      \n\t"
+              "it       cs                    \n\t"
               "lslcs    %5,  %5,  #1          \n\t"
               "vmov     d4,  %0,  %1          \n\t"
               "and      %3,  %5,  #1<<31      \n\t"
@@@ -37,14 -37,16 +37,16 @@@ function ff_ac3_bit_alloc_calc_bap_armv
          ldrb            r10, [r4], #1
  1:
          ldrsh           r9,  [r0], #2                   @ mask[band]
 -        movw            r8,  #0x1fe0
 +        ldr             r8,  =0x1fe0
          sub             r9,  r9,  r12                   @   - snr_offset
          mov             r11, r10
          ldrb            r10, [r4], #1                   @ band_start_tab[band++]
          subs            r9,  r9,  r5                    @   - floor
+         it              lt
          movlt           r9,  #0
          cmp             r10, r3                         @   - end
          and             r9,  r9,  r8                    @   & 0x1fe0
+         ite             gt
          subgt           r8,  r3,  r11
          suble           r8,  r10, r11
          add             r9,  r9,  r5                    @   + floor => m
diff --combined libavcodec/arm/asm.S
@@@ -1,20 -1,20 +1,20 @@@
  /*
   * Copyright (c) 2008 Mans Rullgard <mans@mansr.com>
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
  #   define ELF @
  #endif
  
+ #if CONFIG_THUMB
+ #   define A @
+ #   define T
+ #else
+ #   define A
+ #   define T @
+ #endif
          .syntax unified
+ T       .thumb
  
  .macro  require8 val=1
  ELF     .eabi_attribute 24, \val
@@@ -82,6 -91,90 +91,90 @@@ ELF     .size   \name, . - \nam
  #endif
  .endm
  
+ .macro  ldr_pre         rt,  rn,  rm:vararg
+ A       ldr             \rt, [\rn, \rm]!
+ T       add             \rn, \rn, \rm
+ T       ldr             \rt, [\rn]
+ .endm
+ .macro  ldr_post        rt,  rn,  rm:vararg
+ A       ldr             \rt, [\rn], \rm
+ T       ldr             \rt, [\rn]
+ T       add             \rn, \rn, \rm
+ .endm
+ .macro  ldrd_reg        rt,  rt2, rn,  rm
+ A       ldrd            \rt, \rt2, [\rn, \rm]
+ T       add             \rt, \rn, \rm
+ T       ldrd            \rt, \rt2, [\rt]
+ .endm
+ .macro  ldrd_post       rt,  rt2, rn,  rm
+ A       ldrd            \rt, \rt2, [\rn], \rm
+ T       ldrd            \rt, \rt2, [\rn]
+ T       add             \rn, \rn, \rm
+ .endm
+ .macro  ldrh_pre        rt,  rn,  rm
+ A       ldrh            \rt, [\rn, \rm]!
+ T       add             \rn, \rn, \rm
+ T       ldrh            \rt, [\rn]
+ .endm
+ .macro  ldrh_dpre       rt,  rn,  rm
+ A       ldrh            \rt, [\rn, -\rm]!
+ T       sub             \rn, \rn, \rm
+ T       ldrh            \rt, [\rn]
+ .endm
+ .macro  ldrh_post       rt,  rn,  rm
+ A       ldrh            \rt, [\rn], \rm
+ T       ldrh            \rt, [\rn]
+ T       add             \rn, \rn, \rm
+ .endm
+ .macro  str_post       rt,  rn,  rm:vararg
+ A       str             \rt, [\rn], \rm
+ T       str             \rt, [\rn]
+ T       add             \rn, \rn, \rm
+ .endm
+ .macro  strb_post       rt,  rn,  rm:vararg
+ A       strb            \rt, [\rn], \rm
+ T       strb            \rt, [\rn]
+ T       add             \rn, \rn, \rm
+ .endm
+ .macro  strd_post       rt,  rt2, rn,  rm
+ A       strd            \rt, \rt2, [\rn], \rm
+ T       strd            \rt, \rt2, [\rn]
+ T       add             \rn, \rn, \rm
+ .endm
+ .macro  strh_pre        rt,  rn,  rm
+ A       strh            \rt, [\rn, \rm]!
+ T       add             \rn, \rn, \rm
+ T       strh            \rt, [\rn]
+ .endm
+ .macro  strh_dpre       rt,  rn,  rm
+ A       strh            \rt, [\rn, -\rm]!
+ T       sub             \rn, \rn, \rm
+ T       strh            \rt, [\rn]
+ .endm
+ .macro  strh_post       rt,  rn,  rm
+ A       strh            \rt, [\rn], \rm
+ T       strh            \rt, [\rn]
+ T       add             \rn, \rn, \rm
+ .endm
+ .macro  strh_dpost       rt,  rn,  rm
+ A       strh            \rt, [\rn], -\rm
+ T       strh            \rt, [\rn]
+ T       sub             \rn, \rn, \rm
+ .endm
  #if HAVE_VFP_ARGS
          .eabi_attribute 28, 1
  #   define VFP
@@@ -1,20 -1,20 +1,20 @@@
  /*
   * Copyright (c) 2010 Mans Rullgard <mans@mansr.com>
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
@@@ -27,6 -27,7 +27,7 @@@ function ff_dca_lfe_fir_neon, export=
          add             r5,  r2,  #256*4-16     @ cf1
          sub             r1,  r1,  #12
          cmp             r3,  #32
+         ite             eq
          moveq           r6,  #256/32
          movne           r6,  #256/64
  NOVFP   vldr            s0,  [sp, #16]          @ scale
@@@ -2,20 -2,20 +2,20 @@@
  @ ARMv4 optimized DSP utils
  @ Copyright (c) 2004 AGAWA Koji <i (AT) atty (DOT) jp>
  @
 -@ This file is part of Libav.
 +@ This file is part of FFmpeg.
  @
 -@ Libav is free software; you can redistribute it and/or
 +@ FFmpeg is free software; you can redistribute it and/or
  @ modify it under the terms of the GNU Lesser General Public
  @ License as published by the Free Software Foundation; either
  @ version 2.1 of the License, or (at your option) any later version.
  @
 -@ Libav is distributed in the hope that it will be useful,
 +@ FFmpeg is distributed in the hope that it will be useful,
  @ but WITHOUT ANY WARRANTY; without even the implied warranty of
  @ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  @ Lesser General Public License for more details.
  @
  @ You should have received a copy of the GNU Lesser General Public
 -@ License along with Libav; if not, write to the Free Software
 +@ License along with FFmpeg; if not, write to the Free Software
  @ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  @
  
@@@ -554,10 -554,12 +554,12 @@@ endfun
          and             r9,  r5,  r14
          and             r10, r6,  r14
          and             r11, r7,  r14
+         it              eq
          andeq           r14, r14, r14, \rnd #1
          add             r8,  r8,  r10
          add             r9,  r9,  r11
          ldr             r12, =0xfcfcfcfc >> 2
+         itt             eq
          addeq           r8,  r8,  r14
          addeq           r9,  r9,  r14
          and             r4,  r12, r4,  lsr #2
@@@ -638,8 -640,10 +640,10 @@@ function ff_add_pixels_clamped_arm, exp
          mvn             r5,  r5
          mvn             r7,  r7
          tst             r6,  #0x100
+         it              ne
          movne           r6,  r5,  lsr #24
          tst             r8,  #0x100
+         it              ne
          movne           r8,  r7,  lsr #24
          mov             r9,  r6
          ldrsh           r5,  [r0, #4]           /* moved form [A] */
          mvn             r5,  r5
          mvn             r7,  r7
          tst             r6,  #0x100
+         it              ne
          movne           r6,  r5,  lsr #24
          tst             r8,  #0x100
+         it              ne
          movne           r8,  r7,  lsr #24
          orr             r9,  r9,  r6,  lsl #16
          ldr             r4,  [r1, #4]           /* moved form [B] */
          mvn             r5,  r5
          mvn             r7,  r7
          tst             r6,  #0x100
+         it              ne
          movne           r6,  r5,  lsr #24
          tst             r8,  #0x100
+         it              ne
          movne           r8,  r7,  lsr #24
          mov             r9,  r6
          ldrsh           r5,  [r0, #12]          /* moved from [D] */
          mvn             r5,  r5
          mvn             r7,  r7
          tst             r6,  #0x100
+         it              ne
          movne           r6,  r5,  lsr #24
          tst             r8,  #0x100
+         it              ne
          movne           r8,  r7,  lsr #24
          orr             r9,  r9,  r6,  lsl #16
          add             r0,  r0,  #16           /* moved from [E] */
@@@ -1,20 -1,20 +1,20 @@@
  /*
   * Copyright (c) 2009 Mans Rullgard <mans@mansr.com>
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
@@@ -47,16 -47,16 +47,16 @@@ function ff_put_pixels16_armv6, export=
          ldr             r5,  [r1, #4]
          ldr             r6,  [r1, #8]
          ldr             r7,  [r1, #12]
-         ldr             r4,  [r1], r2
+         ldr_post        r4,  r1,  r2
          strd            r6,  r7,  [r0, #8]
          ldr             r9,  [r1, #4]
-         strd            r4,  r5,  [r0],  r2
+         strd_post       r4,  r5,  r0,  r2
          ldr             r10, [r1, #8]
          ldr             r11, [r1, #12]
-         ldr             r8,  [r1], r2
+         ldr_post        r8,  r1,  r2
          strd            r10, r11, [r0, #8]
          subs            r3,  r3,  #2
-         strd            r8,  r9,  [r0],  r2
+         strd_post       r8,  r9,  r0,  r2
          bne             1b
  
          pop             {r4-r11}
@@@ -67,12 -67,12 +67,12 @@@ function ff_put_pixels8_armv6, export=
          push            {r4-r7}
  1:
          ldr             r5,  [r1, #4]
-         ldr             r4,  [r1], r2
+         ldr_post        r4,  r1,  r2
          ldr             r7,  [r1, #4]
-         strd            r4,  r5,  [r0],  r2
-         ldr             r6,  [r1], r2
+         strd_post       r4,  r5,  r0,  r2
+         ldr_post        r6,  r1,  r2
          subs            r3,  r3,  #2
-         strd            r6,  r7,  [r0],  r2
+         strd_post       r6,  r7,  r0,  r2
          bne             1b
  
          pop             {r4-r7}
@@@ -90,7 -90,7 +90,7 @@@ function ff_put_pixels8_x2_armv6, expor
          ldr             r5,  [r1, #4]
          ldr             r7,  [r1, #5]
          lsr             r6,  r4,  #8
-         ldr             r8,  [r1, r2]!
+         ldr_pre         r8,  r1,  r2
          orr             r6,  r6,  r5,  lsl #24
          ldr             r9,  [r1, #4]
          ldr             r11, [r1, #5]
          uhadd8          r9,  r9,  r11
          and             r6,  r6,  r12
          uadd8           r8,  r8,  r14
-         strd            r4,  r5,  [r0],  r2
+         strd_post       r4,  r5,  r0,  r2
          uadd8           r9,  r9,  r6
-         strd            r8,  r9,  [r0],  r2
+         strd_post       r8,  r9,  r0,  r2
          bne             1b
  
          pop             {r4-r11, pc}
@@@ -127,7 -127,7 +127,7 @@@ function ff_put_pixels8_y2_armv6, expor
          orr             r12, r12, r12, lsl #16
          ldr             r4,  [r1]
          ldr             r5,  [r1, #4]
-         ldr             r6,  [r1, r2]!
+         ldr_pre         r6,  r1,  r2
          ldr             r7,  [r1, #4]
  1:
          subs            r3,  r3,  #2
          uhadd8          r9,  r5,  r7
          eor             r11, r5,  r7
          and             r10, r10, r12
-         ldr             r4,  [r1, r2]!
+         ldr_pre         r4,  r1,  r2
          uadd8           r8,  r8,  r10
          and             r11, r11, r12
          uadd8           r9,  r9,  r11
          eor             r7,  r5,  r7
          uadd8           r10, r10, r6
          and             r7,  r7,  r12
-         ldr             r6,  [r1, r2]!
+         ldr_pre         r6,  r1,  r2
          uadd8           r11, r11, r7
-         strd            r8,  r9,  [r0],  r2
+         strd_post       r8,  r9,  r0,  r2
          ldr             r7,  [r1, #4]
-         strd            r10, r11, [r0],  r2
+         strd_post       r10, r11, r0,  r2
          bne             1b
  
          pop             {r4-r11}
@@@ -166,7 -166,7 +166,7 @@@ function ff_put_pixels8_x2_no_rnd_armv6
          ldr             r4,  [r1]
          ldr             r5,  [r1, #4]
          ldr             r7,  [r1, #5]
-         ldr             r8,  [r1, r2]!
+         ldr_pre         r8,  r1,  r2
          ldr             r9,  [r1, #4]
          ldr             r14, [r1, #5]
          add             r1,  r1,  r2
@@@ -191,16 -191,16 +191,16 @@@ function ff_put_pixels8_y2_no_rnd_armv6
          push            {r4-r9, lr}
          ldr             r4,  [r1]
          ldr             r5,  [r1, #4]
-         ldr             r6,  [r1, r2]!
+         ldr_pre         r6,  r1,  r2
          ldr             r7,  [r1, #4]
  1:
          subs            r3,  r3,  #2
          uhadd8          r8,  r4,  r6
-         ldr             r4,  [r1, r2]!
+         ldr_pre         r4,  r1,  r2
          uhadd8          r9,  r5,  r7
          ldr             r5,  [r1, #4]
          uhadd8          r12, r4,  r6
-         ldr             r6,  [r1, r2]!
+         ldr_pre         r6,  r1,  r2
          uhadd8          r14, r5,  r7
          ldr             r7,  [r1, #4]
          stm             r0,  {r8,r9}
@@@ -220,44 -220,44 +220,44 @@@ function ff_avg_pixels8_armv6, export=
          orr             lr,  lr,  lr,  lsl #16
          ldrd            r4,  r5,  [r0]
          ldr             r10, [r1, #4]
-         ldr             r9,  [r1], r2
+         ldr_post        r9,  r1,  r2
          subs            r3,  r3,  #2
  1:
          pld             [r1, r2]
          eor             r8,  r4,  r9
          uhadd8          r4,  r4,  r9
          eor             r12, r5,  r10
-         ldrd            r6,  r7,  [r0, r2]
+         ldrd_reg        r6,  r7,  r0,  r2
          uhadd8          r5,  r5,  r10
          and             r8,  r8,  lr
          ldr             r10, [r1, #4]
          and             r12, r12, lr
          uadd8           r4,  r4,  r8
-         ldr             r9,  [r1], r2
+         ldr_post        r9,  r1,  r2
          eor             r8,  r6,  r9
          uadd8           r5,  r5,  r12
          pld             [r1, r2,  lsl #1]
          eor             r12, r7,  r10
          uhadd8          r6,  r6,  r9
-         strd            r4,  r5,  [r0], r2
+         strd_post       r4,  r5,  r0,  r2
          uhadd8          r7,  r7,  r10
          beq             2f
          and             r8,  r8,  lr
-         ldrd            r4,  r5,  [r0, r2]
+         ldrd_reg        r4,  r5,  r0,  r2
          uadd8           r6,  r6,  r8
          ldr             r10, [r1, #4]
          and             r12, r12, lr
          subs            r3,  r3,  #2
          uadd8           r7,  r7,  r12
-         ldr             r9,  [r1], r2
-         strd            r6,  r7,  [r0], r2
+         ldr_post        r9,  r1,  r2
+         strd_post       r6,  r7,  r0,  r2
          b               1b
  2:
          and             r8,  r8,  lr
          and             r12, r12, lr
          uadd8           r6,  r6,  r8
          uadd8           r7,  r7,  r12
-         strd            r6,  r7,  [r0], r2
+         strd_post       r6,  r7,  r0,  r2
  
          pop             {r4-r10, pc}
  endfunc
@@@ -284,7 -284,7 +284,7 @@@ function ff_add_pixels_clamped_armv6, e
          orr             r6,  r8,  r5,  lsl #8
          orr             r7,  r4,  lr,  lsl #8
          subs            r3,  r3,  #1
-         strd            r6,  r7,  [r1],  r2
+         strd_post       r6,  r7,  r1,  r2
          bgt             1b
          pop             {r4-r8,pc}
  endfunc
@@@ -294,7 -294,7 +294,7 @@@ function ff_get_pixels_armv6, export=
          push            {r4-r8, lr}
          mov             lr,  #8
  1:
-         ldrd            r4,  r5,  [r1],  r2
+         ldrd_post       r4,  r5,  r1,  r2
          subs            lr,  lr,  #1
          uxtb16          r6,  r4
          uxtb16          r4,  r4,  ror #8
@@@ -317,8 -317,8 +317,8 @@@ function ff_diff_pixels_armv6, export=
          push            {r4-r9, lr}
          mov             lr,  #8
  1:
-         ldrd            r4,  r5,  [r1],  r3
-         ldrd            r6,  r7,  [r2],  r3
+         ldrd_post       r4,  r5,  r1,  r3
+         ldrd_post       r6,  r7,  r2,  r3
          uxtb16          r8,  r4
          uxtb16          r4,  r4,  ror #8
          uxtb16          r9,  r6
@@@ -492,19 -492,19 +492,19 @@@ function ff_pix_abs8_armv6, export=
          push            {r4-r9, lr}
          mov             r0,  #0
          mov             lr,  #0
-         ldrd            r4,  r5,  [r1], r3
+         ldrd_post       r4,  r5,  r1,  r3
  1:
          subs            r12, r12, #2
          ldr             r7,  [r2, #4]
-         ldr             r6,  [r2], r3
-         ldrd            r8,  r9,  [r1], r3
+         ldr_post        r6,  r2,  r3
+         ldrd_post       r8,  r9,  r1,  r3
          usada8          r0,  r4,  r6,  r0
          pld             [r2, r3]
          usada8          lr,  r5,  r7,  lr
          ldr             r7,  [r2, #4]
-         ldr             r6,  [r2], r3
+         ldr_post        r6,  r2,  r3
          beq             2f
-         ldrd            r4,  r5,  [r1], r3
+         ldrd_post       r4,  r5,  r1,  r3
          usada8          r0,  r8,  r6,  r0
          pld             [r2, r3]
          usada8          lr,  r9,  r7,  lr
@@@ -613,7 -613,7 +613,7 @@@ function ff_pix_sum_armv6, export=
          ldr             r7,  [r0, #12]
          usada8          r2,  r6,  lr,  r2
          beq             2f
-         ldr             r4,  [r0, r1]!
+         ldr_pre         r4,  r0,  r1
          usada8          r3,  r7,  lr,  r3
          bgt             1b
  2:
@@@ -2,20 -2,20 +2,20 @@@
   * ARM NEON optimised DSP functions
   * Copyright (c) 2008 Mans Rullgard <mans@mansr.com>
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
@@@ -531,6 -531,7 +531,7 @@@ function ff_vorbis_inverse_coupling_neo
  
  2:      vst1.32         {d2-d3},  [r3, :128]!
          vst1.32         {d0-d1},  [r12,:128]!
+         it              lt
          bxlt            lr
  
  3:      vld1.32         {d2-d3},  [r1,:128]
@@@ -575,6 -576,7 +576,7 @@@ NOVFP   vdup.32         q8,  r
  2:      vst1.32         {q2},[r0,:128]!
          vst1.32         {q3},[r0,:128]!
          ands            len, len, #15
+         it              eq
          bxeq            lr
  3:      vld1.32         {q0},[r1,:128]!
          vmul.f32        q0,  q0,  q8
@@@ -638,6 -640,7 +640,7 @@@ NOVFP   ldr             r3,  [sp
  2:      vst1.32         {q8},[r0,:128]!
          vst1.32         {q9},[r0,:128]!
          ands            r3,  r3,  #7
+         it              eq
          popeq           {pc}
  3:      vld1.32         {q0},[r1,:128]!
          ldr             r12, [r2], #4
@@@ -1,20 -1,20 +1,20 @@@
  /*
   * Copyright (c) 2008 Siarhei Siamashka <ssvb@users.sourceforge.net>
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
@@@ -55,18 -55,23 +55,23 @@@ function ff_vector_fmul_vfp, export=
  1:
          subs            r3,  r3,  #16
          vmul.f32        s12, s4,  s12
+         itttt           ge
          vldmiage        r1!, {s16-s19}
          vldmiage        r2!, {s24-s27}
          vldmiage        r1!, {s20-s23}
          vldmiage        r2!, {s28-s31}
+         it              ge
          vmulge.f32      s24, s16, s24
          vstmia          r0!, {s8-s11}
          vstmia          r0!, {s12-s15}
+         it              ge
          vmulge.f32      s28, s20, s28
+         itttt           gt
          vldmiagt        r1!, {s0-s3}
          vldmiagt        r2!, {s8-s11}
          vldmiagt        r1!, {s4-s7}
          vldmiagt        r2!, {s12-s15}
+         ittt            ge
          vmulge.f32      s8,  s0,  s8
          vstmiage        r0!, {s24-s27}
          vstmiage        r0!, {s28-s31}
@@@ -97,33 -102,49 +102,49 @@@ function ff_vector_fmul_reverse_vfp, ex
          vmul.f32        s11, s0,  s11
  1:
          subs            r3,  r3,  #16
+         it              ge
          vldmdbge        r2!, {s16-s19}
          vmul.f32        s12, s7,  s12
+         it              ge
          vldmiage        r1!, {s24-s27}
          vmul.f32        s13, s6,  s13
+         it              ge
          vldmdbge        r2!, {s20-s23}
          vmul.f32        s14, s5,  s14
+         it              ge
          vldmiage        r1!, {s28-s31}
          vmul.f32        s15, s4,  s15
+         it              ge
          vmulge.f32      s24, s19, s24
+         it              gt
          vldmdbgt        r2!, {s0-s3}
+         it              ge
          vmulge.f32      s25, s18, s25
          vstmia          r0!, {s8-s13}
+         it              ge
          vmulge.f32      s26, s17, s26
+         it              gt
          vldmiagt        r1!, {s8-s11}
+         itt             ge
          vmulge.f32      s27, s16, s27
          vmulge.f32      s28, s23, s28
+         it              gt
          vldmdbgt        r2!, {s4-s7}
+         it              ge
          vmulge.f32      s29, s22, s29
          vstmia          r0!, {s14-s15}
+         ittt            ge
          vmulge.f32      s30, s21, s30
          vmulge.f32      s31, s20, s31
          vmulge.f32      s8,  s3,  s8
+         it              gt
          vldmiagt        r1!, {s12-s15}
+         itttt           ge
          vmulge.f32      s9,  s2,  s9
          vmulge.f32      s10, s1,  s10
          vstmiage        r0!, {s24-s27}
          vmulge.f32      s11, s0,  s11
+         it              ge
          vstmiage        r0!, {s28-s31}
          bgt             1b
  
@@@ -2,20 -2,20 +2,20 @@@
   * ARM NEON optimised Format Conversion Utils
   * Copyright (c) 2008 Mans Rullgard <mans@mansr.com>
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
@@@ -71,6 -71,7 +71,7 @@@ endfun
  
  function ff_float_to_int16_interleave_neon, export=1
          cmp             r3, #2
+         itt             lt
          ldrlt           r1, [r1]
          blt             ff_float_to_int16_neon
          bne             4f
          vst1.64         {d3},     [r8], ip
          vst1.64         {d7},     [r8], ip
          subs            r3,  r3,  #4
+         it              eq
          popeq           {r4-r8,pc}
          cmp             r3,  #4
          add             r0,  r0,  #8
          vst1.32         {d23[1]}, [r8], ip
  8:      subs            r3,  r3,  #2
          add             r0,  r0,  #4
+         it              eq
          popeq           {r4-r8,pc}
  
          @ 1 channel
          vst1.16         {d2[3]},  [r5,:16], ip
          vst1.16         {d3[1]},  [r5,:16], ip
          vst1.16         {d3[3]},  [r5,:16], ip
+         it              eq
          popeq           {r4-r8,pc}
          vld1.64         {d0-d1},  [r4,:128]!
          vcvt.s32.f32    q0,  q0,  #16
@@@ -1,20 -1,20 +1,20 @@@
  /*
   * Copyright (c) 2008 Siarhei Siamashka <ssvb@users.sourceforge.net>
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
@@@ -46,6 -46,7 +46,7 @@@ function ff_float_to_int16_vfp, export=
          vmov            r5,  r6,  s2, s3
          vmov            r7,  r8,  s4, s5
          vmov            ip,  lr,  s6, s7
+         it              gt
          vldmiagt        r1!, {s16-s23}
          ssat            r4,  #16, r4
          ssat            r3,  #16, r3
          ssat            r5,  #16, r5
          pkhbt           r3,  r3,  r4, lsl #16
          pkhbt           r4,  r5,  r6, lsl #16
+         itttt           gt
          vcvtgt.s32.f32  s0,  s16
          vcvtgt.s32.f32  s1,  s17
          vcvtgt.s32.f32  s2,  s18
          vcvtgt.s32.f32  s3,  s19
+         itttt           gt
          vcvtgt.s32.f32  s4,  s20
          vcvtgt.s32.f32  s5,  s21
          vcvtgt.s32.f32  s6,  s22
@@@ -1,20 -1,20 +1,20 @@@
  /*
   * Copyright (c) 2008 Mans Rullgard <mans@mansr.com>
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
@@@ -71,7 -71,9 +71,9 @@@ function ff_\type\()_h264_chroma_mc8_ne
          pld             [r1]
          pld             [r1, r2]
  
-         muls            r7,  r4,  r5
+ A       muls            r7,  r4,  r5
+ T       mul             r7,  r4,  r5
+ T       cmp             r7,  #0
          rsb             r6,  r7,  r5,  lsl #3
          rsb             ip,  r7,  r4,  lsl #3
          sub             r4,  r7,  r4,  lsl #3
@@@ -197,7 -199,9 +199,9 @@@ function ff_\type\()_h264_chroma_mc4_ne
          pld             [r1]
          pld             [r1, r2]
  
-         muls            r7,  r4,  r5
+ A       muls            r7,  r4,  r5
+ T       mul             r7,  r4,  r5
+ T       cmp             r7,  #0
          rsb             r6,  r7,  r5,  lsl #3
          rsb             ip,  r7,  r4,  lsl #3
          sub             r4,  r7,  r4,  lsl #3
@@@ -368,10 -372,10 +372,10 @@@ function ff_\type\()_h264_chroma_mc2_ne
          pop             {r4-r6, pc}
  2:
  .ifc \type,put
-         ldrh            r5,  [r1], r2
-         strh            r5,  [r0], r2
-         ldrh            r6,  [r1], r2
-         strh            r6,  [r0], r2
+         ldrh_post       r5,  r1,  r2
+         strh_post       r5,  r0,  r2
+         ldrh_post       r6,  r1,  r2
+         strh_post       r6,  r0,  r2
  .else
          vld1.16         {d16[0]}, [r1], r2
          vld1.16         {d16[1]}, [r1], r2
@@@ -404,28 -408,17 +408,17 @@@ endfun
          ldr             ip,  [sp]
          tst             r2,  r2
          ldr             ip,  [ip]
+         it              ne
          tstne           r3,  r3
          vmov.32         d24[0], ip
          and             ip,  ip,  ip, lsl #16
+         it              eq
          bxeq            lr
          ands            ip,  ip,  ip, lsl #8
+         it              lt
          bxlt            lr
          .endm
  
-         .macro align_push_regs
-         and             ip,  sp,  #15
-         add             ip,  ip,  #32
-         sub             sp,  sp,  ip
-         vst1.64         {d12-d15}, [sp,:128]
-         sub             sp,  sp,  #32
-         vst1.64         {d8-d11},  [sp,:128]
-         .endm
-         .macro align_pop_regs
-         vld1.64         {d8-d11},  [sp,:128]!
-         vld1.64         {d12-d15}, [sp,:128], ip
-         .endm
          .macro h264_loop_filter_luma
          vdup.8          q11, r2         @ alpha
          vmovl.u8        q12, d24
@@@ -506,7 -499,7 +499,7 @@@ function ff_h264_v_loop_filter_luma_neo
          vld1.64         {d18,d19}, [r0,:128], r1
          vld1.64         {d16,d17}, [r0,:128], r1
  
-         align_push_regs
+         vpush           {d8-d15}
  
          h264_loop_filter_luma
  
          vst1.64         {d0, d1},  [r0,:128], r1
          vst1.64         {d10,d11}, [r0,:128]
  
-         align_pop_regs
+         vpop            {d8-d15}
          bx              lr
  endfunc
  
@@@ -543,7 -536,7 +536,7 @@@ function ff_h264_h_loop_filter_luma_neo
  
          transpose_8x8   q3, q10, q9, q8, q0, q1, q2, q13
  
-         align_push_regs
+         vpush           {d8-d15}
  
          h264_loop_filter_luma
  
          vst1.32         {d1[1]},  [r0], r1
          vst1.32         {d11[1]}, [r0], r1
  
-         align_pop_regs
+         vpop            {d8-d15}
          bx              lr
  endfunc
  
@@@ -1116,6 -1109,7 +1109,7 @@@ function \type\()_h264_qpel8_hv_lowpass
          vrhadd.u8       d11, d11, d7
          sub             r0,  r0,  r2,  lsl #3
  .endif
          vst1.64         {d12},     [r0,:64], r2
          vst1.64         {d13},     [r0,:64], r2
          vst1.64         {d14},     [r0,:64], r2
@@@ -1263,7 -1257,9 +1257,9 @@@ function ff_\type\()_h264_qpel8_mc11_ne
  \type\()_h264_qpel8_mc11:
          lowpass_const   r3
          mov             r11, sp
-         bic             sp,  sp,  #15
+ A       bic             sp,  sp,  #15
+ T       bic             r0,  r11, #15
+ T       mov             sp,  r0
          sub             sp,  sp,  #64
          mov             r0,  sp
          sub             r1,  r1,  #2
          mov             ip,  #8
          vpush           {d8-d15}
          bl              put_h264_qpel8_h_lowpass_neon
-         ldrd            r0,  [r11]
+         ldrd            r0,  [r11], #8
          mov             r3,  r2
          add             ip,  sp,  #64
          sub             r1,  r1,  r2, lsl #1
          mov             r2,  #8
          bl              \type\()_h264_qpel8_v_lowpass_l2_neon
          vpop            {d8-d15}
-         add             sp,  r11, #8
+         mov             sp,  r11
          pop             {r11, pc}
  endfunc
  
@@@ -1287,7 -1283,9 +1283,9 @@@ function ff_\type\()_h264_qpel8_mc21_ne
  \type\()_h264_qpel8_mc21:
          lowpass_const   r3
          mov             r11, sp
-         bic             sp,  sp,  #15
+ A       bic             sp,  sp,  #15
+ T       bic             r0,  r11, #15
+ T       mov             sp,  r0
          sub             sp,  sp,  #(8*8+16*12)
          sub             r1,  r1,  #2
          mov             r3,  #8
          vpush           {d8-d15}
          bl              put_h264_qpel8_h_lowpass_neon
          mov             r4,  r0
-         ldrd            r0,  [r11]
+         ldrd            r0,  [r11], #8
          sub             r1,  r1,  r2, lsl #1
          sub             r1,  r1,  #2
          mov             r3,  r2
          sub             r2,  r4,  #64
          bl              \type\()_h264_qpel8_hv_lowpass_l2_neon
          vpop            {d8-d15}
-         add             sp,  r11,  #8
+         mov             sp,  r11
          pop             {r4, r10, r11, pc}
  endfunc
  
@@@ -1330,7 -1328,9 +1328,9 @@@ function ff_\type\()_h264_qpel8_mc12_ne
  \type\()_h264_qpel8_mc12:
          lowpass_const   r3
          mov             r11, sp
-         bic             sp,  sp,  #15
+ A       bic             sp,  sp,  #15
+ T       bic             r0,  r11, #15
+ T       mov             sp,  r0
          sub             sp,  sp,  #(8*8+16*12)
          sub             r1,  r1,  r2, lsl #1
          mov             r3,  r2
          vpush           {d8-d15}
          bl              put_h264_qpel8_v_lowpass_neon
          mov             r4,  r0
-         ldrd            r0,  [r11]
+         ldrd            r0,  [r11], #8
          sub             r1,  r1,  r3, lsl #1
          sub             r1,  r1,  #2
          sub             r2,  r4,  #64
          bl              \type\()_h264_qpel8_hv_lowpass_l2_neon
          vpop            {d8-d15}
-         add             sp,  r11,  #8
+         mov             sp,  r11
          pop             {r4, r10, r11, pc}
  endfunc
  
  function ff_\type\()_h264_qpel8_mc22_neon, export=1
          push            {r4, r10, r11, lr}
          mov             r11, sp
-         bic             sp,  sp,  #15
+ A       bic             sp,  sp,  #15
+ T       bic             r4,  r11, #15
+ T       mov             sp,  r4
          sub             r1,  r1,  r2, lsl #1
          sub             r1,  r1,  #2
          mov             r3,  r2
@@@ -1441,21 -1443,23 +1443,23 @@@ function ff_\type\()_h264_qpel16_mc11_n
  \type\()_h264_qpel16_mc11:
          lowpass_const   r3
          mov             r11, sp
-         bic             sp,  sp,  #15
+ A       bic             sp,  sp,  #15
+ T       bic             r0,  r11, #15
+ T       mov             sp,  r0
          sub             sp,  sp,  #256
          mov             r0,  sp
          sub             r1,  r1,  #2
          mov             r3,  #16
          vpush           {d8-d15}
          bl              put_h264_qpel16_h_lowpass_neon
-         ldrd            r0,  [r11]
+         ldrd            r0,  [r11], #8
          mov             r3,  r2
          add             ip,  sp,  #64
          sub             r1,  r1,  r2, lsl #1
          mov             r2,  #16
          bl              \type\()_h264_qpel16_v_lowpass_l2_neon
          vpop            {d8-d15}
-         add             sp,  r11, #8
+         mov             sp,  r11
          pop             {r4, r11, pc}
  endfunc
  
@@@ -1464,20 -1468,22 +1468,22 @@@ function ff_\type\()_h264_qpel16_mc21_n
  \type\()_h264_qpel16_mc21:
          lowpass_const   r3
          mov             r11, sp
-         bic             sp,  sp,  #15
+ A       bic             sp,  sp,  #15
+ T       bic             r0,  r11, #15
+ T       mov             sp,  r0
          sub             sp,  sp,  #(16*16+16*12)
          sub             r1,  r1,  #2
          mov             r0,  sp
          vpush           {d8-d15}
          bl              put_h264_qpel16_h_lowpass_neon_packed
          mov             r4,  r0
-         ldrd            r0,  [r11]
+         ldrd            r0,  [r11], #8
          sub             r1,  r1,  r2, lsl #1
          sub             r1,  r1,  #2
          mov             r3,  r2
          bl              \type\()_h264_qpel16_hv_lowpass_l2_neon
          vpop            {d8-d15}
-         add             sp,  r11,  #8
+         mov             sp,  r11
          pop             {r4-r5, r9-r11, pc}
  endfunc
  
@@@ -1504,7 -1510,9 +1510,9 @@@ function ff_\type\()_h264_qpel16_mc12_n
  \type\()_h264_qpel16_mc12:
          lowpass_const   r3
          mov             r11, sp
-         bic             sp,  sp,  #15
+ A       bic             sp,  sp,  #15
+ T       bic             r0,  r11, #15
+ T       mov             sp,  r0
          sub             sp,  sp,  #(16*16+16*12)
          sub             r1,  r1,  r2, lsl #1
          mov             r0,  sp
          vpush           {d8-d15}
          bl              put_h264_qpel16_v_lowpass_neon_packed
          mov             r4,  r0
-         ldrd            r0,  [r11]
+         ldrd            r0,  [r11], #8
          sub             r1,  r1,  r3, lsl #1
          sub             r1,  r1,  #2
          mov             r2,  r3
          bl              \type\()_h264_qpel16_hv_lowpass_l2_neon
          vpop            {d8-d15}
-         add             sp,  r11,  #8
+         mov             sp,  r11
          pop             {r4-r5, r9-r11, pc}
  endfunc
  
@@@ -1526,7 -1534,9 +1534,9 @@@ function ff_\type\()_h264_qpel16_mc22_n
          push            {r4, r9-r11, lr}
          lowpass_const   r3
          mov             r11, sp
-         bic             sp,  sp,  #15
+ A       bic             sp,  sp,  #15
+ T       bic             r4,  r11, #15
+ T       mov             sp,  r4
          sub             r1,  r1,  r2, lsl #1
          sub             r1,  r1,  #2
          mov             r3,  r2
@@@ -1,20 -1,20 +1,20 @@@
  /*
   * Copyright (c) 2008 Mans Rullgard <mans@mansr.com>
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
@@@ -106,10 -106,12 +106,12 @@@ function ff_h264_idct_add16_neon, expor
          blt             2f
          ldrsh           lr,  [r1]
          add             r0,  r0,  r4
+         it              ne
          movne           lr,  #0
          cmp             lr,  #0
-         adrne           lr,  ff_h264_idct_dc_add_neon
-         adreq           lr,  ff_h264_idct_add_neon
+         ite             ne
+         adrne           lr,  ff_h264_idct_dc_add_neon + CONFIG_THUMB
+         adreq           lr,  ff_h264_idct_add_neon    + CONFIG_THUMB
          blx             lr
  2:      subs            ip,  ip,  #1
          add             r1,  r1,  #32
@@@ -132,8 -134,9 +134,9 @@@ function ff_h264_idct_add16intra_neon, 
          add             r0,  r0,  r4
          cmp             r8,  #0
          ldrsh           r8,  [r1]
-         adrne           lr,  ff_h264_idct_add_neon
-         adreq           lr,  ff_h264_idct_dc_add_neon
+         iteet           ne
+         adrne           lr,  ff_h264_idct_add_neon    + CONFIG_THUMB
+         adreq           lr,  ff_h264_idct_dc_add_neon + CONFIG_THUMB
          cmpeq           r8,  #0
          blxne           lr
          subs            ip,  ip,  #1
@@@ -159,12 -162,14 +162,14 @@@ function ff_h264_idct_add8_neon, export
          add             r1,  r3,  r12, lsl #5
          cmp             r8,  #0
          ldrsh           r8,  [r1]
-         adrne           lr,  ff_h264_idct_add_neon
-         adreq           lr,  ff_h264_idct_dc_add_neon
+         iteet           ne
+         adrne           lr,  ff_h264_idct_add_neon    + CONFIG_THUMB
+         adreq           lr,  ff_h264_idct_dc_add_neon + CONFIG_THUMB
          cmpeq           r8,  #0
          blxne           lr
          add             r12, r12, #1
          cmp             r12, #4
+         itt             eq
          moveq           r12, #16
          moveq           r4,  r9
          cmp             r12, #20
@@@ -365,10 -370,12 +370,12 @@@ function ff_h264_idct8_add4_neon, expor
          blt             2f
          ldrsh           lr,  [r1]
          add             r0,  r0,  r4
+         it              ne
          movne           lr,  #0
          cmp             lr,  #0
-         adrne           lr,  ff_h264_idct8_dc_add_neon
-         adreq           lr,  ff_h264_idct8_add_neon
+         ite             ne
+         adrne           lr,  ff_h264_idct8_dc_add_neon + CONFIG_THUMB
+         adreq           lr,  ff_h264_idct8_add_neon    + CONFIG_THUMB
          blx             lr
  2:      subs            r12, r12, #4
          add             r1,  r1,  #128
diff --combined libavcodec/arm/mathops.h
@@@ -2,20 -2,20 +2,20 @@@
   * simple math operations
   * Copyright (c) 2006 Michael Niedermayer <michaelni@gmx.at> et al
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
@@@ -64,11 -64,14 +64,14 @@@ static inline av_const int mid_pred(in
      __asm__ (
          "mov   %0, %2  \n\t"
          "cmp   %1, %2  \n\t"
+         "itt   gt      \n\t"
          "movgt %0, %1  \n\t"
          "movgt %1, %2  \n\t"
          "cmp   %1, %3  \n\t"
+         "it    le      \n\t"
          "movle %1, %3  \n\t"
          "cmp   %0, %1  \n\t"
+         "it    gt      \n\t"
          "movgt %0, %1  \n\t"
          : "=&r"(m), "+r"(a)
          : "r"(b), "r"(c)
@@@ -2,20 -2,20 +2,20 @@@
   * ARM NEON optimised MDCT
   * Copyright (c) 2009 Mans Rullgard <mans@mansr.com>
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
@@@ -191,7 -191,9 +191,9 @@@ function ff_mdct_calc_neon, export=
          vadd.f32        d17, d17, d3            @ in2u+in1d     -I
  1:
          vmul.f32        d7,  d0,  d21           @  I*s
-         ldr             r10, [r3, lr, lsr #1]
+ A       ldr             r10, [r3, lr, lsr #1]
+ T       lsr             r10, lr,  #1
+ T       ldr             r10, [r3, r10]
          vmul.f32        d6,  d1,  d20           @ -R*c
          ldr             r6,  [r3, #4]!
          vmul.f32        d4,  d1,  d21           @ -R*s
@@@ -2,20 -2,20 +2,20 @@@
   * Optimization of some functions from mpegvideo.c for armv5te
   * Copyright (c) 2007 Siarhei Siamashka <ssvb@users.sourceforge.net>
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
  
  .macro  dequant_t       dst, src, mul, add, tmp
          rsbs            \tmp, ip, \src, asr #16
+         it              gt
          addgt           \tmp, \add, #0
+         it              lt
          rsblt           \tmp, \add, #0
+         it              ne
          smlatbne        \dst, \src, \mul, \tmp
  .endm
  
  .macro  dequant_b       dst, src, mul, add, tmp
          rsbs            \tmp, ip, \src, lsl #16
+         it              gt
          addgt           \tmp, \add, #0
+         it              lt
          rsblt           \tmp, \add, #0
+         it              ne
          smlabbne        \dst, \src, \mul, \tmp
  .endm
  
@@@ -80,21 -86,27 +86,27 @@@ function ff_dct_unquantize_h263_armv5te
          strh            lr, [r0], #2
  
          subs            r3, r3, #8
+         it              gt
          ldrdgt          r4, [r0, #0] /* load data early to avoid load/use pipeline stall */
          bgt             1b
  
          adds            r3, r3, #2
+         it              le
          pople           {r4-r9,pc}
  2:
          ldrsh           r9, [r0, #0]
          ldrsh           lr, [r0, #2]
          mov             r8, r2
          cmp             r9, #0
+         it              lt
          rsblt           r8, r2, #0
+         it              ne
          smlabbne        r9, r9, r1, r8
          mov             r8, r2
          cmp             lr, #0
+         it              lt
          rsblt           r8, r2, #0
+         it              ne
          smlabbne        lr, lr, r1, r8
          strh            r9, [r0], #2
          strh            lr, [r0], #2
@@@ -1,20 -1,20 +1,20 @@@
  /*
   * Copyright (c) 2010 Mans Rullgard
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
@@@ -57,6 -57,7 +57,7 @@@ function ff_dct_unquantize_h263_neon, e
          subs            r3,  r3,  #16
          vst1.16         {q0},     [r1,:128]!
          vst1.16         {q8},     [r1,:128]!
+         it              le
          bxle            lr
          cmp             r3,  #8
          bgt             1b
@@@ -78,6 -79,7 +79,7 @@@ function ff_dct_unquantize_h263_intra_n
          ldr             r6,  [r0, #AC_PRED]
          add             lr,  r0,  #INTER_SCANTAB_RASTER_END
          cmp             r6,  #0
+         it              ne
          movne           r12, #63
          bne             1f
          ldr             r12, [r12, r2, lsl #2]
          ldrsh           r4,  [r1]
          cmp             r5,  #0
          mov             r5,  r1
+         it              ne
          movne           r2,  #0
          bne             2f
          cmp             r2,  #4
+         it              ge
          addge           r0,  r0,  #4
          sub             r2,  r3,  #1
          ldr             r6,  [r0, #Y_DC_SCALE]
@@@ -2,20 -2,20 +2,20 @@@
   * ARM NEON optimised RDFT
   * Copyright (c) 2009 Mans Rullgard <mans@mansr.com>
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
@@@ -137,6 -137,7 +137,7 @@@ function ff_rdft_calc_neon, export=
          vst1.32         {d22},    [r5,:64]
  
          cmp             r6,  #0
+         it              eq
          popeq           {r4-r8,pc}
  
          vmul.f32        d22, d22, d18
@@@ -5,22 -5,22 +5,22 @@@
   * Author: Frederic Boulay <dilb@handhelds.org>
   *
   * The function defined in this file is derived from the simple_idct function
 - * from the libavcodec library part of the Libav project.
 + * from the libavcodec library part of the FFmpeg project.
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
@@@ -121,11 -121,13 +121,13 @@@ __b_evaluation
          ldr r11, [r12, #offW7]   @ R11=W7
          mul r5, r10, r7          @ R5=W5*ROWr16[1]=b2 (ROWr16[1] must be the second arg, to have the possibility to save 1 cycle)
          mul r7, r11, r7          @ R7=W7*ROWr16[1]=b3 (ROWr16[1] must be the second arg, to have the possibility to save 1 cycle)
-                 teq r2, #0               @ if null avoid muls
-                 mlane r0, r9, r2, r0     @ R0+=W3*ROWr16[3]=b0 (ROWr16[3] must be the second arg, to have the possibility to save 1 cycle)
+         teq r2, #0               @ if null avoid muls
+         itttt ne
+         mlane r0, r9, r2, r0     @ R0+=W3*ROWr16[3]=b0 (ROWr16[3] must be the second arg, to have the possibility to save 1 cycle)
          rsbne r2, r2, #0         @ R2=-ROWr16[3]
          mlane r1, r11, r2, r1    @ R1-=W7*ROWr16[3]=b1 (ROWr16[3] must be the second arg, to have the possibility to save 1 cycle)
          mlane r5, r8, r2, r5     @ R5-=W1*ROWr16[3]=b2 (ROWr16[3] must be the second arg, to have the possibility to save 1 cycle)
+         it    ne
          mlane r7, r10, r2, r7    @ R7-=W5*ROWr16[3]=b3 (ROWr16[3] must be the second arg, to have the possibility to save 1 cycle)
  
          @@ at this point, R0=b0,  R1=b1, R2 (free), R3=ROWr32[2], R4=ROWr32[3],
          @@ MAC16(b3, -W1, row[7]);
          @@ MAC16(b1, -W5, row[7]);
          mov r3, r3, asr #16      @ R3=ROWr16[5]
-                 teq r3, #0               @ if null avoid muls
+         teq r3, #0               @ if null avoid muls
+         it    ne
          mlane r0, r10, r3, r0    @ R0+=W5*ROWr16[5]=b0
          mov r4, r4, asr #16      @ R4=ROWr16[7]
+         itttt ne
          mlane r5, r11, r3, r5    @ R5+=W7*ROWr16[5]=b2
          mlane r7, r9, r3, r7     @ R7+=W3*ROWr16[5]=b3
          rsbne r3, r3, #0         @ R3=-ROWr16[5]
          mlane r1, r8, r3, r1     @ R7-=W1*ROWr16[5]=b1
          @@ R3 is free now
-                 teq r4, #0               @ if null avoid muls
+         teq r4, #0               @ if null avoid muls
+         itttt ne
          mlane r0, r11, r4, r0    @ R0+=W7*ROWr16[7]=b0
          mlane r5, r9, r4, r5     @ R5+=W3*ROWr16[7]=b2
          rsbne r4, r4, #0         @ R4=-ROWr16[7]
          mlane r7, r8, r4, r7     @ R7-=W1*ROWr16[7]=b3
+         it    ne
          mlane r1, r10, r4, r1    @ R1-=W5*ROWr16[7]=b1
          @@ R4 is free now
  __end_b_evaluation:
@@@ -204,16 -210,19 +210,19 @@@ __a_evaluation
          @@ a2 -= W4*row[4]
          @@ a3 += W4*row[4]
          ldrsh r11, [r14, #8]     @ R11=ROWr16[4]
-                 teq r11, #0              @ if null avoid muls
+         teq r11, #0              @ if null avoid muls
+         it    ne
          mulne r11, r9, r11       @ R11=W4*ROWr16[4]
          @@ R9 is free now
          ldrsh r9, [r14, #12]     @ R9=ROWr16[6]
+         itttt ne
          addne r6, r6, r11        @ R6+=W4*ROWr16[4] (a0)
          subne r2, r2, r11        @ R2-=W4*ROWr16[4] (a1)
          subne r3, r3, r11        @ R3-=W4*ROWr16[4] (a2)
          addne r4, r4, r11        @ R4+=W4*ROWr16[4] (a3)
          @@ W6 alone is no more useful, save W2*ROWr16[6] in it instead
-                 teq r9, #0               @ if null avoid muls
+         teq r9, #0               @ if null avoid muls
+         itttt ne
          mulne r11, r10, r9       @ R11=W6*ROWr16[6]
          addne r6, r6, r11        @ R6+=W6*ROWr16[6] (a0)
          mulne r10, r8, r9        @ R10=W2*ROWr16[6]
          @@ a1 -= W2*row[6];
          @@ a2 += W2*row[6];
          subne r4, r4, r11        @ R4-=W6*ROWr16[6] (a3)
+         itt   ne
          subne r2, r2, r10        @ R2-=W2*ROWr16[6] (a1)
          addne r3, r3, r10        @ R3+=W2*ROWr16[6] (a2)
  
@@@ -323,10 -333,12 +333,12 @@@ __b_evaluation2
          ldrsh r2, [r14, #48]
          mul r7, r11, r7          @ R7=W7*ROWr16[1]=b3 (ROWr16[1] must be the second arg, to have the possibility to save 1 cycle)
          teq r2, #0               @ if 0, then avoid muls
+         itttt ne
          mlane r0, r9, r2, r0     @ R0+=W3*ROWr16[3]=b0 (ROWr16[3] must be the second arg, to have the possibility to save 1 cycle)
          rsbne r2, r2, #0         @ R2=-ROWr16[3]
          mlane r1, r11, r2, r1    @ R1-=W7*ROWr16[3]=b1 (ROWr16[3] must be the second arg, to have the possibility to save 1 cycle)
          mlane r5, r8, r2, r5     @ R5-=W1*ROWr16[3]=b2 (ROWr16[3] must be the second arg, to have the possibility to save 1 cycle)
+         it    ne
          mlane r7, r10, r2, r7    @ R7-=W5*ROWr16[3]=b3 (ROWr16[3] must be the second arg, to have the possibility to save 1 cycle)
  
          @@ at this point, R0=b0,  R1=b1, R2 (free), R3 (free), R4 (free),
          @@ MAC16(b1, -W5, col[7x8]);
          ldrsh r3, [r14, #80]     @ R3=COLr16[5x8]
          teq r3, #0               @ if 0 then avoid muls
+         itttt ne
          mlane r0, r10, r3, r0    @ R0+=W5*ROWr16[5x8]=b0
          mlane r5, r11, r3, r5    @ R5+=W7*ROWr16[5x8]=b2
          mlane r7, r9, r3, r7     @ R7+=W3*ROWr16[5x8]=b3
          rsbne r3, r3, #0         @ R3=-ROWr16[5x8]
          ldrsh r4, [r14, #112]    @ R4=COLr16[7x8]
+         it    ne
          mlane r1, r8, r3, r1     @ R7-=W1*ROWr16[5x8]=b1
          @@ R3 is free now
          teq r4, #0               @ if 0 then avoid muls
+         itttt ne
          mlane r0, r11, r4, r0    @ R0+=W7*ROWr16[7x8]=b0
          mlane r5, r9, r4, r5     @ R5+=W3*ROWr16[7x8]=b2
          rsbne r4, r4, #0         @ R4=-ROWr16[7x8]
          mlane r7, r8, r4, r7     @ R7-=W1*ROWr16[7x8]=b3
+         it    ne
          mlane r1, r10, r4, r1    @ R1-=W5*ROWr16[7x8]=b1
          @@ R4 is free now
  __end_b_evaluation2:
@@@ -390,15 -406,18 +406,18 @@@ __a_evaluation2
          @@ a3 += W4*row[4]
          ldrsh r11, [r14, #64]    @ R11=ROWr16[4]
          teq r11, #0              @ if null avoid muls
+         itttt ne
          mulne r11, r9, r11       @ R11=W4*ROWr16[4]
          @@ R9 is free now
          addne r6, r6, r11        @ R6+=W4*ROWr16[4] (a0)
          subne r2, r2, r11        @ R2-=W4*ROWr16[4] (a1)
          subne r3, r3, r11        @ R3-=W4*ROWr16[4] (a2)
          ldrsh r9, [r14, #96]     @ R9=ROWr16[6]
+         it    ne
          addne r4, r4, r11        @ R4+=W4*ROWr16[4] (a3)
          @@ W6 alone is no more useful, save W2*ROWr16[6] in it instead
          teq r9, #0               @ if null avoid muls
+         itttt ne
          mulne r11, r10, r9       @ R11=W6*ROWr16[6]
          addne r6, r6, r11        @ R6+=W6*ROWr16[6] (a0)
          mulne r10, r8, r9        @ R10=W2*ROWr16[6]
          @@ a1 -= W2*row[6];
          @@ a2 += W2*row[6];
          subne r4, r4, r11        @ R4-=W6*ROWr16[6] (a3)
+         itt   ne
          subne r2, r2, r10        @ R2-=W2*ROWr16[6] (a1)
          addne r3, r3, r10        @ R3+=W2*ROWr16[6] (a2)
  __end_a_evaluation2:
@@@ -4,20 -4,20 +4,20 @@@
   * Copyright (c) 2001 Michael Niedermayer <michaelni@gmx.at>
   * Copyright (c) 2006 Mans Rullgard <mans@mansr.com>
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
@@@ -49,6 -49,7 +49,7 @@@ function idct_row_armv5t
          ldrd   v1, [a1, #8]
          ldrd   a3, [a1]              /* a3 = row[1:0], a4 = row[3:2] */
          orrs   v1, v1, v2
+         itt    eq
          cmpeq  v1, a4
          cmpeq  v1, a3, lsr #16
          beq    row_dc_only
@@@ -269,6 -270,7 +270,7 @@@ function idct_col_armv5t
          ldmfd  sp!, {a3, a4}
          adds   a2, a3, v1
          mov    a2, a2, lsr #20
+         it     mi
          orrmi  a2, a2, #0xf000
          add    ip, a4, v2
          mov    ip, ip, asr #20
          str    a2, [a1]
          subs   a3, a3, v1
          mov    a2, a3, lsr #20
+         it     mi
          orrmi  a2, a2, #0xf000
          sub    a4, a4, v2
          mov    a4, a4, asr #20
  
          subs   a2, a3, v3
          mov    a2, a2, lsr #20
+         it     mi
          orrmi  a2, a2, #0xf000
          sub    ip, a4, v4
          mov    ip, ip, asr #20
          str    a2, [a1, #(16*1)]
          adds   a3, a3, v3
          mov    a2, a3, lsr #20
+         it     mi
          orrmi  a2, a2, #0xf000
          add    a4, a4, v4
          mov    a4, a4, asr #20
  
          adds   a2, a3, v5
          mov    a2, a2, lsr #20
+         it     mi
          orrmi  a2, a2, #0xf000
          add    ip, a4, v6
          mov    ip, ip, asr #20
          str    a2, [a1, #(16*2)]
          subs   a3, a3, v5
          mov    a2, a3, lsr #20
+         it     mi
          orrmi  a2, a2, #0xf000
          sub    a4, a4, v6
          mov    a4, a4, asr #20
  
          adds   a2, a3, v7
          mov    a2, a2, lsr #20
+         it     mi
          orrmi  a2, a2, #0xf000
          add    ip, a4, fp
          mov    ip, ip, asr #20
          str    a2, [a1, #(16*3)]
          subs   a3, a3, v7
          mov    a2, a3, lsr #20
+         it     mi
          orrmi  a2, a2, #0xf000
          sub    a4, a4, fp
          mov    a4, a4, asr #20
@@@ -335,15 -344,19 +344,19 @@@ endfun
  
  .macro  clip   dst, src:vararg
          movs   \dst, \src
+         it     mi
          movmi  \dst, #0
          cmp    \dst, #255
+         it     gt
          movgt  \dst, #255
  .endm
  
  .macro  aclip  dst, src:vararg
          adds   \dst, \src
+         it     mi
          movmi  \dst, #0
          cmp    \dst, #255
+         it     gt
          movgt  \dst, #255
  .endm
  
@@@ -370,35 -383,35 +383,35 @@@ function idct_col_put_armv5t
          orr    a2, a3, a4, lsl #8
          rsb    v2, lr, lr, lsl #3
          ldmfd  sp!, {a3, a4}
-         strh   a2, [v2, v1]!
+         strh_pre a2, v2, v1
  
          sub    a2, a3, v3
          clip   a2, a2, asr #20
          sub    ip, a4, v4
          clip   ip, ip, asr #20
          orr    a2, a2, ip, lsl #8
-         strh   a2, [v1, lr]!
+         strh_pre a2, v1, lr
          add    a3, a3, v3
          clip   a2, a3, asr #20
          add    a4, a4, v4
          clip   a4, a4, asr #20
          orr    a2, a2, a4, lsl #8
          ldmfd  sp!, {a3, a4}
-         strh   a2, [v2, -lr]!
+         strh_dpre a2, v2, lr
  
          add    a2, a3, v5
          clip   a2, a2, asr #20
          add    ip, a4, v6
          clip   ip, ip, asr #20
          orr    a2, a2, ip, lsl #8
-         strh   a2, [v1, lr]!
+         strh_pre a2, v1, lr
          sub    a3, a3, v5
          clip   a2, a3, asr #20
          sub    a4, a4, v6
          clip   a4, a4, asr #20
          orr    a2, a2, a4, lsl #8
          ldmfd  sp!, {a3, a4}
-         strh   a2, [v2, -lr]!
+         strh_dpre a2, v2, lr
  
          add    a2, a3, v7
          clip   a2, a2, asr #20
          sub    a4, a4, fp
          clip   a4, a4, asr #20
          orr    a2, a2, a4, lsl #8
-         strh   a2, [v2, -lr]
+         strh_dpre a2, v2, lr
  
          ldr    pc, [sp], #4
  endfunc
@@@ -436,7 -449,7 +449,7 @@@ function idct_col_add_armv5t
          ldr    v1, [sp, #32]
          sub    a4, a4, v2
          rsb    v2, v1, v1, lsl #3
-         ldrh   ip, [v2, lr]!
+         ldrh_pre ip, v2, lr
          strh   a2, [lr]
          and    a2, ip, #255
          aclip  a3, a2, a3, asr #20
          strh   a2, [v2]
  
          ldmfd  sp!, {a3, a4}
-         ldrh   ip, [lr, v1]!
+         ldrh_pre ip, lr, v1
          sub    a2, a3, v3
          add    a3, a3, v3
          and    v3, ip, #255
          aclip  v3, v3, ip, lsr #8
          orr    a2, a2, v3, lsl #8
          add    a4, a4, v4
-         ldrh   ip, [v2, -v1]!
+         ldrh_dpre ip, v2, v1
          strh   a2, [lr]
          and    a2, ip, #255
          aclip  a3, a2, a3, asr #20
          strh   a2, [v2]
  
          ldmfd  sp!, {a3, a4}
-         ldrh   ip, [lr, v1]!
+         ldrh_pre ip, lr, v1
          add    a2, a3, v5
          sub    a3, a3, v5
          and    v3, ip, #255
          aclip  v3, v3, ip, lsr #8
          orr    a2, a2, v3, lsl #8
          sub    a4, a4, v6
-         ldrh   ip, [v2, -v1]!
+         ldrh_dpre ip, v2, v1
          strh   a2, [lr]
          and    a2, ip, #255
          aclip  a3, a2, a3, asr #20
          strh   a2, [v2]
  
          ldmfd  sp!, {a3, a4}
-         ldrh   ip, [lr, v1]!
+         ldrh_pre ip, lr, v1
          add    a2, a3, v7
          sub    a3, a3, v7
          and    v3, ip, #255
          aclip  v3, v3, ip, lsr #8
          orr    a2, a2, v3, lsl #8
          sub    a4, a4, fp
-         ldrh   ip, [v2, -v1]!
+         ldrh_dpre ip, v2, v1
          strh   a2, [lr]
          and    a2, ip, #255
          aclip  a3, a2, a3, asr #20
@@@ -4,20 -4,20 +4,20 @@@
   * Copyright (c) 2001 Michael Niedermayer <michaelni@gmx.at>
   * Copyright (c) 2007 Mans Rullgard <mans@mansr.com>
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
@@@ -200,6 -200,7 +200,7 @@@ function idct_row_armv
          ldr    r3, [r0, #8]          /* r3 = row[3,1] */
          ldr    r2, [r0]              /* r2 = row[2,0] */
          orrs   lr, lr, ip
+         itt    eq
          cmpeq  lr, r3
          cmpeq  lr, r2, lsr #16
          beq    1f
@@@ -282,14 -283,14 +283,14 @@@ function idct_col_put_armv
          pop    {r1, r2}
          idct_finish_shift_sat COL_SHIFT
  
-         strb   r4, [r1], r2
-         strb   r5, [r1], r2
-         strb   r6, [r1], r2
-         strb   r7, [r1], r2
-         strb   r11,[r1], r2
-         strb   r10,[r1], r2
-         strb   r9, [r1], r2
-         strb   r8, [r1], r2
+         strb_post r4, r1, r2
+         strb_post r5, r1, r2
+         strb_post r6, r1, r2
+         strb_post r7, r1, r2
+         strb_post r11,r1, r2
+         strb_post r10,r1, r2
+         strb_post r9, r1, r2
+         strb_post r8, r1, r2
  
          sub    r1, r1, r2, lsl #3
  
@@@ -318,16 -319,16 +319,16 @@@ function idct_col_add_armv
          add    ip, r3, ip, asr #COL_SHIFT
          usat   ip, #8, ip
          add    r4, r7, r4, asr #COL_SHIFT
-         strb   ip, [r1], r2
+         strb_post ip, r1, r2
          ldrb   ip, [r1, r2]
          usat   r4, #8, r4
          ldrb   r11,[r1, r2, lsl #2]
          add    r5, ip, r5, asr #COL_SHIFT
          usat   r5, #8, r5
-         strb   r4, [r1], r2
+         strb_post r4, r1, r2
          ldrb   r3, [r1, r2]
          ldrb   ip, [r1, r2, lsl #2]
-         strb   r5, [r1], r2
+         strb_post r5, r1, r2
          ldrb   r7, [r1, r2]
          ldrb   r4, [r1, r2, lsl #2]
          add    r6, r3, r6, asr #COL_SHIFT
          usat   r8, #8, r8
          add    lr, r4, lr, asr #COL_SHIFT
          usat   lr, #8, lr
-         strb   r6, [r1], r2
-         strb   r10,[r1], r2
-         strb   r9, [r1], r2
-         strb   r8, [r1], r2
-         strb   lr, [r1], r2
+         strb_post r6, r1, r2
+         strb_post r10,r1, r2
+         strb_post r9, r1, r2
+         strb_post r8, r1, r2
+         strb_post lr, r1, r2
  
          sub    r1, r1, r2, lsl #3
  
@@@ -6,20 -6,20 +6,20 @@@
   * Based on Simple IDCT
   * Copyright (c) 2001 Michael Niedermayer <michaelni@gmx.at>
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
@@@ -71,7 -71,7 +71,7 @@@ function idct_row4_pld_neo
          add             r3,  r0,  r1,  lsl #2
          pld             [r0, r1]
          pld             [r0, r1, lsl #1]
        pld             [r3, -r1]
A       pld             [r3, -r1]
          pld             [r3]
          pld             [r3, r1]
          add             r3,  r3,  r1,  lsl #1
@@@ -164,6 -164,7 +164,7 @@@ function idct_col4_neo
          orrs            r4,  r4,  r5
  
          idct_col4_top
+         it              eq
          addeq           r2,  r2,  #16
          beq             1f
  
  
  1:      orrs            r6,  r6,  r7
          ldrd            r4,  [r2, #16]
+         it              eq
          addeq           r2,  r2,  #16
          beq             2f
  
  
  2:      orrs            r4,  r4,  r5
          ldrd            r4,  [r2, #16]
+         it              eq
          addeq           r2,  r2,  #16
          beq             3f
  
          vadd.i32        q13, q13, q8
  
  3:      orrs            r4,  r4,  r5
+         it              eq
          addeq           r2,  r2,  #16
          beq             4f
  
@@@ -1,20 -1,20 +1,20 @@@
  /*
   * Copyright (c) 2010 Mans Rullgard <mans@mansr.com>
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
@@@ -100,9 -100,11 +100,11 @@@ NOVFP   vldr            s0,  [sp, #12*4
          vst1.32         {q9},     [r2,:128]
  
          subs            r1,  r1,  #1
+         it              eq
          popeq           {r4-r11,pc}
  
          cmp             r4,  #0
+         itt             eq
          subeq           r8,  r8,  #512*4
          subeq           r9,  r9,  #512*4
          sub             r5,  r5,  #512*4
@@@ -1,26 -1,34 +1,34 @@@
  /*
   * Copyright (C) 2010 Mans Rullgard <mans@mansr.com>
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
  #ifndef AVCODEC_ARM_VP56_ARITH_H
  #define AVCODEC_ARM_VP56_ARITH_H
  
+ #if CONFIG_THUMB
+ #   define A(x)
+ #   define T(x) x
+ #else
+ #   define A(x) x
+ #   define T(x)
+ #endif
  #if HAVE_ARMV6 && HAVE_INLINE_ASM
  
  #define vp56_rac_get_prob vp56_rac_get_prob_armv6
@@@ -32,15 -40,21 +40,21 @@@ static inline int vp56_rac_get_prob_arm
      unsigned bit;
  
      __asm__ ("adds    %3,  %3,  %0           \n"
+              "itt     cs                     \n"
               "cmpcs   %7,  %4                \n"
-              "ldrcsh  %2,  [%4], #2          \n"
+            A("ldrcsh  %2,  [%4], #2          \n")
+            T("ldrhcs  %2,  [%4], #2          \n")
               "rsb     %0,  %6,  #256         \n"
               "smlabb  %0,  %5,  %6,  %0      \n"
+            T("itttt   cs                     \n")
               "rev16cs %2,  %2                \n"
-              "orrcs   %1,  %1,  %2,  lsl %3  \n"
+            T("lslcs   %2,  %2,  %3           \n")
+            T("orrcs   %1,  %1,  %2           \n")
+            A("orrcs   %1,  %1,  %2,  lsl %3  \n")
               "subcs   %3,  %3,  #16          \n"
               "lsr     %0,  %0,  #8           \n"
               "cmp     %1,  %0,  lsl #16      \n"
+              "ittte   ge                     \n"
               "subge   %1,  %1,  %0,  lsl #16 \n"
               "subge   %0,  %5,  %0           \n"
               "movge   %2,  #1                \n"
@@@ -64,12 -78,17 +78,17 @@@ static inline int vp56_rac_get_prob_bra
      unsigned tmp;
  
      __asm__ ("adds    %3,  %3,  %0           \n"
+              "itt     cs                     \n"
               "cmpcs   %7,  %4                \n"
-              "ldrcsh  %2,  [%4], #2          \n"
+            A("ldrcsh  %2,  [%4], #2          \n")
+            T("ldrhcs  %2,  [%4], #2          \n")
               "rsb     %0,  %6,  #256         \n"
               "smlabb  %0,  %5,  %6,  %0      \n"
+            T("itttt   cs                     \n")
               "rev16cs %2,  %2                \n"
-              "orrcs   %1,  %1,  %2,  lsl %3  \n"
+            T("lslcs   %2,  %2,  %3           \n")
+            T("orrcs   %1,  %1,  %2           \n")
+            A("orrcs   %1,  %1,  %2,  lsl %3  \n")
               "subcs   %3,  %3,  #16          \n"
               "lsr     %0,  %0,  #8           \n"
               "lsl     %2,  %0,  #16          \n"
@@@ -1,20 -1,20 +1,20 @@@
  /**
   * Copyright (C) 2010 Mans Rullgard
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
          lsl             \cw, \cw, \t0
          lsl             \t0, \h,  \t0
          rsb             \h,  \pr, #256
+         it              cs
          ldrhcs          \t1, [\buf], #2
          smlabb          \h,  \t0, \pr, \h
+ T       itttt           cs
          rev16cs         \t1, \t1
-         orrcs           \cw, \cw, \t1, lsl \bs
+ A       orrcs           \cw, \cw, \t1, lsl \bs
+ T       lslcs           \t1, \t1, \bs
+ T       orrcs           \cw, \cw, \t1
          subcs           \bs, \bs, #16
          lsr             \h,  \h,  #8
          cmp             \cw, \h,  lsl #16
+         itt             ge
          subge           \cw, \cw, \h,  lsl #16
          subge           \h,  \t0, \h
  .endm
          adds            \bs, \bs, \t0
          lsl             \cw, \cw, \t0
          lsl             \t0, \h,  \t0
+         it              cs
          ldrhcs          \t1, [\buf], #2
          mov             \h,  #128
+         it              cs
          rev16cs         \t1, \t1
          add             \h,  \h,  \t0, lsl #7
-         orrcs           \cw, \cw, \t1, lsl \bs
+ A       orrcs           \cw, \cw, \t1, lsl \bs
+ T       ittt            cs
+ T       lslcs           \t1, \t1, \bs
+ T       orrcs           \cw, \cw, \t1
          subcs           \bs, \bs, #16
          lsr             \h,  \h,  #8
          cmp             \cw, \h,  lsl #16
+         itt             ge
          subge           \cw, \cw, \h,  lsl #16
          subge           \h,  \t0, \h
  .endm
@@@ -59,6 -70,7 +70,7 @@@ function ff_decode_block_coeffs_armv6, 
          cmp             r3,  #0
          ldr             r11, [r5]
          ldm             r0,  {r5-r7}                    @ high, bits, buf
+         it              ne
          pkhtbne         r11, r11, r11, asr #16
          ldr             r8,  [r0, #16]                  @ code_word
  0:
          adds            r6,  r6,  r9
          add             r4,  r4,  #11
          lsl             r8,  r8,  r9
+         it              cs
          ldrhcs          r10, [r7], #2
          lsl             r9,  r5,  r9
          mov             r5,  #128
+         it              cs
          rev16cs         r10, r10
          add             r5,  r5,  r9,  lsl #7
-         orrcs           r8,  r8,  r10, lsl r6
+ T       ittt            cs
+ T       lslcs           r10, r10, r6
+ T       orrcs           r8,  r8,  r10
+ A       orrcs           r8,  r8,  r10, lsl r6
          subcs           r6,  r6,  #16
          lsr             r5,  r5,  #8
          cmp             r8,  r5,  lsl #16
          movrel          r10, zigzag_scan-1
+         itt             ge
          subge           r8,  r8,  r5,  lsl #16
          subge           r5,  r9,  r5
          ldrb            r10, [r10, r3]
+         it              ge
          rsbge           r12, r12, #0
          cmp             r3,  #16
          strh            r12, [r1, r10]
          ldr             r0,  [sp]
          ldr             r9,  [r0, #12]
          cmp             r7,  r9
+         it              hi
          movhi           r7,  r9
          stm             r0,  {r5-r7}                    @ high, bits, buf
          str             r8,  [r0, #16]                  @ code_word
          mov             r12, #2
          ldrb            r0,  [r4, #4]
          rac_get_prob    r5,  r6,  r7,  r8,  r0,  r9,  r10
+         it              ge
          addge           r12, #1
          ldrb            r9,  [lr, r5]
          blt             4f
          ldrb            r0,  [r4, #5]
          rac_get_prob    r5,  r6,  r7,  r8,  r0,  r9,  r10
+         it              ge
          addge           r12, #1
          ldrb            r9,  [lr, r5]
          b               4f
          mov             r12, #5
          mov             r0,  #159
          rac_get_prob    r5,  r6,  r7,  r8,  r0,  r9,  r10
+         it              ge
          addge           r12, r12, #1
          ldrb            r9,  [lr, r5]
          b               4f
          mov             r12, #7
          mov             r0,  #165
          rac_get_prob    r5,  r6,  r7,  r8,  r0,  r9,  r10
+         it              ge
          addge           r12, r12, #2
          ldrb            r9,  [lr, r5]
          mov             r0,  #145
          rac_get_prob    r5,  r6,  r7,  r8,  r0,  r9,  r10
+         it              ge
          addge           r12, r12, #1
          ldrb            r9,  [lr, r5]
          b               4f
  3:
          ldrb            r0,  [r4, #8]
          rac_get_prob    r5,  r6,  r7,  r8,  r0,  r9,  r10
+         it              ge
          addge           r4,  r4,  #1
          ldrb            r9,  [lr, r5]
+         ite             ge
          movge           r12, #2
          movlt           r12, #0
          ldrb            r0,  [r4, #9]
          rac_get_prob    r5,  r6,  r7,  r8,  r0,  r9,  r10
          mov             r9,  #8
+         it              ge
          addge           r12, r12, #1
          movrel          r4,  X(ff_vp8_dct_cat_prob)
          lsl             r9,  r9,  r12
          lsl             r1,  r1,  #1
          rac_get_prob    r5,  r6,  r7,  r8,  r0,  r9,  r10
          ldrb            r0,  [r4], #1
+         it              ge
          addge           r1,  r1,  #1
          cmp             r0,  #0
          bne             1b
          add             r4,  r2,  r4
          add             r4,  r4,  #22
          rac_get_128     r5,  r6,  r7,  r8,  r9,  r10
+         it              ge
          rsbge           r12, r12, #0
          smulbb          r12, r12, r11
          movrel          r9,  zigzag_scan-1
@@@ -4,20 -4,20 +4,20 @@@
   * Copyright (c) 2010 Rob Clark <rob@ti.com>
   * Copyright (c) 2011 Mans Rullgard <mans@mansr.com>
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
@@@ -746,14 -746,14 +746,14 @@@ function ff_put_vp8_pixels4_neon, expor
          push            {r4-r6,lr}
  1:
          subs            r12, r12, #4
-         ldr             r4,       [r2], r3
-         ldr             r5,       [r2], r3
-         ldr             r6,       [r2], r3
-         ldr             lr,       [r2], r3
-         str             r4,       [r0], r1
-         str             r5,       [r0], r1
-         str             r6,       [r0], r1
-         str             lr,       [r0], r1
+         ldr_post        r4,  r2,  r3
+         ldr_post        r5,  r2,  r3
+         ldr_post        r6,  r2,  r3
+         ldr_post        lr,  r2,  r3
+         str_post        r4,  r0,  r1
+         str_post        r5,  r0,  r1
+         str_post        r6,  r0,  r1
+         str_post        lr,  r0,  r1
          bgt             1b
          pop             {r4-r6,pc}
  endfunc
diff --combined libavcodec/avcodec.h
@@@ -1,20 -1,20 +1,20 @@@
  /*
   * copyright (c) 2001 Fabrice Bellard
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
@@@ -204,7 -204,6 +204,7 @@@ enum CodecID 
      CODEC_ID_PRORES,
      CODEC_ID_JV,
      CODEC_ID_DFA,
 +    CODEC_ID_8SVX_RAW,
  
      /* various PCM "codecs" */
      CODEC_ID_PCM_S16LE= 0x10000,
      CODEC_ID_BINKAUDIO_DCT,
      CODEC_ID_AAC_LATM,
      CODEC_ID_QDMC,
 +    CODEC_ID_CELT,
  
      /* subtitle codecs */
      CODEC_ID_DVD_SUBTITLE= 0x17000,
      CODEC_ID_HDMV_PGS_SUBTITLE,
      CODEC_ID_DVB_TELETEXT,
      CODEC_ID_SRT,
 +    CODEC_ID_MICRODVD,
  
      /* other specific kind of codecs (generally used for attachments) */
      CODEC_ID_TTF= 0x18000,
@@@ -674,12 -671,10 +674,12 @@@ typedef struct RcOverride
   * Codec should fill in channel configuration and samplerate instead of container
   */
  #define CODEC_CAP_CHANNEL_CONF     0x0400
 +
  /**
   * Codec is able to deal with negative linesizes
   */
  #define CODEC_CAP_NEG_LINESIZES    0x0800
 +
  /**
   * Codec supports frame-level multithreading.
   */
   * Codec supports slice-based (or partition-based) multithreading.
   */
  #define CODEC_CAP_SLICE_THREADS    0x2000
 +/**
 + * Codec is lossless.
 + */
 +#define CODEC_CAP_LOSSLESS         0x80000000
  
  //The following defines may change, don't expect compatibility if you use them.
  #define MB_TYPE_INTRA4x4   0x0001
@@@ -972,7 -963,7 +972,7 @@@ typedef struct AVPanScan
      int64_t reordered_opaque;\
  \
      /**\
 -     * hardware accelerator private data (Libav-allocated)\
 +     * hardware accelerator private data (FFmpeg allocated)\
       * - encoding: unused\
       * - decoding: Set by libavcodec\
       */\
       * - decoding: Set by libavcodec.\
       */\
      void *thread_opaque;\
 +\
 +    /**\
 +     * frame timestamp estimated using various heuristics, in stream time base\
 +     * - encoding: unused\
 +     * - decoding: set by libavcodec, read by user.\
 +     */\
 +    int64_t best_effort_timestamp;\
 +\
 +    /**\
 +     * reordered pos from the last AVPacket that has been input into the decoder\
 +     * - encoding: unused\
 +     * - decoding: Read by user.\
 +     */\
 +    int64_t pkt_pos;\
 +\
 +    /**\
 +     * reordered sample aspect ratio for the video frame, 0/1 if unknown\unspecified
 +     * - encoding: unused\
 +     * - decoding: Read by user.\
 +     */\
 +    AVRational sample_aspect_ratio;\
 +\
 +    /**\
 +     * width and height of the video frame\
 +     * - encoding: unused\
 +     * - decoding: Read by user.\
 +     */\
 +    int width, height;\
 +\
 +    /**\
 +     * format of the frame, -1 if unknown or unset\
 +     * It should be cast to the corresponding enum (enum PixelFormat\
 +     * for video, enum AVSampleFormat for audio)\
 +     * - encoding: unused\
 +     * - decoding: Read by user.\
 +     */\
 +    int format;\
 +
  
  #define FF_QSCALE_TYPE_MPEG1 0
  #define FF_QSCALE_TYPE_MPEG2 1
@@@ -2615,7 -2568,7 +2615,7 @@@ typedef struct AVCodecContext 
      /**
       * Audio channel layout.
       * - encoding: set by user.
 -     * - decoding: set by libavcodec.
 +     * - decoding: set by user, may be overwritten by libavcodec.
       */
      int64_t channel_layout;
  
       * Hardware accelerator context.
       * For some hardware accelerators, a global context needs to be
       * provided by the user. In that case, this holds display-dependent
 -     * data Libav cannot instantiate itself. Please refer to the
 -     * Libav HW accelerator documentation to know how to fill this
 +     * data FFmpeg cannot instantiate itself. Please refer to the
 +     * FFmpeg HW accelerator documentation to know how to fill this
       * is. e.g. for VA API, this is a struct vaapi_context.
       * - encoding: unused
       * - decoding: Set by user
      enum AVAudioServiceType audio_service_type;
  
      /**
 -     * Used to request a sample format from the decoder.
 -     * - encoding: unused.
 +     * desired sample format
 +     * - encoding: Not used.
       * - decoding: Set by user.
 +     * Decoder will decode to this format if it can.
       */
      enum AVSampleFormat request_sample_fmt;
 +
 +    /**
 +     * Current statistics for PTS correction.
 +     * - decoding: maintained and used by libavcodec, not intended to be used by user apps
 +     * - encoding: unused
 +     */
 +    int64_t pts_correction_num_faulty_pts; /// Number of incorrect PTS values so far
 +    int64_t pts_correction_num_faulty_dts; /// Number of incorrect DTS values so far
 +    int64_t pts_correction_last_pts;       /// PTS of the last frame
 +    int64_t pts_correction_last_dts;       /// DTS of the last frame
 +
 +
  } AVCodecContext;
  
  /**
@@@ -3233,11 -3173,6 +3233,11 @@@ uint8_t* av_packet_new_side_data(AVPack
  uint8_t* av_packet_get_side_data(AVPacket *pkt, enum AVPacketSideDataType type,
                                   int *size);
  
 +int av_packet_merge_side_data(AVPacket *pkt);
 +
 +int av_packet_split_side_data(AVPacket *pkt);
 +
 +
  /* resample.c */
  
  struct ReSampleContext;
@@@ -3320,7 -3255,7 +3320,7 @@@ void av_resample_close(struct AVResampl
  /**
   * Allocate memory for a picture.  Call avpicture_free() to free it.
   *
-  * \see avpicture_fill()
+  * @see avpicture_fill()
   *
   * @param picture the picture to be filled in
   * @param pix_fmt the format of the picture
@@@ -3367,7 -3302,7 +3367,7 @@@ int avpicture_fill(AVPicture *picture, 
   * The data is stored compactly, without any gaps for alignment or padding
   * which may be applied by avpicture_fill().
   *
-  * \see avpicture_get_size()
+  * @see avpicture_get_size()
   *
   * @param[in] src AVPicture containing image data
   * @param[in] pix_fmt The format in which the picture data is stored.
@@@ -3397,9 -3332,6 +3397,9 @@@ void avcodec_get_chroma_sub_sample(enu
  
  #if FF_API_GET_PIX_FMT_NAME
  /**
 + * Return the short name for a pixel format.
 + *
 + * \see av_get_pix_fmt(), av_get_pix_fmt_string().
   * @deprecated Deprecated in favor of av_get_pix_fmt_name().
   */
  attribute_deprecated
@@@ -3964,7 -3896,7 +3964,7 @@@ typedef struct AVCodecParserContext 
      int64_t offset;      ///< byte offset from starting packet start
      int64_t cur_frame_end[AV_PARSER_PTS_NB];
  
-     /*!
+     /**
       * Set by parser to 1 for key frames and 0 for non-key frames.
       * It is initialized to -1, so if the parser doesn't set this flag,
       * old-style fallback using AV_PICTURE_TYPE_I picture type as key frames
@@@ -4191,7 -4123,7 +4191,7 @@@ unsigned int av_xiphlacing(unsigned cha
  
  /**
   * Logs a generic warning message about a missing feature. This function is
 - * intended to be used internally by Libav (libavcodec, libavformat, etc.)
 + * intended to be used internally by FFmpeg (libavcodec, libavformat, etc.)
   * only, and would normally not be used by applications.
   * @param[in] avc a pointer to an arbitrary struct of which the first field is
   * a pointer to an AVClass struct
@@@ -4205,13 -4137,13 +4205,13 @@@ void av_log_missing_feature(void *avc, 
  
  /**
   * Log a generic warning message asking for a sample. This function is
 - * intended to be used internally by Libav (libavcodec, libavformat, etc.)
 + * intended to be used internally by FFmpeg (libavcodec, libavformat, etc.)
   * only, and would normally not be used by applications.
   * @param[in] avc a pointer to an arbitrary struct of which the first field is
   * a pointer to an AVClass struct
   * @param[in] msg string containing an optional message, or NULL if no message
   */
- void av_log_ask_for_sample(void *avc, const char *msg, ...);
+ void av_log_ask_for_sample(void *avc, const char *msg, ...) av_printf_format(2, 3);
  
  /**
   * Register the hardware accelerator hwaccel.
@@@ -4242,7 -4174,7 +4242,7 @@@ enum AVLockOp 
   * lockmgr should store/get a pointer to a user allocated mutex. It's
   * NULL upon AV_LOCK_CREATE and != NULL for all other ops.
   *
 - * @param cb User defined callback. Note: Libav may invoke calls to this
 + * @param cb User defined callback. Note: FFmpeg may invoke calls to this
   *           callback during the call to av_lockmgr_register().
   *           Thus, the application must be prepared to handle that.
   *           If cb is set to NULL the lockmgr will be unregistered.
@@@ -3,20 -3,20 +3,20 @@@
   *
   * Copyright (c) 2008 Vladimir Voroshilov
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
@@@ -34,7 -34,7 +34,7 @@@
   *
   *  fc_out[n] = sum(i,0,len-1){ fc_in[i] * filter[(len + n - i)%len] }
   *
-  * \note fc_in and fc_out should not overlap!
+  * @note fc_in and fc_out should not overlap!
   */
  void ff_celp_convolve_circ(int16_t *fc_out, const int16_t *fc_in,
                             const int16_t *filter, int len);
diff --combined libavcodec/fft.h
@@@ -2,20 -2,20 +2,20 @@@
   * Copyright (c) 2000, 2001, 2002 Fabrice Bellard
   * Copyright (c) 2002-2004 Michael Niedermayer <michaelni@gmx.at>
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
@@@ -119,7 -119,7 +119,7 @@@ extern COSTABLE_CONST FFTSample* const 
  
  /**
   * Initialize the cosine table in ff_cos_tabs[index]
-  * \param index index in ff_cos_tabs array of the table to initialize
+  * @param index index in ff_cos_tabs array of the table to initialize
   */
  void ff_init_ff_cos_tabs(int index);
  
diff --combined libavcodec/g729dec.c
@@@ -2,20 -2,20 +2,20 @@@
   * G.729 decoder
   * Copyright (c) 2008 Vladimir Voroshilov
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  #include <stdlib.h>
@@@ -116,7 -116,7 +116,7 @@@ static const G729FormatDescription form
  };
  
  /**
-  * \brief pseudo random number generator
+  * @brief pseudo random number generator
   */
  static inline uint16_t g729_prng(uint16_t value)
  {
diff --combined libavcodec/h264_parser.c
@@@ -2,20 -2,20 +2,20 @@@
   * H.26L/H.264/AVC/JVT/14496-10/... parser
   * Copyright (c) 2003 Michael Niedermayer <michaelni@gmx.at>
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
@@@ -97,7 -97,7 +97,7 @@@ found
      return i-(state&5);
  }
  
- /*!
+ /**
   * Parse NAL units of found picture and decode some basic information.
   *
   * @param s parser context.
diff --combined libavcodec/lagarith.c
@@@ -2,20 -2,20 +2,20 @@@
   * Lagarith lossless decoder
   * Copyright (c) 2009 Nathan Caldwell <saintdev (at) gmail.com>
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
  #include "lagarithrac.h"
  
  enum LagarithFrameType {
-     FRAME_RAW           = 1,    /*!< uncompressed */
-     FRAME_U_RGB24       = 2,    /*!< unaligned RGB24 */
-     FRAME_ARITH_YUY2    = 3,    /*!< arithmetic coded YUY2 */
-     FRAME_ARITH_RGB24   = 4,    /*!< arithmetic coded RGB24 */
-     FRAME_SOLID_GRAY    = 5,    /*!< solid grayscale color frame */
-     FRAME_SOLID_COLOR   = 6,    /*!< solid non-grayscale color frame */
-     FRAME_OLD_ARITH_RGB = 7,    /*!< obsolete arithmetic coded RGB (no longer encoded by upstream since version 1.1.0) */
-     FRAME_ARITH_RGBA    = 8,    /*!< arithmetic coded RGBA */
-     FRAME_SOLID_RGBA    = 9,    /*!< solid RGBA color frame */
-     FRAME_ARITH_YV12    = 10,   /*!< arithmetic coded YV12 */
-     FRAME_REDUCED_RES   = 11,   /*!< reduced resolution YV12 frame */
+     FRAME_RAW           = 1,    /**< uncompressed */
+     FRAME_U_RGB24       = 2,    /**< unaligned RGB24 */
+     FRAME_ARITH_YUY2    = 3,    /**< arithmetic coded YUY2 */
+     FRAME_ARITH_RGB24   = 4,    /**< arithmetic coded RGB24 */
+     FRAME_SOLID_GRAY    = 5,    /**< solid grayscale color frame */
+     FRAME_SOLID_COLOR   = 6,    /**< solid non-grayscale color frame */
+     FRAME_OLD_ARITH_RGB = 7,    /**< obsolete arithmetic coded RGB (no longer encoded by upstream since version 1.1.0) */
+     FRAME_ARITH_RGBA    = 8,    /**< arithmetic coded RGBA */
+     FRAME_SOLID_RGBA    = 9,    /**< solid RGBA color frame */
+     FRAME_ARITH_YV12    = 10,   /**< arithmetic coded YV12 */
+     FRAME_REDUCED_RES   = 11,   /**< reduced resolution YV12 frame */
  };
  
  typedef struct LagarithContext {
      AVCodecContext *avctx;
      AVFrame picture;
      DSPContext dsp;
-     int zeros;                  /*!< number of consecutive zero bytes encountered */
-     int zeros_rem;              /*!< number of zero bytes remaining to output */
+     int zeros;                  /**< number of consecutive zero bytes encountered */
+     int zeros_rem;              /**< number of zero bytes remaining to output */
  } LagarithContext;
  
  /**
diff --combined libavcodec/lagarithrac.h
@@@ -3,20 -3,20 +3,20 @@@
   * Copyright (c) 2009 Nathan Caldwell <saintdev (at) gmail.com>
   * Copyright (c) 2009 David Conrad
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
@@@ -40,15 -40,15 +40,15 @@@ typedef struct lag_rac 
      AVCodecContext *avctx;
      unsigned low;
      unsigned range;
-     unsigned scale;             /*!< Number of bits of precision in range. */
-     unsigned hash_shift;        /*!< Number of bits to shift to calculate hash for radix search. */
+     unsigned scale;             /**< Number of bits of precision in range. */
+     unsigned hash_shift;        /**< Number of bits to shift to calculate hash for radix search. */
  
-     const uint8_t *bytestream_start;  /*!< Start of input bytestream. */
-     const uint8_t *bytestream;        /*!< Current position in input bytestream. */
-     const uint8_t *bytestream_end;    /*!< End position of input bytestream. */
+     const uint8_t *bytestream_start;  /**< Start of input bytestream. */
+     const uint8_t *bytestream;        /**< Current position in input bytestream. */
+     const uint8_t *bytestream_end;    /**< End position of input bytestream. */
  
-     uint32_t prob[258];         /*!< Table of cumulative probability for each symbol. */
-     uint8_t  range_hash[256];   /*!< Hash table mapping upper byte to approximate symbol. */
+     uint32_t prob[258];         /**< Table of cumulative probability for each symbol. */
+     uint8_t  range_hash[256];   /**< Hash table mapping upper byte to approximate symbol. */
  } lag_rac;
  
  void lag_rac_init(lag_rac *l, GetBitContext *gb, int length);
diff --combined libavcodec/lcldec.c
@@@ -2,20 -2,20 +2,20 @@@
   * LCL (LossLess Codec Library) Codec
   * Copyright (c) 2002-2004 Roberto Togni
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
@@@ -73,8 -73,8 +73,8 @@@ typedef struct LclDecContext 
  
  
  /**
-  * \param srcptr compressed source buffer, must be padded with at least 5 extra bytes
-  * \param destptr must be padded sufficiently for av_memcpy_backptr
+  * @param srcptr compressed source buffer, must be padded with at least 5 extra bytes
+  * @param destptr must be padded sufficiently for av_memcpy_backptr
   */
  static unsigned int mszh_decomp(const unsigned char * srcptr, int srclen, unsigned char * destptr, unsigned int destsize)
  {
  
  #if CONFIG_ZLIB_DECODER
  /**
-  * \brief decompress a zlib-compressed data block into decomp_buf
-  * \param src compressed input buffer
-  * \param src_len data length in input buffer
-  * \param offset offset in decomp_buf
-  * \param expected expected decompressed length
+  * @brief decompress a zlib-compressed data block into decomp_buf
+  * @param src compressed input buffer
+  * @param src_len data length in input buffer
+  * @param offset offset in decomp_buf
+  * @param expected expected decompressed length
   */
  static int zlib_decomp(AVCodecContext *avctx, const uint8_t *src, int src_len, int offset, int expected)
  {
@@@ -453,7 -453,6 +453,7 @@@ static av_cold int decode_init(AVCodecC
      unsigned int max_basesize = FFALIGN(avctx->width, 4) * FFALIGN(avctx->height, 4) + AV_LZO_OUTPUT_PADDING;
      unsigned int max_decomp_size;
  
 +    avcodec_get_frame_defaults(&c->pic);
      if (avctx->extradata_size < 8) {
          av_log(avctx, AV_LOG_ERROR, "Extradata size too small.\n");
          return 1;
diff --combined libavcodec/lsp.c
@@@ -4,20 -4,20 +4,20 @@@
   * Copyright (c) 2007 Reynaldo H. Verdejo Pinochet (QCELP decoder)
   * Copyright (c) 2008 Vladimir Voroshilov
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
@@@ -74,9 -74,9 +74,9 @@@ void ff_acelp_lsf2lspd(double *lsp, con
  }
  
  /**
-  * \brief decodes polynomial coefficients from LSP
-  * \param f [out] decoded polynomial coefficients (-0x20000000 <= (3.22) <= 0x1fffffff)
-  * \param lsp LSP coefficients (-0x8000 <= (0.15) <= 0x7fff)
+  * @brief decodes polynomial coefficients from LSP
+  * @param f [out] decoded polynomial coefficients (-0x20000000 <= (3.22) <= 0x1fffffff)
+  * @param lsp LSP coefficients (-0x8000 <= (0.15) <= 0x7fff)
   */
  static void lsp2poly(int* f, const int16_t* lsp, int lp_half_order)
  {
diff --combined libavcodec/lsp.h
@@@ -3,20 -3,20 +3,20 @@@
   *
   * Copyright (c) 2008 Vladimir Voroshilov
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
  */
  
  /**
-  * \brief ensure a minimum distance between LSFs
-  * \param[in,out] lsfq LSF to check and adjust
-  * \param lsfq_min_distance minimum distance between LSFs
-  * \param lsfq_min minimum allowed LSF value
-  * \param lsfq_max maximum allowed LSF value
-  * \param lp_order LP filter order
+  * @brief ensure a minimum distance between LSFs
+  * @param[in,out] lsfq LSF to check and adjust
+  * @param lsfq_min_distance minimum distance between LSFs
+  * @param lsfq_min minimum allowed LSF value
+  * @param lsfq_max maximum allowed LSF value
+  * @param lp_order LP filter order
   */
  void ff_acelp_reorder_lsf(int16_t* lsfq, int lsfq_min_distance, int lsfq_min, int lsfq_max, int lp_order);
  
  void ff_set_min_dist_lsf(float *lsf, double min_spacing, int size);
  
  /**
-  * \brief Convert LSF to LSP
-  * \param[out] lsp LSP coefficients (-0x8000 <= (0.15) < 0x8000)
-  * \param lsf normalized LSF coefficients (0 <= (2.13) < 0x2000 * PI)
-  * \param lp_order LP filter order
+  * @brief Convert LSF to LSP
+  * @param[out] lsp LSP coefficients (-0x8000 <= (0.15) < 0x8000)
+  * @param lsf normalized LSF coefficients (0 <= (2.13) < 0x2000 * PI)
+  * @param lp_order LP filter order
   *
-  * \remark It is safe to pass the same array into the lsf and lsp parameters.
+  * @remark It is safe to pass the same array into the lsf and lsp parameters.
   */
  void ff_acelp_lsf2lsp(int16_t *lsp, const int16_t *lsf, int lp_order);
  
  void ff_acelp_lsf2lspd(double *lsp, const float *lsf, int lp_order);
  
  /**
-  * \brief LSP to LP conversion (3.2.6 of G.729)
-  * \param[out] lp decoded LP coefficients (-0x8000 <= (3.12) < 0x8000)
-  * \param lsp LSP coefficients (-0x8000 <= (0.15) < 0x8000)
-  * \param lp_half_order LP filter order, divided by 2
+  * @brief LSP to LP conversion (3.2.6 of G.729)
+  * @param[out] lp decoded LP coefficients (-0x8000 <= (3.12) < 0x8000)
+  * @param lsp LSP coefficients (-0x8000 <= (0.15) < 0x8000)
+  * @param lp_half_order LP filter order, divided by 2
   */
  void ff_acelp_lsp2lpc(int16_t* lp, const int16_t* lsp, int lp_half_order);
  
  void ff_amrwb_lsp2lpc(const double *lsp, float *lp, int lp_order);
  
  /**
-  * \brief Interpolate LSP for the first subframe and convert LSP -> LP for both subframes (3.2.5 and 3.2.6 of G.729)
-  * \param[out] lp_1st decoded LP coefficients for first subframe  (-0x8000 <= (3.12) < 0x8000)
-  * \param[out] lp_2nd decoded LP coefficients for second subframe (-0x8000 <= (3.12) < 0x8000)
-  * \param lsp_2nd LSP coefficients of the second subframe (-0x8000 <= (0.15) < 0x8000)
-  * \param lsp_prev LSP coefficients from the second subframe of the previous frame (-0x8000 <= (0.15) < 0x8000)
-  * \param lp_order LP filter order
+  * @brief Interpolate LSP for the first subframe and convert LSP -> LP for both subframes (3.2.5 and 3.2.6 of G.729)
+  * @param[out] lp_1st decoded LP coefficients for first subframe  (-0x8000 <= (3.12) < 0x8000)
+  * @param[out] lp_2nd decoded LP coefficients for second subframe (-0x8000 <= (3.12) < 0x8000)
+  * @param lsp_2nd LSP coefficients of the second subframe (-0x8000 <= (0.15) < 0x8000)
+  * @param lsp_prev LSP coefficients from the second subframe of the previous frame (-0x8000 <= (0.15) < 0x8000)
+  * @param lp_order LP filter order
   */
  void ff_acelp_lp_decode(int16_t* lp_1st, int16_t* lp_2nd, const int16_t* lsp_2nd, const int16_t* lsp_prev, int lp_order);
  
diff --combined libavcodec/motion_est.c
@@@ -5,20 -5,20 +5,20 @@@
   *
   * new motion estimation (X1/EPZS) by Michael Niedermayer <michaelni@gmx.at>
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
@@@ -248,7 -248,7 +248,7 @@@ static int cmp_internal(MpegEncContext 
      }
  }
  
- /*! \brief compares a block (either a full macroblock or a partition thereof)
+ /** @brief compares a block (either a full macroblock or a partition thereof)
      against a proposed motion-compensated prediction of that block
   */
  static av_always_inline int cmp(MpegEncContext *s, const int x, const int y, const int subx, const int suby,
@@@ -2,20 -2,20 +2,20 @@@
   * Motion estimation
   * Copyright (c) 2002-2004 Michael Niedermayer
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
@@@ -158,7 -158,6 +158,7 @@@ static int hpel_motion_search(MpegEncCo
          const int b= score_map[(index+(1<<ME_MAP_SHIFT))&(ME_MAP_SIZE-1)]
                       + (mv_penalty[bx   - pred_x] + mv_penalty[by+2 - pred_y])*c->penalty_factor;
  
 +#if 1
          int key;
          int map_generation= c->map_generation;
  #ifndef NDEBUG
          assert(map[(index+1)&(ME_MAP_SIZE-1)] == key);
          key= ((my)<<ME_MAP_MV_BITS) + (mx-1) + map_generation;
          assert(map[(index-1)&(ME_MAP_SIZE-1)] == key);
 +#endif
          if(t<=b){
              CHECK_HALF_MV(0, 1, mx  ,my-1)
              if(l<=r){
@@@ -992,8 -990,8 +992,8 @@@ static av_always_inline int diamond_sea
          return   var_diamond_search(s, best, dmin, src_index, ref_index, penalty_factor, size, h, flags);
  }
  
- /*!
-    \param P[10][2] a list of candidate mvs to check before starting the
+ /**
+    @param P[10][2] a list of candidate mvs to check before starting the
     iterative search. If one of the candidates is close to the optimal mv, then
     it takes fewer iterations. And it increases the chance that we find the
     optimal mv.
@@@ -1003,12 -1001,12 +1003,12 @@@ static av_always_inline int epzs_motion
                               int ref_mv_scale, int flags, int size, int h)
  {
      MotionEstContext * const c= &s->me;
-     int best[2]={0, 0};      /*!< x and y coordinates of the best motion vector.
+     int best[2]={0, 0};      /**< x and y coordinates of the best motion vector.
                                 i.e. the difference between the position of the
                                 block currently being encoded and the position of
                                 the block chosen to predict it from. */
      int d;                   ///< the score (cmp + penalty) of any given mv
-     int dmin;                /*!< the best value of d, i.e. the score
+     int dmin;                /**< the best value of d, i.e. the score
                                 corresponding to the mv stored in best[]. */
      int map_generation;
      int penalty_factor;
diff --combined libavcodec/mpegvideo.h
@@@ -3,20 -3,20 +3,20 @@@
   * Copyright (c) 2000, 2001, 2002 Fabrice Bellard
   * Copyright (c) 2002-2004 Michael Niedermayer
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
@@@ -154,7 -154,7 +154,7 @@@ typedef struct MotionEstContext
      uint32_t *score_map;               ///< map to store the scores
      int map_generation;
      int pre_penalty_factor;
-     int penalty_factor;                /*!< an estimate of the bits required to
+     int penalty_factor;                /**< an estimate of the bits required to
                                          code a given mv value, e.g. (1,0) takes
                                          more bits than (0,0). We have to
                                          estimate whether any reduction in
@@@ -209,7 -209,6 +209,7 @@@ typedef struct MpegEncContext 
  
  /* the following codec id fields are deprecated in favor of codec_id */
      int h263_plus;    ///< h263 plus headers
 +    int h263_msmpeg4; ///< generate MSMPEG4 compatible stream (deprecated, use msmpeg4_version instead)
      int h263_flv;     ///< use flv h263 header
  
      enum CodecID codec_id;     /* see CODEC_ID_xxx */
diff --combined libavcodec/nuv.c
@@@ -2,20 -2,20 +2,20 @@@
   * NuppelVideo decoder
   * Copyright (c) 2006 Reimar Doeffinger
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  #include <stdio.h>
@@@ -63,11 -63,11 +63,11 @@@ static const uint8_t fallback_cquant[] 
  };
  
  /**
-  * \brief copy frame data from buffer to AVFrame, handling stride.
-  * \param f destination AVFrame
-  * \param src source buffer, does not use any line-stride
-  * \param width width of the video frame
-  * \param height height of the video frame
+  * @brief copy frame data from buffer to AVFrame, handling stride.
+  * @param f destination AVFrame
+  * @param src source buffer, does not use any line-stride
+  * @param width width of the video frame
+  * @param height height of the video frame
   */
  static void copy_frame(AVFrame *f, const uint8_t *src,
                         int width, int height) {
@@@ -77,7 -77,7 +77,7 @@@
  }
  
  /**
-  * \brief extract quantization tables from codec data into our context
+  * @brief extract quantization tables from codec data into our context
   */
  static int get_quant(AVCodecContext *avctx, NuvContext *c,
                       const uint8_t *buf, int size) {
@@@ -94,7 -94,7 +94,7 @@@
  }
  
  /**
-  * \brief set quantization tables from a quality value
+  * @brief set quantization tables from a quality value
   */
  static void get_quant_quality(NuvContext *c, int quality) {
      int i;
diff --combined libavcodec/qcelpdata.h
@@@ -2,20 -2,20 +2,20 @@@
   * QCELP decoder
   * Copyright (c) 2007 Reynaldo H. Verdejo Pinochet
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
@@@ -26,7 -26,7 +26,7 @@@
   * @file
   * Data tables for the QCELP decoder
   * @author Reynaldo H. Verdejo Pinochet
 - * @remark Libav merging spearheaded by Kenan Gillet
 + * @remark FFmpeg merging spearheaded by Kenan Gillet
   * @remark Development mentored by Benjamin Larson
   */
  
@@@ -74,9 -74,9 +74,9 @@@ typedef struct 
  static const float qcelp_hammsinc_table[4] = { -0.006822,  0.041249, -0.143459,  0.588863};
  
  typedef struct {
-     uint8_t index;  /*!< index into the QCELPContext structure */
-     uint8_t bitpos; /*!< position of the lowest bit in the value's byte */
-     uint8_t bitlen; /*!< number of bits to read */
+     uint8_t index;  /**< index into the QCELPContext structure */
+     uint8_t bitpos; /**< position of the lowest bit in the value's byte */
+     uint8_t bitlen; /**< number of bits to read */
  } QCELPBitmap;
  
  #define QCELP_OF(variable, bit, len) {offsetof(QCELPFrame, variable), bit, len}
diff --combined libavcodec/qcelpdec.c
@@@ -2,20 -2,20 +2,20 @@@
   * QCELP decoder
   * Copyright (c) 2007 Reynaldo H. Verdejo Pinochet
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
@@@ -23,7 -23,7 +23,7 @@@
   * @file
   * QCELP decoder
   * @author Reynaldo H. Verdejo Pinochet
 - * @remark Libav merging spearheaded by Kenan Gillet
 + * @remark FFmpeg merging spearheaded by Kenan Gillet
   * @remark Development mentored by Benjamin Larson
   */
  
@@@ -46,7 -46,7 +46,7 @@@
  
  typedef enum
  {
-     I_F_Q = -1,    /*!< insufficient frame quality */
+     I_F_Q = -1,    /**< insufficient frame quality */
      SILENCE,
      RATE_OCTAVE,
      RATE_QUARTER,
@@@ -58,12 -58,12 +58,12 @@@ typedef struc
  {
      GetBitContext     gb;
      qcelp_packet_rate bitrate;
-     QCELPFrame        frame;    /*!< unpacked data frame */
+     QCELPFrame        frame;    /**< unpacked data frame */
  
      uint8_t  erasure_count;
-     uint8_t  octave_count;      /*!< count the consecutive RATE_OCTAVE frames */
+     uint8_t  octave_count;      /**< count the consecutive RATE_OCTAVE frames */
      float    prev_lspf[10];
-     float    predictor_lspf[10];/*!< LSP predictor for RATE_OCTAVE and I_F_Q */
+     float    predictor_lspf[10];/**< LSP predictor for RATE_OCTAVE and I_F_Q */
      float    pitch_synthesis_filter_mem[303];
      float    pitch_pre_filter_mem[303];
      float    rnd_fir_filter_mem[180];
diff --combined libavcodec/rtjpeg.c
@@@ -2,20 -2,20 +2,20 @@@
   * RTJpeg decoding functions
   * Copyright (c) 2006 Reimar Doeffinger
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  #include "libavutil/common.h"
      if (n) {skip_bits(gb, n);}
  
  /**
-  * \brief read one block from stream
-  * \param gb contains stream data
-  * \param block where data is written to
-  * \param scan array containing the mapping stream address -> block position
-  * \param quant quantization factors
-  * \return 0 means the block is not coded, < 0 means an error occurred.
+  * @brief read one block from stream
+  * @param gb contains stream data
+  * @param block where data is written to
+  * @param scan array containing the mapping stream address -> block position
+  * @param quant quantization factors
+  * @return 0 means the block is not coded, < 0 means an error occurred.
   *
   * Note: GetBitContext is used to make the code simpler, since all data is
   * aligned this could be done faster in a different way, e.g. as it is done
@@@ -96,13 -96,13 +96,13 @@@ static inline int get_block(GetBitConte
  }
  
  /**
-  * \brief decode one rtjpeg YUV420 frame
-  * \param c context, must be initialized via rtjpeg_decode_init
-  * \param f AVFrame to place decoded frame into. If parts of the frame
+  * @brief decode one rtjpeg YUV420 frame
+  * @param c context, must be initialized via rtjpeg_decode_init
+  * @param f AVFrame to place decoded frame into. If parts of the frame
   *          are not coded they are left unchanged, so consider initializing it
-  * \param buf buffer containing input data
-  * \param buf_size length of input data in bytes
-  * \return number of bytes consumed from the input buffer
+  * @param buf buffer containing input data
+  * @param buf_size length of input data in bytes
+  * @return number of bytes consumed from the input buffer
   */
  int rtjpeg_decode_frame_yuv420(RTJpegContext *c, AVFrame *f,
                                 const uint8_t *buf, int buf_size) {
  }
  
  /**
-  * \brief initialize an RTJpegContext, may be called multiple times
-  * \param c context to initialize
-  * \param dsp specifies the idct to use for decoding
-  * \param width width of image, will be rounded down to the nearest multiple
+  * @brief initialize an RTJpegContext, may be called multiple times
+  * @param c context to initialize
+  * @param dsp specifies the idct to use for decoding
+  * @param width width of image, will be rounded down to the nearest multiple
   *              of 16 for decoding
-  * \param height height of image, will be rounded down to the nearest multiple
+  * @param height height of image, will be rounded down to the nearest multiple
   *              of 16 for decoding
-  * \param lquant luma quantization table to use
-  * \param cquant chroma quantization table to use
+  * @param lquant luma quantization table to use
+  * @param cquant chroma quantization table to use
   */
  void rtjpeg_decode_init(RTJpegContext *c, DSPContext *dsp,
                          int width, int height,
diff --combined libavcodec/tableprint.h
@@@ -3,20 -3,20 +3,20 @@@
   *
   * Copyright (c) 2009 Reimar Döffinger <Reimar.Doeffinger@gmx.de>
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
@@@ -56,7 -56,7 +56,7 @@@ void write_##type##_2d_array(const voi
  }
  
  /**
-  * \defgroup printfuncs Predefined functions for printing tables
+  * @defgroup printfuncs Predefined functions for printing tables
   *
   * \{
   */
diff --combined libavcodec/twinvq.c
@@@ -2,20 -2,20 +2,20 @@@
   * TwinVQ decoder
   * Copyright (c) 2009 Vitor Sessak
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
@@@ -411,7 -411,7 +411,7 @@@ static inline float mulawinv(float y, f
   * a*b == 200 and the nearest integer is ill-defined, use a table to emulate
   * the following broken float-based implementation used by the binary decoder:
   *
-  * \code
+  * @code
   * static int very_broken_op(int a, int b)
   * {
   *    static float test; // Ugh, force gcc to do the division first...
   *    test = a/400.;
   *    return b * test +  0.5;
   * }
-  * \endcode
+  * @endcode
   *
   * @note if this function is replaced by just ROUNDED_DIV(a*b,400.), the stddev
   * between the original file (before encoding with Yamaha encoder) and the
@@@ -938,14 -938,14 +938,14 @@@ static void permutate_in_line(int16_t *
  /**
   * Interpret the input data as in the following table:
   *
-  * \verbatim
+  * @verbatim
   *
   * abcdefgh
   * ijklmnop
   * qrstuvw
   * x123456
   *
-  * \endverbatim
+  * @endverbatim
   *
   * and transpose it, giving the output
   * aiqxbjr1cks2dlt3emu4fvn5gow6hp
diff --combined libavcodec/vaapi.c
@@@ -4,27 -4,27 +4,27 @@@
   *
   * Copyright (C) 2008-2009 Splitted-Desktop Systems
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
  #include "vaapi_internal.h"
  
  /**
-  * \addtogroup VAAPI_Decoding
+  * @addtogroup VAAPI_Decoding
   *
   * @{
   */
diff --combined libavcodec/vaapi.h
@@@ -1,23 -1,23 +1,23 @@@
  /*
 - * Video Acceleration API (shared data between Libav and the video player)
 + * Video Acceleration API (shared data between FFmpeg and the video player)
   * HW decode acceleration for MPEG-2, MPEG-4, H.264 and VC-1
   *
   * Copyright (C) 2008-2009 Splitted-Desktop Systems
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
  #include <stdint.h>
  
  /**
-  * \defgroup VAAPI_Decoding VA API Decoding
-  * \ingroup Decoder
+  * @defgroup VAAPI_Decoding VA API Decoding
+  * @ingroup Decoder
   * @{
   */
  
  /**
 - * This structure is used to share data between the Libav library and
 + * This structure is used to share data between the FFmpeg library and
   * the client video application.
   * This shall be zero-allocated and available as
   * AVCodecContext.hwaccel_context. All user members can be set once
@@@ -4,20 -4,20 +4,20 @@@
   *
   * Copyright (C) 2008-2009 Splitted-Desktop Systems
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
@@@ -30,7 -30,7 +30,7 @@@
  #include "mpegvideo.h"
  
  /**
-  * \addtogroup VAAPI_Decoding
+  * @addtogroup VAAPI_Decoding
   *
   * @{
   */
diff --combined libavcodec/vdpau.c
@@@ -4,20 -4,20 +4,20 @@@
   *
   * Copyright (c) 2008 NVIDIA
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
@@@ -33,7 -33,7 +33,7 @@@
  #include "vdpau_internal.h"
  
  /**
-  * \addtogroup VDPAU_Decoding
+  * @addtogroup VDPAU_Decoding
   *
   * @{
   */
@@@ -369,40 -369,4 +369,40 @@@ void ff_vdpau_mpeg4_decode_picture(Mpeg
      render->bitstream_buffers_used = 0;
  }
  
 +// Only dummy functions for now
 +static int vdpau_mpeg2_start_frame(AVCodecContext *avctx, const uint8_t *buffer, uint32_t size)
 +{
 +    return 0;
 +}
 +
 +static int vdpau_mpeg2_decode_slice(AVCodecContext *avctx, const uint8_t *buffer, uint32_t size)
 +{
 +    return 0;
 +}
 +
 +static int vdpau_mpeg2_end_frame(AVCodecContext *avctx)
 +{
 +    return 0;
 +}
 +
 +AVHWAccel ff_mpeg1_vdpau_hwaccel = {
 +    .name           = "mpeg1_vdpau",
 +    .type &nb