Bug 1290710: [ffmpeg] Resync ffvpx with 3.1 branch. r=gerald

Sync at version n3.1.1-6-g86f9228

MozReview-Commit-ID: Qp8OxKkDHu

--HG--
extra : rebase_source : d05415b5fad36c533ce8d900723bc360ad097598
This commit is contained in:
Jean-Yves Avenard 2016-08-01 14:05:13 +10:00
Родитель 45d82d733f
Коммит ff62e39fd8
107 изменённых файлов: 4372 добавлений и 4916 удалений

Просмотреть файл

@ -1,6 +1,6 @@
This directory contains files used in gecko builds from FFmpeg
(http://ffmpeg.org). The current files are from FFmpeg as of
revision n3.0.2
revision n3.1.1-6-g86f9228
All source files match their path from the library's source archive.
Currently, we only use the vp8 and vp9 portion of the library, and only on x86

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -72,6 +72,7 @@
#define HAVE_I686 0
#define HAVE_MIPSFPU 0
#define HAVE_MIPS32R2 0
#define HAVE_MIPS32R5 0
#define HAVE_MIPS64R2 0
#define HAVE_MIPS32R6 0
#define HAVE_MIPS64R6 0
@ -115,6 +116,7 @@
#define HAVE_I686_EXTERNAL 0
#define HAVE_MIPSFPU_EXTERNAL 0
#define HAVE_MIPS32R2_EXTERNAL 0
#define HAVE_MIPS32R5_EXTERNAL 0
#define HAVE_MIPS64R2_EXTERNAL 0
#define HAVE_MIPS32R6_EXTERNAL 0
#define HAVE_MIPS64R6_EXTERNAL 0
@ -158,6 +160,7 @@
#define HAVE_I686_INLINE 0
#define HAVE_MIPSFPU_INLINE 0
#define HAVE_MIPS32R2_INLINE 0
#define HAVE_MIPS32R5_INLINE 0
#define HAVE_MIPS64R2_INLINE 0
#define HAVE_MIPS32R6_INLINE 0
#define HAVE_MIPS64R6_INLINE 0
@ -185,6 +188,7 @@
#define HAVE_MM_EMPTY 1
#define HAVE_RDTSC 0
#define HAVE_SARESTART 1
#define HAVE_SEM_TIMEDWAIT 1
#define HAVE_SYNC_VAL_COMPARE_AND_SWAP 1
#define HAVE_CABS 1
#define HAVE_CEXP 1
@ -200,6 +204,7 @@
#define HAVE_ASM_TYPES_H 0
#define HAVE_CDIO_PARANOIA_H 0
#define HAVE_CDIO_PARANOIA_PARANOIA_H 0
#define HAVE_DISPATCH_DISPATCH_H 0
#define HAVE_DEV_BKTR_IOCTL_BT848_H 0
#define HAVE_DEV_BKTR_IOCTL_METEOR_H 0
#define HAVE_DEV_IC_BT8XX_H 0
@ -313,7 +318,6 @@
#define HAVE_SLEEP 0
#define HAVE_STRERROR_R 1
#define HAVE_SYSCONF 1
#define HAVE_SYSCTL 1
#define HAVE_USLEEP 1
#define HAVE_UTGETOSTYPEFROMSTRING 1
#define HAVE_VIRTUALALLOC 0
@ -348,6 +352,7 @@
#define HAVE_STRUCT_GROUP_SOURCE_REQ 1
#define HAVE_STRUCT_IP_MREQ_SOURCE 1
#define HAVE_STRUCT_IPV6_MREQ 1
#define HAVE_STRUCT_MSGHDR_MSG_FLAGS 1
#define HAVE_STRUCT_POLLFD 1
#define HAVE_STRUCT_RUSAGE_RU_MAXRSS 1
#define HAVE_STRUCT_SCTP_EVENT_SUBSCRIBE 0
@ -365,12 +370,14 @@
#define HAVE_LIBDC1394_2 0
#define HAVE_MAKEINFO 1
#define HAVE_MAKEINFO_HTML 1
#define HAVE_MMAL_PARAMETER_VIDEO_MAX_NUM_CALLBACKS 0
#define HAVE_PERL 1
#define HAVE_POD2MAN 1
#define HAVE_SDL 0
#define HAVE_SECTION_DATA_REL_RO 0
#define HAVE_TEXI2HTML 0
#define HAVE_THREADS 1
#define HAVE_VAAPI_DRM 0
#define HAVE_VAAPI_X11 0
#define HAVE_VDPAU_X11 0
#define HAVE_WINRT 0
@ -417,6 +424,7 @@
#define CONFIG_GMP 0
#define CONFIG_GNUTLS 0
#define CONFIG_ICONV 0
#define CONFIG_JNI 0
#define CONFIG_LADSPA 0
#define CONFIG_LIBASS 0
#define CONFIG_LIBBLURAY 0
@ -425,7 +433,7 @@
#define CONFIG_LIBCDIO 0
#define CONFIG_LIBCELT 0
#define CONFIG_LIBDC1394 0
#define CONFIG_LIBDCADEC 0
#define CONFIG_LIBEBUR128 0
#define CONFIG_LIBFAAC 0
#define CONFIG_LIBFDK_AAC 0
#define CONFIG_LIBFLITE 0
@ -437,7 +445,6 @@
#define CONFIG_LIBIEC61883 0
#define CONFIG_LIBILBC 0
#define CONFIG_LIBKVAZAAR 0
#define CONFIG_LIBMFX 0
#define CONFIG_LIBMODPLUG 0
#define CONFIG_LIBMP3LAME 0
#define CONFIG_LIBNUT 0
@ -460,7 +467,6 @@
#define CONFIG_LIBTESSERACT 0
#define CONFIG_LIBTHEORA 0
#define CONFIG_LIBTWOLAME 0
#define CONFIG_LIBUTVIDEO 0
#define CONFIG_LIBV4L2 0
#define CONFIG_LIBVIDSTAB 0
#define CONFIG_LIBVO_AMRWBENC 0
@ -480,9 +486,8 @@
#define CONFIG_LIBZMQ 0
#define CONFIG_LIBZVBI 0
#define CONFIG_LZMA 0
#define CONFIG_MMAL 0
#define CONFIG_MEDIACODEC 0
#define CONFIG_NETCDF 0
#define CONFIG_NVENC 0
#define CONFIG_OPENAL 0
#define CONFIG_OPENCL 0
#define CONFIG_OPENGL 0
@ -490,25 +495,35 @@
#define CONFIG_SCHANNEL 0
#define CONFIG_SDL 0
#define CONFIG_SECURETRANSPORT 0
#define CONFIG_VIDEOTOOLBOX 0
#define CONFIG_X11GRAB 0
#define CONFIG_XLIB 0
#define CONFIG_ZLIB 0
#define CONFIG_AUDIOTOOLBOX 0
#define CONFIG_CUDA 0
#define CONFIG_CUVID 0
#define CONFIG_D3D11VA 0
#define CONFIG_DXVA2 0
#define CONFIG_LIBMFX 0
#define CONFIG_LIBNPP 0
#define CONFIG_MMAL 0
#define CONFIG_NVENC 0
#define CONFIG_OMX 0
#define CONFIG_VAAPI 0
#define CONFIG_VDA 0
#define CONFIG_VDPAU 0
#define CONFIG_VIDEOTOOLBOX_HWACCEL 0
#define CONFIG_XVMC 0
#define CONFIG_FTRAPV 0
#define CONFIG_GRAY 0
#define CONFIG_HARDCODED_TABLES 0
#define CONFIG_OMX_RPI 0
#define CONFIG_RUNTIME_CPUDETECT 1
#define CONFIG_SAFE_BITSTREAM_READER 1
#define CONFIG_SHARED 1
#define CONFIG_SMALL 0
#define CONFIG_STATIC 0
#define CONFIG_SWSCALE_ALPHA 1
#define CONFIG_D3D11VA 0
#define CONFIG_DXVA2 0
#define CONFIG_VAAPI 0
#define CONFIG_VDA 0
#define CONFIG_VDPAU 0
#define CONFIG_VIDEOTOOLBOX 0
#define CONFIG_XVMC 0
#define CONFIG_GPL 0
#define CONFIG_NONFREE 0
#define CONFIG_VERSION3 0
@ -580,6 +595,7 @@
#define CONFIG_IIRFILTER 0
#define CONFIG_IMDCT15 0
#define CONFIG_INTRAX8 0
#define CONFIG_ISO_MEDIA 0
#define CONFIG_IVIDSP 0
#define CONFIG_JPEGTABLES 0
#define CONFIG_LGPLV3 0
@ -608,19 +624,24 @@
#define CONFIG_RV34DSP 0
#define CONFIG_SINEWIN 0
#define CONFIG_SNAPPY 0
#define CONFIG_SRTP 0
#define CONFIG_STARTCODE 0
#define CONFIG_TEXTUREDSP 0
#define CONFIG_TEXTUREDSPENC 0
#define CONFIG_TPELDSP 0
#define CONFIG_VAAPI_ENCODE 0
#define CONFIG_VC1DSP 0
#define CONFIG_VIDEODSP 1
#define CONFIG_VP3DSP 0
#define CONFIG_VP56DSP 0
#define CONFIG_VP8DSP 1
#define CONFIG_VT_BT2020 0
#define CONFIG_WMA_FREQS 0
#define CONFIG_WMV2DSP 0
#define CONFIG_AAC_ADTSTOASC_BSF 0
#define CONFIG_CHOMP_BSF 0
#define CONFIG_DUMP_EXTRADATA_BSF 0
#define CONFIG_DCA_CORE_BSF 0
#define CONFIG_H264_MP4TOANNEXB_BSF 0
#define CONFIG_HEVC_MP4TOANNEXB_BSF 0
#define CONFIG_IMX_DUMP_HEADER_BSF 0
@ -632,6 +653,7 @@
#define CONFIG_NOISE_BSF 0
#define CONFIG_REMOVE_EXTRADATA_BSF 0
#define CONFIG_TEXT2MOVSUB_BSF 0
#define CONFIG_VP9_SUPERFRAME_BSF 0
#define CONFIG_AASC_DECODER 0
#define CONFIG_AIC_DECODER 0
#define CONFIG_ALIAS_PIX_DECODER 0
@ -706,6 +728,7 @@
#define CONFIG_H263P_DECODER 0
#define CONFIG_H264_DECODER 0
#define CONFIG_H264_CRYSTALHD_DECODER 0
#define CONFIG_H264_MEDIACODEC_DECODER 0
#define CONFIG_H264_MMAL_DECODER 0
#define CONFIG_H264_QSV_DECODER 0
#define CONFIG_H264_VDA_DECODER 0
@ -731,6 +754,8 @@
#define CONFIG_KMVC_DECODER 0
#define CONFIG_LAGARITH_DECODER 0
#define CONFIG_LOCO_DECODER 0
#define CONFIG_M101_DECODER 0
#define CONFIG_MAGICYUV_DECODER 0
#define CONFIG_MDEC_DECODER 0
#define CONFIG_MIMIC_DECODER 0
#define CONFIG_MJPEG_DECODER 0
@ -797,6 +822,7 @@
#define CONFIG_SDX2_DPCM_DECODER 0
#define CONFIG_SGI_DECODER 0
#define CONFIG_SGIRLE_DECODER 0
#define CONFIG_SHEERVIDEO_DECODER 0
#define CONFIG_SMACKER_DECODER 0
#define CONFIG_SMC_DECODER 0
#define CONFIG_SMVJPEG_DECODER 0
@ -815,6 +841,7 @@
#define CONFIG_TMV_DECODER 0
#define CONFIG_TRUEMOTION1_DECODER 0
#define CONFIG_TRUEMOTION2_DECODER 0
#define CONFIG_TRUEMOTION2RT_DECODER 0
#define CONFIG_TSCC_DECODER 0
#define CONFIG_TSCC2_DECODER 0
#define CONFIG_TXD_DECODER 0
@ -860,6 +887,7 @@
#define CONFIG_XL_DECODER 0
#define CONFIG_XWD_DECODER 0
#define CONFIG_Y41P_DECODER 0
#define CONFIG_YLC_DECODER 0
#define CONFIG_YOP_DECODER 0
#define CONFIG_YUV4_DECODER 0
#define CONFIG_ZERO12V_DECODER 0
@ -890,6 +918,7 @@
#define CONFIG_DSD_MSBF_PLANAR_DECODER 0
#define CONFIG_DSICINAUDIO_DECODER 0
#define CONFIG_DSS_SP_DECODER 0
#define CONFIG_DST_DECODER 0
#define CONFIG_EAC3_DECODER 0
#define CONFIG_EVRC_DECODER 0
#define CONFIG_FFWAVESYNTH_DECODER 0
@ -997,6 +1026,7 @@
#define CONFIG_ADPCM_G726LE_DECODER 0
#define CONFIG_ADPCM_IMA_AMV_DECODER 0
#define CONFIG_ADPCM_IMA_APC_DECODER 0
#define CONFIG_ADPCM_IMA_DAT4_DECODER 0
#define CONFIG_ADPCM_IMA_DK3_DECODER 0
#define CONFIG_ADPCM_IMA_DK4_DECODER 0
#define CONFIG_ADPCM_IMA_EA_EACS_DECODER 0
@ -1009,6 +1039,7 @@
#define CONFIG_ADPCM_IMA_WAV_DECODER 0
#define CONFIG_ADPCM_IMA_WS_DECODER 0
#define CONFIG_ADPCM_MS_DECODER 0
#define CONFIG_ADPCM_MTAF_DECODER 0
#define CONFIG_ADPCM_PSX_DECODER 0
#define CONFIG_ADPCM_SBPRO_2_DECODER 0
#define CONFIG_ADPCM_SBPRO_3_DECODER 0
@ -1041,8 +1072,22 @@
#define CONFIG_VPLAYER_DECODER 0
#define CONFIG_WEBVTT_DECODER 0
#define CONFIG_XSUB_DECODER 0
#define CONFIG_AAC_AT_DECODER 0
#define CONFIG_AC3_AT_DECODER 0
#define CONFIG_ADPCM_IMA_QT_AT_DECODER 0
#define CONFIG_ALAC_AT_DECODER 0
#define CONFIG_AMR_NB_AT_DECODER 0
#define CONFIG_EAC3_AT_DECODER 0
#define CONFIG_GSM_MS_AT_DECODER 0
#define CONFIG_ILBC_AT_DECODER 0
#define CONFIG_MP1_AT_DECODER 0
#define CONFIG_MP2_AT_DECODER 0
#define CONFIG_MP3_AT_DECODER 0
#define CONFIG_PCM_ALAW_AT_DECODER 0
#define CONFIG_PCM_MULAW_AT_DECODER 0
#define CONFIG_QDMC_AT_DECODER 0
#define CONFIG_QDM2_AT_DECODER 0
#define CONFIG_LIBCELT_DECODER 0
#define CONFIG_LIBDCADEC_DECODER 0
#define CONFIG_LIBFDK_AAC_DECODER 0
#define CONFIG_LIBGSM_DECODER 0
#define CONFIG_LIBGSM_MS_DECODER 0
@ -1053,7 +1098,6 @@
#define CONFIG_LIBOPUS_DECODER 0
#define CONFIG_LIBSCHROEDINGER_DECODER 0
#define CONFIG_LIBSPEEX_DECODER 0
#define CONFIG_LIBUTVIDEO_DECODER 0
#define CONFIG_LIBVORBIS_DECODER 0
#define CONFIG_LIBVPX_VP8_DECODER 0
#define CONFIG_LIBVPX_VP9_DECODER 0
@ -1061,6 +1105,11 @@
#define CONFIG_BINTEXT_DECODER 0
#define CONFIG_XBIN_DECODER 0
#define CONFIG_IDF_DECODER 0
#define CONFIG_H264_CUVID_DECODER 0
#define CONFIG_HEVC_CUVID_DECODER 0
#define CONFIG_VC1_CUVID_DECODER 0
#define CONFIG_VP8_CUVID_DECODER 0
#define CONFIG_VP9_CUVID_DECODER 0
#define CONFIG_AA_DEMUXER 0
#define CONFIG_AAC_DEMUXER 0
#define CONFIG_AC3_DEMUXER 0
@ -1073,6 +1122,7 @@
#define CONFIG_AEA_DEMUXER 0
#define CONFIG_AFC_DEMUXER 0
#define CONFIG_AIFF_DEMUXER 0
#define CONFIG_AIX_DEMUXER 0
#define CONFIG_AMR_DEMUXER 0
#define CONFIG_ANM_DEMUXER 0
#define CONFIG_APC_DEMUXER 0
@ -1117,6 +1167,7 @@
#define CONFIG_DTSHD_DEMUXER 0
#define CONFIG_DV_DEMUXER 0
#define CONFIG_DVBSUB_DEMUXER 0
#define CONFIG_DVBTXT_DEMUXER 0
#define CONFIG_DXA_DEMUXER 0
#define CONFIG_EA_DEMUXER 0
#define CONFIG_EA_CDATA_DEMUXER 0
@ -1190,7 +1241,9 @@
#define CONFIG_MPSUB_DEMUXER 0
#define CONFIG_MSF_DEMUXER 0
#define CONFIG_MSNWC_TCP_DEMUXER 0
#define CONFIG_MTAF_DEMUXER 0
#define CONFIG_MTV_DEMUXER 0
#define CONFIG_MUSX_DEMUXER 0
#define CONFIG_MV_DEMUXER 0
#define CONFIG_MVI_DEMUXER 0
#define CONFIG_MXF_DEMUXER 0
@ -1291,6 +1344,7 @@
#define CONFIG_WEBM_DASH_MANIFEST_DEMUXER 0
#define CONFIG_WEBVTT_DEMUXER 0
#define CONFIG_WSAUD_DEMUXER 0
#define CONFIG_WSD_DEMUXER 0
#define CONFIG_WSVQA_DEMUXER 0
#define CONFIG_WTV_DEMUXER 0
#define CONFIG_WVE_DEMUXER 0
@ -1309,8 +1363,14 @@
#define CONFIG_IMAGE_J2K_PIPE_DEMUXER 0
#define CONFIG_IMAGE_JPEG_PIPE_DEMUXER 0
#define CONFIG_IMAGE_JPEGLS_PIPE_DEMUXER 0
#define CONFIG_IMAGE_PAM_PIPE_DEMUXER 0
#define CONFIG_IMAGE_PBM_PIPE_DEMUXER 0
#define CONFIG_IMAGE_PCX_PIPE_DEMUXER 0
#define CONFIG_IMAGE_PGMYUV_PIPE_DEMUXER 0
#define CONFIG_IMAGE_PGM_PIPE_DEMUXER 0
#define CONFIG_IMAGE_PICTOR_PIPE_DEMUXER 0
#define CONFIG_IMAGE_PNG_PIPE_DEMUXER 0
#define CONFIG_IMAGE_PPM_PIPE_DEMUXER 0
#define CONFIG_IMAGE_QDRAW_PIPE_DEMUXER 0
#define CONFIG_IMAGE_SGI_PIPE_DEMUXER 0
#define CONFIG_IMAGE_SUNRAST_PIPE_DEMUXER 0
@ -1461,6 +1521,11 @@
#define CONFIG_TEXT_ENCODER 0
#define CONFIG_WEBVTT_ENCODER 0
#define CONFIG_XSUB_ENCODER 0
#define CONFIG_AAC_AT_ENCODER 0
#define CONFIG_ALAC_AT_ENCODER 0
#define CONFIG_ILBC_AT_ENCODER 0
#define CONFIG_PCM_ALAW_AT_ENCODER 0
#define CONFIG_PCM_MULAW_AT_ENCODER 0
#define CONFIG_LIBFAAC_ENCODER 0
#define CONFIG_LIBFDK_AAC_ENCODER 0
#define CONFIG_LIBGSM_ENCODER 0
@ -1475,7 +1540,6 @@
#define CONFIG_LIBSPEEX_ENCODER 0
#define CONFIG_LIBTHEORA_ENCODER 0
#define CONFIG_LIBTWOLAME_ENCODER 0
#define CONFIG_LIBUTVIDEO_ENCODER 0
#define CONFIG_LIBVO_AMRWBENC_ENCODER 0
#define CONFIG_LIBVORBIS_ENCODER 0
#define CONFIG_LIBVPX_VP8_ENCODER 0
@ -1490,13 +1554,21 @@
#define CONFIG_LIBXAVS_ENCODER 0
#define CONFIG_LIBXVID_ENCODER 0
#define CONFIG_LIBOPENH264_ENCODER 0
#define CONFIG_H264_NVENC_ENCODER 0
#define CONFIG_H264_OMX_ENCODER 0
#define CONFIG_H264_QSV_ENCODER 0
#define CONFIG_H264_VAAPI_ENCODER 0
#define CONFIG_H264_VIDEOTOOLBOX_ENCODER 0
#define CONFIG_NVENC_ENCODER 0
#define CONFIG_NVENC_H264_ENCODER 0
#define CONFIG_NVENC_HEVC_ENCODER 0
#define CONFIG_HEVC_NVENC_ENCODER 0
#define CONFIG_HEVC_QSV_ENCODER 0
#define CONFIG_HEVC_VAAPI_ENCODER 0
#define CONFIG_LIBKVAZAAR_ENCODER 0
#define CONFIG_MJPEG_VAAPI_ENCODER 0
#define CONFIG_MPEG2_QSV_ENCODER 0
#define CONFIG_ABENCH_FILTER 0
#define CONFIG_ACOMPRESSOR_FILTER 0
#define CONFIG_ACROSSFADE_FILTER 0
#define CONFIG_ADELAY_FILTER 0
@ -1510,6 +1582,7 @@
#define CONFIG_AINTERLEAVE_FILTER 0
#define CONFIG_ALIMITER_FILTER 0
#define CONFIG_ALLPASS_FILTER 0
#define CONFIG_ALOOP_FILTER 0
#define CONFIG_AMERGE_FILTER 0
#define CONFIG_AMETADATA_FILTER 0
#define CONFIG_AMIX_FILTER 0
@ -1552,10 +1625,13 @@
#define CONFIG_EBUR128_FILTER 0
#define CONFIG_EQUALIZER_FILTER 0
#define CONFIG_EXTRASTEREO_FILTER 0
#define CONFIG_FIREQUALIZER_FILTER 0
#define CONFIG_FLANGER_FILTER 0
#define CONFIG_HDCD_FILTER 0
#define CONFIG_HIGHPASS_FILTER 0
#define CONFIG_JOIN_FILTER 0
#define CONFIG_LADSPA_FILTER 0
#define CONFIG_LOUDNORM_FILTER 0
#define CONFIG_LOWPASS_FILTER 0
#define CONFIG_PAN_FILTER 0
#define CONFIG_REPLAYGAIN_FILTER 0
@ -1583,24 +1659,30 @@
#define CONFIG_ALPHAMERGE_FILTER 0
#define CONFIG_ATADENOISE_FILTER 0
#define CONFIG_ASS_FILTER 0
#define CONFIG_BENCH_FILTER 0
#define CONFIG_BBOX_FILTER 0
#define CONFIG_BLACKDETECT_FILTER 0
#define CONFIG_BLACKFRAME_FILTER 0
#define CONFIG_BLEND_FILTER 0
#define CONFIG_BOXBLUR_FILTER 0
#define CONFIG_BWDIF_FILTER 0
#define CONFIG_CHROMAKEY_FILTER 0
#define CONFIG_CIESCOPE_FILTER 0
#define CONFIG_CODECVIEW_FILTER 0
#define CONFIG_COLORBALANCE_FILTER 0
#define CONFIG_COLORCHANNELMIXER_FILTER 0
#define CONFIG_COLORKEY_FILTER 0
#define CONFIG_COLORLEVELS_FILTER 0
#define CONFIG_COLORMATRIX_FILTER 0
#define CONFIG_COLORSPACE_FILTER 0
#define CONFIG_CONVOLUTION_FILTER 0
#define CONFIG_COPY_FILTER 0
#define CONFIG_COREIMAGE_FILTER 0
#define CONFIG_COVER_RECT_FILTER 0
#define CONFIG_CROP_FILTER 0
#define CONFIG_CROPDETECT_FILTER 0
#define CONFIG_CURVES_FILTER 0
#define CONFIG_DATASCOPE_FILTER 0
#define CONFIG_DCTDNOIZ_FILTER 0
#define CONFIG_DEBAND_FILTER 0
#define CONFIG_DECIMATE_FILTER 0
@ -1623,6 +1705,7 @@
#define CONFIG_FADE_FILTER 0
#define CONFIG_FFTFILT_FILTER 0
#define CONFIG_FIELD_FILTER 0
#define CONFIG_FIELDHINT_FILTER 0
#define CONFIG_FIELDMATCH_FILTER 0
#define CONFIG_FIELDORDER_FILTER 0
#define CONFIG_FIND_RECT_FILTER 0
@ -1641,6 +1724,9 @@
#define CONFIG_HISTOGRAM_FILTER 0
#define CONFIG_HQDN3D_FILTER 0
#define CONFIG_HQX_FILTER 0
#define CONFIG_HWDOWNLOAD_FILTER 0
#define CONFIG_HWUPLOAD_FILTER 0
#define CONFIG_HWUPLOAD_CUDA_FILTER 0
#define CONFIG_HSTACK_FILTER 0
#define CONFIG_HUE_FILTER 0
#define CONFIG_IDET_FILTER 0
@ -1650,6 +1736,7 @@
#define CONFIG_INTERLEAVE_FILTER 0
#define CONFIG_KERNDEINT_FILTER 0
#define CONFIG_LENSCORRECTION_FILTER 0
#define CONFIG_LOOP_FILTER 0
#define CONFIG_LUT3D_FILTER 0
#define CONFIG_LUT_FILTER 0
#define CONFIG_LUTRGB_FILTER 0
@ -1681,7 +1768,9 @@
#define CONFIG_PULLUP_FILTER 0
#define CONFIG_QP_FILTER 0
#define CONFIG_RANDOM_FILTER 0
#define CONFIG_READVITC_FILTER 0
#define CONFIG_REALTIME_FILTER 0
#define CONFIG_REMAP_FILTER 0
#define CONFIG_REMOVEGRAIN_FILTER 0
#define CONFIG_REMOVELOGO_FILTER 0
#define CONFIG_REPEATFIELDS_FILTER 0
@ -1690,6 +1779,8 @@
#define CONFIG_SAB_FILTER 0
#define CONFIG_SCALE_FILTER 0
#define CONFIG_SCALE2REF_FILTER 0
#define CONFIG_SCALE_NPP_FILTER 0
#define CONFIG_SCALE_VAAPI_FILTER 0
#define CONFIG_SELECT_FILTER 0
#define CONFIG_SELECTIVECOLOR_FILTER 0
#define CONFIG_SENDCMD_FILTER 0
@ -1740,6 +1831,7 @@
#define CONFIG_ALLYUV_FILTER 0
#define CONFIG_CELLAUTO_FILTER 0
#define CONFIG_COLOR_FILTER 0
#define CONFIG_COREIMAGESRC_FILTER 0
#define CONFIG_FREI0R_SRC_FILTER 0
#define CONFIG_HALDCLUTSRC_FILTER 0
#define CONFIG_LIFE_FILTER 0
@ -1769,6 +1861,7 @@
#define CONFIG_MOVIE_FILTER 0
#define CONFIG_H263_VAAPI_HWACCEL 0
#define CONFIG_H263_VIDEOTOOLBOX_HWACCEL 0
#define CONFIG_H264_CUVID_HWACCEL 0
#define CONFIG_H264_D3D11VA_HWACCEL 0
#define CONFIG_H264_DXVA2_HWACCEL 0
#define CONFIG_H264_MMAL_HWACCEL 0
@ -1778,6 +1871,7 @@
#define CONFIG_H264_VDA_OLD_HWACCEL 0
#define CONFIG_H264_VDPAU_HWACCEL 0
#define CONFIG_H264_VIDEOTOOLBOX_HWACCEL 0
#define CONFIG_HEVC_CUVID_HWACCEL 0
#define CONFIG_HEVC_D3D11VA_HWACCEL 0
#define CONFIG_HEVC_DXVA2_HWACCEL 0
#define CONFIG_HEVC_QSV_HWACCEL 0
@ -1798,12 +1892,15 @@
#define CONFIG_MPEG4_VAAPI_HWACCEL 0
#define CONFIG_MPEG4_VDPAU_HWACCEL 0
#define CONFIG_MPEG4_VIDEOTOOLBOX_HWACCEL 0
#define CONFIG_VC1_CUVID_HWACCEL 0
#define CONFIG_VC1_D3D11VA_HWACCEL 0
#define CONFIG_VC1_DXVA2_HWACCEL 0
#define CONFIG_VC1_VAAPI_HWACCEL 0
#define CONFIG_VC1_VDPAU_HWACCEL 0
#define CONFIG_VC1_MMAL_HWACCEL 0
#define CONFIG_VC1_QSV_HWACCEL 0
#define CONFIG_VP8_CUVID_HWACCEL 0
#define CONFIG_VP9_CUVID_HWACCEL 0
#define CONFIG_VP9_D3D11VA_HWACCEL 0
#define CONFIG_VP9_DXVA2_HWACCEL 0
#define CONFIG_VP9_VAAPI_HWACCEL 0
@ -1866,14 +1963,17 @@
#define CONFIG_FLAC_MUXER 0
#define CONFIG_FLV_MUXER 0
#define CONFIG_FRAMECRC_MUXER 0
#define CONFIG_FRAMEHASH_MUXER 0
#define CONFIG_FRAMEMD5_MUXER 0
#define CONFIG_G722_MUXER 0
#define CONFIG_G723_1_MUXER 0
#define CONFIG_GIF_MUXER 0
#define CONFIG_GSM_MUXER 0
#define CONFIG_GXF_MUXER 0
#define CONFIG_H261_MUXER 0
#define CONFIG_H263_MUXER 0
#define CONFIG_H264_MUXER 0
#define CONFIG_HASH_MUXER 0
#define CONFIG_HDS_MUXER 0
#define CONFIG_HEVC_MUXER 0
#define CONFIG_HLS_MUXER 0
@ -2058,9 +2158,9 @@
#define CONFIG_SRTP_PROTOCOL 0
#define CONFIG_SUBFILE_PROTOCOL 0
#define CONFIG_TCP_PROTOCOL 0
#define CONFIG_TLS_GNUTLS_PROTOCOL 0
#define CONFIG_TLS_SCHANNEL_PROTOCOL 0
#define CONFIG_TLS_SECURETRANSPORT_PROTOCOL 0
#define CONFIG_TLS_GNUTLS_PROTOCOL 0
#define CONFIG_TLS_OPENSSL_PROTOCOL 0
#define CONFIG_UDP_PROTOCOL 0
#define CONFIG_UDPLITE_PROTOCOL 0

Просмотреть файл

@ -56,6 +56,7 @@
%define HAVE_I686 1
%define HAVE_MIPSFPU 0
%define HAVE_MIPS32R2 0
%define HAVE_MIPS32R5 0
%define HAVE_MIPS64R2 0
%define HAVE_MIPS32R6 0
%define HAVE_MIPS64R6 0
@ -99,6 +100,7 @@
%define HAVE_I686_EXTERNAL 0
%define HAVE_MIPSFPU_EXTERNAL 0
%define HAVE_MIPS32R2_EXTERNAL 0
%define HAVE_MIPS32R5_EXTERNAL 0
%define HAVE_MIPS64R2_EXTERNAL 0
%define HAVE_MIPS32R6_EXTERNAL 0
%define HAVE_MIPS64R6_EXTERNAL 0
@ -142,6 +144,7 @@
%define HAVE_I686_INLINE 0
%define HAVE_MIPSFPU_INLINE 0
%define HAVE_MIPS32R2_INLINE 0
%define HAVE_MIPS32R5_INLINE 0
%define HAVE_MIPS64R2_INLINE 0
%define HAVE_MIPS32R6_INLINE 0
%define HAVE_MIPS64R6_INLINE 0
@ -169,6 +172,7 @@
%define HAVE_MM_EMPTY 1
%define HAVE_RDTSC 0
%define HAVE_SARESTART 1
%define HAVE_SEM_TIMEDWAIT 1
%define HAVE_SYNC_VAL_COMPARE_AND_SWAP 1
%define HAVE_CABS 1
%define HAVE_CEXP 1
@ -184,6 +188,7 @@
%define HAVE_ASM_TYPES_H 0
%define HAVE_CDIO_PARANOIA_H 0
%define HAVE_CDIO_PARANOIA_PARANOIA_H 0
%define HAVE_DISPATCH_DISPATCH_H 0
%define HAVE_DEV_BKTR_IOCTL_BT848_H 0
%define HAVE_DEV_BKTR_IOCTL_METEOR_H 0
%define HAVE_DEV_IC_BT8XX_H 0
@ -332,6 +337,7 @@
%define HAVE_STRUCT_GROUP_SOURCE_REQ 1
%define HAVE_STRUCT_IP_MREQ_SOURCE 1
%define HAVE_STRUCT_IPV6_MREQ 1
%define HAVE_STRUCT_MSGHDR_MSG_FLAGS 1
%define HAVE_STRUCT_POLLFD 1
%define HAVE_STRUCT_RUSAGE_RU_MAXRSS 1
%define HAVE_STRUCT_SCTP_EVENT_SUBSCRIBE 0
@ -349,12 +355,14 @@
%define HAVE_LIBDC1394_2 0
%define HAVE_MAKEINFO 1
%define HAVE_MAKEINFO_HTML 1
%define HAVE_MMAL_PARAMETER_VIDEO_MAX_NUM_CALLBACKS 0
%define HAVE_PERL 1
%define HAVE_POD2MAN 1
%define HAVE_SDL 0
%define HAVE_SECTION_DATA_REL_RO 0
%define HAVE_TEXI2HTML 0
%define HAVE_THREADS 1
%define HAVE_VAAPI_DRM 0
%define HAVE_VAAPI_X11 0
%define HAVE_VDPAU_X11 0
%define HAVE_WINRT 0
@ -401,6 +409,7 @@
%define CONFIG_GMP 0
%define CONFIG_GNUTLS 0
%define CONFIG_ICONV 0
%define CONFIG_JNI 0
%define CONFIG_LADSPA 0
%define CONFIG_LIBASS 0
%define CONFIG_LIBBLURAY 0
@ -409,7 +418,7 @@
%define CONFIG_LIBCDIO 0
%define CONFIG_LIBCELT 0
%define CONFIG_LIBDC1394 0
%define CONFIG_LIBDCADEC 0
%define CONFIG_LIBEBUR128 0
%define CONFIG_LIBFAAC 0
%define CONFIG_LIBFDK_AAC 0
%define CONFIG_LIBFLITE 0
@ -421,7 +430,6 @@
%define CONFIG_LIBIEC61883 0
%define CONFIG_LIBILBC 0
%define CONFIG_LIBKVAZAAR 0
%define CONFIG_LIBMFX 0
%define CONFIG_LIBMODPLUG 0
%define CONFIG_LIBMP3LAME 0
%define CONFIG_LIBNUT 0
@ -444,7 +452,6 @@
%define CONFIG_LIBTESSERACT 0
%define CONFIG_LIBTHEORA 0
%define CONFIG_LIBTWOLAME 0
%define CONFIG_LIBUTVIDEO 0
%define CONFIG_LIBV4L2 0
%define CONFIG_LIBVIDSTAB 0
%define CONFIG_LIBVO_AMRWBENC 0
@ -464,9 +471,8 @@
%define CONFIG_LIBZMQ 0
%define CONFIG_LIBZVBI 0
%define CONFIG_LZMA 0
%define CONFIG_MMAL 0
%define CONFIG_MEDIACODEC 0
%define CONFIG_NETCDF 0
%define CONFIG_NVENC 0
%define CONFIG_OPENAL 0
%define CONFIG_OPENCL 0
%define CONFIG_OPENGL 0
@ -474,25 +480,35 @@
%define CONFIG_SCHANNEL 0
%define CONFIG_SDL 0
%define CONFIG_SECURETRANSPORT 0
%define CONFIG_VIDEOTOOLBOX 0
%define CONFIG_X11GRAB 0
%define CONFIG_XLIB 0
%define CONFIG_ZLIB 0
%define CONFIG_AUDIOTOOLBOX 0
%define CONFIG_CUDA 0
%define CONFIG_CUVID 0
%define CONFIG_D3D11VA 0
%define CONFIG_DXVA2 0
%define CONFIG_LIBMFX 0
%define CONFIG_LIBNPP 0
%define CONFIG_MMAL 0
%define CONFIG_NVENC 0
%define CONFIG_OMX 0
%define CONFIG_VAAPI 0
%define CONFIG_VDA 0
%define CONFIG_VDPAU 0
%define CONFIG_VIDEOTOOLBOX_HWACCEL 0
%define CONFIG_XVMC 0
%define CONFIG_FTRAPV 0
%define CONFIG_GRAY 0
%define CONFIG_HARDCODED_TABLES 0
%define CONFIG_OMX_RPI 0
%define CONFIG_RUNTIME_CPUDETECT 1
%define CONFIG_SAFE_BITSTREAM_READER 1
%define CONFIG_SHARED 1
%define CONFIG_SMALL 0
%define CONFIG_STATIC 0
%define CONFIG_SWSCALE_ALPHA 1
%define CONFIG_D3D11VA 0
%define CONFIG_DXVA2 0
%define CONFIG_VAAPI 0
%define CONFIG_VDA 0
%define CONFIG_VDPAU 0
%define CONFIG_VIDEOTOOLBOX 0
%define CONFIG_XVMC 0
%define CONFIG_GPL 0
%define CONFIG_NONFREE 0
%define CONFIG_VERSION3 0
@ -564,6 +580,7 @@
%define CONFIG_IIRFILTER 0
%define CONFIG_IMDCT15 0
%define CONFIG_INTRAX8 0
%define CONFIG_ISO_MEDIA 0
%define CONFIG_IVIDSP 0
%define CONFIG_JPEGTABLES 0
%define CONFIG_LGPLV3 0
@ -592,19 +609,24 @@
%define CONFIG_RV34DSP 0
%define CONFIG_SINEWIN 0
%define CONFIG_SNAPPY 0
%define CONFIG_SRTP 0
%define CONFIG_STARTCODE 0
%define CONFIG_TEXTUREDSP 0
%define CONFIG_TEXTUREDSPENC 0
%define CONFIG_TPELDSP 0
%define CONFIG_VAAPI_ENCODE 0
%define CONFIG_VC1DSP 0
%define CONFIG_VIDEODSP 1
%define CONFIG_VP3DSP 0
%define CONFIG_VP56DSP 0
%define CONFIG_VP8DSP 1
%define CONFIG_VT_BT2020 0
%define CONFIG_WMA_FREQS 0
%define CONFIG_WMV2DSP 0
%define CONFIG_AAC_ADTSTOASC_BSF 0
%define CONFIG_CHOMP_BSF 0
%define CONFIG_DUMP_EXTRADATA_BSF 0
%define CONFIG_DCA_CORE_BSF 0
%define CONFIG_H264_MP4TOANNEXB_BSF 0
%define CONFIG_HEVC_MP4TOANNEXB_BSF 0
%define CONFIG_IMX_DUMP_HEADER_BSF 0
@ -616,6 +638,7 @@
%define CONFIG_NOISE_BSF 0
%define CONFIG_REMOVE_EXTRADATA_BSF 0
%define CONFIG_TEXT2MOVSUB_BSF 0
%define CONFIG_VP9_SUPERFRAME_BSF 0
%define CONFIG_AASC_DECODER 0
%define CONFIG_AIC_DECODER 0
%define CONFIG_ALIAS_PIX_DECODER 0
@ -690,6 +713,7 @@
%define CONFIG_H263P_DECODER 0
%define CONFIG_H264_DECODER 0
%define CONFIG_H264_CRYSTALHD_DECODER 0
%define CONFIG_H264_MEDIACODEC_DECODER 0
%define CONFIG_H264_MMAL_DECODER 0
%define CONFIG_H264_QSV_DECODER 0
%define CONFIG_H264_VDA_DECODER 0
@ -715,6 +739,8 @@
%define CONFIG_KMVC_DECODER 0
%define CONFIG_LAGARITH_DECODER 0
%define CONFIG_LOCO_DECODER 0
%define CONFIG_M101_DECODER 0
%define CONFIG_MAGICYUV_DECODER 0
%define CONFIG_MDEC_DECODER 0
%define CONFIG_MIMIC_DECODER 0
%define CONFIG_MJPEG_DECODER 0
@ -781,6 +807,7 @@
%define CONFIG_SDX2_DPCM_DECODER 0
%define CONFIG_SGI_DECODER 0
%define CONFIG_SGIRLE_DECODER 0
%define CONFIG_SHEERVIDEO_DECODER 0
%define CONFIG_SMACKER_DECODER 0
%define CONFIG_SMC_DECODER 0
%define CONFIG_SMVJPEG_DECODER 0
@ -799,6 +826,7 @@
%define CONFIG_TMV_DECODER 0
%define CONFIG_TRUEMOTION1_DECODER 0
%define CONFIG_TRUEMOTION2_DECODER 0
%define CONFIG_TRUEMOTION2RT_DECODER 0
%define CONFIG_TSCC_DECODER 0
%define CONFIG_TSCC2_DECODER 0
%define CONFIG_TXD_DECODER 0
@ -844,6 +872,7 @@
%define CONFIG_XL_DECODER 0
%define CONFIG_XWD_DECODER 0
%define CONFIG_Y41P_DECODER 0
%define CONFIG_YLC_DECODER 0
%define CONFIG_YOP_DECODER 0
%define CONFIG_YUV4_DECODER 0
%define CONFIG_ZERO12V_DECODER 0
@ -874,6 +903,7 @@
%define CONFIG_DSD_MSBF_PLANAR_DECODER 0
%define CONFIG_DSICINAUDIO_DECODER 0
%define CONFIG_DSS_SP_DECODER 0
%define CONFIG_DST_DECODER 0
%define CONFIG_EAC3_DECODER 0
%define CONFIG_EVRC_DECODER 0
%define CONFIG_FFWAVESYNTH_DECODER 0
@ -981,6 +1011,7 @@
%define CONFIG_ADPCM_G726LE_DECODER 0
%define CONFIG_ADPCM_IMA_AMV_DECODER 0
%define CONFIG_ADPCM_IMA_APC_DECODER 0
%define CONFIG_ADPCM_IMA_DAT4_DECODER 0
%define CONFIG_ADPCM_IMA_DK3_DECODER 0
%define CONFIG_ADPCM_IMA_DK4_DECODER 0
%define CONFIG_ADPCM_IMA_EA_EACS_DECODER 0
@ -993,6 +1024,7 @@
%define CONFIG_ADPCM_IMA_WAV_DECODER 0
%define CONFIG_ADPCM_IMA_WS_DECODER 0
%define CONFIG_ADPCM_MS_DECODER 0
%define CONFIG_ADPCM_MTAF_DECODER 0
%define CONFIG_ADPCM_PSX_DECODER 0
%define CONFIG_ADPCM_SBPRO_2_DECODER 0
%define CONFIG_ADPCM_SBPRO_3_DECODER 0
@ -1025,8 +1057,22 @@
%define CONFIG_VPLAYER_DECODER 0
%define CONFIG_WEBVTT_DECODER 0
%define CONFIG_XSUB_DECODER 0
%define CONFIG_AAC_AT_DECODER 0
%define CONFIG_AC3_AT_DECODER 0
%define CONFIG_ADPCM_IMA_QT_AT_DECODER 0
%define CONFIG_ALAC_AT_DECODER 0
%define CONFIG_AMR_NB_AT_DECODER 0
%define CONFIG_EAC3_AT_DECODER 0
%define CONFIG_GSM_MS_AT_DECODER 0
%define CONFIG_ILBC_AT_DECODER 0
%define CONFIG_MP1_AT_DECODER 0
%define CONFIG_MP2_AT_DECODER 0
%define CONFIG_MP3_AT_DECODER 0
%define CONFIG_PCM_ALAW_AT_DECODER 0
%define CONFIG_PCM_MULAW_AT_DECODER 0
%define CONFIG_QDMC_AT_DECODER 0
%define CONFIG_QDM2_AT_DECODER 0
%define CONFIG_LIBCELT_DECODER 0
%define CONFIG_LIBDCADEC_DECODER 0
%define CONFIG_LIBFDK_AAC_DECODER 0
%define CONFIG_LIBGSM_DECODER 0
%define CONFIG_LIBGSM_MS_DECODER 0
@ -1037,7 +1083,6 @@
%define CONFIG_LIBOPUS_DECODER 0
%define CONFIG_LIBSCHROEDINGER_DECODER 0
%define CONFIG_LIBSPEEX_DECODER 0
%define CONFIG_LIBUTVIDEO_DECODER 0
%define CONFIG_LIBVORBIS_DECODER 0
%define CONFIG_LIBVPX_VP8_DECODER 0
%define CONFIG_LIBVPX_VP9_DECODER 0
@ -1045,6 +1090,11 @@
%define CONFIG_BINTEXT_DECODER 0
%define CONFIG_XBIN_DECODER 0
%define CONFIG_IDF_DECODER 0
%define CONFIG_H264_CUVID_DECODER 0
%define CONFIG_HEVC_CUVID_DECODER 0
%define CONFIG_VC1_CUVID_DECODER 0
%define CONFIG_VP8_CUVID_DECODER 0
%define CONFIG_VP9_CUVID_DECODER 0
%define CONFIG_AA_DEMUXER 0
%define CONFIG_AAC_DEMUXER 0
%define CONFIG_AC3_DEMUXER 0
@ -1057,6 +1107,7 @@
%define CONFIG_AEA_DEMUXER 0
%define CONFIG_AFC_DEMUXER 0
%define CONFIG_AIFF_DEMUXER 0
%define CONFIG_AIX_DEMUXER 0
%define CONFIG_AMR_DEMUXER 0
%define CONFIG_ANM_DEMUXER 0
%define CONFIG_APC_DEMUXER 0
@ -1101,6 +1152,7 @@
%define CONFIG_DTSHD_DEMUXER 0
%define CONFIG_DV_DEMUXER 0
%define CONFIG_DVBSUB_DEMUXER 0
%define CONFIG_DVBTXT_DEMUXER 0
%define CONFIG_DXA_DEMUXER 0
%define CONFIG_EA_DEMUXER 0
%define CONFIG_EA_CDATA_DEMUXER 0
@ -1174,7 +1226,9 @@
%define CONFIG_MPSUB_DEMUXER 0
%define CONFIG_MSF_DEMUXER 0
%define CONFIG_MSNWC_TCP_DEMUXER 0
%define CONFIG_MTAF_DEMUXER 0
%define CONFIG_MTV_DEMUXER 0
%define CONFIG_MUSX_DEMUXER 0
%define CONFIG_MV_DEMUXER 0
%define CONFIG_MVI_DEMUXER 0
%define CONFIG_MXF_DEMUXER 0
@ -1275,6 +1329,7 @@
%define CONFIG_WEBM_DASH_MANIFEST_DEMUXER 0
%define CONFIG_WEBVTT_DEMUXER 0
%define CONFIG_WSAUD_DEMUXER 0
%define CONFIG_WSD_DEMUXER 0
%define CONFIG_WSVQA_DEMUXER 0
%define CONFIG_WTV_DEMUXER 0
%define CONFIG_WVE_DEMUXER 0
@ -1293,8 +1348,14 @@
%define CONFIG_IMAGE_J2K_PIPE_DEMUXER 0
%define CONFIG_IMAGE_JPEG_PIPE_DEMUXER 0
%define CONFIG_IMAGE_JPEGLS_PIPE_DEMUXER 0
%define CONFIG_IMAGE_PAM_PIPE_DEMUXER 0
%define CONFIG_IMAGE_PBM_PIPE_DEMUXER 0
%define CONFIG_IMAGE_PCX_PIPE_DEMUXER 0
%define CONFIG_IMAGE_PGMYUV_PIPE_DEMUXER 0
%define CONFIG_IMAGE_PGM_PIPE_DEMUXER 0
%define CONFIG_IMAGE_PICTOR_PIPE_DEMUXER 0
%define CONFIG_IMAGE_PNG_PIPE_DEMUXER 0
%define CONFIG_IMAGE_PPM_PIPE_DEMUXER 0
%define CONFIG_IMAGE_QDRAW_PIPE_DEMUXER 0
%define CONFIG_IMAGE_SGI_PIPE_DEMUXER 0
%define CONFIG_IMAGE_SUNRAST_PIPE_DEMUXER 0
@ -1445,6 +1506,11 @@
%define CONFIG_TEXT_ENCODER 0
%define CONFIG_WEBVTT_ENCODER 0
%define CONFIG_XSUB_ENCODER 0
%define CONFIG_AAC_AT_ENCODER 0
%define CONFIG_ALAC_AT_ENCODER 0
%define CONFIG_ILBC_AT_ENCODER 0
%define CONFIG_PCM_ALAW_AT_ENCODER 0
%define CONFIG_PCM_MULAW_AT_ENCODER 0
%define CONFIG_LIBFAAC_ENCODER 0
%define CONFIG_LIBFDK_AAC_ENCODER 0
%define CONFIG_LIBGSM_ENCODER 0
@ -1459,7 +1525,6 @@
%define CONFIG_LIBSPEEX_ENCODER 0
%define CONFIG_LIBTHEORA_ENCODER 0
%define CONFIG_LIBTWOLAME_ENCODER 0
%define CONFIG_LIBUTVIDEO_ENCODER 0
%define CONFIG_LIBVO_AMRWBENC_ENCODER 0
%define CONFIG_LIBVORBIS_ENCODER 0
%define CONFIG_LIBVPX_VP8_ENCODER 0
@ -1474,13 +1539,21 @@
%define CONFIG_LIBXAVS_ENCODER 0
%define CONFIG_LIBXVID_ENCODER 0
%define CONFIG_LIBOPENH264_ENCODER 0
%define CONFIG_H264_NVENC_ENCODER 0
%define CONFIG_H264_OMX_ENCODER 0
%define CONFIG_H264_QSV_ENCODER 0
%define CONFIG_H264_VAAPI_ENCODER 0
%define CONFIG_H264_VIDEOTOOLBOX_ENCODER 0
%define CONFIG_NVENC_ENCODER 0
%define CONFIG_NVENC_H264_ENCODER 0
%define CONFIG_NVENC_HEVC_ENCODER 0
%define CONFIG_HEVC_NVENC_ENCODER 0
%define CONFIG_HEVC_QSV_ENCODER 0
%define CONFIG_HEVC_VAAPI_ENCODER 0
%define CONFIG_LIBKVAZAAR_ENCODER 0
%define CONFIG_MJPEG_VAAPI_ENCODER 0
%define CONFIG_MPEG2_QSV_ENCODER 0
%define CONFIG_ABENCH_FILTER 0
%define CONFIG_ACOMPRESSOR_FILTER 0
%define CONFIG_ACROSSFADE_FILTER 0
%define CONFIG_ADELAY_FILTER 0
@ -1494,6 +1567,7 @@
%define CONFIG_AINTERLEAVE_FILTER 0
%define CONFIG_ALIMITER_FILTER 0
%define CONFIG_ALLPASS_FILTER 0
%define CONFIG_ALOOP_FILTER 0
%define CONFIG_AMERGE_FILTER 0
%define CONFIG_AMETADATA_FILTER 0
%define CONFIG_AMIX_FILTER 0
@ -1536,10 +1610,13 @@
%define CONFIG_EBUR128_FILTER 0
%define CONFIG_EQUALIZER_FILTER 0
%define CONFIG_EXTRASTEREO_FILTER 0
%define CONFIG_FIREQUALIZER_FILTER 0
%define CONFIG_FLANGER_FILTER 0
%define CONFIG_HDCD_FILTER 0
%define CONFIG_HIGHPASS_FILTER 0
%define CONFIG_JOIN_FILTER 0
%define CONFIG_LADSPA_FILTER 0
%define CONFIG_LOUDNORM_FILTER 0
%define CONFIG_LOWPASS_FILTER 0
%define CONFIG_PAN_FILTER 0
%define CONFIG_REPLAYGAIN_FILTER 0
@ -1567,24 +1644,30 @@
%define CONFIG_ALPHAMERGE_FILTER 0
%define CONFIG_ATADENOISE_FILTER 0
%define CONFIG_ASS_FILTER 0
%define CONFIG_BENCH_FILTER 0
%define CONFIG_BBOX_FILTER 0
%define CONFIG_BLACKDETECT_FILTER 0
%define CONFIG_BLACKFRAME_FILTER 0
%define CONFIG_BLEND_FILTER 0
%define CONFIG_BOXBLUR_FILTER 0
%define CONFIG_BWDIF_FILTER 0
%define CONFIG_CHROMAKEY_FILTER 0
%define CONFIG_CIESCOPE_FILTER 0
%define CONFIG_CODECVIEW_FILTER 0
%define CONFIG_COLORBALANCE_FILTER 0
%define CONFIG_COLORCHANNELMIXER_FILTER 0
%define CONFIG_COLORKEY_FILTER 0
%define CONFIG_COLORLEVELS_FILTER 0
%define CONFIG_COLORMATRIX_FILTER 0
%define CONFIG_COLORSPACE_FILTER 0
%define CONFIG_CONVOLUTION_FILTER 0
%define CONFIG_COPY_FILTER 0
%define CONFIG_COREIMAGE_FILTER 0
%define CONFIG_COVER_RECT_FILTER 0
%define CONFIG_CROP_FILTER 0
%define CONFIG_CROPDETECT_FILTER 0
%define CONFIG_CURVES_FILTER 0
%define CONFIG_DATASCOPE_FILTER 0
%define CONFIG_DCTDNOIZ_FILTER 0
%define CONFIG_DEBAND_FILTER 0
%define CONFIG_DECIMATE_FILTER 0
@ -1607,6 +1690,7 @@
%define CONFIG_FADE_FILTER 0
%define CONFIG_FFTFILT_FILTER 0
%define CONFIG_FIELD_FILTER 0
%define CONFIG_FIELDHINT_FILTER 0
%define CONFIG_FIELDMATCH_FILTER 0
%define CONFIG_FIELDORDER_FILTER 0
%define CONFIG_FIND_RECT_FILTER 0
@ -1625,6 +1709,9 @@
%define CONFIG_HISTOGRAM_FILTER 0
%define CONFIG_HQDN3D_FILTER 0
%define CONFIG_HQX_FILTER 0
%define CONFIG_HWDOWNLOAD_FILTER 0
%define CONFIG_HWUPLOAD_FILTER 0
%define CONFIG_HWUPLOAD_CUDA_FILTER 0
%define CONFIG_HSTACK_FILTER 0
%define CONFIG_HUE_FILTER 0
%define CONFIG_IDET_FILTER 0
@ -1634,6 +1721,7 @@
%define CONFIG_INTERLEAVE_FILTER 0
%define CONFIG_KERNDEINT_FILTER 0
%define CONFIG_LENSCORRECTION_FILTER 0
%define CONFIG_LOOP_FILTER 0
%define CONFIG_LUT3D_FILTER 0
%define CONFIG_LUT_FILTER 0
%define CONFIG_LUTRGB_FILTER 0
@ -1665,7 +1753,9 @@
%define CONFIG_PULLUP_FILTER 0
%define CONFIG_QP_FILTER 0
%define CONFIG_RANDOM_FILTER 0
%define CONFIG_READVITC_FILTER 0
%define CONFIG_REALTIME_FILTER 0
%define CONFIG_REMAP_FILTER 0
%define CONFIG_REMOVEGRAIN_FILTER 0
%define CONFIG_REMOVELOGO_FILTER 0
%define CONFIG_REPEATFIELDS_FILTER 0
@ -1674,6 +1764,8 @@
%define CONFIG_SAB_FILTER 0
%define CONFIG_SCALE_FILTER 0
%define CONFIG_SCALE2REF_FILTER 0
%define CONFIG_SCALE_NPP_FILTER 0
%define CONFIG_SCALE_VAAPI_FILTER 0
%define CONFIG_SELECT_FILTER 0
%define CONFIG_SELECTIVECOLOR_FILTER 0
%define CONFIG_SENDCMD_FILTER 0
@ -1724,6 +1816,7 @@
%define CONFIG_ALLYUV_FILTER 0
%define CONFIG_CELLAUTO_FILTER 0
%define CONFIG_COLOR_FILTER 0
%define CONFIG_COREIMAGESRC_FILTER 0
%define CONFIG_FREI0R_SRC_FILTER 0
%define CONFIG_HALDCLUTSRC_FILTER 0
%define CONFIG_LIFE_FILTER 0
@ -1753,6 +1846,7 @@
%define CONFIG_MOVIE_FILTER 0
%define CONFIG_H263_VAAPI_HWACCEL 0
%define CONFIG_H263_VIDEOTOOLBOX_HWACCEL 0
%define CONFIG_H264_CUVID_HWACCEL 0
%define CONFIG_H264_D3D11VA_HWACCEL 0
%define CONFIG_H264_DXVA2_HWACCEL 0
%define CONFIG_H264_MMAL_HWACCEL 0
@ -1762,6 +1856,7 @@
%define CONFIG_H264_VDA_OLD_HWACCEL 0
%define CONFIG_H264_VDPAU_HWACCEL 0
%define CONFIG_H264_VIDEOTOOLBOX_HWACCEL 0
%define CONFIG_HEVC_CUVID_HWACCEL 0
%define CONFIG_HEVC_D3D11VA_HWACCEL 0
%define CONFIG_HEVC_DXVA2_HWACCEL 0
%define CONFIG_HEVC_QSV_HWACCEL 0
@ -1782,12 +1877,15 @@
%define CONFIG_MPEG4_VAAPI_HWACCEL 0
%define CONFIG_MPEG4_VDPAU_HWACCEL 0
%define CONFIG_MPEG4_VIDEOTOOLBOX_HWACCEL 0
%define CONFIG_VC1_CUVID_HWACCEL 0
%define CONFIG_VC1_D3D11VA_HWACCEL 0
%define CONFIG_VC1_DXVA2_HWACCEL 0
%define CONFIG_VC1_VAAPI_HWACCEL 0
%define CONFIG_VC1_VDPAU_HWACCEL 0
%define CONFIG_VC1_MMAL_HWACCEL 0
%define CONFIG_VC1_QSV_HWACCEL 0
%define CONFIG_VP8_CUVID_HWACCEL 0
%define CONFIG_VP9_CUVID_HWACCEL 0
%define CONFIG_VP9_D3D11VA_HWACCEL 0
%define CONFIG_VP9_DXVA2_HWACCEL 0
%define CONFIG_VP9_VAAPI_HWACCEL 0
@ -1850,14 +1948,17 @@
%define CONFIG_FLAC_MUXER 0
%define CONFIG_FLV_MUXER 0
%define CONFIG_FRAMECRC_MUXER 0
%define CONFIG_FRAMEHASH_MUXER 0
%define CONFIG_FRAMEMD5_MUXER 0
%define CONFIG_G722_MUXER 0
%define CONFIG_G723_1_MUXER 0
%define CONFIG_GIF_MUXER 0
%define CONFIG_GSM_MUXER 0
%define CONFIG_GXF_MUXER 0
%define CONFIG_H261_MUXER 0
%define CONFIG_H263_MUXER 0
%define CONFIG_H264_MUXER 0
%define CONFIG_HASH_MUXER 0
%define CONFIG_HDS_MUXER 0
%define CONFIG_HEVC_MUXER 0
%define CONFIG_HLS_MUXER 0
@ -2042,9 +2143,9 @@
%define CONFIG_SRTP_PROTOCOL 0
%define CONFIG_SUBFILE_PROTOCOL 0
%define CONFIG_TCP_PROTOCOL 0
%define CONFIG_TLS_GNUTLS_PROTOCOL 0
%define CONFIG_TLS_SCHANNEL_PROTOCOL 0
%define CONFIG_TLS_SECURETRANSPORT_PROTOCOL 0
%define CONFIG_TLS_GNUTLS_PROTOCOL 0
%define CONFIG_TLS_OPENSSL_PROTOCOL 0
%define CONFIG_UDP_PROTOCOL 0
%define CONFIG_UDPLITE_PROTOCOL 0

Просмотреть файл

@ -72,6 +72,7 @@
#define HAVE_I686 1
#define HAVE_MIPSFPU 0
#define HAVE_MIPS32R2 0
#define HAVE_MIPS32R5 0
#define HAVE_MIPS64R2 0
#define HAVE_MIPS32R6 0
#define HAVE_MIPS64R6 0
@ -115,6 +116,7 @@
#define HAVE_I686_EXTERNAL 0
#define HAVE_MIPSFPU_EXTERNAL 0
#define HAVE_MIPS32R2_EXTERNAL 0
#define HAVE_MIPS32R5_EXTERNAL 0
#define HAVE_MIPS64R2_EXTERNAL 0
#define HAVE_MIPS32R6_EXTERNAL 0
#define HAVE_MIPS64R6_EXTERNAL 0
@ -158,6 +160,7 @@
#define HAVE_I686_INLINE 0
#define HAVE_MIPSFPU_INLINE 0
#define HAVE_MIPS32R2_INLINE 0
#define HAVE_MIPS32R5_INLINE 0
#define HAVE_MIPS64R2_INLINE 0
#define HAVE_MIPS32R6_INLINE 0
#define HAVE_MIPS64R6_INLINE 0
@ -185,6 +188,7 @@
#define HAVE_MM_EMPTY 1
#define HAVE_RDTSC 0
#define HAVE_SARESTART 1
#define HAVE_SEM_TIMEDWAIT 1
#define HAVE_SYNC_VAL_COMPARE_AND_SWAP 1
#define HAVE_CABS 1
#define HAVE_CEXP 1
@ -200,6 +204,7 @@
#define HAVE_ASM_TYPES_H 0
#define HAVE_CDIO_PARANOIA_H 0
#define HAVE_CDIO_PARANOIA_PARANOIA_H 0
#define HAVE_DISPATCH_DISPATCH_H 0
#define HAVE_DEV_BKTR_IOCTL_BT848_H 0
#define HAVE_DEV_BKTR_IOCTL_METEOR_H 0
#define HAVE_DEV_IC_BT8XX_H 0
@ -313,7 +318,6 @@
#define HAVE_SLEEP 0
#define HAVE_STRERROR_R 1
#define HAVE_SYSCONF 1
#define HAVE_SYSCTL 1
#define HAVE_USLEEP 1
#define HAVE_UTGETOSTYPEFROMSTRING 1
#define HAVE_VIRTUALALLOC 0
@ -348,6 +352,7 @@
#define HAVE_STRUCT_GROUP_SOURCE_REQ 1
#define HAVE_STRUCT_IP_MREQ_SOURCE 1
#define HAVE_STRUCT_IPV6_MREQ 1
#define HAVE_STRUCT_MSGHDR_MSG_FLAGS 1
#define HAVE_STRUCT_POLLFD 1
#define HAVE_STRUCT_RUSAGE_RU_MAXRSS 1
#define HAVE_STRUCT_SCTP_EVENT_SUBSCRIBE 0
@ -365,12 +370,14 @@
#define HAVE_LIBDC1394_2 0
#define HAVE_MAKEINFO 1
#define HAVE_MAKEINFO_HTML 1
#define HAVE_MMAL_PARAMETER_VIDEO_MAX_NUM_CALLBACKS 0
#define HAVE_PERL 1
#define HAVE_POD2MAN 1
#define HAVE_SDL 0
#define HAVE_SECTION_DATA_REL_RO 0
#define HAVE_TEXI2HTML 0
#define HAVE_THREADS 1
#define HAVE_VAAPI_DRM 0
#define HAVE_VAAPI_X11 0
#define HAVE_VDPAU_X11 0
#define HAVE_WINRT 0
@ -417,6 +424,7 @@
#define CONFIG_GMP 0
#define CONFIG_GNUTLS 0
#define CONFIG_ICONV 0
#define CONFIG_JNI 0
#define CONFIG_LADSPA 0
#define CONFIG_LIBASS 0
#define CONFIG_LIBBLURAY 0
@ -425,7 +433,7 @@
#define CONFIG_LIBCDIO 0
#define CONFIG_LIBCELT 0
#define CONFIG_LIBDC1394 0
#define CONFIG_LIBDCADEC 0
#define CONFIG_LIBEBUR128 0
#define CONFIG_LIBFAAC 0
#define CONFIG_LIBFDK_AAC 0
#define CONFIG_LIBFLITE 0
@ -437,7 +445,6 @@
#define CONFIG_LIBIEC61883 0
#define CONFIG_LIBILBC 0
#define CONFIG_LIBKVAZAAR 0
#define CONFIG_LIBMFX 0
#define CONFIG_LIBMODPLUG 0
#define CONFIG_LIBMP3LAME 0
#define CONFIG_LIBNUT 0
@ -460,7 +467,6 @@
#define CONFIG_LIBTESSERACT 0
#define CONFIG_LIBTHEORA 0
#define CONFIG_LIBTWOLAME 0
#define CONFIG_LIBUTVIDEO 0
#define CONFIG_LIBV4L2 0
#define CONFIG_LIBVIDSTAB 0
#define CONFIG_LIBVO_AMRWBENC 0
@ -480,9 +486,8 @@
#define CONFIG_LIBZMQ 0
#define CONFIG_LIBZVBI 0
#define CONFIG_LZMA 0
#define CONFIG_MMAL 0
#define CONFIG_MEDIACODEC 0
#define CONFIG_NETCDF 0
#define CONFIG_NVENC 0
#define CONFIG_OPENAL 0
#define CONFIG_OPENCL 0
#define CONFIG_OPENGL 0
@ -490,25 +495,35 @@
#define CONFIG_SCHANNEL 0
#define CONFIG_SDL 0
#define CONFIG_SECURETRANSPORT 0
#define CONFIG_VIDEOTOOLBOX 0
#define CONFIG_X11GRAB 0
#define CONFIG_XLIB 0
#define CONFIG_ZLIB 0
#define CONFIG_AUDIOTOOLBOX 0
#define CONFIG_CUDA 0
#define CONFIG_CUVID 0
#define CONFIG_D3D11VA 0
#define CONFIG_DXVA2 0
#define CONFIG_LIBMFX 0
#define CONFIG_LIBNPP 0
#define CONFIG_MMAL 0
#define CONFIG_NVENC 0
#define CONFIG_OMX 0
#define CONFIG_VAAPI 0
#define CONFIG_VDA 0
#define CONFIG_VDPAU 0
#define CONFIG_VIDEOTOOLBOX_HWACCEL 0
#define CONFIG_XVMC 0
#define CONFIG_FTRAPV 0
#define CONFIG_GRAY 0
#define CONFIG_HARDCODED_TABLES 0
#define CONFIG_OMX_RPI 0
#define CONFIG_RUNTIME_CPUDETECT 1
#define CONFIG_SAFE_BITSTREAM_READER 1
#define CONFIG_SHARED 1
#define CONFIG_SMALL 0
#define CONFIG_STATIC 0
#define CONFIG_SWSCALE_ALPHA 1
#define CONFIG_D3D11VA 0
#define CONFIG_DXVA2 0
#define CONFIG_VAAPI 0
#define CONFIG_VDA 0
#define CONFIG_VDPAU 0
#define CONFIG_VIDEOTOOLBOX 0
#define CONFIG_XVMC 0
#define CONFIG_GPL 0
#define CONFIG_NONFREE 0
#define CONFIG_VERSION3 0
@ -580,6 +595,7 @@
#define CONFIG_IIRFILTER 0
#define CONFIG_IMDCT15 0
#define CONFIG_INTRAX8 0
#define CONFIG_ISO_MEDIA 0
#define CONFIG_IVIDSP 0
#define CONFIG_JPEGTABLES 0
#define CONFIG_LGPLV3 0
@ -608,19 +624,24 @@
#define CONFIG_RV34DSP 0
#define CONFIG_SINEWIN 0
#define CONFIG_SNAPPY 0
#define CONFIG_SRTP 0
#define CONFIG_STARTCODE 0
#define CONFIG_TEXTUREDSP 0
#define CONFIG_TEXTUREDSPENC 0
#define CONFIG_TPELDSP 0
#define CONFIG_VAAPI_ENCODE 0
#define CONFIG_VC1DSP 0
#define CONFIG_VIDEODSP 1
#define CONFIG_VP3DSP 0
#define CONFIG_VP56DSP 0
#define CONFIG_VP8DSP 1
#define CONFIG_VT_BT2020 0
#define CONFIG_WMA_FREQS 0
#define CONFIG_WMV2DSP 0
#define CONFIG_AAC_ADTSTOASC_BSF 0
#define CONFIG_CHOMP_BSF 0
#define CONFIG_DUMP_EXTRADATA_BSF 0
#define CONFIG_DCA_CORE_BSF 0
#define CONFIG_H264_MP4TOANNEXB_BSF 0
#define CONFIG_HEVC_MP4TOANNEXB_BSF 0
#define CONFIG_IMX_DUMP_HEADER_BSF 0
@ -632,6 +653,7 @@
#define CONFIG_NOISE_BSF 0
#define CONFIG_REMOVE_EXTRADATA_BSF 0
#define CONFIG_TEXT2MOVSUB_BSF 0
#define CONFIG_VP9_SUPERFRAME_BSF 0
#define CONFIG_AASC_DECODER 0
#define CONFIG_AIC_DECODER 0
#define CONFIG_ALIAS_PIX_DECODER 0
@ -706,6 +728,7 @@
#define CONFIG_H263P_DECODER 0
#define CONFIG_H264_DECODER 0
#define CONFIG_H264_CRYSTALHD_DECODER 0
#define CONFIG_H264_MEDIACODEC_DECODER 0
#define CONFIG_H264_MMAL_DECODER 0
#define CONFIG_H264_QSV_DECODER 0
#define CONFIG_H264_VDA_DECODER 0
@ -731,6 +754,8 @@
#define CONFIG_KMVC_DECODER 0
#define CONFIG_LAGARITH_DECODER 0
#define CONFIG_LOCO_DECODER 0
#define CONFIG_M101_DECODER 0
#define CONFIG_MAGICYUV_DECODER 0
#define CONFIG_MDEC_DECODER 0
#define CONFIG_MIMIC_DECODER 0
#define CONFIG_MJPEG_DECODER 0
@ -797,6 +822,7 @@
#define CONFIG_SDX2_DPCM_DECODER 0
#define CONFIG_SGI_DECODER 0
#define CONFIG_SGIRLE_DECODER 0
#define CONFIG_SHEERVIDEO_DECODER 0
#define CONFIG_SMACKER_DECODER 0
#define CONFIG_SMC_DECODER 0
#define CONFIG_SMVJPEG_DECODER 0
@ -815,6 +841,7 @@
#define CONFIG_TMV_DECODER 0
#define CONFIG_TRUEMOTION1_DECODER 0
#define CONFIG_TRUEMOTION2_DECODER 0
#define CONFIG_TRUEMOTION2RT_DECODER 0
#define CONFIG_TSCC_DECODER 0
#define CONFIG_TSCC2_DECODER 0
#define CONFIG_TXD_DECODER 0
@ -860,6 +887,7 @@
#define CONFIG_XL_DECODER 0
#define CONFIG_XWD_DECODER 0
#define CONFIG_Y41P_DECODER 0
#define CONFIG_YLC_DECODER 0
#define CONFIG_YOP_DECODER 0
#define CONFIG_YUV4_DECODER 0
#define CONFIG_ZERO12V_DECODER 0
@ -890,6 +918,7 @@
#define CONFIG_DSD_MSBF_PLANAR_DECODER 0
#define CONFIG_DSICINAUDIO_DECODER 0
#define CONFIG_DSS_SP_DECODER 0
#define CONFIG_DST_DECODER 0
#define CONFIG_EAC3_DECODER 0
#define CONFIG_EVRC_DECODER 0
#define CONFIG_FFWAVESYNTH_DECODER 0
@ -997,6 +1026,7 @@
#define CONFIG_ADPCM_G726LE_DECODER 0
#define CONFIG_ADPCM_IMA_AMV_DECODER 0
#define CONFIG_ADPCM_IMA_APC_DECODER 0
#define CONFIG_ADPCM_IMA_DAT4_DECODER 0
#define CONFIG_ADPCM_IMA_DK3_DECODER 0
#define CONFIG_ADPCM_IMA_DK4_DECODER 0
#define CONFIG_ADPCM_IMA_EA_EACS_DECODER 0
@ -1009,6 +1039,7 @@
#define CONFIG_ADPCM_IMA_WAV_DECODER 0
#define CONFIG_ADPCM_IMA_WS_DECODER 0
#define CONFIG_ADPCM_MS_DECODER 0
#define CONFIG_ADPCM_MTAF_DECODER 0
#define CONFIG_ADPCM_PSX_DECODER 0
#define CONFIG_ADPCM_SBPRO_2_DECODER 0
#define CONFIG_ADPCM_SBPRO_3_DECODER 0
@ -1041,8 +1072,22 @@
#define CONFIG_VPLAYER_DECODER 0
#define CONFIG_WEBVTT_DECODER 0
#define CONFIG_XSUB_DECODER 0
#define CONFIG_AAC_AT_DECODER 0
#define CONFIG_AC3_AT_DECODER 0
#define CONFIG_ADPCM_IMA_QT_AT_DECODER 0
#define CONFIG_ALAC_AT_DECODER 0
#define CONFIG_AMR_NB_AT_DECODER 0
#define CONFIG_EAC3_AT_DECODER 0
#define CONFIG_GSM_MS_AT_DECODER 0
#define CONFIG_ILBC_AT_DECODER 0
#define CONFIG_MP1_AT_DECODER 0
#define CONFIG_MP2_AT_DECODER 0
#define CONFIG_MP3_AT_DECODER 0
#define CONFIG_PCM_ALAW_AT_DECODER 0
#define CONFIG_PCM_MULAW_AT_DECODER 0
#define CONFIG_QDMC_AT_DECODER 0
#define CONFIG_QDM2_AT_DECODER 0
#define CONFIG_LIBCELT_DECODER 0
#define CONFIG_LIBDCADEC_DECODER 0
#define CONFIG_LIBFDK_AAC_DECODER 0
#define CONFIG_LIBGSM_DECODER 0
#define CONFIG_LIBGSM_MS_DECODER 0
@ -1053,7 +1098,6 @@
#define CONFIG_LIBOPUS_DECODER 0
#define CONFIG_LIBSCHROEDINGER_DECODER 0
#define CONFIG_LIBSPEEX_DECODER 0
#define CONFIG_LIBUTVIDEO_DECODER 0
#define CONFIG_LIBVORBIS_DECODER 0
#define CONFIG_LIBVPX_VP8_DECODER 0
#define CONFIG_LIBVPX_VP9_DECODER 0
@ -1061,6 +1105,11 @@
#define CONFIG_BINTEXT_DECODER 0
#define CONFIG_XBIN_DECODER 0
#define CONFIG_IDF_DECODER 0
#define CONFIG_H264_CUVID_DECODER 0
#define CONFIG_HEVC_CUVID_DECODER 0
#define CONFIG_VC1_CUVID_DECODER 0
#define CONFIG_VP8_CUVID_DECODER 0
#define CONFIG_VP9_CUVID_DECODER 0
#define CONFIG_AA_DEMUXER 0
#define CONFIG_AAC_DEMUXER 0
#define CONFIG_AC3_DEMUXER 0
@ -1073,6 +1122,7 @@
#define CONFIG_AEA_DEMUXER 0
#define CONFIG_AFC_DEMUXER 0
#define CONFIG_AIFF_DEMUXER 0
#define CONFIG_AIX_DEMUXER 0
#define CONFIG_AMR_DEMUXER 0
#define CONFIG_ANM_DEMUXER 0
#define CONFIG_APC_DEMUXER 0
@ -1117,6 +1167,7 @@
#define CONFIG_DTSHD_DEMUXER 0
#define CONFIG_DV_DEMUXER 0
#define CONFIG_DVBSUB_DEMUXER 0
#define CONFIG_DVBTXT_DEMUXER 0
#define CONFIG_DXA_DEMUXER 0
#define CONFIG_EA_DEMUXER 0
#define CONFIG_EA_CDATA_DEMUXER 0
@ -1190,7 +1241,9 @@
#define CONFIG_MPSUB_DEMUXER 0
#define CONFIG_MSF_DEMUXER 0
#define CONFIG_MSNWC_TCP_DEMUXER 0
#define CONFIG_MTAF_DEMUXER 0
#define CONFIG_MTV_DEMUXER 0
#define CONFIG_MUSX_DEMUXER 0
#define CONFIG_MV_DEMUXER 0
#define CONFIG_MVI_DEMUXER 0
#define CONFIG_MXF_DEMUXER 0
@ -1291,6 +1344,7 @@
#define CONFIG_WEBM_DASH_MANIFEST_DEMUXER 0
#define CONFIG_WEBVTT_DEMUXER 0
#define CONFIG_WSAUD_DEMUXER 0
#define CONFIG_WSD_DEMUXER 0
#define CONFIG_WSVQA_DEMUXER 0
#define CONFIG_WTV_DEMUXER 0
#define CONFIG_WVE_DEMUXER 0
@ -1309,8 +1363,14 @@
#define CONFIG_IMAGE_J2K_PIPE_DEMUXER 0
#define CONFIG_IMAGE_JPEG_PIPE_DEMUXER 0
#define CONFIG_IMAGE_JPEGLS_PIPE_DEMUXER 0
#define CONFIG_IMAGE_PAM_PIPE_DEMUXER 0
#define CONFIG_IMAGE_PBM_PIPE_DEMUXER 0
#define CONFIG_IMAGE_PCX_PIPE_DEMUXER 0
#define CONFIG_IMAGE_PGMYUV_PIPE_DEMUXER 0
#define CONFIG_IMAGE_PGM_PIPE_DEMUXER 0
#define CONFIG_IMAGE_PICTOR_PIPE_DEMUXER 0
#define CONFIG_IMAGE_PNG_PIPE_DEMUXER 0
#define CONFIG_IMAGE_PPM_PIPE_DEMUXER 0
#define CONFIG_IMAGE_QDRAW_PIPE_DEMUXER 0
#define CONFIG_IMAGE_SGI_PIPE_DEMUXER 0
#define CONFIG_IMAGE_SUNRAST_PIPE_DEMUXER 0
@ -1461,6 +1521,11 @@
#define CONFIG_TEXT_ENCODER 0
#define CONFIG_WEBVTT_ENCODER 0
#define CONFIG_XSUB_ENCODER 0
#define CONFIG_AAC_AT_ENCODER 0
#define CONFIG_ALAC_AT_ENCODER 0
#define CONFIG_ILBC_AT_ENCODER 0
#define CONFIG_PCM_ALAW_AT_ENCODER 0
#define CONFIG_PCM_MULAW_AT_ENCODER 0
#define CONFIG_LIBFAAC_ENCODER 0
#define CONFIG_LIBFDK_AAC_ENCODER 0
#define CONFIG_LIBGSM_ENCODER 0
@ -1475,7 +1540,6 @@
#define CONFIG_LIBSPEEX_ENCODER 0
#define CONFIG_LIBTHEORA_ENCODER 0
#define CONFIG_LIBTWOLAME_ENCODER 0
#define CONFIG_LIBUTVIDEO_ENCODER 0
#define CONFIG_LIBVO_AMRWBENC_ENCODER 0
#define CONFIG_LIBVORBIS_ENCODER 0
#define CONFIG_LIBVPX_VP8_ENCODER 0
@ -1490,13 +1554,21 @@
#define CONFIG_LIBXAVS_ENCODER 0
#define CONFIG_LIBXVID_ENCODER 0
#define CONFIG_LIBOPENH264_ENCODER 0
#define CONFIG_H264_NVENC_ENCODER 0
#define CONFIG_H264_OMX_ENCODER 0
#define CONFIG_H264_QSV_ENCODER 0
#define CONFIG_H264_VAAPI_ENCODER 0
#define CONFIG_H264_VIDEOTOOLBOX_ENCODER 0
#define CONFIG_NVENC_ENCODER 0
#define CONFIG_NVENC_H264_ENCODER 0
#define CONFIG_NVENC_HEVC_ENCODER 0
#define CONFIG_HEVC_NVENC_ENCODER 0
#define CONFIG_HEVC_QSV_ENCODER 0
#define CONFIG_HEVC_VAAPI_ENCODER 0
#define CONFIG_LIBKVAZAAR_ENCODER 0
#define CONFIG_MJPEG_VAAPI_ENCODER 0
#define CONFIG_MPEG2_QSV_ENCODER 0
#define CONFIG_ABENCH_FILTER 0
#define CONFIG_ACOMPRESSOR_FILTER 0
#define CONFIG_ACROSSFADE_FILTER 0
#define CONFIG_ADELAY_FILTER 0
@ -1510,6 +1582,7 @@
#define CONFIG_AINTERLEAVE_FILTER 0
#define CONFIG_ALIMITER_FILTER 0
#define CONFIG_ALLPASS_FILTER 0
#define CONFIG_ALOOP_FILTER 0
#define CONFIG_AMERGE_FILTER 0
#define CONFIG_AMETADATA_FILTER 0
#define CONFIG_AMIX_FILTER 0
@ -1552,10 +1625,13 @@
#define CONFIG_EBUR128_FILTER 0
#define CONFIG_EQUALIZER_FILTER 0
#define CONFIG_EXTRASTEREO_FILTER 0
#define CONFIG_FIREQUALIZER_FILTER 0
#define CONFIG_FLANGER_FILTER 0
#define CONFIG_HDCD_FILTER 0
#define CONFIG_HIGHPASS_FILTER 0
#define CONFIG_JOIN_FILTER 0
#define CONFIG_LADSPA_FILTER 0
#define CONFIG_LOUDNORM_FILTER 0
#define CONFIG_LOWPASS_FILTER 0
#define CONFIG_PAN_FILTER 0
#define CONFIG_REPLAYGAIN_FILTER 0
@ -1583,24 +1659,30 @@
#define CONFIG_ALPHAMERGE_FILTER 0
#define CONFIG_ATADENOISE_FILTER 0
#define CONFIG_ASS_FILTER 0
#define CONFIG_BENCH_FILTER 0
#define CONFIG_BBOX_FILTER 0
#define CONFIG_BLACKDETECT_FILTER 0
#define CONFIG_BLACKFRAME_FILTER 0
#define CONFIG_BLEND_FILTER 0
#define CONFIG_BOXBLUR_FILTER 0
#define CONFIG_BWDIF_FILTER 0
#define CONFIG_CHROMAKEY_FILTER 0
#define CONFIG_CIESCOPE_FILTER 0
#define CONFIG_CODECVIEW_FILTER 0
#define CONFIG_COLORBALANCE_FILTER 0
#define CONFIG_COLORCHANNELMIXER_FILTER 0
#define CONFIG_COLORKEY_FILTER 0
#define CONFIG_COLORLEVELS_FILTER 0
#define CONFIG_COLORMATRIX_FILTER 0
#define CONFIG_COLORSPACE_FILTER 0
#define CONFIG_CONVOLUTION_FILTER 0
#define CONFIG_COPY_FILTER 0
#define CONFIG_COREIMAGE_FILTER 0
#define CONFIG_COVER_RECT_FILTER 0
#define CONFIG_CROP_FILTER 0
#define CONFIG_CROPDETECT_FILTER 0
#define CONFIG_CURVES_FILTER 0
#define CONFIG_DATASCOPE_FILTER 0
#define CONFIG_DCTDNOIZ_FILTER 0
#define CONFIG_DEBAND_FILTER 0
#define CONFIG_DECIMATE_FILTER 0
@ -1623,6 +1705,7 @@
#define CONFIG_FADE_FILTER 0
#define CONFIG_FFTFILT_FILTER 0
#define CONFIG_FIELD_FILTER 0
#define CONFIG_FIELDHINT_FILTER 0
#define CONFIG_FIELDMATCH_FILTER 0
#define CONFIG_FIELDORDER_FILTER 0
#define CONFIG_FIND_RECT_FILTER 0
@ -1641,6 +1724,9 @@
#define CONFIG_HISTOGRAM_FILTER 0
#define CONFIG_HQDN3D_FILTER 0
#define CONFIG_HQX_FILTER 0
#define CONFIG_HWDOWNLOAD_FILTER 0
#define CONFIG_HWUPLOAD_FILTER 0
#define CONFIG_HWUPLOAD_CUDA_FILTER 0
#define CONFIG_HSTACK_FILTER 0
#define CONFIG_HUE_FILTER 0
#define CONFIG_IDET_FILTER 0
@ -1650,6 +1736,7 @@
#define CONFIG_INTERLEAVE_FILTER 0
#define CONFIG_KERNDEINT_FILTER 0
#define CONFIG_LENSCORRECTION_FILTER 0
#define CONFIG_LOOP_FILTER 0
#define CONFIG_LUT3D_FILTER 0
#define CONFIG_LUT_FILTER 0
#define CONFIG_LUTRGB_FILTER 0
@ -1681,7 +1768,9 @@
#define CONFIG_PULLUP_FILTER 0
#define CONFIG_QP_FILTER 0
#define CONFIG_RANDOM_FILTER 0
#define CONFIG_READVITC_FILTER 0
#define CONFIG_REALTIME_FILTER 0
#define CONFIG_REMAP_FILTER 0
#define CONFIG_REMOVEGRAIN_FILTER 0
#define CONFIG_REMOVELOGO_FILTER 0
#define CONFIG_REPEATFIELDS_FILTER 0
@ -1690,6 +1779,8 @@
#define CONFIG_SAB_FILTER 0
#define CONFIG_SCALE_FILTER 0
#define CONFIG_SCALE2REF_FILTER 0
#define CONFIG_SCALE_NPP_FILTER 0
#define CONFIG_SCALE_VAAPI_FILTER 0
#define CONFIG_SELECT_FILTER 0
#define CONFIG_SELECTIVECOLOR_FILTER 0
#define CONFIG_SENDCMD_FILTER 0
@ -1740,6 +1831,7 @@
#define CONFIG_ALLYUV_FILTER 0
#define CONFIG_CELLAUTO_FILTER 0
#define CONFIG_COLOR_FILTER 0
#define CONFIG_COREIMAGESRC_FILTER 0
#define CONFIG_FREI0R_SRC_FILTER 0
#define CONFIG_HALDCLUTSRC_FILTER 0
#define CONFIG_LIFE_FILTER 0
@ -1769,6 +1861,7 @@
#define CONFIG_MOVIE_FILTER 0
#define CONFIG_H263_VAAPI_HWACCEL 0
#define CONFIG_H263_VIDEOTOOLBOX_HWACCEL 0
#define CONFIG_H264_CUVID_HWACCEL 0
#define CONFIG_H264_D3D11VA_HWACCEL 0
#define CONFIG_H264_DXVA2_HWACCEL 0
#define CONFIG_H264_MMAL_HWACCEL 0
@ -1778,6 +1871,7 @@
#define CONFIG_H264_VDA_OLD_HWACCEL 0
#define CONFIG_H264_VDPAU_HWACCEL 0
#define CONFIG_H264_VIDEOTOOLBOX_HWACCEL 0
#define CONFIG_HEVC_CUVID_HWACCEL 0
#define CONFIG_HEVC_D3D11VA_HWACCEL 0
#define CONFIG_HEVC_DXVA2_HWACCEL 0
#define CONFIG_HEVC_QSV_HWACCEL 0
@ -1798,12 +1892,15 @@
#define CONFIG_MPEG4_VAAPI_HWACCEL 0
#define CONFIG_MPEG4_VDPAU_HWACCEL 0
#define CONFIG_MPEG4_VIDEOTOOLBOX_HWACCEL 0
#define CONFIG_VC1_CUVID_HWACCEL 0
#define CONFIG_VC1_D3D11VA_HWACCEL 0
#define CONFIG_VC1_DXVA2_HWACCEL 0
#define CONFIG_VC1_VAAPI_HWACCEL 0
#define CONFIG_VC1_VDPAU_HWACCEL 0
#define CONFIG_VC1_MMAL_HWACCEL 0
#define CONFIG_VC1_QSV_HWACCEL 0
#define CONFIG_VP8_CUVID_HWACCEL 0
#define CONFIG_VP9_CUVID_HWACCEL 0
#define CONFIG_VP9_D3D11VA_HWACCEL 0
#define CONFIG_VP9_DXVA2_HWACCEL 0
#define CONFIG_VP9_VAAPI_HWACCEL 0
@ -1866,14 +1963,17 @@
#define CONFIG_FLAC_MUXER 0
#define CONFIG_FLV_MUXER 0
#define CONFIG_FRAMECRC_MUXER 0
#define CONFIG_FRAMEHASH_MUXER 0
#define CONFIG_FRAMEMD5_MUXER 0
#define CONFIG_G722_MUXER 0
#define CONFIG_G723_1_MUXER 0
#define CONFIG_GIF_MUXER 0
#define CONFIG_GSM_MUXER 0
#define CONFIG_GXF_MUXER 0
#define CONFIG_H261_MUXER 0
#define CONFIG_H263_MUXER 0
#define CONFIG_H264_MUXER 0
#define CONFIG_HASH_MUXER 0
#define CONFIG_HDS_MUXER 0
#define CONFIG_HEVC_MUXER 0
#define CONFIG_HLS_MUXER 0
@ -2058,9 +2158,9 @@
#define CONFIG_SRTP_PROTOCOL 0
#define CONFIG_SUBFILE_PROTOCOL 0
#define CONFIG_TCP_PROTOCOL 0
#define CONFIG_TLS_GNUTLS_PROTOCOL 0
#define CONFIG_TLS_SCHANNEL_PROTOCOL 0
#define CONFIG_TLS_SECURETRANSPORT_PROTOCOL 0
#define CONFIG_TLS_GNUTLS_PROTOCOL 0
#define CONFIG_TLS_OPENSSL_PROTOCOL 0
#define CONFIG_UDP_PROTOCOL 0
#define CONFIG_UDPLITE_PROTOCOL 0

Просмотреть файл

@ -72,6 +72,7 @@
#define HAVE_I686 0
#define HAVE_MIPSFPU 0
#define HAVE_MIPS32R2 0
#define HAVE_MIPS32R5 0
#define HAVE_MIPS64R2 0
#define HAVE_MIPS32R6 0
#define HAVE_MIPS64R6 0
@ -115,6 +116,7 @@
#define HAVE_I686_EXTERNAL 0
#define HAVE_MIPSFPU_EXTERNAL 0
#define HAVE_MIPS32R2_EXTERNAL 0
#define HAVE_MIPS32R5_EXTERNAL 0
#define HAVE_MIPS64R2_EXTERNAL 0
#define HAVE_MIPS32R6_EXTERNAL 0
#define HAVE_MIPS64R6_EXTERNAL 0
@ -158,6 +160,7 @@
#define HAVE_I686_INLINE 0
#define HAVE_MIPSFPU_INLINE 0
#define HAVE_MIPS32R2_INLINE 0
#define HAVE_MIPS32R5_INLINE 0
#define HAVE_MIPS64R2_INLINE 0
#define HAVE_MIPS32R6_INLINE 0
#define HAVE_MIPS64R6_INLINE 0
@ -185,6 +188,7 @@
#define HAVE_MM_EMPTY 0
#define HAVE_RDTSC 0
#define HAVE_SARESTART 1
#define HAVE_SEM_TIMEDWAIT 1
#define HAVE_SYNC_VAL_COMPARE_AND_SWAP 1
#define HAVE_CABS 1
#define HAVE_CEXP 1
@ -200,6 +204,7 @@
#define HAVE_ASM_TYPES_H 1
#define HAVE_CDIO_PARANOIA_H 0
#define HAVE_CDIO_PARANOIA_PARANOIA_H 0
#define HAVE_DISPATCH_DISPATCH_H 0
#define HAVE_DEV_BKTR_IOCTL_BT848_H 0
#define HAVE_DEV_BKTR_IOCTL_METEOR_H 0
#define HAVE_DEV_IC_BT8XX_H 0
@ -313,7 +318,6 @@
#define HAVE_SLEEP 0
#define HAVE_STRERROR_R 1
#define HAVE_SYSCONF 1
#define HAVE_SYSCTL 0
#define HAVE_USLEEP 1
#define HAVE_UTGETOSTYPEFROMSTRING 0
#define HAVE_VIRTUALALLOC 0
@ -348,6 +352,7 @@
#define HAVE_STRUCT_GROUP_SOURCE_REQ 1
#define HAVE_STRUCT_IP_MREQ_SOURCE 1
#define HAVE_STRUCT_IPV6_MREQ 1
#define HAVE_STRUCT_MSGHDR_MSG_FLAGS 1
#define HAVE_STRUCT_POLLFD 1
#define HAVE_STRUCT_RUSAGE_RU_MAXRSS 1
#define HAVE_STRUCT_SCTP_EVENT_SUBSCRIBE 0
@ -365,12 +370,14 @@
#define HAVE_LIBDC1394_2 0
#define HAVE_MAKEINFO 0
#define HAVE_MAKEINFO_HTML 0
#define HAVE_MMAL_PARAMETER_VIDEO_MAX_NUM_CALLBACKS 0
#define HAVE_PERL 1
#define HAVE_POD2MAN 1
#define HAVE_SDL 0
#define HAVE_SECTION_DATA_REL_RO 1
#define HAVE_TEXI2HTML 0
#define HAVE_THREADS 1
#define HAVE_VAAPI_DRM 0
#define HAVE_VAAPI_X11 0
#define HAVE_VDPAU_X11 0
#define HAVE_WINRT 0
@ -417,6 +424,7 @@
#define CONFIG_GMP 0
#define CONFIG_GNUTLS 0
#define CONFIG_ICONV 0
#define CONFIG_JNI 0
#define CONFIG_LADSPA 0
#define CONFIG_LIBASS 0
#define CONFIG_LIBBLURAY 0
@ -425,7 +433,7 @@
#define CONFIG_LIBCDIO 0
#define CONFIG_LIBCELT 0
#define CONFIG_LIBDC1394 0
#define CONFIG_LIBDCADEC 0
#define CONFIG_LIBEBUR128 0
#define CONFIG_LIBFAAC 0
#define CONFIG_LIBFDK_AAC 0
#define CONFIG_LIBFLITE 0
@ -437,7 +445,6 @@
#define CONFIG_LIBIEC61883 0
#define CONFIG_LIBILBC 0
#define CONFIG_LIBKVAZAAR 0
#define CONFIG_LIBMFX 0
#define CONFIG_LIBMODPLUG 0
#define CONFIG_LIBMP3LAME 0
#define CONFIG_LIBNUT 0
@ -460,7 +467,6 @@
#define CONFIG_LIBTESSERACT 0
#define CONFIG_LIBTHEORA 0
#define CONFIG_LIBTWOLAME 0
#define CONFIG_LIBUTVIDEO 0
#define CONFIG_LIBV4L2 0
#define CONFIG_LIBVIDSTAB 0
#define CONFIG_LIBVO_AMRWBENC 0
@ -480,9 +486,8 @@
#define CONFIG_LIBZMQ 0
#define CONFIG_LIBZVBI 0
#define CONFIG_LZMA 0
#define CONFIG_MMAL 0
#define CONFIG_MEDIACODEC 0
#define CONFIG_NETCDF 0
#define CONFIG_NVENC 0
#define CONFIG_OPENAL 0
#define CONFIG_OPENCL 0
#define CONFIG_OPENGL 0
@ -493,22 +498,31 @@
#define CONFIG_X11GRAB 0
#define CONFIG_XLIB 0
#define CONFIG_ZLIB 0
#define CONFIG_AUDIOTOOLBOX 0
#define CONFIG_CUDA 0
#define CONFIG_CUVID 0
#define CONFIG_D3D11VA 0
#define CONFIG_DXVA2 0
#define CONFIG_LIBMFX 0
#define CONFIG_LIBNPP 0
#define CONFIG_MMAL 0
#define CONFIG_NVENC 0
#define CONFIG_OMX 0
#define CONFIG_VAAPI 0
#define CONFIG_VDA 0
#define CONFIG_VDPAU 0
#define CONFIG_VIDEOTOOLBOX_HWACCEL 0
#define CONFIG_XVMC 0
#define CONFIG_FTRAPV 0
#define CONFIG_GRAY 0
#define CONFIG_HARDCODED_TABLES 0
#define CONFIG_OMX_RPI 0
#define CONFIG_RUNTIME_CPUDETECT 1
#define CONFIG_SAFE_BITSTREAM_READER 1
#define CONFIG_SHARED 1
#define CONFIG_SMALL 0
#define CONFIG_STATIC 0
#define CONFIG_SWSCALE_ALPHA 1
#define CONFIG_D3D11VA 0
#define CONFIG_DXVA2 0
#define CONFIG_VAAPI 0
#define CONFIG_VDA 0
#define CONFIG_VDPAU 0
#define CONFIG_VIDEOTOOLBOX 0
#define CONFIG_XVMC 0
#define CONFIG_GPL 0
#define CONFIG_NONFREE 0
#define CONFIG_VERSION3 0
@ -580,6 +594,7 @@
#define CONFIG_IIRFILTER 0
#define CONFIG_IMDCT15 0
#define CONFIG_INTRAX8 0
#define CONFIG_ISO_MEDIA 0
#define CONFIG_IVIDSP 0
#define CONFIG_JPEGTABLES 0
#define CONFIG_LGPLV3 0
@ -608,19 +623,24 @@
#define CONFIG_RV34DSP 0
#define CONFIG_SINEWIN 0
#define CONFIG_SNAPPY 0
#define CONFIG_SRTP 0
#define CONFIG_STARTCODE 0
#define CONFIG_TEXTUREDSP 0
#define CONFIG_TEXTUREDSPENC 0
#define CONFIG_TPELDSP 0
#define CONFIG_VAAPI_ENCODE 0
#define CONFIG_VC1DSP 0
#define CONFIG_VIDEODSP 1
#define CONFIG_VP3DSP 0
#define CONFIG_VP56DSP 0
#define CONFIG_VP8DSP 1
#define CONFIG_VT_BT2020 0
#define CONFIG_WMA_FREQS 0
#define CONFIG_WMV2DSP 0
#define CONFIG_AAC_ADTSTOASC_BSF 0
#define CONFIG_CHOMP_BSF 0
#define CONFIG_DUMP_EXTRADATA_BSF 0
#define CONFIG_DCA_CORE_BSF 0
#define CONFIG_H264_MP4TOANNEXB_BSF 0
#define CONFIG_HEVC_MP4TOANNEXB_BSF 0
#define CONFIG_IMX_DUMP_HEADER_BSF 0
@ -632,6 +652,7 @@
#define CONFIG_NOISE_BSF 0
#define CONFIG_REMOVE_EXTRADATA_BSF 0
#define CONFIG_TEXT2MOVSUB_BSF 0
#define CONFIG_VP9_SUPERFRAME_BSF 0
#define CONFIG_AASC_DECODER 0
#define CONFIG_AIC_DECODER 0
#define CONFIG_ALIAS_PIX_DECODER 0
@ -706,6 +727,7 @@
#define CONFIG_H263P_DECODER 0
#define CONFIG_H264_DECODER 0
#define CONFIG_H264_CRYSTALHD_DECODER 0
#define CONFIG_H264_MEDIACODEC_DECODER 0
#define CONFIG_H264_MMAL_DECODER 0
#define CONFIG_H264_QSV_DECODER 0
#define CONFIG_H264_VDA_DECODER 0
@ -731,6 +753,8 @@
#define CONFIG_KMVC_DECODER 0
#define CONFIG_LAGARITH_DECODER 0
#define CONFIG_LOCO_DECODER 0
#define CONFIG_M101_DECODER 0
#define CONFIG_MAGICYUV_DECODER 0
#define CONFIG_MDEC_DECODER 0
#define CONFIG_MIMIC_DECODER 0
#define CONFIG_MJPEG_DECODER 0
@ -797,6 +821,7 @@
#define CONFIG_SDX2_DPCM_DECODER 0
#define CONFIG_SGI_DECODER 0
#define CONFIG_SGIRLE_DECODER 0
#define CONFIG_SHEERVIDEO_DECODER 0
#define CONFIG_SMACKER_DECODER 0
#define CONFIG_SMC_DECODER 0
#define CONFIG_SMVJPEG_DECODER 0
@ -815,6 +840,7 @@
#define CONFIG_TMV_DECODER 0
#define CONFIG_TRUEMOTION1_DECODER 0
#define CONFIG_TRUEMOTION2_DECODER 0
#define CONFIG_TRUEMOTION2RT_DECODER 0
#define CONFIG_TSCC_DECODER 0
#define CONFIG_TSCC2_DECODER 0
#define CONFIG_TXD_DECODER 0
@ -860,6 +886,7 @@
#define CONFIG_XL_DECODER 0
#define CONFIG_XWD_DECODER 0
#define CONFIG_Y41P_DECODER 0
#define CONFIG_YLC_DECODER 0
#define CONFIG_YOP_DECODER 0
#define CONFIG_YUV4_DECODER 0
#define CONFIG_ZERO12V_DECODER 0
@ -890,6 +917,7 @@
#define CONFIG_DSD_MSBF_PLANAR_DECODER 0
#define CONFIG_DSICINAUDIO_DECODER 0
#define CONFIG_DSS_SP_DECODER 0
#define CONFIG_DST_DECODER 0
#define CONFIG_EAC3_DECODER 0
#define CONFIG_EVRC_DECODER 0
#define CONFIG_FFWAVESYNTH_DECODER 0
@ -997,6 +1025,7 @@
#define CONFIG_ADPCM_G726LE_DECODER 0
#define CONFIG_ADPCM_IMA_AMV_DECODER 0
#define CONFIG_ADPCM_IMA_APC_DECODER 0
#define CONFIG_ADPCM_IMA_DAT4_DECODER 0
#define CONFIG_ADPCM_IMA_DK3_DECODER 0
#define CONFIG_ADPCM_IMA_DK4_DECODER 0
#define CONFIG_ADPCM_IMA_EA_EACS_DECODER 0
@ -1009,6 +1038,7 @@
#define CONFIG_ADPCM_IMA_WAV_DECODER 0
#define CONFIG_ADPCM_IMA_WS_DECODER 0
#define CONFIG_ADPCM_MS_DECODER 0
#define CONFIG_ADPCM_MTAF_DECODER 0
#define CONFIG_ADPCM_PSX_DECODER 0
#define CONFIG_ADPCM_SBPRO_2_DECODER 0
#define CONFIG_ADPCM_SBPRO_3_DECODER 0
@ -1041,8 +1071,22 @@
#define CONFIG_VPLAYER_DECODER 0
#define CONFIG_WEBVTT_DECODER 0
#define CONFIG_XSUB_DECODER 0
#define CONFIG_AAC_AT_DECODER 0
#define CONFIG_AC3_AT_DECODER 0
#define CONFIG_ADPCM_IMA_QT_AT_DECODER 0
#define CONFIG_ALAC_AT_DECODER 0
#define CONFIG_AMR_NB_AT_DECODER 0
#define CONFIG_EAC3_AT_DECODER 0
#define CONFIG_GSM_MS_AT_DECODER 0
#define CONFIG_ILBC_AT_DECODER 0
#define CONFIG_MP1_AT_DECODER 0
#define CONFIG_MP2_AT_DECODER 0
#define CONFIG_MP3_AT_DECODER 0
#define CONFIG_PCM_ALAW_AT_DECODER 0
#define CONFIG_PCM_MULAW_AT_DECODER 0
#define CONFIG_QDMC_AT_DECODER 0
#define CONFIG_QDM2_AT_DECODER 0
#define CONFIG_LIBCELT_DECODER 0
#define CONFIG_LIBDCADEC_DECODER 0
#define CONFIG_LIBFDK_AAC_DECODER 0
#define CONFIG_LIBGSM_DECODER 0
#define CONFIG_LIBGSM_MS_DECODER 0
@ -1053,7 +1097,6 @@
#define CONFIG_LIBOPUS_DECODER 0
#define CONFIG_LIBSCHROEDINGER_DECODER 0
#define CONFIG_LIBSPEEX_DECODER 0
#define CONFIG_LIBUTVIDEO_DECODER 0
#define CONFIG_LIBVORBIS_DECODER 0
#define CONFIG_LIBVPX_VP8_DECODER 0
#define CONFIG_LIBVPX_VP9_DECODER 0
@ -1061,6 +1104,11 @@
#define CONFIG_BINTEXT_DECODER 0
#define CONFIG_XBIN_DECODER 0
#define CONFIG_IDF_DECODER 0
#define CONFIG_H264_CUVID_DECODER 0
#define CONFIG_HEVC_CUVID_DECODER 0
#define CONFIG_VC1_CUVID_DECODER 0
#define CONFIG_VP8_CUVID_DECODER 0
#define CONFIG_VP9_CUVID_DECODER 0
#define CONFIG_AA_DEMUXER 0
#define CONFIG_AAC_DEMUXER 0
#define CONFIG_AC3_DEMUXER 0
@ -1073,6 +1121,7 @@
#define CONFIG_AEA_DEMUXER 0
#define CONFIG_AFC_DEMUXER 0
#define CONFIG_AIFF_DEMUXER 0
#define CONFIG_AIX_DEMUXER 0
#define CONFIG_AMR_DEMUXER 0
#define CONFIG_ANM_DEMUXER 0
#define CONFIG_APC_DEMUXER 0
@ -1117,6 +1166,7 @@
#define CONFIG_DTSHD_DEMUXER 0
#define CONFIG_DV_DEMUXER 0
#define CONFIG_DVBSUB_DEMUXER 0
#define CONFIG_DVBTXT_DEMUXER 0
#define CONFIG_DXA_DEMUXER 0
#define CONFIG_EA_DEMUXER 0
#define CONFIG_EA_CDATA_DEMUXER 0
@ -1190,7 +1240,9 @@
#define CONFIG_MPSUB_DEMUXER 0
#define CONFIG_MSF_DEMUXER 0
#define CONFIG_MSNWC_TCP_DEMUXER 0
#define CONFIG_MTAF_DEMUXER 0
#define CONFIG_MTV_DEMUXER 0
#define CONFIG_MUSX_DEMUXER 0
#define CONFIG_MV_DEMUXER 0
#define CONFIG_MVI_DEMUXER 0
#define CONFIG_MXF_DEMUXER 0
@ -1291,6 +1343,7 @@
#define CONFIG_WEBM_DASH_MANIFEST_DEMUXER 0
#define CONFIG_WEBVTT_DEMUXER 0
#define CONFIG_WSAUD_DEMUXER 0
#define CONFIG_WSD_DEMUXER 0
#define CONFIG_WSVQA_DEMUXER 0
#define CONFIG_WTV_DEMUXER 0
#define CONFIG_WVE_DEMUXER 0
@ -1309,8 +1362,14 @@
#define CONFIG_IMAGE_J2K_PIPE_DEMUXER 0
#define CONFIG_IMAGE_JPEG_PIPE_DEMUXER 0
#define CONFIG_IMAGE_JPEGLS_PIPE_DEMUXER 0
#define CONFIG_IMAGE_PAM_PIPE_DEMUXER 0
#define CONFIG_IMAGE_PBM_PIPE_DEMUXER 0
#define CONFIG_IMAGE_PCX_PIPE_DEMUXER 0
#define CONFIG_IMAGE_PGMYUV_PIPE_DEMUXER 0
#define CONFIG_IMAGE_PGM_PIPE_DEMUXER 0
#define CONFIG_IMAGE_PICTOR_PIPE_DEMUXER 0
#define CONFIG_IMAGE_PNG_PIPE_DEMUXER 0
#define CONFIG_IMAGE_PPM_PIPE_DEMUXER 0
#define CONFIG_IMAGE_QDRAW_PIPE_DEMUXER 0
#define CONFIG_IMAGE_SGI_PIPE_DEMUXER 0
#define CONFIG_IMAGE_SUNRAST_PIPE_DEMUXER 0
@ -1461,6 +1520,11 @@
#define CONFIG_TEXT_ENCODER 0
#define CONFIG_WEBVTT_ENCODER 0
#define CONFIG_XSUB_ENCODER 0
#define CONFIG_AAC_AT_ENCODER 0
#define CONFIG_ALAC_AT_ENCODER 0
#define CONFIG_ILBC_AT_ENCODER 0
#define CONFIG_PCM_ALAW_AT_ENCODER 0
#define CONFIG_PCM_MULAW_AT_ENCODER 0
#define CONFIG_LIBFAAC_ENCODER 0
#define CONFIG_LIBFDK_AAC_ENCODER 0
#define CONFIG_LIBGSM_ENCODER 0
@ -1475,7 +1539,6 @@
#define CONFIG_LIBSPEEX_ENCODER 0
#define CONFIG_LIBTHEORA_ENCODER 0
#define CONFIG_LIBTWOLAME_ENCODER 0
#define CONFIG_LIBUTVIDEO_ENCODER 0
#define CONFIG_LIBVO_AMRWBENC_ENCODER 0
#define CONFIG_LIBVORBIS_ENCODER 0
#define CONFIG_LIBVPX_VP8_ENCODER 0
@ -1490,13 +1553,21 @@
#define CONFIG_LIBXAVS_ENCODER 0
#define CONFIG_LIBXVID_ENCODER 0
#define CONFIG_LIBOPENH264_ENCODER 0
#define CONFIG_H264_NVENC_ENCODER 0
#define CONFIG_H264_OMX_ENCODER 0
#define CONFIG_H264_QSV_ENCODER 0
#define CONFIG_H264_VAAPI_ENCODER 0
#define CONFIG_H264_VIDEOTOOLBOX_ENCODER 0
#define CONFIG_NVENC_ENCODER 0
#define CONFIG_NVENC_H264_ENCODER 0
#define CONFIG_NVENC_HEVC_ENCODER 0
#define CONFIG_HEVC_NVENC_ENCODER 0
#define CONFIG_HEVC_QSV_ENCODER 0
#define CONFIG_HEVC_VAAPI_ENCODER 0
#define CONFIG_LIBKVAZAAR_ENCODER 0
#define CONFIG_MJPEG_VAAPI_ENCODER 0
#define CONFIG_MPEG2_QSV_ENCODER 0
#define CONFIG_ABENCH_FILTER 0
#define CONFIG_ACOMPRESSOR_FILTER 0
#define CONFIG_ACROSSFADE_FILTER 0
#define CONFIG_ADELAY_FILTER 0
@ -1510,6 +1581,7 @@
#define CONFIG_AINTERLEAVE_FILTER 0
#define CONFIG_ALIMITER_FILTER 0
#define CONFIG_ALLPASS_FILTER 0
#define CONFIG_ALOOP_FILTER 0
#define CONFIG_AMERGE_FILTER 0
#define CONFIG_AMETADATA_FILTER 0
#define CONFIG_AMIX_FILTER 0
@ -1552,10 +1624,13 @@
#define CONFIG_EBUR128_FILTER 0
#define CONFIG_EQUALIZER_FILTER 0
#define CONFIG_EXTRASTEREO_FILTER 0
#define CONFIG_FIREQUALIZER_FILTER 0
#define CONFIG_FLANGER_FILTER 0
#define CONFIG_HDCD_FILTER 0
#define CONFIG_HIGHPASS_FILTER 0
#define CONFIG_JOIN_FILTER 0
#define CONFIG_LADSPA_FILTER 0
#define CONFIG_LOUDNORM_FILTER 0
#define CONFIG_LOWPASS_FILTER 0
#define CONFIG_PAN_FILTER 0
#define CONFIG_REPLAYGAIN_FILTER 0
@ -1583,24 +1658,30 @@
#define CONFIG_ALPHAMERGE_FILTER 0
#define CONFIG_ATADENOISE_FILTER 0
#define CONFIG_ASS_FILTER 0
#define CONFIG_BENCH_FILTER 0
#define CONFIG_BBOX_FILTER 0
#define CONFIG_BLACKDETECT_FILTER 0
#define CONFIG_BLACKFRAME_FILTER 0
#define CONFIG_BLEND_FILTER 0
#define CONFIG_BOXBLUR_FILTER 0
#define CONFIG_BWDIF_FILTER 0
#define CONFIG_CHROMAKEY_FILTER 0
#define CONFIG_CIESCOPE_FILTER 0
#define CONFIG_CODECVIEW_FILTER 0
#define CONFIG_COLORBALANCE_FILTER 0
#define CONFIG_COLORCHANNELMIXER_FILTER 0
#define CONFIG_COLORKEY_FILTER 0
#define CONFIG_COLORLEVELS_FILTER 0
#define CONFIG_COLORMATRIX_FILTER 0
#define CONFIG_COLORSPACE_FILTER 0
#define CONFIG_CONVOLUTION_FILTER 0
#define CONFIG_COPY_FILTER 0
#define CONFIG_COREIMAGE_FILTER 0
#define CONFIG_COVER_RECT_FILTER 0
#define CONFIG_CROP_FILTER 0
#define CONFIG_CROPDETECT_FILTER 0
#define CONFIG_CURVES_FILTER 0
#define CONFIG_DATASCOPE_FILTER 0
#define CONFIG_DCTDNOIZ_FILTER 0
#define CONFIG_DEBAND_FILTER 0
#define CONFIG_DECIMATE_FILTER 0
@ -1623,6 +1704,7 @@
#define CONFIG_FADE_FILTER 0
#define CONFIG_FFTFILT_FILTER 0
#define CONFIG_FIELD_FILTER 0
#define CONFIG_FIELDHINT_FILTER 0
#define CONFIG_FIELDMATCH_FILTER 0
#define CONFIG_FIELDORDER_FILTER 0
#define CONFIG_FIND_RECT_FILTER 0
@ -1641,6 +1723,9 @@
#define CONFIG_HISTOGRAM_FILTER 0
#define CONFIG_HQDN3D_FILTER 0
#define CONFIG_HQX_FILTER 0
#define CONFIG_HWDOWNLOAD_FILTER 0
#define CONFIG_HWUPLOAD_FILTER 0
#define CONFIG_HWUPLOAD_CUDA_FILTER 0
#define CONFIG_HSTACK_FILTER 0
#define CONFIG_HUE_FILTER 0
#define CONFIG_IDET_FILTER 0
@ -1650,6 +1735,7 @@
#define CONFIG_INTERLEAVE_FILTER 0
#define CONFIG_KERNDEINT_FILTER 0
#define CONFIG_LENSCORRECTION_FILTER 0
#define CONFIG_LOOP_FILTER 0
#define CONFIG_LUT3D_FILTER 0
#define CONFIG_LUT_FILTER 0
#define CONFIG_LUTRGB_FILTER 0
@ -1681,7 +1767,9 @@
#define CONFIG_PULLUP_FILTER 0
#define CONFIG_QP_FILTER 0
#define CONFIG_RANDOM_FILTER 0
#define CONFIG_READVITC_FILTER 0
#define CONFIG_REALTIME_FILTER 0
#define CONFIG_REMAP_FILTER 0
#define CONFIG_REMOVEGRAIN_FILTER 0
#define CONFIG_REMOVELOGO_FILTER 0
#define CONFIG_REPEATFIELDS_FILTER 0
@ -1690,6 +1778,8 @@
#define CONFIG_SAB_FILTER 0
#define CONFIG_SCALE_FILTER 0
#define CONFIG_SCALE2REF_FILTER 0
#define CONFIG_SCALE_NPP_FILTER 0
#define CONFIG_SCALE_VAAPI_FILTER 0
#define CONFIG_SELECT_FILTER 0
#define CONFIG_SELECTIVECOLOR_FILTER 0
#define CONFIG_SENDCMD_FILTER 0
@ -1740,6 +1830,7 @@
#define CONFIG_ALLYUV_FILTER 0
#define CONFIG_CELLAUTO_FILTER 0
#define CONFIG_COLOR_FILTER 0
#define CONFIG_COREIMAGESRC_FILTER 0
#define CONFIG_FREI0R_SRC_FILTER 0
#define CONFIG_HALDCLUTSRC_FILTER 0
#define CONFIG_LIFE_FILTER 0
@ -1769,6 +1860,7 @@
#define CONFIG_MOVIE_FILTER 0
#define CONFIG_H263_VAAPI_HWACCEL 0
#define CONFIG_H263_VIDEOTOOLBOX_HWACCEL 0
#define CONFIG_H264_CUVID_HWACCEL 0
#define CONFIG_H264_D3D11VA_HWACCEL 0
#define CONFIG_H264_DXVA2_HWACCEL 0
#define CONFIG_H264_MMAL_HWACCEL 0
@ -1778,6 +1870,7 @@
#define CONFIG_H264_VDA_OLD_HWACCEL 0
#define CONFIG_H264_VDPAU_HWACCEL 0
#define CONFIG_H264_VIDEOTOOLBOX_HWACCEL 0
#define CONFIG_HEVC_CUVID_HWACCEL 0
#define CONFIG_HEVC_D3D11VA_HWACCEL 0
#define CONFIG_HEVC_DXVA2_HWACCEL 0
#define CONFIG_HEVC_QSV_HWACCEL 0
@ -1798,12 +1891,15 @@
#define CONFIG_MPEG4_VAAPI_HWACCEL 0
#define CONFIG_MPEG4_VDPAU_HWACCEL 0
#define CONFIG_MPEG4_VIDEOTOOLBOX_HWACCEL 0
#define CONFIG_VC1_CUVID_HWACCEL 0
#define CONFIG_VC1_D3D11VA_HWACCEL 0
#define CONFIG_VC1_DXVA2_HWACCEL 0
#define CONFIG_VC1_VAAPI_HWACCEL 0
#define CONFIG_VC1_VDPAU_HWACCEL 0
#define CONFIG_VC1_MMAL_HWACCEL 0
#define CONFIG_VC1_QSV_HWACCEL 0
#define CONFIG_VP8_CUVID_HWACCEL 0
#define CONFIG_VP9_CUVID_HWACCEL 0
#define CONFIG_VP9_D3D11VA_HWACCEL 0
#define CONFIG_VP9_DXVA2_HWACCEL 0
#define CONFIG_VP9_VAAPI_HWACCEL 0
@ -1866,14 +1962,17 @@
#define CONFIG_FLAC_MUXER 0
#define CONFIG_FLV_MUXER 0
#define CONFIG_FRAMECRC_MUXER 0
#define CONFIG_FRAMEHASH_MUXER 0
#define CONFIG_FRAMEMD5_MUXER 0
#define CONFIG_G722_MUXER 0
#define CONFIG_G723_1_MUXER 0
#define CONFIG_GIF_MUXER 0
#define CONFIG_GSM_MUXER 0
#define CONFIG_GXF_MUXER 0
#define CONFIG_H261_MUXER 0
#define CONFIG_H263_MUXER 0
#define CONFIG_H264_MUXER 0
#define CONFIG_HASH_MUXER 0
#define CONFIG_HDS_MUXER 0
#define CONFIG_HEVC_MUXER 0
#define CONFIG_HLS_MUXER 0
@ -2058,9 +2157,9 @@
#define CONFIG_SRTP_PROTOCOL 0
#define CONFIG_SUBFILE_PROTOCOL 0
#define CONFIG_TCP_PROTOCOL 0
#define CONFIG_TLS_GNUTLS_PROTOCOL 0
#define CONFIG_TLS_SCHANNEL_PROTOCOL 0
#define CONFIG_TLS_SECURETRANSPORT_PROTOCOL 0
#define CONFIG_TLS_GNUTLS_PROTOCOL 0
#define CONFIG_TLS_OPENSSL_PROTOCOL 0
#define CONFIG_UDP_PROTOCOL 0
#define CONFIG_UDPLITE_PROTOCOL 0

Просмотреть файл

@ -56,6 +56,7 @@
%define HAVE_I686 1
%define HAVE_MIPSFPU 0
%define HAVE_MIPS32R2 0
%define HAVE_MIPS32R5 0
%define HAVE_MIPS64R2 0
%define HAVE_MIPS32R6 0
%define HAVE_MIPS64R6 0
@ -99,6 +100,7 @@
%define HAVE_I686_EXTERNAL 0
%define HAVE_MIPSFPU_EXTERNAL 0
%define HAVE_MIPS32R2_EXTERNAL 0
%define HAVE_MIPS32R5_EXTERNAL 0
%define HAVE_MIPS64R2_EXTERNAL 0
%define HAVE_MIPS32R6_EXTERNAL 0
%define HAVE_MIPS64R6_EXTERNAL 0
@ -142,6 +144,7 @@
%define HAVE_I686_INLINE 0
%define HAVE_MIPSFPU_INLINE 0
%define HAVE_MIPS32R2_INLINE 0
%define HAVE_MIPS32R5_INLINE 0
%define HAVE_MIPS64R2_INLINE 0
%define HAVE_MIPS32R6_INLINE 0
%define HAVE_MIPS64R6_INLINE 0
@ -169,6 +172,7 @@
%define HAVE_MM_EMPTY 1
%define HAVE_RDTSC 0
%define HAVE_SARESTART 1
%define HAVE_SEM_TIMEDWAIT 1
%define HAVE_SYNC_VAL_COMPARE_AND_SWAP 1
%define HAVE_CABS 1
%define HAVE_CEXP 1
@ -184,6 +188,7 @@
%define HAVE_ASM_TYPES_H 1
%define HAVE_CDIO_PARANOIA_H 0
%define HAVE_CDIO_PARANOIA_PARANOIA_H 0
%define HAVE_DISPATCH_DISPATCH_H 0
%define HAVE_DEV_BKTR_IOCTL_BT848_H 0
%define HAVE_DEV_BKTR_IOCTL_METEOR_H 0
%define HAVE_DEV_IC_BT8XX_H 0
@ -332,6 +337,7 @@
%define HAVE_STRUCT_GROUP_SOURCE_REQ 1
%define HAVE_STRUCT_IP_MREQ_SOURCE 1
%define HAVE_STRUCT_IPV6_MREQ 1
%define HAVE_STRUCT_MSGHDR_MSG_FLAGS 1
%define HAVE_STRUCT_POLLFD 1
%define HAVE_STRUCT_RUSAGE_RU_MAXRSS 1
%define HAVE_STRUCT_SCTP_EVENT_SUBSCRIBE 0
@ -349,16 +355,18 @@
%define HAVE_LIBDC1394_2 0
%define HAVE_MAKEINFO 0
%define HAVE_MAKEINFO_HTML 0
%define HAVE_MMAL_PARAMETER_VIDEO_MAX_NUM_CALLBACKS 0
%define HAVE_PERL 1
%define HAVE_POD2MAN 1
%define HAVE_SDL 0
%define HAVE_SECTION_DATA_REL_RO 1
%define HAVE_TEXI2HTML 0
%define HAVE_THREADS 1
%define HAVE_VAAPI_DRM 0
%define HAVE_VAAPI_X11 0
%define HAVE_VDPAU_X11 0
%define HAVE_WINRT 0
%define HAVE_XLIB 1
%define HAVE_XLIB 0
%define CONFIG_BSFS 0
%define CONFIG_DECODERS 1
%define CONFIG_ENCODERS 0
@ -401,6 +409,7 @@
%define CONFIG_GMP 0
%define CONFIG_GNUTLS 0
%define CONFIG_ICONV 0
%define CONFIG_JNI 0
%define CONFIG_LADSPA 0
%define CONFIG_LIBASS 0
%define CONFIG_LIBBLURAY 0
@ -409,7 +418,7 @@
%define CONFIG_LIBCDIO 0
%define CONFIG_LIBCELT 0
%define CONFIG_LIBDC1394 0
%define CONFIG_LIBDCADEC 0
%define CONFIG_LIBEBUR128 0
%define CONFIG_LIBFAAC 0
%define CONFIG_LIBFDK_AAC 0
%define CONFIG_LIBFLITE 0
@ -421,7 +430,6 @@
%define CONFIG_LIBIEC61883 0
%define CONFIG_LIBILBC 0
%define CONFIG_LIBKVAZAAR 0
%define CONFIG_LIBMFX 0
%define CONFIG_LIBMODPLUG 0
%define CONFIG_LIBMP3LAME 0
%define CONFIG_LIBNUT 0
@ -444,7 +452,6 @@
%define CONFIG_LIBTESSERACT 0
%define CONFIG_LIBTHEORA 0
%define CONFIG_LIBTWOLAME 0
%define CONFIG_LIBUTVIDEO 0
%define CONFIG_LIBV4L2 0
%define CONFIG_LIBVIDSTAB 0
%define CONFIG_LIBVO_AMRWBENC 0
@ -464,9 +471,8 @@
%define CONFIG_LIBZMQ 0
%define CONFIG_LIBZVBI 0
%define CONFIG_LZMA 0
%define CONFIG_MMAL 0
%define CONFIG_MEDIACODEC 0
%define CONFIG_NETCDF 0
%define CONFIG_NVENC 0
%define CONFIG_OPENAL 0
%define CONFIG_OPENCL 0
%define CONFIG_OPENGL 0
@ -474,25 +480,35 @@
%define CONFIG_SCHANNEL 0
%define CONFIG_SDL 0
%define CONFIG_SECURETRANSPORT 0
%define CONFIG_VIDEOTOOLBOX 0
%define CONFIG_X11GRAB 0
%define CONFIG_XLIB 1
%define CONFIG_XLIB 0
%define CONFIG_ZLIB 0
%define CONFIG_AUDIOTOOLBOX 0
%define CONFIG_CUDA 0
%define CONFIG_CUVID 0
%define CONFIG_D3D11VA 0
%define CONFIG_DXVA2 0
%define CONFIG_LIBMFX 0
%define CONFIG_LIBNPP 0
%define CONFIG_MMAL 0
%define CONFIG_NVENC 0
%define CONFIG_OMX 0
%define CONFIG_VAAPI 0
%define CONFIG_VDA 0
%define CONFIG_VDPAU 0
%define CONFIG_VIDEOTOOLBOX_HWACCEL 0
%define CONFIG_XVMC 0
%define CONFIG_FTRAPV 0
%define CONFIG_GRAY 0
%define CONFIG_HARDCODED_TABLES 0
%define CONFIG_OMX_RPI 0
%define CONFIG_RUNTIME_CPUDETECT 1
%define CONFIG_SAFE_BITSTREAM_READER 1
%define CONFIG_SHARED 1
%define CONFIG_SMALL 0
%define CONFIG_STATIC 0
%define CONFIG_SWSCALE_ALPHA 1
%define CONFIG_D3D11VA 0
%define CONFIG_DXVA2 0
%define CONFIG_VAAPI 0
%define CONFIG_VDA 0
%define CONFIG_VDPAU 0
%define CONFIG_VIDEOTOOLBOX 0
%define CONFIG_XVMC 0
%define CONFIG_GPL 0
%define CONFIG_NONFREE 0
%define CONFIG_VERSION3 0
@ -564,6 +580,7 @@
%define CONFIG_IIRFILTER 0
%define CONFIG_IMDCT15 0
%define CONFIG_INTRAX8 0
%define CONFIG_ISO_MEDIA 0
%define CONFIG_IVIDSP 0
%define CONFIG_JPEGTABLES 0
%define CONFIG_LGPLV3 0
@ -592,19 +609,24 @@
%define CONFIG_RV34DSP 0
%define CONFIG_SINEWIN 0
%define CONFIG_SNAPPY 0
%define CONFIG_SRTP 0
%define CONFIG_STARTCODE 0
%define CONFIG_TEXTUREDSP 0
%define CONFIG_TEXTUREDSPENC 0
%define CONFIG_TPELDSP 0
%define CONFIG_VAAPI_ENCODE 0
%define CONFIG_VC1DSP 0
%define CONFIG_VIDEODSP 1
%define CONFIG_VP3DSP 0
%define CONFIG_VP56DSP 0
%define CONFIG_VP8DSP 1
%define CONFIG_VT_BT2020 0
%define CONFIG_WMA_FREQS 0
%define CONFIG_WMV2DSP 0
%define CONFIG_AAC_ADTSTOASC_BSF 0
%define CONFIG_CHOMP_BSF 0
%define CONFIG_DUMP_EXTRADATA_BSF 0
%define CONFIG_DCA_CORE_BSF 0
%define CONFIG_H264_MP4TOANNEXB_BSF 0
%define CONFIG_HEVC_MP4TOANNEXB_BSF 0
%define CONFIG_IMX_DUMP_HEADER_BSF 0
@ -616,6 +638,7 @@
%define CONFIG_NOISE_BSF 0
%define CONFIG_REMOVE_EXTRADATA_BSF 0
%define CONFIG_TEXT2MOVSUB_BSF 0
%define CONFIG_VP9_SUPERFRAME_BSF 0
%define CONFIG_AASC_DECODER 0
%define CONFIG_AIC_DECODER 0
%define CONFIG_ALIAS_PIX_DECODER 0
@ -690,6 +713,7 @@
%define CONFIG_H263P_DECODER 0
%define CONFIG_H264_DECODER 0
%define CONFIG_H264_CRYSTALHD_DECODER 0
%define CONFIG_H264_MEDIACODEC_DECODER 0
%define CONFIG_H264_MMAL_DECODER 0
%define CONFIG_H264_QSV_DECODER 0
%define CONFIG_H264_VDA_DECODER 0
@ -715,6 +739,8 @@
%define CONFIG_KMVC_DECODER 0
%define CONFIG_LAGARITH_DECODER 0
%define CONFIG_LOCO_DECODER 0
%define CONFIG_M101_DECODER 0
%define CONFIG_MAGICYUV_DECODER 0
%define CONFIG_MDEC_DECODER 0
%define CONFIG_MIMIC_DECODER 0
%define CONFIG_MJPEG_DECODER 0
@ -781,6 +807,7 @@
%define CONFIG_SDX2_DPCM_DECODER 0
%define CONFIG_SGI_DECODER 0
%define CONFIG_SGIRLE_DECODER 0
%define CONFIG_SHEERVIDEO_DECODER 0
%define CONFIG_SMACKER_DECODER 0
%define CONFIG_SMC_DECODER 0
%define CONFIG_SMVJPEG_DECODER 0
@ -799,6 +826,7 @@
%define CONFIG_TMV_DECODER 0
%define CONFIG_TRUEMOTION1_DECODER 0
%define CONFIG_TRUEMOTION2_DECODER 0
%define CONFIG_TRUEMOTION2RT_DECODER 0
%define CONFIG_TSCC_DECODER 0
%define CONFIG_TSCC2_DECODER 0
%define CONFIG_TXD_DECODER 0
@ -844,6 +872,7 @@
%define CONFIG_XL_DECODER 0
%define CONFIG_XWD_DECODER 0
%define CONFIG_Y41P_DECODER 0
%define CONFIG_YLC_DECODER 0
%define CONFIG_YOP_DECODER 0
%define CONFIG_YUV4_DECODER 0
%define CONFIG_ZERO12V_DECODER 0
@ -874,6 +903,7 @@
%define CONFIG_DSD_MSBF_PLANAR_DECODER 0
%define CONFIG_DSICINAUDIO_DECODER 0
%define CONFIG_DSS_SP_DECODER 0
%define CONFIG_DST_DECODER 0
%define CONFIG_EAC3_DECODER 0
%define CONFIG_EVRC_DECODER 0
%define CONFIG_FFWAVESYNTH_DECODER 0
@ -981,6 +1011,7 @@
%define CONFIG_ADPCM_G726LE_DECODER 0
%define CONFIG_ADPCM_IMA_AMV_DECODER 0
%define CONFIG_ADPCM_IMA_APC_DECODER 0
%define CONFIG_ADPCM_IMA_DAT4_DECODER 0
%define CONFIG_ADPCM_IMA_DK3_DECODER 0
%define CONFIG_ADPCM_IMA_DK4_DECODER 0
%define CONFIG_ADPCM_IMA_EA_EACS_DECODER 0
@ -993,6 +1024,7 @@
%define CONFIG_ADPCM_IMA_WAV_DECODER 0
%define CONFIG_ADPCM_IMA_WS_DECODER 0
%define CONFIG_ADPCM_MS_DECODER 0
%define CONFIG_ADPCM_MTAF_DECODER 0
%define CONFIG_ADPCM_PSX_DECODER 0
%define CONFIG_ADPCM_SBPRO_2_DECODER 0
%define CONFIG_ADPCM_SBPRO_3_DECODER 0
@ -1025,8 +1057,22 @@
%define CONFIG_VPLAYER_DECODER 0
%define CONFIG_WEBVTT_DECODER 0
%define CONFIG_XSUB_DECODER 0
%define CONFIG_AAC_AT_DECODER 0
%define CONFIG_AC3_AT_DECODER 0
%define CONFIG_ADPCM_IMA_QT_AT_DECODER 0
%define CONFIG_ALAC_AT_DECODER 0
%define CONFIG_AMR_NB_AT_DECODER 0
%define CONFIG_EAC3_AT_DECODER 0
%define CONFIG_GSM_MS_AT_DECODER 0
%define CONFIG_ILBC_AT_DECODER 0
%define CONFIG_MP1_AT_DECODER 0
%define CONFIG_MP2_AT_DECODER 0
%define CONFIG_MP3_AT_DECODER 0
%define CONFIG_PCM_ALAW_AT_DECODER 0
%define CONFIG_PCM_MULAW_AT_DECODER 0
%define CONFIG_QDMC_AT_DECODER 0
%define CONFIG_QDM2_AT_DECODER 0
%define CONFIG_LIBCELT_DECODER 0
%define CONFIG_LIBDCADEC_DECODER 0
%define CONFIG_LIBFDK_AAC_DECODER 0
%define CONFIG_LIBGSM_DECODER 0
%define CONFIG_LIBGSM_MS_DECODER 0
@ -1037,7 +1083,6 @@
%define CONFIG_LIBOPUS_DECODER 0
%define CONFIG_LIBSCHROEDINGER_DECODER 0
%define CONFIG_LIBSPEEX_DECODER 0
%define CONFIG_LIBUTVIDEO_DECODER 0
%define CONFIG_LIBVORBIS_DECODER 0
%define CONFIG_LIBVPX_VP8_DECODER 0
%define CONFIG_LIBVPX_VP9_DECODER 0
@ -1045,6 +1090,11 @@
%define CONFIG_BINTEXT_DECODER 0
%define CONFIG_XBIN_DECODER 0
%define CONFIG_IDF_DECODER 0
%define CONFIG_H264_CUVID_DECODER 0
%define CONFIG_HEVC_CUVID_DECODER 0
%define CONFIG_VC1_CUVID_DECODER 0
%define CONFIG_VP8_CUVID_DECODER 0
%define CONFIG_VP9_CUVID_DECODER 0
%define CONFIG_AA_DEMUXER 0
%define CONFIG_AAC_DEMUXER 0
%define CONFIG_AC3_DEMUXER 0
@ -1057,6 +1107,7 @@
%define CONFIG_AEA_DEMUXER 0
%define CONFIG_AFC_DEMUXER 0
%define CONFIG_AIFF_DEMUXER 0
%define CONFIG_AIX_DEMUXER 0
%define CONFIG_AMR_DEMUXER 0
%define CONFIG_ANM_DEMUXER 0
%define CONFIG_APC_DEMUXER 0
@ -1101,6 +1152,7 @@
%define CONFIG_DTSHD_DEMUXER 0
%define CONFIG_DV_DEMUXER 0
%define CONFIG_DVBSUB_DEMUXER 0
%define CONFIG_DVBTXT_DEMUXER 0
%define CONFIG_DXA_DEMUXER 0
%define CONFIG_EA_DEMUXER 0
%define CONFIG_EA_CDATA_DEMUXER 0
@ -1174,7 +1226,9 @@
%define CONFIG_MPSUB_DEMUXER 0
%define CONFIG_MSF_DEMUXER 0
%define CONFIG_MSNWC_TCP_DEMUXER 0
%define CONFIG_MTAF_DEMUXER 0
%define CONFIG_MTV_DEMUXER 0
%define CONFIG_MUSX_DEMUXER 0
%define CONFIG_MV_DEMUXER 0
%define CONFIG_MVI_DEMUXER 0
%define CONFIG_MXF_DEMUXER 0
@ -1275,6 +1329,7 @@
%define CONFIG_WEBM_DASH_MANIFEST_DEMUXER 0
%define CONFIG_WEBVTT_DEMUXER 0
%define CONFIG_WSAUD_DEMUXER 0
%define CONFIG_WSD_DEMUXER 0
%define CONFIG_WSVQA_DEMUXER 0
%define CONFIG_WTV_DEMUXER 0
%define CONFIG_WVE_DEMUXER 0
@ -1293,8 +1348,14 @@
%define CONFIG_IMAGE_J2K_PIPE_DEMUXER 0
%define CONFIG_IMAGE_JPEG_PIPE_DEMUXER 0
%define CONFIG_IMAGE_JPEGLS_PIPE_DEMUXER 0
%define CONFIG_IMAGE_PAM_PIPE_DEMUXER 0
%define CONFIG_IMAGE_PBM_PIPE_DEMUXER 0
%define CONFIG_IMAGE_PCX_PIPE_DEMUXER 0
%define CONFIG_IMAGE_PGMYUV_PIPE_DEMUXER 0
%define CONFIG_IMAGE_PGM_PIPE_DEMUXER 0
%define CONFIG_IMAGE_PICTOR_PIPE_DEMUXER 0
%define CONFIG_IMAGE_PNG_PIPE_DEMUXER 0
%define CONFIG_IMAGE_PPM_PIPE_DEMUXER 0
%define CONFIG_IMAGE_QDRAW_PIPE_DEMUXER 0
%define CONFIG_IMAGE_SGI_PIPE_DEMUXER 0
%define CONFIG_IMAGE_SUNRAST_PIPE_DEMUXER 0
@ -1445,6 +1506,11 @@
%define CONFIG_TEXT_ENCODER 0
%define CONFIG_WEBVTT_ENCODER 0
%define CONFIG_XSUB_ENCODER 0
%define CONFIG_AAC_AT_ENCODER 0
%define CONFIG_ALAC_AT_ENCODER 0
%define CONFIG_ILBC_AT_ENCODER 0
%define CONFIG_PCM_ALAW_AT_ENCODER 0
%define CONFIG_PCM_MULAW_AT_ENCODER 0
%define CONFIG_LIBFAAC_ENCODER 0
%define CONFIG_LIBFDK_AAC_ENCODER 0
%define CONFIG_LIBGSM_ENCODER 0
@ -1459,7 +1525,6 @@
%define CONFIG_LIBSPEEX_ENCODER 0
%define CONFIG_LIBTHEORA_ENCODER 0
%define CONFIG_LIBTWOLAME_ENCODER 0
%define CONFIG_LIBUTVIDEO_ENCODER 0
%define CONFIG_LIBVO_AMRWBENC_ENCODER 0
%define CONFIG_LIBVORBIS_ENCODER 0
%define CONFIG_LIBVPX_VP8_ENCODER 0
@ -1474,13 +1539,21 @@
%define CONFIG_LIBXAVS_ENCODER 0
%define CONFIG_LIBXVID_ENCODER 0
%define CONFIG_LIBOPENH264_ENCODER 0
%define CONFIG_H264_NVENC_ENCODER 0
%define CONFIG_H264_OMX_ENCODER 0
%define CONFIG_H264_QSV_ENCODER 0
%define CONFIG_H264_VAAPI_ENCODER 0
%define CONFIG_H264_VIDEOTOOLBOX_ENCODER 0
%define CONFIG_NVENC_ENCODER 0
%define CONFIG_NVENC_H264_ENCODER 0
%define CONFIG_NVENC_HEVC_ENCODER 0
%define CONFIG_HEVC_NVENC_ENCODER 0
%define CONFIG_HEVC_QSV_ENCODER 0
%define CONFIG_HEVC_VAAPI_ENCODER 0
%define CONFIG_LIBKVAZAAR_ENCODER 0
%define CONFIG_MJPEG_VAAPI_ENCODER 0
%define CONFIG_MPEG2_QSV_ENCODER 0
%define CONFIG_ABENCH_FILTER 0
%define CONFIG_ACOMPRESSOR_FILTER 0
%define CONFIG_ACROSSFADE_FILTER 0
%define CONFIG_ADELAY_FILTER 0
@ -1494,6 +1567,7 @@
%define CONFIG_AINTERLEAVE_FILTER 0
%define CONFIG_ALIMITER_FILTER 0
%define CONFIG_ALLPASS_FILTER 0
%define CONFIG_ALOOP_FILTER 0
%define CONFIG_AMERGE_FILTER 0
%define CONFIG_AMETADATA_FILTER 0
%define CONFIG_AMIX_FILTER 0
@ -1536,10 +1610,13 @@
%define CONFIG_EBUR128_FILTER 0
%define CONFIG_EQUALIZER_FILTER 0
%define CONFIG_EXTRASTEREO_FILTER 0
%define CONFIG_FIREQUALIZER_FILTER 0
%define CONFIG_FLANGER_FILTER 0
%define CONFIG_HDCD_FILTER 0
%define CONFIG_HIGHPASS_FILTER 0
%define CONFIG_JOIN_FILTER 0
%define CONFIG_LADSPA_FILTER 0
%define CONFIG_LOUDNORM_FILTER 0
%define CONFIG_LOWPASS_FILTER 0
%define CONFIG_PAN_FILTER 0
%define CONFIG_REPLAYGAIN_FILTER 0
@ -1567,24 +1644,30 @@
%define CONFIG_ALPHAMERGE_FILTER 0
%define CONFIG_ATADENOISE_FILTER 0
%define CONFIG_ASS_FILTER 0
%define CONFIG_BENCH_FILTER 0
%define CONFIG_BBOX_FILTER 0
%define CONFIG_BLACKDETECT_FILTER 0
%define CONFIG_BLACKFRAME_FILTER 0
%define CONFIG_BLEND_FILTER 0
%define CONFIG_BOXBLUR_FILTER 0
%define CONFIG_BWDIF_FILTER 0
%define CONFIG_CHROMAKEY_FILTER 0
%define CONFIG_CIESCOPE_FILTER 0
%define CONFIG_CODECVIEW_FILTER 0
%define CONFIG_COLORBALANCE_FILTER 0
%define CONFIG_COLORCHANNELMIXER_FILTER 0
%define CONFIG_COLORKEY_FILTER 0
%define CONFIG_COLORLEVELS_FILTER 0
%define CONFIG_COLORMATRIX_FILTER 0
%define CONFIG_COLORSPACE_FILTER 0
%define CONFIG_CONVOLUTION_FILTER 0
%define CONFIG_COPY_FILTER 0
%define CONFIG_COREIMAGE_FILTER 0
%define CONFIG_COVER_RECT_FILTER 0
%define CONFIG_CROP_FILTER 0
%define CONFIG_CROPDETECT_FILTER 0
%define CONFIG_CURVES_FILTER 0
%define CONFIG_DATASCOPE_FILTER 0
%define CONFIG_DCTDNOIZ_FILTER 0
%define CONFIG_DEBAND_FILTER 0
%define CONFIG_DECIMATE_FILTER 0
@ -1607,6 +1690,7 @@
%define CONFIG_FADE_FILTER 0
%define CONFIG_FFTFILT_FILTER 0
%define CONFIG_FIELD_FILTER 0
%define CONFIG_FIELDHINT_FILTER 0
%define CONFIG_FIELDMATCH_FILTER 0
%define CONFIG_FIELDORDER_FILTER 0
%define CONFIG_FIND_RECT_FILTER 0
@ -1625,6 +1709,9 @@
%define CONFIG_HISTOGRAM_FILTER 0
%define CONFIG_HQDN3D_FILTER 0
%define CONFIG_HQX_FILTER 0
%define CONFIG_HWDOWNLOAD_FILTER 0
%define CONFIG_HWUPLOAD_FILTER 0
%define CONFIG_HWUPLOAD_CUDA_FILTER 0
%define CONFIG_HSTACK_FILTER 0
%define CONFIG_HUE_FILTER 0
%define CONFIG_IDET_FILTER 0
@ -1634,6 +1721,7 @@
%define CONFIG_INTERLEAVE_FILTER 0
%define CONFIG_KERNDEINT_FILTER 0
%define CONFIG_LENSCORRECTION_FILTER 0
%define CONFIG_LOOP_FILTER 0
%define CONFIG_LUT3D_FILTER 0
%define CONFIG_LUT_FILTER 0
%define CONFIG_LUTRGB_FILTER 0
@ -1665,7 +1753,9 @@
%define CONFIG_PULLUP_FILTER 0
%define CONFIG_QP_FILTER 0
%define CONFIG_RANDOM_FILTER 0
%define CONFIG_READVITC_FILTER 0
%define CONFIG_REALTIME_FILTER 0
%define CONFIG_REMAP_FILTER 0
%define CONFIG_REMOVEGRAIN_FILTER 0
%define CONFIG_REMOVELOGO_FILTER 0
%define CONFIG_REPEATFIELDS_FILTER 0
@ -1674,6 +1764,8 @@
%define CONFIG_SAB_FILTER 0
%define CONFIG_SCALE_FILTER 0
%define CONFIG_SCALE2REF_FILTER 0
%define CONFIG_SCALE_NPP_FILTER 0
%define CONFIG_SCALE_VAAPI_FILTER 0
%define CONFIG_SELECT_FILTER 0
%define CONFIG_SELECTIVECOLOR_FILTER 0
%define CONFIG_SENDCMD_FILTER 0
@ -1724,6 +1816,7 @@
%define CONFIG_ALLYUV_FILTER 0
%define CONFIG_CELLAUTO_FILTER 0
%define CONFIG_COLOR_FILTER 0
%define CONFIG_COREIMAGESRC_FILTER 0
%define CONFIG_FREI0R_SRC_FILTER 0
%define CONFIG_HALDCLUTSRC_FILTER 0
%define CONFIG_LIFE_FILTER 0
@ -1753,6 +1846,7 @@
%define CONFIG_MOVIE_FILTER 0
%define CONFIG_H263_VAAPI_HWACCEL 0
%define CONFIG_H263_VIDEOTOOLBOX_HWACCEL 0
%define CONFIG_H264_CUVID_HWACCEL 0
%define CONFIG_H264_D3D11VA_HWACCEL 0
%define CONFIG_H264_DXVA2_HWACCEL 0
%define CONFIG_H264_MMAL_HWACCEL 0
@ -1762,6 +1856,7 @@
%define CONFIG_H264_VDA_OLD_HWACCEL 0
%define CONFIG_H264_VDPAU_HWACCEL 0
%define CONFIG_H264_VIDEOTOOLBOX_HWACCEL 0
%define CONFIG_HEVC_CUVID_HWACCEL 0
%define CONFIG_HEVC_D3D11VA_HWACCEL 0
%define CONFIG_HEVC_DXVA2_HWACCEL 0
%define CONFIG_HEVC_QSV_HWACCEL 0
@ -1782,12 +1877,15 @@
%define CONFIG_MPEG4_VAAPI_HWACCEL 0
%define CONFIG_MPEG4_VDPAU_HWACCEL 0
%define CONFIG_MPEG4_VIDEOTOOLBOX_HWACCEL 0
%define CONFIG_VC1_CUVID_HWACCEL 0
%define CONFIG_VC1_D3D11VA_HWACCEL 0
%define CONFIG_VC1_DXVA2_HWACCEL 0
%define CONFIG_VC1_VAAPI_HWACCEL 0
%define CONFIG_VC1_VDPAU_HWACCEL 0
%define CONFIG_VC1_MMAL_HWACCEL 0
%define CONFIG_VC1_QSV_HWACCEL 0
%define CONFIG_VP8_CUVID_HWACCEL 0
%define CONFIG_VP9_CUVID_HWACCEL 0
%define CONFIG_VP9_D3D11VA_HWACCEL 0
%define CONFIG_VP9_DXVA2_HWACCEL 0
%define CONFIG_VP9_VAAPI_HWACCEL 0
@ -1850,14 +1948,17 @@
%define CONFIG_FLAC_MUXER 0
%define CONFIG_FLV_MUXER 0
%define CONFIG_FRAMECRC_MUXER 0
%define CONFIG_FRAMEHASH_MUXER 0
%define CONFIG_FRAMEMD5_MUXER 0
%define CONFIG_G722_MUXER 0
%define CONFIG_G723_1_MUXER 0
%define CONFIG_GIF_MUXER 0
%define CONFIG_GSM_MUXER 0
%define CONFIG_GXF_MUXER 0
%define CONFIG_H261_MUXER 0
%define CONFIG_H263_MUXER 0
%define CONFIG_H264_MUXER 0
%define CONFIG_HASH_MUXER 0
%define CONFIG_HDS_MUXER 0
%define CONFIG_HEVC_MUXER 0
%define CONFIG_HLS_MUXER 0
@ -2042,9 +2143,9 @@
%define CONFIG_SRTP_PROTOCOL 0
%define CONFIG_SUBFILE_PROTOCOL 0
%define CONFIG_TCP_PROTOCOL 0
%define CONFIG_TLS_GNUTLS_PROTOCOL 0
%define CONFIG_TLS_SCHANNEL_PROTOCOL 0
%define CONFIG_TLS_SECURETRANSPORT_PROTOCOL 0
%define CONFIG_TLS_GNUTLS_PROTOCOL 0
%define CONFIG_TLS_OPENSSL_PROTOCOL 0
%define CONFIG_UDP_PROTOCOL 0
%define CONFIG_UDPLITE_PROTOCOL 0

Просмотреть файл

@ -72,6 +72,7 @@
#define HAVE_I686 1
#define HAVE_MIPSFPU 0
#define HAVE_MIPS32R2 0
#define HAVE_MIPS32R5 0
#define HAVE_MIPS64R2 0
#define HAVE_MIPS32R6 0
#define HAVE_MIPS64R6 0
@ -115,6 +116,7 @@
#define HAVE_I686_EXTERNAL 0
#define HAVE_MIPSFPU_EXTERNAL 0
#define HAVE_MIPS32R2_EXTERNAL 0
#define HAVE_MIPS32R5_EXTERNAL 0
#define HAVE_MIPS64R2_EXTERNAL 0
#define HAVE_MIPS32R6_EXTERNAL 0
#define HAVE_MIPS64R6_EXTERNAL 0
@ -158,6 +160,7 @@
#define HAVE_I686_INLINE 0
#define HAVE_MIPSFPU_INLINE 0
#define HAVE_MIPS32R2_INLINE 0
#define HAVE_MIPS32R5_INLINE 0
#define HAVE_MIPS64R2_INLINE 0
#define HAVE_MIPS32R6_INLINE 0
#define HAVE_MIPS64R6_INLINE 0
@ -185,6 +188,7 @@
#define HAVE_MM_EMPTY 1
#define HAVE_RDTSC 0
#define HAVE_SARESTART 1
#define HAVE_SEM_TIMEDWAIT 1
#define HAVE_SYNC_VAL_COMPARE_AND_SWAP 1
#define HAVE_CABS 1
#define HAVE_CEXP 1
@ -200,6 +204,7 @@
#define HAVE_ASM_TYPES_H 1
#define HAVE_CDIO_PARANOIA_H 0
#define HAVE_CDIO_PARANOIA_PARANOIA_H 0
#define HAVE_DISPATCH_DISPATCH_H 0
#define HAVE_DEV_BKTR_IOCTL_BT848_H 0
#define HAVE_DEV_BKTR_IOCTL_METEOR_H 0
#define HAVE_DEV_IC_BT8XX_H 0
@ -313,7 +318,6 @@
#define HAVE_SLEEP 0
#define HAVE_STRERROR_R 1
#define HAVE_SYSCONF 1
#define HAVE_SYSCTL 0
#define HAVE_USLEEP 1
#define HAVE_UTGETOSTYPEFROMSTRING 0
#define HAVE_VIRTUALALLOC 0
@ -348,6 +352,7 @@
#define HAVE_STRUCT_GROUP_SOURCE_REQ 1
#define HAVE_STRUCT_IP_MREQ_SOURCE 1
#define HAVE_STRUCT_IPV6_MREQ 1
#define HAVE_STRUCT_MSGHDR_MSG_FLAGS 1
#define HAVE_STRUCT_POLLFD 1
#define HAVE_STRUCT_RUSAGE_RU_MAXRSS 1
#define HAVE_STRUCT_SCTP_EVENT_SUBSCRIBE 0
@ -365,16 +370,18 @@
#define HAVE_LIBDC1394_2 0
#define HAVE_MAKEINFO 0
#define HAVE_MAKEINFO_HTML 0
#define HAVE_MMAL_PARAMETER_VIDEO_MAX_NUM_CALLBACKS 0
#define HAVE_PERL 1
#define HAVE_POD2MAN 1
#define HAVE_SDL 0
#define HAVE_SECTION_DATA_REL_RO 1
#define HAVE_TEXI2HTML 0
#define HAVE_THREADS 1
#define HAVE_VAAPI_DRM 0
#define HAVE_VAAPI_X11 0
#define HAVE_VDPAU_X11 0
#define HAVE_WINRT 0
#define HAVE_XLIB 1
#define HAVE_XLIB 0
#define CONFIG_BSFS 0
#define CONFIG_DECODERS 1
#define CONFIG_ENCODERS 0
@ -417,6 +424,7 @@
#define CONFIG_GMP 0
#define CONFIG_GNUTLS 0
#define CONFIG_ICONV 0
#define CONFIG_JNI 0
#define CONFIG_LADSPA 0
#define CONFIG_LIBASS 0
#define CONFIG_LIBBLURAY 0
@ -425,7 +433,7 @@
#define CONFIG_LIBCDIO 0
#define CONFIG_LIBCELT 0
#define CONFIG_LIBDC1394 0
#define CONFIG_LIBDCADEC 0
#define CONFIG_LIBEBUR128 0
#define CONFIG_LIBFAAC 0
#define CONFIG_LIBFDK_AAC 0
#define CONFIG_LIBFLITE 0
@ -437,7 +445,6 @@
#define CONFIG_LIBIEC61883 0
#define CONFIG_LIBILBC 0
#define CONFIG_LIBKVAZAAR 0
#define CONFIG_LIBMFX 0
#define CONFIG_LIBMODPLUG 0
#define CONFIG_LIBMP3LAME 0
#define CONFIG_LIBNUT 0
@ -460,7 +467,6 @@
#define CONFIG_LIBTESSERACT 0
#define CONFIG_LIBTHEORA 0
#define CONFIG_LIBTWOLAME 0
#define CONFIG_LIBUTVIDEO 0
#define CONFIG_LIBV4L2 0
#define CONFIG_LIBVIDSTAB 0
#define CONFIG_LIBVO_AMRWBENC 0
@ -480,9 +486,8 @@
#define CONFIG_LIBZMQ 0
#define CONFIG_LIBZVBI 0
#define CONFIG_LZMA 0
#define CONFIG_MMAL 0
#define CONFIG_MEDIACODEC 0
#define CONFIG_NETCDF 0
#define CONFIG_NVENC 0
#define CONFIG_OPENAL 0
#define CONFIG_OPENCL 0
#define CONFIG_OPENGL 0
@ -490,25 +495,35 @@
#define CONFIG_SCHANNEL 0
#define CONFIG_SDL 0
#define CONFIG_SECURETRANSPORT 0
#define CONFIG_VIDEOTOOLBOX 0
#define CONFIG_X11GRAB 0
#define CONFIG_XLIB 1
#define CONFIG_XLIB 0
#define CONFIG_ZLIB 0
#define CONFIG_AUDIOTOOLBOX 0
#define CONFIG_CUDA 0
#define CONFIG_CUVID 0
#define CONFIG_D3D11VA 0
#define CONFIG_DXVA2 0
#define CONFIG_LIBMFX 0
#define CONFIG_LIBNPP 0
#define CONFIG_MMAL 0
#define CONFIG_NVENC 0
#define CONFIG_OMX 0
#define CONFIG_VAAPI 0
#define CONFIG_VDA 0
#define CONFIG_VDPAU 0
#define CONFIG_VIDEOTOOLBOX_HWACCEL 0
#define CONFIG_XVMC 0
#define CONFIG_FTRAPV 0
#define CONFIG_GRAY 0
#define CONFIG_HARDCODED_TABLES 0
#define CONFIG_OMX_RPI 0
#define CONFIG_RUNTIME_CPUDETECT 1
#define CONFIG_SAFE_BITSTREAM_READER 1
#define CONFIG_SHARED 1
#define CONFIG_SMALL 0
#define CONFIG_STATIC 0
#define CONFIG_SWSCALE_ALPHA 1
#define CONFIG_D3D11VA 0
#define CONFIG_DXVA2 0
#define CONFIG_VAAPI 0
#define CONFIG_VDA 0
#define CONFIG_VDPAU 0
#define CONFIG_VIDEOTOOLBOX 0
#define CONFIG_XVMC 0
#define CONFIG_GPL 0
#define CONFIG_NONFREE 0
#define CONFIG_VERSION3 0
@ -580,6 +595,7 @@
#define CONFIG_IIRFILTER 0
#define CONFIG_IMDCT15 0
#define CONFIG_INTRAX8 0
#define CONFIG_ISO_MEDIA 0
#define CONFIG_IVIDSP 0
#define CONFIG_JPEGTABLES 0
#define CONFIG_LGPLV3 0
@ -608,19 +624,24 @@
#define CONFIG_RV34DSP 0
#define CONFIG_SINEWIN 0
#define CONFIG_SNAPPY 0
#define CONFIG_SRTP 0
#define CONFIG_STARTCODE 0
#define CONFIG_TEXTUREDSP 0
#define CONFIG_TEXTUREDSPENC 0
#define CONFIG_TPELDSP 0
#define CONFIG_VAAPI_ENCODE 0
#define CONFIG_VC1DSP 0
#define CONFIG_VIDEODSP 1
#define CONFIG_VP3DSP 0
#define CONFIG_VP56DSP 0
#define CONFIG_VP8DSP 1
#define CONFIG_VT_BT2020 0
#define CONFIG_WMA_FREQS 0
#define CONFIG_WMV2DSP 0
#define CONFIG_AAC_ADTSTOASC_BSF 0
#define CONFIG_CHOMP_BSF 0
#define CONFIG_DUMP_EXTRADATA_BSF 0
#define CONFIG_DCA_CORE_BSF 0
#define CONFIG_H264_MP4TOANNEXB_BSF 0
#define CONFIG_HEVC_MP4TOANNEXB_BSF 0
#define CONFIG_IMX_DUMP_HEADER_BSF 0
@ -632,6 +653,7 @@
#define CONFIG_NOISE_BSF 0
#define CONFIG_REMOVE_EXTRADATA_BSF 0
#define CONFIG_TEXT2MOVSUB_BSF 0
#define CONFIG_VP9_SUPERFRAME_BSF 0
#define CONFIG_AASC_DECODER 0
#define CONFIG_AIC_DECODER 0
#define CONFIG_ALIAS_PIX_DECODER 0
@ -706,6 +728,7 @@
#define CONFIG_H263P_DECODER 0
#define CONFIG_H264_DECODER 0
#define CONFIG_H264_CRYSTALHD_DECODER 0
#define CONFIG_H264_MEDIACODEC_DECODER 0
#define CONFIG_H264_MMAL_DECODER 0
#define CONFIG_H264_QSV_DECODER 0
#define CONFIG_H264_VDA_DECODER 0
@ -731,6 +754,8 @@
#define CONFIG_KMVC_DECODER 0
#define CONFIG_LAGARITH_DECODER 0
#define CONFIG_LOCO_DECODER 0
#define CONFIG_M101_DECODER 0
#define CONFIG_MAGICYUV_DECODER 0
#define CONFIG_MDEC_DECODER 0
#define CONFIG_MIMIC_DECODER 0
#define CONFIG_MJPEG_DECODER 0
@ -797,6 +822,7 @@
#define CONFIG_SDX2_DPCM_DECODER 0
#define CONFIG_SGI_DECODER 0
#define CONFIG_SGIRLE_DECODER 0
#define CONFIG_SHEERVIDEO_DECODER 0
#define CONFIG_SMACKER_DECODER 0
#define CONFIG_SMC_DECODER 0
#define CONFIG_SMVJPEG_DECODER 0
@ -815,6 +841,7 @@
#define CONFIG_TMV_DECODER 0
#define CONFIG_TRUEMOTION1_DECODER 0
#define CONFIG_TRUEMOTION2_DECODER 0
#define CONFIG_TRUEMOTION2RT_DECODER 0
#define CONFIG_TSCC_DECODER 0
#define CONFIG_TSCC2_DECODER 0
#define CONFIG_TXD_DECODER 0
@ -860,6 +887,7 @@
#define CONFIG_XL_DECODER 0
#define CONFIG_XWD_DECODER 0
#define CONFIG_Y41P_DECODER 0
#define CONFIG_YLC_DECODER 0
#define CONFIG_YOP_DECODER 0
#define CONFIG_YUV4_DECODER 0
#define CONFIG_ZERO12V_DECODER 0
@ -890,6 +918,7 @@
#define CONFIG_DSD_MSBF_PLANAR_DECODER 0
#define CONFIG_DSICINAUDIO_DECODER 0
#define CONFIG_DSS_SP_DECODER 0
#define CONFIG_DST_DECODER 0
#define CONFIG_EAC3_DECODER 0
#define CONFIG_EVRC_DECODER 0
#define CONFIG_FFWAVESYNTH_DECODER 0
@ -997,6 +1026,7 @@
#define CONFIG_ADPCM_G726LE_DECODER 0
#define CONFIG_ADPCM_IMA_AMV_DECODER 0
#define CONFIG_ADPCM_IMA_APC_DECODER 0
#define CONFIG_ADPCM_IMA_DAT4_DECODER 0
#define CONFIG_ADPCM_IMA_DK3_DECODER 0
#define CONFIG_ADPCM_IMA_DK4_DECODER 0
#define CONFIG_ADPCM_IMA_EA_EACS_DECODER 0
@ -1009,6 +1039,7 @@
#define CONFIG_ADPCM_IMA_WAV_DECODER 0
#define CONFIG_ADPCM_IMA_WS_DECODER 0
#define CONFIG_ADPCM_MS_DECODER 0
#define CONFIG_ADPCM_MTAF_DECODER 0
#define CONFIG_ADPCM_PSX_DECODER 0
#define CONFIG_ADPCM_SBPRO_2_DECODER 0
#define CONFIG_ADPCM_SBPRO_3_DECODER 0
@ -1041,8 +1072,22 @@
#define CONFIG_VPLAYER_DECODER 0
#define CONFIG_WEBVTT_DECODER 0
#define CONFIG_XSUB_DECODER 0
#define CONFIG_AAC_AT_DECODER 0
#define CONFIG_AC3_AT_DECODER 0
#define CONFIG_ADPCM_IMA_QT_AT_DECODER 0
#define CONFIG_ALAC_AT_DECODER 0
#define CONFIG_AMR_NB_AT_DECODER 0
#define CONFIG_EAC3_AT_DECODER 0
#define CONFIG_GSM_MS_AT_DECODER 0
#define CONFIG_ILBC_AT_DECODER 0
#define CONFIG_MP1_AT_DECODER 0
#define CONFIG_MP2_AT_DECODER 0
#define CONFIG_MP3_AT_DECODER 0
#define CONFIG_PCM_ALAW_AT_DECODER 0
#define CONFIG_PCM_MULAW_AT_DECODER 0
#define CONFIG_QDMC_AT_DECODER 0
#define CONFIG_QDM2_AT_DECODER 0
#define CONFIG_LIBCELT_DECODER 0
#define CONFIG_LIBDCADEC_DECODER 0
#define CONFIG_LIBFDK_AAC_DECODER 0
#define CONFIG_LIBGSM_DECODER 0
#define CONFIG_LIBGSM_MS_DECODER 0
@ -1053,7 +1098,6 @@
#define CONFIG_LIBOPUS_DECODER 0
#define CONFIG_LIBSCHROEDINGER_DECODER 0
#define CONFIG_LIBSPEEX_DECODER 0
#define CONFIG_LIBUTVIDEO_DECODER 0
#define CONFIG_LIBVORBIS_DECODER 0
#define CONFIG_LIBVPX_VP8_DECODER 0
#define CONFIG_LIBVPX_VP9_DECODER 0
@ -1061,6 +1105,11 @@
#define CONFIG_BINTEXT_DECODER 0
#define CONFIG_XBIN_DECODER 0
#define CONFIG_IDF_DECODER 0
#define CONFIG_H264_CUVID_DECODER 0
#define CONFIG_HEVC_CUVID_DECODER 0
#define CONFIG_VC1_CUVID_DECODER 0
#define CONFIG_VP8_CUVID_DECODER 0
#define CONFIG_VP9_CUVID_DECODER 0
#define CONFIG_AA_DEMUXER 0
#define CONFIG_AAC_DEMUXER 0
#define CONFIG_AC3_DEMUXER 0
@ -1073,6 +1122,7 @@
#define CONFIG_AEA_DEMUXER 0
#define CONFIG_AFC_DEMUXER 0
#define CONFIG_AIFF_DEMUXER 0
#define CONFIG_AIX_DEMUXER 0
#define CONFIG_AMR_DEMUXER 0
#define CONFIG_ANM_DEMUXER 0
#define CONFIG_APC_DEMUXER 0
@ -1117,6 +1167,7 @@
#define CONFIG_DTSHD_DEMUXER 0
#define CONFIG_DV_DEMUXER 0
#define CONFIG_DVBSUB_DEMUXER 0
#define CONFIG_DVBTXT_DEMUXER 0
#define CONFIG_DXA_DEMUXER 0
#define CONFIG_EA_DEMUXER 0
#define CONFIG_EA_CDATA_DEMUXER 0
@ -1190,7 +1241,9 @@
#define CONFIG_MPSUB_DEMUXER 0
#define CONFIG_MSF_DEMUXER 0
#define CONFIG_MSNWC_TCP_DEMUXER 0
#define CONFIG_MTAF_DEMUXER 0
#define CONFIG_MTV_DEMUXER 0
#define CONFIG_MUSX_DEMUXER 0
#define CONFIG_MV_DEMUXER 0
#define CONFIG_MVI_DEMUXER 0
#define CONFIG_MXF_DEMUXER 0
@ -1291,6 +1344,7 @@
#define CONFIG_WEBM_DASH_MANIFEST_DEMUXER 0
#define CONFIG_WEBVTT_DEMUXER 0
#define CONFIG_WSAUD_DEMUXER 0
#define CONFIG_WSD_DEMUXER 0
#define CONFIG_WSVQA_DEMUXER 0
#define CONFIG_WTV_DEMUXER 0
#define CONFIG_WVE_DEMUXER 0
@ -1309,8 +1363,14 @@
#define CONFIG_IMAGE_J2K_PIPE_DEMUXER 0
#define CONFIG_IMAGE_JPEG_PIPE_DEMUXER 0
#define CONFIG_IMAGE_JPEGLS_PIPE_DEMUXER 0
#define CONFIG_IMAGE_PAM_PIPE_DEMUXER 0
#define CONFIG_IMAGE_PBM_PIPE_DEMUXER 0
#define CONFIG_IMAGE_PCX_PIPE_DEMUXER 0
#define CONFIG_IMAGE_PGMYUV_PIPE_DEMUXER 0
#define CONFIG_IMAGE_PGM_PIPE_DEMUXER 0
#define CONFIG_IMAGE_PICTOR_PIPE_DEMUXER 0
#define CONFIG_IMAGE_PNG_PIPE_DEMUXER 0
#define CONFIG_IMAGE_PPM_PIPE_DEMUXER 0
#define CONFIG_IMAGE_QDRAW_PIPE_DEMUXER 0
#define CONFIG_IMAGE_SGI_PIPE_DEMUXER 0
#define CONFIG_IMAGE_SUNRAST_PIPE_DEMUXER 0
@ -1461,6 +1521,11 @@
#define CONFIG_TEXT_ENCODER 0
#define CONFIG_WEBVTT_ENCODER 0
#define CONFIG_XSUB_ENCODER 0
#define CONFIG_AAC_AT_ENCODER 0
#define CONFIG_ALAC_AT_ENCODER 0
#define CONFIG_ILBC_AT_ENCODER 0
#define CONFIG_PCM_ALAW_AT_ENCODER 0
#define CONFIG_PCM_MULAW_AT_ENCODER 0
#define CONFIG_LIBFAAC_ENCODER 0
#define CONFIG_LIBFDK_AAC_ENCODER 0
#define CONFIG_LIBGSM_ENCODER 0
@ -1475,7 +1540,6 @@
#define CONFIG_LIBSPEEX_ENCODER 0
#define CONFIG_LIBTHEORA_ENCODER 0
#define CONFIG_LIBTWOLAME_ENCODER 0
#define CONFIG_LIBUTVIDEO_ENCODER 0
#define CONFIG_LIBVO_AMRWBENC_ENCODER 0
#define CONFIG_LIBVORBIS_ENCODER 0
#define CONFIG_LIBVPX_VP8_ENCODER 0
@ -1490,13 +1554,21 @@
#define CONFIG_LIBXAVS_ENCODER 0
#define CONFIG_LIBXVID_ENCODER 0
#define CONFIG_LIBOPENH264_ENCODER 0
#define CONFIG_H264_NVENC_ENCODER 0
#define CONFIG_H264_OMX_ENCODER 0
#define CONFIG_H264_QSV_ENCODER 0
#define CONFIG_H264_VAAPI_ENCODER 0
#define CONFIG_H264_VIDEOTOOLBOX_ENCODER 0
#define CONFIG_NVENC_ENCODER 0
#define CONFIG_NVENC_H264_ENCODER 0
#define CONFIG_NVENC_HEVC_ENCODER 0
#define CONFIG_HEVC_NVENC_ENCODER 0
#define CONFIG_HEVC_QSV_ENCODER 0
#define CONFIG_HEVC_VAAPI_ENCODER 0
#define CONFIG_LIBKVAZAAR_ENCODER 0
#define CONFIG_MJPEG_VAAPI_ENCODER 0
#define CONFIG_MPEG2_QSV_ENCODER 0
#define CONFIG_ABENCH_FILTER 0
#define CONFIG_ACOMPRESSOR_FILTER 0
#define CONFIG_ACROSSFADE_FILTER 0
#define CONFIG_ADELAY_FILTER 0
@ -1510,6 +1582,7 @@
#define CONFIG_AINTERLEAVE_FILTER 0
#define CONFIG_ALIMITER_FILTER 0
#define CONFIG_ALLPASS_FILTER 0
#define CONFIG_ALOOP_FILTER 0
#define CONFIG_AMERGE_FILTER 0
#define CONFIG_AMETADATA_FILTER 0
#define CONFIG_AMIX_FILTER 0
@ -1552,10 +1625,13 @@
#define CONFIG_EBUR128_FILTER 0
#define CONFIG_EQUALIZER_FILTER 0
#define CONFIG_EXTRASTEREO_FILTER 0
#define CONFIG_FIREQUALIZER_FILTER 0
#define CONFIG_FLANGER_FILTER 0
#define CONFIG_HDCD_FILTER 0
#define CONFIG_HIGHPASS_FILTER 0
#define CONFIG_JOIN_FILTER 0
#define CONFIG_LADSPA_FILTER 0
#define CONFIG_LOUDNORM_FILTER 0
#define CONFIG_LOWPASS_FILTER 0
#define CONFIG_PAN_FILTER 0
#define CONFIG_REPLAYGAIN_FILTER 0
@ -1583,24 +1659,30 @@
#define CONFIG_ALPHAMERGE_FILTER 0
#define CONFIG_ATADENOISE_FILTER 0
#define CONFIG_ASS_FILTER 0
#define CONFIG_BENCH_FILTER 0
#define CONFIG_BBOX_FILTER 0
#define CONFIG_BLACKDETECT_FILTER 0
#define CONFIG_BLACKFRAME_FILTER 0
#define CONFIG_BLEND_FILTER 0
#define CONFIG_BOXBLUR_FILTER 0
#define CONFIG_BWDIF_FILTER 0
#define CONFIG_CHROMAKEY_FILTER 0
#define CONFIG_CIESCOPE_FILTER 0
#define CONFIG_CODECVIEW_FILTER 0
#define CONFIG_COLORBALANCE_FILTER 0
#define CONFIG_COLORCHANNELMIXER_FILTER 0
#define CONFIG_COLORKEY_FILTER 0
#define CONFIG_COLORLEVELS_FILTER 0
#define CONFIG_COLORMATRIX_FILTER 0
#define CONFIG_COLORSPACE_FILTER 0
#define CONFIG_CONVOLUTION_FILTER 0
#define CONFIG_COPY_FILTER 0
#define CONFIG_COREIMAGE_FILTER 0
#define CONFIG_COVER_RECT_FILTER 0
#define CONFIG_CROP_FILTER 0
#define CONFIG_CROPDETECT_FILTER 0
#define CONFIG_CURVES_FILTER 0
#define CONFIG_DATASCOPE_FILTER 0
#define CONFIG_DCTDNOIZ_FILTER 0
#define CONFIG_DEBAND_FILTER 0
#define CONFIG_DECIMATE_FILTER 0
@ -1623,6 +1705,7 @@
#define CONFIG_FADE_FILTER 0
#define CONFIG_FFTFILT_FILTER 0
#define CONFIG_FIELD_FILTER 0
#define CONFIG_FIELDHINT_FILTER 0
#define CONFIG_FIELDMATCH_FILTER 0
#define CONFIG_FIELDORDER_FILTER 0
#define CONFIG_FIND_RECT_FILTER 0
@ -1641,6 +1724,9 @@
#define CONFIG_HISTOGRAM_FILTER 0
#define CONFIG_HQDN3D_FILTER 0
#define CONFIG_HQX_FILTER 0
#define CONFIG_HWDOWNLOAD_FILTER 0
#define CONFIG_HWUPLOAD_FILTER 0
#define CONFIG_HWUPLOAD_CUDA_FILTER 0
#define CONFIG_HSTACK_FILTER 0
#define CONFIG_HUE_FILTER 0
#define CONFIG_IDET_FILTER 0
@ -1650,6 +1736,7 @@
#define CONFIG_INTERLEAVE_FILTER 0
#define CONFIG_KERNDEINT_FILTER 0
#define CONFIG_LENSCORRECTION_FILTER 0
#define CONFIG_LOOP_FILTER 0
#define CONFIG_LUT3D_FILTER 0
#define CONFIG_LUT_FILTER 0
#define CONFIG_LUTRGB_FILTER 0
@ -1681,7 +1768,9 @@
#define CONFIG_PULLUP_FILTER 0
#define CONFIG_QP_FILTER 0
#define CONFIG_RANDOM_FILTER 0
#define CONFIG_READVITC_FILTER 0
#define CONFIG_REALTIME_FILTER 0
#define CONFIG_REMAP_FILTER 0
#define CONFIG_REMOVEGRAIN_FILTER 0
#define CONFIG_REMOVELOGO_FILTER 0
#define CONFIG_REPEATFIELDS_FILTER 0
@ -1690,6 +1779,8 @@
#define CONFIG_SAB_FILTER 0
#define CONFIG_SCALE_FILTER 0
#define CONFIG_SCALE2REF_FILTER 0
#define CONFIG_SCALE_NPP_FILTER 0
#define CONFIG_SCALE_VAAPI_FILTER 0
#define CONFIG_SELECT_FILTER 0
#define CONFIG_SELECTIVECOLOR_FILTER 0
#define CONFIG_SENDCMD_FILTER 0
@ -1740,6 +1831,7 @@
#define CONFIG_ALLYUV_FILTER 0
#define CONFIG_CELLAUTO_FILTER 0
#define CONFIG_COLOR_FILTER 0
#define CONFIG_COREIMAGESRC_FILTER 0
#define CONFIG_FREI0R_SRC_FILTER 0
#define CONFIG_HALDCLUTSRC_FILTER 0
#define CONFIG_LIFE_FILTER 0
@ -1769,6 +1861,7 @@
#define CONFIG_MOVIE_FILTER 0
#define CONFIG_H263_VAAPI_HWACCEL 0
#define CONFIG_H263_VIDEOTOOLBOX_HWACCEL 0
#define CONFIG_H264_CUVID_HWACCEL 0
#define CONFIG_H264_D3D11VA_HWACCEL 0
#define CONFIG_H264_DXVA2_HWACCEL 0
#define CONFIG_H264_MMAL_HWACCEL 0
@ -1778,6 +1871,7 @@
#define CONFIG_H264_VDA_OLD_HWACCEL 0
#define CONFIG_H264_VDPAU_HWACCEL 0
#define CONFIG_H264_VIDEOTOOLBOX_HWACCEL 0
#define CONFIG_HEVC_CUVID_HWACCEL 0
#define CONFIG_HEVC_D3D11VA_HWACCEL 0
#define CONFIG_HEVC_DXVA2_HWACCEL 0
#define CONFIG_HEVC_QSV_HWACCEL 0
@ -1798,12 +1892,15 @@
#define CONFIG_MPEG4_VAAPI_HWACCEL 0
#define CONFIG_MPEG4_VDPAU_HWACCEL 0
#define CONFIG_MPEG4_VIDEOTOOLBOX_HWACCEL 0
#define CONFIG_VC1_CUVID_HWACCEL 0
#define CONFIG_VC1_D3D11VA_HWACCEL 0
#define CONFIG_VC1_DXVA2_HWACCEL 0
#define CONFIG_VC1_VAAPI_HWACCEL 0
#define CONFIG_VC1_VDPAU_HWACCEL 0
#define CONFIG_VC1_MMAL_HWACCEL 0
#define CONFIG_VC1_QSV_HWACCEL 0
#define CONFIG_VP8_CUVID_HWACCEL 0
#define CONFIG_VP9_CUVID_HWACCEL 0
#define CONFIG_VP9_D3D11VA_HWACCEL 0
#define CONFIG_VP9_DXVA2_HWACCEL 0
#define CONFIG_VP9_VAAPI_HWACCEL 0
@ -1866,14 +1963,17 @@
#define CONFIG_FLAC_MUXER 0
#define CONFIG_FLV_MUXER 0
#define CONFIG_FRAMECRC_MUXER 0
#define CONFIG_FRAMEHASH_MUXER 0
#define CONFIG_FRAMEMD5_MUXER 0
#define CONFIG_G722_MUXER 0
#define CONFIG_G723_1_MUXER 0
#define CONFIG_GIF_MUXER 0
#define CONFIG_GSM_MUXER 0
#define CONFIG_GXF_MUXER 0
#define CONFIG_H261_MUXER 0
#define CONFIG_H263_MUXER 0
#define CONFIG_H264_MUXER 0
#define CONFIG_HASH_MUXER 0
#define CONFIG_HDS_MUXER 0
#define CONFIG_HEVC_MUXER 0
#define CONFIG_HLS_MUXER 0
@ -2058,9 +2158,9 @@
#define CONFIG_SRTP_PROTOCOL 0
#define CONFIG_SUBFILE_PROTOCOL 0
#define CONFIG_TCP_PROTOCOL 0
#define CONFIG_TLS_GNUTLS_PROTOCOL 0
#define CONFIG_TLS_SCHANNEL_PROTOCOL 0
#define CONFIG_TLS_SECURETRANSPORT_PROTOCOL 0
#define CONFIG_TLS_GNUTLS_PROTOCOL 0
#define CONFIG_TLS_OPENSSL_PROTOCOL 0
#define CONFIG_UDP_PROTOCOL 0
#define CONFIG_UDPLITE_PROTOCOL 0

Просмотреть файл

@ -56,6 +56,7 @@
%define HAVE_I686 1
%define HAVE_MIPSFPU 0
%define HAVE_MIPS32R2 0
%define HAVE_MIPS32R5 0
%define HAVE_MIPS64R2 0
%define HAVE_MIPS32R6 0
%define HAVE_MIPS64R6 0
@ -99,6 +100,7 @@
%define HAVE_I686_EXTERNAL 0
%define HAVE_MIPSFPU_EXTERNAL 0
%define HAVE_MIPS32R2_EXTERNAL 0
%define HAVE_MIPS32R5_EXTERNAL 0
%define HAVE_MIPS64R2_EXTERNAL 0
%define HAVE_MIPS32R6_EXTERNAL 0
%define HAVE_MIPS64R6_EXTERNAL 0
@ -142,6 +144,7 @@
%define HAVE_I686_INLINE 0
%define HAVE_MIPSFPU_INLINE 0
%define HAVE_MIPS32R2_INLINE 0
%define HAVE_MIPS32R5_INLINE 0
%define HAVE_MIPS64R2_INLINE 0
%define HAVE_MIPS32R6_INLINE 0
%define HAVE_MIPS64R6_INLINE 0
@ -169,6 +172,7 @@
%define HAVE_MM_EMPTY 1
%define HAVE_RDTSC 1
%define HAVE_SARESTART 0
%define HAVE_SEM_TIMEDWAIT 1
%define HAVE_SYNC_VAL_COMPARE_AND_SWAP 0
%define HAVE_CABS 0
%define HAVE_CEXP 0
@ -184,6 +188,7 @@
%define HAVE_ASM_TYPES_H 0
%define HAVE_CDIO_PARANOIA_H 0
%define HAVE_CDIO_PARANOIA_PARANOIA_H 0
%define HAVE_DISPATCH_DISPATCH_H 0
%define HAVE_DEV_BKTR_IOCTL_BT848_H 0
%define HAVE_DEV_BKTR_IOCTL_METEOR_H 0
%define HAVE_DEV_IC_BT8XX_H 0
@ -332,6 +337,7 @@
%define HAVE_STRUCT_GROUP_SOURCE_REQ 1
%define HAVE_STRUCT_IP_MREQ_SOURCE 1
%define HAVE_STRUCT_IPV6_MREQ 1
%define HAVE_STRUCT_MSGHDR_MSG_FLAGS 1
%define HAVE_STRUCT_POLLFD 0
%define HAVE_STRUCT_RUSAGE_RU_MAXRSS 0
%define HAVE_STRUCT_SCTP_EVENT_SUBSCRIBE 0
@ -349,12 +355,14 @@
%define HAVE_LIBDC1394_2 0
%define HAVE_MAKEINFO 1
%define HAVE_MAKEINFO_HTML 0
%define HAVE_MMAL_PARAMETER_VIDEO_MAX_NUM_CALLBACKS 0
%define HAVE_PERL 1
%define HAVE_POD2MAN 1
%define HAVE_SDL 0
%define HAVE_SECTION_DATA_REL_RO 0
%define HAVE_TEXI2HTML 0
%define HAVE_THREADS 1
%define HAVE_VAAPI_DRM 0
%define HAVE_VAAPI_X11 0
%define HAVE_VDPAU_X11 0
%define HAVE_WINRT 0
@ -401,6 +409,7 @@
%define CONFIG_GMP 0
%define CONFIG_GNUTLS 0
%define CONFIG_ICONV 0
%define CONFIG_JNI 0
%define CONFIG_LADSPA 0
%define CONFIG_LIBASS 0
%define CONFIG_LIBBLURAY 0
@ -409,7 +418,7 @@
%define CONFIG_LIBCDIO 0
%define CONFIG_LIBCELT 0
%define CONFIG_LIBDC1394 0
%define CONFIG_LIBDCADEC 0
%define CONFIG_LIBEBUR128 0
%define CONFIG_LIBFAAC 0
%define CONFIG_LIBFDK_AAC 0
%define CONFIG_LIBFLITE 0
@ -421,7 +430,6 @@
%define CONFIG_LIBIEC61883 0
%define CONFIG_LIBILBC 0
%define CONFIG_LIBKVAZAAR 0
%define CONFIG_LIBMFX 0
%define CONFIG_LIBMODPLUG 0
%define CONFIG_LIBMP3LAME 0
%define CONFIG_LIBNUT 0
@ -444,7 +452,6 @@
%define CONFIG_LIBTESSERACT 0
%define CONFIG_LIBTHEORA 0
%define CONFIG_LIBTWOLAME 0
%define CONFIG_LIBUTVIDEO 0
%define CONFIG_LIBV4L2 0
%define CONFIG_LIBVIDSTAB 0
%define CONFIG_LIBVO_AMRWBENC 0
@ -464,9 +471,8 @@
%define CONFIG_LIBZMQ 0
%define CONFIG_LIBZVBI 0
%define CONFIG_LZMA 0
%define CONFIG_MMAL 0
%define CONFIG_MEDIACODEC 0
%define CONFIG_NETCDF 0
%define CONFIG_NVENC 0
%define CONFIG_OPENAL 0
%define CONFIG_OPENCL 0
%define CONFIG_OPENGL 0
@ -474,25 +480,35 @@
%define CONFIG_SCHANNEL 1
%define CONFIG_SDL 0
%define CONFIG_SECURETRANSPORT 0
%define CONFIG_VIDEOTOOLBOX 0
%define CONFIG_X11GRAB 0
%define CONFIG_XLIB 0
%define CONFIG_ZLIB 0
%define CONFIG_AUDIOTOOLBOX 0
%define CONFIG_CUDA 0
%define CONFIG_CUVID 0
%define CONFIG_D3D11VA 0
%define CONFIG_DXVA2 0
%define CONFIG_LIBMFX 0
%define CONFIG_LIBNPP 0
%define CONFIG_MMAL 0
%define CONFIG_NVENC 0
%define CONFIG_OMX 0
%define CONFIG_VAAPI 0
%define CONFIG_VDA 0
%define CONFIG_VDPAU 0
%define CONFIG_VIDEOTOOLBOX_HWACCEL 0
%define CONFIG_XVMC 0
%define CONFIG_FTRAPV 0
%define CONFIG_GRAY 0
%define CONFIG_HARDCODED_TABLES 0
%define CONFIG_OMX_RPI 0
%define CONFIG_RUNTIME_CPUDETECT 1
%define CONFIG_SAFE_BITSTREAM_READER 1
%define CONFIG_SHARED 1
%define CONFIG_SMALL 0
%define CONFIG_STATIC 0
%define CONFIG_SWSCALE_ALPHA 1
%define CONFIG_D3D11VA 0
%define CONFIG_DXVA2 0
%define CONFIG_VAAPI 0
%define CONFIG_VDA 0
%define CONFIG_VDPAU 0
%define CONFIG_VIDEOTOOLBOX 0
%define CONFIG_XVMC 0
%define CONFIG_GPL 0
%define CONFIG_NONFREE 0
%define CONFIG_VERSION3 0
@ -564,6 +580,7 @@
%define CONFIG_IIRFILTER 0
%define CONFIG_IMDCT15 0
%define CONFIG_INTRAX8 0
%define CONFIG_ISO_MEDIA 0
%define CONFIG_IVIDSP 0
%define CONFIG_JPEGTABLES 0
%define CONFIG_LGPLV3 0
@ -592,19 +609,24 @@
%define CONFIG_RV34DSP 0
%define CONFIG_SINEWIN 0
%define CONFIG_SNAPPY 0
%define CONFIG_SRTP 0
%define CONFIG_STARTCODE 0
%define CONFIG_TEXTUREDSP 0
%define CONFIG_TEXTUREDSPENC 0
%define CONFIG_TPELDSP 0
%define CONFIG_VAAPI_ENCODE 0
%define CONFIG_VC1DSP 0
%define CONFIG_VIDEODSP 1
%define CONFIG_VP3DSP 0
%define CONFIG_VP56DSP 0
%define CONFIG_VP8DSP 1
%define CONFIG_VT_BT2020 0
%define CONFIG_WMA_FREQS 0
%define CONFIG_WMV2DSP 0
%define CONFIG_AAC_ADTSTOASC_BSF 0
%define CONFIG_CHOMP_BSF 0
%define CONFIG_DUMP_EXTRADATA_BSF 0
%define CONFIG_DCA_CORE_BSF 0
%define CONFIG_H264_MP4TOANNEXB_BSF 0
%define CONFIG_HEVC_MP4TOANNEXB_BSF 0
%define CONFIG_IMX_DUMP_HEADER_BSF 0
@ -616,6 +638,7 @@
%define CONFIG_NOISE_BSF 0
%define CONFIG_REMOVE_EXTRADATA_BSF 0
%define CONFIG_TEXT2MOVSUB_BSF 0
%define CONFIG_VP9_SUPERFRAME_BSF 0
%define CONFIG_AASC_DECODER 0
%define CONFIG_AIC_DECODER 0
%define CONFIG_ALIAS_PIX_DECODER 0
@ -690,6 +713,7 @@
%define CONFIG_H263P_DECODER 0
%define CONFIG_H264_DECODER 0
%define CONFIG_H264_CRYSTALHD_DECODER 0
%define CONFIG_H264_MEDIACODEC_DECODER 0
%define CONFIG_H264_MMAL_DECODER 0
%define CONFIG_H264_QSV_DECODER 0
%define CONFIG_H264_VDA_DECODER 0
@ -715,6 +739,8 @@
%define CONFIG_KMVC_DECODER 0
%define CONFIG_LAGARITH_DECODER 0
%define CONFIG_LOCO_DECODER 0
%define CONFIG_M101_DECODER 0
%define CONFIG_MAGICYUV_DECODER 0
%define CONFIG_MDEC_DECODER 0
%define CONFIG_MIMIC_DECODER 0
%define CONFIG_MJPEG_DECODER 0
@ -781,6 +807,7 @@
%define CONFIG_SDX2_DPCM_DECODER 0
%define CONFIG_SGI_DECODER 0
%define CONFIG_SGIRLE_DECODER 0
%define CONFIG_SHEERVIDEO_DECODER 0
%define CONFIG_SMACKER_DECODER 0
%define CONFIG_SMC_DECODER 0
%define CONFIG_SMVJPEG_DECODER 0
@ -799,6 +826,7 @@
%define CONFIG_TMV_DECODER 0
%define CONFIG_TRUEMOTION1_DECODER 0
%define CONFIG_TRUEMOTION2_DECODER 0
%define CONFIG_TRUEMOTION2RT_DECODER 0
%define CONFIG_TSCC_DECODER 0
%define CONFIG_TSCC2_DECODER 0
%define CONFIG_TXD_DECODER 0
@ -844,6 +872,7 @@
%define CONFIG_XL_DECODER 0
%define CONFIG_XWD_DECODER 0
%define CONFIG_Y41P_DECODER 0
%define CONFIG_YLC_DECODER 0
%define CONFIG_YOP_DECODER 0
%define CONFIG_YUV4_DECODER 0
%define CONFIG_ZERO12V_DECODER 0
@ -874,6 +903,7 @@
%define CONFIG_DSD_MSBF_PLANAR_DECODER 0
%define CONFIG_DSICINAUDIO_DECODER 0
%define CONFIG_DSS_SP_DECODER 0
%define CONFIG_DST_DECODER 0
%define CONFIG_EAC3_DECODER 0
%define CONFIG_EVRC_DECODER 0
%define CONFIG_FFWAVESYNTH_DECODER 0
@ -981,6 +1011,7 @@
%define CONFIG_ADPCM_G726LE_DECODER 0
%define CONFIG_ADPCM_IMA_AMV_DECODER 0
%define CONFIG_ADPCM_IMA_APC_DECODER 0
%define CONFIG_ADPCM_IMA_DAT4_DECODER 0
%define CONFIG_ADPCM_IMA_DK3_DECODER 0
%define CONFIG_ADPCM_IMA_DK4_DECODER 0
%define CONFIG_ADPCM_IMA_EA_EACS_DECODER 0
@ -993,6 +1024,7 @@
%define CONFIG_ADPCM_IMA_WAV_DECODER 0
%define CONFIG_ADPCM_IMA_WS_DECODER 0
%define CONFIG_ADPCM_MS_DECODER 0
%define CONFIG_ADPCM_MTAF_DECODER 0
%define CONFIG_ADPCM_PSX_DECODER 0
%define CONFIG_ADPCM_SBPRO_2_DECODER 0
%define CONFIG_ADPCM_SBPRO_3_DECODER 0
@ -1025,8 +1057,22 @@
%define CONFIG_VPLAYER_DECODER 0
%define CONFIG_WEBVTT_DECODER 0
%define CONFIG_XSUB_DECODER 0
%define CONFIG_AAC_AT_DECODER 0
%define CONFIG_AC3_AT_DECODER 0
%define CONFIG_ADPCM_IMA_QT_AT_DECODER 0
%define CONFIG_ALAC_AT_DECODER 0
%define CONFIG_AMR_NB_AT_DECODER 0
%define CONFIG_EAC3_AT_DECODER 0
%define CONFIG_GSM_MS_AT_DECODER 0
%define CONFIG_ILBC_AT_DECODER 0
%define CONFIG_MP1_AT_DECODER 0
%define CONFIG_MP2_AT_DECODER 0
%define CONFIG_MP3_AT_DECODER 0
%define CONFIG_PCM_ALAW_AT_DECODER 0
%define CONFIG_PCM_MULAW_AT_DECODER 0
%define CONFIG_QDMC_AT_DECODER 0
%define CONFIG_QDM2_AT_DECODER 0
%define CONFIG_LIBCELT_DECODER 0
%define CONFIG_LIBDCADEC_DECODER 0
%define CONFIG_LIBFDK_AAC_DECODER 0
%define CONFIG_LIBGSM_DECODER 0
%define CONFIG_LIBGSM_MS_DECODER 0
@ -1037,7 +1083,6 @@
%define CONFIG_LIBOPUS_DECODER 0
%define CONFIG_LIBSCHROEDINGER_DECODER 0
%define CONFIG_LIBSPEEX_DECODER 0
%define CONFIG_LIBUTVIDEO_DECODER 0
%define CONFIG_LIBVORBIS_DECODER 0
%define CONFIG_LIBVPX_VP8_DECODER 0
%define CONFIG_LIBVPX_VP9_DECODER 0
@ -1045,6 +1090,11 @@
%define CONFIG_BINTEXT_DECODER 0
%define CONFIG_XBIN_DECODER 0
%define CONFIG_IDF_DECODER 0
%define CONFIG_H264_CUVID_DECODER 0
%define CONFIG_HEVC_CUVID_DECODER 0
%define CONFIG_VC1_CUVID_DECODER 0
%define CONFIG_VP8_CUVID_DECODER 0
%define CONFIG_VP9_CUVID_DECODER 0
%define CONFIG_AA_DEMUXER 0
%define CONFIG_AAC_DEMUXER 0
%define CONFIG_AC3_DEMUXER 0
@ -1057,6 +1107,7 @@
%define CONFIG_AEA_DEMUXER 0
%define CONFIG_AFC_DEMUXER 0
%define CONFIG_AIFF_DEMUXER 0
%define CONFIG_AIX_DEMUXER 0
%define CONFIG_AMR_DEMUXER 0
%define CONFIG_ANM_DEMUXER 0
%define CONFIG_APC_DEMUXER 0
@ -1101,6 +1152,7 @@
%define CONFIG_DTSHD_DEMUXER 0
%define CONFIG_DV_DEMUXER 0
%define CONFIG_DVBSUB_DEMUXER 0
%define CONFIG_DVBTXT_DEMUXER 0
%define CONFIG_DXA_DEMUXER 0
%define CONFIG_EA_DEMUXER 0
%define CONFIG_EA_CDATA_DEMUXER 0
@ -1174,7 +1226,9 @@
%define CONFIG_MPSUB_DEMUXER 0
%define CONFIG_MSF_DEMUXER 0
%define CONFIG_MSNWC_TCP_DEMUXER 0
%define CONFIG_MTAF_DEMUXER 0
%define CONFIG_MTV_DEMUXER 0
%define CONFIG_MUSX_DEMUXER 0
%define CONFIG_MV_DEMUXER 0
%define CONFIG_MVI_DEMUXER 0
%define CONFIG_MXF_DEMUXER 0
@ -1275,6 +1329,7 @@
%define CONFIG_WEBM_DASH_MANIFEST_DEMUXER 0
%define CONFIG_WEBVTT_DEMUXER 0
%define CONFIG_WSAUD_DEMUXER 0
%define CONFIG_WSD_DEMUXER 0
%define CONFIG_WSVQA_DEMUXER 0
%define CONFIG_WTV_DEMUXER 0
%define CONFIG_WVE_DEMUXER 0
@ -1293,8 +1348,14 @@
%define CONFIG_IMAGE_J2K_PIPE_DEMUXER 0
%define CONFIG_IMAGE_JPEG_PIPE_DEMUXER 0
%define CONFIG_IMAGE_JPEGLS_PIPE_DEMUXER 0
%define CONFIG_IMAGE_PAM_PIPE_DEMUXER 0
%define CONFIG_IMAGE_PBM_PIPE_DEMUXER 0
%define CONFIG_IMAGE_PCX_PIPE_DEMUXER 0
%define CONFIG_IMAGE_PGMYUV_PIPE_DEMUXER 0
%define CONFIG_IMAGE_PGM_PIPE_DEMUXER 0
%define CONFIG_IMAGE_PICTOR_PIPE_DEMUXER 0
%define CONFIG_IMAGE_PNG_PIPE_DEMUXER 0
%define CONFIG_IMAGE_PPM_PIPE_DEMUXER 0
%define CONFIG_IMAGE_QDRAW_PIPE_DEMUXER 0
%define CONFIG_IMAGE_SGI_PIPE_DEMUXER 0
%define CONFIG_IMAGE_SUNRAST_PIPE_DEMUXER 0
@ -1445,6 +1506,11 @@
%define CONFIG_TEXT_ENCODER 0
%define CONFIG_WEBVTT_ENCODER 0
%define CONFIG_XSUB_ENCODER 0
%define CONFIG_AAC_AT_ENCODER 0
%define CONFIG_ALAC_AT_ENCODER 0
%define CONFIG_ILBC_AT_ENCODER 0
%define CONFIG_PCM_ALAW_AT_ENCODER 0
%define CONFIG_PCM_MULAW_AT_ENCODER 0
%define CONFIG_LIBFAAC_ENCODER 0
%define CONFIG_LIBFDK_AAC_ENCODER 0
%define CONFIG_LIBGSM_ENCODER 0
@ -1459,7 +1525,6 @@
%define CONFIG_LIBSPEEX_ENCODER 0
%define CONFIG_LIBTHEORA_ENCODER 0
%define CONFIG_LIBTWOLAME_ENCODER 0
%define CONFIG_LIBUTVIDEO_ENCODER 0
%define CONFIG_LIBVO_AMRWBENC_ENCODER 0
%define CONFIG_LIBVORBIS_ENCODER 0
%define CONFIG_LIBVPX_VP8_ENCODER 0
@ -1474,13 +1539,21 @@
%define CONFIG_LIBXAVS_ENCODER 0
%define CONFIG_LIBXVID_ENCODER 0
%define CONFIG_LIBOPENH264_ENCODER 0
%define CONFIG_H264_NVENC_ENCODER 0
%define CONFIG_H264_OMX_ENCODER 0
%define CONFIG_H264_QSV_ENCODER 0
%define CONFIG_H264_VAAPI_ENCODER 0
%define CONFIG_H264_VIDEOTOOLBOX_ENCODER 0
%define CONFIG_NVENC_ENCODER 0
%define CONFIG_NVENC_H264_ENCODER 0
%define CONFIG_NVENC_HEVC_ENCODER 0
%define CONFIG_HEVC_NVENC_ENCODER 0
%define CONFIG_HEVC_QSV_ENCODER 0
%define CONFIG_HEVC_VAAPI_ENCODER 0
%define CONFIG_LIBKVAZAAR_ENCODER 0
%define CONFIG_MJPEG_VAAPI_ENCODER 0
%define CONFIG_MPEG2_QSV_ENCODER 0
%define CONFIG_ABENCH_FILTER 0
%define CONFIG_ACOMPRESSOR_FILTER 0
%define CONFIG_ACROSSFADE_FILTER 0
%define CONFIG_ADELAY_FILTER 0
@ -1494,6 +1567,7 @@
%define CONFIG_AINTERLEAVE_FILTER 0
%define CONFIG_ALIMITER_FILTER 0
%define CONFIG_ALLPASS_FILTER 0
%define CONFIG_ALOOP_FILTER 0
%define CONFIG_AMERGE_FILTER 0
%define CONFIG_AMETADATA_FILTER 0
%define CONFIG_AMIX_FILTER 0
@ -1536,10 +1610,13 @@
%define CONFIG_EBUR128_FILTER 0
%define CONFIG_EQUALIZER_FILTER 0
%define CONFIG_EXTRASTEREO_FILTER 0
%define CONFIG_FIREQUALIZER_FILTER 0
%define CONFIG_FLANGER_FILTER 0
%define CONFIG_HDCD_FILTER 0
%define CONFIG_HIGHPASS_FILTER 0
%define CONFIG_JOIN_FILTER 0
%define CONFIG_LADSPA_FILTER 0
%define CONFIG_LOUDNORM_FILTER 0
%define CONFIG_LOWPASS_FILTER 0
%define CONFIG_PAN_FILTER 0
%define CONFIG_REPLAYGAIN_FILTER 0
@ -1567,24 +1644,30 @@
%define CONFIG_ALPHAMERGE_FILTER 0
%define CONFIG_ATADENOISE_FILTER 0
%define CONFIG_ASS_FILTER 0
%define CONFIG_BENCH_FILTER 0
%define CONFIG_BBOX_FILTER 0
%define CONFIG_BLACKDETECT_FILTER 0
%define CONFIG_BLACKFRAME_FILTER 0
%define CONFIG_BLEND_FILTER 0
%define CONFIG_BOXBLUR_FILTER 0
%define CONFIG_BWDIF_FILTER 0
%define CONFIG_CHROMAKEY_FILTER 0
%define CONFIG_CIESCOPE_FILTER 0
%define CONFIG_CODECVIEW_FILTER 0
%define CONFIG_COLORBALANCE_FILTER 0
%define CONFIG_COLORCHANNELMIXER_FILTER 0
%define CONFIG_COLORKEY_FILTER 0
%define CONFIG_COLORLEVELS_FILTER 0
%define CONFIG_COLORMATRIX_FILTER 0
%define CONFIG_COLORSPACE_FILTER 0
%define CONFIG_CONVOLUTION_FILTER 0
%define CONFIG_COPY_FILTER 0
%define CONFIG_COREIMAGE_FILTER 0
%define CONFIG_COVER_RECT_FILTER 0
%define CONFIG_CROP_FILTER 0
%define CONFIG_CROPDETECT_FILTER 0
%define CONFIG_CURVES_FILTER 0
%define CONFIG_DATASCOPE_FILTER 0
%define CONFIG_DCTDNOIZ_FILTER 0
%define CONFIG_DEBAND_FILTER 0
%define CONFIG_DECIMATE_FILTER 0
@ -1607,6 +1690,7 @@
%define CONFIG_FADE_FILTER 0
%define CONFIG_FFTFILT_FILTER 0
%define CONFIG_FIELD_FILTER 0
%define CONFIG_FIELDHINT_FILTER 0
%define CONFIG_FIELDMATCH_FILTER 0
%define CONFIG_FIELDORDER_FILTER 0
%define CONFIG_FIND_RECT_FILTER 0
@ -1625,6 +1709,9 @@
%define CONFIG_HISTOGRAM_FILTER 0
%define CONFIG_HQDN3D_FILTER 0
%define CONFIG_HQX_FILTER 0
%define CONFIG_HWDOWNLOAD_FILTER 0
%define CONFIG_HWUPLOAD_FILTER 0
%define CONFIG_HWUPLOAD_CUDA_FILTER 0
%define CONFIG_HSTACK_FILTER 0
%define CONFIG_HUE_FILTER 0
%define CONFIG_IDET_FILTER 0
@ -1634,6 +1721,7 @@
%define CONFIG_INTERLEAVE_FILTER 0
%define CONFIG_KERNDEINT_FILTER 0
%define CONFIG_LENSCORRECTION_FILTER 0
%define CONFIG_LOOP_FILTER 0
%define CONFIG_LUT3D_FILTER 0
%define CONFIG_LUT_FILTER 0
%define CONFIG_LUTRGB_FILTER 0
@ -1665,7 +1753,9 @@
%define CONFIG_PULLUP_FILTER 0
%define CONFIG_QP_FILTER 0
%define CONFIG_RANDOM_FILTER 0
%define CONFIG_READVITC_FILTER 0
%define CONFIG_REALTIME_FILTER 0
%define CONFIG_REMAP_FILTER 0
%define CONFIG_REMOVEGRAIN_FILTER 0
%define CONFIG_REMOVELOGO_FILTER 0
%define CONFIG_REPEATFIELDS_FILTER 0
@ -1674,6 +1764,8 @@
%define CONFIG_SAB_FILTER 0
%define CONFIG_SCALE_FILTER 0
%define CONFIG_SCALE2REF_FILTER 0
%define CONFIG_SCALE_NPP_FILTER 0
%define CONFIG_SCALE_VAAPI_FILTER 0
%define CONFIG_SELECT_FILTER 0
%define CONFIG_SELECTIVECOLOR_FILTER 0
%define CONFIG_SENDCMD_FILTER 0
@ -1724,6 +1816,7 @@
%define CONFIG_ALLYUV_FILTER 0
%define CONFIG_CELLAUTO_FILTER 0
%define CONFIG_COLOR_FILTER 0
%define CONFIG_COREIMAGESRC_FILTER 0
%define CONFIG_FREI0R_SRC_FILTER 0
%define CONFIG_HALDCLUTSRC_FILTER 0
%define CONFIG_LIFE_FILTER 0
@ -1753,6 +1846,7 @@
%define CONFIG_MOVIE_FILTER 0
%define CONFIG_H263_VAAPI_HWACCEL 0
%define CONFIG_H263_VIDEOTOOLBOX_HWACCEL 0
%define CONFIG_H264_CUVID_HWACCEL 0
%define CONFIG_H264_D3D11VA_HWACCEL 0
%define CONFIG_H264_DXVA2_HWACCEL 0
%define CONFIG_H264_MMAL_HWACCEL 0
@ -1762,6 +1856,7 @@
%define CONFIG_H264_VDA_OLD_HWACCEL 0
%define CONFIG_H264_VDPAU_HWACCEL 0
%define CONFIG_H264_VIDEOTOOLBOX_HWACCEL 0
%define CONFIG_HEVC_CUVID_HWACCEL 0
%define CONFIG_HEVC_D3D11VA_HWACCEL 0
%define CONFIG_HEVC_DXVA2_HWACCEL 0
%define CONFIG_HEVC_QSV_HWACCEL 0
@ -1782,12 +1877,15 @@
%define CONFIG_MPEG4_VAAPI_HWACCEL 0
%define CONFIG_MPEG4_VDPAU_HWACCEL 0
%define CONFIG_MPEG4_VIDEOTOOLBOX_HWACCEL 0
%define CONFIG_VC1_CUVID_HWACCEL 0
%define CONFIG_VC1_D3D11VA_HWACCEL 0
%define CONFIG_VC1_DXVA2_HWACCEL 0
%define CONFIG_VC1_VAAPI_HWACCEL 0
%define CONFIG_VC1_VDPAU_HWACCEL 0
%define CONFIG_VC1_MMAL_HWACCEL 0
%define CONFIG_VC1_QSV_HWACCEL 0
%define CONFIG_VP8_CUVID_HWACCEL 0
%define CONFIG_VP9_CUVID_HWACCEL 0
%define CONFIG_VP9_D3D11VA_HWACCEL 0
%define CONFIG_VP9_DXVA2_HWACCEL 0
%define CONFIG_VP9_VAAPI_HWACCEL 0
@ -1850,14 +1948,17 @@
%define CONFIG_FLAC_MUXER 0
%define CONFIG_FLV_MUXER 0
%define CONFIG_FRAMECRC_MUXER 0
%define CONFIG_FRAMEHASH_MUXER 0
%define CONFIG_FRAMEMD5_MUXER 0
%define CONFIG_G722_MUXER 0
%define CONFIG_G723_1_MUXER 0
%define CONFIG_GIF_MUXER 0
%define CONFIG_GSM_MUXER 0
%define CONFIG_GXF_MUXER 0
%define CONFIG_H261_MUXER 0
%define CONFIG_H263_MUXER 0
%define CONFIG_H264_MUXER 0
%define CONFIG_HASH_MUXER 0
%define CONFIG_HDS_MUXER 0
%define CONFIG_HEVC_MUXER 0
%define CONFIG_HLS_MUXER 0
@ -2042,9 +2143,9 @@
%define CONFIG_SRTP_PROTOCOL 0
%define CONFIG_SUBFILE_PROTOCOL 0
%define CONFIG_TCP_PROTOCOL 0
%define CONFIG_TLS_GNUTLS_PROTOCOL 0
%define CONFIG_TLS_SCHANNEL_PROTOCOL 0
%define CONFIG_TLS_SECURETRANSPORT_PROTOCOL 0
%define CONFIG_TLS_GNUTLS_PROTOCOL 0
%define CONFIG_TLS_OPENSSL_PROTOCOL 0
%define CONFIG_UDP_PROTOCOL 0
%define CONFIG_UDPLITE_PROTOCOL 0

Просмотреть файл

@ -72,6 +72,7 @@
#define HAVE_I686 1
#define HAVE_MIPSFPU 0
#define HAVE_MIPS32R2 0
#define HAVE_MIPS32R5 0
#define HAVE_MIPS64R2 0
#define HAVE_MIPS32R6 0
#define HAVE_MIPS64R6 0
@ -115,6 +116,7 @@
#define HAVE_I686_EXTERNAL 0
#define HAVE_MIPSFPU_EXTERNAL 0
#define HAVE_MIPS32R2_EXTERNAL 0
#define HAVE_MIPS32R5_EXTERNAL 0
#define HAVE_MIPS64R2_EXTERNAL 0
#define HAVE_MIPS32R6_EXTERNAL 0
#define HAVE_MIPS64R6_EXTERNAL 0
@ -158,6 +160,7 @@
#define HAVE_I686_INLINE 0
#define HAVE_MIPSFPU_INLINE 0
#define HAVE_MIPS32R2_INLINE 0
#define HAVE_MIPS32R5_INLINE 0
#define HAVE_MIPS64R2_INLINE 0
#define HAVE_MIPS32R6_INLINE 0
#define HAVE_MIPS64R6_INLINE 0
@ -185,6 +188,7 @@
#define HAVE_MM_EMPTY 1
#define HAVE_RDTSC 1
#define HAVE_SARESTART 0
#define HAVE_SEM_TIMEDWAIT 1
#define HAVE_SYNC_VAL_COMPARE_AND_SWAP 0
#define HAVE_CABS 0
#define HAVE_CEXP 0
@ -200,6 +204,7 @@
#define HAVE_ASM_TYPES_H 0
#define HAVE_CDIO_PARANOIA_H 0
#define HAVE_CDIO_PARANOIA_PARANOIA_H 0
#define HAVE_DISPATCH_DISPATCH_H 0
#define HAVE_DEV_BKTR_IOCTL_BT848_H 0
#define HAVE_DEV_BKTR_IOCTL_METEOR_H 0
#define HAVE_DEV_IC_BT8XX_H 0
@ -313,7 +318,6 @@
#define HAVE_SLEEP 1
#define HAVE_STRERROR_R 0
#define HAVE_SYSCONF 0
#define HAVE_SYSCTL 0
#define HAVE_USLEEP 0
#define HAVE_UTGETOSTYPEFROMSTRING 0
#define HAVE_VIRTUALALLOC 1
@ -348,6 +352,7 @@
#define HAVE_STRUCT_GROUP_SOURCE_REQ 1
#define HAVE_STRUCT_IP_MREQ_SOURCE 1
#define HAVE_STRUCT_IPV6_MREQ 1
#define HAVE_STRUCT_MSGHDR_MSG_FLAGS 1
#define HAVE_STRUCT_POLLFD 0
#define HAVE_STRUCT_RUSAGE_RU_MAXRSS 0
#define HAVE_STRUCT_SCTP_EVENT_SUBSCRIBE 0
@ -365,12 +370,14 @@
#define HAVE_LIBDC1394_2 0
#define HAVE_MAKEINFO 1
#define HAVE_MAKEINFO_HTML 0
#define HAVE_MMAL_PARAMETER_VIDEO_MAX_NUM_CALLBACKS 0
#define HAVE_PERL 1
#define HAVE_POD2MAN 1
#define HAVE_SDL 0
#define HAVE_SECTION_DATA_REL_RO 0
#define HAVE_TEXI2HTML 0
#define HAVE_THREADS 1
#define HAVE_VAAPI_DRM 0
#define HAVE_VAAPI_X11 0
#define HAVE_VDPAU_X11 0
#define HAVE_WINRT 0
@ -417,6 +424,7 @@
#define CONFIG_GMP 0
#define CONFIG_GNUTLS 0
#define CONFIG_ICONV 0
#define CONFIG_JNI 0
#define CONFIG_LADSPA 0
#define CONFIG_LIBASS 0
#define CONFIG_LIBBLURAY 0
@ -425,7 +433,7 @@
#define CONFIG_LIBCDIO 0
#define CONFIG_LIBCELT 0
#define CONFIG_LIBDC1394 0
#define CONFIG_LIBDCADEC 0
#define CONFIG_LIBEBUR128 0
#define CONFIG_LIBFAAC 0
#define CONFIG_LIBFDK_AAC 0
#define CONFIG_LIBFLITE 0
@ -437,7 +445,6 @@
#define CONFIG_LIBIEC61883 0
#define CONFIG_LIBILBC 0
#define CONFIG_LIBKVAZAAR 0
#define CONFIG_LIBMFX 0
#define CONFIG_LIBMODPLUG 0
#define CONFIG_LIBMP3LAME 0
#define CONFIG_LIBNUT 0
@ -460,7 +467,6 @@
#define CONFIG_LIBTESSERACT 0
#define CONFIG_LIBTHEORA 0
#define CONFIG_LIBTWOLAME 0
#define CONFIG_LIBUTVIDEO 0
#define CONFIG_LIBV4L2 0
#define CONFIG_LIBVIDSTAB 0
#define CONFIG_LIBVO_AMRWBENC 0
@ -480,9 +486,8 @@
#define CONFIG_LIBZMQ 0
#define CONFIG_LIBZVBI 0
#define CONFIG_LZMA 0
#define CONFIG_MMAL 0
#define CONFIG_MEDIACODEC 0
#define CONFIG_NETCDF 0
#define CONFIG_NVENC 0
#define CONFIG_OPENAL 0
#define CONFIG_OPENCL 0
#define CONFIG_OPENGL 0
@ -490,25 +495,35 @@
#define CONFIG_SCHANNEL 1
#define CONFIG_SDL 0
#define CONFIG_SECURETRANSPORT 0
#define CONFIG_VIDEOTOOLBOX 0
#define CONFIG_X11GRAB 0
#define CONFIG_XLIB 0
#define CONFIG_ZLIB 0
#define CONFIG_AUDIOTOOLBOX 0
#define CONFIG_CUDA 0
#define CONFIG_CUVID 0
#define CONFIG_D3D11VA 0
#define CONFIG_DXVA2 0
#define CONFIG_LIBMFX 0
#define CONFIG_LIBNPP 0
#define CONFIG_MMAL 0
#define CONFIG_NVENC 0
#define CONFIG_OMX 0
#define CONFIG_VAAPI 0
#define CONFIG_VDA 0
#define CONFIG_VDPAU 0
#define CONFIG_VIDEOTOOLBOX_HWACCEL 0
#define CONFIG_XVMC 0
#define CONFIG_FTRAPV 0
#define CONFIG_GRAY 0
#define CONFIG_HARDCODED_TABLES 0
#define CONFIG_OMX_RPI 0
#define CONFIG_RUNTIME_CPUDETECT 1
#define CONFIG_SAFE_BITSTREAM_READER 1
#define CONFIG_SHARED 1
#define CONFIG_SMALL 0
#define CONFIG_STATIC 0
#define CONFIG_SWSCALE_ALPHA 1
#define CONFIG_D3D11VA 0
#define CONFIG_DXVA2 0
#define CONFIG_VAAPI 0
#define CONFIG_VDA 0
#define CONFIG_VDPAU 0
#define CONFIG_VIDEOTOOLBOX 0
#define CONFIG_XVMC 0
#define CONFIG_GPL 0
#define CONFIG_NONFREE 0
#define CONFIG_VERSION3 0
@ -580,6 +595,7 @@
#define CONFIG_IIRFILTER 0
#define CONFIG_IMDCT15 0
#define CONFIG_INTRAX8 0
#define CONFIG_ISO_MEDIA 0
#define CONFIG_IVIDSP 0
#define CONFIG_JPEGTABLES 0
#define CONFIG_LGPLV3 0
@ -608,19 +624,24 @@
#define CONFIG_RV34DSP 0
#define CONFIG_SINEWIN 0
#define CONFIG_SNAPPY 0
#define CONFIG_SRTP 0
#define CONFIG_STARTCODE 0
#define CONFIG_TEXTUREDSP 0
#define CONFIG_TEXTUREDSPENC 0
#define CONFIG_TPELDSP 0
#define CONFIG_VAAPI_ENCODE 0
#define CONFIG_VC1DSP 0
#define CONFIG_VIDEODSP 1
#define CONFIG_VP3DSP 0
#define CONFIG_VP56DSP 0
#define CONFIG_VP8DSP 1
#define CONFIG_VT_BT2020 0
#define CONFIG_WMA_FREQS 0
#define CONFIG_WMV2DSP 0
#define CONFIG_AAC_ADTSTOASC_BSF 0
#define CONFIG_CHOMP_BSF 0
#define CONFIG_DUMP_EXTRADATA_BSF 0
#define CONFIG_DCA_CORE_BSF 0
#define CONFIG_H264_MP4TOANNEXB_BSF 0
#define CONFIG_HEVC_MP4TOANNEXB_BSF 0
#define CONFIG_IMX_DUMP_HEADER_BSF 0
@ -632,6 +653,7 @@
#define CONFIG_NOISE_BSF 0
#define CONFIG_REMOVE_EXTRADATA_BSF 0
#define CONFIG_TEXT2MOVSUB_BSF 0
#define CONFIG_VP9_SUPERFRAME_BSF 0
#define CONFIG_AASC_DECODER 0
#define CONFIG_AIC_DECODER 0
#define CONFIG_ALIAS_PIX_DECODER 0
@ -706,6 +728,7 @@
#define CONFIG_H263P_DECODER 0
#define CONFIG_H264_DECODER 0
#define CONFIG_H264_CRYSTALHD_DECODER 0
#define CONFIG_H264_MEDIACODEC_DECODER 0
#define CONFIG_H264_MMAL_DECODER 0
#define CONFIG_H264_QSV_DECODER 0
#define CONFIG_H264_VDA_DECODER 0
@ -731,6 +754,8 @@
#define CONFIG_KMVC_DECODER 0
#define CONFIG_LAGARITH_DECODER 0
#define CONFIG_LOCO_DECODER 0
#define CONFIG_M101_DECODER 0
#define CONFIG_MAGICYUV_DECODER 0
#define CONFIG_MDEC_DECODER 0
#define CONFIG_MIMIC_DECODER 0
#define CONFIG_MJPEG_DECODER 0
@ -797,6 +822,7 @@
#define CONFIG_SDX2_DPCM_DECODER 0
#define CONFIG_SGI_DECODER 0
#define CONFIG_SGIRLE_DECODER 0
#define CONFIG_SHEERVIDEO_DECODER 0
#define CONFIG_SMACKER_DECODER 0
#define CONFIG_SMC_DECODER 0
#define CONFIG_SMVJPEG_DECODER 0
@ -815,6 +841,7 @@
#define CONFIG_TMV_DECODER 0
#define CONFIG_TRUEMOTION1_DECODER 0
#define CONFIG_TRUEMOTION2_DECODER 0
#define CONFIG_TRUEMOTION2RT_DECODER 0
#define CONFIG_TSCC_DECODER 0
#define CONFIG_TSCC2_DECODER 0
#define CONFIG_TXD_DECODER 0
@ -860,6 +887,7 @@
#define CONFIG_XL_DECODER 0
#define CONFIG_XWD_DECODER 0
#define CONFIG_Y41P_DECODER 0
#define CONFIG_YLC_DECODER 0
#define CONFIG_YOP_DECODER 0
#define CONFIG_YUV4_DECODER 0
#define CONFIG_ZERO12V_DECODER 0
@ -890,6 +918,7 @@
#define CONFIG_DSD_MSBF_PLANAR_DECODER 0
#define CONFIG_DSICINAUDIO_DECODER 0
#define CONFIG_DSS_SP_DECODER 0
#define CONFIG_DST_DECODER 0
#define CONFIG_EAC3_DECODER 0
#define CONFIG_EVRC_DECODER 0
#define CONFIG_FFWAVESYNTH_DECODER 0
@ -997,6 +1026,7 @@
#define CONFIG_ADPCM_G726LE_DECODER 0
#define CONFIG_ADPCM_IMA_AMV_DECODER 0
#define CONFIG_ADPCM_IMA_APC_DECODER 0
#define CONFIG_ADPCM_IMA_DAT4_DECODER 0
#define CONFIG_ADPCM_IMA_DK3_DECODER 0
#define CONFIG_ADPCM_IMA_DK4_DECODER 0
#define CONFIG_ADPCM_IMA_EA_EACS_DECODER 0
@ -1009,6 +1039,7 @@
#define CONFIG_ADPCM_IMA_WAV_DECODER 0
#define CONFIG_ADPCM_IMA_WS_DECODER 0
#define CONFIG_ADPCM_MS_DECODER 0
#define CONFIG_ADPCM_MTAF_DECODER 0
#define CONFIG_ADPCM_PSX_DECODER 0
#define CONFIG_ADPCM_SBPRO_2_DECODER 0
#define CONFIG_ADPCM_SBPRO_3_DECODER 0
@ -1041,8 +1072,22 @@
#define CONFIG_VPLAYER_DECODER 0
#define CONFIG_WEBVTT_DECODER 0
#define CONFIG_XSUB_DECODER 0
#define CONFIG_AAC_AT_DECODER 0
#define CONFIG_AC3_AT_DECODER 0
#define CONFIG_ADPCM_IMA_QT_AT_DECODER 0
#define CONFIG_ALAC_AT_DECODER 0
#define CONFIG_AMR_NB_AT_DECODER 0
#define CONFIG_EAC3_AT_DECODER 0
#define CONFIG_GSM_MS_AT_DECODER 0
#define CONFIG_ILBC_AT_DECODER 0
#define CONFIG_MP1_AT_DECODER 0
#define CONFIG_MP2_AT_DECODER 0
#define CONFIG_MP3_AT_DECODER 0
#define CONFIG_PCM_ALAW_AT_DECODER 0
#define CONFIG_PCM_MULAW_AT_DECODER 0
#define CONFIG_QDMC_AT_DECODER 0
#define CONFIG_QDM2_AT_DECODER 0
#define CONFIG_LIBCELT_DECODER 0
#define CONFIG_LIBDCADEC_DECODER 0
#define CONFIG_LIBFDK_AAC_DECODER 0
#define CONFIG_LIBGSM_DECODER 0
#define CONFIG_LIBGSM_MS_DECODER 0
@ -1053,7 +1098,6 @@
#define CONFIG_LIBOPUS_DECODER 0
#define CONFIG_LIBSCHROEDINGER_DECODER 0
#define CONFIG_LIBSPEEX_DECODER 0
#define CONFIG_LIBUTVIDEO_DECODER 0
#define CONFIG_LIBVORBIS_DECODER 0
#define CONFIG_LIBVPX_VP8_DECODER 0
#define CONFIG_LIBVPX_VP9_DECODER 0
@ -1061,6 +1105,11 @@
#define CONFIG_BINTEXT_DECODER 0
#define CONFIG_XBIN_DECODER 0
#define CONFIG_IDF_DECODER 0
#define CONFIG_H264_CUVID_DECODER 0
#define CONFIG_HEVC_CUVID_DECODER 0
#define CONFIG_VC1_CUVID_DECODER 0
#define CONFIG_VP8_CUVID_DECODER 0
#define CONFIG_VP9_CUVID_DECODER 0
#define CONFIG_AA_DEMUXER 0
#define CONFIG_AAC_DEMUXER 0
#define CONFIG_AC3_DEMUXER 0
@ -1073,6 +1122,7 @@
#define CONFIG_AEA_DEMUXER 0
#define CONFIG_AFC_DEMUXER 0
#define CONFIG_AIFF_DEMUXER 0
#define CONFIG_AIX_DEMUXER 0
#define CONFIG_AMR_DEMUXER 0
#define CONFIG_ANM_DEMUXER 0
#define CONFIG_APC_DEMUXER 0
@ -1117,6 +1167,7 @@
#define CONFIG_DTSHD_DEMUXER 0
#define CONFIG_DV_DEMUXER 0
#define CONFIG_DVBSUB_DEMUXER 0
#define CONFIG_DVBTXT_DEMUXER 0
#define CONFIG_DXA_DEMUXER 0
#define CONFIG_EA_DEMUXER 0
#define CONFIG_EA_CDATA_DEMUXER 0
@ -1190,7 +1241,9 @@
#define CONFIG_MPSUB_DEMUXER 0
#define CONFIG_MSF_DEMUXER 0
#define CONFIG_MSNWC_TCP_DEMUXER 0
#define CONFIG_MTAF_DEMUXER 0
#define CONFIG_MTV_DEMUXER 0
#define CONFIG_MUSX_DEMUXER 0
#define CONFIG_MV_DEMUXER 0
#define CONFIG_MVI_DEMUXER 0
#define CONFIG_MXF_DEMUXER 0
@ -1291,6 +1344,7 @@
#define CONFIG_WEBM_DASH_MANIFEST_DEMUXER 0
#define CONFIG_WEBVTT_DEMUXER 0
#define CONFIG_WSAUD_DEMUXER 0
#define CONFIG_WSD_DEMUXER 0
#define CONFIG_WSVQA_DEMUXER 0
#define CONFIG_WTV_DEMUXER 0
#define CONFIG_WVE_DEMUXER 0
@ -1309,8 +1363,14 @@
#define CONFIG_IMAGE_J2K_PIPE_DEMUXER 0
#define CONFIG_IMAGE_JPEG_PIPE_DEMUXER 0
#define CONFIG_IMAGE_JPEGLS_PIPE_DEMUXER 0
#define CONFIG_IMAGE_PAM_PIPE_DEMUXER 0
#define CONFIG_IMAGE_PBM_PIPE_DEMUXER 0
#define CONFIG_IMAGE_PCX_PIPE_DEMUXER 0
#define CONFIG_IMAGE_PGMYUV_PIPE_DEMUXER 0
#define CONFIG_IMAGE_PGM_PIPE_DEMUXER 0
#define CONFIG_IMAGE_PICTOR_PIPE_DEMUXER 0
#define CONFIG_IMAGE_PNG_PIPE_DEMUXER 0
#define CONFIG_IMAGE_PPM_PIPE_DEMUXER 0
#define CONFIG_IMAGE_QDRAW_PIPE_DEMUXER 0
#define CONFIG_IMAGE_SGI_PIPE_DEMUXER 0
#define CONFIG_IMAGE_SUNRAST_PIPE_DEMUXER 0
@ -1461,6 +1521,11 @@
#define CONFIG_TEXT_ENCODER 0
#define CONFIG_WEBVTT_ENCODER 0
#define CONFIG_XSUB_ENCODER 0
#define CONFIG_AAC_AT_ENCODER 0
#define CONFIG_ALAC_AT_ENCODER 0
#define CONFIG_ILBC_AT_ENCODER 0
#define CONFIG_PCM_ALAW_AT_ENCODER 0
#define CONFIG_PCM_MULAW_AT_ENCODER 0
#define CONFIG_LIBFAAC_ENCODER 0
#define CONFIG_LIBFDK_AAC_ENCODER 0
#define CONFIG_LIBGSM_ENCODER 0
@ -1475,7 +1540,6 @@
#define CONFIG_LIBSPEEX_ENCODER 0
#define CONFIG_LIBTHEORA_ENCODER 0
#define CONFIG_LIBTWOLAME_ENCODER 0
#define CONFIG_LIBUTVIDEO_ENCODER 0
#define CONFIG_LIBVO_AMRWBENC_ENCODER 0
#define CONFIG_LIBVORBIS_ENCODER 0
#define CONFIG_LIBVPX_VP8_ENCODER 0
@ -1490,13 +1554,21 @@
#define CONFIG_LIBXAVS_ENCODER 0
#define CONFIG_LIBXVID_ENCODER 0
#define CONFIG_LIBOPENH264_ENCODER 0
#define CONFIG_H264_NVENC_ENCODER 0
#define CONFIG_H264_OMX_ENCODER 0
#define CONFIG_H264_QSV_ENCODER 0
#define CONFIG_H264_VAAPI_ENCODER 0
#define CONFIG_H264_VIDEOTOOLBOX_ENCODER 0
#define CONFIG_NVENC_ENCODER 0
#define CONFIG_NVENC_H264_ENCODER 0
#define CONFIG_NVENC_HEVC_ENCODER 0
#define CONFIG_HEVC_NVENC_ENCODER 0
#define CONFIG_HEVC_QSV_ENCODER 0
#define CONFIG_HEVC_VAAPI_ENCODER 0
#define CONFIG_LIBKVAZAAR_ENCODER 0
#define CONFIG_MJPEG_VAAPI_ENCODER 0
#define CONFIG_MPEG2_QSV_ENCODER 0
#define CONFIG_ABENCH_FILTER 0
#define CONFIG_ACOMPRESSOR_FILTER 0
#define CONFIG_ACROSSFADE_FILTER 0
#define CONFIG_ADELAY_FILTER 0
@ -1510,6 +1582,7 @@
#define CONFIG_AINTERLEAVE_FILTER 0
#define CONFIG_ALIMITER_FILTER 0
#define CONFIG_ALLPASS_FILTER 0
#define CONFIG_ALOOP_FILTER 0
#define CONFIG_AMERGE_FILTER 0
#define CONFIG_AMETADATA_FILTER 0
#define CONFIG_AMIX_FILTER 0
@ -1552,10 +1625,13 @@
#define CONFIG_EBUR128_FILTER 0
#define CONFIG_EQUALIZER_FILTER 0
#define CONFIG_EXTRASTEREO_FILTER 0
#define CONFIG_FIREQUALIZER_FILTER 0
#define CONFIG_FLANGER_FILTER 0
#define CONFIG_HDCD_FILTER 0
#define CONFIG_HIGHPASS_FILTER 0
#define CONFIG_JOIN_FILTER 0
#define CONFIG_LADSPA_FILTER 0
#define CONFIG_LOUDNORM_FILTER 0
#define CONFIG_LOWPASS_FILTER 0
#define CONFIG_PAN_FILTER 0
#define CONFIG_REPLAYGAIN_FILTER 0
@ -1583,24 +1659,30 @@
#define CONFIG_ALPHAMERGE_FILTER 0
#define CONFIG_ATADENOISE_FILTER 0
#define CONFIG_ASS_FILTER 0
#define CONFIG_BENCH_FILTER 0
#define CONFIG_BBOX_FILTER 0
#define CONFIG_BLACKDETECT_FILTER 0
#define CONFIG_BLACKFRAME_FILTER 0
#define CONFIG_BLEND_FILTER 0
#define CONFIG_BOXBLUR_FILTER 0
#define CONFIG_BWDIF_FILTER 0
#define CONFIG_CHROMAKEY_FILTER 0
#define CONFIG_CIESCOPE_FILTER 0
#define CONFIG_CODECVIEW_FILTER 0
#define CONFIG_COLORBALANCE_FILTER 0
#define CONFIG_COLORCHANNELMIXER_FILTER 0
#define CONFIG_COLORKEY_FILTER 0
#define CONFIG_COLORLEVELS_FILTER 0
#define CONFIG_COLORMATRIX_FILTER 0
#define CONFIG_COLORSPACE_FILTER 0
#define CONFIG_CONVOLUTION_FILTER 0
#define CONFIG_COPY_FILTER 0
#define CONFIG_COREIMAGE_FILTER 0
#define CONFIG_COVER_RECT_FILTER 0
#define CONFIG_CROP_FILTER 0
#define CONFIG_CROPDETECT_FILTER 0
#define CONFIG_CURVES_FILTER 0
#define CONFIG_DATASCOPE_FILTER 0
#define CONFIG_DCTDNOIZ_FILTER 0
#define CONFIG_DEBAND_FILTER 0
#define CONFIG_DECIMATE_FILTER 0
@ -1623,6 +1705,7 @@
#define CONFIG_FADE_FILTER 0
#define CONFIG_FFTFILT_FILTER 0
#define CONFIG_FIELD_FILTER 0
#define CONFIG_FIELDHINT_FILTER 0
#define CONFIG_FIELDMATCH_FILTER 0
#define CONFIG_FIELDORDER_FILTER 0
#define CONFIG_FIND_RECT_FILTER 0
@ -1641,6 +1724,9 @@
#define CONFIG_HISTOGRAM_FILTER 0
#define CONFIG_HQDN3D_FILTER 0
#define CONFIG_HQX_FILTER 0
#define CONFIG_HWDOWNLOAD_FILTER 0
#define CONFIG_HWUPLOAD_FILTER 0
#define CONFIG_HWUPLOAD_CUDA_FILTER 0
#define CONFIG_HSTACK_FILTER 0
#define CONFIG_HUE_FILTER 0
#define CONFIG_IDET_FILTER 0
@ -1650,6 +1736,7 @@
#define CONFIG_INTERLEAVE_FILTER 0
#define CONFIG_KERNDEINT_FILTER 0
#define CONFIG_LENSCORRECTION_FILTER 0
#define CONFIG_LOOP_FILTER 0
#define CONFIG_LUT3D_FILTER 0
#define CONFIG_LUT_FILTER 0
#define CONFIG_LUTRGB_FILTER 0
@ -1681,7 +1768,9 @@
#define CONFIG_PULLUP_FILTER 0
#define CONFIG_QP_FILTER 0
#define CONFIG_RANDOM_FILTER 0
#define CONFIG_READVITC_FILTER 0
#define CONFIG_REALTIME_FILTER 0
#define CONFIG_REMAP_FILTER 0
#define CONFIG_REMOVEGRAIN_FILTER 0
#define CONFIG_REMOVELOGO_FILTER 0
#define CONFIG_REPEATFIELDS_FILTER 0
@ -1690,6 +1779,8 @@
#define CONFIG_SAB_FILTER 0
#define CONFIG_SCALE_FILTER 0
#define CONFIG_SCALE2REF_FILTER 0
#define CONFIG_SCALE_NPP_FILTER 0
#define CONFIG_SCALE_VAAPI_FILTER 0
#define CONFIG_SELECT_FILTER 0
#define CONFIG_SELECTIVECOLOR_FILTER 0
#define CONFIG_SENDCMD_FILTER 0
@ -1740,6 +1831,7 @@
#define CONFIG_ALLYUV_FILTER 0
#define CONFIG_CELLAUTO_FILTER 0
#define CONFIG_COLOR_FILTER 0
#define CONFIG_COREIMAGESRC_FILTER 0
#define CONFIG_FREI0R_SRC_FILTER 0
#define CONFIG_HALDCLUTSRC_FILTER 0
#define CONFIG_LIFE_FILTER 0
@ -1769,6 +1861,7 @@
#define CONFIG_MOVIE_FILTER 0
#define CONFIG_H263_VAAPI_HWACCEL 0
#define CONFIG_H263_VIDEOTOOLBOX_HWACCEL 0
#define CONFIG_H264_CUVID_HWACCEL 0
#define CONFIG_H264_D3D11VA_HWACCEL 0
#define CONFIG_H264_DXVA2_HWACCEL 0
#define CONFIG_H264_MMAL_HWACCEL 0
@ -1778,6 +1871,7 @@
#define CONFIG_H264_VDA_OLD_HWACCEL 0
#define CONFIG_H264_VDPAU_HWACCEL 0
#define CONFIG_H264_VIDEOTOOLBOX_HWACCEL 0
#define CONFIG_HEVC_CUVID_HWACCEL 0
#define CONFIG_HEVC_D3D11VA_HWACCEL 0
#define CONFIG_HEVC_DXVA2_HWACCEL 0
#define CONFIG_HEVC_QSV_HWACCEL 0
@ -1798,12 +1892,15 @@
#define CONFIG_MPEG4_VAAPI_HWACCEL 0
#define CONFIG_MPEG4_VDPAU_HWACCEL 0
#define CONFIG_MPEG4_VIDEOTOOLBOX_HWACCEL 0
#define CONFIG_VC1_CUVID_HWACCEL 0
#define CONFIG_VC1_D3D11VA_HWACCEL 0
#define CONFIG_VC1_DXVA2_HWACCEL 0
#define CONFIG_VC1_VAAPI_HWACCEL 0
#define CONFIG_VC1_VDPAU_HWACCEL 0
#define CONFIG_VC1_MMAL_HWACCEL 0
#define CONFIG_VC1_QSV_HWACCEL 0
#define CONFIG_VP8_CUVID_HWACCEL 0
#define CONFIG_VP9_CUVID_HWACCEL 0
#define CONFIG_VP9_D3D11VA_HWACCEL 0
#define CONFIG_VP9_DXVA2_HWACCEL 0
#define CONFIG_VP9_VAAPI_HWACCEL 0
@ -1866,14 +1963,17 @@
#define CONFIG_FLAC_MUXER 0
#define CONFIG_FLV_MUXER 0
#define CONFIG_FRAMECRC_MUXER 0
#define CONFIG_FRAMEHASH_MUXER 0
#define CONFIG_FRAMEMD5_MUXER 0
#define CONFIG_G722_MUXER 0
#define CONFIG_G723_1_MUXER 0
#define CONFIG_GIF_MUXER 0
#define CONFIG_GSM_MUXER 0
#define CONFIG_GXF_MUXER 0
#define CONFIG_H261_MUXER 0
#define CONFIG_H263_MUXER 0
#define CONFIG_H264_MUXER 0
#define CONFIG_HASH_MUXER 0
#define CONFIG_HDS_MUXER 0
#define CONFIG_HEVC_MUXER 0
#define CONFIG_HLS_MUXER 0
@ -2058,9 +2158,9 @@
#define CONFIG_SRTP_PROTOCOL 0
#define CONFIG_SUBFILE_PROTOCOL 0
#define CONFIG_TCP_PROTOCOL 0
#define CONFIG_TLS_GNUTLS_PROTOCOL 0
#define CONFIG_TLS_SCHANNEL_PROTOCOL 0
#define CONFIG_TLS_SECURETRANSPORT_PROTOCOL 0
#define CONFIG_TLS_GNUTLS_PROTOCOL 0
#define CONFIG_TLS_OPENSSL_PROTOCOL 0
#define CONFIG_UDP_PROTOCOL 0
#define CONFIG_UDPLITE_PROTOCOL 0

Просмотреть файл

@ -56,6 +56,7 @@
%define HAVE_I686 1
%define HAVE_MIPSFPU 0
%define HAVE_MIPS32R2 0
%define HAVE_MIPS32R5 0
%define HAVE_MIPS64R2 0
%define HAVE_MIPS32R6 0
%define HAVE_MIPS64R6 0
@ -99,6 +100,7 @@
%define HAVE_I686_EXTERNAL 0
%define HAVE_MIPSFPU_EXTERNAL 0
%define HAVE_MIPS32R2_EXTERNAL 0
%define HAVE_MIPS32R5_EXTERNAL 0
%define HAVE_MIPS64R2_EXTERNAL 0
%define HAVE_MIPS32R6_EXTERNAL 0
%define HAVE_MIPS64R6_EXTERNAL 0
@ -142,6 +144,7 @@
%define HAVE_I686_INLINE 0
%define HAVE_MIPSFPU_INLINE 0
%define HAVE_MIPS32R2_INLINE 0
%define HAVE_MIPS32R5_INLINE 0
%define HAVE_MIPS64R2_INLINE 0
%define HAVE_MIPS32R6_INLINE 0
%define HAVE_MIPS64R6_INLINE 0
@ -169,6 +172,7 @@
%define HAVE_MM_EMPTY 0
%define HAVE_RDTSC 1
%define HAVE_SARESTART 0
%define HAVE_SEM_TIMEDWAIT 1
%define HAVE_SYNC_VAL_COMPARE_AND_SWAP 0
%define HAVE_CABS 0
%define HAVE_CEXP 0
@ -184,6 +188,7 @@
%define HAVE_ASM_TYPES_H 0
%define HAVE_CDIO_PARANOIA_H 0
%define HAVE_CDIO_PARANOIA_PARANOIA_H 0
%define HAVE_DISPATCH_DISPATCH_H 0
%define HAVE_DEV_BKTR_IOCTL_BT848_H 0
%define HAVE_DEV_BKTR_IOCTL_METEOR_H 0
%define HAVE_DEV_IC_BT8XX_H 0
@ -332,6 +337,7 @@
%define HAVE_STRUCT_GROUP_SOURCE_REQ 1
%define HAVE_STRUCT_IP_MREQ_SOURCE 1
%define HAVE_STRUCT_IPV6_MREQ 1
%define HAVE_STRUCT_MSGHDR_MSG_FLAGS 1
%define HAVE_STRUCT_POLLFD 0
%define HAVE_STRUCT_RUSAGE_RU_MAXRSS 0
%define HAVE_STRUCT_SCTP_EVENT_SUBSCRIBE 0
@ -349,12 +355,14 @@
%define HAVE_LIBDC1394_2 0
%define HAVE_MAKEINFO 1
%define HAVE_MAKEINFO_HTML 0
%define HAVE_MMAL_PARAMETER_VIDEO_MAX_NUM_CALLBACKS 0
%define HAVE_PERL 1
%define HAVE_POD2MAN 1
%define HAVE_SDL 0
%define HAVE_SECTION_DATA_REL_RO 0
%define HAVE_TEXI2HTML 0
%define HAVE_THREADS 1
%define HAVE_VAAPI_DRM 0
%define HAVE_VAAPI_X11 0
%define HAVE_VDPAU_X11 0
%define HAVE_WINRT 0
@ -401,6 +409,7 @@
%define CONFIG_GMP 0
%define CONFIG_GNUTLS 0
%define CONFIG_ICONV 0
%define CONFIG_JNI 0
%define CONFIG_LADSPA 0
%define CONFIG_LIBASS 0
%define CONFIG_LIBBLURAY 0
@ -409,7 +418,7 @@
%define CONFIG_LIBCDIO 0
%define CONFIG_LIBCELT 0
%define CONFIG_LIBDC1394 0
%define CONFIG_LIBDCADEC 0
%define CONFIG_LIBEBUR128 0
%define CONFIG_LIBFAAC 0
%define CONFIG_LIBFDK_AAC 0
%define CONFIG_LIBFLITE 0
@ -421,7 +430,6 @@
%define CONFIG_LIBIEC61883 0
%define CONFIG_LIBILBC 0
%define CONFIG_LIBKVAZAAR 0
%define CONFIG_LIBMFX 0
%define CONFIG_LIBMODPLUG 0
%define CONFIG_LIBMP3LAME 0
%define CONFIG_LIBNUT 0
@ -444,7 +452,6 @@
%define CONFIG_LIBTESSERACT 0
%define CONFIG_LIBTHEORA 0
%define CONFIG_LIBTWOLAME 0
%define CONFIG_LIBUTVIDEO 0
%define CONFIG_LIBV4L2 0
%define CONFIG_LIBVIDSTAB 0
%define CONFIG_LIBVO_AMRWBENC 0
@ -464,9 +471,8 @@
%define CONFIG_LIBZMQ 0
%define CONFIG_LIBZVBI 0
%define CONFIG_LZMA 0
%define CONFIG_MMAL 0
%define CONFIG_MEDIACODEC 0
%define CONFIG_NETCDF 0
%define CONFIG_NVENC 0
%define CONFIG_OPENAL 0
%define CONFIG_OPENCL 0
%define CONFIG_OPENGL 0
@ -474,25 +480,35 @@
%define CONFIG_SCHANNEL 1
%define CONFIG_SDL 0
%define CONFIG_SECURETRANSPORT 0
%define CONFIG_VIDEOTOOLBOX 0
%define CONFIG_X11GRAB 0
%define CONFIG_XLIB 0
%define CONFIG_ZLIB 0
%define CONFIG_AUDIOTOOLBOX 0
%define CONFIG_CUDA 0
%define CONFIG_CUVID 0
%define CONFIG_D3D11VA 0
%define CONFIG_DXVA2 0
%define CONFIG_LIBMFX 0
%define CONFIG_LIBNPP 0
%define CONFIG_MMAL 0
%define CONFIG_NVENC 0
%define CONFIG_OMX 0
%define CONFIG_VAAPI 0
%define CONFIG_VDA 0
%define CONFIG_VDPAU 0
%define CONFIG_VIDEOTOOLBOX_HWACCEL 0
%define CONFIG_XVMC 0
%define CONFIG_FTRAPV 0
%define CONFIG_GRAY 0
%define CONFIG_HARDCODED_TABLES 0
%define CONFIG_OMX_RPI 0
%define CONFIG_RUNTIME_CPUDETECT 1
%define CONFIG_SAFE_BITSTREAM_READER 1
%define CONFIG_SHARED 1
%define CONFIG_SMALL 0
%define CONFIG_STATIC 0
%define CONFIG_SWSCALE_ALPHA 1
%define CONFIG_D3D11VA 0
%define CONFIG_DXVA2 0
%define CONFIG_VAAPI 0
%define CONFIG_VDA 0
%define CONFIG_VDPAU 0
%define CONFIG_VIDEOTOOLBOX 0
%define CONFIG_XVMC 0
%define CONFIG_GPL 0
%define CONFIG_NONFREE 0
%define CONFIG_VERSION3 0
@ -564,6 +580,7 @@
%define CONFIG_IIRFILTER 0
%define CONFIG_IMDCT15 0
%define CONFIG_INTRAX8 0
%define CONFIG_ISO_MEDIA 0
%define CONFIG_IVIDSP 0
%define CONFIG_JPEGTABLES 0
%define CONFIG_LGPLV3 0
@ -592,19 +609,24 @@
%define CONFIG_RV34DSP 0
%define CONFIG_SINEWIN 0
%define CONFIG_SNAPPY 0
%define CONFIG_SRTP 0
%define CONFIG_STARTCODE 0
%define CONFIG_TEXTUREDSP 0
%define CONFIG_TEXTUREDSPENC 0
%define CONFIG_TPELDSP 0
%define CONFIG_VAAPI_ENCODE 0
%define CONFIG_VC1DSP 0
%define CONFIG_VIDEODSP 1
%define CONFIG_VP3DSP 0
%define CONFIG_VP56DSP 0
%define CONFIG_VP8DSP 1
%define CONFIG_VT_BT2020 0
%define CONFIG_WMA_FREQS 0
%define CONFIG_WMV2DSP 0
%define CONFIG_AAC_ADTSTOASC_BSF 0
%define CONFIG_CHOMP_BSF 0
%define CONFIG_DUMP_EXTRADATA_BSF 0
%define CONFIG_DCA_CORE_BSF 0
%define CONFIG_H264_MP4TOANNEXB_BSF 0
%define CONFIG_HEVC_MP4TOANNEXB_BSF 0
%define CONFIG_IMX_DUMP_HEADER_BSF 0
@ -616,6 +638,7 @@
%define CONFIG_NOISE_BSF 0
%define CONFIG_REMOVE_EXTRADATA_BSF 0
%define CONFIG_TEXT2MOVSUB_BSF 0
%define CONFIG_VP9_SUPERFRAME_BSF 0
%define CONFIG_AASC_DECODER 0
%define CONFIG_AIC_DECODER 0
%define CONFIG_ALIAS_PIX_DECODER 0
@ -690,6 +713,7 @@
%define CONFIG_H263P_DECODER 0
%define CONFIG_H264_DECODER 0
%define CONFIG_H264_CRYSTALHD_DECODER 0
%define CONFIG_H264_MEDIACODEC_DECODER 0
%define CONFIG_H264_MMAL_DECODER 0
%define CONFIG_H264_QSV_DECODER 0
%define CONFIG_H264_VDA_DECODER 0
@ -715,6 +739,8 @@
%define CONFIG_KMVC_DECODER 0
%define CONFIG_LAGARITH_DECODER 0
%define CONFIG_LOCO_DECODER 0
%define CONFIG_M101_DECODER 0
%define CONFIG_MAGICYUV_DECODER 0
%define CONFIG_MDEC_DECODER 0
%define CONFIG_MIMIC_DECODER 0
%define CONFIG_MJPEG_DECODER 0
@ -781,6 +807,7 @@
%define CONFIG_SDX2_DPCM_DECODER 0
%define CONFIG_SGI_DECODER 0
%define CONFIG_SGIRLE_DECODER 0
%define CONFIG_SHEERVIDEO_DECODER 0
%define CONFIG_SMACKER_DECODER 0
%define CONFIG_SMC_DECODER 0
%define CONFIG_SMVJPEG_DECODER 0
@ -799,6 +826,7 @@
%define CONFIG_TMV_DECODER 0
%define CONFIG_TRUEMOTION1_DECODER 0
%define CONFIG_TRUEMOTION2_DECODER 0
%define CONFIG_TRUEMOTION2RT_DECODER 0
%define CONFIG_TSCC_DECODER 0
%define CONFIG_TSCC2_DECODER 0
%define CONFIG_TXD_DECODER 0
@ -844,6 +872,7 @@
%define CONFIG_XL_DECODER 0
%define CONFIG_XWD_DECODER 0
%define CONFIG_Y41P_DECODER 0
%define CONFIG_YLC_DECODER 0
%define CONFIG_YOP_DECODER 0
%define CONFIG_YUV4_DECODER 0
%define CONFIG_ZERO12V_DECODER 0
@ -874,6 +903,7 @@
%define CONFIG_DSD_MSBF_PLANAR_DECODER 0
%define CONFIG_DSICINAUDIO_DECODER 0
%define CONFIG_DSS_SP_DECODER 0
%define CONFIG_DST_DECODER 0
%define CONFIG_EAC3_DECODER 0
%define CONFIG_EVRC_DECODER 0
%define CONFIG_FFWAVESYNTH_DECODER 0
@ -981,6 +1011,7 @@
%define CONFIG_ADPCM_G726LE_DECODER 0
%define CONFIG_ADPCM_IMA_AMV_DECODER 0
%define CONFIG_ADPCM_IMA_APC_DECODER 0
%define CONFIG_ADPCM_IMA_DAT4_DECODER 0
%define CONFIG_ADPCM_IMA_DK3_DECODER 0
%define CONFIG_ADPCM_IMA_DK4_DECODER 0
%define CONFIG_ADPCM_IMA_EA_EACS_DECODER 0
@ -993,6 +1024,7 @@
%define CONFIG_ADPCM_IMA_WAV_DECODER 0
%define CONFIG_ADPCM_IMA_WS_DECODER 0
%define CONFIG_ADPCM_MS_DECODER 0
%define CONFIG_ADPCM_MTAF_DECODER 0
%define CONFIG_ADPCM_PSX_DECODER 0
%define CONFIG_ADPCM_SBPRO_2_DECODER 0
%define CONFIG_ADPCM_SBPRO_3_DECODER 0
@ -1025,8 +1057,22 @@
%define CONFIG_VPLAYER_DECODER 0
%define CONFIG_WEBVTT_DECODER 0
%define CONFIG_XSUB_DECODER 0
%define CONFIG_AAC_AT_DECODER 0
%define CONFIG_AC3_AT_DECODER 0
%define CONFIG_ADPCM_IMA_QT_AT_DECODER 0
%define CONFIG_ALAC_AT_DECODER 0
%define CONFIG_AMR_NB_AT_DECODER 0
%define CONFIG_EAC3_AT_DECODER 0
%define CONFIG_GSM_MS_AT_DECODER 0
%define CONFIG_ILBC_AT_DECODER 0
%define CONFIG_MP1_AT_DECODER 0
%define CONFIG_MP2_AT_DECODER 0
%define CONFIG_MP3_AT_DECODER 0
%define CONFIG_PCM_ALAW_AT_DECODER 0
%define CONFIG_PCM_MULAW_AT_DECODER 0
%define CONFIG_QDMC_AT_DECODER 0
%define CONFIG_QDM2_AT_DECODER 0
%define CONFIG_LIBCELT_DECODER 0
%define CONFIG_LIBDCADEC_DECODER 0
%define CONFIG_LIBFDK_AAC_DECODER 0
%define CONFIG_LIBGSM_DECODER 0
%define CONFIG_LIBGSM_MS_DECODER 0
@ -1037,7 +1083,6 @@
%define CONFIG_LIBOPUS_DECODER 0
%define CONFIG_LIBSCHROEDINGER_DECODER 0
%define CONFIG_LIBSPEEX_DECODER 0
%define CONFIG_LIBUTVIDEO_DECODER 0
%define CONFIG_LIBVORBIS_DECODER 0
%define CONFIG_LIBVPX_VP8_DECODER 0
%define CONFIG_LIBVPX_VP9_DECODER 0
@ -1045,6 +1090,11 @@
%define CONFIG_BINTEXT_DECODER 0
%define CONFIG_XBIN_DECODER 0
%define CONFIG_IDF_DECODER 0
%define CONFIG_H264_CUVID_DECODER 0
%define CONFIG_HEVC_CUVID_DECODER 0
%define CONFIG_VC1_CUVID_DECODER 0
%define CONFIG_VP8_CUVID_DECODER 0
%define CONFIG_VP9_CUVID_DECODER 0
%define CONFIG_AA_DEMUXER 0
%define CONFIG_AAC_DEMUXER 0
%define CONFIG_AC3_DEMUXER 0
@ -1057,6 +1107,7 @@
%define CONFIG_AEA_DEMUXER 0
%define CONFIG_AFC_DEMUXER 0
%define CONFIG_AIFF_DEMUXER 0
%define CONFIG_AIX_DEMUXER 0
%define CONFIG_AMR_DEMUXER 0
%define CONFIG_ANM_DEMUXER 0
%define CONFIG_APC_DEMUXER 0
@ -1101,6 +1152,7 @@
%define CONFIG_DTSHD_DEMUXER 0
%define CONFIG_DV_DEMUXER 0
%define CONFIG_DVBSUB_DEMUXER 0
%define CONFIG_DVBTXT_DEMUXER 0
%define CONFIG_DXA_DEMUXER 0
%define CONFIG_EA_DEMUXER 0
%define CONFIG_EA_CDATA_DEMUXER 0
@ -1174,7 +1226,9 @@
%define CONFIG_MPSUB_DEMUXER 0
%define CONFIG_MSF_DEMUXER 0
%define CONFIG_MSNWC_TCP_DEMUXER 0
%define CONFIG_MTAF_DEMUXER 0
%define CONFIG_MTV_DEMUXER 0
%define CONFIG_MUSX_DEMUXER 0
%define CONFIG_MV_DEMUXER 0
%define CONFIG_MVI_DEMUXER 0
%define CONFIG_MXF_DEMUXER 0
@ -1275,6 +1329,7 @@
%define CONFIG_WEBM_DASH_MANIFEST_DEMUXER 0
%define CONFIG_WEBVTT_DEMUXER 0
%define CONFIG_WSAUD_DEMUXER 0
%define CONFIG_WSD_DEMUXER 0
%define CONFIG_WSVQA_DEMUXER 0
%define CONFIG_WTV_DEMUXER 0
%define CONFIG_WVE_DEMUXER 0
@ -1293,8 +1348,14 @@
%define CONFIG_IMAGE_J2K_PIPE_DEMUXER 0
%define CONFIG_IMAGE_JPEG_PIPE_DEMUXER 0
%define CONFIG_IMAGE_JPEGLS_PIPE_DEMUXER 0
%define CONFIG_IMAGE_PAM_PIPE_DEMUXER 0
%define CONFIG_IMAGE_PBM_PIPE_DEMUXER 0
%define CONFIG_IMAGE_PCX_PIPE_DEMUXER 0
%define CONFIG_IMAGE_PGMYUV_PIPE_DEMUXER 0
%define CONFIG_IMAGE_PGM_PIPE_DEMUXER 0
%define CONFIG_IMAGE_PICTOR_PIPE_DEMUXER 0
%define CONFIG_IMAGE_PNG_PIPE_DEMUXER 0
%define CONFIG_IMAGE_PPM_PIPE_DEMUXER 0
%define CONFIG_IMAGE_QDRAW_PIPE_DEMUXER 0
%define CONFIG_IMAGE_SGI_PIPE_DEMUXER 0
%define CONFIG_IMAGE_SUNRAST_PIPE_DEMUXER 0
@ -1445,6 +1506,11 @@
%define CONFIG_TEXT_ENCODER 0
%define CONFIG_WEBVTT_ENCODER 0
%define CONFIG_XSUB_ENCODER 0
%define CONFIG_AAC_AT_ENCODER 0
%define CONFIG_ALAC_AT_ENCODER 0
%define CONFIG_ILBC_AT_ENCODER 0
%define CONFIG_PCM_ALAW_AT_ENCODER 0
%define CONFIG_PCM_MULAW_AT_ENCODER 0
%define CONFIG_LIBFAAC_ENCODER 0
%define CONFIG_LIBFDK_AAC_ENCODER 0
%define CONFIG_LIBGSM_ENCODER 0
@ -1459,7 +1525,6 @@
%define CONFIG_LIBSPEEX_ENCODER 0
%define CONFIG_LIBTHEORA_ENCODER 0
%define CONFIG_LIBTWOLAME_ENCODER 0
%define CONFIG_LIBUTVIDEO_ENCODER 0
%define CONFIG_LIBVO_AMRWBENC_ENCODER 0
%define CONFIG_LIBVORBIS_ENCODER 0
%define CONFIG_LIBVPX_VP8_ENCODER 0
@ -1474,13 +1539,21 @@
%define CONFIG_LIBXAVS_ENCODER 0
%define CONFIG_LIBXVID_ENCODER 0
%define CONFIG_LIBOPENH264_ENCODER 0
%define CONFIG_H264_NVENC_ENCODER 0
%define CONFIG_H264_OMX_ENCODER 0
%define CONFIG_H264_QSV_ENCODER 0
%define CONFIG_H264_VAAPI_ENCODER 0
%define CONFIG_H264_VIDEOTOOLBOX_ENCODER 0
%define CONFIG_NVENC_ENCODER 0
%define CONFIG_NVENC_H264_ENCODER 0
%define CONFIG_NVENC_HEVC_ENCODER 0
%define CONFIG_HEVC_NVENC_ENCODER 0
%define CONFIG_HEVC_QSV_ENCODER 0
%define CONFIG_HEVC_VAAPI_ENCODER 0
%define CONFIG_LIBKVAZAAR_ENCODER 0
%define CONFIG_MJPEG_VAAPI_ENCODER 0
%define CONFIG_MPEG2_QSV_ENCODER 0
%define CONFIG_ABENCH_FILTER 0
%define CONFIG_ACOMPRESSOR_FILTER 0
%define CONFIG_ACROSSFADE_FILTER 0
%define CONFIG_ADELAY_FILTER 0
@ -1494,6 +1567,7 @@
%define CONFIG_AINTERLEAVE_FILTER 0
%define CONFIG_ALIMITER_FILTER 0
%define CONFIG_ALLPASS_FILTER 0
%define CONFIG_ALOOP_FILTER 0
%define CONFIG_AMERGE_FILTER 0
%define CONFIG_AMETADATA_FILTER 0
%define CONFIG_AMIX_FILTER 0
@ -1536,10 +1610,13 @@
%define CONFIG_EBUR128_FILTER 0
%define CONFIG_EQUALIZER_FILTER 0
%define CONFIG_EXTRASTEREO_FILTER 0
%define CONFIG_FIREQUALIZER_FILTER 0
%define CONFIG_FLANGER_FILTER 0
%define CONFIG_HDCD_FILTER 0
%define CONFIG_HIGHPASS_FILTER 0
%define CONFIG_JOIN_FILTER 0
%define CONFIG_LADSPA_FILTER 0
%define CONFIG_LOUDNORM_FILTER 0
%define CONFIG_LOWPASS_FILTER 0
%define CONFIG_PAN_FILTER 0
%define CONFIG_REPLAYGAIN_FILTER 0
@ -1567,24 +1644,30 @@
%define CONFIG_ALPHAMERGE_FILTER 0
%define CONFIG_ATADENOISE_FILTER 0
%define CONFIG_ASS_FILTER 0
%define CONFIG_BENCH_FILTER 0
%define CONFIG_BBOX_FILTER 0
%define CONFIG_BLACKDETECT_FILTER 0
%define CONFIG_BLACKFRAME_FILTER 0
%define CONFIG_BLEND_FILTER 0
%define CONFIG_BOXBLUR_FILTER 0
%define CONFIG_BWDIF_FILTER 0
%define CONFIG_CHROMAKEY_FILTER 0
%define CONFIG_CIESCOPE_FILTER 0
%define CONFIG_CODECVIEW_FILTER 0
%define CONFIG_COLORBALANCE_FILTER 0
%define CONFIG_COLORCHANNELMIXER_FILTER 0
%define CONFIG_COLORKEY_FILTER 0
%define CONFIG_COLORLEVELS_FILTER 0
%define CONFIG_COLORMATRIX_FILTER 0
%define CONFIG_COLORSPACE_FILTER 0
%define CONFIG_CONVOLUTION_FILTER 0
%define CONFIG_COPY_FILTER 0
%define CONFIG_COREIMAGE_FILTER 0
%define CONFIG_COVER_RECT_FILTER 0
%define CONFIG_CROP_FILTER 0
%define CONFIG_CROPDETECT_FILTER 0
%define CONFIG_CURVES_FILTER 0
%define CONFIG_DATASCOPE_FILTER 0
%define CONFIG_DCTDNOIZ_FILTER 0
%define CONFIG_DEBAND_FILTER 0
%define CONFIG_DECIMATE_FILTER 0
@ -1607,6 +1690,7 @@
%define CONFIG_FADE_FILTER 0
%define CONFIG_FFTFILT_FILTER 0
%define CONFIG_FIELD_FILTER 0
%define CONFIG_FIELDHINT_FILTER 0
%define CONFIG_FIELDMATCH_FILTER 0
%define CONFIG_FIELDORDER_FILTER 0
%define CONFIG_FIND_RECT_FILTER 0
@ -1625,6 +1709,9 @@
%define CONFIG_HISTOGRAM_FILTER 0
%define CONFIG_HQDN3D_FILTER 0
%define CONFIG_HQX_FILTER 0
%define CONFIG_HWDOWNLOAD_FILTER 0
%define CONFIG_HWUPLOAD_FILTER 0
%define CONFIG_HWUPLOAD_CUDA_FILTER 0
%define CONFIG_HSTACK_FILTER 0
%define CONFIG_HUE_FILTER 0
%define CONFIG_IDET_FILTER 0
@ -1634,6 +1721,7 @@
%define CONFIG_INTERLEAVE_FILTER 0
%define CONFIG_KERNDEINT_FILTER 0
%define CONFIG_LENSCORRECTION_FILTER 0
%define CONFIG_LOOP_FILTER 0
%define CONFIG_LUT3D_FILTER 0
%define CONFIG_LUT_FILTER 0
%define CONFIG_LUTRGB_FILTER 0
@ -1665,7 +1753,9 @@
%define CONFIG_PULLUP_FILTER 0
%define CONFIG_QP_FILTER 0
%define CONFIG_RANDOM_FILTER 0
%define CONFIG_READVITC_FILTER 0
%define CONFIG_REALTIME_FILTER 0
%define CONFIG_REMAP_FILTER 0
%define CONFIG_REMOVEGRAIN_FILTER 0
%define CONFIG_REMOVELOGO_FILTER 0
%define CONFIG_REPEATFIELDS_FILTER 0
@ -1674,6 +1764,8 @@
%define CONFIG_SAB_FILTER 0
%define CONFIG_SCALE_FILTER 0
%define CONFIG_SCALE2REF_FILTER 0
%define CONFIG_SCALE_NPP_FILTER 0
%define CONFIG_SCALE_VAAPI_FILTER 0
%define CONFIG_SELECT_FILTER 0
%define CONFIG_SELECTIVECOLOR_FILTER 0
%define CONFIG_SENDCMD_FILTER 0
@ -1724,6 +1816,7 @@
%define CONFIG_ALLYUV_FILTER 0
%define CONFIG_CELLAUTO_FILTER 0
%define CONFIG_COLOR_FILTER 0
%define CONFIG_COREIMAGESRC_FILTER 0
%define CONFIG_FREI0R_SRC_FILTER 0
%define CONFIG_HALDCLUTSRC_FILTER 0
%define CONFIG_LIFE_FILTER 0
@ -1753,6 +1846,7 @@
%define CONFIG_MOVIE_FILTER 0
%define CONFIG_H263_VAAPI_HWACCEL 0
%define CONFIG_H263_VIDEOTOOLBOX_HWACCEL 0
%define CONFIG_H264_CUVID_HWACCEL 0
%define CONFIG_H264_D3D11VA_HWACCEL 0
%define CONFIG_H264_DXVA2_HWACCEL 0
%define CONFIG_H264_MMAL_HWACCEL 0
@ -1762,6 +1856,7 @@
%define CONFIG_H264_VDA_OLD_HWACCEL 0
%define CONFIG_H264_VDPAU_HWACCEL 0
%define CONFIG_H264_VIDEOTOOLBOX_HWACCEL 0
%define CONFIG_HEVC_CUVID_HWACCEL 0
%define CONFIG_HEVC_D3D11VA_HWACCEL 0
%define CONFIG_HEVC_DXVA2_HWACCEL 0
%define CONFIG_HEVC_QSV_HWACCEL 0
@ -1782,12 +1877,15 @@
%define CONFIG_MPEG4_VAAPI_HWACCEL 0
%define CONFIG_MPEG4_VDPAU_HWACCEL 0
%define CONFIG_MPEG4_VIDEOTOOLBOX_HWACCEL 0
%define CONFIG_VC1_CUVID_HWACCEL 0
%define CONFIG_VC1_D3D11VA_HWACCEL 0
%define CONFIG_VC1_DXVA2_HWACCEL 0
%define CONFIG_VC1_VAAPI_HWACCEL 0
%define CONFIG_VC1_VDPAU_HWACCEL 0
%define CONFIG_VC1_MMAL_HWACCEL 0
%define CONFIG_VC1_QSV_HWACCEL 0
%define CONFIG_VP8_CUVID_HWACCEL 0
%define CONFIG_VP9_CUVID_HWACCEL 0
%define CONFIG_VP9_D3D11VA_HWACCEL 0
%define CONFIG_VP9_DXVA2_HWACCEL 0
%define CONFIG_VP9_VAAPI_HWACCEL 0
@ -1850,14 +1948,17 @@
%define CONFIG_FLAC_MUXER 0
%define CONFIG_FLV_MUXER 0
%define CONFIG_FRAMECRC_MUXER 0
%define CONFIG_FRAMEHASH_MUXER 0
%define CONFIG_FRAMEMD5_MUXER 0
%define CONFIG_G722_MUXER 0
%define CONFIG_G723_1_MUXER 0
%define CONFIG_GIF_MUXER 0
%define CONFIG_GSM_MUXER 0
%define CONFIG_GXF_MUXER 0
%define CONFIG_H261_MUXER 0
%define CONFIG_H263_MUXER 0
%define CONFIG_H264_MUXER 0
%define CONFIG_HASH_MUXER 0
%define CONFIG_HDS_MUXER 0
%define CONFIG_HEVC_MUXER 0
%define CONFIG_HLS_MUXER 0
@ -2042,9 +2143,9 @@
%define CONFIG_SRTP_PROTOCOL 0
%define CONFIG_SUBFILE_PROTOCOL 0
%define CONFIG_TCP_PROTOCOL 0
%define CONFIG_TLS_GNUTLS_PROTOCOL 0
%define CONFIG_TLS_SCHANNEL_PROTOCOL 0
%define CONFIG_TLS_SECURETRANSPORT_PROTOCOL 0
%define CONFIG_TLS_GNUTLS_PROTOCOL 0
%define CONFIG_TLS_OPENSSL_PROTOCOL 0
%define CONFIG_UDP_PROTOCOL 0
%define CONFIG_UDPLITE_PROTOCOL 0

Просмотреть файл

@ -72,6 +72,7 @@
#define HAVE_I686 1
#define HAVE_MIPSFPU 0
#define HAVE_MIPS32R2 0
#define HAVE_MIPS32R5 0
#define HAVE_MIPS64R2 0
#define HAVE_MIPS32R6 0
#define HAVE_MIPS64R6 0
@ -115,6 +116,7 @@
#define HAVE_I686_EXTERNAL 0
#define HAVE_MIPSFPU_EXTERNAL 0
#define HAVE_MIPS32R2_EXTERNAL 0
#define HAVE_MIPS32R5_EXTERNAL 0
#define HAVE_MIPS64R2_EXTERNAL 0
#define HAVE_MIPS32R6_EXTERNAL 0
#define HAVE_MIPS64R6_EXTERNAL 0
@ -158,6 +160,7 @@
#define HAVE_I686_INLINE 0
#define HAVE_MIPSFPU_INLINE 0
#define HAVE_MIPS32R2_INLINE 0
#define HAVE_MIPS32R5_INLINE 0
#define HAVE_MIPS64R2_INLINE 0
#define HAVE_MIPS32R6_INLINE 0
#define HAVE_MIPS64R6_INLINE 0
@ -185,6 +188,7 @@
#define HAVE_MM_EMPTY 0
#define HAVE_RDTSC 1
#define HAVE_SARESTART 0
#define HAVE_SEM_TIMEDWAIT 1
#define HAVE_SYNC_VAL_COMPARE_AND_SWAP 0
#define HAVE_CABS 0
#define HAVE_CEXP 0
@ -200,6 +204,7 @@
#define HAVE_ASM_TYPES_H 0
#define HAVE_CDIO_PARANOIA_H 0
#define HAVE_CDIO_PARANOIA_PARANOIA_H 0
#define HAVE_DISPATCH_DISPATCH_H 0
#define HAVE_DEV_BKTR_IOCTL_BT848_H 0
#define HAVE_DEV_BKTR_IOCTL_METEOR_H 0
#define HAVE_DEV_IC_BT8XX_H 0
@ -313,7 +318,6 @@
#define HAVE_SLEEP 1
#define HAVE_STRERROR_R 0
#define HAVE_SYSCONF 0
#define HAVE_SYSCTL 0
#define HAVE_USLEEP 0
#define HAVE_UTGETOSTYPEFROMSTRING 0
#define HAVE_VIRTUALALLOC 1
@ -348,6 +352,7 @@
#define HAVE_STRUCT_GROUP_SOURCE_REQ 1
#define HAVE_STRUCT_IP_MREQ_SOURCE 1
#define HAVE_STRUCT_IPV6_MREQ 1
#define HAVE_STRUCT_MSGHDR_MSG_FLAGS 1
#define HAVE_STRUCT_POLLFD 0
#define HAVE_STRUCT_RUSAGE_RU_MAXRSS 0
#define HAVE_STRUCT_SCTP_EVENT_SUBSCRIBE 0
@ -365,12 +370,14 @@
#define HAVE_LIBDC1394_2 0
#define HAVE_MAKEINFO 1
#define HAVE_MAKEINFO_HTML 0
#define HAVE_MMAL_PARAMETER_VIDEO_MAX_NUM_CALLBACKS 0
#define HAVE_PERL 1
#define HAVE_POD2MAN 1
#define HAVE_SDL 0
#define HAVE_SECTION_DATA_REL_RO 0
#define HAVE_TEXI2HTML 0
#define HAVE_THREADS 1
#define HAVE_VAAPI_DRM 0
#define HAVE_VAAPI_X11 0
#define HAVE_VDPAU_X11 0
#define HAVE_WINRT 0
@ -417,6 +424,7 @@
#define CONFIG_GMP 0
#define CONFIG_GNUTLS 0
#define CONFIG_ICONV 0
#define CONFIG_JNI 0
#define CONFIG_LADSPA 0
#define CONFIG_LIBASS 0
#define CONFIG_LIBBLURAY 0
@ -425,7 +433,7 @@
#define CONFIG_LIBCDIO 0
#define CONFIG_LIBCELT 0
#define CONFIG_LIBDC1394 0
#define CONFIG_LIBDCADEC 0
#define CONFIG_LIBEBUR128 0
#define CONFIG_LIBFAAC 0
#define CONFIG_LIBFDK_AAC 0
#define CONFIG_LIBFLITE 0
@ -437,7 +445,6 @@
#define CONFIG_LIBIEC61883 0
#define CONFIG_LIBILBC 0
#define CONFIG_LIBKVAZAAR 0
#define CONFIG_LIBMFX 0
#define CONFIG_LIBMODPLUG 0
#define CONFIG_LIBMP3LAME 0
#define CONFIG_LIBNUT 0
@ -460,7 +467,6 @@
#define CONFIG_LIBTESSERACT 0
#define CONFIG_LIBTHEORA 0
#define CONFIG_LIBTWOLAME 0
#define CONFIG_LIBUTVIDEO 0
#define CONFIG_LIBV4L2 0
#define CONFIG_LIBVIDSTAB 0
#define CONFIG_LIBVO_AMRWBENC 0
@ -480,9 +486,8 @@
#define CONFIG_LIBZMQ 0
#define CONFIG_LIBZVBI 0
#define CONFIG_LZMA 0
#define CONFIG_MMAL 0
#define CONFIG_MEDIACODEC 0
#define CONFIG_NETCDF 0
#define CONFIG_NVENC 0
#define CONFIG_OPENAL 0
#define CONFIG_OPENCL 0
#define CONFIG_OPENGL 0
@ -490,25 +495,35 @@
#define CONFIG_SCHANNEL 1
#define CONFIG_SDL 0
#define CONFIG_SECURETRANSPORT 0
#define CONFIG_VIDEOTOOLBOX 0
#define CONFIG_X11GRAB 0
#define CONFIG_XLIB 0
#define CONFIG_ZLIB 0
#define CONFIG_AUDIOTOOLBOX 0
#define CONFIG_CUDA 0
#define CONFIG_CUVID 0
#define CONFIG_D3D11VA 0
#define CONFIG_DXVA2 0
#define CONFIG_LIBMFX 0
#define CONFIG_LIBNPP 0
#define CONFIG_MMAL 0
#define CONFIG_NVENC 0
#define CONFIG_OMX 0
#define CONFIG_VAAPI 0
#define CONFIG_VDA 0
#define CONFIG_VDPAU 0
#define CONFIG_VIDEOTOOLBOX_HWACCEL 0
#define CONFIG_XVMC 0
#define CONFIG_FTRAPV 0
#define CONFIG_GRAY 0
#define CONFIG_HARDCODED_TABLES 0
#define CONFIG_OMX_RPI 0
#define CONFIG_RUNTIME_CPUDETECT 1
#define CONFIG_SAFE_BITSTREAM_READER 1
#define CONFIG_SHARED 1
#define CONFIG_SMALL 0
#define CONFIG_STATIC 0
#define CONFIG_SWSCALE_ALPHA 1
#define CONFIG_D3D11VA 0
#define CONFIG_DXVA2 0
#define CONFIG_VAAPI 0
#define CONFIG_VDA 0
#define CONFIG_VDPAU 0
#define CONFIG_VIDEOTOOLBOX 0
#define CONFIG_XVMC 0
#define CONFIG_GPL 0
#define CONFIG_NONFREE 0
#define CONFIG_VERSION3 0
@ -580,6 +595,7 @@
#define CONFIG_IIRFILTER 0
#define CONFIG_IMDCT15 0
#define CONFIG_INTRAX8 0
#define CONFIG_ISO_MEDIA 0
#define CONFIG_IVIDSP 0
#define CONFIG_JPEGTABLES 0
#define CONFIG_LGPLV3 0
@ -608,19 +624,24 @@
#define CONFIG_RV34DSP 0
#define CONFIG_SINEWIN 0
#define CONFIG_SNAPPY 0
#define CONFIG_SRTP 0
#define CONFIG_STARTCODE 0
#define CONFIG_TEXTUREDSP 0
#define CONFIG_TEXTUREDSPENC 0
#define CONFIG_TPELDSP 0
#define CONFIG_VAAPI_ENCODE 0
#define CONFIG_VC1DSP 0
#define CONFIG_VIDEODSP 1
#define CONFIG_VP3DSP 0
#define CONFIG_VP56DSP 0
#define CONFIG_VP8DSP 1
#define CONFIG_VT_BT2020 0
#define CONFIG_WMA_FREQS 0
#define CONFIG_WMV2DSP 0
#define CONFIG_AAC_ADTSTOASC_BSF 0
#define CONFIG_CHOMP_BSF 0
#define CONFIG_DUMP_EXTRADATA_BSF 0
#define CONFIG_DCA_CORE_BSF 0
#define CONFIG_H264_MP4TOANNEXB_BSF 0
#define CONFIG_HEVC_MP4TOANNEXB_BSF 0
#define CONFIG_IMX_DUMP_HEADER_BSF 0
@ -632,6 +653,7 @@
#define CONFIG_NOISE_BSF 0
#define CONFIG_REMOVE_EXTRADATA_BSF 0
#define CONFIG_TEXT2MOVSUB_BSF 0
#define CONFIG_VP9_SUPERFRAME_BSF 0
#define CONFIG_AASC_DECODER 0
#define CONFIG_AIC_DECODER 0
#define CONFIG_ALIAS_PIX_DECODER 0
@ -706,6 +728,7 @@
#define CONFIG_H263P_DECODER 0
#define CONFIG_H264_DECODER 0
#define CONFIG_H264_CRYSTALHD_DECODER 0
#define CONFIG_H264_MEDIACODEC_DECODER 0
#define CONFIG_H264_MMAL_DECODER 0
#define CONFIG_H264_QSV_DECODER 0
#define CONFIG_H264_VDA_DECODER 0
@ -731,6 +754,8 @@
#define CONFIG_KMVC_DECODER 0
#define CONFIG_LAGARITH_DECODER 0
#define CONFIG_LOCO_DECODER 0
#define CONFIG_M101_DECODER 0
#define CONFIG_MAGICYUV_DECODER 0
#define CONFIG_MDEC_DECODER 0
#define CONFIG_MIMIC_DECODER 0
#define CONFIG_MJPEG_DECODER 0
@ -797,6 +822,7 @@
#define CONFIG_SDX2_DPCM_DECODER 0
#define CONFIG_SGI_DECODER 0
#define CONFIG_SGIRLE_DECODER 0
#define CONFIG_SHEERVIDEO_DECODER 0
#define CONFIG_SMACKER_DECODER 0
#define CONFIG_SMC_DECODER 0
#define CONFIG_SMVJPEG_DECODER 0
@ -815,6 +841,7 @@
#define CONFIG_TMV_DECODER 0
#define CONFIG_TRUEMOTION1_DECODER 0
#define CONFIG_TRUEMOTION2_DECODER 0
#define CONFIG_TRUEMOTION2RT_DECODER 0
#define CONFIG_TSCC_DECODER 0
#define CONFIG_TSCC2_DECODER 0
#define CONFIG_TXD_DECODER 0
@ -860,6 +887,7 @@
#define CONFIG_XL_DECODER 0
#define CONFIG_XWD_DECODER 0
#define CONFIG_Y41P_DECODER 0
#define CONFIG_YLC_DECODER 0
#define CONFIG_YOP_DECODER 0
#define CONFIG_YUV4_DECODER 0
#define CONFIG_ZERO12V_DECODER 0
@ -890,6 +918,7 @@
#define CONFIG_DSD_MSBF_PLANAR_DECODER 0
#define CONFIG_DSICINAUDIO_DECODER 0
#define CONFIG_DSS_SP_DECODER 0
#define CONFIG_DST_DECODER 0
#define CONFIG_EAC3_DECODER 0
#define CONFIG_EVRC_DECODER 0
#define CONFIG_FFWAVESYNTH_DECODER 0
@ -997,6 +1026,7 @@
#define CONFIG_ADPCM_G726LE_DECODER 0
#define CONFIG_ADPCM_IMA_AMV_DECODER 0
#define CONFIG_ADPCM_IMA_APC_DECODER 0
#define CONFIG_ADPCM_IMA_DAT4_DECODER 0
#define CONFIG_ADPCM_IMA_DK3_DECODER 0
#define CONFIG_ADPCM_IMA_DK4_DECODER 0
#define CONFIG_ADPCM_IMA_EA_EACS_DECODER 0
@ -1009,6 +1039,7 @@
#define CONFIG_ADPCM_IMA_WAV_DECODER 0
#define CONFIG_ADPCM_IMA_WS_DECODER 0
#define CONFIG_ADPCM_MS_DECODER 0
#define CONFIG_ADPCM_MTAF_DECODER 0
#define CONFIG_ADPCM_PSX_DECODER 0
#define CONFIG_ADPCM_SBPRO_2_DECODER 0
#define CONFIG_ADPCM_SBPRO_3_DECODER 0
@ -1041,8 +1072,22 @@
#define CONFIG_VPLAYER_DECODER 0
#define CONFIG_WEBVTT_DECODER 0
#define CONFIG_XSUB_DECODER 0
#define CONFIG_AAC_AT_DECODER 0
#define CONFIG_AC3_AT_DECODER 0
#define CONFIG_ADPCM_IMA_QT_AT_DECODER 0
#define CONFIG_ALAC_AT_DECODER 0
#define CONFIG_AMR_NB_AT_DECODER 0
#define CONFIG_EAC3_AT_DECODER 0
#define CONFIG_GSM_MS_AT_DECODER 0
#define CONFIG_ILBC_AT_DECODER 0
#define CONFIG_MP1_AT_DECODER 0
#define CONFIG_MP2_AT_DECODER 0
#define CONFIG_MP3_AT_DECODER 0
#define CONFIG_PCM_ALAW_AT_DECODER 0
#define CONFIG_PCM_MULAW_AT_DECODER 0
#define CONFIG_QDMC_AT_DECODER 0
#define CONFIG_QDM2_AT_DECODER 0
#define CONFIG_LIBCELT_DECODER 0
#define CONFIG_LIBDCADEC_DECODER 0
#define CONFIG_LIBFDK_AAC_DECODER 0
#define CONFIG_LIBGSM_DECODER 0
#define CONFIG_LIBGSM_MS_DECODER 0
@ -1053,7 +1098,6 @@
#define CONFIG_LIBOPUS_DECODER 0
#define CONFIG_LIBSCHROEDINGER_DECODER 0
#define CONFIG_LIBSPEEX_DECODER 0
#define CONFIG_LIBUTVIDEO_DECODER 0
#define CONFIG_LIBVORBIS_DECODER 0
#define CONFIG_LIBVPX_VP8_DECODER 0
#define CONFIG_LIBVPX_VP9_DECODER 0
@ -1061,6 +1105,11 @@
#define CONFIG_BINTEXT_DECODER 0
#define CONFIG_XBIN_DECODER 0
#define CONFIG_IDF_DECODER 0
#define CONFIG_H264_CUVID_DECODER 0
#define CONFIG_HEVC_CUVID_DECODER 0
#define CONFIG_VC1_CUVID_DECODER 0
#define CONFIG_VP8_CUVID_DECODER 0
#define CONFIG_VP9_CUVID_DECODER 0
#define CONFIG_AA_DEMUXER 0
#define CONFIG_AAC_DEMUXER 0
#define CONFIG_AC3_DEMUXER 0
@ -1073,6 +1122,7 @@
#define CONFIG_AEA_DEMUXER 0
#define CONFIG_AFC_DEMUXER 0
#define CONFIG_AIFF_DEMUXER 0
#define CONFIG_AIX_DEMUXER 0
#define CONFIG_AMR_DEMUXER 0
#define CONFIG_ANM_DEMUXER 0
#define CONFIG_APC_DEMUXER 0
@ -1117,6 +1167,7 @@
#define CONFIG_DTSHD_DEMUXER 0
#define CONFIG_DV_DEMUXER 0
#define CONFIG_DVBSUB_DEMUXER 0
#define CONFIG_DVBTXT_DEMUXER 0
#define CONFIG_DXA_DEMUXER 0
#define CONFIG_EA_DEMUXER 0
#define CONFIG_EA_CDATA_DEMUXER 0
@ -1190,7 +1241,9 @@
#define CONFIG_MPSUB_DEMUXER 0
#define CONFIG_MSF_DEMUXER 0
#define CONFIG_MSNWC_TCP_DEMUXER 0
#define CONFIG_MTAF_DEMUXER 0
#define CONFIG_MTV_DEMUXER 0
#define CONFIG_MUSX_DEMUXER 0
#define CONFIG_MV_DEMUXER 0
#define CONFIG_MVI_DEMUXER 0
#define CONFIG_MXF_DEMUXER 0
@ -1291,6 +1344,7 @@
#define CONFIG_WEBM_DASH_MANIFEST_DEMUXER 0
#define CONFIG_WEBVTT_DEMUXER 0
#define CONFIG_WSAUD_DEMUXER 0
#define CONFIG_WSD_DEMUXER 0
#define CONFIG_WSVQA_DEMUXER 0
#define CONFIG_WTV_DEMUXER 0
#define CONFIG_WVE_DEMUXER 0
@ -1309,8 +1363,14 @@
#define CONFIG_IMAGE_J2K_PIPE_DEMUXER 0
#define CONFIG_IMAGE_JPEG_PIPE_DEMUXER 0
#define CONFIG_IMAGE_JPEGLS_PIPE_DEMUXER 0
#define CONFIG_IMAGE_PAM_PIPE_DEMUXER 0
#define CONFIG_IMAGE_PBM_PIPE_DEMUXER 0
#define CONFIG_IMAGE_PCX_PIPE_DEMUXER 0
#define CONFIG_IMAGE_PGMYUV_PIPE_DEMUXER 0
#define CONFIG_IMAGE_PGM_PIPE_DEMUXER 0
#define CONFIG_IMAGE_PICTOR_PIPE_DEMUXER 0
#define CONFIG_IMAGE_PNG_PIPE_DEMUXER 0
#define CONFIG_IMAGE_PPM_PIPE_DEMUXER 0
#define CONFIG_IMAGE_QDRAW_PIPE_DEMUXER 0
#define CONFIG_IMAGE_SGI_PIPE_DEMUXER 0
#define CONFIG_IMAGE_SUNRAST_PIPE_DEMUXER 0
@ -1461,6 +1521,11 @@
#define CONFIG_TEXT_ENCODER 0
#define CONFIG_WEBVTT_ENCODER 0
#define CONFIG_XSUB_ENCODER 0
#define CONFIG_AAC_AT_ENCODER 0
#define CONFIG_ALAC_AT_ENCODER 0
#define CONFIG_ILBC_AT_ENCODER 0
#define CONFIG_PCM_ALAW_AT_ENCODER 0
#define CONFIG_PCM_MULAW_AT_ENCODER 0
#define CONFIG_LIBFAAC_ENCODER 0
#define CONFIG_LIBFDK_AAC_ENCODER 0
#define CONFIG_LIBGSM_ENCODER 0
@ -1475,7 +1540,6 @@
#define CONFIG_LIBSPEEX_ENCODER 0
#define CONFIG_LIBTHEORA_ENCODER 0
#define CONFIG_LIBTWOLAME_ENCODER 0
#define CONFIG_LIBUTVIDEO_ENCODER 0
#define CONFIG_LIBVO_AMRWBENC_ENCODER 0
#define CONFIG_LIBVORBIS_ENCODER 0
#define CONFIG_LIBVPX_VP8_ENCODER 0
@ -1490,13 +1554,21 @@
#define CONFIG_LIBXAVS_ENCODER 0
#define CONFIG_LIBXVID_ENCODER 0
#define CONFIG_LIBOPENH264_ENCODER 0
#define CONFIG_H264_NVENC_ENCODER 0
#define CONFIG_H264_OMX_ENCODER 0
#define CONFIG_H264_QSV_ENCODER 0
#define CONFIG_H264_VAAPI_ENCODER 0
#define CONFIG_H264_VIDEOTOOLBOX_ENCODER 0
#define CONFIG_NVENC_ENCODER 0
#define CONFIG_NVENC_H264_ENCODER 0
#define CONFIG_NVENC_HEVC_ENCODER 0
#define CONFIG_HEVC_NVENC_ENCODER 0
#define CONFIG_HEVC_QSV_ENCODER 0
#define CONFIG_HEVC_VAAPI_ENCODER 0
#define CONFIG_LIBKVAZAAR_ENCODER 0
#define CONFIG_MJPEG_VAAPI_ENCODER 0
#define CONFIG_MPEG2_QSV_ENCODER 0
#define CONFIG_ABENCH_FILTER 0
#define CONFIG_ACOMPRESSOR_FILTER 0
#define CONFIG_ACROSSFADE_FILTER 0
#define CONFIG_ADELAY_FILTER 0
@ -1510,6 +1582,7 @@
#define CONFIG_AINTERLEAVE_FILTER 0
#define CONFIG_ALIMITER_FILTER 0
#define CONFIG_ALLPASS_FILTER 0
#define CONFIG_ALOOP_FILTER 0
#define CONFIG_AMERGE_FILTER 0
#define CONFIG_AMETADATA_FILTER 0
#define CONFIG_AMIX_FILTER 0
@ -1552,10 +1625,13 @@
#define CONFIG_EBUR128_FILTER 0
#define CONFIG_EQUALIZER_FILTER 0
#define CONFIG_EXTRASTEREO_FILTER 0
#define CONFIG_FIREQUALIZER_FILTER 0
#define CONFIG_FLANGER_FILTER 0
#define CONFIG_HDCD_FILTER 0
#define CONFIG_HIGHPASS_FILTER 0
#define CONFIG_JOIN_FILTER 0
#define CONFIG_LADSPA_FILTER 0
#define CONFIG_LOUDNORM_FILTER 0
#define CONFIG_LOWPASS_FILTER 0
#define CONFIG_PAN_FILTER 0
#define CONFIG_REPLAYGAIN_FILTER 0
@ -1583,24 +1659,30 @@
#define CONFIG_ALPHAMERGE_FILTER 0
#define CONFIG_ATADENOISE_FILTER 0
#define CONFIG_ASS_FILTER 0
#define CONFIG_BENCH_FILTER 0
#define CONFIG_BBOX_FILTER 0
#define CONFIG_BLACKDETECT_FILTER 0
#define CONFIG_BLACKFRAME_FILTER 0
#define CONFIG_BLEND_FILTER 0
#define CONFIG_BOXBLUR_FILTER 0
#define CONFIG_BWDIF_FILTER 0
#define CONFIG_CHROMAKEY_FILTER 0
#define CONFIG_CIESCOPE_FILTER 0
#define CONFIG_CODECVIEW_FILTER 0
#define CONFIG_COLORBALANCE_FILTER 0
#define CONFIG_COLORCHANNELMIXER_FILTER 0
#define CONFIG_COLORKEY_FILTER 0
#define CONFIG_COLORLEVELS_FILTER 0
#define CONFIG_COLORMATRIX_FILTER 0
#define CONFIG_COLORSPACE_FILTER 0
#define CONFIG_CONVOLUTION_FILTER 0
#define CONFIG_COPY_FILTER 0
#define CONFIG_COREIMAGE_FILTER 0
#define CONFIG_COVER_RECT_FILTER 0
#define CONFIG_CROP_FILTER 0
#define CONFIG_CROPDETECT_FILTER 0
#define CONFIG_CURVES_FILTER 0
#define CONFIG_DATASCOPE_FILTER 0
#define CONFIG_DCTDNOIZ_FILTER 0
#define CONFIG_DEBAND_FILTER 0
#define CONFIG_DECIMATE_FILTER 0
@ -1623,6 +1705,7 @@
#define CONFIG_FADE_FILTER 0
#define CONFIG_FFTFILT_FILTER 0
#define CONFIG_FIELD_FILTER 0
#define CONFIG_FIELDHINT_FILTER 0
#define CONFIG_FIELDMATCH_FILTER 0
#define CONFIG_FIELDORDER_FILTER 0
#define CONFIG_FIND_RECT_FILTER 0
@ -1641,6 +1724,9 @@
#define CONFIG_HISTOGRAM_FILTER 0
#define CONFIG_HQDN3D_FILTER 0
#define CONFIG_HQX_FILTER 0
#define CONFIG_HWDOWNLOAD_FILTER 0
#define CONFIG_HWUPLOAD_FILTER 0
#define CONFIG_HWUPLOAD_CUDA_FILTER 0
#define CONFIG_HSTACK_FILTER 0
#define CONFIG_HUE_FILTER 0
#define CONFIG_IDET_FILTER 0
@ -1650,6 +1736,7 @@
#define CONFIG_INTERLEAVE_FILTER 0
#define CONFIG_KERNDEINT_FILTER 0
#define CONFIG_LENSCORRECTION_FILTER 0
#define CONFIG_LOOP_FILTER 0
#define CONFIG_LUT3D_FILTER 0
#define CONFIG_LUT_FILTER 0
#define CONFIG_LUTRGB_FILTER 0
@ -1681,7 +1768,9 @@
#define CONFIG_PULLUP_FILTER 0
#define CONFIG_QP_FILTER 0
#define CONFIG_RANDOM_FILTER 0
#define CONFIG_READVITC_FILTER 0
#define CONFIG_REALTIME_FILTER 0
#define CONFIG_REMAP_FILTER 0
#define CONFIG_REMOVEGRAIN_FILTER 0
#define CONFIG_REMOVELOGO_FILTER 0
#define CONFIG_REPEATFIELDS_FILTER 0
@ -1690,6 +1779,8 @@
#define CONFIG_SAB_FILTER 0
#define CONFIG_SCALE_FILTER 0
#define CONFIG_SCALE2REF_FILTER 0
#define CONFIG_SCALE_NPP_FILTER 0
#define CONFIG_SCALE_VAAPI_FILTER 0
#define CONFIG_SELECT_FILTER 0
#define CONFIG_SELECTIVECOLOR_FILTER 0
#define CONFIG_SENDCMD_FILTER 0
@ -1740,6 +1831,7 @@
#define CONFIG_ALLYUV_FILTER 0
#define CONFIG_CELLAUTO_FILTER 0
#define CONFIG_COLOR_FILTER 0
#define CONFIG_COREIMAGESRC_FILTER 0
#define CONFIG_FREI0R_SRC_FILTER 0
#define CONFIG_HALDCLUTSRC_FILTER 0
#define CONFIG_LIFE_FILTER 0
@ -1769,6 +1861,7 @@
#define CONFIG_MOVIE_FILTER 0
#define CONFIG_H263_VAAPI_HWACCEL 0
#define CONFIG_H263_VIDEOTOOLBOX_HWACCEL 0
#define CONFIG_H264_CUVID_HWACCEL 0
#define CONFIG_H264_D3D11VA_HWACCEL 0
#define CONFIG_H264_DXVA2_HWACCEL 0
#define CONFIG_H264_MMAL_HWACCEL 0
@ -1778,6 +1871,7 @@
#define CONFIG_H264_VDA_OLD_HWACCEL 0
#define CONFIG_H264_VDPAU_HWACCEL 0
#define CONFIG_H264_VIDEOTOOLBOX_HWACCEL 0
#define CONFIG_HEVC_CUVID_HWACCEL 0
#define CONFIG_HEVC_D3D11VA_HWACCEL 0
#define CONFIG_HEVC_DXVA2_HWACCEL 0
#define CONFIG_HEVC_QSV_HWACCEL 0
@ -1798,12 +1892,15 @@
#define CONFIG_MPEG4_VAAPI_HWACCEL 0
#define CONFIG_MPEG4_VDPAU_HWACCEL 0
#define CONFIG_MPEG4_VIDEOTOOLBOX_HWACCEL 0
#define CONFIG_VC1_CUVID_HWACCEL 0
#define CONFIG_VC1_D3D11VA_HWACCEL 0
#define CONFIG_VC1_DXVA2_HWACCEL 0
#define CONFIG_VC1_VAAPI_HWACCEL 0
#define CONFIG_VC1_VDPAU_HWACCEL 0
#define CONFIG_VC1_MMAL_HWACCEL 0
#define CONFIG_VC1_QSV_HWACCEL 0
#define CONFIG_VP8_CUVID_HWACCEL 0
#define CONFIG_VP9_CUVID_HWACCEL 0
#define CONFIG_VP9_D3D11VA_HWACCEL 0
#define CONFIG_VP9_DXVA2_HWACCEL 0
#define CONFIG_VP9_VAAPI_HWACCEL 0
@ -1866,14 +1963,17 @@
#define CONFIG_FLAC_MUXER 0
#define CONFIG_FLV_MUXER 0
#define CONFIG_FRAMECRC_MUXER 0
#define CONFIG_FRAMEHASH_MUXER 0
#define CONFIG_FRAMEMD5_MUXER 0
#define CONFIG_G722_MUXER 0
#define CONFIG_G723_1_MUXER 0
#define CONFIG_GIF_MUXER 0
#define CONFIG_GSM_MUXER 0
#define CONFIG_GXF_MUXER 0
#define CONFIG_H261_MUXER 0
#define CONFIG_H263_MUXER 0
#define CONFIG_H264_MUXER 0
#define CONFIG_HASH_MUXER 0
#define CONFIG_HDS_MUXER 0
#define CONFIG_HEVC_MUXER 0
#define CONFIG_HLS_MUXER 0
@ -2058,9 +2158,9 @@
#define CONFIG_SRTP_PROTOCOL 0
#define CONFIG_SUBFILE_PROTOCOL 0
#define CONFIG_TCP_PROTOCOL 0
#define CONFIG_TLS_GNUTLS_PROTOCOL 0
#define CONFIG_TLS_SCHANNEL_PROTOCOL 0
#define CONFIG_TLS_SECURETRANSPORT_PROTOCOL 0
#define CONFIG_TLS_GNUTLS_PROTOCOL 0
#define CONFIG_TLS_OPENSSL_PROTOCOL 0
#define CONFIG_UDP_PROTOCOL 0
#define CONFIG_UDPLITE_PROTOCOL 0

Просмотреть файл

@ -58,13 +58,6 @@
av_register_codec_parser(&ff_##x##_parser); \
}
#define REGISTER_BSF(X, x) \
{ \
extern AVBitStreamFilter ff_##x##_bsf; \
if (CONFIG_##X##_BSF) \
av_register_bitstream_filter(&ff_##x##_bsf); \
}
void avcodec_register_all(void)
{
static int initialized;
@ -76,6 +69,7 @@ void avcodec_register_all(void)
/* hardware accelerators */
REGISTER_HWACCEL(H263_VAAPI, h263_vaapi);
REGISTER_HWACCEL(H263_VIDEOTOOLBOX, h263_videotoolbox);
REGISTER_HWACCEL(H264_CUVID, h264_cuvid);
REGISTER_HWACCEL(H264_D3D11VA, h264_d3d11va);
REGISTER_HWACCEL(H264_DXVA2, h264_dxva2);
REGISTER_HWACCEL(H264_MMAL, h264_mmal);
@ -85,6 +79,7 @@ void avcodec_register_all(void)
REGISTER_HWACCEL(H264_VDA_OLD, h264_vda_old);
REGISTER_HWACCEL(H264_VDPAU, h264_vdpau);
REGISTER_HWACCEL(H264_VIDEOTOOLBOX, h264_videotoolbox);
REGISTER_HWACCEL(HEVC_CUVID, hevc_cuvid);
REGISTER_HWACCEL(HEVC_D3D11VA, hevc_d3d11va);
REGISTER_HWACCEL(HEVC_DXVA2, hevc_dxva2);
REGISTER_HWACCEL(HEVC_QSV, hevc_qsv);
@ -105,12 +100,15 @@ void avcodec_register_all(void)
REGISTER_HWACCEL(MPEG4_VAAPI, mpeg4_vaapi);
REGISTER_HWACCEL(MPEG4_VDPAU, mpeg4_vdpau);
REGISTER_HWACCEL(MPEG4_VIDEOTOOLBOX, mpeg4_videotoolbox);
REGISTER_HWACCEL(VC1_CUVID, vc1_cuvid);
REGISTER_HWACCEL(VC1_D3D11VA, vc1_d3d11va);
REGISTER_HWACCEL(VC1_DXVA2, vc1_dxva2);
REGISTER_HWACCEL(VC1_VAAPI, vc1_vaapi);
REGISTER_HWACCEL(VC1_VDPAU, vc1_vdpau);
REGISTER_HWACCEL(VC1_MMAL, vc1_mmal);
REGISTER_HWACCEL(VC1_QSV, vc1_qsv);
REGISTER_HWACCEL(VP8_CUVID, vp8_cuvid);
REGISTER_HWACCEL(VP9_CUVID, vp9_cuvid);
REGISTER_HWACCEL(VP9_D3D11VA, vp9_d3d11va);
REGISTER_HWACCEL(VP9_DXVA2, vp9_dxva2);
REGISTER_HWACCEL(VP9_VAAPI, vp9_vaapi);
@ -196,6 +194,7 @@ void avcodec_register_all(void)
REGISTER_ENCDEC (H263P, h263p);
REGISTER_DECODER(H264, h264);
REGISTER_DECODER(H264_CRYSTALHD, h264_crystalhd);
REGISTER_DECODER(H264_MEDIACODEC, h264_mediacodec);
REGISTER_DECODER(H264_MMAL, h264_mmal);
REGISTER_DECODER(H264_QSV, h264_qsv);
REGISTER_DECODER(H264_VDA, h264_vda);
@ -224,6 +223,8 @@ void avcodec_register_all(void)
REGISTER_DECODER(LAGARITH, lagarith);
REGISTER_ENCODER(LJPEG, ljpeg);
REGISTER_DECODER(LOCO, loco);
REGISTER_DECODER(M101, m101);
REGISTER_DECODER(MAGICYUV, magicyuv);
REGISTER_DECODER(MDEC, mdec);
REGISTER_DECODER(MIMIC, mimic);
REGISTER_ENCDEC (MJPEG, mjpeg);
@ -298,6 +299,7 @@ void avcodec_register_all(void)
REGISTER_DECODER(SDX2_DPCM, sdx2_dpcm);
REGISTER_ENCDEC (SGI, sgi);
REGISTER_DECODER(SGIRLE, sgirle);
REGISTER_DECODER(SHEERVIDEO, sheervideo);
REGISTER_DECODER(SMACKER, smacker);
REGISTER_DECODER(SMC, smc);
REGISTER_DECODER(SMVJPEG, smvjpeg);
@ -316,6 +318,7 @@ void avcodec_register_all(void)
REGISTER_DECODER(TMV, tmv);
REGISTER_DECODER(TRUEMOTION1, truemotion1);
REGISTER_DECODER(TRUEMOTION2, truemotion2);
REGISTER_DECODER(TRUEMOTION2RT, truemotion2rt);
REGISTER_DECODER(TSCC, tscc);
REGISTER_DECODER(TSCC2, tscc2);
REGISTER_DECODER(TXD, txd);
@ -367,6 +370,7 @@ void avcodec_register_all(void)
REGISTER_DECODER(XL, xl);
REGISTER_ENCDEC (XWD, xwd);
REGISTER_ENCDEC (Y41P, y41p);
REGISTER_DECODER(YLC, ylc);
REGISTER_DECODER(YOP, yop);
REGISTER_ENCDEC (YUV4, yuv4);
REGISTER_DECODER(ZERO12V, zero12v);
@ -399,6 +403,7 @@ void avcodec_register_all(void)
REGISTER_DECODER(DSD_MSBF_PLANAR, dsd_msbf_planar);
REGISTER_DECODER(DSICINAUDIO, dsicinaudio);
REGISTER_DECODER(DSS_SP, dss_sp);
REGISTER_DECODER(DST, dst);
REGISTER_ENCDEC (EAC3, eac3);
REGISTER_DECODER(EVRC, evrc);
REGISTER_DECODER(FFWAVESYNTH, ffwavesynth);
@ -514,6 +519,7 @@ void avcodec_register_all(void)
REGISTER_DECODER(ADPCM_G726LE, adpcm_g726le);
REGISTER_DECODER(ADPCM_IMA_AMV, adpcm_ima_amv);
REGISTER_DECODER(ADPCM_IMA_APC, adpcm_ima_apc);
REGISTER_DECODER(ADPCM_IMA_DAT4, adpcm_ima_dat4);
REGISTER_DECODER(ADPCM_IMA_DK3, adpcm_ima_dk3);
REGISTER_DECODER(ADPCM_IMA_DK4, adpcm_ima_dk4);
REGISTER_DECODER(ADPCM_IMA_EA_EACS, adpcm_ima_ea_eacs);
@ -526,6 +532,7 @@ void avcodec_register_all(void)
REGISTER_ENCDEC (ADPCM_IMA_WAV, adpcm_ima_wav);
REGISTER_DECODER(ADPCM_IMA_WS, adpcm_ima_ws);
REGISTER_ENCDEC (ADPCM_MS, adpcm_ms);
REGISTER_DECODER(ADPCM_MTAF, adpcm_mtaf);
REGISTER_DECODER(ADPCM_PSX, adpcm_psx);
REGISTER_DECODER(ADPCM_SBPRO_2, adpcm_sbpro_2);
REGISTER_DECODER(ADPCM_SBPRO_3, adpcm_sbpro_3);
@ -562,8 +569,22 @@ void avcodec_register_all(void)
REGISTER_ENCDEC (XSUB, xsub);
/* external libraries */
REGISTER_ENCDEC (AAC_AT, aac_at);
REGISTER_DECODER(AC3_AT, ac3_at);
REGISTER_DECODER(ADPCM_IMA_QT_AT, adpcm_ima_qt_at);
REGISTER_ENCDEC (ALAC_AT, alac_at);
REGISTER_DECODER(AMR_NB_AT, amr_nb_at);
REGISTER_DECODER(EAC3_AT, eac3_at);
REGISTER_DECODER(GSM_MS_AT, gsm_ms_at);
REGISTER_ENCDEC (ILBC_AT, ilbc_at);
REGISTER_DECODER(MP1_AT, mp1_at);
REGISTER_DECODER(MP2_AT, mp2_at);
REGISTER_DECODER(MP3_AT, mp3_at);
REGISTER_ENCDEC (PCM_ALAW_AT, pcm_alaw_at);
REGISTER_ENCDEC (PCM_MULAW_AT, pcm_mulaw_at);
REGISTER_DECODER(QDMC_AT, qdmc_at);
REGISTER_DECODER(QDM2_AT, qdm2_at);
REGISTER_DECODER(LIBCELT, libcelt);
REGISTER_DECODER(LIBDCADEC, libdcadec)
REGISTER_ENCODER(LIBFAAC, libfaac);
REGISTER_ENCDEC (LIBFDK_AAC, libfdk_aac);
REGISTER_ENCDEC (LIBGSM, libgsm);
@ -579,7 +600,6 @@ void avcodec_register_all(void)
REGISTER_ENCDEC (LIBSPEEX, libspeex);
REGISTER_ENCODER(LIBTHEORA, libtheora);
REGISTER_ENCODER(LIBTWOLAME, libtwolame);
REGISTER_ENCDEC (LIBUTVIDEO, libutvideo);
REGISTER_ENCODER(LIBVO_AMRWBENC, libvo_amrwbenc);
REGISTER_ENCDEC (LIBVORBIS, libvorbis);
REGISTER_ENCDEC (LIBVPX_VP8, libvpx_vp8);
@ -603,13 +623,27 @@ void avcodec_register_all(void)
/* external libraries, that shouldn't be used by default if one of the
* above is available */
REGISTER_ENCODER(LIBOPENH264, libopenh264);
REGISTER_DECODER(H264_CUVID, h264_cuvid);
REGISTER_ENCODER(H264_NVENC, h264_nvenc);
REGISTER_ENCODER(H264_OMX, h264_omx);
REGISTER_ENCODER(H264_QSV, h264_qsv);
REGISTER_ENCODER(H264_VAAPI, h264_vaapi);
REGISTER_ENCODER(H264_VIDEOTOOLBOX, h264_videotoolbox);
#if FF_API_NVENC_OLD_NAME
REGISTER_ENCODER(NVENC, nvenc);
REGISTER_ENCODER(NVENC_H264, nvenc_h264);
REGISTER_ENCODER(NVENC_HEVC, nvenc_hevc);
#endif
REGISTER_DECODER(HEVC_CUVID, hevc_cuvid);
REGISTER_ENCODER(HEVC_NVENC, hevc_nvenc);
REGISTER_ENCODER(HEVC_QSV, hevc_qsv);
REGISTER_ENCODER(HEVC_VAAPI, hevc_vaapi);
REGISTER_ENCODER(LIBKVAZAAR, libkvazaar);
REGISTER_ENCODER(MJPEG_VAAPI, mjpeg_vaapi);
REGISTER_ENCODER(MPEG2_QSV, mpeg2_qsv);
REGISTER_DECODER(VC1_CUVID, vc1_cuvid);
REGISTER_DECODER(VP8_CUVID, vp8_cuvid);
REGISTER_DECODER(VP9_CUVID, vp9_cuvid);
/* parsers */
REGISTER_PARSER(AAC, aac);
@ -650,20 +684,4 @@ void avcodec_register_all(void)
REGISTER_PARSER(VP3, vp3);
REGISTER_PARSER(VP8, vp8);
REGISTER_PARSER(VP9, vp9);
/* bitstream filters */
REGISTER_BSF(AAC_ADTSTOASC, aac_adtstoasc);
REGISTER_BSF(CHOMP, chomp);
REGISTER_BSF(DUMP_EXTRADATA, dump_extradata);
REGISTER_BSF(H264_MP4TOANNEXB, h264_mp4toannexb);
REGISTER_BSF(HEVC_MP4TOANNEXB, hevc_mp4toannexb);
REGISTER_BSF(IMX_DUMP_HEADER, imx_dump_header);
REGISTER_BSF(MJPEG2JPEG, mjpeg2jpeg);
REGISTER_BSF(MJPEGA_DUMP_HEADER, mjpega_dump_header);
REGISTER_BSF(MP3_HEADER_DECOMPRESS, mp3_header_decompress);
REGISTER_BSF(MPEG4_UNPACK_BFRAMES, mpeg4_unpack_bframes);
REGISTER_BSF(MOV2TEXTSUB, mov2textsub);
REGISTER_BSF(NOISE, noise);
REGISTER_BSF(REMOVE_EXTRADATA, remove_extradata);
REGISTER_BSF(TEXT2MOVSUB, text2movsub);
}

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -110,24 +110,38 @@ int av_grow_packet(AVPacket *pkt, int grow_by)
{
int new_size;
av_assert0((unsigned)pkt->size <= INT_MAX - AV_INPUT_BUFFER_PADDING_SIZE);
if (!pkt->size)
return av_new_packet(pkt, grow_by);
if ((unsigned)grow_by >
INT_MAX - (pkt->size + AV_INPUT_BUFFER_PADDING_SIZE))
return -1;
new_size = pkt->size + grow_by + AV_INPUT_BUFFER_PADDING_SIZE;
if (pkt->buf) {
int ret = av_buffer_realloc(&pkt->buf, new_size);
if (ret < 0)
return ret;
size_t data_offset;
uint8_t *old_data = pkt->data;
if (pkt->data == NULL) {
data_offset = 0;
pkt->data = pkt->buf->data;
} else {
data_offset = pkt->data - pkt->buf->data;
if (data_offset > INT_MAX - new_size)
return -1;
}
if (new_size + data_offset > pkt->buf->size) {
int ret = av_buffer_realloc(&pkt->buf, new_size + data_offset);
if (ret < 0) {
pkt->data = old_data;
return ret;
}
pkt->data = pkt->buf->data + data_offset;
}
} else {
pkt->buf = av_buffer_alloc(new_size);
if (!pkt->buf)
return AVERROR(ENOMEM);
memcpy(pkt->buf->data, pkt->data, FFMIN(pkt->size, pkt->size + grow_by));
memcpy(pkt->buf->data, pkt->data, pkt->size);
pkt->data = pkt->buf->data;
}
pkt->data = pkt->buf->data;
pkt->size += grow_by;
memset(pkt->data + pkt->size, 0, AV_INPUT_BUFFER_PADDING_SIZE);
@ -335,22 +349,24 @@ uint8_t *av_packet_get_side_data(AVPacket *pkt, enum AVPacketSideDataType type,
const char *av_packet_side_data_name(enum AVPacketSideDataType type)
{
switch(type) {
case AV_PKT_DATA_PALETTE: return "Palette";
case AV_PKT_DATA_NEW_EXTRADATA: return "New Extradata";
case AV_PKT_DATA_PARAM_CHANGE: return "Param Change";
case AV_PKT_DATA_H263_MB_INFO: return "H263 MB Info";
case AV_PKT_DATA_REPLAYGAIN: return "Replay Gain";
case AV_PKT_DATA_DISPLAYMATRIX: return "Display Matrix";
case AV_PKT_DATA_STEREO3D: return "Stereo 3D";
case AV_PKT_DATA_AUDIO_SERVICE_TYPE: return "Audio Service Type";
case AV_PKT_DATA_SKIP_SAMPLES: return "Skip Samples";
case AV_PKT_DATA_JP_DUALMONO: return "JP Dual Mono";
case AV_PKT_DATA_STRINGS_METADATA: return "Strings Metadata";
case AV_PKT_DATA_SUBTITLE_POSITION: return "Subtitle Position";
case AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL: return "Matroska BlockAdditional";
case AV_PKT_DATA_WEBVTT_IDENTIFIER: return "WebVTT ID";
case AV_PKT_DATA_WEBVTT_SETTINGS: return "WebVTT Settings";
case AV_PKT_DATA_METADATA_UPDATE: return "Metadata Update";
case AV_PKT_DATA_PALETTE: return "Palette";
case AV_PKT_DATA_NEW_EXTRADATA: return "New Extradata";
case AV_PKT_DATA_PARAM_CHANGE: return "Param Change";
case AV_PKT_DATA_H263_MB_INFO: return "H263 MB Info";
case AV_PKT_DATA_REPLAYGAIN: return "Replay Gain";
case AV_PKT_DATA_DISPLAYMATRIX: return "Display Matrix";
case AV_PKT_DATA_STEREO3D: return "Stereo 3D";
case AV_PKT_DATA_AUDIO_SERVICE_TYPE: return "Audio Service Type";
case AV_PKT_DATA_SKIP_SAMPLES: return "Skip Samples";
case AV_PKT_DATA_JP_DUALMONO: return "JP Dual Mono";
case AV_PKT_DATA_STRINGS_METADATA: return "Strings Metadata";
case AV_PKT_DATA_SUBTITLE_POSITION: return "Subtitle Position";
case AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL: return "Matroska BlockAdditional";
case AV_PKT_DATA_WEBVTT_IDENTIFIER: return "WebVTT ID";
case AV_PKT_DATA_WEBVTT_SETTINGS: return "WebVTT Settings";
case AV_PKT_DATA_METADATA_UPDATE: return "Metadata Update";
case AV_PKT_DATA_MPEGTS_STREAM_ID: return "MPEGTS Stream ID";
case AV_PKT_DATA_MASTERING_DISPLAY_METADATA: return "Mastering display metadata";
}
return NULL;
}
@ -566,16 +582,19 @@ int av_packet_ref(AVPacket *dst, const AVPacket *src)
if (ret < 0)
goto fail;
memcpy(dst->buf->data, src->data, src->size);
dst->data = dst->buf->data;
} else {
dst->buf = av_buffer_ref(src->buf);
if (!dst->buf) {
ret = AVERROR(ENOMEM);
goto fail;
}
dst->data = src->data;
}
dst->size = src->size;
dst->data = dst->buf->data;
return 0;
fail:
av_packet_free_side_data(dst);
@ -599,6 +618,8 @@ void av_packet_move_ref(AVPacket *dst, AVPacket *src)
{
*dst = *src;
av_init_packet(src);
src->data = NULL;
src->size = 0;
}
void av_packet_rescale_ts(AVPacket *pkt, AVRational src_tb, AVRational dst_tb)

Просмотреть файл

@ -34,8 +34,8 @@
#include "avcodec.h"
#include "internal.h"
#include "mathops.h"
#include "get_bits.h"
#include "put_bits.h"
#include "vlc.h"
const uint8_t ff_log2_run[41]={
0, 0, 0, 0, 1, 1, 1, 1,
@ -150,7 +150,7 @@ static int compare_vlcspec(const void *a, const void *b)
/**
* Build VLC decoding tables suitable for use with get_vlc().
*
* @param vlc the context to be initted
* @param vlc the context to be initialized
*
* @param table_nb_bits max length of vlc codes to store directly in this table
* (Longer codes are delegated to subtables.)
@ -167,7 +167,7 @@ static int build_table(VLC *vlc, int table_nb_bits, int nb_codes,
int table_size, table_index, index, code_prefix, symbol, subtable_bits;
int i, j, k, n, nb, inc;
uint32_t code;
volatile VLC_TYPE (* volatile table)[2]; // the double volatile is needed to prevent a internal compiler error in gcc 4.2
volatile VLC_TYPE (* volatile table)[2]; // the double volatile is needed to prevent an internal compiler error in gcc 4.2
table_size = 1 << table_nb_bits;
if (table_nb_bits > 30)
@ -248,7 +248,7 @@ static int build_table(VLC *vlc, int table_nb_bits, int nb_codes,
/* Build VLC decoding tables suitable for use with get_vlc().
'nb_bits' set the decoding table size (2^nb_bits) entries. The
'nb_bits' sets the decoding table size (2^nb_bits) entries. The
bigger it is, the faster is the decoding. But it should not be too
big to save memory and L1 cache. '9' is a good compromise.
@ -317,7 +317,7 @@ int ff_init_vlc_sparse(VLC *vlc_arg, int nb_bits, int nb_codes,
} \
GET_DATA(buf[j].code, codes, i, codes_wrap, codes_size); \
if (buf[j].code >= (1LL<<buf[j].bits)) { \
av_log(NULL, AV_LOG_ERROR, "Invalid code in init_vlc\n"); \
av_log(NULL, AV_LOG_ERROR, "Invalid code %x for %d in init_vlc\n", buf[j].code, i);\
if (!(flags & INIT_VLC_USE_NEW_STATIC)) \
av_free(buf); \
return -1; \

Просмотреть файл

@ -1,90 +0,0 @@
/*
* copyright (c) 2006 Michael Niedermayer <michaelni@gmx.at>
*
* This file is part of FFmpeg.
*
* 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.
*
* 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 FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include <string.h>
#include "avcodec.h"
#include "libavutil/atomic.h"
#include "libavutil/mem.h"
static AVBitStreamFilter *first_bitstream_filter = NULL;
AVBitStreamFilter *av_bitstream_filter_next(const AVBitStreamFilter *f)
{
if (f)
return f->next;
else
return first_bitstream_filter;
}
void av_register_bitstream_filter(AVBitStreamFilter *bsf)
{
do {
bsf->next = first_bitstream_filter;
} while(bsf->next != avpriv_atomic_ptr_cas((void * volatile *)&first_bitstream_filter, bsf->next, bsf));
}
AVBitStreamFilterContext *av_bitstream_filter_init(const char *name)
{
AVBitStreamFilter *bsf = NULL;
while (bsf = av_bitstream_filter_next(bsf)) {
if (!strcmp(name, bsf->name)) {
AVBitStreamFilterContext *bsfc =
av_mallocz(sizeof(AVBitStreamFilterContext));
if (!bsfc)
return NULL;
bsfc->filter = bsf;
bsfc->priv_data = NULL;
if (bsf->priv_data_size) {
bsfc->priv_data = av_mallocz(bsf->priv_data_size);
if (!bsfc->priv_data) {
av_freep(&bsfc);
return NULL;
}
}
return bsfc;
}
}
return NULL;
}
void av_bitstream_filter_close(AVBitStreamFilterContext *bsfc)
{
if (!bsfc)
return;
if (bsfc->filter->close)
bsfc->filter->close(bsfc);
av_freep(&bsfc->priv_data);
av_freep(&bsfc->args);
av_parser_close(bsfc->parser);
av_free(bsfc);
}
int av_bitstream_filter_filter(AVBitStreamFilterContext *bsfc,
AVCodecContext *avctx, const char *args,
uint8_t **poutbuf, int *poutbuf_size,
const uint8_t *buf, int buf_size, int keyframe)
{
*poutbuf = (uint8_t *)buf;
*poutbuf_size = buf_size;
return bsfc->filter->filter(bsfc, avctx, args ? args : bsfc->args,
poutbuf, poutbuf_size, buf, buf_size, keyframe);
}

Просмотреть файл

@ -0,0 +1,219 @@
/*
* This file is part of FFmpeg.
*
* 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.
*
* 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 FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include <string.h>
#include "libavutil/log.h"
#include "libavutil/mem.h"
#include "libavutil/opt.h"
#include "avcodec.h"
#include "bsf.h"
struct AVBSFInternal {
AVPacket *buffer_pkt;
int eof;
};
void av_bsf_free(AVBSFContext **pctx)
{
AVBSFContext *ctx;
if (!pctx || !*pctx)
return;
ctx = *pctx;
if (ctx->filter->close)
ctx->filter->close(ctx);
if (ctx->filter->priv_class && ctx->priv_data)
av_opt_free(ctx->priv_data);
av_opt_free(ctx);
av_packet_free(&ctx->internal->buffer_pkt);
av_freep(&ctx->internal);
av_freep(&ctx->priv_data);
avcodec_parameters_free(&ctx->par_in);
avcodec_parameters_free(&ctx->par_out);
av_freep(pctx);
}
static void *bsf_child_next(void *obj, void *prev)
{
AVBSFContext *ctx = obj;
if (!prev && ctx->filter->priv_class)
return ctx->priv_data;
return NULL;
}
static const AVClass bsf_class = {
.class_name = "AVBSFContext",
.item_name = av_default_item_name,
.version = LIBAVUTIL_VERSION_INT,
.child_next = bsf_child_next,
.child_class_next = ff_bsf_child_class_next,
};
const AVClass *av_bsf_get_class(void)
{
return &bsf_class;
}
int av_bsf_alloc(const AVBitStreamFilter *filter, AVBSFContext **pctx)
{
AVBSFContext *ctx;
int ret;
ctx = av_mallocz(sizeof(*ctx));
if (!ctx)
return AVERROR(ENOMEM);
ctx->av_class = &bsf_class;
ctx->filter = filter;
ctx->par_in = avcodec_parameters_alloc();
ctx->par_out = avcodec_parameters_alloc();
if (!ctx->par_in || !ctx->par_out) {
ret = AVERROR(ENOMEM);
goto fail;
}
ctx->internal = av_mallocz(sizeof(*ctx->internal));
if (!ctx->internal) {
ret = AVERROR(ENOMEM);
goto fail;
}
ctx->internal->buffer_pkt = av_packet_alloc();
if (!ctx->internal->buffer_pkt) {
ret = AVERROR(ENOMEM);
goto fail;
}
av_opt_set_defaults(ctx);
/* allocate priv data and init private options */
if (filter->priv_data_size) {
ctx->priv_data = av_mallocz(filter->priv_data_size);
if (!ctx->priv_data) {
ret = AVERROR(ENOMEM);
goto fail;
}
if (filter->priv_class) {
*(const AVClass **)ctx->priv_data = filter->priv_class;
av_opt_set_defaults(ctx->priv_data);
}
}
*pctx = ctx;
return 0;
fail:
av_bsf_free(&ctx);
return ret;
}
int av_bsf_init(AVBSFContext *ctx)
{
int ret, i;
/* check that the codec is supported */
if (ctx->filter->codec_ids) {
for (i = 0; ctx->filter->codec_ids[i] != AV_CODEC_ID_NONE; i++)
if (ctx->par_in->codec_id == ctx->filter->codec_ids[i])
break;
if (ctx->filter->codec_ids[i] == AV_CODEC_ID_NONE) {
const AVCodecDescriptor *desc = avcodec_descriptor_get(ctx->par_in->codec_id);
av_log(ctx, AV_LOG_ERROR, "Codec '%s' (%d) is not supported by the "
"bitstream filter '%s'. Supported codecs are: ",
desc ? desc->name : "unknown", ctx->par_in->codec_id, ctx->filter->name);
for (i = 0; ctx->filter->codec_ids[i] != AV_CODEC_ID_NONE; i++) {
desc = avcodec_descriptor_get(ctx->filter->codec_ids[i]);
av_log(ctx, AV_LOG_ERROR, "%s (%d) ",
desc ? desc->name : "unknown", ctx->filter->codec_ids[i]);
}
av_log(ctx, AV_LOG_ERROR, "\n");
return AVERROR(EINVAL);
}
}
/* initialize output parameters to be the same as input
* init below might overwrite that */
ret = avcodec_parameters_copy(ctx->par_out, ctx->par_in);
if (ret < 0)
return ret;
ctx->time_base_out = ctx->time_base_in;
if (ctx->filter->init) {
ret = ctx->filter->init(ctx);
if (ret < 0)
return ret;
}
return 0;
}
int av_bsf_send_packet(AVBSFContext *ctx, AVPacket *pkt)
{
if (!pkt || !pkt->data) {
ctx->internal->eof = 1;
return 0;
}
if (ctx->internal->eof) {
av_log(ctx, AV_LOG_ERROR, "A non-NULL packet sent after an EOF.\n");
return AVERROR(EINVAL);
}
if (ctx->internal->buffer_pkt->data ||
ctx->internal->buffer_pkt->side_data_elems)
return AVERROR(EAGAIN);
av_packet_move_ref(ctx->internal->buffer_pkt, pkt);
return 0;
}
int av_bsf_receive_packet(AVBSFContext *ctx, AVPacket *pkt)
{
return ctx->filter->filter(ctx, pkt);
}
int ff_bsf_get_packet(AVBSFContext *ctx, AVPacket **pkt)
{
AVBSFInternal *in = ctx->internal;
AVPacket *tmp_pkt;
if (in->eof)
return AVERROR_EOF;
if (!ctx->internal->buffer_pkt->data &&
!ctx->internal->buffer_pkt->side_data_elems)
return AVERROR(EAGAIN);
tmp_pkt = av_packet_alloc();
if (!tmp_pkt)
return AVERROR(ENOMEM);
*pkt = ctx->internal->buffer_pkt;
ctx->internal->buffer_pkt = tmp_pkt;
return 0;
}

Просмотреть файл

@ -0,0 +1,33 @@
/*
* This file is part of FFmpeg.
*
* 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.
*
* 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 FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef AVCODEC_BSF_H
#define AVCODEC_BSF_H
#include "avcodec.h"
/**
* Called by the bitstream filters to get the next packet for filtering.
* The filter is responsible for either freeing the packet or passing it to the
* caller.
*/
int ff_bsf_get_packet(AVBSFContext *ctx, AVPacket **pkt);
const AVClass *ff_bsf_child_class_next(const AVClass *prev);
#endif /* AVCODEC_BSF_H */

Просмотреть файл

@ -887,7 +887,7 @@ static const AVCodecDescriptor codec_descriptors[] = {
.id = AV_CODEC_ID_IFF_ILBM,
.type = AVMEDIA_TYPE_VIDEO,
.name = "iff_ilbm",
.long_name = NULL_IF_CONFIG_SMALL("IFF ILBM"),
.long_name = NULL_IF_CONFIG_SMALL("IFF ACBM/ANIM/DEEP/ILBM/PBM/RGB8/RGBN"),
.props = AV_CODEC_PROP_LOSSY,
},
{
@ -947,6 +947,13 @@ static const AVCodecDescriptor codec_descriptors[] = {
.long_name = NULL_IF_CONFIG_SMALL("AJA Kona 10-bit RGB Codec"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
},
{
.id = AV_CODEC_ID_M101,
.type = AVMEDIA_TYPE_VIDEO,
.name = "m101",
.long_name = NULL_IF_CONFIG_SMALL("Matrox Uncompressed SD"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
},
{
.id = AV_CODEC_ID_MVC1,
.type = AVMEDIA_TYPE_VIDEO,
@ -1528,6 +1535,34 @@ static const AVCodecDescriptor codec_descriptors[] = {
.long_name = NULL_IF_CONFIG_SMALL("Cineform HD"),
.props = AV_CODEC_PROP_LOSSY,
},
{
.id = AV_CODEC_ID_TRUEMOTION2RT,
.type = AVMEDIA_TYPE_VIDEO,
.name = "truemotion2rt",
.long_name = NULL_IF_CONFIG_SMALL("Duck TrueMotion 2.0 Real Time"),
.props = AV_CODEC_PROP_LOSSY,
},
{
.id = AV_CODEC_ID_MAGICYUV,
.type = AVMEDIA_TYPE_VIDEO,
.name = "magicyuv",
.long_name = NULL_IF_CONFIG_SMALL("MagicYUV Lossless Video"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
},
{
.id = AV_CODEC_ID_SHEERVIDEO,
.type = AVMEDIA_TYPE_VIDEO,
.name = "sheervideo",
.long_name = NULL_IF_CONFIG_SMALL("BitJazz SheerVideo"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
},
{
.id = AV_CODEC_ID_YLC,
.type = AVMEDIA_TYPE_VIDEO,
.name = "ylc",
.long_name = NULL_IF_CONFIG_SMALL("YUY2 Lossless Codec"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
},
/* various PCM "codecs" */
{
@ -2022,6 +2057,13 @@ static const AVCodecDescriptor codec_descriptors[] = {
.long_name = NULL_IF_CONFIG_SMALL("ADPCM Yamaha AICA"),
.props = AV_CODEC_PROP_LOSSY,
},
{
.id = AV_CODEC_ID_ADPCM_IMA_DAT4,
.type = AVMEDIA_TYPE_AUDIO,
.name = "adpcm_ima_dat4",
.long_name = NULL_IF_CONFIG_SMALL("ADPCM IMA Eurocom DAT4"),
.props = AV_CODEC_PROP_LOSSY,
},
/* AMR */
{
@ -2662,6 +2704,20 @@ static const AVCodecDescriptor codec_descriptors[] = {
.long_name = NULL_IF_CONFIG_SMALL("Xbox Media Audio 2"),
.props = AV_CODEC_PROP_LOSSY,
},
{
.id = AV_CODEC_ID_DST,
.type = AVMEDIA_TYPE_AUDIO,
.name = "dst",
.long_name = NULL_IF_CONFIG_SMALL("DST (Direct Stream Transfer)"),
.props = AV_CODEC_PROP_LOSSLESS,
},
{
.id = AV_CODEC_ID_ADPCM_MTAF,
.type = AVMEDIA_TYPE_AUDIO,
.name = "adpcm_mtaf",
.long_name = NULL_IF_CONFIG_SMALL("ADPCM MTAF"),
.props = AV_CODEC_PROP_LOSSY,
},
/* subtitle codecs */
{

Просмотреть файл

@ -737,3 +737,12 @@ void ff_vp78dsp_init_ppc(VP8DSPContext *c) {}
void ff_vp8dsp_init_arm(VP8DSPContext *c) {}
void ff_vp8dsp_init_mips(VP8DSPContext *c) {}
void ff_vp9dsp_init_mips(VP9DSPContext *dsp, int bpp) {}
void av_bitstream_filter_close(AVBitStreamFilterContext *bsf) {}
int av_bitstream_filter_filter(AVBitStreamFilterContext *bsfc,
AVCodecContext *avctx, const char *args,
uint8_t **poutbuf, int *poutbuf_size,
const uint8_t *buf, int buf_size, int keyframe) { return 0; }
AVBitStreamFilterContext *av_bitstream_filter_init(const char *name) { return NULL;}
AVBitStreamFilter *av_bitstream_filter_next(const AVBitStreamFilter *f) { return NULL; }
void av_register_bitstream_filter(AVBitStreamFilter *bsf) {}

Просмотреть файл

@ -1,5 +1,4 @@
/*
*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or
@ -42,7 +41,7 @@ typedef struct ERPicture {
AVFrame *f;
ThreadFrame *tf;
// it's the caller's responsibility to allocate these buffers
// it is the caller's responsibility to allocate these buffers
int16_t (*motion_val[2])[2];
int8_t *ref_index[2];

Просмотреть файл

@ -33,6 +33,7 @@
#include "libavutil/log.h"
#include "libavutil/avassert.h"
#include "mathops.h"
#include "vlc.h"
/*
* Safe bitstream reading:
@ -58,20 +59,6 @@ typedef struct GetBitContext {
int size_in_bits_plus8;
} GetBitContext;
#define VLC_TYPE int16_t
typedef struct VLC {
int bits;
VLC_TYPE (*table)[2]; ///< code, bits
int table_size, table_allocated;
} VLC;
typedef struct RL_VLC_ELEM {
int16_t level;
int8_t len;
uint8_t run;
} RL_VLC_ELEM;
/* Bitstream reader API docs:
* name
* arbitrary name which is used as prefix for the internal variables
@ -91,7 +78,7 @@ typedef struct RL_VLC_ELEM {
*
* GET_CACHE(name, gb)
* Will output the contents of the internal cache,
* next bit is MSB of 32 or 64 bit (FIXME 64bit).
* next bit is MSB of 32 or 64 bits (FIXME 64 bits).
*
* SHOW_UBITS(name, gb, num)
* Will return the next num bits.
@ -224,7 +211,7 @@ static inline void skip_bits_long(GetBitContext *s, int n)
}
/**
* read mpeg1 dc style vlc (sign bit + mantissa with no MSB).
* Read MPEG-1 dc-style VLC (sign bit + mantissa with no MSB).
* if MSB not set it is negative
* @param n length in bits
*/
@ -398,11 +385,12 @@ static inline unsigned int show_bits_long(GetBitContext *s, int n)
}
}
static inline int check_marker(GetBitContext *s, const char *msg)
static inline int check_marker(void *logctx, GetBitContext *s, const char *msg)
{
int bit = get_bits1(s);
if (!bit)
av_log(NULL, AV_LOG_INFO, "Marker bit missing at %d of %d %s\n", get_bits_count(s) - 1, s->size_in_bits, msg);
av_log(logctx, AV_LOG_INFO, "Marker bit missing at %d of %d %s\n",
get_bits_count(s) - 1, s->size_in_bits, msg);
return bit;
}
@ -462,33 +450,6 @@ static inline const uint8_t *align_get_bits(GetBitContext *s)
return s->buffer + (s->index >> 3);
}
#define init_vlc(vlc, nb_bits, nb_codes, \
bits, bits_wrap, bits_size, \
codes, codes_wrap, codes_size, \
flags) \
ff_init_vlc_sparse(vlc, nb_bits, nb_codes, \
bits, bits_wrap, bits_size, \
codes, codes_wrap, codes_size, \
NULL, 0, 0, flags)
int ff_init_vlc_sparse(VLC *vlc, int nb_bits, int nb_codes,
const void *bits, int bits_wrap, int bits_size,
const void *codes, int codes_wrap, int codes_size,
const void *symbols, int symbols_wrap, int symbols_size,
int flags);
void ff_free_vlc(VLC *vlc);
#define INIT_VLC_LE 2
#define INIT_VLC_USE_NEW_STATIC 4
#define INIT_VLC_STATIC(vlc, bits, a, b, c, d, e, f, g, static_size) \
do { \
static VLC_TYPE table[static_size][2]; \
(vlc)->table = table; \
(vlc)->table_allocated = static_size; \
init_vlc(vlc, bits, a, b, c, d, e, f, g, INIT_VLC_USE_NEW_STATIC); \
} while (0)
/**
* If the vlc code is invalid and max_depth=1, then no bits will be removed.
* If the vlc code is invalid and max_depth>1, then the number of bits removed
@ -526,7 +487,7 @@ void ff_free_vlc(VLC *vlc);
SKIP_BITS(name, gb, n); \
} while (0)
#define GET_RL_VLC_INTERNAL(level, run, name, gb, table, bits, \
#define GET_RL_VLC(level, run, name, gb, table, bits, \
max_depth, need_update) \
do { \
int n, nb_bits; \
@ -623,89 +584,4 @@ static inline int skip_1stop_8data_bits(GetBitContext *gb)
return 0;
}
//#define TRACE
#ifdef TRACE
static inline void print_bin(int bits, int n)
{
int i;
for (i = n - 1; i >= 0; i--)
av_log(NULL, AV_LOG_DEBUG, "%d", (bits >> i) & 1);
for (i = n; i < 24; i++)
av_log(NULL, AV_LOG_DEBUG, " ");
}
static inline int get_bits_trace(GetBitContext *s, int n, const char *file,
const char *func, int line)
{
int r = get_bits(s, n);
print_bin(r, n);
av_log(NULL, AV_LOG_DEBUG, "%5d %2d %3d bit @%5d in %s %s:%d\n",
r, n, r, get_bits_count(s) - n, file, func, line);
return r;
}
static inline int get_vlc_trace(GetBitContext *s, VLC_TYPE (*table)[2],
int bits, int max_depth, const char *file,
const char *func, int line)
{
int show = show_bits(s, 24);
int pos = get_bits_count(s);
int r = get_vlc2(s, table, bits, max_depth);
int len = get_bits_count(s) - pos;
int bits2 = show >> (24 - len);
print_bin(bits2, len);
av_log(NULL, AV_LOG_DEBUG, "%5d %2d %3d vlc @%5d in %s %s:%d\n",
bits2, len, r, pos, file, func, line);
return r;
}
#define GET_RL_VLC(level, run, name, gb, table, bits, \
max_depth, need_update) \
do { \
int show = SHOW_UBITS(name, gb, 24); \
int len; \
int pos = name ## _index; \
\
GET_RL_VLC_INTERNAL(level, run, name, gb, table, bits,max_depth, need_update); \
\
len = name ## _index - pos + 1; \
show = show >> (24 - len); \
\
print_bin(show, len); \
\
av_log(NULL, AV_LOG_DEBUG, "%5d %2d %3d/%-3d rlv @%5d in %s %s:%d\n",\
show, len, run-1, level, pos, __FILE__, __PRETTY_FUNCTION__, __LINE__);\
} while (0) \
static inline int get_xbits_trace(GetBitContext *s, int n, const char *file,
const char *func, int line)
{
int show = show_bits(s, n);
int r = get_xbits(s, n);
print_bin(show, n);
av_log(NULL, AV_LOG_DEBUG, "%5d %2d %3d xbt @%5d in %s %s:%d\n",
show, n, r, get_bits_count(s) - n, file, func, line);
return r;
}
#define get_bits(s, n) get_bits_trace(s , n, __FILE__, __PRETTY_FUNCTION__, __LINE__)
#define get_bits1(s) get_bits_trace(s, 1, __FILE__, __PRETTY_FUNCTION__, __LINE__)
#define get_xbits(s, n) get_xbits_trace(s, n, __FILE__, __PRETTY_FUNCTION__, __LINE__)
#define get_vlc(s, vlc) get_vlc_trace(s, (vlc)->table, (vlc)->bits, 3, __FILE__, __PRETTY_FUNCTION__, __LINE__)
#define get_vlc2(s, tab, bits, max) get_vlc_trace(s, tab, bits, max, __FILE__, __PRETTY_FUNCTION__, __LINE__)
#else //TRACE
#define GET_RL_VLC GET_RL_VLC_INTERNAL
#endif
#endif /* AVCODEC_GET_BITS_H */

Просмотреть файл

@ -70,7 +70,7 @@ typedef struct H264DSPContext {
int stride, int alpha, int beta);
void (*h264_h_loop_filter_chroma_mbaff_intra)(uint8_t *pix /*align 8*/,
int stride, int alpha, int beta);
// h264_loop_filter_strength: simd only. the C version is inlined in h264.c
// h264_loop_filter_strength: simd only. the C version is inlined in h264_loopfilter.c
void (*h264_loop_filter_strength)(int16_t bS[2][4][4], uint8_t nnz[40],
int8_t ref[2][40], int16_t mv[2][40][2],
int bidir, int edges, int step,

Просмотреть файл

@ -21,7 +21,7 @@
/**
* @file
* H.264 / AVC / MPEG4 part10 prediction functions.
* H.264 / AVC / MPEG-4 part10 prediction functions.
* @author Michael Niedermayer <michaelni@gmx.at>
*/
@ -556,7 +556,7 @@ av_cold void ff_h264_pred_init(H264PredContext *h, int codec_id,
h->pred16x16[TOP_DC_PRED8x8 ]= FUNCC(pred16x16_top_dc , depth);\
h->pred16x16[DC_128_PRED8x8 ]= FUNCC(pred16x16_128_dc , depth);\
\
/* special lossless h/v prediction for h264 */ \
/* special lossless h/v prediction for H.264 */ \
h->pred4x4_add [VERT_PRED ]= FUNCC(pred4x4_vertical_add , depth);\
h->pred4x4_add [ HOR_PRED ]= FUNCC(pred4x4_horizontal_add , depth);\
h->pred8x8l_add [VERT_PRED ]= FUNCC(pred8x8l_vertical_add , depth);\

Просмотреть файл

@ -21,7 +21,7 @@
/**
* @file
* H.264 / AVC / MPEG4 prediction functions.
* H.264 / AVC / MPEG-4 prediction functions.
* @author Michael Niedermayer <michaelni@gmx.at>
*/
@ -75,7 +75,7 @@
#define TOP_DC_PRED8x8 5
#define DC_128_PRED8x8 6
// H264/SVQ3 (8x8) specific
// H.264/SVQ3 (8x8) specific
#define ALZHEIMER_DC_L0T_PRED8x8 7
#define ALZHEIMER_DC_0LT_PRED8x8 8
#define ALZHEIMER_DC_L00_PRED8x8 9

Просмотреть файл

@ -21,7 +21,7 @@
/**
* @file
* H.264 / AVC / MPEG4 part10 prediction functions.
* H.264 / AVC / MPEG-4 part10 prediction functions.
* @author Michael Niedermayer <michaelni@gmx.at>
*/

Просмотреть файл

@ -231,33 +231,5 @@ int av_picture_pad(AVPicture *dst, const AVPicture *src, int height, int width,
return 0;
}
#ifdef TEST
int main(void){
int i;
int err=0;
int skip = 0;
for (i=0; i<AV_PIX_FMT_NB*2; i++) {
const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(i);
if(!desc || !desc->name) {
skip ++;
continue;
}
if (skip) {
av_log(NULL, AV_LOG_INFO, "%3d unused pixel format values\n", skip);
skip = 0;
}
av_log(NULL, AV_LOG_INFO, "pix fmt %s yuv_plan:%d avg_bpp:%d\n", desc->name, is_yuv_planar(desc), av_get_padded_bits_per_pixel(desc));
if ((!(desc->flags & AV_PIX_FMT_FLAG_ALPHA)) != (desc->nb_components != 2 && desc->nb_components != 4)) {
av_log(NULL, AV_LOG_ERROR, "Alpha flag mismatch\n");
err = 1;
}
}
return err;
}
#endif
FF_ENABLE_DEPRECATION_WARNINGS
#endif /* FF_API_AVPICTURE */

Просмотреть файл

@ -160,6 +160,19 @@ typedef struct AVCodecInternal {
* hwaccel-specific private data
*/
void *hwaccel_priv_data;
/**
* checks API usage: after codec draining, flush is required to resume operation
*/
int draining;
/**
* buffers for using new encode/decode API through legacy API
*/
AVPacket *buffer_pkt;
int buffer_pkt_valid; // encoding: packet without data can be valid
AVFrame *buffer_frame;
int draining_done;
} AVCodecInternal;
struct AVCodecDefault {
@ -293,6 +306,8 @@ const uint8_t *avpriv_find_start_code(const uint8_t *p,
const uint8_t *end,
uint32_t *state);
int avpriv_codec_get_cap_skip_frame_fill_param(const AVCodec *codec);
/**
* Check that the provided frame dimensions are valid and set them on the codec
* context.
@ -330,4 +345,19 @@ AVCPBProperties *ff_add_cpb_side_data(AVCodecContext *avctx);
int ff_side_data_set_encoder_stats(AVPacket *pkt, int quality, int64_t *error, int error_count, int pict_type);
/**
* Check AVFrame for A53 side data and allocate and fill SEI message with A53 info
*
* @param frame Raw frame to get A53 side data from
* @param prefix_len Number of bytes to allocate before SEI message
* @param data Pointer to a variable to store allocated memory
* Upon return the variable will hold NULL on error or if frame has no A53 info.
* Otherwise it will point to prefix_len uninitialized bytes followed by
* *sei_size SEI message
* @param sei_size Pointer to a variable to store generated SEI message length
* @return Zero on success, negative error code on failure
*/
int ff_alloc_a53_sei(const AVFrame *frame, size_t prefix_len,
void **data, size_t *sei_size);
#endif /* AVCODEC_INTERNAL_H */

Просмотреть файл

@ -33,6 +33,7 @@ extern const uint32_t ff_inverse[257];
extern const uint8_t ff_sqrt_tab[256];
extern const uint8_t ff_crop_tab[256 + 2 * MAX_NEG_CROP];
extern const uint8_t ff_zigzag_direct[64];
extern const uint8_t ff_zigzag_scan[16+1];
#if ARCH_ARM
# include "arm/mathops.h"

Просмотреть файл

@ -105,3 +105,10 @@ const uint8_t ff_zigzag_direct[64] = {
58, 59, 52, 45, 38, 31, 39, 46,
53, 60, 61, 54, 47, 55, 62, 63
};
const uint8_t ff_zigzag_scan[16+1] = {
0 + 0 * 4, 1 + 0 * 4, 0 + 1 * 4, 0 + 2 * 4,
1 + 1 * 4, 2 + 0 * 4, 3 + 0 * 4, 2 + 1 * 4,
1 + 2 * 4, 0 + 3 * 4, 1 + 3 * 4, 2 + 2 * 4,
3 + 1 * 4, 3 + 2 * 4, 2 + 3 * 4, 3 + 3 * 4,
};

Просмотреть файл

@ -17,7 +17,6 @@ SOURCES += [
'avpacket.c',
'avpicture.c',
'bitstream.c',
'bitstream_filter.c',
'codec_desc.c',
'dummy_funcs.c',
'h264pred.c',

Просмотреть файл

@ -1,5 +1,5 @@
/*
* MPEG1/2 tables
* MPEG-1/2 tables
* copyright (c) 2000,2001 Fabrice Bellard
* copyright (c) 2002-2004 Michael Niedermayer <michaelni@gmx.at>
*
@ -22,7 +22,7 @@
/**
* @file
* MPEG1/2 tables.
* MPEG-1/2 tables.
*/
#ifndef AVCODEC_MPEG12DATA_H

Просмотреть файл

@ -81,16 +81,16 @@ typedef struct MpegEncContext {
int y_dc_scale, c_dc_scale;
int ac_pred;
int block_last_index[12]; ///< last non zero coefficient in block
int h263_aic; ///< Advanded INTRA Coding (AIC)
int h263_aic; ///< Advanced INTRA Coding (AIC)
/* scantables */
ScanTable inter_scantable; ///< if inter == intra then intra should be used to reduce tha cache usage
ScanTable inter_scantable; ///< if inter == intra then intra should be used to reduce the cache usage
ScanTable intra_scantable;
ScanTable intra_h_scantable;
ScanTable intra_v_scantable;
/* WARNING: changes above this line require updates to hardcoded
* offsets used in asm. */
* offsets used in ASM. */
struct AVCodecContext *avctx;
/* the following parameters must be initialized before encoding */
@ -99,20 +99,20 @@ typedef struct MpegEncContext {
int intra_only; ///< if true, only intra pictures are generated
int64_t bit_rate; ///< wanted bit rate
enum OutputFormat out_format; ///< output format
int h263_pred; ///< use mpeg4/h263 ac/dc predictions
int pb_frame; ///< PB frame mode (0 = none, 1 = base, 2 = improved)
int h263_pred; ///< use MPEG-4/H.263 ac/dc predictions
int pb_frame; ///< PB-frame mode (0 = none, 1 = base, 2 = improved)
/* the following codec id fields are deprecated in favor of codec_id */
int h263_plus; ///< h263 plus headers
int h263_flv; ///< use flv h263 header
int h263_plus; ///< H.263+ headers
int h263_flv; ///< use flv H.263 header
enum AVCodecID codec_id; /* see AV_CODEC_ID_xxx */
int fixed_qscale; ///< fixed qscale if non zero
int encoding; ///< true if we are encoding (vs decoding)
int max_b_frames; ///< max number of b-frames for encoding
int max_b_frames; ///< max number of B-frames for encoding
int luma_elim_threshold;
int chroma_elim_threshold;
int strict_std_compliance; ///< strictly follow the std (MPEG4, ...)
int strict_std_compliance; ///< strictly follow the std (MPEG-4, ...)
int workaround_bugs; ///< workaround bugs in encoders which cannot be detected automatically
int codec_tag; ///< internal codec_tag upper case converted from avctx codec_tag
/* the following fields are managed internally by the encoder */
@ -132,7 +132,7 @@ typedef struct MpegEncContext {
ptrdiff_t uvlinesize; ///< line size, for chroma in bytes, may be different from width
Picture *picture; ///< main picture buffer
Picture **input_picture; ///< next pictures on display order for encoding
Picture **reordered_input_picture; ///< pointer to the next pictures in codedorder for encoding
Picture **reordered_input_picture; ///< pointer to the next pictures in coded order for encoding
int64_t user_specified_pts; ///< last non-zero pts from AVFrame which was passed into avcodec_encode_video2()
/**
@ -179,19 +179,19 @@ typedef struct MpegEncContext {
Picture *last_picture_ptr; ///< pointer to the previous picture.
Picture *next_picture_ptr; ///< pointer to the next picture (for bidir pred)
Picture *current_picture_ptr; ///< pointer to the current picture
int last_dc[3]; ///< last DC values for MPEG1
int last_dc[3]; ///< last DC values for MPEG-1
int16_t *dc_val_base;
int16_t *dc_val[3]; ///< used for mpeg4 DC prediction, all 3 arrays must be continuous
int16_t *dc_val[3]; ///< used for MPEG-4 DC prediction, all 3 arrays must be continuous
const uint8_t *y_dc_scale_table; ///< qscale -> y_dc_scale table
const uint8_t *c_dc_scale_table; ///< qscale -> c_dc_scale table
const uint8_t *chroma_qscale_table; ///< qscale -> chroma_qscale (h263)
const uint8_t *chroma_qscale_table; ///< qscale -> chroma_qscale (H.263)
uint8_t *coded_block_base;
uint8_t *coded_block; ///< used for coded block pattern prediction (msmpeg4v3, wmv1)
int16_t (*ac_val_base)[16];
int16_t (*ac_val[3])[16]; ///< used for mpeg4 AC prediction, all 3 arrays must be continuous
int16_t (*ac_val[3])[16]; ///< used for MPEG-4 AC prediction, all 3 arrays must be continuous
int mb_skipped; ///< MUST BE SET only during DECODING
uint8_t *mbskip_table; /**< used to avoid copy if macroblock skipped (for black regions for example)
and used for b-frame encoding & decoding (contains skip table of next P Frame) */
and used for B-frame encoding & decoding (contains skip table of next P-frame) */
uint8_t *mbintra_table; ///< used to avoid setting {ac, dc, cbp}-pred stuff to zero on inter MB decoding
uint8_t *cbp_table; ///< used to store cbp, ac_pred for partitioned decoding
uint8_t *pred_dir_table; ///< used to store pred_dir for partitioned decoding
@ -200,7 +200,7 @@ typedef struct MpegEncContext {
int qscale; ///< QP
int chroma_qscale; ///< chroma QP
unsigned int lambda; ///< lagrange multipler used in rate distortion
unsigned int lambda; ///< Lagrange multiplier used in rate distortion
unsigned int lambda2; ///< (lambda*lambda) >> FF_LAMBDA_SHIFT
int *lambda_table;
int adaptive_quant; ///< use adaptive quantization
@ -209,7 +209,7 @@ typedef struct MpegEncContext {
int pict_type; ///< AV_PICTURE_TYPE_I, AV_PICTURE_TYPE_P, AV_PICTURE_TYPE_B, ...
int vbv_delay;
int last_pict_type; //FIXME removes
int last_non_b_pict_type; ///< used for mpeg4 gmc b-frames & ratecontrol
int last_non_b_pict_type; ///< used for MPEG-4 gmc B-frames & ratecontrol
int droppable;
int frame_rate_index;
AVRational mpeg2_frame_rate_ext;
@ -218,7 +218,7 @@ typedef struct MpegEncContext {
/* motion compensation */
int unrestricted_mv; ///< mv can point outside of the coded picture
int h263_long_vectors; ///< use horrible h263v1 long vector mode
int h263_long_vectors; ///< use horrible H.263v1 long vector mode
BlockDSPContext bdsp;
FDCTDSPContext fdsp;
@ -233,7 +233,7 @@ typedef struct MpegEncContext {
VideoDSPContext vdsp;
H263DSPContext h263dsp;
int f_code; ///< forward MV resolution
int b_code; ///< backward MV resolution for B Frames (mpeg4)
int b_code; ///< backward MV resolution for B-frames (MPEG-4)
int16_t (*p_mv_table_base)[2];
int16_t (*b_forw_mv_table_base)[2];
int16_t (*b_back_mv_table_base)[2];
@ -242,14 +242,14 @@ typedef struct MpegEncContext {
int16_t (*b_direct_mv_table_base)[2];
int16_t (*p_field_mv_table_base[2][2])[2];
int16_t (*b_field_mv_table_base[2][2][2])[2];
int16_t (*p_mv_table)[2]; ///< MV table (1MV per MB) p-frame encoding
int16_t (*b_forw_mv_table)[2]; ///< MV table (1MV per MB) forward mode b-frame encoding
int16_t (*b_back_mv_table)[2]; ///< MV table (1MV per MB) backward mode b-frame encoding
int16_t (*b_bidir_forw_mv_table)[2]; ///< MV table (1MV per MB) bidir mode b-frame encoding
int16_t (*b_bidir_back_mv_table)[2]; ///< MV table (1MV per MB) bidir mode b-frame encoding
int16_t (*b_direct_mv_table)[2]; ///< MV table (1MV per MB) direct mode b-frame encoding
int16_t (*p_field_mv_table[2][2])[2]; ///< MV table (2MV per MB) interlaced p-frame encoding
int16_t (*b_field_mv_table[2][2][2])[2];///< MV table (4MV per MB) interlaced b-frame encoding
int16_t (*p_mv_table)[2]; ///< MV table (1MV per MB) P-frame encoding
int16_t (*b_forw_mv_table)[2]; ///< MV table (1MV per MB) forward mode B-frame encoding
int16_t (*b_back_mv_table)[2]; ///< MV table (1MV per MB) backward mode B-frame encoding
int16_t (*b_bidir_forw_mv_table)[2]; ///< MV table (1MV per MB) bidir mode B-frame encoding
int16_t (*b_bidir_back_mv_table)[2]; ///< MV table (1MV per MB) bidir mode B-frame encoding
int16_t (*b_direct_mv_table)[2]; ///< MV table (1MV per MB) direct mode B-frame encoding
int16_t (*p_field_mv_table[2][2])[2]; ///< MV table (2MV per MB) interlaced P-frame encoding
int16_t (*b_field_mv_table[2][2][2])[2];///< MV table (4MV per MB) interlaced B-frame encoding
uint8_t (*p_field_select_table[2]);
uint8_t (*b_field_select_table[2][2]);
#if FF_API_MOTION_EST
@ -261,10 +261,10 @@ typedef struct MpegEncContext {
int mv_dir;
#define MV_DIR_FORWARD 1
#define MV_DIR_BACKWARD 2
#define MV_DIRECT 4 ///< bidirectional mode where the difference equals the MV of the last P/S/I-Frame (mpeg4)
#define MV_DIRECT 4 ///< bidirectional mode where the difference equals the MV of the last P/S/I-Frame (MPEG-4)
int mv_type;
#define MV_TYPE_16X16 0 ///< 1 vector for the whole mb
#define MV_TYPE_8X8 1 ///< 4 vectors (h263, mpeg4 4MV)
#define MV_TYPE_8X8 1 ///< 4 vectors (H.263, MPEG-4 4MV)
#define MV_TYPE_16X8 2 ///< 2 vectors, one per 16x8 block
#define MV_TYPE_FIELD 3 ///< 2 vectors, one per field
#define MV_TYPE_DMV 4 ///< 2 vectors, special mpeg2 Dual Prime Vectors
@ -275,14 +275,14 @@ typedef struct MpegEncContext {
*/
int mv[2][4][2];
int field_select[2][2];
int last_mv[2][2][2]; ///< last MV, used for MV prediction in MPEG1 & B-frame MPEG4
int last_mv[2][2][2]; ///< last MV, used for MV prediction in MPEG-1 & B-frame MPEG-4
uint8_t *fcode_tab; ///< smallest fcode needed for each MV
int16_t direct_scale_mv[2][64]; ///< precomputed to avoid divisions in ff_mpeg4_set_direct_mv
MotionEstContext me;
int no_rounding; /**< apply no rounding to motion compensation (MPEG4, msmpeg4, ...)
for b-frames rounding mode is always 0 */
int no_rounding; /**< apply no rounding to motion compensation (MPEG-4, msmpeg4, ...)
for B-frames rounding mode is always 0 */
/* macroblock layer */
int mb_x, mb_y;
@ -357,7 +357,7 @@ typedef struct MpegEncContext {
int resync_mb_y; ///< y position of last resync marker
GetBitContext last_resync_gb; ///< used to search for the next resync marker
int mb_num_left; ///< number of MBs left in this video packet (for partitioned Slices only)
int next_p_frame_damaged; ///< set if the next p frame is damaged, to avoid showing trashed b frames
int next_p_frame_damaged; ///< set if the next p frame is damaged, to avoid showing trashed B-frames
ParseContext parse_context;
@ -372,7 +372,7 @@ typedef struct MpegEncContext {
int rc_strategy;
/* H.263+ specific */
int umvplus; ///< == H263+ && unrestricted_mv
int umvplus; ///< == H.263+ && unrestricted_mv
int h263_aic_dir; ///< AIC direction: 0 = left, 1 = top
int h263_slice_structured;
int alt_inter_vlc; ///< alternative inter vlc
@ -380,7 +380,7 @@ typedef struct MpegEncContext {
int loop_filter;
int custom_pcf;
/* mpeg4 specific */
/* MPEG-4 specific */
///< number of bits to represent the fractional part of time (encoder only)
int time_increment_bits;
int last_time_base;
@ -401,12 +401,12 @@ typedef struct MpegEncContext {
int sprite_warping_accuracy;
int data_partitioning; ///< data partitioning flag from header
int partitioned_frame; ///< is current frame partitioned
int low_delay; ///< no reordering needed / has no b-frames
int low_delay; ///< no reordering needed / has no B-frames
int vo_type;
PutBitContext tex_pb; ///< used for data partitioned VOPs
PutBitContext pb2; ///< used for data partitioned VOPs
int mpeg_quant;
int padding_bug_score; ///< used to detect the VERY common padding bug in MPEG4
int padding_bug_score; ///< used to detect the VERY common padding bug in MPEG-4
/* divx specific, used to workaround (many) bugs in divx5 */
int divx_packed;
@ -430,7 +430,7 @@ typedef struct MpegEncContext {
int dc_table_index;
int use_skip_mb_code;
int slice_height; ///< in macroblocks
int first_slice_line; ///< used in mpeg4 too to handle resync markers
int first_slice_line; ///< used in MPEG-4 too to handle resync markers
int flipflop_rounding;
int msmpeg4_version; ///< 0=not msmpeg4, 1=mp41, 2=mp42, 3=mp43/divx3 4=wmv1/7 5=wmv2/8
int per_mb_rl_table;
@ -444,9 +444,9 @@ typedef struct MpegEncContext {
/* decompression specific */
GetBitContext gb;
/* Mpeg1 specific */
int gop_picture_number; ///< index of the first picture of a GOP based on fake_pic_num & mpeg1 specific
int last_mv_dir; ///< last mv_dir, used for b frame encoding
/* MPEG-1 specific */
int gop_picture_number; ///< index of the first picture of a GOP based on fake_pic_num & MPEG-1 specific
int last_mv_dir; ///< last mv_dir, used for B-frame encoding
uint8_t *vbv_delay_ptr; ///< pointer to vbv_delay in the bitstream
/* MPEG-2-specific - I wished not to have to support this mess. */
@ -514,9 +514,9 @@ typedef struct MpegEncContext {
int16_t *block/*align 16*/, int n, int qscale);
void (*dct_unquantize_h263_inter)(struct MpegEncContext *s,
int16_t *block/*align 16*/, int n, int qscale);
void (*dct_unquantize_intra)(struct MpegEncContext *s, // unquantizer to use (mpeg4 can use both)
void (*dct_unquantize_intra)(struct MpegEncContext *s, // unquantizer to use (MPEG-4 can use both)
int16_t *block/*align 16*/, int n, int qscale);
void (*dct_unquantize_inter)(struct MpegEncContext *s, // unquantizer to use (mpeg4 can use both)
void (*dct_unquantize_inter)(struct MpegEncContext *s, // unquantizer to use (MPEG-4 can use both)
int16_t *block/*align 16*/, int n, int qscale);
int (*dct_quantize)(struct MpegEncContext *s, int16_t *block/*align 16*/, int n, int qscale, int *overflow);
int (*fast_dct_quantize)(struct MpegEncContext *s, int16_t *block/*align 16*/, int n, int qscale, int *overflow);

Просмотреть файл

@ -89,7 +89,7 @@ static const AVClass av_codec_context_class = {
.get_category = get_category,
};
int avcodec_get_context_defaults3(AVCodecContext *s, const AVCodec *codec)
static int init_context_defaults(AVCodecContext *s, const AVCodec *codec)
{
int flags=0;
memset(s, 0, sizeof(AVCodecContext));
@ -146,6 +146,13 @@ int avcodec_get_context_defaults3(AVCodecContext *s, const AVCodec *codec)
return 0;
}
#if FF_API_GET_CONTEXT_DEFAULTS
int avcodec_get_context_defaults3(AVCodecContext *s, const AVCodec *codec)
{
return init_context_defaults(s, codec);
}
#endif
AVCodecContext *avcodec_alloc_context3(const AVCodec *codec)
{
AVCodecContext *avctx= av_malloc(sizeof(AVCodecContext));
@ -153,7 +160,7 @@ AVCodecContext *avcodec_alloc_context3(const AVCodec *codec)
if (!avctx)
return NULL;
if(avcodec_get_context_defaults3(avctx, codec) < 0){
if (init_context_defaults(avctx, codec) < 0) {
av_free(avctx);
return NULL;
}
@ -179,6 +186,7 @@ void avcodec_free_context(AVCodecContext **pavctx)
av_freep(pavctx);
}
#if FF_API_COPY_CONTEXT
int avcodec_copy_context(AVCodecContext *dest, const AVCodecContext *src)
{
const AVCodec *orig_codec = dest->codec;
@ -225,6 +233,7 @@ FF_ENABLE_DEPRECATION_WARNINGS
dest->inter_matrix = NULL;
dest->rc_override = NULL;
dest->subtitle_header = NULL;
dest->hw_frames_ctx = NULL;
#define alloc_and_copy_or_fail(obj, size, pad) \
if (src->obj && size > 0) { \
@ -245,19 +254,27 @@ FF_ENABLE_DEPRECATION_WARNINGS
av_assert0(dest->subtitle_header_size == src->subtitle_header_size);
#undef alloc_and_copy_or_fail
if (src->hw_frames_ctx) {
dest->hw_frames_ctx = av_buffer_ref(src->hw_frames_ctx);
if (!dest->hw_frames_ctx)
goto fail;
}
return 0;
fail:
av_freep(&dest->subtitle_header);
av_freep(&dest->rc_override);
av_freep(&dest->intra_matrix);
av_freep(&dest->inter_matrix);
av_freep(&dest->extradata);
av_freep(&dest->subtitle_header);
av_buffer_unref(&dest->hw_frames_ctx);
dest->subtitle_header_size = 0;
dest->extradata_size = 0;
av_opt_free(dest);
return AVERROR(ENOMEM);
}
#endif
const AVClass *avcodec_get_class(void)
{

Просмотреть файл

@ -90,6 +90,7 @@ static const AVOption avcodec_options[] = {
{"showall", "Show all frames before the first keyframe", 0, AV_OPT_TYPE_CONST, {.i64 = AV_CODEC_FLAG2_SHOW_ALL }, INT_MIN, INT_MAX, V|D, "flags2"},
{"export_mvs", "export motion vectors through frame side data", 0, AV_OPT_TYPE_CONST, {.i64 = AV_CODEC_FLAG2_EXPORT_MVS}, INT_MIN, INT_MAX, V|D, "flags2"},
{"skip_manual", "do not skip samples and export skip information as frame side data", 0, AV_OPT_TYPE_CONST, {.i64 = AV_CODEC_FLAG2_SKIP_MANUAL}, INT_MIN, INT_MAX, V|D, "flags2"},
{"ass_ro_flush_noop", "do not reset ASS ReadOrder field on flush", 0, AV_OPT_TYPE_CONST, {.i64 = AV_CODEC_FLAG2_RO_FLUSH_NOOP}, INT_MIN, INT_MAX, S|D, "flags2"},
#if FF_API_MOTION_EST
{"me_method", "set motion estimation method", OFFSET(me_method), AV_OPT_TYPE_INT, {.i64 = ME_EPZS }, INT_MIN, INT_MAX, V|E, "me_method"},
{"zero", "zero motion estimation (fastest)", 0, AV_OPT_TYPE_CONST, {.i64 = ME_ZERO }, INT_MIN, INT_MAX, V|E, "me_method" },
@ -120,7 +121,7 @@ static const AVOption avcodec_options[] = {
{"qmin", "minimum video quantizer scale (VBR)", OFFSET(qmin), AV_OPT_TYPE_INT, {.i64 = 2 }, -1, 69, V|E},
{"qmax", "maximum video quantizer scale (VBR)", OFFSET(qmax), AV_OPT_TYPE_INT, {.i64 = 31 }, -1, 1024, V|E},
{"qdiff", "maximum difference between the quantizer scales (VBR)", OFFSET(max_qdiff), AV_OPT_TYPE_INT, {.i64 = 3 }, INT_MIN, INT_MAX, V|E},
{"bf", "set maximum number of B frames between non-B-frames", OFFSET(max_b_frames), AV_OPT_TYPE_INT, {.i64 = DEFAULT }, -1, INT_MAX, V|E},
{"bf", "set maximum number of B-frames between non-B-frames", OFFSET(max_b_frames), AV_OPT_TYPE_INT, {.i64 = DEFAULT }, -1, INT_MAX, V|E},
{"b_qfactor", "QP factor between P- and B-frames", OFFSET(b_quant_factor), AV_OPT_TYPE_FLOAT, {.dbl = 1.25 }, -FLT_MAX, FLT_MAX, V|E},
#if FF_API_RC_STRATEGY
{"rc_strategy", "ratecontrol method", OFFSET(rc_strategy), AV_OPT_TYPE_INT, {.i64 = DEFAULT }, INT_MIN, INT_MAX, V|E},
@ -163,11 +164,11 @@ static const AVOption avcodec_options[] = {
{"ms", "work around various bugs in Microsoft's broken decoders", 0, AV_OPT_TYPE_CONST, {.i64 = FF_BUG_MS }, INT_MIN, INT_MAX, V|D, "bug"},
{"trunc", "truncated frames", 0, AV_OPT_TYPE_CONST, {.i64 = FF_BUG_TRUNCATED}, INT_MIN, INT_MAX, V|D, "bug"},
{"strict", "how strictly to follow the standards", OFFSET(strict_std_compliance), AV_OPT_TYPE_INT, {.i64 = DEFAULT }, INT_MIN, INT_MAX, A|V|D|E, "strict"},
{"very", "strictly conform to a older more strict version of the spec or reference software", 0, AV_OPT_TYPE_CONST, {.i64 = FF_COMPLIANCE_VERY_STRICT }, INT_MIN, INT_MAX, V|D|E, "strict"},
{"strict", "strictly conform to all the things in the spec no matter what the consequences", 0, AV_OPT_TYPE_CONST, {.i64 = FF_COMPLIANCE_STRICT }, INT_MIN, INT_MAX, V|D|E, "strict"},
{"normal", NULL, 0, AV_OPT_TYPE_CONST, {.i64 = FF_COMPLIANCE_NORMAL }, INT_MIN, INT_MAX, V|D|E, "strict"},
{"unofficial", "allow unofficial extensions", 0, AV_OPT_TYPE_CONST, {.i64 = FF_COMPLIANCE_UNOFFICIAL }, INT_MIN, INT_MAX, V|D|E, "strict"},
{"experimental", "allow non-standardized experimental things", 0, AV_OPT_TYPE_CONST, {.i64 = FF_COMPLIANCE_EXPERIMENTAL }, INT_MIN, INT_MAX, V|D|E, "strict"},
{"very", "strictly conform to a older more strict version of the spec or reference software", 0, AV_OPT_TYPE_CONST, {.i64 = FF_COMPLIANCE_VERY_STRICT }, INT_MIN, INT_MAX, A|V|D|E, "strict"},
{"strict", "strictly conform to all the things in the spec no matter what the consequences", 0, AV_OPT_TYPE_CONST, {.i64 = FF_COMPLIANCE_STRICT }, INT_MIN, INT_MAX, A|V|D|E, "strict"},
{"normal", NULL, 0, AV_OPT_TYPE_CONST, {.i64 = FF_COMPLIANCE_NORMAL }, INT_MIN, INT_MAX, A|V|D|E, "strict"},
{"unofficial", "allow unofficial extensions", 0, AV_OPT_TYPE_CONST, {.i64 = FF_COMPLIANCE_UNOFFICIAL }, INT_MIN, INT_MAX, A|V|D|E, "strict"},
{"experimental", "allow non-standardized experimental things", 0, AV_OPT_TYPE_CONST, {.i64 = FF_COMPLIANCE_EXPERIMENTAL }, INT_MIN, INT_MAX, A|V|D|E, "strict"},
{"b_qoffset", "QP offset between P- and B-frames", OFFSET(b_quant_offset), AV_OPT_TYPE_FLOAT, {.dbl = 1.25 }, -FLT_MAX, FLT_MAX, V|E},
{"err_detect", "set error detection flags", OFFSET(err_recognition), AV_OPT_TYPE_FLAGS, {.i64 = 0 }, INT_MIN, INT_MAX, A|V|D, "err_detect"},
{"crccheck", "verify embedded CRCs", 0, AV_OPT_TYPE_CONST, {.i64 = AV_EF_CRCCHECK }, INT_MIN, INT_MAX, A|V|D, "err_detect"},
@ -253,6 +254,7 @@ static const AVOption avcodec_options[] = {
{"median", NULL, 0, AV_OPT_TYPE_CONST, {.i64 = FF_PRED_MEDIAN }, INT_MIN, INT_MAX, V|E, "pred"},
#endif
{"aspect", "sample aspect ratio", OFFSET(sample_aspect_ratio), AV_OPT_TYPE_RATIONAL, {.dbl = 0}, 0, 10, V|E},
{"sar", "sample aspect ratio", OFFSET(sample_aspect_ratio), AV_OPT_TYPE_RATIONAL, {.dbl = 0}, 0, 10, V|E},
{"debug", "print specific debug info", OFFSET(debug), AV_OPT_TYPE_FLAGS, {.i64 = DEFAULT }, 0, INT_MAX, V|A|S|E|D, "debug"},
{"pict", "picture info", 0, AV_OPT_TYPE_CONST, {.i64 = FF_DEBUG_PICT_INFO }, INT_MIN, INT_MAX, V|D, "debug"},
{"rc", "rate control", 0, AV_OPT_TYPE_CONST, {.i64 = FF_DEBUG_RC }, INT_MIN, INT_MAX, V|E, "debug"},
@ -519,6 +521,15 @@ static const AVOption avcodec_options[] = {
{"do_nothing", NULL, 0, AV_OPT_TYPE_CONST, {.i64 = FF_SUB_CHARENC_MODE_DO_NOTHING}, INT_MIN, INT_MAX, S|D, "sub_charenc_mode"},
{"auto", NULL, 0, AV_OPT_TYPE_CONST, {.i64 = FF_SUB_CHARENC_MODE_AUTOMATIC}, INT_MIN, INT_MAX, S|D, "sub_charenc_mode"},
{"pre_decoder", NULL, 0, AV_OPT_TYPE_CONST, {.i64 = FF_SUB_CHARENC_MODE_PRE_DECODER}, INT_MIN, INT_MAX, S|D, "sub_charenc_mode"},
#if FF_API_ASS_TIMING
{"sub_text_format", "set decoded text subtitle format", OFFSET(sub_text_format), AV_OPT_TYPE_INT, {.i64 = FF_SUB_TEXT_FMT_ASS_WITH_TIMINGS}, 0, 1, S|D, "sub_text_format"},
#else
{"sub_text_format", "set decoded text subtitle format", OFFSET(sub_text_format), AV_OPT_TYPE_INT, {.i64 = FF_SUB_TEXT_FMT_ASS}, 0, 1, S|D, "sub_text_format"},
#endif
{"ass", NULL, 0, AV_OPT_TYPE_CONST, {.i64 = FF_SUB_TEXT_FMT_ASS}, INT_MIN, INT_MAX, S|D, "sub_text_format"},
#if FF_API_ASS_TIMING
{"ass_with_timings", NULL, 0, AV_OPT_TYPE_CONST, {.i64 = FF_SUB_TEXT_FMT_ASS_WITH_TIMINGS}, INT_MIN, INT_MAX, S|D, "sub_text_format"},
#endif
{"refcounted_frames", NULL, OFFSET(refcounted_frames), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, A|V|D },
#if FF_API_SIDEDATA_ONLY_PKT
{"side_data_only_packets", NULL, OFFSET(side_data_only_packets), AV_OPT_TYPE_BOOL, { .i64 = 1 }, 0, 1, A|V|E },

Просмотреть файл

@ -141,6 +141,8 @@ int av_parser_parse2(AVCodecParserContext *s, AVCodecContext *avctx,
int index, i;
uint8_t dummy_buf[AV_INPUT_BUFFER_PADDING_SIZE];
av_assert1(avctx->codec_id != AV_CODEC_ID_NONE);
/* Parsers only work for the specified codec ids. */
av_assert1(avctx->codec_id == s->parser->codec_ids[0] ||
avctx->codec_id == s->parser->codec_ids[1] ||

Просмотреть файл

@ -1,5 +1,4 @@
/*
*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or

Просмотреть файл

@ -1,5 +1,4 @@
/*
*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or
@ -32,4 +31,4 @@ extern const AVProfile ff_mpeg4_video_profiles[];
extern const AVProfile ff_vc1_profiles[];
extern const AVProfile ff_vp9_profiles[];
#endif
#endif /* AVCODEC_PROFILES_H */

Просмотреть файл

@ -93,6 +93,8 @@ typedef struct PerThreadContext {
const enum AVPixelFormat *available_formats; ///< Format array for get_format()
enum AVPixelFormat result_format; ///< get_format() result
int die; ///< Set when the thread should exit.
} PerThreadContext;
/**
@ -111,8 +113,6 @@ typedef struct FrameThreadContext {
* Set for the first N packets, where N is the number of threads.
* While it is set, ff_thread_en/decode_frame won't return any results.
*/
int die; ///< Set when threads should exit.
} FrameThreadContext;
#define THREAD_SAFE_CALLBACKS(avctx) \
@ -128,16 +128,15 @@ typedef struct FrameThreadContext {
static attribute_align_arg void *frame_worker_thread(void *arg)
{
PerThreadContext *p = arg;
FrameThreadContext *fctx = p->parent;
AVCodecContext *avctx = p->avctx;
const AVCodec *codec = avctx->codec;
pthread_mutex_lock(&p->mutex);
while (1) {
while (p->state == STATE_INPUT_READY && !fctx->die)
while (p->state == STATE_INPUT_READY && !p->die)
pthread_cond_wait(&p->input_cond, &p->mutex);
if (fctx->die) break;
if (p->die) break;
if (!codec->update_thread_context && THREAD_SAFE_CALLBACKS(avctx))
ff_thread_finish_setup(avctx);
@ -553,12 +552,11 @@ void ff_frame_thread_free(AVCodecContext *avctx, int thread_count)
fctx->threads->avctx->internal->is_copy = 1;
}
fctx->die = 1;
for (i = 0; i < thread_count; i++) {
PerThreadContext *p = &fctx->threads[i];
pthread_mutex_lock(&p->mutex);
p->die = 1;
pthread_cond_signal(&p->input_cond);
pthread_mutex_unlock(&p->mutex);

Просмотреть файл

@ -21,7 +21,7 @@
#include "avcodec.h"
/* H264 slice threading seems to be buggy with more than 16 threads,
/* H.264 slice threading seems to be buggy with more than 16 threads,
* limit the number of threads to 16 for automatic detection */
#define MAX_AUTO_THREADS 16

Просмотреть файл

@ -68,7 +68,7 @@ typedef struct RateControlContext{
double short_term_qsum; ///< sum of recent qscales
double short_term_qcount; ///< count of recent qscales
double pass1_rc_eq_output_sum;///< sum of the output of the rc equation, this is used for normalization
double pass1_wanted_bits; ///< bits which should have been outputed by the pass1 code (including complexity init)
double pass1_wanted_bits; ///< bits which should have been output by the pass1 code (including complexity init)
double last_qscale;
double last_qscale_for[5]; ///< last qscale for a specific pict type, used for max_diff & ipb factor stuff
int64_t last_mc_mb_var_sum;

Просмотреть файл

@ -65,7 +65,7 @@ static av_always_inline void fill_rectangle(void *vp, int w, int h, int stride,
*(uint32_t*)(p + 2*stride)= v;
*(uint32_t*)(p + 3*stride)= v;
}else if(w==8){
//gcc can't optimize 64bit math on x86_32
// gcc cannot optimize 64-bit math on x86_32
#if HAVE_FAST_64BIT
const uint64_t v= size==2 ? val*0x0001000100010001ULL : val*0x0100000001ULL;
*(uint64_t*)(p + 0*stride)= v;

Просмотреть файл

@ -28,7 +28,8 @@
#define AVCODEC_RL_H
#include <stdint.h>
#include "get_bits.h"
#include "vlc.h"
/* run length table */
#define MAX_RUN 64
@ -48,7 +49,6 @@ typedef struct RLTable {
} RLTable;
/**
*
* @param static_store static uint8_t array[2][2*MAX_RUN + MAX_LEVEL + 3] which will hold
* the level and run tables, if this is NULL av_malloc() will be used
*/

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -1,5 +1,4 @@
/*
*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or
@ -29,8 +28,8 @@
#include "libavutil/version.h"
#define LIBAVCODEC_VERSION_MAJOR 57
#define LIBAVCODEC_VERSION_MINOR 24
#define LIBAVCODEC_VERSION_MICRO 102
#define LIBAVCODEC_VERSION_MINOR 48
#define LIBAVCODEC_VERSION_MICRO 101
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
LIBAVCODEC_VERSION_MINOR, \
@ -212,5 +211,20 @@
#ifndef FF_API_PRIVATE_OPT
#define FF_API_PRIVATE_OPT (LIBAVCODEC_VERSION_MAJOR < 59)
#endif
#ifndef FF_API_ASS_TIMING
#define FF_API_ASS_TIMING (LIBAVCODEC_VERSION_MAJOR < 59)
#endif
#ifndef FF_API_OLD_BSF
#define FF_API_OLD_BSF (LIBAVCODEC_VERSION_MAJOR < 59)
#endif
#ifndef FF_API_COPY_CONTEXT
#define FF_API_COPY_CONTEXT (LIBAVCODEC_VERSION_MAJOR < 59)
#endif
#ifndef FF_API_GET_CONTEXT_DEFAULTS
#define FF_API_GET_CONTEXT_DEFAULTS (LIBAVCODEC_VERSION_MAJOR < 59)
#endif
#ifndef FF_API_NVENC_OLD_NAME
#define FF_API_NVENC_OLD_NAME (LIBAVCODEC_VERSION_MAJOR < 59)
#endif
#endif /* AVCODEC_VERSION_H */

Просмотреть файл

@ -0,0 +1,65 @@
/*
* This file is part of FFmpeg.
*
* 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.
*
* 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 FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef AVCODEC_VLC_H
#define AVCODEC_VLC_H
#include <stdint.h>
#define VLC_TYPE int16_t
typedef struct VLC {
int bits;
VLC_TYPE (*table)[2]; ///< code, bits
int table_size, table_allocated;
} VLC;
typedef struct RL_VLC_ELEM {
int16_t level;
int8_t len;
uint8_t run;
} RL_VLC_ELEM;
#define init_vlc(vlc, nb_bits, nb_codes, \
bits, bits_wrap, bits_size, \
codes, codes_wrap, codes_size, \
flags) \
ff_init_vlc_sparse(vlc, nb_bits, nb_codes, \
bits, bits_wrap, bits_size, \
codes, codes_wrap, codes_size, \
NULL, 0, 0, flags)
int ff_init_vlc_sparse(VLC *vlc, int nb_bits, int nb_codes,
const void *bits, int bits_wrap, int bits_size,
const void *codes, int codes_wrap, int codes_size,
const void *symbols, int symbols_wrap, int symbols_size,
int flags);
void ff_free_vlc(VLC *vlc);
#define INIT_VLC_LE 2
#define INIT_VLC_USE_NEW_STATIC 4
#define INIT_VLC_STATIC(vlc, bits, a, b, c, d, e, f, g, static_size) \
do { \
static VLC_TYPE table[static_size][2]; \
(vlc)->table = table; \
(vlc)->table_allocated = static_size; \
init_vlc(vlc, bits, a, b, c, d, e, f, g, INIT_VLC_USE_NEW_STATIC); \
} while (0)
#endif /* AVCODEC_VLC_H */

Просмотреть файл

@ -1,5 +1,4 @@
/*
*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or

Просмотреть файл

@ -28,6 +28,7 @@
#include "avcodec.h"
#include "internal.h"
#include "mathops.h"
#include "rectangle.h"
#include "thread.h"
#include "vp8.h"
@ -541,7 +542,7 @@ static int vp7_decode_frame_header(VP8Context *s, const uint8_t *buf, int buf_si
sizeof(vp7_mv_default_prob[i]));
memset(&s->segmentation, 0, sizeof(s->segmentation));
memset(&s->lf_delta, 0, sizeof(s->lf_delta));
memcpy(s->prob[0].scan, zigzag_scan, sizeof(s->prob[0].scan));
memcpy(s->prob[0].scan, ff_zigzag_scan, sizeof(s->prob[0].scan));
}
if (s->keyframe || s->profile > 0)
@ -613,7 +614,7 @@ static int vp7_decode_frame_header(VP8Context *s, const uint8_t *buf, int buf_si
/* G. DCT coefficient ordering specification */
if (vp8_rac_get(c))
for (i = 1; i < 16; i++)
s->prob[0].scan[i] = zigzag_scan[vp8_rac_get_uint(c, 4)];
s->prob[0].scan[i] = ff_zigzag_scan[vp8_rac_get_uint(c, 4)];
/* H. Loop filter levels */
if (s->profile > 0)
@ -1162,10 +1163,10 @@ void decode_mb_mode(VP8Context *s, VP8Macroblock *mb, int mb_x, int mb_y,
uint8_t *segment, uint8_t *ref, int layout, int is_vp7)
{
VP56RangeCoder *c = &s->c;
const char *vp7_feature_name[] = { "q-index",
"lf-delta",
"partial-golden-update",
"blit-pitch" };
static const char *vp7_feature_name[] = { "q-index",
"lf-delta",
"partial-golden-update",
"blit-pitch" };
if (is_vp7) {
int i;
*segment = 0;
@ -1350,7 +1351,7 @@ static int vp8_decode_block_coeffs_internal(VP56RangeCoder *r,
int16_t qmul[2])
{
return decode_block_coeffs_internal(r, block, probs, i,
token_prob, qmul, zigzag_scan, IS_VP8);
token_prob, qmul, ff_zigzag_scan, IS_VP8);
}
#endif
@ -1398,7 +1399,7 @@ void decode_mb_coeffs(VP8Context *s, VP8ThreadData *td, VP56RangeCoder *c,
// decode DC values and do hadamard
nnz = decode_block_coeffs(c, td->block_dc, s->prob->token[1], 0,
nnz_pred, s->qmat[segment].luma_dc_qmul,
zigzag_scan, is_vp7);
ff_zigzag_scan, is_vp7);
l_nnz[8] = t_nnz[8] = !!nnz;
if (is_vp7 && mb->mode > MODE_I4x4) {
@ -2746,7 +2747,7 @@ int vp78_decode_init(AVCodecContext *avctx, int is_vp7)
}
/* does not change for VP8 */
memcpy(s->prob[0].scan, zigzag_scan, sizeof(s->prob[0].scan));
memcpy(s->prob[0].scan, ff_zigzag_scan, sizeof(s->prob[0].scan));
if ((ret = vp8_init_frames(s)) < 0) {
ff_vp8_decode_free(avctx);

Просмотреть файл

@ -223,7 +223,7 @@ typedef struct VP8Context {
/**
* These are all of the updatable probabilities for binary decisions.
* They are only implictly reset on keyframes, making it quite likely
* They are only implicitly reset on keyframes, making it quite likely
* for an interframe to desync if a prior frame's header was corrupt
* or missing outright!
*/
@ -271,7 +271,7 @@ typedef struct VP8Context {
/**
* This describes the macroblock memory layout.
* 0 -> Only width+height*2+1 macroblocks allocated (frame/single thread).
* 1 -> Macroblocks for entire frame alloced (sliced thread).
* 1 -> Macroblocks for entire frame allocated (sliced thread).
*/
int mb_layout;

Просмотреть файл

@ -708,14 +708,6 @@ static const uint8_t vp8_token_update_probs[4][8][3][NUM_DCT_TOKENS - 1] = {
},
};
// fixme: copied from h264data.h
static const uint8_t zigzag_scan[16]={
0 + 0 * 4, 1 + 0 * 4, 0 + 1 * 4, 0 + 2 * 4,
1 + 1 * 4, 2 + 0 * 4, 3 + 0 * 4, 2 + 1 * 4,
1 + 2 * 4, 0 + 3 * 4, 1 + 3 * 4, 2 + 2 * 4,
3 + 1 * 4, 3 + 2 * 4, 2 + 3 * 4, 3 + 3 * 4,
};
static const uint8_t vp8_dc_qlookup[VP8_MAX_QUANT + 1] = {
4, 5, 6, 7, 8, 9, 10, 10, 11, 12, 13, 14, 15, 16, 17, 17,
18, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 25, 25, 26, 27, 28,

Просмотреть файл

@ -642,6 +642,8 @@ static int decode_frame_header(AVCodecContext *ctx,
s->s.h.refreshctx = s->s.h.errorres ? 0 : get_bits1(&s->gb);
s->s.h.parallelmode = s->s.h.errorres ? 1 : get_bits1(&s->gb);
s->s.h.framectxid = c = get_bits(&s->gb, 2);
if (s->s.h.keyframe || s->s.h.intraonly)
s->s.h.framectxid = 0; // BUG: libvpx ignores this field in keyframes
/* loopfilter header data */
if (s->s.h.keyframe || s->s.h.errorres || s->s.h.intraonly) {
@ -743,7 +745,7 @@ static int decode_frame_header(AVCodecContext *ctx,
if (s->s.h.lf_delta.enabled) {
s->s.h.segmentation.feat[i].lflvl[0][0] =
s->s.h.segmentation.feat[i].lflvl[0][1] =
av_clip_uintp2(lflvl + (s->s.h.lf_delta.ref[0] << sh), 6);
av_clip_uintp2(lflvl + (s->s.h.lf_delta.ref[0] * (1 << sh)), 6);
for (j = 1; j < 4; j++) {
s->s.h.segmentation.feat[i].lflvl[j][0] =
av_clip_uintp2(lflvl + ((s->s.h.lf_delta.ref[j] +
@ -2769,7 +2771,7 @@ static av_always_inline void mc_chroma_unscaled(VP9Context *s, vp9_mc_func (*mc)
ptrdiff_t y, ptrdiff_t x, const VP56mv *mv,
int bw, int bh, int w, int h, int bytesperpixel)
{
int mx = mv->x << !s->ss_h, my = mv->y << !s->ss_v, th;
int mx = mv->x * (1 << !s->ss_h), my = mv->y * (1 << !s->ss_v), th;
y += my >> 4;
x += mx >> 4;
@ -2849,8 +2851,8 @@ static av_always_inline void mc_luma_scaled(VP9Context *s, vp9_scaled_mc_func sm
int th;
VP56mv mv;
mv.x = av_clip(in_mv->x, -(x + pw - px + 4) << 3, (s->cols * 8 - x + px + 3) << 3);
mv.y = av_clip(in_mv->y, -(y + ph - py + 4) << 3, (s->rows * 8 - y + py + 3) << 3);
mv.x = av_clip(in_mv->x, -(x + pw - px + 4) * 8, (s->cols * 8 - x + px + 3) * 8);
mv.y = av_clip(in_mv->y, -(y + ph - py + 4) * 8, (s->rows * 8 - y + py + 3) * 8);
// BUG libvpx seems to scale the two components separately. This introduces
// rounding errors but we have to reproduce them to be exactly compatible
// with the output from libvpx...
@ -2907,19 +2909,19 @@ static av_always_inline void mc_chroma_scaled(VP9Context *s, vp9_scaled_mc_func
if (s->ss_h) {
// BUG https://code.google.com/p/webm/issues/detail?id=820
mv.x = av_clip(in_mv->x, -(x + pw - px + 4) << 4, (s->cols * 4 - x + px + 3) << 4);
mv.x = av_clip(in_mv->x, -(x + pw - px + 4) * 16, (s->cols * 4 - x + px + 3) * 16);
mx = scale_mv(mv.x, 0) + (scale_mv(x * 16, 0) & ~15) + (scale_mv(x * 32, 0) & 15);
} else {
mv.x = av_clip(in_mv->x, -(x + pw - px + 4) << 3, (s->cols * 8 - x + px + 3) << 3);
mx = scale_mv(mv.x << 1, 0) + scale_mv(x * 16, 0);
mv.x = av_clip(in_mv->x, -(x + pw - px + 4) * 8, (s->cols * 8 - x + px + 3) * 8);
mx = scale_mv(mv.x * 2, 0) + scale_mv(x * 16, 0);
}
if (s->ss_v) {
// BUG https://code.google.com/p/webm/issues/detail?id=820
mv.y = av_clip(in_mv->y, -(y + ph - py + 4) << 4, (s->rows * 4 - y + py + 3) << 4);
mv.y = av_clip(in_mv->y, -(y + ph - py + 4) * 16, (s->rows * 4 - y + py + 3) * 16);
my = scale_mv(mv.y, 1) + (scale_mv(y * 16, 1) & ~15) + (scale_mv(y * 32, 1) & 15);
} else {
mv.y = av_clip(in_mv->y, -(y + ph - py + 4) << 3, (s->rows * 8 - y + py + 3) << 3);
my = scale_mv(mv.y << 1, 1) + scale_mv(y * 16, 1);
mv.y = av_clip(in_mv->y, -(y + ph - py + 4) * 8, (s->rows * 8 - y + py + 3) * 8);
my = scale_mv(mv.y * 2, 1) + scale_mv(y * 16, 1);
}
#undef scale_mv
y = my >> 4;

Просмотреть файл

@ -47,7 +47,7 @@ typedef struct VP9DSPContext {
*/
// FIXME(rbultje) maybe replace left/top pointers with HAVE_TOP/
// HAVE_LEFT/HAVE_TOPRIGHT flags instead, and then handle it in-place?
// also needs to fit in with what h264/vp8/etc do
// also needs to fit in with what H.264/VP8/etc do
void (*intra_pred[N_TXFM_SIZES][N_INTRA_PRED_MODES])(uint8_t *dst,
ptrdiff_t stride,
const uint8_t *left,

Просмотреть файл

@ -21,7 +21,7 @@
/**
* @file
* H.264 / AVC / MPEG4 part10 codec.
* H.264 / AVC / MPEG-4 part10 codec.
* non-MMX i386-specific optimizations for H.264
* @author Michael Niedermayer <michaelni@gmx.at>
*/

Просмотреть файл

@ -23,7 +23,6 @@
#include "libavutil/attributes.h"
#include "libavutil/cpu.h"
#include "libavutil/mem.h"
#include "libavutil/x86/asm.h"
#include "libavutil/x86/cpu.h"
#include "libavcodec/vp8dsp.h"

Просмотреть файл

@ -95,38 +95,3 @@ unsigned long av_adler32_update(unsigned long adler, const uint8_t * buf,
}
return (s2 << 16) | s1;
}
#ifdef TEST
// LCOV_EXCL_START
#include <string.h>
#include "log.h"
#include "timer.h"
#define LEN 7001
static volatile int checksum;
int main(int argc, char **argv)
{
int i;
uint8_t data[LEN];
av_log_set_level(AV_LOG_DEBUG);
for (i = 0; i < LEN; i++)
data[i] = ((i * i) >> 3) + 123 * i;
if (argc > 1 && !strcmp(argv[1], "-t")) {
for (i = 0; i < 1000; i++) {
START_TIMER;
checksum = av_adler32_update(1, data, LEN);
STOP_TIMER("adler");
}
} else {
checksum = av_adler32_update(1, data, LEN);
}
av_log(NULL, AV_LOG_DEBUG, "%X (expected 50E6E508)\n", checksum);
return checksum == 0x50e6e508 ? 0 : 1;
}
// LCOV_EXCL_STOP
#endif

Просмотреть файл

@ -107,21 +107,3 @@ void *avpriv_atomic_ptr_cas(void * volatile *ptr, void *oldval, void *newval)
#endif /* HAVE_PTHREADS */
#endif /* !HAVE_ATOMICS_NATIVE */
#ifdef TEST
#include "avassert.h"
int main(void)
{
volatile int val = 1;
int res;
res = avpriv_atomic_int_add_and_fetch(&val, 1);
av_assert0(res == 2);
avpriv_atomic_int_set(&val, 3);
res = avpriv_atomic_int_get(&val);
av_assert0(res == 3);
return 0;
}
#endif

Просмотреть файл

@ -1,5 +1,4 @@
/*
*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or

Просмотреть файл

@ -45,7 +45,7 @@
/**
* assert() equivalent, that does not lie in speed critical code.
* These asserts() thus can be enabled without fearing speedloss.
* These asserts() thus can be enabled without fearing speed loss.
*/
#if defined(ASSERT_LEVEL) && ASSERT_LEVEL > 0
#define av_assert1(cond) av_assert0(cond)

Просмотреть файл

@ -144,7 +144,7 @@ char *av_d2str(double d)
return str;
}
#define WHITESPACES " \n\t"
#define WHITESPACES " \n\t\r"
char *av_get_token(const char **buf, const char *term)
{
@ -435,67 +435,3 @@ int av_match_list(const char *name, const char *list, char separator)
return 0;
}
#ifdef TEST
int main(void)
{
int i;
char *fullpath;
static const char * const strings[] = {
"''",
"",
":",
"\\",
"'",
" '' :",
" '' '' :",
"foo '' :",
"'foo'",
"foo ",
" ' foo ' ",
"foo\\",
"foo': blah:blah",
"foo\\: blah:blah",
"foo\'",
"'foo : ' :blahblah",
"\\ :blah",
" foo",
" foo ",
" foo \\ ",
"foo ':blah",
" foo bar : blahblah",
"\\f\\o\\o",
"'foo : \\ \\ ' : blahblah",
"'\\fo\\o:': blahblah",
"\\'fo\\o\\:': foo ' :blahblah"
};
printf("Testing av_get_token()\n");
for (i = 0; i < FF_ARRAY_ELEMS(strings); i++) {
const char *p = strings[i];
char *q;
printf("|%s|", p);
q = av_get_token(&p, ":");
printf(" -> |%s|", q);
printf(" + |%s|\n", p);
av_free(q);
}
printf("Testing av_append_path_component()\n");
#define TEST_APPEND_PATH_COMPONENT(path, component, expected) \
fullpath = av_append_path_component((path), (component)); \
printf("%s = %s\n", fullpath ? fullpath : "(null)", expected); \
av_free(fullpath);
TEST_APPEND_PATH_COMPONENT(NULL, NULL, "(null)")
TEST_APPEND_PATH_COMPONENT("path", NULL, "path");
TEST_APPEND_PATH_COMPONENT(NULL, "comp", "comp");
TEST_APPEND_PATH_COMPONENT("path", "comp", "path/comp");
TEST_APPEND_PATH_COMPONENT("path/", "comp", "path/comp");
TEST_APPEND_PATH_COMPONENT("path", "/comp", "path/comp");
TEST_APPEND_PATH_COMPONENT("path/", "/comp", "path/comp");
TEST_APPEND_PATH_COMPONENT("path/path2/", "/comp/comp2", "path/path2/comp/comp2");
return 0;
}
#endif /* TEST */

Просмотреть файл

@ -156,7 +156,7 @@ static inline size_t av_strnlen(const char *s, size_t len)
char *av_asprintf(const char *fmt, ...) av_printf_format(1, 2);
/**
* Convert a number to a av_malloced string.
* Convert a number to an av_malloced string.
*/
char *av_d2str(double d);

Просмотреть файл

@ -266,7 +266,7 @@ enum AVPictureType {
AV_PICTURE_TYPE_I, ///< Intra
AV_PICTURE_TYPE_P, ///< Predicted
AV_PICTURE_TYPE_B, ///< Bi-dir predicted
AV_PICTURE_TYPE_S, ///< S(GMC)-VOP MPEG4
AV_PICTURE_TYPE_S, ///< S(GMC)-VOP MPEG-4
AV_PICTURE_TYPE_SI, ///< Switching Intra
AV_PICTURE_TYPE_SP, ///< Switching Predicted
AV_PICTURE_TYPE_BI, ///< BI type

Просмотреть файл

@ -172,110 +172,3 @@ char *av_base64_encode(char *out, int out_size, const uint8_t *in, int in_size)
return ret;
}
#ifdef TEST
// LCOV_EXCL_START
#define MAX_DATA_SIZE 1024
#define MAX_ENCODED_SIZE 2048
static int test_encode_decode(const uint8_t *data, unsigned int data_size,
const char *encoded_ref)
{
char encoded[MAX_ENCODED_SIZE];
uint8_t data2[MAX_DATA_SIZE];
int data2_size, max_data2_size = MAX_DATA_SIZE;
if (!av_base64_encode(encoded, MAX_ENCODED_SIZE, data, data_size)) {
printf("Failed: cannot encode the input data\n");
return 1;
}
if (encoded_ref && strcmp(encoded, encoded_ref)) {
printf("Failed: encoded string differs from reference\n"
"Encoded:\n%s\nReference:\n%s\n", encoded, encoded_ref);
return 1;
}
if ((data2_size = av_base64_decode(data2, encoded, max_data2_size)) != data_size) {
printf("Failed: cannot decode the encoded string\n"
"Encoded:\n%s\n", encoded);
return 1;
}
if ((data2_size = av_base64_decode(data2, encoded, data_size)) != data_size) {
printf("Failed: cannot decode with minimal buffer\n"
"Encoded:\n%s\n", encoded);
return 1;
}
if (memcmp(data2, data, data_size)) {
printf("Failed: encoded/decoded data differs from original data\n");
return 1;
}
if (av_base64_decode(NULL, encoded, 0) != 0) {
printf("Failed: decode to NULL buffer\n");
return 1;
}
if (strlen(encoded)) {
char *end = strchr(encoded, '=');
if (!end)
end = encoded + strlen(encoded) - 1;
*end = '%';
if (av_base64_decode(NULL, encoded, 0) >= 0) {
printf("Failed: error detection\n");
return 1;
}
}
printf("Passed!\n");
return 0;
}
int main(int argc, char ** argv)
{
int i, error_count = 0;
struct test {
const uint8_t *data;
const char *encoded_ref;
} tests[] = {
{ "", ""},
{ "1", "MQ=="},
{ "22", "MjI="},
{ "333", "MzMz"},
{ "4444", "NDQ0NA=="},
{ "55555", "NTU1NTU="},
{ "666666", "NjY2NjY2"},
{ "abc:def", "YWJjOmRlZg=="},
};
char in[1024], out[2048];
printf("Encoding/decoding tests\n");
for (i = 0; i < FF_ARRAY_ELEMS(tests); i++)
error_count += test_encode_decode(tests[i].data, strlen(tests[i].data), tests[i].encoded_ref);
if (argc>1 && !strcmp(argv[1], "-t")) {
memset(in, 123, sizeof(in));
for(i=0; i<10000; i++){
START_TIMER
av_base64_encode(out, sizeof(out), in, sizeof(in));
STOP_TIMER("encode")
}
for(i=0; i<10000; i++){
START_TIMER
av_base64_decode(in, out, sizeof(in));
STOP_TIMER("decode")
}
for(i=0; i<10000; i++){
START_TIMER
av_base64_decode(NULL, out, 0);
STOP_TIMER("syntax check")
}
}
if (error_count)
printf("Error Count: %d.\n", error_count);
return !!error_count;
}
// LCOV_EXCL_STOP
#endif

Просмотреть файл

@ -29,19 +29,24 @@
* @{
*/
/**
* Decode a base64-encoded string.
*
* @param out buffer for decoded data
* @param in null-terminated input string
* @param out_size size in bytes of the out buffer, must be at
* least 3/4 of the length of in
* least 3/4 of the length of in, that is AV_BASE64_DECODE_SIZE(strlen(in))
* @return number of bytes written, or a negative value in case of
* invalid input
*/
int av_base64_decode(uint8_t *out, const char *in, int out_size);
/**
* Calculate the output size in bytes needed to decode a base64 string
* with length x to a data buffer.
*/
#define AV_BASE64_DECODE_SIZE(x) ((x) * 3LL / 4)
/**
* Encode data to base64 and null-terminate.
*

Просмотреть файл

@ -260,7 +260,7 @@ int av_bprint_finalize(AVBPrint *buf, char **ret_str)
return ret;
}
#define WHITESPACES " \n\t"
#define WHITESPACES " \n\t\r"
void av_bprint_escape(AVBPrint *dstbuf, const char *src, const char *special_chars,
enum AVEscapeMode mode, int flags)
@ -303,79 +303,3 @@ void av_bprint_escape(AVBPrint *dstbuf, const char *src, const char *special_cha
break;
}
}
#ifdef TEST
#undef printf
static void bprint_pascal(AVBPrint *b, unsigned size)
{
unsigned i, j;
unsigned p[42];
av_assert0(size < FF_ARRAY_ELEMS(p));
p[0] = 1;
av_bprintf(b, "%8d\n", 1);
for (i = 1; i <= size; i++) {
p[i] = 1;
for (j = i - 1; j > 0; j--)
p[j] = p[j] + p[j - 1];
for (j = 0; j <= i; j++)
av_bprintf(b, "%8d", p[j]);
av_bprintf(b, "\n");
}
}
int main(void)
{
AVBPrint b;
char buf[256];
struct tm testtime = { .tm_year = 100, .tm_mon = 11, .tm_mday = 20 };
av_bprint_init(&b, 0, -1);
bprint_pascal(&b, 5);
printf("Short text in unlimited buffer: %u/%u\n", (unsigned)strlen(b.str), b.len);
printf("%s\n", b.str);
av_bprint_finalize(&b, NULL);
av_bprint_init(&b, 0, -1);
bprint_pascal(&b, 25);
printf("Long text in unlimited buffer: %u/%u\n", (unsigned)strlen(b.str), b.len);
av_bprint_finalize(&b, NULL);
av_bprint_init(&b, 0, 2048);
bprint_pascal(&b, 25);
printf("Long text in limited buffer: %u/%u\n", (unsigned)strlen(b.str), b.len);
av_bprint_finalize(&b, NULL);
av_bprint_init(&b, 0, 1);
bprint_pascal(&b, 5);
printf("Short text in automatic buffer: %u/%u\n", (unsigned)strlen(b.str), b.len);
av_bprint_init(&b, 0, 1);
bprint_pascal(&b, 25);
printf("Long text in automatic buffer: %u/%u\n", (unsigned)strlen(b.str)/8*8, b.len);
/* Note that the size of the automatic buffer is arch-dependent. */
av_bprint_init(&b, 0, 0);
bprint_pascal(&b, 25);
printf("Long text count only buffer: %u/%u\n", (unsigned)strlen(b.str), b.len);
av_bprint_init_for_buffer(&b, buf, sizeof(buf));
bprint_pascal(&b, 25);
printf("Long text count only buffer: %u/%u\n", (unsigned)strlen(buf), b.len);
av_bprint_init(&b, 0, -1);
av_bprint_strftime(&b, "%Y-%m-%d", &testtime);
printf("strftime full: %u/%u \"%s\"\n", (unsigned)strlen(buf), b.len, b.str);
av_bprint_finalize(&b, NULL);
av_bprint_init(&b, 0, 8);
av_bprint_strftime(&b, "%Y-%m-%d", &testtime);
printf("strftime truncated: %u/%u \"%s\"\n", (unsigned)strlen(buf), b.len, b.str);
return 0;
}
#endif

Просмотреть файл

@ -214,6 +214,26 @@ int av_buffer_realloc(AVBufferRef **pbuf, int size)
return 0;
}
AVBufferPool *av_buffer_pool_init2(int size, void *opaque,
AVBufferRef* (*alloc)(void *opaque, int size),
void (*pool_free)(void *opaque))
{
AVBufferPool *pool = av_mallocz(sizeof(*pool));
if (!pool)
return NULL;
ff_mutex_init(&pool->mutex, NULL);
pool->size = size;
pool->opaque = opaque;
pool->alloc2 = alloc;
pool->pool_free = pool_free;
avpriv_atomic_int_set(&pool->refcount, 1);
return pool;
}
AVBufferPool *av_buffer_pool_init(int size, AVBufferRef* (*alloc)(int size))
{
AVBufferPool *pool = av_mallocz(sizeof(*pool));
@ -244,6 +264,10 @@ static void buffer_pool_free(AVBufferPool *pool)
av_freep(&buf);
}
ff_mutex_destroy(&pool->mutex);
if (pool->pool_free)
pool->pool_free(pool->opaque);
av_freep(&pool);
}
@ -326,7 +350,8 @@ static AVBufferRef *pool_alloc_buffer(AVBufferPool *pool)
BufferPoolEntry *buf;
AVBufferRef *ret;
ret = pool->alloc(pool->size);
ret = pool->alloc2 ? pool->alloc2(pool->opaque, pool->size) :
pool->alloc(pool->size);
if (!ret)
return NULL;

Просмотреть файл

@ -248,6 +248,23 @@ typedef struct AVBufferPool AVBufferPool;
*/
AVBufferPool *av_buffer_pool_init(int size, AVBufferRef* (*alloc)(int size));
/**
* Allocate and initialize a buffer pool with a more complex allocator.
*
* @param size size of each buffer in this pool
* @param opaque arbitrary user data used by the allocator
* @param alloc a function that will be used to allocate new buffers when the
* pool is empty.
* @param pool_free a function that will be called immediately before the pool
* is freed. I.e. after av_buffer_pool_can_uninit() is called
* by the pool and all the frames are returned to the pool and
* freed. It is intended to uninitialize the user opaque data.
* @return newly created buffer pool on success, NULL on error.
*/
AVBufferPool *av_buffer_pool_init2(int size, void *opaque,
AVBufferRef* (*alloc)(void *opaque, int size),
void (*pool_free)(void *opaque));
/**
* Mark the pool as being available for freeing. It will actually be freed only
* once all the allocated buffers associated with the pool are released. Thus it
@ -255,7 +272,6 @@ AVBufferPool *av_buffer_pool_init(int size, AVBufferRef* (*alloc)(int size));
* in use.
*
* @param pool pointer to the pool to be freed. It will be set to NULL.
* @see av_buffer_pool_can_uninit()
*/
void av_buffer_pool_uninit(AVBufferPool **pool);

Просмотреть файл

@ -90,7 +90,10 @@ struct AVBufferPool {
volatile int nb_allocated;
int size;
void *opaque;
AVBufferRef* (*alloc)(int size);
AVBufferRef* (*alloc2)(void *opaque, int size);
void (*pool_free)(void *opaque);
};
#endif /* AVUTIL_BUFFER_INTERNAL_H */

Просмотреть файл

@ -21,6 +21,7 @@
#include <stddef.h>
#include <math.h>
#include "common.h"
#include "libavutil/color_utils.h"
#include "libavutil/pixfmt.h"
@ -154,6 +155,18 @@ static double avpriv_trc_smpte_st428_1(double Lc)
: pow(48.0 * Lc / 52.37, 1.0 / 2.6);
}
static double avpriv_trc_arib_std_b67(double Lc) {
// The function uses the definition from HEVC, which assumes that the peak
// white is input level = 1. (this is equivalent to scaling E = Lc * 12 and
// using the definition from the ARIB STD-B67 spec)
const double a = 0.17883277;
const double b = 0.28466892;
const double c = 0.55991073;
return (0.0 > Lc) ? 0.0 :
(Lc <= 1.0 / 12.0 ? sqrt(3.0 * Lc) : a * log(12.0 * Lc - b) + c);
}
avpriv_trc_function avpriv_get_trc_function_from_trc(enum AVColorTransferCharacteristic trc)
{
avpriv_trc_function func = NULL;
@ -208,6 +221,10 @@ avpriv_trc_function avpriv_get_trc_function_from_trc(enum AVColorTransferCharact
func = avpriv_trc_smpte_st428_1;
break;
case AVCOL_TRC_ARIB_STD_B67:
func = avpriv_trc_arib_std_b67;
break;
case AVCOL_TRC_RESERVED0:
case AVCOL_TRC_UNSPECIFIED:
case AVCOL_TRC_RESERVED:

Просмотреть файл

@ -41,16 +41,17 @@
b_add = FIX(1.77200*255.0/224.0) * cb + ONE_HALF;\
}
#define YUV_TO_RGB1_CCIR_BT709(cb1, cr1)\
{\
cb = (cb1) - 128;\
cr = (cr1) - 128;\
r_add = FIX(1.5747*255.0/224.0) * cr + ONE_HALF;\
g_add = - FIX(0.1873*255.0/224.0) * cb - FIX(0.4682*255.0/224.0) * cr + \
ONE_HALF;\
b_add = FIX(1.8556*255.0/224.0) * cb + ONE_HALF;\
}
#define YUV_TO_RGB1_CCIR_BT709(cb1, cr1) \
{ \
cb = (cb1) - 128; \
cr = (cr1) - 128; \
r_add = ONE_HALF + FIX(1.5747 * 255.0 / 224.0) * cr; \
g_add = ONE_HALF - FIX(0.1873 * 255.0 / 224.0) * cb - \
FIX(0.4682 * 255.0 / 224.0) * cr; \
b_add = ONE_HALF + FIX(1.8556 * 255.0 / 224.0) * cb; \
}
// To be used for the BT709 variant as well
#define YUV_TO_RGB2_CCIR(r, g, b, y1)\
{\
y = ((y1) - 16) * FIX(255.0/219.0);\

Просмотреть файл

@ -294,130 +294,3 @@ int av_cpu_count(void)
return nb_cpus;
}
#ifdef TEST
#include <stdio.h>
#include "avstring.h"
#if !HAVE_GETOPT
#include "compat/getopt.c"
#endif
static const struct {
int flag;
const char *name;
} cpu_flag_tab[] = {
#if ARCH_AARCH64
{ AV_CPU_FLAG_ARMV8, "armv8" },
{ AV_CPU_FLAG_NEON, "neon" },
{ AV_CPU_FLAG_VFP, "vfp" },
#elif ARCH_ARM
{ AV_CPU_FLAG_ARMV5TE, "armv5te" },
{ AV_CPU_FLAG_ARMV6, "armv6" },
{ AV_CPU_FLAG_ARMV6T2, "armv6t2" },
{ AV_CPU_FLAG_VFP, "vfp" },
{ AV_CPU_FLAG_VFP_VM, "vfp_vm" },
{ AV_CPU_FLAG_VFPV3, "vfpv3" },
{ AV_CPU_FLAG_NEON, "neon" },
{ AV_CPU_FLAG_SETEND, "setend" },
#elif ARCH_PPC
{ AV_CPU_FLAG_ALTIVEC, "altivec" },
#elif ARCH_X86
{ AV_CPU_FLAG_MMX, "mmx" },
{ AV_CPU_FLAG_MMXEXT, "mmxext" },
{ AV_CPU_FLAG_SSE, "sse" },
{ AV_CPU_FLAG_SSE2, "sse2" },
{ AV_CPU_FLAG_SSE2SLOW, "sse2slow" },
{ AV_CPU_FLAG_SSE3, "sse3" },
{ AV_CPU_FLAG_SSE3SLOW, "sse3slow" },
{ AV_CPU_FLAG_SSSE3, "ssse3" },
{ AV_CPU_FLAG_ATOM, "atom" },
{ AV_CPU_FLAG_SSE4, "sse4.1" },
{ AV_CPU_FLAG_SSE42, "sse4.2" },
{ AV_CPU_FLAG_AVX, "avx" },
{ AV_CPU_FLAG_AVXSLOW, "avxslow" },
{ AV_CPU_FLAG_XOP, "xop" },
{ AV_CPU_FLAG_FMA3, "fma3" },
{ AV_CPU_FLAG_FMA4, "fma4" },
{ AV_CPU_FLAG_3DNOW, "3dnow" },
{ AV_CPU_FLAG_3DNOWEXT, "3dnowext" },
{ AV_CPU_FLAG_CMOV, "cmov" },
{ AV_CPU_FLAG_AVX2, "avx2" },
{ AV_CPU_FLAG_BMI1, "bmi1" },
{ AV_CPU_FLAG_BMI2, "bmi2" },
{ AV_CPU_FLAG_AESNI, "aesni" },
#endif
{ 0 }
};
static void print_cpu_flags(int cpu_flags, const char *type)
{
int i;
printf("cpu_flags(%s) = 0x%08X\n", type, cpu_flags);
printf("cpu_flags_str(%s) =", type);
for (i = 0; cpu_flag_tab[i].flag; i++)
if (cpu_flags & cpu_flag_tab[i].flag)
printf(" %s", cpu_flag_tab[i].name);
printf("\n");
}
int main(int argc, char **argv)
{
int cpu_flags_raw = av_get_cpu_flags();
int cpu_flags_eff;
int cpu_count = av_cpu_count();
char threads[5] = "auto";
int i;
for(i = 0; cpu_flag_tab[i].flag; i++) {
unsigned tmp = 0;
if (av_parse_cpu_caps(&tmp, cpu_flag_tab[i].name) < 0) {
fprintf(stderr, "Table missing %s\n", cpu_flag_tab[i].name);
return 4;
}
}
if (cpu_flags_raw < 0)
return 1;
for (;;) {
int c = getopt(argc, argv, "c:t:");
if (c == -1)
break;
switch (c) {
case 'c':
{
unsigned flags = av_get_cpu_flags();
if (av_parse_cpu_caps(&flags, optarg) < 0)
return 2;
av_force_cpu_flags(flags);
break;
}
case 't':
{
int len = av_strlcpy(threads, optarg, sizeof(threads));
if (len >= sizeof(threads)) {
fprintf(stderr, "Invalid thread count '%s'\n", optarg);
return 2;
}
}
}
}
cpu_flags_eff = av_get_cpu_flags();
if (cpu_flags_eff < 0)
return 3;
print_cpu_flags(cpu_flags_raw, "raw");
print_cpu_flags(cpu_flags_eff, "effective");
printf("threads = %s (cpu_count = %d)\n", threads, cpu_count);
return 0;
}
#endif

Просмотреть файл

@ -70,7 +70,7 @@
/**
* Return the flags which specify extensions supported by the CPU.
* The returned value is affected by av_force_cpu_flags() if that was used
* before. So av_get_cpu_flags() can easily be used in a application to
* before. So av_get_cpu_flags() can easily be used in an application to
* detect the enabled cpu flags.
*/
int av_get_cpu_flags(void);

Просмотреть файл

@ -19,8 +19,9 @@
*/
#include "config.h"
#include "common.h"
#include "bswap.h"
#include "common.h"
#include "crc.h"
#if CONFIG_HARDCODED_TABLES
@ -332,7 +333,7 @@ int av_crc_init(AVCRC *ctx, int le, int bits, uint32_t poly, int ctx_size)
if (ctx_size >= sizeof(AVCRC) * 1024)
for (i = 0; i < 256; i++)
for (j = 0; j < 3; j++)
ctx[256 *(j + 1) + i] =
ctx[256 * (j + 1) + i] =
(ctx[256 * j + i] >> 8) ^ ctx[ctx[256 * j + i] & 0xFF];
#endif
@ -377,29 +378,3 @@ uint32_t av_crc(const AVCRC *ctx, uint32_t crc,
return crc;
}
#ifdef TEST
int main(void)
{
uint8_t buf[1999];
int i;
unsigned
p[6][3] = { { AV_CRC_32_IEEE_LE, 0xEDB88320, 0x3D5CDD04 },
{ AV_CRC_32_IEEE , 0x04C11DB7, 0xC0F5BAE0 },
{ AV_CRC_24_IEEE , 0x864CFB , 0xB704CE },
{ AV_CRC_16_ANSI_LE, 0xA001 , 0xBFD8 },
{ AV_CRC_16_ANSI , 0x8005 , 0x1FBB },
{ AV_CRC_8_ATM , 0x07 , 0xE3 }
};
const AVCRC *ctx;
for (i = 0; i < sizeof(buf); i++)
buf[i] = i + i * i;
for (i = 0; i < 6; i++) {
ctx = av_crc_get_table(p[i][0]);
printf("crc %08X = %X\n", p[i][1], av_crc(ctx, 0, buf, sizeof(buf)));
}
return 0;
}
#endif

Просмотреть файл

@ -70,9 +70,12 @@ int av_dict_set(AVDictionary **pm, const char *key, const char *value,
int flags)
{
AVDictionary *m = *pm;
AVDictionaryEntry *tag = av_dict_get(m, key, NULL, flags);
AVDictionaryEntry *tag = NULL;
char *oldval = NULL, *copy_key = NULL, *copy_value = NULL;
if (!(flags & AV_DICT_MULTIKEY)) {
tag = av_dict_get(m, key, NULL, flags);
}
if (flags & AV_DICT_DONT_STRDUP_KEY)
copy_key = (void *)key;
else
@ -98,7 +101,7 @@ int av_dict_set(AVDictionary **pm, const char *key, const char *value,
av_free(tag->value);
av_free(tag->key);
*tag = m->elems[--m->count];
} else {
} else if (copy_value) {
AVDictionaryEntry *tmp = av_realloc(m->elems,
(m->count + 1) * sizeof(*m->elems));
if (!tmp)
@ -250,117 +253,3 @@ int av_dict_get_string(const AVDictionary *m, char **buffer,
}
return av_bprint_finalize(&bprint, buffer);
}
#ifdef TEST
static void print_dict(const AVDictionary *m)
{
AVDictionaryEntry *t = NULL;
while ((t = av_dict_get(m, "", t, AV_DICT_IGNORE_SUFFIX)))
printf("%s %s ", t->key, t->value);
printf("\n");
}
static void test_separators(const AVDictionary *m, const char pair, const char val)
{
AVDictionary *dict = NULL;
char pairs[] = {pair , '\0'};
char vals[] = {val, '\0'};
char *buffer = NULL;
av_dict_copy(&dict, m, 0);
print_dict(dict);
av_dict_get_string(dict, &buffer, val, pair);
printf("%s\n", buffer);
av_dict_free(&dict);
av_dict_parse_string(&dict, buffer, vals, pairs, 0);
av_freep(&buffer);
print_dict(dict);
av_dict_free(&dict);
}
int main(void)
{
AVDictionary *dict = NULL;
AVDictionaryEntry *e;
char *buffer = NULL;
printf("Testing av_dict_get_string() and av_dict_parse_string()\n");
av_dict_get_string(dict, &buffer, '=', ',');
printf("%s\n", buffer);
av_freep(&buffer);
av_dict_set(&dict, "aaa", "aaa", 0);
av_dict_set(&dict, "b,b", "bbb", 0);
av_dict_set(&dict, "c=c", "ccc", 0);
av_dict_set(&dict, "ddd", "d,d", 0);
av_dict_set(&dict, "eee", "e=e", 0);
av_dict_set(&dict, "f,f", "f=f", 0);
av_dict_set(&dict, "g=g", "g,g", 0);
test_separators(dict, ',', '=');
av_dict_free(&dict);
av_dict_set(&dict, "aaa", "aaa", 0);
av_dict_set(&dict, "bbb", "bbb", 0);
av_dict_set(&dict, "ccc", "ccc", 0);
av_dict_set(&dict, "\\,=\'\"", "\\,=\'\"", 0);
test_separators(dict, '"', '=');
test_separators(dict, '\'', '=');
test_separators(dict, ',', '"');
test_separators(dict, ',', '\'');
test_separators(dict, '\'', '"');
test_separators(dict, '"', '\'');
av_dict_free(&dict);
printf("\nTesting av_dict_set()\n");
av_dict_set(&dict, "a", "a", 0);
av_dict_set(&dict, "b", av_strdup("b"), AV_DICT_DONT_STRDUP_VAL);
av_dict_set(&dict, av_strdup("c"), "c", AV_DICT_DONT_STRDUP_KEY);
av_dict_set(&dict, av_strdup("d"), av_strdup("d"), AV_DICT_DONT_STRDUP_KEY | AV_DICT_DONT_STRDUP_VAL);
av_dict_set(&dict, "e", "e", AV_DICT_DONT_OVERWRITE);
av_dict_set(&dict, "e", "f", AV_DICT_DONT_OVERWRITE);
av_dict_set(&dict, "f", "f", 0);
av_dict_set(&dict, "f", NULL, 0);
av_dict_set(&dict, "ff", "f", 0);
av_dict_set(&dict, "ff", "f", AV_DICT_APPEND);
e = NULL;
while ((e = av_dict_get(dict, "", e, AV_DICT_IGNORE_SUFFIX)))
printf("%s %s\n", e->key, e->value);
av_dict_free(&dict);
av_dict_set(&dict, NULL, "a", 0);
av_dict_set(&dict, NULL, "b", 0);
av_dict_get(dict, NULL, NULL, 0);
e = NULL;
while ((e = av_dict_get(dict, "", e, AV_DICT_IGNORE_SUFFIX)))
printf("'%s' '%s'\n", e->key, e->value);
av_dict_free(&dict);
//valgrind sensible test
printf("\nTesting av_dict_set_int()\n");
av_dict_set_int(&dict, "1", 1, AV_DICT_DONT_STRDUP_VAL);
av_dict_set_int(&dict, av_strdup("2"), 2, AV_DICT_DONT_STRDUP_KEY);
av_dict_set_int(&dict, av_strdup("3"), 3, AV_DICT_DONT_STRDUP_KEY | AV_DICT_DONT_STRDUP_VAL);
av_dict_set_int(&dict, "4", 4, 0);
av_dict_set_int(&dict, "5", 5, AV_DICT_DONT_OVERWRITE);
av_dict_set_int(&dict, "5", 6, AV_DICT_DONT_OVERWRITE);
av_dict_set_int(&dict, "12", 1, 0);
av_dict_set_int(&dict, "12", 2, AV_DICT_APPEND);
e = NULL;
while ((e = av_dict_get(dict, "", e, AV_DICT_IGNORE_SUFFIX)))
printf("%s %s\n", e->key, e->value);
av_dict_free(&dict);
//valgrind sensible test
printf("\nTesting av_dict_set() with existing AVDictionaryEntry.key as key\n");
av_dict_set(&dict, "key", "old", 0);
e = av_dict_get(dict, "key", NULL, 0);
av_dict_set(&dict, e->key, "new val OK", 0);
e = av_dict_get(dict, "key", NULL, 0);
printf("%s\n", e->value);
av_dict_set(&dict, e->key, e->value, 0);
e = av_dict_get(dict, "key", NULL, 0);
printf("%s\n", e->value);
av_dict_free(&dict);
return 0;
}
#endif

Просмотреть файл

@ -1,5 +1,4 @@
/*
*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or
@ -65,7 +64,6 @@
}
av_dict_free(&d);
@endcode
*
*/
#define AV_DICT_MATCH_CASE 1 /**< Only get an entry with exact-case key match. Only relevant in av_dict_get(). */
@ -78,6 +76,7 @@
#define AV_DICT_DONT_OVERWRITE 16 ///< Don't overwrite existing entries.
#define AV_DICT_APPEND 32 /**< If the entry already exists, append to it. Note that no
delimiter is added, the strings are simply concatenated. */
#define AV_DICT_MULTIKEY 64 /**< Allow to store several equal keys in the dictionary */
typedef struct AVDictionaryEntry {
char *key;
@ -118,10 +117,13 @@ int av_dict_count(const AVDictionary *m);
* Note: If AV_DICT_DONT_STRDUP_KEY or AV_DICT_DONT_STRDUP_VAL is set,
* these arguments will be freed on error.
*
* Warning: Adding a new entry to a dictionary invalidates all existing entries
* previously returned with av_dict_get.
*
* @param pm pointer to a pointer to a dictionary struct. If *pm is NULL
* a dictionary struct is allocated and put in *pm.
* @param key entry key to add to *pm (will be av_strduped depending on flags)
* @param value entry value to add to *pm (will be av_strduped depending on flags).
* @param key entry key to add to *pm (will either be av_strduped or added as a new key depending on flags)
* @param value entry value to add to *pm (will be av_strduped or added as a new key depending on flags).
* Passing a NULL value will cause an existing entry to be deleted.
* @return >= 0 on success otherwise an error code <0
*/

Просмотреть файл

@ -22,6 +22,7 @@
#define AVUTIL_DISPLAY_H
#include <stdint.h>
#include "common.h"
/**
* The display transformation matrix specifies an affine transformation that

Просмотреть файл

@ -127,25 +127,3 @@ int av_strerror(int errnum, char *errbuf, size_t errbuf_size)
return ret;
}
#ifdef TEST
#undef printf
int main(void)
{
int i;
for (i = 0; i < FF_ARRAY_ELEMS(error_entries); i++) {
const struct error_entry *entry = &error_entries[i];
printf("%d: %s [%s]\n", entry->num, av_err2str(entry->num), entry->tag);
}
for (i = 0; i < 256; i++) {
printf("%d: %s\n", -i, av_err2str(-i));
}
return 0;
}
#endif /* TEST */

Просмотреть файл

@ -31,6 +31,7 @@
#include "avutil.h"
#include "common.h"
#include "eval.h"
#include "ffmath.h"
#include "internal.h"
#include "log.h"
#include "mathematics.h"
@ -736,156 +737,3 @@ int av_expr_parse_and_eval(double *d, const char *s,
av_expr_free(e);
return isnan(*d) ? AVERROR(EINVAL) : 0;
}
#ifdef TEST
#include <string.h>
static const double const_values[] = {
M_PI,
M_E,
0
};
static const char *const const_names[] = {
"PI",
"E",
0
};
int main(int argc, char **argv)
{
int i;
double d;
const char *const *expr;
static const char *const exprs[] = {
"",
"1;2",
"-20",
"-PI",
"+PI",
"1+(5-2)^(3-1)+1/2+sin(PI)-max(-2.2,-3.1)",
"80G/80Gi",
"1k",
"1Gi",
"1gi",
"1GiFoo",
"1k+1k",
"1Gi*3foo",
"foo",
"foo(",
"foo()",
"foo)",
"sin",
"sin(",
"sin()",
"sin)",
"sin 10",
"sin(1,2,3)",
"sin(1 )",
"1",
"1foo",
"bar + PI + E + 100f*2 + foo",
"13k + 12f - foo(1, 2)",
"1gi",
"1Gi",
"st(0, 123)",
"st(1, 123); ld(1)",
"lte(0, 1)",
"lte(1, 1)",
"lte(1, 0)",
"lt(0, 1)",
"lt(1, 1)",
"gt(1, 0)",
"gt(2, 7)",
"gte(122, 122)",
/* compute 1+2+...+N */
"st(0, 1); while(lte(ld(0), 100), st(1, ld(1)+ld(0));st(0, ld(0)+1)); ld(1)",
/* compute Fib(N) */
"st(1, 1); st(2, 2); st(0, 1); while(lte(ld(0),10), st(3, ld(1)+ld(2)); st(1, ld(2)); st(2, ld(3)); st(0, ld(0)+1)); ld(3)",
"while(0, 10)",
"st(0, 1); while(lte(ld(0),100), st(1, ld(1)+ld(0)); st(0, ld(0)+1))",
"isnan(1)",
"isnan(NAN)",
"isnan(INF)",
"isinf(1)",
"isinf(NAN)",
"isinf(INF)",
"floor(NAN)",
"floor(123.123)",
"floor(-123.123)",
"trunc(123.123)",
"trunc(-123.123)",
"ceil(123.123)",
"ceil(-123.123)",
"sqrt(1764)",
"isnan(sqrt(-1))",
"not(1)",
"not(NAN)",
"not(0)",
"6.0206dB",
"-3.0103dB",
"pow(0,1.23)",
"pow(PI,1.23)",
"PI^1.23",
"pow(-1,1.23)",
"if(1, 2)",
"if(1, 1, 2)",
"if(0, 1, 2)",
"ifnot(0, 23)",
"ifnot(1, NaN) + if(0, 1)",
"ifnot(1, 1, 2)",
"ifnot(0, 1, 2)",
"taylor(1, 1)",
"taylor(eq(mod(ld(1),4),1)-eq(mod(ld(1),4),3), PI/2, 1)",
"root(sin(ld(0))-1, 2)",
"root(sin(ld(0))+6+sin(ld(0)/12)-log(ld(0)), 100)",
"7000000B*random(0)",
"squish(2)",
"gauss(0.1)",
"hypot(4,3)",
"gcd(30,55)*print(min(9,1))",
"bitor(42, 12)",
"bitand(42, 12)",
"bitand(NAN, 1)",
"between(10, -3, 10)",
"between(-4, -2, -1)",
"between(1,2)",
"clip(0, 2, 1)",
"clip(0/0, 1, 2)",
"clip(0, 0/0, 1)",
NULL
};
for (expr = exprs; *expr; expr++) {
printf("Evaluating '%s'\n", *expr);
av_expr_parse_and_eval(&d, *expr,
const_names, const_values,
NULL, NULL, NULL, NULL, NULL, 0, NULL);
if (isnan(d))
printf("'%s' -> nan\n\n", *expr);
else
printf("'%s' -> %f\n\n", *expr, d);
}
av_expr_parse_and_eval(&d, "1+(5-2)^(3-1)+1/2+sin(PI)-max(-2.2,-3.1)",
const_names, const_values,
NULL, NULL, NULL, NULL, NULL, 0, NULL);
printf("%f == 12.7\n", d);
av_expr_parse_and_eval(&d, "80G/80Gi",
const_names, const_values,
NULL, NULL, NULL, NULL, NULL, 0, NULL);
printf("%f == 0.931322575\n", d);
if (argc > 1 && !strcmp(argv[1], "-t")) {
for (i = 0; i < 1050; i++) {
START_TIMER;
av_expr_parse_and_eval(&d, "1+(5-2)^(3-1)+1/2+sin(PI)-max(-2.2,-3.1)",
const_names, const_values,
NULL, NULL, NULL, NULL, NULL, 0, NULL);
STOP_TIMER("av_expr_parse_and_eval");
}
}
return 0;
}
#endif

Просмотреть файл

@ -0,0 +1,67 @@
/*
* copyright (c) 2016 Ganesh Ajjanagadde <gajjanag@gmail.com>
*
* This file is part of FFmpeg.
*
* 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.
*
* 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 FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/**
* @file
* internal math functions header
*/
#ifndef AVUTIL_FFMATH_H
#define AVUTIL_FFMATH_H
#include "attributes.h"
#include "libm.h"
/**
* Compute 10^x for floating point values. Note: this function is by no means
* "correctly rounded", and is meant as a fast, reasonably accurate approximation.
* For instance, maximum relative error for the double precision variant is
* ~ 1e-13 for very small and very large values.
* This is ~2x faster than GNU libm's approach, which is still off by 2ulp on
* some inputs.
* @param x exponent
* @return 10^x
*/
static av_always_inline double ff_exp10(double x)
{
return exp2(M_LOG2_10 * x);
}
static av_always_inline float ff_exp10f(float x)
{
return exp2f(M_LOG2_10 * x);
}
/**
* Compute x^y for floating point x, y. Note: this function is faster than the
* libm variant due to mainly 2 reasons:
* 1. It does not handle any edge cases. In particular, this is only guaranteed
* to work correctly for x > 0.
* 2. It is not as accurate as a standard nearly "correctly rounded" libm variant.
* @param x base
* @param y exponent
* @return x^y
*/
static av_always_inline float ff_fast_powf(float x, float y)
{
return expf(logf(x) * y);
}
#endif /* AVUTIL_FFMATH_H */

Просмотреть файл

@ -1,5 +1,5 @@
/* Automatically generated by version.sh, do not manually edit! */
#ifndef AVUTIL_FFVERSION_H
#define AVUTIL_FFVERSION_H
#define FFMPEG_VERSION "n3.0-1-g0aa2fbd"
#define FFMPEG_VERSION "n3.1.1-6-g86f9228"
#endif /* AVUTIL_FFVERSION_H */

Просмотреть файл

@ -113,7 +113,7 @@ int av_fifo_grow(AVFifoBuffer *f, unsigned int size)
size += av_fifo_size(f);
if (old_size < size)
return av_fifo_realloc2(f, FFMAX(size, 2*size));
return av_fifo_realloc2(f, FFMAX(size, 2*old_size));
return 0;
}
@ -238,60 +238,3 @@ void av_fifo_drain(AVFifoBuffer *f, int size)
f->rptr -= f->end - f->buffer;
f->rndx += size;
}
#ifdef TEST
int main(void)
{
/* create a FIFO buffer */
AVFifoBuffer *fifo = av_fifo_alloc(13 * sizeof(int));
int i, j, n;
/* fill data */
for (i = 0; av_fifo_space(fifo) >= sizeof(int); i++)
av_fifo_generic_write(fifo, &i, sizeof(int), NULL);
/* peek at FIFO */
n = av_fifo_size(fifo) / sizeof(int);
for (i = -n + 1; i < n; i++) {
int *v = (int *)av_fifo_peek2(fifo, i * sizeof(int));
printf("%d: %d\n", i, *v);
}
printf("\n");
/* peek_at at FIFO */
n = av_fifo_size(fifo) / sizeof(int);
for (i = 0; i < n; i++) {
av_fifo_generic_peek_at(fifo, &j, i * sizeof(int), sizeof(j), NULL);
printf("%d: %d\n", i, j);
}
printf("\n");
/* read data */
for (i = 0; av_fifo_size(fifo) >= sizeof(int); i++) {
av_fifo_generic_read(fifo, &j, sizeof(int), NULL);
printf("%d ", j);
}
printf("\n");
/* test *ndx overflow */
av_fifo_reset(fifo);
fifo->rndx = fifo->wndx = ~(uint32_t)0 - 5;
/* fill data */
for (i = 0; av_fifo_space(fifo) >= sizeof(int); i++)
av_fifo_generic_write(fifo, &i, sizeof(int), NULL);
/* peek_at at FIFO */
n = av_fifo_size(fifo) / sizeof(int);
for (i = 0; i < n; i++) {
av_fifo_generic_peek_at(fifo, &j, i * sizeof(int), sizeof(j), NULL);
printf("%d: %d\n", i, j);
}
av_fifo_free(fifo);
return 0;
}
#endif

Просмотреть файл

@ -144,321 +144,3 @@ av_cold AVFloatDSPContext *avpriv_float_dsp_alloc(int bit_exact)
ff_float_dsp_init_mips(fdsp);
return fdsp;
}
#ifdef TEST
#include <float.h>
#include <math.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#if HAVE_UNISTD_H
#include <unistd.h> /* for getopt */
#endif
#if !HAVE_GETOPT
#include "compat/getopt.c"
#endif
#include "common.h"
#include "cpu.h"
#include "internal.h"
#include "lfg.h"
#include "log.h"
#include "random_seed.h"
#define LEN 240
static void fill_float_array(AVLFG *lfg, float *a, int len)
{
int i;
double bmg[2], stddev = 10.0, mean = 0.0;
for (i = 0; i < len; i += 2) {
av_bmg_get(lfg, bmg);
a[i] = bmg[0] * stddev + mean;
a[i + 1] = bmg[1] * stddev + mean;
}
}
static int compare_floats(const float *a, const float *b, int len,
float max_diff)
{
int i;
for (i = 0; i < len; i++) {
if (fabsf(a[i] - b[i]) > max_diff) {
av_log(NULL, AV_LOG_ERROR, "%d: %- .12f - %- .12f = % .12g\n",
i, a[i], b[i], a[i] - b[i]);
return -1;
}
}
return 0;
}
static void fill_double_array(AVLFG *lfg, double *a, int len)
{
int i;
double bmg[2], stddev = 10.0, mean = 0.0;
for (i = 0; i < len; i += 2) {
av_bmg_get(lfg, bmg);
a[i] = bmg[0] * stddev + mean;
a[i + 1] = bmg[1] * stddev + mean;
}
}
static int compare_doubles(const double *a, const double *b, int len,
double max_diff)
{
int i;
for (i = 0; i < len; i++) {
if (fabs(a[i] - b[i]) > max_diff) {
av_log(NULL, AV_LOG_ERROR, "%d: %- .12f - %- .12f = % .12g\n",
i, a[i], b[i], a[i] - b[i]);
return -1;
}
}
return 0;
}
static int test_vector_fmul(AVFloatDSPContext *fdsp, AVFloatDSPContext *cdsp,
const float *v1, const float *v2)
{
LOCAL_ALIGNED(32, float, cdst, [LEN]);
LOCAL_ALIGNED(32, float, odst, [LEN]);
int ret;
cdsp->vector_fmul(cdst, v1, v2, LEN);
fdsp->vector_fmul(odst, v1, v2, LEN);
if (ret = compare_floats(cdst, odst, LEN, FLT_EPSILON))
av_log(NULL, AV_LOG_ERROR, "vector_fmul failed\n");
return ret;
}
#define ARBITRARY_FMAC_SCALAR_CONST 0.005
static int test_vector_fmac_scalar(AVFloatDSPContext *fdsp, AVFloatDSPContext *cdsp,
const float *v1, const float *src0, float scale)
{
LOCAL_ALIGNED(32, float, cdst, [LEN]);
LOCAL_ALIGNED(32, float, odst, [LEN]);
int ret;
memcpy(cdst, v1, LEN * sizeof(*v1));
memcpy(odst, v1, LEN * sizeof(*v1));
cdsp->vector_fmac_scalar(cdst, src0, scale, LEN);
fdsp->vector_fmac_scalar(odst, src0, scale, LEN);
if (ret = compare_floats(cdst, odst, LEN, ARBITRARY_FMAC_SCALAR_CONST))
av_log(NULL, AV_LOG_ERROR, "vector_fmac_scalar failed\n");
return ret;
}
static int test_vector_fmul_scalar(AVFloatDSPContext *fdsp, AVFloatDSPContext *cdsp,
const float *v1, float scale)
{
LOCAL_ALIGNED(32, float, cdst, [LEN]);
LOCAL_ALIGNED(32, float, odst, [LEN]);
int ret;
cdsp->vector_fmul_scalar(cdst, v1, scale, LEN);
fdsp->vector_fmul_scalar(odst, v1, scale, LEN);
if (ret = compare_floats(cdst, odst, LEN, FLT_EPSILON))
av_log(NULL, AV_LOG_ERROR, "vector_fmul_scalar failed\n");
return ret;
}
static int test_vector_dmul_scalar(AVFloatDSPContext *fdsp, AVFloatDSPContext *cdsp,
const double *v1, double scale)
{
LOCAL_ALIGNED(32, double, cdst, [LEN]);
LOCAL_ALIGNED(32, double, odst, [LEN]);
int ret;
cdsp->vector_dmul_scalar(cdst, v1, scale, LEN);
fdsp->vector_dmul_scalar(odst, v1, scale, LEN);
if (ret = compare_doubles(cdst, odst, LEN, DBL_EPSILON))
av_log(NULL, AV_LOG_ERROR, "vector_dmul_scalar failed\n");
return ret;
}
#define ARBITRARY_FMUL_WINDOW_CONST 0.008
static int test_vector_fmul_window(AVFloatDSPContext *fdsp, AVFloatDSPContext *cdsp,
const float *v1, const float *v2, const float *v3)
{
LOCAL_ALIGNED(32, float, cdst, [LEN]);
LOCAL_ALIGNED(32, float, odst, [LEN]);
int ret;
cdsp->vector_fmul_window(cdst, v1, v2, v3, LEN / 2);
fdsp->vector_fmul_window(odst, v1, v2, v3, LEN / 2);
if (ret = compare_floats(cdst, odst, LEN, ARBITRARY_FMUL_WINDOW_CONST))
av_log(NULL, AV_LOG_ERROR, "vector_fmul_window failed\n");
return ret;
}
#define ARBITRARY_FMUL_ADD_CONST 0.005
static int test_vector_fmul_add(AVFloatDSPContext *fdsp, AVFloatDSPContext *cdsp,
const float *v1, const float *v2, const float *v3)
{
LOCAL_ALIGNED(32, float, cdst, [LEN]);
LOCAL_ALIGNED(32, float, odst, [LEN]);
int ret;
cdsp->vector_fmul_add(cdst, v1, v2, v3, LEN);
fdsp->vector_fmul_add(odst, v1, v2, v3, LEN);
if (ret = compare_floats(cdst, odst, LEN, ARBITRARY_FMUL_ADD_CONST))
av_log(NULL, AV_LOG_ERROR, "vector_fmul_add failed\n");
return ret;
}
static int test_vector_fmul_reverse(AVFloatDSPContext *fdsp, AVFloatDSPContext *cdsp,
const float *v1, const float *v2)
{
LOCAL_ALIGNED(32, float, cdst, [LEN]);
LOCAL_ALIGNED(32, float, odst, [LEN]);
int ret;
cdsp->vector_fmul_reverse(cdst, v1, v2, LEN);
fdsp->vector_fmul_reverse(odst, v1, v2, LEN);
if (ret = compare_floats(cdst, odst, LEN, FLT_EPSILON))
av_log(NULL, AV_LOG_ERROR, "vector_fmul_reverse failed\n");
return ret;
}
static int test_butterflies_float(AVFloatDSPContext *fdsp, AVFloatDSPContext *cdsp,
const float *v1, const float *v2)
{
LOCAL_ALIGNED(32, float, cv1, [LEN]);
LOCAL_ALIGNED(32, float, cv2, [LEN]);
LOCAL_ALIGNED(32, float, ov1, [LEN]);
LOCAL_ALIGNED(32, float, ov2, [LEN]);
int ret;
memcpy(cv1, v1, LEN * sizeof(*v1));
memcpy(cv2, v2, LEN * sizeof(*v2));
memcpy(ov1, v1, LEN * sizeof(*v1));
memcpy(ov2, v2, LEN * sizeof(*v2));
cdsp->butterflies_float(cv1, cv2, LEN);
fdsp->butterflies_float(ov1, ov2, LEN);
if ((ret = compare_floats(cv1, ov1, LEN, FLT_EPSILON)) ||
(ret = compare_floats(cv2, ov2, LEN, FLT_EPSILON)))
av_log(NULL, AV_LOG_ERROR, "butterflies_float failed\n");
return ret;
}
#define ARBITRARY_SCALARPRODUCT_CONST 0.2
static int test_scalarproduct_float(AVFloatDSPContext *fdsp, AVFloatDSPContext *cdsp,
const float *v1, const float *v2)
{
float cprod, oprod;
int ret;
cprod = cdsp->scalarproduct_float(v1, v2, LEN);
oprod = fdsp->scalarproduct_float(v1, v2, LEN);
if (ret = compare_floats(&cprod, &oprod, 1, ARBITRARY_SCALARPRODUCT_CONST))
av_log(NULL, AV_LOG_ERROR, "scalarproduct_float failed\n");
return ret;
}
int main(int argc, char **argv)
{
int ret = 0, seeded = 0;
uint32_t seed;
AVFloatDSPContext *fdsp, *cdsp;
AVLFG lfg;
LOCAL_ALIGNED(32, float, src0, [LEN]);
LOCAL_ALIGNED(32, float, src1, [LEN]);
LOCAL_ALIGNED(32, float, src2, [LEN]);
LOCAL_ALIGNED(32, double, dbl_src0, [LEN]);
LOCAL_ALIGNED(32, double, dbl_src1, [LEN]);
for (;;) {
int arg = getopt(argc, argv, "s:c:");
if (arg == -1)
break;
switch (arg) {
case 's':
seed = strtoul(optarg, NULL, 10);
seeded = 1;
break;
case 'c':
{
int cpuflags = av_get_cpu_flags();
if (av_parse_cpu_caps(&cpuflags, optarg) < 0)
return 1;
av_force_cpu_flags(cpuflags);
break;
}
}
}
if (!seeded)
seed = av_get_random_seed();
av_log(NULL, AV_LOG_INFO, "float_dsp-test: %s %u\n", seeded ? "seed" : "random seed", seed);
fdsp = avpriv_float_dsp_alloc(1);
av_force_cpu_flags(0);
cdsp = avpriv_float_dsp_alloc(1);
if (!fdsp || !cdsp) {
ret = 1;
goto end;
}
av_lfg_init(&lfg, seed);
fill_float_array(&lfg, src0, LEN);
fill_float_array(&lfg, src1, LEN);
fill_float_array(&lfg, src2, LEN);
fill_double_array(&lfg, dbl_src0, LEN);
fill_double_array(&lfg, dbl_src1, LEN);
if (test_vector_fmul(fdsp, cdsp, src0, src1))
ret -= 1 << 0;
if (test_vector_fmac_scalar(fdsp, cdsp, src2, src0, src1[0]))
ret -= 1 << 1;
if (test_vector_fmul_scalar(fdsp, cdsp, src0, src1[0]))
ret -= 1 << 2;
if (test_vector_fmul_window(fdsp, cdsp, src0, src1, src2))
ret -= 1 << 3;
if (test_vector_fmul_add(fdsp, cdsp, src0, src1, src2))
ret -= 1 << 4;
if (test_vector_fmul_reverse(fdsp, cdsp, src0, src1))
ret -= 1 << 5;
if (test_butterflies_float(fdsp, cdsp, src0, src1))
ret -= 1 << 6;
if (test_scalarproduct_float(fdsp, cdsp, src0, src1))
ret -= 1 << 7;
if (test_vector_dmul_scalar(fdsp, cdsp, dbl_src0, dbl_src1[0]))
ret -= 1 << 8;
end:
av_freep(&fdsp);
av_freep(&cdsp);
return ret;
}
#endif /* TEST */

Просмотреть файл

@ -1,5 +1,4 @@
/*
*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or
@ -376,6 +375,9 @@ int av_frame_ref(AVFrame *dst, const AVFrame *src)
{
int i, ret = 0;
av_assert1(dst->width == 0 && dst->height == 0);
av_assert1(dst->channels == 0);
dst->format = src->format;
dst->width = src->width;
dst->height = src->height;
@ -429,6 +431,14 @@ int av_frame_ref(AVFrame *dst, const AVFrame *src)
}
}
if (src->hw_frames_ctx) {
dst->hw_frames_ctx = av_buffer_ref(src->hw_frames_ctx);
if (!dst->hw_frames_ctx) {
ret = AVERROR(ENOMEM);
goto fail;
}
}
/* duplicate extended data */
if (src->extended_data != src->data) {
int ch = src->channels;
@ -490,11 +500,16 @@ void av_frame_unref(AVFrame *frame)
av_buffer_unref(&frame->qp_table_buf);
#endif
av_buffer_unref(&frame->hw_frames_ctx);
get_frame_defaults(frame);
}
void av_frame_move_ref(AVFrame *dst, AVFrame *src)
{
av_assert1(dst->width == 0 && dst->height == 0);
av_assert1(dst->channels == 0);
*dst = *src;
if (src->extended_data == src->data)
dst->extended_data = dst->data;

Просмотреть файл

@ -1,5 +1,4 @@
/*
*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or
@ -177,6 +176,10 @@ typedef struct AVFrameSideData {
* Similarly fields that are marked as to be only accessed by
* av_opt_ptr() can be reordered. This allows 2 forks to add fields
* without breaking compatibility with each other.
*
* Fields can be accessed through AVOptions, the name string used, matches the
* C structure field name for fields accessable through AVOptions. The AVClass
* for AVFrame can be obtained from avcodec_get_frame_class()
*/
typedef struct AVFrame {
#define AV_NUM_DATA_POINTERS 8
@ -188,6 +191,9 @@ typedef struct AVFrame {
* see avcodec_align_dimensions2(). Some filters and swscale can read
* up to 16 bytes beyond the planes, if these filters are to be used,
* then 16 extra bytes must be allocated.
*
* NOTE: Except for hwaccel formats, pointers not needed by the format
* MUST be set to NULL.
*/
uint8_t *data[AV_NUM_DATA_POINTERS];
@ -322,7 +328,7 @@ typedef struct AVFrame {
int palette_has_changed;
/**
* reordered opaque 64bit (generally an integer or a double precision float
* reordered opaque 64 bits (generally an integer or a double precision float
* PTS but can be anything).
* The user sets AVCodecContext.reordered_opaque to represent the input at
* that time,
@ -512,6 +518,11 @@ typedef struct AVFrame {
*/
AVBufferRef *qp_table_buf;
#endif
/**
* For hwaccel-format frames, this should be a reference to the
* AVHWFramesContext describing the frame.
*/
AVBufferRef *hw_frames_ctx;
} AVFrame;
/**
@ -583,6 +594,10 @@ void av_frame_free(AVFrame **frame);
* If src is not reference counted, new buffers are allocated and the data is
* copied.
*
* @warning: dst MUST have been either unreferenced with av_frame_unref(dst),
* or newly allocated with av_frame_alloc() before calling this
* function, or undefined behavior will occur.
*
* @return 0 on success, a negative AVERROR on error
*/
int av_frame_ref(AVFrame *dst, const AVFrame *src);
@ -603,6 +618,10 @@ void av_frame_unref(AVFrame *frame);
/**
* Move everything contained in src to dst and reset src.
*
* @warning: dst is not unreferenced, but directly overwritten without reading
* or deallocating its contents. Call av_frame_unref(dst) manually
* before calling this function to ensure that no memory is leaked.
*/
void av_frame_move_ref(AVFrame *dst, AVFrame *src);
@ -618,6 +637,10 @@ void av_frame_move_ref(AVFrame *dst, AVFrame *src);
* necessary, allocate and fill AVFrame.extended_data and AVFrame.extended_buf.
* For planar formats, one buffer will be allocated for each plane.
*
* @warning: if frame already has been allocated, calling this function will
* leak memory. In addition, undefined behavior can occur in certain
* cases.
*
* @param frame frame in which to store the new buffers.
* @param align required buffer size alignment
*

Просмотреть файл

@ -0,0 +1,428 @@
/*
* This file is part of FFmpeg.
*
* 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.
*
* 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 FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef AVUTIL_HWCONTEXT_H
#define AVUTIL_HWCONTEXT_H
#include "buffer.h"
#include "frame.h"
#include "log.h"
#include "pixfmt.h"
enum AVHWDeviceType {
AV_HWDEVICE_TYPE_VDPAU,
AV_HWDEVICE_TYPE_CUDA,
AV_HWDEVICE_TYPE_VAAPI,
AV_HWDEVICE_TYPE_DXVA2,
};
typedef struct AVHWDeviceInternal AVHWDeviceInternal;
/**
* This struct aggregates all the (hardware/vendor-specific) "high-level" state,
* i.e. state that is not tied to a concrete processing configuration.
* E.g., in an API that supports hardware-accelerated encoding and decoding,
* this struct will (if possible) wrap the state that is common to both encoding
* and decoding and from which specific instances of encoders or decoders can be
* derived.
*
* This struct is reference-counted with the AVBuffer mechanism. The
* av_hwdevice_ctx_alloc() constructor yields a reference, whose data field
* points to the actual AVHWDeviceContext. Further objects derived from
* AVHWDeviceContext (such as AVHWFramesContext, describing a frame pool with
* specific properties) will hold an internal reference to it. After all the
* references are released, the AVHWDeviceContext itself will be freed,
* optionally invoking a user-specified callback for uninitializing the hardware
* state.
*/
typedef struct AVHWDeviceContext {
/**
* A class for logging. Set by av_hwdevice_ctx_alloc().
*/
const AVClass *av_class;
/**
* Private data used internally by libavutil. Must not be accessed in any
* way by the caller.
*/
AVHWDeviceInternal *internal;
/**
* This field identifies the underlying API used for hardware access.
*
* This field is set when this struct is allocated and never changed
* afterwards.
*/
enum AVHWDeviceType type;
/**
* The format-specific data, allocated and freed by libavutil along with
* this context.
*
* Should be cast by the user to the format-specific context defined in the
* corresponding header (hwcontext_*.h) and filled as described in the
* documentation before calling av_hwdevice_ctx_init().
*
* After calling av_hwdevice_ctx_init() this struct should not be modified
* by the caller.
*/
void *hwctx;
/**
* This field may be set by the caller before calling av_hwdevice_ctx_init().
*
* If non-NULL, this callback will be called when the last reference to
* this context is unreferenced, immediately before it is freed.
*
* @note when other objects (e.g an AVHWFramesContext) are derived from this
* struct, this callback will be invoked after all such child objects
* are fully uninitialized and their respective destructors invoked.
*/
void (*free)(struct AVHWDeviceContext *ctx);
/**
* Arbitrary user data, to be used e.g. by the free() callback.
*/
void *user_opaque;
} AVHWDeviceContext;
typedef struct AVHWFramesInternal AVHWFramesInternal;
/**
* This struct describes a set or pool of "hardware" frames (i.e. those with
* data not located in normal system memory). All the frames in the pool are
* assumed to be allocated in the same way and interchangeable.
*
* This struct is reference-counted with the AVBuffer mechanism and tied to a
* given AVHWDeviceContext instance. The av_hwframe_ctx_alloc() constructor
* yields a reference, whose data field points to the actual AVHWFramesContext
* struct.
*/
typedef struct AVHWFramesContext {
/**
* A class for logging.
*/
const AVClass *av_class;
/**
* Private data used internally by libavutil. Must not be accessed in any
* way by the caller.
*/
AVHWFramesInternal *internal;
/**
* A reference to the parent AVHWDeviceContext. This reference is owned and
* managed by the enclosing AVHWFramesContext, but the caller may derive
* additional references from it.
*/
AVBufferRef *device_ref;
/**
* The parent AVHWDeviceContext. This is simply a pointer to
* device_ref->data provided for convenience.
*
* Set by libavutil in av_hwframe_ctx_init().
*/
AVHWDeviceContext *device_ctx;
/**
* The format-specific data, allocated and freed automatically along with
* this context.
*
* Should be cast by the user to the format-specific context defined in the
* corresponding header (hwframe_*.h) and filled as described in the
* documentation before calling av_hwframe_ctx_init().
*
* After any frames using this context are created, the contents of this
* struct should not be modified by the caller.
*/
void *hwctx;
/**
* This field may be set by the caller before calling av_hwframe_ctx_init().
*
* If non-NULL, this callback will be called when the last reference to
* this context is unreferenced, immediately before it is freed.
*/
void (*free)(struct AVHWFramesContext *ctx);
/**
* Arbitrary user data, to be used e.g. by the free() callback.
*/
void *user_opaque;
/**
* A pool from which the frames are allocated by av_hwframe_get_buffer().
* This field may be set by the caller before calling av_hwframe_ctx_init().
* The buffers returned by calling av_buffer_pool_get() on this pool must
* have the properties described in the documentation in the corresponding hw
* type's header (hwcontext_*.h). The pool will be freed strictly before
* this struct's free() callback is invoked.
*
* This field may be NULL, then libavutil will attempt to allocate a pool
* internally. Note that certain device types enforce pools allocated at
* fixed size (frame count), which cannot be extended dynamically. In such a
* case, initial_pool_size must be set appropriately.
*/
AVBufferPool *pool;
/**
* Initial size of the frame pool. If a device type does not support
* dynamically resizing the pool, then this is also the maximum pool size.
*
* May be set by the caller before calling av_hwframe_ctx_init(). Must be
* set if pool is NULL and the device type does not support dynamic pools.
*/
int initial_pool_size;
/**
* The pixel format identifying the underlying HW surface type.
*
* Must be a hwaccel format, i.e. the corresponding descriptor must have the
* AV_PIX_FMT_FLAG_HWACCEL flag set.
*
* Must be set by the user before calling av_hwframe_ctx_init().
*/
enum AVPixelFormat format;
/**
* The pixel format identifying the actual data layout of the hardware
* frames.
*
* Must be set by the caller before calling av_hwframe_ctx_init().
*
* @note when the underlying API does not provide the exact data layout, but
* only the colorspace/bit depth, this field should be set to the fully
* planar version of that format (e.g. for 8-bit 420 YUV it should be
* AV_PIX_FMT_YUV420P, not AV_PIX_FMT_NV12 or anything else).
*/
enum AVPixelFormat sw_format;
/**
* The allocated dimensions of the frames in this pool.
*
* Must be set by the user before calling av_hwframe_ctx_init().
*/
int width, height;
} AVHWFramesContext;
/**
* Allocate an AVHWDeviceContext for a given pixel format.
*
* @param format a hwaccel pixel format (AV_PIX_FMT_FLAG_HWACCEL must be set
* on the corresponding format descriptor)
* @return a reference to the newly created AVHWDeviceContext on success or NULL
* on failure.
*/
AVBufferRef *av_hwdevice_ctx_alloc(enum AVHWDeviceType type);
/**
* Finalize the device context before use. This function must be called after
* the context is filled with all the required information and before it is
* used in any way.
*
* @param ref a reference to the AVHWDeviceContext
* @return 0 on success, a negative AVERROR code on failure
*/
int av_hwdevice_ctx_init(AVBufferRef *ref);
/**
* Open a device of the specified type and create an AVHWDeviceContext for it.
*
* This is a convenience function intended to cover the simple cases. Callers
* who need to fine-tune device creation/management should open the device
* manually and then wrap it in an AVHWDeviceContext using
* av_hwdevice_ctx_alloc()/av_hwdevice_ctx_init().
*
* The returned context is already initialized and ready for use, the caller
* should not call av_hwdevice_ctx_init() on it. The user_opaque/free fields of
* the created AVHWDeviceContext are set by this function and should not be
* touched by the caller.
*
* @param device_ctx On success, a reference to the newly-created device context
* will be written here. The reference is owned by the caller
* and must be released with av_buffer_unref() when no longer
* needed. On failure, NULL will be written to this pointer.
* @param type The type of the device to create.
* @param device A type-specific string identifying the device to open.
* @param opts A dictionary of additional (type-specific) options to use in
* opening the device. The dictionary remains owned by the caller.
* @param flags currently unused
*
* @return 0 on success, a negative AVERROR code on failure.
*/
int av_hwdevice_ctx_create(AVBufferRef **device_ctx, enum AVHWDeviceType type,
const char *device, AVDictionary *opts, int flags);
/**
* Allocate an AVHWFramesContext tied to a given device context.
*
* @param device_ctx a reference to a AVHWDeviceContext. This function will make
* a new reference for internal use, the one passed to the
* function remains owned by the caller.
* @return a reference to the newly created AVHWFramesContext on success or NULL
* on failure.
*/
AVBufferRef *av_hwframe_ctx_alloc(AVBufferRef *device_ctx);
/**
* Finalize the context before use. This function must be called after the
* context is filled with all the required information and before it is attached
* to any frames.
*
* @param ref a reference to the AVHWFramesContext
* @return 0 on success, a negative AVERROR code on failure
*/
int av_hwframe_ctx_init(AVBufferRef *ref);
/**
* Allocate a new frame attached to the given AVHWFramesContext.
*
* @param hwframe_ctx a reference to an AVHWFramesContext
* @param frame an empty (freshly allocated or unreffed) frame to be filled with
* newly allocated buffers.
* @param flags currently unused, should be set to zero
* @return 0 on success, a negative AVERROR code on failure
*/
int av_hwframe_get_buffer(AVBufferRef *hwframe_ctx, AVFrame *frame, int flags);
/**
* Copy data to or from a hw surface. At least one of dst/src must have an
* AVHWFramesContext attached.
*
* If src has an AVHWFramesContext attached, then the format of dst (if set)
* must use one of the formats returned by av_hwframe_transfer_get_formats(src,
* AV_HWFRAME_TRANSFER_DIRECTION_FROM).
* If dst has an AVHWFramesContext attached, then the format of src must use one
* of the formats returned by av_hwframe_transfer_get_formats(dst,
* AV_HWFRAME_TRANSFER_DIRECTION_TO)
*
* dst may be "clean" (i.e. with data/buf pointers unset), in which case the
* data buffers will be allocated by this function using av_frame_get_buffer().
* If dst->format is set, then this format will be used, otherwise (when
* dst->format is AV_PIX_FMT_NONE) the first acceptable format will be chosen.
*
* @param dst the destination frame. dst is not touched on failure.
* @param src the source frame.
* @param flags currently unused, should be set to zero
* @return 0 on success, a negative AVERROR error code on failure.
*/
int av_hwframe_transfer_data(AVFrame *dst, const AVFrame *src, int flags);
enum AVHWFrameTransferDirection {
/**
* Transfer the data from the queried hw frame.
*/
AV_HWFRAME_TRANSFER_DIRECTION_FROM,
/**
* Transfer the data to the queried hw frame.
*/
AV_HWFRAME_TRANSFER_DIRECTION_TO,
};
/**
* Get a list of possible source or target formats usable in
* av_hwframe_transfer_data().
*
* @param hwframe_ctx the frame context to obtain the information for
* @param dir the direction of the transfer
* @param formats the pointer to the output format list will be written here.
* The list is terminated with AV_PIX_FMT_NONE and must be freed
* by the caller when no longer needed using av_free().
* If this function returns successfully, the format list will
* have at least one item (not counting the terminator).
* On failure, the contents of this pointer are unspecified.
* @param flags currently unused, should be set to zero
* @return 0 on success, a negative AVERROR code on failure.
*/
int av_hwframe_transfer_get_formats(AVBufferRef *hwframe_ctx,
enum AVHWFrameTransferDirection dir,
enum AVPixelFormat **formats, int flags);
/**
* This struct describes the constraints on hardware frames attached to
* a given device with a hardware-specific configuration. This is returned
* by av_hwdevice_get_hwframe_constraints() and must be freed by
* av_hwframe_constraints_free() after use.
*/
typedef struct AVHWFramesConstraints {
/**
* A list of possible values for format in the hw_frames_ctx,
* terminated by AV_PIX_FMT_NONE. This member will always be filled.
*/
enum AVPixelFormat *valid_hw_formats;
/**
* A list of possible values for sw_format in the hw_frames_ctx,
* terminated by AV_PIX_FMT_NONE. Can be NULL if this information is
* not known.
*/
enum AVPixelFormat *valid_sw_formats;
/**
* The minimum size of frames in this hw_frames_ctx.
* (Zero if not known.)
*/
int min_width;
int min_height;
/**
* The maximum size of frames in this hw_frames_ctx.
* (INT_MAX if not known / no limit.)
*/
int max_width;
int max_height;
} AVHWFramesConstraints;
/**
* Allocate a HW-specific configuration structure for a given HW device.
* After use, the user must free all members as required by the specific
* hardware structure being used, then free the structure itself with
* av_free().
*
* @param device_ctx a reference to the associated AVHWDeviceContext.
* @return The newly created HW-specific configuration structure on
* success or NULL on failure.
*/
void *av_hwdevice_hwconfig_alloc(AVBufferRef *device_ctx);
/**
* Get the constraints on HW frames given a device and the HW-specific
* configuration to be used with that device. If no HW-specific
* configuration is provided, returns the maximum possible capabilities
* of the device.
*
* @param device_ctx a reference to the associated AVHWDeviceContext.
* @param hwconfig a filled HW-specific configuration structure, or NULL
* to return the maximum possible capabilities of the device.
* @return AVHWFramesConstraints structure describing the constraints
* on the device, or NULL if not available.
*/
AVHWFramesConstraints *av_hwdevice_get_hwframe_constraints(AVBufferRef *ref,
const void *hwconfig);
/**
* Free an AVHWFrameConstraints structure.
*
* @param constraints The (filled or unfilled) AVHWFrameConstraints structure.
*/
void av_hwframe_constraints_free(AVHWFramesConstraints **constraints);
#endif /* AVUTIL_HWCONTEXT_H */

Просмотреть файл

@ -389,6 +389,7 @@ int av_image_copy_to_buffer(uint8_t *dst, int dst_size,
int i, j, nb_planes = 0, linesize[4];
int size = av_image_get_buffer_size(pix_fmt, width, height, align);
const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(pix_fmt);
int ret;
if (size > dst_size || size < 0 || !desc)
return AVERROR(EINVAL);
@ -398,7 +399,9 @@ int av_image_copy_to_buffer(uint8_t *dst, int dst_size,
nb_planes++;
av_image_fill_linesizes(linesize, pix_fmt, width);
ret = av_image_fill_linesizes(linesize, pix_fmt, width);
av_assert0(ret >= 0); // was checked previously
for (i = 0; i < nb_planes; i++) {
int h, shift = (i == 1 || i == 2) ? desc->log2_chroma_h : 0;
const uint8_t *src = src_data[i];

Просмотреть файл

@ -244,6 +244,7 @@ void avpriv_request_sample(void *avc,
#endif
#define avpriv_open ff_open
#define avpriv_tempfile ff_tempfile
#define PTRDIFF_SPECIFIER "Id"
#define SIZE_SPECIFIER "Iu"
#else
@ -293,48 +294,25 @@ static av_always_inline av_const int64_t ff_rint64_clip(double a, int64_t amin,
return res;
}
/**
* Compute 10^x for floating point values. Note: this function is by no means
* "correctly rounded", and is meant as a fast, reasonably accurate approximation.
* For instance, maximum relative error for the double precision variant is
* ~ 1e-13 for very small and very large values.
* This is ~2x faster than GNU libm's approach, which is still off by 2ulp on
* some inputs.
* @param x exponent
* @return 10^x
*/
static av_always_inline double ff_exp10(double x)
{
return exp2(M_LOG2_10 * x);
}
static av_always_inline float ff_exp10f(float x)
{
return exp2f(M_LOG2_10 * x);
}
/**
* Compute x^y for floating point x, y. Note: this function is faster than the
* libm variant due to mainly 2 reasons:
* 1. It does not handle any edge cases. In particular, this is only guaranteed
* to work correctly for x > 0.
* 2. It is not as accurate as a standard nearly "correctly rounded" libm variant.
* @param x base
* @param y exponent
* @return x^y
*/
static av_always_inline float ff_fast_powf(float x, float y)
{
return expf(logf(x) * y);
}
/**
* A wrapper for open() setting O_CLOEXEC.
*/
av_warn_unused_result
int avpriv_open(const char *filename, int flags, ...);
/**
* Wrapper to work around the lack of mkstemp() on mingw.
* Also, tries to create file in /tmp first, if possible.
* *prefix can be a character constant; *filename will be allocated internally.
* @return file descriptor of opened file (or negative value corresponding to an
* AVERROR code on error)
* and opened file name in **filename.
* @note On very old libcs it is necessary to set a secure umask before
* calling this, av_tempfile() can't call umask itself as it is used in
* libraries and could interfere with the calling application.
*/
int avpriv_tempfile(const char *prefix, char **filename, int log_offset, void *log_ctx);
int avpriv_set_systematic_pal2(uint32_t pal[256], enum AVPixelFormat pix_fmt);
static av_always_inline av_const int avpriv_mirror(int x, int w)

Просмотреть файл

@ -29,7 +29,6 @@
#include <string.h>
#include "attributes.h"
#include "config.h"
#include "internal.h"
#include "version.h"
#include "lls.h"
@ -122,41 +121,3 @@ av_cold void avpriv_init_lls(LLSModel *m, int indep_count)
if (ARCH_X86)
ff_init_lls_x86(m);
}
#ifdef TEST
#include <stdio.h>
#include <limits.h>
#include "lfg.h"
int main(void)
{
LLSModel m;
int i, order;
AVLFG lfg;
av_lfg_init(&lfg, 1);
avpriv_init_lls(&m, 3);
for (i = 0; i < 100; i++) {
LOCAL_ALIGNED(32, double, var, [4]);
double eval;
var[0] = (av_lfg_get(&lfg) / (double) UINT_MAX - 0.5) * 2;
var[1] = var[0] + av_lfg_get(&lfg) / (double) UINT_MAX - 0.5;
var[2] = var[1] + av_lfg_get(&lfg) / (double) UINT_MAX - 0.5;
var[3] = var[2] + av_lfg_get(&lfg) / (double) UINT_MAX - 0.5;
m.update_lls(&m, var);
avpriv_solve_lls(&m, 0.001, 0);
for (order = 0; order < 3; order++) {
eval = m.evaluate_lls(&m, var + 1, order);
printf("real:%9f order:%d pred:%9f var:%f coeffs:%f %9f %9f\n",
var[0], order, eval, sqrt(m.variance[order] / (i + 1)),
m.coeff[order][0], m.coeff[order][1],
m.coeff[order][2]);
}
}
return 0;
}
#endif

Просмотреть файл

@ -283,11 +283,20 @@ static void format_line(void *avcl, int level, const char *fmt, va_list vl,
void av_log_format_line(void *ptr, int level, const char *fmt, va_list vl,
char *line, int line_size, int *print_prefix)
{
av_log_format_line2(ptr, level, fmt, vl, line, line_size, print_prefix);
}
int av_log_format_line2(void *ptr, int level, const char *fmt, va_list vl,
char *line, int line_size, int *print_prefix)
{
AVBPrint part[4];
int ret;
format_line(ptr, level, fmt, vl, part, print_prefix, NULL);
snprintf(line, line_size, "%s%s%s%s", part[0].str, part[1].str, part[2].str, part[3].str);
ret = snprintf(line, line_size, "%s%s%s%s", part[0].str, part[1].str, part[2].str, part[3].str);
av_bprint_finalize(part+3, NULL);
return ret;
}
void av_log_default_callback(void* ptr, int level, const char* fmt, va_list vl)
@ -430,26 +439,3 @@ void avpriv_report_missing_feature(void *avc, const char *msg, ...)
missing_feature_sample(0, avc, msg, argument_list);
va_end(argument_list);
}
#ifdef TEST
// LCOV_EXCL_START
#include <string.h>
int main(int argc, char **argv)
{
int i;
av_log_set_level(AV_LOG_DEBUG);
for (use_color=0; use_color<=256; use_color = 255*use_color+1) {
av_log(NULL, AV_LOG_FATAL, "use_color: %d\n", use_color);
for (i = AV_LOG_DEBUG; i>=AV_LOG_QUIET; i-=8) {
av_log(NULL, i, " %d", i);
av_log(NULL, AV_LOG_INFO, "e ");
av_log(NULL, i + 256*123, "C%d", i);
av_log(NULL, AV_LOG_INFO, "e");
}
av_log(NULL, AV_LOG_PANIC, "\n");
}
return 0;
}
// LCOV_EXCL_STOP
#endif

Просмотреть файл

@ -317,6 +317,23 @@ AVClassCategory av_default_get_category(void *ptr);
void av_log_format_line(void *ptr, int level, const char *fmt, va_list vl,
char *line, int line_size, int *print_prefix);
/**
* Format a line of log the same way as the default callback.
* @param line buffer to receive the formatted line;
* may be NULL if line_size is 0
* @param line_size size of the buffer; at most line_size-1 characters will
* be written to the buffer, plus one null terminator
* @param print_prefix used to store whether the prefix must be printed;
* must point to a persistent integer initially set to 1
* @return Returns a negative value if an error occurred, otherwise returns
* the number of characters that would have been written for a
* sufficiently large buffer, not including the terminating null
* character. If the return value is not less than line_size, it means
* that the log message was truncated to fit the buffer.
*/
int av_log_format_line2(void *ptr, int level, const char *fmt, va_list vl,
char *line, int line_size, int *print_prefix);
#if FF_API_DLOG
/**
* av_dlog macros

Просмотреть файл

@ -203,58 +203,3 @@ int av_lzo1x_decode(void *out, int *outlen, const void *in, int *inlen)
*outlen = c.out_end - c.out;
return c.error;
}
#ifdef TEST
#include <stdio.h>
#include <lzo/lzo1x.h>
#include "log.h"
#define MAXSZ (10*1024*1024)
/* Define one of these to 1 if you wish to benchmark liblzo
* instead of our native implementation. */
#define BENCHMARK_LIBLZO_SAFE 0
#define BENCHMARK_LIBLZO_UNSAFE 0
int main(int argc, char *argv[]) {
FILE *in = fopen(argv[1], "rb");
int comp_level = argc > 2 ? atoi(argv[2]) : 0;
uint8_t *orig = av_malloc(MAXSZ + 16);
uint8_t *comp = av_malloc(2*MAXSZ + 16);
uint8_t *decomp = av_malloc(MAXSZ + 16);
size_t s = fread(orig, 1, MAXSZ, in);
lzo_uint clen = 0;
long tmp[LZO1X_MEM_COMPRESS];
int inlen, outlen;
int i;
av_log_set_level(AV_LOG_DEBUG);
if (comp_level == 0) {
lzo1x_1_compress(orig, s, comp, &clen, tmp);
} else if (comp_level == 11) {
lzo1x_1_11_compress(orig, s, comp, &clen, tmp);
} else if (comp_level == 12) {
lzo1x_1_12_compress(orig, s, comp, &clen, tmp);
} else if (comp_level == 15) {
lzo1x_1_15_compress(orig, s, comp, &clen, tmp);
} else
lzo1x_999_compress(orig, s, comp, &clen, tmp);
for (i = 0; i < 300; i++) {
START_TIMER
inlen = clen; outlen = MAXSZ;
#if BENCHMARK_LIBLZO_SAFE
if (lzo1x_decompress_safe(comp, inlen, decomp, &outlen, NULL))
#elif BENCHMARK_LIBLZO_UNSAFE
if (lzo1x_decompress(comp, inlen, decomp, &outlen, NULL))
#else
if (av_lzo1x_decode(decomp, &outlen, comp, &inlen))
#endif
av_log(NULL, AV_LOG_ERROR, "decompression error\n");
STOP_TIMER("lzod")
}
if (memcmp(orig, decomp, s))
av_log(NULL, AV_LOG_ERROR, "decompression incorrect\n");
else
av_log(NULL, AV_LOG_ERROR, "decompression OK\n");
fclose(in);
return 0;
}
#endif

Просмотреть файл

@ -30,13 +30,13 @@
#include "avstring.h"
#include "channel_layout.h"
#include "common.h"
#include "opt.h"
#include "eval.h"
#include "dict.h"
#include "eval.h"
#include "log.h"
#include "parseutils.h"
#include "pixdesc.h"
#include "mathematics.h"
#include "opt.h"
#include "samplefmt.h"
#include "bprint.h"
@ -58,20 +58,37 @@ const AVOption *av_opt_next(const void *obj, const AVOption *last)
static int read_number(const AVOption *o, const void *dst, double *num, int *den, int64_t *intnum)
{
switch (o->type) {
case AV_OPT_TYPE_FLAGS: *intnum = *(unsigned int*)dst;return 0;
case AV_OPT_TYPE_PIXEL_FMT: *intnum = *(enum AVPixelFormat *)dst;return 0;
case AV_OPT_TYPE_SAMPLE_FMT:*intnum = *(enum AVSampleFormat*)dst;return 0;
case AV_OPT_TYPE_FLAGS:
*intnum = *(unsigned int*)dst;
return 0;
case AV_OPT_TYPE_PIXEL_FMT:
*intnum = *(enum AVPixelFormat *)dst;
return 0;
case AV_OPT_TYPE_SAMPLE_FMT:
*intnum = *(enum AVSampleFormat *)dst;
return 0;
case AV_OPT_TYPE_BOOL:
case AV_OPT_TYPE_INT: *intnum = *(int *)dst;return 0;
case AV_OPT_TYPE_INT:
*intnum = *(int *)dst;
return 0;
case AV_OPT_TYPE_CHANNEL_LAYOUT:
case AV_OPT_TYPE_DURATION:
case AV_OPT_TYPE_INT64: *intnum = *(int64_t *)dst;return 0;
case AV_OPT_TYPE_FLOAT: *num = *(float *)dst;return 0;
case AV_OPT_TYPE_DOUBLE: *num = *(double *)dst;return 0;
case AV_OPT_TYPE_RATIONAL: *intnum = ((AVRational*)dst)->num;
*den = ((AVRational*)dst)->den;
return 0;
case AV_OPT_TYPE_CONST: *num = o->default_val.dbl; return 0;
case AV_OPT_TYPE_INT64:
*intnum = *(int64_t *)dst;
return 0;
case AV_OPT_TYPE_FLOAT:
*num = *(float *)dst;
return 0;
case AV_OPT_TYPE_DOUBLE:
*num = *(double *)dst;
return 0;
case AV_OPT_TYPE_RATIONAL:
*intnum = ((AVRational *)dst)->num;
*den = ((AVRational *)dst)->den;
return 0;
case AV_OPT_TYPE_CONST:
*num = o->default_val.dbl;
return 0;
}
return AVERROR(EINVAL);
}
@ -80,7 +97,7 @@ static int write_number(void *obj, const AVOption *o, void *dst, double num, int
{
if (o->type != AV_OPT_TYPE_FLAGS &&
(o->max * den < num * intnum || o->min * den > num * intnum)) {
num = den ? num*intnum/den : (num*intnum ? INFINITY : NAN);
num = den ? num * intnum / den : (num * intnum ? INFINITY : NAN);
av_log(obj, AV_LOG_ERROR, "Value %f for parameter '%s' out of range [%g - %g]\n",
num, o->name, o->min, o->max);
return AVERROR(ERANGE);
@ -96,19 +113,34 @@ static int write_number(void *obj, const AVOption *o, void *dst, double num, int
}
switch (o->type) {
case AV_OPT_TYPE_PIXEL_FMT: *(enum AVPixelFormat *)dst = llrint(num/den) * intnum; break;
case AV_OPT_TYPE_SAMPLE_FMT:*(enum AVSampleFormat*)dst = llrint(num/den) * intnum; break;
case AV_OPT_TYPE_PIXEL_FMT:
*(enum AVPixelFormat *)dst = llrint(num / den) * intnum;
break;
case AV_OPT_TYPE_SAMPLE_FMT:
*(enum AVSampleFormat *)dst = llrint(num / den) * intnum;
break;
case AV_OPT_TYPE_BOOL:
case AV_OPT_TYPE_FLAGS:
case AV_OPT_TYPE_INT: *(int *)dst= llrint(num/den)*intnum; break;
case AV_OPT_TYPE_INT:
*(int *)dst = llrint(num / den) * intnum;
break;
case AV_OPT_TYPE_DURATION:
case AV_OPT_TYPE_CHANNEL_LAYOUT:
case AV_OPT_TYPE_INT64: *(int64_t *)dst= llrint(num/den)*intnum; break;
case AV_OPT_TYPE_FLOAT: *(float *)dst= num*intnum/den; break;
case AV_OPT_TYPE_DOUBLE:*(double *)dst= num*intnum/den; break;
case AV_OPT_TYPE_INT64:
*(int64_t *)dst = llrint(num / den) * intnum;
break;
case AV_OPT_TYPE_FLOAT:
*(float *)dst = num * intnum / den;
break;
case AV_OPT_TYPE_DOUBLE:
*(double *)dst = num * intnum / den;
break;
case AV_OPT_TYPE_RATIONAL:
if ((int)num == num) *(AVRational*)dst= (AVRational){num*intnum, den};
else *(AVRational*)dst= av_d2q(num*intnum/den, 1<<24);
case AV_OPT_TYPE_VIDEO_RATE:
if ((int) num == num)
*(AVRational *)dst = (AVRational) { num *intnum, den };
else
*(AVRational *)dst = av_d2q(num * intnum / den, 1 << 24);
break;
default:
return AVERROR(EINVAL);
@ -117,9 +149,12 @@ static int write_number(void *obj, const AVOption *o, void *dst, double num, int
}
static int hexchar2int(char c) {
if (c >= '0' && c <= '9') return c - '0';
if (c >= 'a' && c <= 'f') return c - 'a' + 10;
if (c >= 'A' && c <= 'F') return c - 'A' + 10;
if (c >= '0' && c <= '9')
return c - '0';
if (c >= 'a' && c <= 'f')
return c - 'a' + 10;
if (c >= 'A' && c <= 'F')
return c - 'A' + 10;
return -1;
}
@ -151,7 +186,7 @@ static int set_string_binary(void *obj, const AVOption *o, const char *val, uint
}
*ptr++ = (a << 4) | b;
}
*dst = bin;
*dst = bin;
*lendst = len;
return 0;
@ -167,8 +202,9 @@ static int set_string(void *obj, const AVOption *o, const char *val, uint8_t **d
#define DEFAULT_NUMVAL(opt) ((opt->type == AV_OPT_TYPE_INT64 || \
opt->type == AV_OPT_TYPE_CONST || \
opt->type == AV_OPT_TYPE_FLAGS || \
opt->type == AV_OPT_TYPE_INT) ? \
opt->default_val.i64 : opt->default_val.dbl)
opt->type == AV_OPT_TYPE_INT) \
? opt->default_val.i64 \
: opt->default_val.dbl)
static int set_string_number(void *obj, void *target_obj, const AVOption *o, const char *val, void *dst)
{
@ -243,8 +279,10 @@ static int set_string_number(void *obj, void *target_obj, const AVOption *o, con
}
if (o->type == AV_OPT_TYPE_FLAGS) {
read_number(o, dst, NULL, NULL, &intnum);
if (cmd == '+') d = intnum | (int64_t)d;
else if (cmd == '-') d = intnum &~(int64_t)d;
if (cmd == '+')
d = intnum | (int64_t)d;
else if (cmd == '-')
d = intnum &~(int64_t)d;
}
if ((ret = write_number(obj, o, dst, d, 1, 1)) < 0)
@ -407,21 +445,34 @@ int av_opt_set(void *obj, const char *name, const char *val, int search_flags)
if (o->flags & AV_OPT_FLAG_READONLY)
return AVERROR(EINVAL);
dst = ((uint8_t*)target_obj) + o->offset;
dst = ((uint8_t *)target_obj) + o->offset;
switch (o->type) {
case AV_OPT_TYPE_BOOL: return set_string_bool(obj, o, val, dst);
case AV_OPT_TYPE_STRING: return set_string(obj, o, val, dst);
case AV_OPT_TYPE_BINARY: return set_string_binary(obj, o, val, dst);
case AV_OPT_TYPE_BOOL:
return set_string_bool(obj, o, val, dst);
case AV_OPT_TYPE_STRING:
return set_string(obj, o, val, dst);
case AV_OPT_TYPE_BINARY:
return set_string_binary(obj, o, val, dst);
case AV_OPT_TYPE_FLAGS:
case AV_OPT_TYPE_INT:
case AV_OPT_TYPE_INT64:
case AV_OPT_TYPE_FLOAT:
case AV_OPT_TYPE_DOUBLE:
case AV_OPT_TYPE_RATIONAL: return set_string_number(obj, target_obj, o, val, dst);
case AV_OPT_TYPE_IMAGE_SIZE: return set_string_image_size(obj, o, val, dst);
case AV_OPT_TYPE_VIDEO_RATE: return set_string_video_rate(obj, o, val, dst);
case AV_OPT_TYPE_PIXEL_FMT: return set_string_pixel_fmt(obj, o, val, dst);
case AV_OPT_TYPE_SAMPLE_FMT: return set_string_sample_fmt(obj, o, val, dst);
case AV_OPT_TYPE_RATIONAL:
return set_string_number(obj, target_obj, o, val, dst);
case AV_OPT_TYPE_IMAGE_SIZE:
return set_string_image_size(obj, o, val, dst);
case AV_OPT_TYPE_VIDEO_RATE: {
AVRational tmp;
ret = set_string_video_rate(obj, o, val, &tmp);
if (ret < 0)
return ret;
return write_number(obj, o, dst, 1, tmp.den, tmp.num);
}
case AV_OPT_TYPE_PIXEL_FMT:
return set_string_pixel_fmt(obj, o, val, dst);
case AV_OPT_TYPE_SAMPLE_FMT:
return set_string_sample_fmt(obj, o, val, dst);
case AV_OPT_TYPE_DURATION:
if (!val) {
*(int64_t *)dst = 0;
@ -432,7 +483,8 @@ int av_opt_set(void *obj, const char *name, const char *val, int search_flags)
return ret;
}
break;
case AV_OPT_TYPE_COLOR: return set_string_color(obj, o, val, dst);
case AV_OPT_TYPE_COLOR:
return set_string_color(obj, o, val, dst);
case AV_OPT_TYPE_CHANNEL_LAYOUT:
if (!val || !strcmp(val, "none")) {
*(int64_t *)dst = 0;
@ -452,13 +504,14 @@ int av_opt_set(void *obj, const char *name, const char *val, int search_flags)
return AVERROR(EINVAL);
}
#define OPT_EVAL_NUMBER(name, opttype, vartype)\
int av_opt_eval_ ## name(void *obj, const AVOption *o, const char *val, vartype *name ## _out)\
{\
if (!o || o->type != opttype || o->flags & AV_OPT_FLAG_READONLY)\
return AVERROR(EINVAL);\
return set_string_number(obj, obj, o, val, name ## _out);\
}
#define OPT_EVAL_NUMBER(name, opttype, vartype) \
int av_opt_eval_ ## name(void *obj, const AVOption *o, \
const char *val, vartype *name ## _out) \
{ \
if (!o || o->type != opttype || o->flags & AV_OPT_FLAG_READONLY) \
return AVERROR(EINVAL); \
return set_string_number(obj, obj, o, val, name ## _out); \
}
OPT_EVAL_NUMBER(flags, AV_OPT_TYPE_FLAGS, int)
OPT_EVAL_NUMBER(int, AV_OPT_TYPE_INT, int)
@ -468,7 +521,7 @@ OPT_EVAL_NUMBER(double, AV_OPT_TYPE_DOUBLE, double)
OPT_EVAL_NUMBER(q, AV_OPT_TYPE_RATIONAL, AVRational)
static int set_number(void *obj, const char *name, double num, int den, int64_t intnum,
int search_flags)
int search_flags)
{
void *dst, *target_obj;
const AVOption *o = av_opt_find2(obj, name, NULL, 0, search_flags, &target_obj);
@ -479,7 +532,7 @@ static int set_number(void *obj, const char *name, double num, int den, int64_t
if (o->flags & AV_OPT_FLAG_READONLY)
return AVERROR(EINVAL);
dst = ((uint8_t*)target_obj) + o->offset;
dst = ((uint8_t *)target_obj) + o->offset;
return write_number(obj, o, dst, num, den, intnum);
}
@ -516,11 +569,11 @@ int av_opt_set_bin(void *obj, const char *name, const uint8_t *val, int len, int
if (len && !ptr)
return AVERROR(ENOMEM);
dst = (uint8_t **)(((uint8_t *)target_obj) + o->offset);
dst = (uint8_t **)(((uint8_t *)target_obj) + o->offset);
lendst = (int *)(dst + 1);
av_free(*dst);
*dst = ptr;
*dst = ptr;
*lendst = len;
if (len)
memcpy(ptr, val, len);
@ -622,7 +675,8 @@ int av_opt_set_channel_layout(void *obj, const char *name, int64_t cl, int searc
return 0;
}
int av_opt_set_dict_val(void *obj, const char *name, const AVDictionary *val, int search_flags)
int av_opt_set_dict_val(void *obj, const char *name, const AVDictionary *val,
int search_flags)
{
void *target_obj;
AVDictionary **dst;
@ -686,24 +740,38 @@ int av_opt_get(void *obj, const char *name, int search_flags, uint8_t **out_val)
if (!o || !target_obj || (o->offset<=0 && o->type != AV_OPT_TYPE_CONST))
return AVERROR_OPTION_NOT_FOUND;
dst = (uint8_t*)target_obj + o->offset;
dst = (uint8_t *)target_obj + o->offset;
buf[0] = 0;
switch (o->type) {
case AV_OPT_TYPE_BOOL:
ret = snprintf(buf, sizeof(buf), "%s", (char *)av_x_if_null(get_bool_name(*(int *)dst), "invalid"));
break;
case AV_OPT_TYPE_FLAGS: ret = snprintf(buf, sizeof(buf), "0x%08X", *(int *)dst);break;
case AV_OPT_TYPE_INT: ret = snprintf(buf, sizeof(buf), "%d" , *(int *)dst);break;
case AV_OPT_TYPE_INT64: ret = snprintf(buf, sizeof(buf), "%"PRId64, *(int64_t*)dst);break;
case AV_OPT_TYPE_FLOAT: ret = snprintf(buf, sizeof(buf), "%f" , *(float *)dst);break;
case AV_OPT_TYPE_DOUBLE: ret = snprintf(buf, sizeof(buf), "%f" , *(double *)dst);break;
case AV_OPT_TYPE_FLAGS:
ret = snprintf(buf, sizeof(buf), "0x%08X", *(int *)dst);
break;
case AV_OPT_TYPE_INT:
ret = snprintf(buf, sizeof(buf), "%d", *(int *)dst);
break;
case AV_OPT_TYPE_INT64:
ret = snprintf(buf, sizeof(buf), "%"PRId64, *(int64_t *)dst);
break;
case AV_OPT_TYPE_FLOAT:
ret = snprintf(buf, sizeof(buf), "%f", *(float *)dst);
break;
case AV_OPT_TYPE_DOUBLE:
ret = snprintf(buf, sizeof(buf), "%f", *(double *)dst);
break;
case AV_OPT_TYPE_VIDEO_RATE:
case AV_OPT_TYPE_RATIONAL: ret = snprintf(buf, sizeof(buf), "%d/%d", ((AVRational*)dst)->num, ((AVRational*)dst)->den);break;
case AV_OPT_TYPE_CONST: ret = snprintf(buf, sizeof(buf), "%f" , o->default_val.dbl);break;
case AV_OPT_TYPE_RATIONAL:
ret = snprintf(buf, sizeof(buf), "%d/%d", ((AVRational *)dst)->num, ((AVRational *)dst)->den);
break;
case AV_OPT_TYPE_CONST:
ret = snprintf(buf, sizeof(buf), "%f", o->default_val.dbl);
break;
case AV_OPT_TYPE_STRING:
if (*(uint8_t**)dst) {
*out_val = av_strdup(*(uint8_t**)dst);
if (*(uint8_t **)dst) {
*out_val = av_strdup(*(uint8_t **)dst);
} else if (search_flags & AV_OPT_ALLOW_NULL) {
*out_val = NULL;
return 0;
@ -712,22 +780,22 @@ int av_opt_get(void *obj, const char *name, int search_flags, uint8_t **out_val)
}
return *out_val ? 0 : AVERROR(ENOMEM);
case AV_OPT_TYPE_BINARY:
if (!*(uint8_t**)dst && (search_flags & AV_OPT_ALLOW_NULL)) {
if (!*(uint8_t **)dst && (search_flags & AV_OPT_ALLOW_NULL)) {
*out_val = NULL;
return 0;
}
len = *(int*)(((uint8_t *)dst) + sizeof(uint8_t *));
if ((uint64_t)len*2 + 1 > INT_MAX)
len = *(int *)(((uint8_t *)dst) + sizeof(uint8_t *));
if ((uint64_t)len * 2 + 1 > INT_MAX)
return AVERROR(EINVAL);
if (!(*out_val = av_malloc(len*2 + 1)))
if (!(*out_val = av_malloc(len * 2 + 1)))
return AVERROR(ENOMEM);
if (!len) {
*out_val[0] = '\0';
return 0;
}
bin = *(uint8_t**)dst;
bin = *(uint8_t **)dst;
for (i = 0; i < len; i++)
snprintf(*out_val + i*2, 3, "%02X", bin[i]);
snprintf(*out_val + i * 2, 3, "%02X", bin[i]);
return 0;
case AV_OPT_TYPE_IMAGE_SIZE:
ret = snprintf(buf, sizeof(buf), "%dx%d", ((int *)dst)[0], ((int *)dst)[1]);
@ -770,46 +838,47 @@ static int get_number(void *obj, const char *name, const AVOption **o_out, doubl
if (!o || !target_obj)
goto error;
dst = ((uint8_t*)target_obj) + o->offset;
dst = ((uint8_t *)target_obj) + o->offset;
if (o_out) *o_out= o;
return read_number(o, dst, num, den, intnum);
error:
*den=*intnum=0;
*den =
*intnum = 0;
return -1;
}
int av_opt_get_int(void *obj, const char *name, int search_flags, int64_t *out_val)
{
int64_t intnum = 1;
double num = 1;
int ret, den = 1;
double num = 1;
int ret, den = 1;
if ((ret = get_number(obj, name, NULL, &num, &den, &intnum, search_flags)) < 0)
return ret;
*out_val = num*intnum/den;
*out_val = num * intnum / den;
return 0;
}
int av_opt_get_double(void *obj, const char *name, int search_flags, double *out_val)
{
int64_t intnum = 1;
double num = 1;
int ret, den = 1;
double num = 1;
int ret, den = 1;
if ((ret = get_number(obj, name, NULL, &num, &den, &intnum, search_flags)) < 0)
return ret;
*out_val = num*intnum/den;
*out_val = num * intnum / den;
return 0;
}
int av_opt_get_q(void *obj, const char *name, int search_flags, AVRational *out_val)
{
int64_t intnum = 1;
double num = 1;
int ret, den = 1;
double num = 1;
int ret, den = 1;
if ((ret = get_number(obj, name, NULL, &num, &den, &intnum, search_flags)) < 0)
return ret;
@ -849,9 +918,9 @@ int av_opt_get_video_rate(void *obj, const char *name, int search_flags, AVRatio
return ret;
if (num == 1.0 && (int)intnum == intnum)
*out_val = (AVRational){intnum, den};
*out_val = (AVRational) { intnum, den };
else
*out_val = av_d2q(num*intnum/den, 1<<24);
*out_val = av_d2q(num * intnum / den, 1 << 24);
return 0;
}
@ -1000,7 +1069,7 @@ static char *get_opt_flags_string(void *obj, const char *unit, int64_t value)
static void opt_list(void *obj, void *av_log_obj, const char *unit,
int req_flags, int rej_flags)
{
const AVOption *opt=NULL;
const AVOption *opt = NULL;
AVOptionRanges *r;
int i;
@ -1012,11 +1081,11 @@ static void opt_list(void *obj, void *av_log_obj, const char *unit,
* Don't print anything but CONST's on level two.
* Only print items from the requested unit.
*/
if (!unit && opt->type==AV_OPT_TYPE_CONST)
if (!unit && opt->type == AV_OPT_TYPE_CONST)
continue;
else if (unit && opt->type!=AV_OPT_TYPE_CONST)
else if (unit && opt->type != AV_OPT_TYPE_CONST)
continue;
else if (unit && opt->type==AV_OPT_TYPE_CONST && strcmp(unit, opt->unit))
else if (unit && opt->type == AV_OPT_TYPE_CONST && strcmp(unit, opt->unit))
continue;
else if (unit && opt->type == AV_OPT_TYPE_CONST)
av_log(av_log_obj, AV_LOG_INFO, " %-15s ", opt->name);
@ -1175,9 +1244,8 @@ static void opt_list(void *obj, void *av_log_obj, const char *unit,
}
av_log(av_log_obj, AV_LOG_INFO, "\n");
if (opt->unit && opt->type != AV_OPT_TYPE_CONST) {
if (opt->unit && opt->type != AV_OPT_TYPE_CONST)
opt_list(obj, av_log_obj, opt->unit, req_flags, rej_flags);
}
}
}
@ -1186,7 +1254,7 @@ int av_opt_show2(void *obj, void *av_log_obj, int req_flags, int rej_flags)
if (!obj)
return -1;
av_log(av_log_obj, AV_LOG_INFO, "%s AVOptions:\n", (*(AVClass**)obj)->class_name);
av_log(av_log_obj, AV_LOG_INFO, "%s AVOptions:\n", (*(AVClass **)obj)->class_name);
opt_list(obj, av_log_obj, NULL, req_flags, rej_flags);
@ -1213,7 +1281,7 @@ void av_opt_set_defaults2(void *s, int mask, int flags)
switch (opt->type) {
case AV_OPT_TYPE_CONST:
/* Nothing to be done here */
break;
break;
case AV_OPT_TYPE_BOOL:
case AV_OPT_TYPE_FLAGS:
case AV_OPT_TYPE_INT:
@ -1255,8 +1323,9 @@ void av_opt_set_defaults2(void *s, int mask, int flags)
case AV_OPT_TYPE_DICT:
/* Cannot set defaults for these types */
break;
default:
av_log(s, AV_LOG_DEBUG, "AVOption type %d of option %s not implemented yet\n", opt->type, opt->name);
default:
av_log(s, AV_LOG_DEBUG, "AVOption type %d of option %s not implemented yet\n",
opt->type, opt->name);
}
}
}
@ -1332,7 +1401,7 @@ int av_set_options_string(void *ctx, const char *opts,
return count;
}
#define WHITESPACES " \n\t"
#define WHITESPACES " \n\t\r"
static int is_key_char(char c)
{
@ -1546,7 +1615,7 @@ const AVOption *av_opt_find2(void *obj, const char *name, const char *unit,
void *av_opt_child_next(void *obj, void *prev)
{
const AVClass *c = *(AVClass**)obj;
const AVClass *c = *(AVClass **)obj;
if (c->child_next)
return c->child_next(obj, prev);
return NULL;
@ -1572,22 +1641,33 @@ static int opt_size(enum AVOptionType type)
switch(type) {
case AV_OPT_TYPE_BOOL:
case AV_OPT_TYPE_INT:
case AV_OPT_TYPE_FLAGS: return sizeof(int);
case AV_OPT_TYPE_FLAGS:
return sizeof(int);
case AV_OPT_TYPE_DURATION:
case AV_OPT_TYPE_CHANNEL_LAYOUT:
case AV_OPT_TYPE_INT64: return sizeof(int64_t);
case AV_OPT_TYPE_DOUBLE: return sizeof(double);
case AV_OPT_TYPE_FLOAT: return sizeof(float);
case AV_OPT_TYPE_STRING: return sizeof(uint8_t*);
case AV_OPT_TYPE_INT64:
return sizeof(int64_t);
case AV_OPT_TYPE_DOUBLE:
return sizeof(double);
case AV_OPT_TYPE_FLOAT:
return sizeof(float);
case AV_OPT_TYPE_STRING:
return sizeof(uint8_t*);
case AV_OPT_TYPE_VIDEO_RATE:
case AV_OPT_TYPE_RATIONAL: return sizeof(AVRational);
case AV_OPT_TYPE_BINARY: return sizeof(uint8_t*) + sizeof(int);
case AV_OPT_TYPE_IMAGE_SIZE:return sizeof(int[2]);
case AV_OPT_TYPE_PIXEL_FMT: return sizeof(enum AVPixelFormat);
case AV_OPT_TYPE_SAMPLE_FMT:return sizeof(enum AVSampleFormat);
case AV_OPT_TYPE_COLOR: return 4;
case AV_OPT_TYPE_RATIONAL:
return sizeof(AVRational);
case AV_OPT_TYPE_BINARY:
return sizeof(uint8_t*) + sizeof(int);
case AV_OPT_TYPE_IMAGE_SIZE:
return sizeof(int[2]);
case AV_OPT_TYPE_PIXEL_FMT:
return sizeof(enum AVPixelFormat);
case AV_OPT_TYPE_SAMPLE_FMT:
return sizeof(enum AVSampleFormat);
case AV_OPT_TYPE_COLOR:
return 4;
}
return 0;
return AVERROR(EINVAL);
}
int av_opt_copy(void *dst, const void *src)
@ -1597,17 +1677,17 @@ int av_opt_copy(void *dst, const void *src)
int ret = 0;
if (!src)
return 0;
return AVERROR(EINVAL);
c = *(AVClass**)src;
if (*(AVClass**)dst && c != *(AVClass**)dst)
c = *(AVClass **)src;
if (!c || c != *(AVClass **)dst)
return AVERROR(EINVAL);
while ((o = av_opt_next(src, o))) {
void *field_dst = ((uint8_t*)dst) + o->offset;
void *field_src = ((uint8_t*)src) + o->offset;
uint8_t **field_dst8 = (uint8_t**)field_dst;
uint8_t **field_src8 = (uint8_t**)field_src;
void *field_dst = (uint8_t *)dst + o->offset;
void *field_src = (uint8_t *)src + o->offset;
uint8_t **field_dst8 = (uint8_t **)field_dst;
uint8_t **field_src8 = (uint8_t **)field_src;
if (o->type == AV_OPT_TYPE_STRING) {
if (*field_dst8 != *field_src8)
@ -1616,7 +1696,7 @@ int av_opt_copy(void *dst, const void *src)
if (*field_src8 && !*field_dst8)
ret = AVERROR(ENOMEM);
} else if (o->type == AV_OPT_TYPE_BINARY) {
int len = *(int*)(field_src8 + 1);
int len = *(int *)(field_src8 + 1);
if (*field_dst8 != *field_src8)
av_freep(field_dst8);
*field_dst8 = av_memdup(*field_src8, len);
@ -1624,7 +1704,7 @@ int av_opt_copy(void *dst, const void *src)
ret = AVERROR(ENOMEM);
len = 0;
}
*(int*)(field_dst8 + 1) = len;
*(int *)(field_dst8 + 1) = len;
} else if (o->type == AV_OPT_TYPE_CONST) {
// do nothing
} else if (o->type == AV_OPT_TYPE_DICT) {
@ -1637,7 +1717,11 @@ int av_opt_copy(void *dst, const void *src)
if (av_dict_count(*sdict) != av_dict_count(*ddict))
ret = AVERROR(ENOMEM);
} else {
memcpy(field_dst, field_src, opt_size(o->type));
int size = opt_size(o->type);
if (size < 0)
ret = size;
else
memcpy(field_dst, field_src, size);
}
}
return ret;
@ -1908,291 +1992,3 @@ int av_opt_serialize(void *obj, int opt_flags, int flags, char **buffer,
av_bprint_finalize(&bprint, buffer);
return 0;
}
#ifdef TEST
typedef struct TestContext
{
const AVClass *class;
int num;
int toggle;
char *string;
int flags;
AVRational rational;
AVRational video_rate;
int w, h;
enum AVPixelFormat pix_fmt;
enum AVSampleFormat sample_fmt;
int64_t duration;
uint8_t color[4];
int64_t channel_layout;
void *binary;
int binary_size;
void *binary1;
int binary_size1;
void *binary2;
int binary_size2;
int64_t num64;
float flt;
double dbl;
char *escape;
int bool1;
int bool2;
int bool3;
} TestContext;
#define OFFSET(x) offsetof(TestContext, x)
#define TEST_FLAG_COOL 01
#define TEST_FLAG_LAME 02
#define TEST_FLAG_MU 04
static const AVOption test_options[]= {
{"num", "set num", OFFSET(num), AV_OPT_TYPE_INT, {.i64 = 0}, 0, 100, 1 },
{"toggle", "set toggle", OFFSET(toggle), AV_OPT_TYPE_INT, {.i64 = 1}, 0, 1, 1 },
{"rational", "set rational", OFFSET(rational), AV_OPT_TYPE_RATIONAL, {.dbl = 1}, 0, 10, 1 },
{"string", "set string", OFFSET(string), AV_OPT_TYPE_STRING, {.str = "default"}, CHAR_MIN, CHAR_MAX, 1 },
{"escape", "set escape str", OFFSET(escape), AV_OPT_TYPE_STRING, {.str = "\\=,"}, CHAR_MIN, CHAR_MAX, 1 },
{"flags", "set flags", OFFSET(flags), AV_OPT_TYPE_FLAGS, {.i64 = 1}, 0, INT_MAX, 1, "flags" },
{"cool", "set cool flag", 0, AV_OPT_TYPE_CONST, {.i64 = TEST_FLAG_COOL}, INT_MIN, INT_MAX, 1, "flags" },
{"lame", "set lame flag", 0, AV_OPT_TYPE_CONST, {.i64 = TEST_FLAG_LAME}, INT_MIN, INT_MAX, 1, "flags" },
{"mu", "set mu flag", 0, AV_OPT_TYPE_CONST, {.i64 = TEST_FLAG_MU}, INT_MIN, INT_MAX, 1, "flags" },
{"size", "set size", OFFSET(w), AV_OPT_TYPE_IMAGE_SIZE,{.str="200x300"}, 0, 0, 1},
{"pix_fmt", "set pixfmt", OFFSET(pix_fmt), AV_OPT_TYPE_PIXEL_FMT, {.i64 = AV_PIX_FMT_0BGR}, -1, INT_MAX, 1},
{"sample_fmt", "set samplefmt", OFFSET(sample_fmt), AV_OPT_TYPE_SAMPLE_FMT, {.i64 = AV_SAMPLE_FMT_S16}, -1, INT_MAX, 1},
{"video_rate", "set videorate", OFFSET(video_rate), AV_OPT_TYPE_VIDEO_RATE, {.str = "25"}, 0, 0 , 1},
{"duration", "set duration", OFFSET(duration), AV_OPT_TYPE_DURATION, {.i64 = 1000}, 0, INT64_MAX, 1},
{"color", "set color", OFFSET(color), AV_OPT_TYPE_COLOR, {.str = "pink"}, 0, 0, 1},
{"cl", "set channel layout", OFFSET(channel_layout), AV_OPT_TYPE_CHANNEL_LAYOUT, {.i64 = AV_CH_LAYOUT_HEXAGONAL}, 0, INT64_MAX, 1},
{"bin", "set binary value", OFFSET(binary), AV_OPT_TYPE_BINARY, {.str="62696e00"}, 0, 0, 1 },
{"bin1", "set binary value", OFFSET(binary1), AV_OPT_TYPE_BINARY, {.str=NULL}, 0, 0, 1 },
{"bin2", "set binary value", OFFSET(binary2), AV_OPT_TYPE_BINARY, {.str=""}, 0, 0, 1 },
{"num64", "set num 64bit", OFFSET(num64), AV_OPT_TYPE_INT64, {.i64 = 1}, 0, 100, 1 },
{"flt", "set float", OFFSET(flt), AV_OPT_TYPE_FLOAT, {.dbl = 1.0/3}, 0, 100, 1},
{"dbl", "set double", OFFSET(dbl), AV_OPT_TYPE_DOUBLE, {.dbl = 1.0/3}, 0, 100, 1 },
{"bool1", "set boolean value", OFFSET(bool1), AV_OPT_TYPE_BOOL, {.i64 = -1}, -1, 1, 1 },
{"bool2", "set boolean value", OFFSET(bool2), AV_OPT_TYPE_BOOL, {.i64 = 1}, -1, 1, 1 },
{"bool3", "set boolean value", OFFSET(bool3), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, 1 },
{NULL},
};
static const char *test_get_name(void *ctx)
{
return "test";
}
static const AVClass test_class = {
"TestContext",
test_get_name,
test_options
};
static void log_callback_help(void *ptr, int level, const char *fmt, va_list vl)
{
vfprintf(stdout, fmt, vl);
}
int main(void)
{
int i;
av_log_set_level(AV_LOG_DEBUG);
av_log_set_callback(log_callback_help);
printf("Testing default values\n");
{
TestContext test_ctx = { 0 };
test_ctx.class = &test_class;
av_opt_set_defaults(&test_ctx);
printf("num=%d\n", test_ctx.num);
printf("toggle=%d\n", test_ctx.toggle);
printf("string=%s\n", test_ctx.string);
printf("escape=%s\n", test_ctx.escape);
printf("flags=%d\n", test_ctx.flags);
printf("rational=%d/%d\n", test_ctx.rational.num, test_ctx.rational.den);
printf("video_rate=%d/%d\n", test_ctx.video_rate.num, test_ctx.video_rate.den);
printf("width=%d height=%d\n", test_ctx.w, test_ctx.h);
printf("pix_fmt=%s\n", av_get_pix_fmt_name(test_ctx.pix_fmt));
printf("sample_fmt=%s\n", av_get_sample_fmt_name(test_ctx.sample_fmt));
printf("duration=%"PRId64"\n", test_ctx.duration);
printf("color=%d %d %d %d\n", test_ctx.color[0], test_ctx.color[1], test_ctx.color[2], test_ctx.color[3]);
printf("channel_layout=%"PRId64"=%"PRId64"\n", test_ctx.channel_layout, (int64_t)AV_CH_LAYOUT_HEXAGONAL);
if (test_ctx.binary)
printf("binary=%x %x %x %x\n", ((uint8_t*)test_ctx.binary)[0], ((uint8_t*)test_ctx.binary)[1], ((uint8_t*)test_ctx.binary)[2], ((uint8_t*)test_ctx.binary)[3]);
printf("binary_size=%d\n", test_ctx.binary_size);
printf("num64=%"PRId64"\n", test_ctx.num64);
printf("flt=%.6f\n", test_ctx.flt);
printf("dbl=%.6f\n", test_ctx.dbl);
av_opt_show2(&test_ctx, NULL, -1, 0);
av_opt_free(&test_ctx);
}
printf("\nTesting av_opt_is_set_to_default()\n");
{
int ret;
TestContext test_ctx = { 0 };
const AVOption *o = NULL;
test_ctx.class = &test_class;
av_log_set_level(AV_LOG_QUIET);
while (o = av_opt_next(&test_ctx, o)) {
ret = av_opt_is_set_to_default_by_name(&test_ctx, o->name, 0);
printf("name:%10s default:%d error:%s\n", o->name, !!ret, ret < 0 ? av_err2str(ret) : "");
}
av_opt_set_defaults(&test_ctx);
while (o = av_opt_next(&test_ctx, o)) {
ret = av_opt_is_set_to_default_by_name(&test_ctx, o->name, 0);
printf("name:%10s default:%d error:%s\n", o->name, !!ret, ret < 0 ? av_err2str(ret) : "");
}
av_opt_free(&test_ctx);
}
printf("\nTest av_opt_serialize()\n");
{
TestContext test_ctx = { 0 };
char *buf;
test_ctx.class = &test_class;
av_log_set_level(AV_LOG_QUIET);
av_opt_set_defaults(&test_ctx);
if (av_opt_serialize(&test_ctx, 0, 0, &buf, '=', ',') >= 0) {
printf("%s\n", buf);
av_opt_free(&test_ctx);
memset(&test_ctx, 0, sizeof(test_ctx));
test_ctx.class = &test_class;
av_set_options_string(&test_ctx, buf, "=", ",");
av_free(buf);
if (av_opt_serialize(&test_ctx, 0, 0, &buf, '=', ',') >= 0) {
printf("%s\n", buf);
av_free(buf);
}
}
av_opt_free(&test_ctx);
}
printf("\nTesting av_set_options_string()\n");
{
TestContext test_ctx = { 0 };
static const char * const options[] = {
"",
":",
"=",
"foo=:",
":=foo",
"=foo",
"foo=",
"foo",
"foo=val",
"foo==val",
"toggle=:",
"string=:",
"toggle=1 : foo",
"toggle=100",
"toggle==1",
"flags=+mu-lame : num=42: toggle=0",
"num=42 : string=blahblah",
"rational=0 : rational=1/2 : rational=1/-1",
"rational=-1/0",
"size=1024x768",
"size=pal",
"size=bogus",
"pix_fmt=yuv420p",
"pix_fmt=2",
"pix_fmt=bogus",
"sample_fmt=s16",
"sample_fmt=2",
"sample_fmt=bogus",
"video_rate=pal",
"video_rate=25",
"video_rate=30000/1001",
"video_rate=30/1.001",
"video_rate=bogus",
"duration=bogus",
"duration=123.45",
"duration=1\\:23\\:45.67",
"color=blue",
"color=0x223300",
"color=0x42FF07AA",
"cl=stereo+downmix",
"cl=foo",
"bin=boguss",
"bin=111",
"bin=ffff",
"num64=bogus",
"num64=44",
"num64=44.4",
"num64=-1",
"num64=101",
"flt=bogus",
"flt=2",
"flt=2.2",
"flt=-1",
"flt=101",
"dbl=bogus",
"dbl=2",
"dbl=2.2",
"dbl=-1",
"dbl=101",
"bool1=true",
"bool2=auto",
};
test_ctx.class = &test_class;
av_opt_set_defaults(&test_ctx);
av_log_set_level(AV_LOG_QUIET);
for (i=0; i < FF_ARRAY_ELEMS(options); i++) {
int silence_log = !strcmp(options[i], "rational=-1/0"); // inf formating differs between platforms
av_log(&test_ctx, AV_LOG_DEBUG, "Setting options string '%s'\n", options[i]);
if (silence_log)
av_log_set_callback(NULL);
if (av_set_options_string(&test_ctx, options[i], "=", ":") < 0)
printf("Error '%s'\n", options[i]);
else
printf("OK '%s'\n", options[i]);
av_log_set_callback(log_callback_help);
}
av_opt_free(&test_ctx);
}
printf("\nTesting av_opt_set_from_string()\n");
{
TestContext test_ctx = { 0 };
static const char * const options[] = {
"",
"5",
"5:hello",
"5:hello:size=pal",
"5:size=pal:hello",
":",
"=",
" 5 : hello : size = pal ",
"a_very_long_option_name_that_will_need_to_be_ellipsized_around_here=42"
};
static const char * const shorthand[] = { "num", "string", NULL };
test_ctx.class = &test_class;
av_opt_set_defaults(&test_ctx);
av_log_set_level(AV_LOG_QUIET);
for (i=0; i < FF_ARRAY_ELEMS(options); i++) {
av_log(&test_ctx, AV_LOG_DEBUG, "Setting options string '%s'\n", options[i]);
if (av_opt_set_from_string(&test_ctx, options[i], shorthand, "=", ":") < 0)
printf("Error '%s'\n", options[i]);
else
printf("OK '%s'\n", options[i]);
}
av_opt_free(&test_ctx);
}
return 0;
}
#endif

Просмотреть файл

@ -281,7 +281,7 @@ typedef struct AVOption {
#define AV_OPT_FLAG_VIDEO_PARAM 16
#define AV_OPT_FLAG_SUBTITLE_PARAM 32
/**
* The option is inteded for exporting values to the caller.
* The option is intended for exporting values to the caller.
*/
#define AV_OPT_FLAG_EXPORT 64
/**

Просмотреть файл

@ -739,192 +739,3 @@ int av_find_info_tag(char *arg, int arg_size, const char *tag1, const char *info
}
return 0;
}
#ifdef TEST
static uint32_t randomv = MKTAG('L','A','V','U');
static uint32_t av_get_random_seed_deterministic(void)
{
return randomv = randomv * 1664525 + 1013904223;
}
int main(void)
{
printf("Testing av_parse_video_rate()\n");
{
int i;
static const char *const rates[] = {
"-inf",
"inf",
"nan",
"123/0",
"-123 / 0",
"",
"/",
" 123 / 321",
"foo/foo",
"foo/1",
"1/foo",
"0/0",
"/0",
"1/",
"1",
"0",
"-123/123",
"-foo",
"123.23",
".23",
"-.23",
"-0.234",
"-0.0000001",
" 21332.2324 ",
" -21332.2324 ",
};
for (i = 0; i < FF_ARRAY_ELEMS(rates); i++) {
int ret;
AVRational q = { 0, 0 };
ret = av_parse_video_rate(&q, rates[i]);
printf("'%s' -> %d/%d %s\n",
rates[i], q.num, q.den, ret ? "ERROR" : "OK");
}
}
printf("\nTesting av_parse_color()\n");
{
int i;
uint8_t rgba[4];
static const char *const color_names[] = {
"bikeshed",
"RaNdOm",
"foo",
"red",
"Red ",
"RED",
"Violet",
"Yellow",
"Red",
"0x000000",
"0x0000000",
"0xff000000",
"0x3e34ff",
"0x3e34ffaa",
"0xffXXee",
"0xfoobar",
"0xffffeeeeeeee",
"#ff0000",
"#ffXX00",
"ff0000",
"ffXX00",
"red@foo",
"random@10",
"0xff0000@1.0",
"red@",
"red@0xfff",
"red@0xf",
"red@2",
"red@0.1",
"red@-1",
"red@0.5",
"red@1.0",
"red@256",
"red@10foo",
"red@-1.0",
"red@-0.0",
};
av_log_set_level(AV_LOG_DEBUG);
for (i = 0; i < FF_ARRAY_ELEMS(color_names); i++) {
if (av_parse_color(rgba, color_names[i], -1, NULL) >= 0)
printf("%s -> R(%d) G(%d) B(%d) A(%d)\n",
color_names[i], rgba[0], rgba[1], rgba[2], rgba[3]);
else
printf("%s -> error\n", color_names[i]);
}
}
printf("\nTesting av_small_strptime()\n");
{
int i;
struct tm tm = { 0 };
struct fmt_timespec_entry {
const char *fmt, *timespec;
} fmt_timespec_entries[] = {
{ "%Y-%m-%d", "2012-12-21" },
{ "%Y - %m - %d", "2012-12-21" },
{ "%Y-%m-%d %H:%M:%S", "2012-12-21 20:12:21" },
{ " %Y - %m - %d %H : %M : %S", " 2012 - 12 - 21 20 : 12 : 21" },
};
av_log_set_level(AV_LOG_DEBUG);
for (i = 0; i < FF_ARRAY_ELEMS(fmt_timespec_entries); i++) {
char *p;
struct fmt_timespec_entry *e = &fmt_timespec_entries[i];
printf("fmt:'%s' spec:'%s' -> ", e->fmt, e->timespec);
p = av_small_strptime(e->timespec, e->fmt, &tm);
if (p) {
printf("%04d-%02d-%2d %02d:%02d:%02d\n",
1900+tm.tm_year, tm.tm_mon+1, tm.tm_mday,
tm.tm_hour, tm.tm_min, tm.tm_sec);
} else {
printf("error\n");
}
}
}
printf("\nTesting av_parse_time()\n");
{
int i;
int64_t tv;
time_t tvi;
struct tm *tm;
static char tzstr[] = "TZ=CET-1";
static const char * const time_string[] = {
"now",
"12:35:46",
"2000-12-20 0:02:47.5z",
"2012 - 02-22 17:44:07",
"2000-12-20T010247.6",
"2000-12-12 1:35:46+05:30",
"2002-12-12 22:30:40-02",
};
static const char * const duration_string[] = {
"2:34:56.79",
"-1:23:45.67",
"42.1729",
"-1729.42",
"12:34",
};
av_log_set_level(AV_LOG_DEBUG);
putenv(tzstr);
printf("(now is 2012-03-17 09:14:13.2 +0100, local time is UTC+1)\n");
for (i = 0; i < FF_ARRAY_ELEMS(time_string); i++) {
printf("%-24s -> ", time_string[i]);
if (av_parse_time(&tv, time_string[i], 0)) {
printf("error\n");
} else {
tvi = tv / 1000000;
tm = gmtime(&tvi);
printf("%14"PRIi64".%06d = %04d-%02d-%02dT%02d:%02d:%02dZ\n",
tv / 1000000, (int)(tv % 1000000),
tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday,
tm->tm_hour, tm->tm_min, tm->tm_sec);
}
}
for (i = 0; i < FF_ARRAY_ELEMS(duration_string); i++) {
printf("%-24s -> ", duration_string[i]);
if (av_parse_time(&tv, duration_string[i], 1)) {
printf("error\n");
} else {
printf("%+21"PRIi64"\n", tv);
}
}
}
return 0;
}
#endif /* TEST */

Просмотреть файл

@ -1978,6 +1978,10 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.name = "mmal",
.flags = AV_PIX_FMT_FLAG_HWACCEL,
},
[AV_PIX_FMT_CUDA] = {
.name = "cuda",
.flags = AV_PIX_FMT_FLAG_HWACCEL,
},
[AV_PIX_FMT_AYUV64LE] = {
.name = "ayuv64le",
.nb_components = 4,
@ -2028,6 +2032,62 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
},
.flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_BE,
},
[AV_PIX_FMT_GBRAP12LE] = {
.name = "gbrap12le",
.nb_components = 4,
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 2, 2, 0, 0, 12, 1, 11, 1 }, /* R */
{ 0, 2, 0, 0, 12, 1, 11, 1 }, /* G */
{ 1, 2, 0, 0, 12, 1, 11, 1 }, /* B */
{ 3, 2, 0, 0, 12, 1, 11, 1 }, /* A */
},
.flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_RGB |
AV_PIX_FMT_FLAG_ALPHA,
},
[AV_PIX_FMT_GBRAP12BE] = {
.name = "gbrap12be",
.nb_components = 4,
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 2, 2, 0, 0, 12, 1, 11, 1 }, /* R */
{ 0, 2, 0, 0, 12, 1, 11, 1 }, /* G */
{ 1, 2, 0, 0, 12, 1, 11, 1 }, /* B */
{ 3, 2, 0, 0, 12, 1, 11, 1 }, /* A */
},
.flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR |
AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_ALPHA,
},
[AV_PIX_FMT_GBRAP10LE] = {
.name = "gbrap10le",
.nb_components = 4,
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 2, 2, 0, 0, 10, 1, 9, 1 }, /* R */
{ 0, 2, 0, 0, 10, 1, 9, 1 }, /* G */
{ 1, 2, 0, 0, 10, 1, 9, 1 }, /* B */
{ 3, 2, 0, 0, 10, 1, 9, 1 }, /* A */
},
.flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_RGB |
AV_PIX_FMT_FLAG_ALPHA,
},
[AV_PIX_FMT_GBRAP10BE] = {
.name = "gbrap10be",
.nb_components = 4,
.log2_chroma_w = 0,
.log2_chroma_h = 0,
.comp = {
{ 2, 2, 0, 0, 10, 1, 9, 1 }, /* R */
{ 0, 2, 0, 0, 10, 1, 9, 1 }, /* G */
{ 1, 2, 0, 0, 10, 1, 9, 1 }, /* B */
{ 3, 2, 0, 0, 10, 1, 9, 1 }, /* A */
},
.flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR |
AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_ALPHA,
},
};
#if FF_API_PLUS1_MINUS1
FF_ENABLE_DEPRECATION_WARNINGS
@ -2048,6 +2108,7 @@ static const char *color_transfer_names[AVCOL_TRC_NB] = {
"bt470bg", "smpte170m", "smpte240m", "linear", "log100",
"log316", "iec61966-2-4", "bt1361e", "iec61966-2-1",
"bt2020-10", "bt2020-20", "smpte2084", "smpte428-1",
"arib-std-b67"
};
static const char *color_space_names[AVCOL_SPC_NB] = {
@ -2061,7 +2122,6 @@ static const char *chroma_location_names[AVCHROMA_LOC_NB] = {
"top", "bottomleft", "bottom",
};
FF_DISABLE_DEPRECATION_WARNINGS
static enum AVPixelFormat get_pix_fmt_internal(const char *name)
{
enum AVPixelFormat pix_fmt;
@ -2103,6 +2163,11 @@ enum AVPixelFormat av_get_pix_fmt(const char *name)
snprintf(name2, sizeof(name2), "%s%s", name, X_NE("be", "le"));
pix_fmt = get_pix_fmt_internal(name2);
}
#if FF_API_VAAPI
if (pix_fmt == AV_PIX_FMT_NONE && !strcmp(name, "vaapi"))
pix_fmt = AV_PIX_FMT_VAAPI;
#endif
return pix_fmt;
}
@ -2249,7 +2314,6 @@ void ff_check_pixfmt_descriptors(void){
}
}
}
FF_ENABLE_DEPRECATION_WARNINGS
enum AVPixelFormat av_pix_fmt_swap_endianness(enum AVPixelFormat pix_fmt)
@ -2497,32 +2561,3 @@ const char *av_chroma_location_name(enum AVChromaLocation location)
return (unsigned) location < AVCHROMA_LOC_NB ?
chroma_location_names[location] : NULL;
}
#ifdef TEST
int main(void){
int i;
int err=0;
int skip = 0;
for (i=0; i<AV_PIX_FMT_NB*2; i++) {
const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(i);
if(!desc || !desc->name) {
skip ++;
continue;
}
if (skip) {
av_log(NULL, AV_LOG_INFO, "%3d unused pixel format values\n", skip);
skip = 0;
}
av_log(NULL, AV_LOG_INFO, "pix fmt %s avg_bpp:%d colortype:%d\n", desc->name, av_get_padded_bits_per_pixel(desc), get_color_type(desc));
if ((!(desc->flags & AV_PIX_FMT_FLAG_ALPHA)) != (desc->nb_components != 2 && desc->nb_components != 4)) {
av_log(NULL, AV_LOG_ERROR, "Alpha flag mismatch\n");
err = 1;
}
}
return err;
}
#endif

Просмотреть файл

@ -85,16 +85,16 @@ typedef struct AVPixFmtDescriptor {
/**
* Amount to shift the luma width right to find the chroma width.
* For YV12 this is 1 for example.
* chroma_width = -((-luma_width) >> log2_chroma_w)
* chroma_width = AV_CEIL_RSHIFT(luma_width, log2_chroma_w)
* The note above is needed to ensure rounding up.
* This value only refers to the chroma components.
*/
uint8_t log2_chroma_w; ///< chroma_width = -((-luma_width )>>log2_chroma_w)
uint8_t log2_chroma_w;
/**
* Amount to shift the luma height right to find the chroma height.
* For YV12 this is 1 for example.
* chroma_height= -((-luma_height) >> log2_chroma_h)
* chroma_height= AV_CEIL_RSHIFT(luma_height, log2_chroma_h)
* The note above is needed to ensure rounding up.
* This value only refers to the chroma components.
*/

Просмотреть файл

@ -85,138 +85,3 @@ av_pixelutils_sad_fn av_pixelutils_get_sad_fn(int w_bits, int h_bits, int aligne
return sad[w_bits - 1];
#endif
}
#ifdef TEST
#define W1 320
#define H1 240
#define W2 640
#define H2 480
static int run_single_test(const char *test,
const uint8_t *block1, ptrdiff_t stride1,
const uint8_t *block2, ptrdiff_t stride2,
int align, int n)
{
int out, ref;
av_pixelutils_sad_fn f_ref = sad_c[n - 1];
av_pixelutils_sad_fn f_out = av_pixelutils_get_sad_fn(n, n, align, NULL);
switch (align) {
case 0: block1++; block2++; break;
case 1: block2++; break;
case 2: break;
}
out = f_out(block1, stride1, block2, stride2);
ref = f_ref(block1, stride1, block2, stride2);
printf("[%s] [%c%c] SAD [%s] %dx%d=%d ref=%d\n",
out == ref ? "OK" : "FAIL",
align ? 'A' : 'U', align == 2 ? 'A' : 'U',
test, 1<<n, 1<<n, out, ref);
return out != ref;
}
static int run_test(const char *test,
const uint8_t *b1, const uint8_t *b2)
{
int i, a, ret = 0;
for (a = 0; a < 3; a++) {
const uint8_t *block1 = b1;
const uint8_t *block2 = b2;
switch (a) {
case 0: block1++; block2++; break;
case 1: block2++; break;
case 2: break;
}
for (i = 1; i <= FF_ARRAY_ELEMS(sad_c); i++) {
int r = run_single_test(test, b1, W1, b2, W2, a, i);
if (r)
ret = r;
}
}
return ret;
}
int main(void)
{
int i, align, ret;
uint8_t *buf1 = av_malloc(W1*H1);
uint8_t *buf2 = av_malloc(W2*H2);
uint32_t state = 0;
if (!buf1 || !buf2) {
fprintf(stderr, "malloc failure\n");
ret = 1;
goto end;
}
ff_check_pixfmt_descriptors();
#define RANDOM_INIT(buf, size) do { \
int k; \
for (k = 0; k < size; k++) { \
state = state * 1664525 + 1013904223; \
buf[k] = state>>24; \
} \
} while (0)
/* Normal test with different strides */
RANDOM_INIT(buf1, W1*H1);
RANDOM_INIT(buf2, W2*H2);
ret = run_test("random", buf1, buf2);
if (ret < 0)
goto end;
/* Check for maximum SAD */
memset(buf1, 0xff, W1*H1);
memset(buf2, 0x00, W2*H2);
ret = run_test("max", buf1, buf2);
if (ret < 0)
goto end;
/* Check for minimum SAD */
memset(buf1, 0x90, W1*H1);
memset(buf2, 0x90, W2*H2);
ret = run_test("min", buf1, buf2);
if (ret < 0)
goto end;
/* Exact buffer sizes, to check for overreads */
for (i = 1; i <= 4; i++) {
for (align = 0; align < 3; align++) {
int size1, size2;
av_freep(&buf1);
av_freep(&buf2);
size1 = size2 = 1 << (i << 1);
switch (align) {
case 0: size1++; size2++; break;
case 1: size2++; break;
case 2: break;
}
buf1 = av_malloc(size1);
buf2 = av_malloc(size2);
if (!buf1 || !buf2) {
fprintf(stderr, "malloc failure\n");
ret = 1;
goto end;
}
RANDOM_INIT(buf1, size1);
RANDOM_INIT(buf2, size2);
ret = run_single_test("small", buf1, 1<<i, buf2, 1<<i, align, i);
if (ret < 0)
goto end;
}
}
end:
av_free(buf1);
av_free(buf2);
return ret;
}
#endif /* TEST */

Просмотреть файл

@ -24,7 +24,6 @@
/**
* @file
* pixel format definitions
*
*/
#include "libavutil/avconfig.h"
@ -54,7 +53,7 @@
* to run on the IBM VGA graphics adapter use 6-bit palette components.
*
* @par
* For all the 8bit per pixel formats, an RGB32 palette is in data[1] like
* For all the 8 bits per pixel formats, an RGB32 palette is in data[1] like
* for pal8. This palette is filled in automatically by the function
* allocating the picture.
*/
@ -71,7 +70,7 @@ enum AVPixelFormat {
AV_PIX_FMT_GRAY8, ///< Y , 8bpp
AV_PIX_FMT_MONOWHITE, ///< Y , 1bpp, 0 is white, 1 is black, in each byte pixels are ordered from the msb to the lsb
AV_PIX_FMT_MONOBLACK, ///< Y , 1bpp, 0 is black, 1 is white, in each byte pixels are ordered from the msb to the lsb
AV_PIX_FMT_PAL8, ///< 8 bit with AV_PIX_FMT_RGB32 palette
AV_PIX_FMT_PAL8, ///< 8 bits with AV_PIX_FMT_RGB32 palette
AV_PIX_FMT_YUVJ420P, ///< planar YUV 4:2:0, 12bpp, full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV420P and setting color_range
AV_PIX_FMT_YUVJ422P, ///< planar YUV 4:2:2, 16bpp, full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV422P and setting color_range
AV_PIX_FMT_YUVJ444P, ///< planar YUV 4:4:4, 24bpp, full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV444P and setting color_range
@ -126,7 +125,7 @@ enum AVPixelFormat {
/**@{*/
AV_PIX_FMT_VAAPI_MOCO, ///< HW acceleration through VA API at motion compensation entry-point, Picture.data[3] contains a vaapi_render_state struct which contains macroblocks as well as various fields extracted from headers
AV_PIX_FMT_VAAPI_IDCT, ///< HW acceleration through VA API at IDCT entry-point, Picture.data[3] contains a vaapi_render_state struct which contains fields extracted from headers
AV_PIX_FMT_VAAPI_VLD, ///< HW decoding through VA API, Picture.data[3] contains a vaapi_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers
AV_PIX_FMT_VAAPI_VLD, ///< HW decoding through VA API, Picture.data[3] contains a VASurfaceID
/**@}*/
AV_PIX_FMT_VAAPI = AV_PIX_FMT_VAAPI_VLD,
#else
@ -144,7 +143,7 @@ enum AVPixelFormat {
AV_PIX_FMT_YUV444P16LE, ///< planar YUV 4:4:4, 48bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian
AV_PIX_FMT_YUV444P16BE, ///< planar YUV 4:4:4, 48bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian
#if FF_API_VDPAU
AV_PIX_FMT_VDPAU_MPEG4, ///< MPEG4 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers
AV_PIX_FMT_VDPAU_MPEG4, ///< MPEG-4 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers
#endif
AV_PIX_FMT_DXVA2_VLD, ///< HW decoding through DXVA2, Picture.data[3] contains a LPDIRECT3DSURFACE9 pointer
@ -152,7 +151,7 @@ enum AVPixelFormat {
AV_PIX_FMT_RGB444BE, ///< packed RGB 4:4:4, 16bpp, (msb)4X 4R 4G 4B(lsb), big-endian, X=unused/undefined
AV_PIX_FMT_BGR444LE, ///< packed BGR 4:4:4, 16bpp, (msb)4X 4B 4G 4R(lsb), little-endian, X=unused/undefined
AV_PIX_FMT_BGR444BE, ///< packed BGR 4:4:4, 16bpp, (msb)4X 4B 4G 4R(lsb), big-endian, X=unused/undefined
AV_PIX_FMT_YA8, ///< 8bit gray, 8bit alpha
AV_PIX_FMT_YA8, ///< 8 bits gray, 8 bits alpha
AV_PIX_FMT_Y400A = AV_PIX_FMT_YA8, ///< alias for AV_PIX_FMT_YA8
AV_PIX_FMT_GRAY8A= AV_PIX_FMT_YA8, ///< alias for AV_PIX_FMT_YA8
@ -223,8 +222,8 @@ enum AVPixelFormat {
AV_PIX_FMT_VDA, ///< HW acceleration through VDA, data[3] contains a CVPixelBufferRef
AV_PIX_FMT_YA16BE, ///< 16bit gray, 16bit alpha (big-endian)
AV_PIX_FMT_YA16LE, ///< 16bit gray, 16bit alpha (little-endian)
AV_PIX_FMT_YA16BE, ///< 16 bits gray, 16 bits alpha (big-endian)
AV_PIX_FMT_YA16LE, ///< 16 bits gray, 16 bits alpha (little-endian)
AV_PIX_FMT_GBRAP, ///< planar GBRA 4:4:4:4 32bpp
AV_PIX_FMT_GBRAP16BE, ///< planar GBRA 4:4:4:4 64bpp, big-endian
@ -242,6 +241,12 @@ enum AVPixelFormat {
AV_PIX_FMT_D3D11VA_VLD, ///< HW decoding through Direct3D11, Picture.data[3] contains a ID3D11VideoDecoderOutputView pointer
/**
* HW acceleration through CUDA. data[i] contain CUdeviceptr pointers
* exactly as for system memory frames.
*/
AV_PIX_FMT_CUDA,
AV_PIX_FMT_0RGB=0x123+4,///< packed RGB 8:8:8, 32bpp, XRGBXRGB... X=unused/undefined
AV_PIX_FMT_RGB0, ///< packed RGB 8:8:8, 32bpp, RGBXRGBX... X=unused/undefined
AV_PIX_FMT_0BGR, ///< packed BGR 8:8:8, 32bpp, XBGRXBGR... X=unused/undefined
@ -292,6 +297,12 @@ enum AVPixelFormat {
AV_PIX_FMT_P010LE, ///< like NV12, with 10bpp per component, data in the high bits, zeros in the low bits, little-endian
AV_PIX_FMT_P010BE, ///< like NV12, with 10bpp per component, data in the high bits, zeros in the low bits, big-endian
AV_PIX_FMT_GBRAP12BE, ///< planar GBR 4:4:4:4 48bpp, big-endian
AV_PIX_FMT_GBRAP12LE, ///< planar GBR 4:4:4:4 48bpp, little-endian
AV_PIX_FMT_GBRAP10BE, ///< planar GBR 4:4:4:4 40bpp, big-endian
AV_PIX_FMT_GBRAP10LE, ///< planar GBR 4:4:4:4 40bpp, little-endian
AV_PIX_FMT_NB, ///< number of pixel formats, DO NOT USE THIS if you want to link with shared libav* because the number of formats might differ between versions
};
@ -347,6 +358,8 @@ enum AVPixelFormat {
#define AV_PIX_FMT_GBRP12 AV_PIX_FMT_NE(GBRP12BE, GBRP12LE)
#define AV_PIX_FMT_GBRP14 AV_PIX_FMT_NE(GBRP14BE, GBRP14LE)
#define AV_PIX_FMT_GBRP16 AV_PIX_FMT_NE(GBRP16BE, GBRP16LE)
#define AV_PIX_FMT_GBRAP10 AV_PIX_FMT_NE(GBRAP10BE, GBRAP10LE)
#define AV_PIX_FMT_GBRAP12 AV_PIX_FMT_NE(GBRAP12BE, GBRAP12LE)
#define AV_PIX_FMT_GBRAP16 AV_PIX_FMT_NE(GBRAP16BE, GBRAP16LE)
#define AV_PIX_FMT_BAYER_BGGR16 AV_PIX_FMT_NE(BAYER_BGGR16BE, BAYER_BGGR16LE)
@ -407,10 +420,11 @@ enum AVColorTransferCharacteristic {
AVCOL_TRC_IEC61966_2_4 = 11, ///< IEC 61966-2-4
AVCOL_TRC_BT1361_ECG = 12, ///< ITU-R BT1361 Extended Colour Gamut
AVCOL_TRC_IEC61966_2_1 = 13, ///< IEC 61966-2-1 (sRGB or sYCC)
AVCOL_TRC_BT2020_10 = 14, ///< ITU-R BT2020 for 10 bit system
AVCOL_TRC_BT2020_12 = 15, ///< ITU-R BT2020 for 12 bit system
AVCOL_TRC_SMPTEST2084 = 16, ///< SMPTE ST 2084 for 10, 12, 14 and 16 bit systems
AVCOL_TRC_BT2020_10 = 14, ///< ITU-R BT2020 for 10-bit system
AVCOL_TRC_BT2020_12 = 15, ///< ITU-R BT2020 for 12-bit system
AVCOL_TRC_SMPTEST2084 = 16, ///< SMPTE ST 2084 for 10-, 12-, 14- and 16-bit systems
AVCOL_TRC_SMPTEST428_1 = 17, ///< SMPTE ST 428-1
AVCOL_TRC_ARIB_STD_B67 = 18, ///< ARIB STD-B67, known as "Hybrid log-gamma"
AVCOL_TRC_NB, ///< Not part of ABI
};
@ -424,8 +438,8 @@ enum AVColorSpace {
AVCOL_SPC_RESERVED = 3,
AVCOL_SPC_FCC = 4, ///< FCC Title 47 Code of Federal Regulations 73.682 (a)(20)
AVCOL_SPC_BT470BG = 5, ///< also ITU-R BT601-6 625 / ITU-R BT1358 625 / ITU-R BT1700 625 PAL & SECAM / IEC 61966-2-4 xvYCC601
AVCOL_SPC_SMPTE170M = 6, ///< also ITU-R BT601-6 525 / ITU-R BT1358 525 / ITU-R BT1700 NTSC / functionally identical to above
AVCOL_SPC_SMPTE240M = 7,
AVCOL_SPC_SMPTE170M = 6, ///< also ITU-R BT601-6 525 / ITU-R BT1358 525 / ITU-R BT1700 NTSC
AVCOL_SPC_SMPTE240M = 7, ///< functionally identical to above
AVCOL_SPC_YCOCG = 8, ///< Used by Dirac / VC-2 and H.264 FRext, see ITU-T SG16
AVCOL_SPC_BT2020_NCL = 9, ///< ITU-R BT2020 non-constant luminance system
AVCOL_SPC_BT2020_CL = 10, ///< ITU-R BT2020 constant luminance system
@ -461,8 +475,8 @@ enum AVColorRange {
*/
enum AVChromaLocation {
AVCHROMA_LOC_UNSPECIFIED = 0,
AVCHROMA_LOC_LEFT = 1, ///< mpeg2/4 4:2:0, h264 default for 4:2:0
AVCHROMA_LOC_CENTER = 2, ///< mpeg1 4:2:0, jpeg 4:2:0, h263 4:2:0
AVCHROMA_LOC_LEFT = 1, ///< MPEG-2/4 4:2:0, H.264 default for 4:2:0
AVCHROMA_LOC_CENTER = 2, ///< MPEG-1 4:2:0, JPEG 4:2:0, H.263 4:2:0
AVCHROMA_LOC_TOPLEFT = 3, ///< ITU-R 601, SMPTE 274M 296M S314M(DV 4:1:1), mpeg2 4:2:2
AVCHROMA_LOC_TOP = 4,
AVCHROMA_LOC_BOTTOMLEFT = 5,

Просмотреть файл

@ -115,7 +115,8 @@ AVRational av_d2q(double d, int max)
frexp(d, &exponent);
exponent = FFMAX(exponent-1, 0);
den = 1LL << (61 - exponent);
// (int64_t)rint() and llrint() do not work with gcc on ia64 and sparc64
// (int64_t)rint() and llrint() do not work with gcc on ia64 and sparc64,
// see Ticket2713 for affected gcc/glibc versions
av_reduce(&a.num, &a.den, floor(d * den + 0.5), den, max);
if ((!a.num || !a.den) && d && max>0 && max<INT_MAX)
av_reduce(&a.num, &a.den, floor(d * den + 0.5), den, INT_MAX);
@ -181,119 +182,3 @@ uint32_t av_q2intfloat(AVRational q) {
return sign<<31 | (150-shift)<<23 | (n - (1<<23));
}
#ifdef TEST
#include "integer.h"
int main(void)
{
AVRational a,b,r;
int i,j,k;
static const int64_t numlist[] = {
INT64_MIN, INT64_MIN+1, INT64_MAX, INT32_MIN, INT32_MAX, 1,0,-1,
123456789, INT32_MAX-1, INT32_MAX+1LL, UINT32_MAX-1, UINT32_MAX, UINT32_MAX+1LL
};
for (a.num = -2; a.num <= 2; a.num++) {
for (a.den = -2; a.den <= 2; a.den++) {
for (b.num = -2; b.num <= 2; b.num++) {
for (b.den = -2; b.den <= 2; b.den++) {
int c = av_cmp_q(a,b);
double d = av_q2d(a) == av_q2d(b) ?
0 : (av_q2d(a) - av_q2d(b));
if (d > 0) d = 1;
else if (d < 0) d = -1;
else if (d != d) d = INT_MIN;
if (c != d)
av_log(NULL, AV_LOG_ERROR, "%d/%d %d/%d, %d %f\n", a.num,
a.den, b.num, b.den, c,d);
r = av_sub_q(av_add_q(b,a), b);
if(b.den && (r.num*a.den != a.num*r.den || !r.num != !a.num || !r.den != !a.den))
av_log(NULL, AV_LOG_ERROR, "%d/%d ", r.num, r.den);
}
}
}
}
for (i = 0; i < FF_ARRAY_ELEMS(numlist); i++) {
int64_t a = numlist[i];
for (j = 0; j < FF_ARRAY_ELEMS(numlist); j++) {
int64_t b = numlist[j];
if (b<=0)
continue;
for (k = 0; k < FF_ARRAY_ELEMS(numlist); k++) {
int64_t c = numlist[k];
int64_t res;
AVInteger ai;
if (c<=0)
continue;
res = av_rescale_rnd(a,b,c, AV_ROUND_ZERO);
ai = av_mul_i(av_int2i(a), av_int2i(b));
ai = av_div_i(ai, av_int2i(c));
if (av_cmp_i(ai, av_int2i(INT64_MAX)) > 0 && res == INT64_MIN)
continue;
if (av_cmp_i(ai, av_int2i(INT64_MIN)) < 0 && res == INT64_MIN)
continue;
if (av_cmp_i(ai, av_int2i(res)) == 0)
continue;
// Special exception for INT64_MIN, remove this in case INT64_MIN is handled without off by 1 error
if (av_cmp_i(ai, av_int2i(res-1)) == 0 && a == INT64_MIN)
continue;
av_log(NULL, AV_LOG_ERROR, "%"PRId64" * %"PRId64" / %"PRId64" = %"PRId64" or %"PRId64"\n", a,b,c, res, av_i2int(ai));
}
}
}
for (a.num = 1; a.num <= 10; a.num++) {
for (a.den = 1; a.den <= 10; a.den++) {
if (av_gcd(a.num, a.den) > 1)
continue;
for (b.num = 1; b.num <= 10; b.num++) {
for (b.den = 1; b.den <= 10; b.den++) {
int start;
if (av_gcd(b.num, b.den) > 1)
continue;
if (av_cmp_q(b, a) < 0)
continue;
for (start = 0; start < 10 ; start++) {
int acc= start;
int i;
for (i = 0; i<100; i++) {
int exact = start + av_rescale_q(i+1, b, a);
acc = av_add_stable(a, acc, b, 1);
if (FFABS(acc - exact) > 2) {
av_log(NULL, AV_LOG_ERROR, "%d/%d %d/%d, %d %d\n", a.num,
a.den, b.num, b.den, acc, exact);
return 1;
}
}
}
}
}
}
}
for (a.den = 1; a.den < 0x100000000U/3; a.den*=3) {
for (a.num = -1; a.num < (1<<27); a.num += 1 + a.num/100) {
float f = av_int2float(av_q2intfloat(a));
float f2 = av_q2d(a);
if (fabs(f - f2) > fabs(f)/5000000) {
av_log(NULL, AV_LOG_ERROR, "%d/%d %f %f\n", a.num,
a.den, f, f2);
return 1;
}
}
}
return 0;
}
#endif

Просмотреть файл

@ -1,5 +1,4 @@
/*
*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or

Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше