]> granicus.if.org Git - handbrake/commitdiff
QSV: disable MBBRC/ExtBRC support for software implementation.
authorRodeo <tdskywalker@gmail.com>
Mon, 19 Aug 2013 14:12:48 +0000 (14:12 +0000)
committerRodeo <tdskywalker@gmail.com>
Mon, 19 Aug 2013 14:12:48 +0000 (14:12 +0000)
Release notes for the SDK/software mentions that they are "not supported by encoders", and testing with software implementations of API 1.6 and 1.7 shows that regardless of what value is specified for either option (unknown, on or off), MediaSDK always resets them to unknown.

git-svn-id: svn://svn.handbrake.fr/HandBrake/branches/qsv@5718 b64f7644-9d1e-0410-96f1-a4d463321fa5

contrib/ffmpeg/A00-qsv.patch
contrib/ffmpeg/A01-h264-recovery-point.patch
contrib/ffmpeg/P01-solaris.patch
contrib/ffmpeg/P02-darwin-pic.patch
contrib/ffmpeg/module.defs
libhb/qsv_common.c

index 0b1f3a5a09fd48887056990a15039f83d2071118..ba9b3ca8523f22889e1f2838433293ff2d9be9cb 100755 (executable)
@@ -1,6 +1,6 @@
-diff -Naur ../../libav-v9.3/configure ./configure
---- ../../libav-v9.3/configure 2013-03-02 11:27:05.000000000 +0100
-+++ ./configure        2013-03-13 13:47:13.830429574 +0100
+diff -Naur ../../libav-v9.6/configure ./configure
+--- ../../libav-v9.6/configure 2013-05-12 08:39:07.000000000 +0200
++++ ./configure        2013-08-14 10:48:00.520497159 +0200
 @@ -133,6 +133,7 @@
    --enable-vaapi           enable VAAPI code
    --enable-vda             enable VDA code
@@ -17,7 +17,7 @@ diff -Naur ../../libav-v9.3/configure ./configure
      version3
      xmm_clobber_test
      x11grab
-@@ -1628,6 +1630,7 @@
+@@ -1629,6 +1631,7 @@
  wmv3_dxva2_hwaccel_select="vc1_dxva2_hwaccel"
  wmv3_vaapi_hwaccel_select="vc1_vaapi_hwaccel"
  wmv3_vdpau_decoder_select="vc1_vdpau_decoder"
@@ -25,7 +25,7 @@ diff -Naur ../../libav-v9.3/configure ./configure
  
  # parsers
  h264_parser_select="error_resilience golomb h264dsp h264pred mpegvideo"
-@@ -3580,6 +3583,12 @@
+@@ -3584,6 +3587,12 @@
      check_cpp_condition vdpau/vdpau.h "defined VDP_DECODER_PROFILE_MPEG4_PART2_ASP" ||
          { echolog "Please upgrade to libvdpau >= 0.2 if you would like vdpau support." && disable vdpau; }
  fi
@@ -38,7 +38,7 @@ diff -Naur ../../libav-v9.3/configure ./configure
  
  enabled debug && add_cflags -g"$debuglevel" && add_asflags -g"$debuglevel"
  
-@@ -3791,6 +3800,7 @@
+@@ -3795,6 +3804,7 @@
  echo "libdxva2 enabled          ${dxva2-no}"
  echo "libva enabled             ${vaapi-no}"
  echo "libvdpau enabled          ${vdpau-no}"
@@ -46,9 +46,9 @@ diff -Naur ../../libav-v9.3/configure ./configure
  echo "AVISynth enabled          ${avisynth-no}"
  echo "frei0r enabled            ${frei0r-no}"
  echo "gnutls enabled            ${gnutls-no}"
