]> git.sesse.net Git - ffmpeg/commitdiff
Merge remote-tracking branch 'qatar/master'
authorMichael Niedermayer <michaelni@gmx.at>
Wed, 14 Dec 2011 22:58:10 +0000 (23:58 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Wed, 14 Dec 2011 22:58:10 +0000 (23:58 +0100)
* qatar/master: (23 commits)
  applehttp: Properly clean up if unable to probe a segment
  applehttp: Avoid reading uninitialized memory
  fate: Replace misleading "aac" in the name of an ADTS test with "adts".
  fate: Drop pointless "-an" from pictor test command.
  fate: split off image codec FATE tests into their own file
  fate: split off WMA codec FATE tests into their own file
  fate: split off lossless video and audio FATE tests into their own files
  fate: split off qtrle codec FATE tests into their own file
  fate: split off Ut Video codec FATE tests into their own file
  fate: split off screen codec FATE tests into their own file
  fate: split off Real Inc. codec FATE tests into their own file
  fate: split off AC-3 codec FATE tests into their own file
  mpegvideo: remove abort() in ff_find_unused_picture()
  rv40: NEON optimised loop filter strength selection
  rv40: rearrange loop filter functions
  configure: cosmetics: sort some lists where appropriate
  swscale_mmx: drop no longer required parameters from VSCALEX macros
  swscale: Mark yuv2planeX_8_mmx as MMX2; it contains MMX2 instructions.
  build: conditionally compile x86 H.264 chroma optimizations
  v410 encoder and decoder
  ...

Conflicts:
Changelog
configure
doc/developer.texi
doc/general.texi
libavcodec/arm/asm.S
libavcodec/avcodec.h
libavcodec/v410dec.c
libavcodec/v410enc.c
libavcodec/version.h
libavcodec/x86/Makefile
libavcodec/x86/dsputil_mmx.c
libswscale/x86/swscale_mmx.c
tests/Makefile
tests/fate2.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
22 files changed:
1  2 
Makefile
configure
doc/general.texi
libavcodec/arm/asm.S
libavcodec/avcodec.h
libavcodec/h261dec.c
libavcodec/h263dec.c
libavcodec/mpegvideo.c
libavcodec/mpegvideo_enc.c
libavcodec/rv40.c
libavcodec/rv40dsp.c
libavcodec/vc1dec.c
libavcodec/version.h
libavcodec/x86/Makefile
libavcodec/x86/dsputil_mmx.c
libavformat/applehttp.c
library.mak
libswscale/x86/scale.asm
libswscale/x86/swscale_mmx.c
tests/Makefile
tests/fate.mak
tests/fate2.mak

diff --cc Makefile
Simple merge
diff --cc configure
index 7d8eb9efe10e14ff7ec98f5a2a5637b01e057bd0,a73924a8f1b87b70e41e60580ba865d30207ab3d..5593938297ff08d195f9ee0d01b930569c94b39c
+++ b/configure
@@@ -1191,7 -1105,7 +1191,8 @@@ HAVE_LIST=
      memalign
      mkstemp
      mmap
 +    PeekNamedPipe
+     poll_h
      posix_memalign
      round
      roundf
      sndio_h
      socklen_t
      soundcard_h
-     poll_h
-     setrlimit
      strerror_r
      strptime
 -    strtok_r
      struct_addrinfo
      struct_ipv6_mreq
+     struct_rusage_ru_maxrss
      struct_sockaddr_in6
      struct_sockaddr_sa_len
      struct_sockaddr_storage
@@@ -1387,8 -1293,7 +1388,8 @@@ h263_encoder_select="aandct
  h263_vaapi_hwaccel_select="vaapi h263_decoder"
  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_decoder_select="golomb h264chroma h264dsp h264pred"
  h264_dxva2_hwaccel_deps="dxva2api_h"
  h264_dxva2_hwaccel_select="dxva2 h264_decoder"
  h264_vaapi_hwaccel_select="vaapi h264_decoder"
@@@ -1403,33 -1307,28 +1404,33 @@@ loco_decoder_select="golomb
  mjpeg_encoder_select="aandct"
  mlp_decoder_select="mlp_parser"
  mp1_decoder_select="mpegaudiodsp"
- mp2_decoder_select="mpegaudiodsp"
- mp3adu_decoder_select="mpegaudiodsp"
- mp3_decoder_select="mpegaudiodsp"
- mp3on4_decoder_select="mpegaudiodsp"
  mp1float_decoder_select="mpegaudiodsp"
+ mp2_decoder_select="mpegaudiodsp"
  mp2float_decoder_select="mpegaudiodsp"
+ mp3_decoder_select="mpegaudiodsp"
+ mp3adu_decoder_select="mpegaudiodsp"
  mp3adufloat_decoder_select="mpegaudiodsp"
  mp3float_decoder_select="mpegaudiodsp"
+ mp3on4_decoder_select="mpegaudiodsp"
  mp3on4float_decoder_select="mpegaudiodsp"
- mpeg1video_encoder_select="aandct"
- mpeg2video_encoder_select="aandct"
- mpeg4_decoder_select="h263_decoder mpeg4video_parser"
- mpeg4_encoder_select="h263_encoder"
  mpeg_vdpau_decoder_select="vdpau mpegvideo_decoder"
+ mpeg_xvmc_decoder_deps="X11_extensions_XvMClib_h"
+ mpeg_xvmc_decoder_select="mpegvideo_decoder"
  mpeg1_vdpau_decoder_select="vdpau mpeg1video_decoder"
 +mpeg1_vdpau_hwaccel_select="vdpau mpeg1video_decoder"
+ mpeg1video_encoder_select="aandct"
 +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"
+ mpeg2video_encoder_select="aandct"
 +mpeg4_crystalhd_decoder_select="crystalhd"
+ mpeg4_decoder_select="h263_decoder mpeg4video_parser"
+ mpeg4_encoder_select="h263_encoder"
  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"
@@@ -1453,11 -1352,8 +1454,11 @@@ 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_select="golomb h264chroma h264dsp h264pred"
  svq3_decoder_suggest="zlib"
  theora_decoder_select="vp3_decoder"
  tiff_decoder_suggest="zlib"
@@@ -1465,9 -1361,8 +1466,9 @@@ tiff_encoder_suggest="zlib
  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_decoder_select="h263_decoder h264chroma"
 -vc1_dxva2_hwaccel_deps="dxva2api_h DXVA_PictureParameters_wDecodedPictureIndex"
 +vc1_dxva2_hwaccel_deps="dxva2api_h"
  vc1_dxva2_hwaccel_select="dxva2 vc1_decoder"
  vc1_vaapi_hwaccel_select="vaapi vc1_decoder"
  vc1_vdpau_decoder_select="vdpau vc1_decoder"
@@@ -1505,11 -1398,9 +1506,11 @@@ vda_deps="VideoDecodeAcceleration_VDADe
  vdpau_deps="vdpau_vdpau_h vdpau_vdpau_x11_h"
  
  # parsers
- h264_parser_select="golomb h264dsp h264pred"
+ h264_parser_select="golomb h264chroma h264dsp h264pred"
  
  # external libraries
 +libaacplus_encoder_deps="libaacplus"
 +libcelt_decoder_deps="libcelt"
  libdirac_decoder_deps="libdirac !libschroedinger"
  libdirac_encoder_deps="libdirac"
  libfaac_encoder_deps="libfaac"
@@@ -1640,15 -1514,15 +1641,15 @@@ avformat_deps="avcodec
  postproc_deps="gpl"
  
  # programs
- ffmpeg_deps="avcodec avformat swscale swresample"
- ffmpeg_select="buffer_filter buffersink_filter"
  avconv_deps="avcodec avformat swscale"
  avconv_select="buffer_filter"
 -avplay_deps="avcodec avformat swscale sdl"
 -avplay_select="rdft"
 -avprobe_deps="avcodec avformat"
 -avserver_deps="avformat ffm_muxer fork rtp_protocol rtsp_demuxer"
 -avserver_extralibs='$ldl'
 -ffmpeg_deps="avcodec avformat swscale"
 -ffmpeg_select="buffer_filter"
 +ffplay_deps="avcodec avformat swscale sdl"
 +ffplay_select="buffersink_filter rdft"
 +ffprobe_deps="avcodec avformat"
 +ffserver_deps="avformat ffm_muxer fork rtp_protocol rtsp_demuxer"
 +ffserver_extralibs='$ldl'
++ffmpeg_deps="avcodec avformat swscale swresample"
++ffmpeg_select="buffer_filter buffersink_filter"
  
  doc_deps="texi2html"
  
@@@ -1773,11 -1645,10 +1774,11 @@@ nm_default="nm
  objformat="elf"
  pkg_config_default=pkg-config
  ranlib="ranlib"
 +strip_default="strip"
  yasmexe="yasm"
- nogas=":"
  
  nm_opts='-g'
+ nogas=":"
  
  # machine
  arch_default=$(uname -m)
@@@ -1793,22 -1664,22 +1794,23 @@@ enable avdevic
  enable avfilter
  enable avformat
  enable avutil
- enable asm
- enable debug
- enable doc
- enable fastdiv
+ enable postproc
++enable stripping
++enable swresample
+ enable swscale
 -enable avconv
 -enable avplay
 -enable avprobe
 -enable avserver
  enable ffmpeg
 +enable ffplay
 +enable ffprobe
 +enable ffserver
+ enable asm
+ enable debug
+ enable doc
+ enable fastdiv
  enable network
  enable optimizations
- enable postproc
- enable protocols
  enable static
- enable stripping
- enable swresample
- enable swscale
  enable swscale_alpha
  
  # build settings
@@@ -2031,15 -1899,14 +2033,15 @@@ tmpfile()
  
  trap 'rm -f -- $TMPFILES' EXIT
  
- tmpfile TMPC  .c
- tmpfile TMPCPP .cpp
- tmpfile TMPE  $EXESUF
- tmpfile TMPH  .h
- tmpfile TMPO  .o
- tmpfile TMPS  .S
- tmpfile TMPV  .ver
- tmpfile TMPSH .sh
  tmpfile TMPASM .asm
+ tmpfile TMPC   .c
++tmpfile TMPCPP .cpp
+ tmpfile TMPE   $EXESUF
+ tmpfile TMPH   .h
+ tmpfile TMPO   .o
+ tmpfile TMPS   .S
+ tmpfile TMPSH  .sh
+ tmpfile TMPV   .ver
  
  unset -f mktemp
  
@@@ -3555,14 -3338,13 +3557,14 @@@ get_version()
      eval echo "${lcname}_VERSION_MAJOR=\$${name}_VERSION_MAJOR" >> config.mak
  }
  
