From 5313c6227636e8f5e6f089dde3ffacfe95d4fdff Mon Sep 17 00:00:00 2001 From: jbeich Date: Tue, 12 Sep 2017 14:39:44 +0000 Subject: [PATCH] multimedia/ffmpeg: update to 3.4 Changes: https://git.ffmpeg.org/gitweb/ffmpeg.git/blob/n3.4:/Changelog ABI: https://abi-laboratory.pro/tracker/timeline/ffmpeg/ PR: 223057 --- multimedia/ffmpeg/Makefile | 65 ++++++++++++---------- multimedia/ffmpeg/distinfo | 6 +- multimedia/ffmpeg/files/patch-configure | 48 +--------------- .../ffmpeg/files/patch-libavcodec_libopenjpegdec.c | 33 ----------- .../ffmpeg/files/patch-libavcodec_libopenjpegenc.c | 42 -------------- multimedia/ffmpeg/pkg-plist | 22 +++++--- 6 files changed, 55 insertions(+), 161 deletions(-) delete mode 100644 multimedia/ffmpeg/files/patch-libavcodec_libopenjpegdec.c delete mode 100644 multimedia/ffmpeg/files/patch-libavcodec_libopenjpegenc.c diff --git a/multimedia/ffmpeg/Makefile b/multimedia/ffmpeg/Makefile index e4b3b4239882..b8b707d7897a 100644 --- a/multimedia/ffmpeg/Makefile +++ b/multimedia/ffmpeg/Makefile @@ -2,7 +2,7 @@ # $FreeBSD$ PORTNAME= ffmpeg -PORTVERSION= 3.3.4 +PORTVERSION= 3.4 PORTEPOCH= 1 CATEGORIES= multimedia audio ipv6 net MASTER_SITES= http://ffmpeg.org/releases/ @@ -13,7 +13,7 @@ COMMENT= Realtime audio/video encoder/converter and streaming server LICENSE= GPLv2+ LGPL21+ LICENSE_COMB= multi -BUILD_DEPENDS= yasm:devel/yasm \ +BUILD_DEPENDS= nasm:devel/nasm \ ${LOCALBASE}/bin/as:devel/binutils HAS_CONFIGURE= yes @@ -27,19 +27,24 @@ NOPRECIOUSMAKEVARS= yes # ARCH PORTSCOUT= limit:^3\. OPTIONS_DEFINE= ALSA AMR_NB AMR_WB ASS BS2B CACA CDIO CELT CHROMAPRINT DC1394 \ - DEBUG DOCS FDK_AAC FFSERVER FLITE FONTCONFIG \ + DEBUG DOCS DRM FDK_AAC FFSERVER FLITE FONTCONFIG \ FREETYPE FREI0R FRIBIDI GME GSM ICONV ILBC JACK KVAZAAR LADSPA \ - LAME LIBBLURAY MODPLUG NETCDF OPENAL OPENCL OPENCV OPENGL \ + LAME LIBBLURAY LIBRSVG2 LIBXML2 MODPLUG MYSOFA OPENAL OPENCL OPENCV OPENGL \ OPENH264 OPENJPEG OPTIMIZED_CFLAGS OPUS PULSEAUDIO \ - RUBBERBAND RTCPU SCHROEDINGER SDL SMB SNAPPY SNDIO SOXR SPEEX SSH \ + RUBBERBAND RTCPU SDL SMB SNAPPY SNDIO SOXR SPEEX SSH \ TESSERACT THEORA TWOLAME V4L VAAPI VDPAU VIDSTAB VORBIS \ VO_AMRWBENC VPX WAVPACK WEBP X264 X265 XCB XVID \ XVIDEO ZIMG ZMQ ZVBI OPTIONS_DEFAULT= FFSERVER FONTCONFIG FREETYPE FREI0R GMP GNUTLS ICONV \ - OPENCV OPTIMIZED_CFLAGS RTCPU SCHROEDINGER THEORA V4L VAAPI VDPAU \ + OPENCV OPTIMIZED_CFLAGS RTCPU THEORA V4L VAAPI VDPAU \ VORBIS VPX X264 X265 XVID +.if !exists(${.CURDIR:H:H}/science/libmysofa) +# https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/2336c76b2246 +OPTIONS_EXCLUDE+= MYSOFA +.endif + OPTIONS_RADIO= RTMP SSL OPTIONS_RADIO_RTMP= GCRYPT GMP LIBRTMP OPTIONS_RADIO_SSL= GNUTLS OPENSSL @@ -54,9 +59,9 @@ OPTIONS_DEFAULT_i386= MMX SSE ASS_DESC= Subtitles rendering via libass BS2B_DESC= Bauer Stereophonic-to-Binaural filter -CDIO_DESC= Audio CD grabbing with libcdio CHROMAPRINT_DESC= Audio fingerprinting with chromaprint DC1394_DESC= IIDC-1394 grabbing using libdc1394 +DRM_DESC= KMS grabbing using libdrm FDK_AAC_DESC= AAC audio encoding via Fraunhofer FDK FFSERVER_DESC= Build and install ffserver FLITE_DESC= Voice synthesis support via libflite @@ -65,8 +70,8 @@ GPL3_DESC= Allow (L)GPL version 3 code(cs) ILBC_DESC= Internet Low Bit Rate codec KVAZAAR_DESC= H.265 video codec support via Kvazaar LICENSE_DESC= Licensing options -NEON_DESC= Enable Media Processing Engine instructions -NETCDF_DESC= SOFAlizer binaural filter +NEON_DESC= Media Processing Engine instructions +MYSOFA_DESC= SOFAlizer binaural filter NONFREE_DESC= Allow use of nonfree code OPENH264_DESC= H.264 video codec support via OpenH264 RUBBERBAND_DESC=Time-stretching and pitch-shifting with librubberband @@ -74,7 +79,7 @@ RTCPU_DESC= Detect CPU capabilities at runtime RTMP_DESC= RTMP(T)E protocol support LIBRTMP_DESC= ${RTMP_DESC} via librtmp TESSERACT_DESC= Optical Character Recognition via Tesseract -VFP_DESC= Enable Vector Floating Point instructions +VFP_DESC= Vector Floating Point instructions VIDSTAB_DESC= Video stabilization filter XCB_DESC= X11 grabbing using XCB ZIMG_DESC= "z" library video scaling filter @@ -84,9 +89,8 @@ ZVBI_DESC= Teletext support via libzvbi OPTIONS_SUB= yes # alsa -ALSA_CONFIGURE_OFF= --disable-indev=alsa \ - --disable-outdev=alsa ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib +ALSA_CONFIGURE_ENABLE= alsa # Opencore AMR NB AMR_NB_LIB_DEPENDS= libopencore-amrnb.so:audio/opencore-amr @@ -135,6 +139,10 @@ DEBUG_CONFIGURE_OFF= --disable-debug DOCS_BUILD_DEPENDS= texi2html:textproc/texi2html DOCS_CONFIGURE_ENABLE= htmlpages +# drm +DRM_LIB_DEPENDS= libdrm.so:graphics/libdrm +DRM_CONFIGURE_ENABLE= libdrm + # fdk_aac FDK_AAC_LIB_DEPENDS= libfdk-aac.so:audio/fdk-aac FDK_AAC_CONFIGURE_ENABLE= libfdk-aac @@ -195,7 +203,7 @@ ILBC_CONFIGURE_ENABLE= libilbc # jack JACK_LIB_DEPENDS= libjack.so:audio/jack -JACK_CONFIGURE_OFF= --disable-indev=jack +JACK_CONFIGURE_ENABLE= jack # kvazaar KVAZAAR_LIB_DEPENDS= libkvazaar.so:multimedia/kvazaar @@ -214,6 +222,14 @@ LAME_CONFIGURE_ENABLE= libmp3lame LIBBLURAY_LIB_DEPENDS= libbluray.so:multimedia/libbluray LIBBLURAY_CONFIGURE_ENABLE= libbluray +# librsvg +LIBRSVG2_LIB_DEPENDS= librsvg-2.so:graphics/librsvg2 +LIBRSVG2_CONFIGURE_ENABLE= librsvg + +# libxml +LIBXML2_LIB_DEPENDS= libxml2.so:textproc/libxml2 +LIBXML2_CONFIGURE_ENABLE= libxml2 + # libv4l V4L_BUILD_DEPENDS= v4l_compat>0:multimedia/v4l_compat V4L_LIB_DEPENDS= libv4l2.so:multimedia/libv4l @@ -228,14 +244,13 @@ MMX_CONFIGURE_ENABLE= mmx MODPLUG_LIB_DEPENDS= libmodplug.so:audio/libmodplug MODPLUG_CONFIGURE_ENABLE= libmodplug -# netcdf -NETCDF_LIB_DEPENDS= libnetcdf.so:science/netcdf -NETCDF_CONFIGURE_ENABLE= netcdf +# mysofa +MYSOFA_LIB_DEPENDS= libmysofa.so:science/libmysofa +MYSOFA_CONFIGURE_ENABLE= libmysofa # OpenAL OPENAL_LIB_DEPENDS= libopenal.so:audio/openal-soft OPENAL_CONFIGURE_ENABLE= openal -OPENAL_CONFIGURE_OFF= --disable-indev=openal # opencl OPENCL_BUILD_DEPENDS= ${LOCALBASE}/include/CL/opencl.h:devel/opencl @@ -273,8 +288,6 @@ OPUS_CONFIGURE_ENABLE= libopus # pulseaudio PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio PULSEAUDIO_CONFIGURE_ENABLE= libpulse -PULSEAUDIO_CONFIGURE_OFF= --disable-indev=pulse \ - --disable-outdev=pulse # rubberband RUBBERBAND_LIB_DEPENDS= librubberband.so:audio/rubberband @@ -287,14 +300,9 @@ RTCPU_CONFIGURE_ENABLE= runtime-cpudetect LIBRTMP_LIB_DEPENDS= librtmp.so:multimedia/librtmp LIBRTMP_CONFIGURE_ENABLE= librtmp -# schroedinger -SCHROEDINGER_LIB_DEPENDS= libschroedinger-1.0.so:multimedia/schroedinger -SCHROEDINGER_CONFIGURE_ENABLE= libschroedinger - # sdl SDL_USE= SDL=sdl2 -SDL_CONFIGURE_ENABLE= ffplay -SDL_CONFIGURE_OFF= --disable-outdev=sdl --disable-sdl2 +SDL_CONFIGURE_ENABLE= sdl2 # smbclient SMB_USES= samba:lib @@ -306,9 +314,8 @@ SNAPPY_LIB_DEPENDS= libsnappy.so:archivers/snappy SNAPPY_CONFIGURE_ENABLE= libsnappy # sndio -SNDIO_CONFIGURE_OFF= --disable-indev=sndio \ - --disable-outdev=sndio SNDIO_LIB_DEPENDS= libsndio.so:audio/sndio +SNDIO_CONFIGURE_ENABLE= sndio # soxr SOXR_LIB_DEPENDS= libsoxr.so:audio/libsoxr @@ -421,7 +428,7 @@ NONFREE_CONFIGURE_ENABLE=nonfree NONFREE_VARS= RESTRICTED="enabling OPENSSL or FDK_AAC restricts redistribution" INSTALL_TARGET= install-progs install-doc install-data \ - install-libs install-headers + install-libs install-headers install-examples DATADIR= ${PREFIX}/share/${PORTNAME}${PKGNAMESUFFIX} @@ -461,7 +468,7 @@ CONFIGURE_ARGS+=${CONFIGURE_ARGS_${ARCH}} post-patch: # {C,LD}FLAGS safeness @${REINPLACE_CMD} -e 's|/etc/ffserver.conf|${PREFIX}/etc/ffserver.conf|' \ - ${WRKSRC}/ffserver.c + ${WRKSRC}/fftools/ffserver.c @${REINPLACE_CMD} -E \ -e 's|require_pkg_config opencv|require_pkg_config opencv-core|g' \ ${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT} diff --git a/multimedia/ffmpeg/distinfo b/multimedia/ffmpeg/distinfo index c31fccbd8fac..c33191521a5a 100644 --- a/multimedia/ffmpeg/distinfo +++ b/multimedia/ffmpeg/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1505177492 -SHA256 (ffmpeg-3.3.4.tar.xz) = 98b97e1b908dfeb6aeb6d407e5a5eacdfc253a40c2d195f5867ed2d1d46ea957 -SIZE (ffmpeg-3.3.4.tar.xz) = 8282960 +TIMESTAMP = 1508083176 +SHA256 (ffmpeg-3.4.tar.xz) = aeee06e4d8b18d852c61ebbfe5e1bb7014b1e118e8728c1c2115f91e51bffbef +SIZE (ffmpeg-3.4.tar.xz) = 8478860 diff --git a/multimedia/ffmpeg/files/patch-configure b/multimedia/ffmpeg/files/patch-configure index 8b2681614fea..871a5a3c7741 100644 --- a/multimedia/ffmpeg/files/patch-configure +++ b/multimedia/ffmpeg/files/patch-configure @@ -1,15 +1,6 @@ ---- configure.orig 2017-09-12 00:51:31 UTC +--- configure.orig 2017-10-15 15:59:36 UTC +++ configure -@@ -1875,6 +1875,8 @@ HEADERS_LIST=" - machine_ioctl_meteor_h - malloc_h - opencv2_core_core_c_h -+ openjpeg_2_3_openjpeg_h -+ openjpeg_2_2_openjpeg_h - openjpeg_2_1_openjpeg_h - openjpeg_2_0_openjpeg_h - openjpeg_1_5_openjpeg_h -@@ -3262,12 +3264,7 @@ target_os_default=$(tolower $(uname -s)) +@@ -3371,12 +3371,7 @@ target_os_default=$(tolower $(uname -s)) host_os=$target_os_default # machine @@ -23,18 +14,7 @@ cpu="generic" intrinsics="none" -@@ -5807,6 +5804,10 @@ enabled libopencv && { check_header opencv2/co - enabled libopenh264 && require_pkg_config openh264 wels/codec_api.h WelsGetCodecVersion - enabled libopenjpeg && { { check_lib openjpeg-2.1/openjpeg.h opj_version -lopenjp2 -DOPJ_STATIC && add_cppflags -DOPJ_STATIC; } || - check_lib openjpeg-2.1/openjpeg.h opj_version -lopenjp2 || -+ { check_lib openjpeg-2.2/openjpeg.h opj_version -lopenjp2 -DOPJ_STATIC && add_cppflags -DOPJ_STATIC; } || -+ check_lib openjpeg-2.2/openjpeg.h opj_version -lopenjp2 || -+ { check_lib openjpeg-2.3/openjpeg.h opj_version -lopenjp2 -DOPJ_STATIC && add_cppflags -DOPJ_STATIC; } || -+ check_lib openjpeg-2.3/openjpeg.h opj_version -lopenjp2 || - { check_lib openjpeg-2.0/openjpeg.h opj_version -lopenjp2 -DOPJ_STATIC && add_cppflags -DOPJ_STATIC; } || - { check_lib openjpeg-1.5/openjpeg.h opj_version -lopenjpeg -DOPJ_STATIC && add_cppflags -DOPJ_STATIC; } || - { check_lib openjpeg.h opj_version -lopenjpeg -DOPJ_STATIC && add_cppflags -DOPJ_STATIC; } || -@@ -6295,6 +6296,9 @@ elif enabled llvm_gcc; then +@@ -6491,6 +6486,9 @@ elif enabled llvm_gcc; then elif enabled clang; then check_cflags -mllvm -stack-alignment=16 check_cflags -mstack-alignment=16 @@ -44,25 +24,3 @@ check_cflags -Qunused-arguments check_cflags -Werror=implicit-function-declaration check_cflags -Werror=missing-prototypes -@@ -6900,7 +6904,7 @@ exec_prefix=\${prefix} - libdir=$libdir - includedir=$incdir - --Name: $name -+Name: ${name}${build_suffix} - Description: $comment - Version: $version - Requires: $(enabled shared || echo $requires) -@@ -6914,10 +6918,10 @@ EOF - mkdir -p doc/examples/pc-uninstalled - includedir=${source_path} - [ "$includedir" = . ] && includedir="\${pcfiledir}/../../.." -- cat < doc/examples/pc-uninstalled/${name}-uninstalled.pc -+ cat < doc/examples/pc-uninstalled/${name}${build_suffix}-uninstalled.pc - prefix= - exec_prefix= --libdir=\${pcfiledir}/../../../$name -+libdir=\${pcfiledir}/../../../${name}${build_suffix}.pc - includedir=${includedir} - - Name: $name diff --git a/multimedia/ffmpeg/files/patch-libavcodec_libopenjpegdec.c b/multimedia/ffmpeg/files/patch-libavcodec_libopenjpegdec.c deleted file mode 100644 index 0eec4b9778c7..000000000000 --- a/multimedia/ffmpeg/files/patch-libavcodec_libopenjpegdec.c +++ /dev/null @@ -1,33 +0,0 @@ ---- libavcodec/libopenjpegdec.c.orig 2017-09-12 00:51:33 UTC -+++ libavcodec/libopenjpegdec.c -@@ -34,7 +34,11 @@ - #include "internal.h" - #include "thread.h" - --#if HAVE_OPENJPEG_2_1_OPENJPEG_H -+#if HAVE_OPENJPEG_2_3_OPENJPEG_H -+# include -+#elif HAVE_OPENJPEG_2_2_OPENJPEG_H -+# include -+#elif HAVE_OPENJPEG_2_1_OPENJPEG_H - # include - #elif HAVE_OPENJPEG_2_0_OPENJPEG_H - # include -@@ -44,7 +48,7 @@ - # include - #endif - --#if HAVE_OPENJPEG_2_1_OPENJPEG_H || HAVE_OPENJPEG_2_0_OPENJPEG_H -+#if HAVE_OPENJPEG_2_3_OPENJPEG_H || HAVE_OPENJPEG_2_2_OPENJPEG_H || HAVE_OPENJPEG_2_1_OPENJPEG_H || HAVE_OPENJPEG_2_0_OPENJPEG_H - # define OPENJPEG_MAJOR_VERSION 2 - # define OPJ(x) OPJ_##x - #else -@@ -429,7 +433,7 @@ static int libopenjpeg_decode_frame(AVCo - opj_stream_set_read_function(stream, stream_read); - opj_stream_set_skip_function(stream, stream_skip); - opj_stream_set_seek_function(stream, stream_seek); --#if HAVE_OPENJPEG_2_1_OPENJPEG_H -+#if HAVE_OPENJPEG_2_3_OPENJPEG_H || HAVE_OPENJPEG_2_2_OPENJPEG_H || HAVE_OPENJPEG_2_1_OPENJPEG_H - opj_stream_set_user_data(stream, &reader, NULL); - #elif HAVE_OPENJPEG_2_0_OPENJPEG_H - opj_stream_set_user_data(stream, &reader); diff --git a/multimedia/ffmpeg/files/patch-libavcodec_libopenjpegenc.c b/multimedia/ffmpeg/files/patch-libavcodec_libopenjpegenc.c deleted file mode 100644 index 4095524a8343..000000000000 --- a/multimedia/ffmpeg/files/patch-libavcodec_libopenjpegenc.c +++ /dev/null @@ -1,42 +0,0 @@ ---- libavcodec/libopenjpegenc.c.orig 2017-09-12 00:51:33 UTC -+++ libavcodec/libopenjpegenc.c -@@ -32,7 +32,11 @@ - #include "avcodec.h" - #include "internal.h" - --#if HAVE_OPENJPEG_2_1_OPENJPEG_H -+#if HAVE_OPENJPEG_2_3_OPENJPEG_H -+# include -+#elif HAVE_OPENJPEG_2_2_OPENJPEG_H -+# include -+#elif HAVE_OPENJPEG_2_1_OPENJPEG_H - # include - #elif HAVE_OPENJPEG_2_0_OPENJPEG_H - # include -@@ -42,7 +46,7 @@ - # include - #endif - --#if HAVE_OPENJPEG_2_1_OPENJPEG_H || HAVE_OPENJPEG_2_0_OPENJPEG_H -+#if HAVE_OPENJPEG_2_3_OPENJPEG_H || HAVE_OPENJPEG_2_2_OPENJPEG_H || HAVE_OPENJPEG_2_1_OPENJPEG_H || HAVE_OPENJPEG_2_0_OPENJPEG_H - # define OPENJPEG_MAJOR_VERSION 2 - # define OPJ(x) OPJ_##x - #else -@@ -305,7 +309,7 @@ static av_cold int libopenjpeg_encode_in - - opj_set_default_encoder_parameters(&ctx->enc_params); - --#if HAVE_OPENJPEG_2_1_OPENJPEG_H -+#if HAVE_OPENJPEG_2_3_OPENJPEG_H || HAVE_OPENJPEG_2_2_OPENJPEG_H || HAVE_OPENJPEG_2_1_OPENJPEG_H - switch (ctx->cinema_mode) { - case OPJ_CINEMA2K_24: - ctx->enc_params.rsiz = OPJ_PROFILE_CINEMA_2K; -@@ -769,7 +773,7 @@ static int libopenjpeg_encode_frame(AVCo - opj_stream_set_write_function(stream, stream_write); - opj_stream_set_skip_function(stream, stream_skip); - opj_stream_set_seek_function(stream, stream_seek); --#if HAVE_OPENJPEG_2_1_OPENJPEG_H -+#if HAVE_OPENJPEG_2_3_OPENJPEG_H || HAVE_OPENJPEG_2_2_OPENJPEG_H || HAVE_OPENJPEG_2_1_OPENJPEG_H - opj_stream_set_user_data(stream, &writer, NULL); - #elif HAVE_OPENJPEG_2_0_OPENJPEG_H - opj_stream_set_user_data(stream, &writer); diff --git a/multimedia/ffmpeg/pkg-plist b/multimedia/ffmpeg/pkg-plist index 5ecaf491f45c..32c3bcb463d2 100644 --- a/multimedia/ffmpeg/pkg-plist +++ b/multimedia/ffmpeg/pkg-plist @@ -66,10 +66,13 @@ include/libavutil/hash.h include/libavutil/hmac.h include/libavutil/hwcontext.h include/libavutil/hwcontext_cuda.h +include/libavutil/hwcontext_d3d11va.h +include/libavutil/hwcontext_drm.h include/libavutil/hwcontext_dxva2.h include/libavutil/hwcontext_qsv.h include/libavutil/hwcontext_vaapi.h include/libavutil/hwcontext_vdpau.h +include/libavutil/hwcontext_videotoolbox.h include/libavutil/imgutils.h include/libavutil/intfloat.h include/libavutil/intreadwrite.h @@ -117,39 +120,39 @@ include/libswscale/version.h lib/libavcodec.a lib/libavcodec.so lib/libavcodec.so.57 -lib/libavcodec.so.57.89.100 +lib/libavcodec.so.57.107.100 lib/libavdevice.a lib/libavdevice.so lib/libavdevice.so.57 -lib/libavdevice.so.57.6.100 +lib/libavdevice.so.57.10.100 lib/libavfilter.a lib/libavfilter.so lib/libavfilter.so.6 -lib/libavfilter.so.6.82.100 +lib/libavfilter.so.6.107.100 lib/libavformat.a lib/libavformat.so lib/libavformat.so.57 -lib/libavformat.so.57.71.100 +lib/libavformat.so.57.83.100 lib/libavresample.a lib/libavresample.so lib/libavresample.so.3 -lib/libavresample.so.3.5.0 +lib/libavresample.so.3.7.0 lib/libavutil.a lib/libavutil.so lib/libavutil.so.55 -lib/libavutil.so.55.58.100 +lib/libavutil.so.55.78.100 lib/libpostproc.a lib/libpostproc.so lib/libpostproc.so.54 -lib/libpostproc.so.54.5.100 +lib/libpostproc.so.54.7.100 lib/libswresample.a lib/libswresample.so lib/libswresample.so.2 -lib/libswresample.so.2.7.100 +lib/libswresample.so.2.9.100 lib/libswscale.a lib/libswscale.so lib/libswscale.so.4 -lib/libswscale.so.4.6.100 +lib/libswscale.so.4.8.100 libdata/pkgconfig/libavcodec.pc libdata/pkgconfig/libavdevice.pc libdata/pkgconfig/libavfilter.pc @@ -197,6 +200,7 @@ man/man3/libswscale.3.gz %%DATADIR%%/examples/filtering_audio.c %%DATADIR%%/examples/filtering_video.c %%DATADIR%%/examples/http_multiclient.c +%%DATADIR%%/examples/hw_decode.c %%DATADIR%%/examples/metadata.c %%DATADIR%%/examples/muxing.c %%DATADIR%%/examples/qsvdec.c