-diff -Naur ../../libav-v9.3/libavcodec/allcodecs.c ./libavcodec/allcodecs.c
---- ../../libav-v9.3/libavcodec/allcodecs.c    2013-03-02 11:27:05.000000000 +0100
-+++ ./libavcodec/allcodecs.c   2013-03-13 14:11:52.526181413 +0100
+diff -Naur ../../libav-v9.6/libavcodec/allcodecs.c ./libavcodec/allcodecs.c
+--- ../../libav-v9.6/libavcodec/allcodecs.c    2013-05-12 08:39:07.000000000 +0200
++++ ./libavcodec/allcodecs.c   2013-08-14 10:48:00.520497159 +0200
 @@ -143,6 +143,7 @@
      REGISTER_DECODER(H263I,             h263i);
      REGISTER_ENCODER(H263P,             h263p);
@@ -57,9 +57,9 @@ diff -Naur ../../libav-v9.3/libavcodec/allcodecs.c ./libavcodec/allcodecs.c
      REGISTER_DECODER(H264_VDPAU,        h264_vdpau);
      REGISTER_ENCDEC (HUFFYUV,           huffyuv);
      REGISTER_DECODER(IDCIN,             idcin);
-diff -Naur ../../libav-v9.3/libavcodec/Makefile ./libavcodec/Makefile
---- ../../libav-v9.3/libavcodec/Makefile       2013-03-02 11:27:05.000000000 +0100
-+++ ./libavcodec/Makefile      2013-03-13 13:50:54.618919145 +0100
+diff -Naur ../../libav-v9.6/libavcodec/Makefile ./libavcodec/Makefile
+--- ../../libav-v9.6/libavcodec/Makefile       2013-05-12 08:39:07.000000000 +0200
++++ ./libavcodec/Makefile      2013-08-14 10:48:00.521497282 +0200
 @@ -10,6 +10,7 @@
            vdpau.h                                                       \
            version.h                                                     \
@@ -76,9 +76,9 @@ diff -Naur ../../libav-v9.3/libavcodec/Makefile ./libavcodec/Makefile
  OBJS-$(CONFIG_H264_DXVA2_HWACCEL)      += dxva2_h264.o
  OBJS-$(CONFIG_H264_VAAPI_HWACCEL)      += vaapi_h264.o
  OBJS-$(CONFIG_H264_VDA_HWACCEL)        += vda_h264.o
-diff -Naur ../../libav-v9.3/libavcodec/qsv.c ./libavcodec/qsv.c
---- ../../libav-v9.3/libavcodec/qsv.c  1970-01-01 01:00:00.000000000 +0100
-+++ ./libavcodec/qsv.c 2013-05-19 14:46:43.248504511 +0200
+diff -Naur ../../libav-v9.6/libavcodec/qsv.c ./libavcodec/qsv.c
+--- ../../libav-v9.6/libavcodec/qsv.c  1970-01-01 01:00:00.000000000 +0100
++++ ./libavcodec/qsv.c 2013-08-14 11:04:36.521201539 +0200
 @@ -0,0 +1,645 @@
 +/* ********************************************************************* *\
 +
@@ -726,9 +726,9 @@ diff -Naur ../../libav-v9.3/libavcodec/qsv.c ./libavcodec/qsv.c
 +        }
 +}
 \ No newline at end of file
-diff -Naur ../../libav-v9.3/libavcodec/qsv.h ./libavcodec/qsv.h
---- ../../libav-v9.3/libavcodec/qsv.h  1970-01-01 01:00:00.000000000 +0100
-+++ ./libavcodec/qsv.h 2013-05-19 14:46:43.249504634 +0200
+diff -Naur ../../libav-v9.6/libavcodec/qsv.h ./libavcodec/qsv.h
+--- ../../libav-v9.6/libavcodec/qsv.h  1970-01-01 01:00:00.000000000 +0100
++++ ./libavcodec/qsv.h 2013-08-14 11:04:36.530202652 +0200
 @@ -0,0 +1,494 @@
 +/* ********************************************************************* *\
 +
@@ -1224,9 +1224,9 @@ diff -Naur ../../libav-v9.3/libavcodec/qsv.h ./libavcodec/qsv.h
 +/* @} */
 +
 +#endif                          //AVCODEC_QSV_H