- get_version LIBSWSCALE  libswscale/swscale.h
- get_version LIBSWRESAMPLE libswresample/swresample.h
- get_version LIBPOSTPROC libpostproc/postprocess.h
  get_version LIBAVCODEC  libavcodec/version.h
  get_version LIBAVDEVICE libavdevice/avdevice.h
+ get_version LIBAVFILTER libavfilter/avfilter.h
  get_version LIBAVFORMAT libavformat/version.h
  get_version LIBAVUTIL   libavutil/avutil.h
- get_version LIBAVFILTER libavfilter/avfilter.h
+ get_version LIBPOSTPROC libpostproc/postprocess.h
++get_version LIBSWRESAMPLE libswresample/swresample.h
+ get_version LIBSWSCALE  libswscale/swscale.h
  
  cat > $TMPH <<EOF
  /* Automatically generated by configure - do not modify! */
Simple merge
Simple merge
index 4290f8b4bef146f6157036443472d3d91cd7d907,1715bbb32b040775169a4f1acbadd536f5190f68..5a0e0ed380947894df0cf9f88501dd1dabc21b01
@@@ -4629,16 -4487,8 +4629,8 @@@ int av_picture_pad(AVPicture *dst, cons
  unsigned int av_xiphlacing(unsigned char *s, unsigned int v);
  
  /**
- <<<<<<< HEAD
-  * Logs a generic warning message about a missing feature. This function is
-  * intended to be used internally by FFmpeg (libavcodec, libavformat, etc.)
- ||||||| merged common ancestors
-  * Logs a generic warning message about a missing feature. This function is
-  * intended to be used internally by Libav (libavcodec, libavformat, etc.)
- =======
   * Log a generic warning message about a missing feature. This function is
-- * intended to be used internally by Libav (libavcodec, libavformat, etc.)
- >>>>>>> qatar/master
++ * 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
Simple merge
Simple merge
index 2b792642c5fc7b210cab30378842d8c852aa8a77,ab57b51e8738589724028959053cd5eb02e03061..8924046dc4101fc1607b2376104b4c4dfb307ae4
@@@ -1222,24 -1259,20 +1210,28 @@@ int MPV_frame_start(MpegEncContext *s, 
  
              /* Allocate a dummy frame */
              i= ff_find_unused_picture(s, 0);
+             if (i < 0)
+                 return i;
              s->last_picture_ptr= &s->picture[i];
 +            s->last_picture_ptr->f.key_frame = 0;
              if(ff_alloc_picture(s, s->last_picture_ptr, 0) < 0)
                  return -1;
 +
 +            if(s->codec_id == CODEC_ID_FLV1 || s->codec_id == CODEC_ID_H263){
 +                for(i=0; i<s->height; i++)
 +                    memset(s->last_picture_ptr->f.data[0] + s->last_picture_ptr->f.linesize[0]*i, 16, s->width);
 +            }
 +
              ff_thread_report_progress((AVFrame*)s->last_picture_ptr, INT_MAX, 0);
              ff_thread_report_progress((AVFrame*)s->last_picture_ptr, INT_MAX, 1);
          }
          if ((s->next_picture_ptr == NULL || s->next_picture_ptr->f.data[0] == NULL) && s->pict_type == AV_PICTURE_TYPE_B) {
              /* Allocate a dummy frame */
              i= ff_find_unused_picture(s, 0);
+             if (i < 0)
+                 return i;
              s->next_picture_ptr= &s->picture[i];
 +            s->next_picture_ptr->f.key_frame = 0;
              if(ff_alloc_picture(s, s->next_picture_ptr, 0) < 0)
                  return -1;
              ff_thread_report_progress((AVFrame*)s->next_picture_ptr, INT_MAX, 0);
Simple merge
Simple merge
Simple merge
Simple merge
index 870d7e0a30439c98a3ee89308184ded739a179e2,d15fb48825bbe1116da8c37d4f1f83dfa42b7093..84d4dadfa1d25571269d42f7b48d8102655957fe
@@@ -21,7 -21,7 +21,7 @@@
  #define AVCODEC_VERSION_H
  
  #define LIBAVCODEC_VERSION_MAJOR 53
- #define LIBAVCODEC_VERSION_MINOR 44
 -#define LIBAVCODEC_VERSION_MINOR 28
++#define LIBAVCODEC_VERSION_MINOR 45
  #define LIBAVCODEC_VERSION_MICRO  0
  
  #define LIBAVCODEC_VERSION_INT  AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
index 4b85514676ea2b847d33840ac1f5bea14dc85f65,6759a228c450430274d10b6d20b35195c11716e2..48ff39b0a84d22f7d98d7c71ece6af8a79194dc9
@@@ -9,8 -9,9 +9,11 @@@ YASM-OBJS-FFT-$(HAVE_SSE)              
  YASM-OBJS-$(CONFIG_FFT)                += x86/fft_mmx.o                 \
                                            $(YASM-OBJS-FFT-yes)
  
 +YASM-OBJS-$(CONFIG_DWT)                += x86/dwt_yasm.o
 +
+ YASM-OBJS-$(CONFIG_H264CHROMA)         += x86/h264_chromamc.o           \
+                                           x86/h264_chromamc_10bit.o
  MMX-OBJS-$(CONFIG_H264DSP)             += x86/h264dsp_mmx.o
  YASM-OBJS-$(CONFIG_H264DSP)            += x86/h264_deblock.o            \
                                            x86/h264_deblock_10bit.o      \
index a27c3b53d681fe012fcfe2c8c5a4e16f1a6cf79a,e34b95b0daf3f675bac82aa72f652ac03d39ff6f..75bcae8110218ee46768e866f30294be91e5b08f
@@@ -2808,7 -2826,10 +2810,7 @@@ void dsputil_init_mmx(DSPContext* c, AV
                  H264_QPEL_FUNCS_10(2, 0, ssse3_cache64)
                  H264_QPEL_FUNCS_10(3, 0, ssse3_cache64)
              }
-             if (!high_bit_depth) {
 -#endif
 -            c->add_png_paeth_prediction= add_png_paeth_prediction_ssse3;
 -#if HAVE_YASM
+             if (!high_bit_depth && CONFIG_H264CHROMA) {
              c->put_h264_chroma_pixels_tab[0]= ff_put_h264_chroma_mc8_ssse3_rnd;
              c->avg_h264_chroma_pixels_tab[0]= ff_avg_h264_chroma_mc8_ssse3_rnd;
              c->put_h264_chroma_pixels_tab[1]= ff_put_h264_chroma_mc4_ssse3;
Simple merge
diff --cc library.mak
Simple merge
Simple merge
index e46da770ae20e72c8b11cbd68a90141afd7effcc,4305cef41de70b6ec607127a556ac8a50bef5545..7cac5d80fdd4da3c691a36f4ee2d0fb9d888cd9f
@@@ -347,12 -277,12 +347,12 @@@ void ff_sws_init_swScale_mmx(SwsContex
      case 8:  ASSIGN_SCALE_FUNC2(hscalefn, 8, opt1, opt2); break; \
      default: ASSIGN_SCALE_FUNC2(hscalefn, X, opt1, opt2); break; \
      }
- #define ASSIGN_VSCALEX_FUNC(vscalefn, opt1, opt2, opt2chk, do_16_case) \
+ #define ASSIGN_VSCALEX_FUNC(vscalefn, opt, do_16_case) \
  switch(c->dstBpc){ \
-     case 16:                                     /*do_16_case;*/                           break; \
-     case 10: if (!isBE(c->dstFormat) && opt2chk) /*vscalefn = ff_yuv2planeX_10_ ## opt2;*/ break; \
-     case 9:  if (!isBE(c->dstFormat) && opt2chk) /*vscalefn = ff_yuv2planeX_9_  ## opt2;*/ break; \
-     default:                                     /*vscalefn = ff_yuv2planeX_8_  ## opt1;*/ break; \
 -    case 16:                          do_16_case;                          break; \
 -    case 10: if (!isBE(c->dstFormat)) vscalefn = ff_yuv2planeX_10_ ## opt; break; \
 -    case 9:  if (!isBE(c->dstFormat)) vscalefn = ff_yuv2planeX_9_  ## opt; break; \
 -    default:                          vscalefn = ff_yuv2planeX_8_  ## opt; break; \
++    case 16:                          /*do_16_case;*/                          break; \
++    case 10: if (!isBE(c->dstFormat)) /*vscalefn = ff_yuv2planeX_10_ ## opt;*/ break; \
++    case 9:  if (!isBE(c->dstFormat)) /*vscalefn = ff_yuv2planeX_9_  ## opt;*/ break; \
++    default:                          /*vscalefn = ff_yuv2planeX_8_  ## opt;*/ break; \
      }
  #define ASSIGN_VSCALE_FUNC(vscalefn, opt1, opt2, opt2chk) \
      switch(c->dstBpc){ \
diff --cc tests/Makefile
index cddaa7cf74a1f279cc15fb16546338b7ed02df79,3d3812f344d5a33b34fa5deb5ce44e686d05672b..640e6300cc373be54af1cea998bf7358d3cfc6aa
@@@ -50,12 -34,19 +51,20 @@@ include $(SRC_PATH)/tests/fate/amrwb.ma
  include $(SRC_PATH)/tests/fate/dct.mak
  include $(SRC_PATH)/tests/fate/fft.mak
  include $(SRC_PATH)/tests/fate/h264.mak
+ include $(SRC_PATH)/tests/fate/image.mak
  include $(SRC_PATH)/tests/fate/libavutil.mak
 +include $(SRC_PATH)/tests/fate/mapchan.mak
+ include $(SRC_PATH)/tests/fate/lossless-audio.mak
+ include $(SRC_PATH)/tests/fate/lossless-video.mak
  include $(SRC_PATH)/tests/fate/mp3.mak
  include $(SRC_PATH)/tests/fate/prores.mak
+ include $(SRC_PATH)/tests/fate/qtrle.mak
+ include $(SRC_PATH)/tests/fate/real.mak
+ include $(SRC_PATH)/tests/fate/screen.mak
+ include $(SRC_PATH)/tests/fate/utvideo.mak
  include $(SRC_PATH)/tests/fate/vorbis.mak
  include $(SRC_PATH)/tests/fate/vp8.mak
+ include $(SRC_PATH)/tests/fate/wma.mak
  
  FATE_ACODEC  = $(ACODEC_TESTS:%=fate-acodec-%)
  FATE_VSYNTH1 = $(VCODEC_TESTS:%=fate-vsynth1-%)
diff --cc tests/fate.mak
Simple merge
diff --cc tests/fate2.mak
index 35583e40abce92f7447379d0efdf1b4bd3730f54,521357c3cd51dbf25c37822ffbdf49fe3cf74d9e..b0591a331499b3d0cbe5676439955b507f372d29
@@@ -226,37 -125,3 +125,10 @@@ fate-musepack7: FUZZ = 
  FATE_TESTS += fate-iirfilter
  fate-iirfilter: libavcodec/iirfilter-test$(EXESUF)
  fate-iirfilter: CMD = run libavcodec/iirfilter-test
- FATE_TESTS += fate-vble
- fate-vble: CMD = framecrc -i $(SAMPLES)/vble/flowers-partial-2MB.avi
- FATE_TESTS += fate-utvideo_rgba_left
- fate-utvideo_rgba_left: CMD = framecrc -i $(SAMPLES)/utvideo/utvideo_rgba_left.avi
- FATE_TESTS += fate-utvideo_rgba_median
- fate-utvideo_rgba_median: CMD = framecrc -i $(SAMPLES)/utvideo/utvideo_rgba_median.avi
- FATE_TESTS += fate-utvideo_rgb_left
- fate-utvideo_rgb_left: CMD = framecrc -i $(SAMPLES)/utvideo/utvideo_rgb_left.avi
- FATE_TESTS += fate-utvideo_rgb_median
- fate-utvideo_rgb_median: CMD = framecrc -i $(SAMPLES)/utvideo/utvideo_rgb_median.avi
- FATE_TESTS += fate-utvideo_yuv420_left
- fate-utvideo_yuv420_left: CMD = framecrc -i $(SAMPLES)/utvideo/utvideo_yuv420_left.avi
- FATE_TESTS += fate-utvideo_yuv420_median
- fate-utvideo_yuv420_median: CMD = framecrc -i $(SAMPLES)/utvideo/utvideo_yuv420_median.avi
- FATE_TESTS += fate-utvideo_yuv422_left
- fate-utvideo_yuv422_left: CMD = framecrc -i $(SAMPLES)/utvideo/utvideo_yuv422_left.avi
- FATE_TESTS += fate-utvideo_yuv422_median
- fate-utvideo_yuv422_median: CMD = framecrc -i $(SAMPLES)/utvideo/utvideo_yuv422_median.avi
 +
 +FATE_TESTS += fate-v410dec
 +fate-v410dec: CMD = framecrc -i $(SAMPLES)/v410/lenav410.mov -pix_fmt yuv444p10le
 +
 +FATE_TESTS += fate-v410enc
 +fate-v410enc: tests/vsynth1/00.pgm
 +fate-v410enc: CMD = md5 -f image2 -vcodec pgmyuv -i $(TARGET_PATH)/tests/vsynth1/%02d.pgm -flags +bitexact -vcodec v410 -f avi