-diff -Naur ../../libav-v9.3/libavcodec/qsv_h264.c ./libavcodec/qsv_h264.c
---- ../../libav-v9.3/libavcodec/qsv_h264.c     1970-01-01 01:00:00.000000000 +0100
-+++ ./libavcodec/qsv_h264.c    2013-05-19 14:46:43.248504511 +0200
+diff -Naur ../../libav-v9.6/libavcodec/qsv_h264.c ./libavcodec/qsv_h264.c
+--- ../../libav-v9.6/libavcodec/qsv_h264.c     1970-01-01 01:00:00.000000000 +0100
++++ ./libavcodec/qsv_h264.c    2013-08-14 11:04:36.521201539 +0200
 @@ -0,0 +1,959 @@
 +/* ********************************************************************* *\
 +
@@ -2187,9 +2187,9 @@ diff -Naur ../../libav-v9.3/libavcodec/qsv_h264.c ./libavcodec/qsv_h264.c
 +    .pix_fmts       = (const enum PixelFormat[]) {AV_PIX_FMT_QSV_H264,
 +                                                  AV_PIX_FMT_NONE},
 +};
-diff -Naur ../../libav-v9.3/libavcodec/qsv_h264.h ./libavcodec/qsv_h264.h
---- ../../libav-v9.3/libavcodec/qsv_h264.h     1970-01-01 01:00:00.000000000 +0100
-+++ ./libavcodec/qsv_h264.h    2013-05-19 14:46:43.261506110 +0200
+diff -Naur ../../libav-v9.6/libavcodec/qsv_h264.h ./libavcodec/qsv_h264.h
+--- ../../libav-v9.6/libavcodec/qsv_h264.h     1970-01-01 01:00:00.000000000 +0100
++++ ./libavcodec/qsv_h264.h    2013-08-14 11:04:36.534203146 +0200
 @@ -0,0 +1,64 @@
 +/* ********************************************************************* *\
 +
@@ -2255,9 +2255,9 @@ diff -Naur ../../libav-v9.3/libavcodec/qsv_h264.h ./libavcodec/qsv_h264.h
 +mfxStatus ff_qsv_mem_buffer_free(mfxHDL pthis, mfxMemId mid);
 +
 +#endif                          //AVCODEC_QSV_H264_H
-diff -Naur ../../libav-v9.3/libavutil/pixfmt.h ./libavutil/pixfmt.h
---- ../../libav-v9.3/libavutil/pixfmt.h        2013-03-02 11:27:05.000000000 +0100
-+++ ./libavutil/pixfmt.h       2013-03-13 13:48:10.200360027 +0100
+diff -Naur ../../libav-v9.6/libavutil/pixfmt.h ./libavutil/pixfmt.h
+--- ../../libav-v9.6/libavutil/pixfmt.h        2013-05-12 08:39:07.000000000 +0200
++++ ./libavutil/pixfmt.h       2013-08-14 10:48:00.522497405 +0200
 @@ -178,6 +178,7 @@
      AV_PIX_FMT_YUVA422P16LE, ///< planar YUV 4:2:2 48bpp, (1 Cr & Cb sample per 2x1 Y & A samples, little-endian)
      AV_PIX_FMT_YUVA444P16BE, ///< planar YUV 4:4:4 64bpp, (1 Cr & Cb sample per 1x1 Y & A samples, big-endian)
index b9c29dc3a0aeab92188adb8dc4edeca4007a21e4..353f18e9f5195b2cfbf8f1043333a2cf74fe42d5 100644 (file)
@@ -1,5 +1,5 @@
 diff --git a/libavcodec/h264.c b/libavcodec/h264.c
-index 54f6186..2647d5d 100644
+index 8625b0f..e862701 100644
 --- a/libavcodec/h264.c
 +++ b/libavcodec/h264.c
 @@ -2164,6 +2164,7 @@ static void flush_dpb(AVCodecContext *avctx)
@@ -10,7 +10,7 @@ index 54f6186..2647d5d 100644
  }
  
  static int init_poc(H264Context *h)
-@@ -3995,9 +3996,18 @@ again:
+@@ -4001,9 +4002,18 @@ again:
                  if ((err = decode_slice_header(hx, h)))
                      break;
  
index 29633e32344c93157552ea05128f539ddf949773..399aabc3a7b2fff3da73720adecba08dd9cab7db 100644 (file)
@@ -1,8 +1,8 @@
 diff --git a/configure b/configure
-index aa31ea0..773e6bf 100755
+index 6ab04ae..1c8ab46 100755
 --- a/configure
 +++ b/configure
-@@ -3167,7 +3167,7 @@ EOF
+@@ -3171,7 +3171,7 @@ EOF
  check_cc <<EOF || die "endian test failed"
  unsigned int endian = 'B' << 24 | 'I' << 16 | 'G' << 8 | 'E';
  EOF
index b3f883eae108b1fb58e91fa7dd54b2bf5adb289d..f512416a1b49d94ffd7ce7403513aaea57345d06 100644 (file)
@@ -1,8 +1,8 @@
 diff --git a/configure b/configure
-index aa31ea0..a7f5380 100755
+index 6ab04ae..fa9f980 100755
 --- a/configure
 +++ b/configure
-@@ -2889,6 +2889,7 @@ case $target_os in
+@@ -2893,6 +2893,7 @@ case $target_os in
          AVSERVERLDFLAGS=-Wl,-bind_at_load
          objformat="macho"
          enabled x86_64 && objformat="macho64"
@@ -10,7 +10,7 @@ index aa31ea0..a7f5380 100755
          enabled_any pic shared ||
              { check_cflags -mdynamic-no-pic && add_asflags -mdynamic-no-pic; }
          ;;
-@@ -3091,7 +3092,7 @@ esc(){
+@@ -3095,7 +3096,7 @@ esc(){
  
  echo "config:$arch:$subarch:$cpu:$target_os:$(esc $cc_ident):$(esc $LIBAV_CONFIGURATION)" >config.fate
  
index 845ba0b74a60e9a3a0d1d04dd079639f3a8871d8..a43125152247cdf1ec30a63efdbc7815ab99a57a 100644 (file)
@@ -3,10 +3,9 @@ $(eval $(call import.MODULE.defs,FFMPEG,ffmpeg,YASM BZIP2 ZLIB PTHREADW32 FDKAAC
 else
 $(eval $(call import.MODULE.defs,FFMPEG,ffmpeg,YASM BZIP2 ZLIB PTHREADW32 FDKAAC))
 endif
-
 $(eval $(call import.CONTRIB.defs,FFMPEG))
 
-FFMPEG.FETCH.url = http://download.handbrake.fr/handbrake/contrib/libav-v9.3.tar.bz2
+FFMPEG.FETCH.url = http://download.handbrake.fr/handbrake/contrib/libav-v9.6.tar.bz2
 
 FFMPEG.CONFIGURE.deps =
 FFMPEG.CONFIGURE.env  =
@@ -44,6 +43,16 @@ FFMPEG.CONFIGURE.extra += \
     --enable-encoder=libfdk_aac
 endif
 
+ifeq (1,$(FEATURE.avformat))
+FFMPEG.CONFIGURE.extra += \
+    --enable-muxer=matroska \
+    --enable-muxer=webm \
+    --enable-muxer=mov \
+    --enable-muxer=mp4 \
+    --enable-muxer=psp \
+    --enable-muxer=ipod
+endif
+
 ## check against tuple: B-SYSTEM where B is { 0 | 1 } for cross-compiling flag
 ifeq (0-cygwin,$(BUILD.cross)-$(BUILD.system))
     FFMPEG.CONFIGURE.extra += --enable-pthreads --enable-memalign-hack
index 58d05a396dcb87a75c129fe850da97e0cfa7553f..1ed3c248cb99d8219c246e89bd427b00473e5ed8 100644 (file)
@@ -166,7 +166,6 @@ int hb_qsv_info_init()
     {
         if (HB_CHECK_MFX_VERSION(qsv_software_version, 1, 6))
         {
-            hb_qsv_info->capabilities |= HB_QSV_CAP_OPTION2_BRC;
             hb_qsv_info->capabilities |= HB_QSV_CAP_MSDK_API_1_6;
             hb_qsv_info->capabilities |= HB_QSV_CAP_H264_BPYRAMID;
         }