Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
BC
public
linphone-windows10
Commits
cfdb01c0
Commit
cfdb01c0
authored
Jan 21, 2016
by
Ghislain MARY
Browse files
Add prebuilt ffmpeg.
parent
f92a3bd4
Changes
108
Expand all
Hide whitespace changes
Inline
Side-by-side
submodules/build/ffmpeg/ARM/avcodec-56.dll
0 → 100644
View file @
cfdb01c0
File added
submodules/build/ffmpeg/ARM/avcodec.lib
0 → 100644
View file @
cfdb01c0
File added
submodules/build/ffmpeg/ARM/avutil-54.dll
0 → 100644
View file @
cfdb01c0
File added
submodules/build/ffmpeg/ARM/avutil.lib
0 → 100644
View file @
cfdb01c0
File added
submodules/build/ffmpeg/ARM/swresample-1.dll
0 → 100644
View file @
cfdb01c0
File added
submodules/build/ffmpeg/ARM/swresample.lib
0 → 100644
View file @
cfdb01c0
File added
submodules/build/ffmpeg/ARM/swscale-3.dll
0 → 100644
View file @
cfdb01c0
File added
submodules/build/ffmpeg/ARM/swscale.lib
0 → 100644
View file @
cfdb01c0
File added
submodules/build/ffmpeg/CMakeLists.txt
0 → 100644
View file @
cfdb01c0
############################################################################
# CMakeLists.txt
# Copyright (C) 2015 Belledonne Communications, Grenoble France
#
############################################################################
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
############################################################################
cmake_minimum_required
(
VERSION 2.8
)
project
(
FFMPEG C
)
set
(
LIBAVCODEC_HEADER_FILES
include/libavcodec/avcodec.h
include/libavcodec/avfft.h
include/libavcodec/d3d11va.h
include/libavcodec/dv_profile.h
include/libavcodec/dxva2.h
include/libavcodec/old_codec_ids.h
include/libavcodec/qsv.h
include/libavcodec/vaapi.h
include/libavcodec/vda.h
include/libavcodec/vdpau.h
include/libavcodec/version.h
include/libavcodec/videotoolbox.h
include/libavcodec/vorbis_parser.h
include/libavcodec/xvmc.h
)
set
(
LIBAVUTIL_HEADER_FILES
include/libavutil/adler32.h
include/libavutil/aes.h
include/libavutil/attributes.h
include/libavutil/audio_fifo.h
include/libavutil/audioconvert.h
include/libavutil/avassert.h
include/libavutil/avconfig.h
include/libavutil/avstring.h
include/libavutil/avutil.h
include/libavutil/base64.h
include/libavutil/blowfish.h
include/libavutil/bprint.h
include/libavutil/bswap.h
include/libavutil/buffer.h
include/libavutil/camellia.h
include/libavutil/cast5.h
include/libavutil/channel_layout.h
include/libavutil/common.h
include/libavutil/cpu.h
include/libavutil/crc.h
include/libavutil/dict.h
include/libavutil/display.h
include/libavutil/downmix_info.h
include/libavutil/error.h
include/libavutil/eval.h
include/libavutil/ffversion.h
include/libavutil/fifo.h
include/libavutil/file.h
include/libavutil/frame.h
include/libavutil/hash.h
include/libavutil/hmac.h
include/libavutil/imgutils.h
include/libavutil/intfloat.h
include/libavutil/intreadwrite.h
include/libavutil/lfg.h
include/libavutil/log.h
include/libavutil/macros.h
include/libavutil/mathematics.h
include/libavutil/md5.h
include/libavutil/mem.h
include/libavutil/motion_vector.h
include/libavutil/murmur3.h
include/libavutil/old_pix_fmts.h
include/libavutil/opt.h
include/libavutil/parseutils.h
include/libavutil/pixdesc.h
include/libavutil/pixelutils.h
include/libavutil/pixfmt.h
include/libavutil/random_seed.h
include/libavutil/rational.h
include/libavutil/replaygain.h
include/libavutil/ripemd.h
include/libavutil/samplefmt.h
include/libavutil/sha.h
include/libavutil/sha512.h
include/libavutil/stereo3d.h
include/libavutil/tea.h
include/libavutil/threadmessage.h
include/libavutil/time.h
include/libavutil/timecode.h
include/libavutil/timestamp.h
include/libavutil/twofish.h
include/libavutil/version.h
include/libavutil/xtea.h
)
set
(
LIBSWRESAMPLE_HEADER_FILES
include/libswresample/swresample.h
include/libswresample/version.h
)
set
(
LIBSWSCALE_HEADER_FILES
include/libswscale/swscale.h
include/libswscale/version.h
)
install
(
FILES
${
LIBAVCODEC_HEADER_FILES
}
DESTINATION include/libavcodec
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
)
install
(
FILES
${
LIBAVUTIL_HEADER_FILES
}
DESTINATION include/libavutil
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
)
install
(
FILES
${
LIBSWRESAMPLE_HEADER_FILES
}
DESTINATION include/libswresample
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
)
install
(
FILES
${
LIBSWSCALE_HEADER_FILES
}
DESTINATION include/libswscale
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
)
set
(
arch
"x86"
)
if
(
CMAKE_GENERATOR MATCHES
"^.* ARM$"
)
set
(
arch
"ARM"
)
elseif
(
CMAKE_GENERATOR MATCHES
"^.* Win64$"
)
set
(
arch
"x64"
)
endif
()
install
(
FILES
${
arch
}
/avcodec.lib
${
arch
}
/avutil.lib
${
arch
}
/swresample.lib
${
arch
}
/swscale.lib
DESTINATION lib
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
)
install
(
FILES
${
arch
}
/avcodec-56.dll
${
arch
}
/avutil-54.dll
${
arch
}
/swresample-1.dll
${
arch
}
/swscale-3.dll
DESTINATION bin
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
)
submodules/build/ffmpeg/README.txt
0 → 100644
View file @
cfdb01c0
Basically, follow instructions from https://trac.ffmpeg.org/wiki/CompilationGuide/WinRT but replace the configure options by the following ones (built tag n2.8.4 from the git repository git://source.ffmpeg.org/ffmpeg.git):
x86:
../../../configure --toolchain=msvc --disable-zlib --disable-bzlib --disable-mmx --disable-ffplay --disable-ffprobe --disable-ffserver --disable-avdevice --disable-avfilter --disable-network --disable-avformat --disable-everything --enable-decoder=mjpeg --enable-encoder=mjpeg --disable-vda --disable-vaapi --disable-vdpau --enable-decoder=h263 --enable-encoder=h263 --enable-encoder=h263p --enable-decoder=mpeg4 --enable-encoder=mpeg4 --arch=x86 --enable-shared --enable-cross-compile --target-os=win32 --extra-cflags="-MD -DWINAPI_FAMILY=WINAPI_FAMILY_APP -D_WIN32_WINNT=0x0A00" --extra-ldflags="-APPCONTAINER WindowsApp.lib" --prefix=../../../Build/Windows10/x86
x64:
../../../configure --toolchain=msvc --disable-zlib --disable-bzlib --disable-mmx --disable-ffplay --disable-ffprobe --disable-ffserver --disable-avdevice --disable-avfilter --disable-network --disable-avformat --disable-everything --enable-decoder=mjpeg --enable-encoder=mjpeg --disable-vda --disable-vaapi --disable-vdpau --enable-decoder=h263 --enable-encoder=h263 --enable-encoder=h263p --enable-decoder=mpeg4 --enable-encoder=mpeg4 --arch=x86_64 --enable-shared --enable-cross-compile --target-os=win32 --extra-cflags="-MD -DWINAPI_FAMILY=WINAPI_FAMILY_APP -D_WIN32_WINNT=0x0A00" --extra-ldflags="-APPCONTAINER WindowsApp.lib" --prefix=../../../Build/Windows10/x64
ARM:
../../../configure --toolchain=msvc --disable-zlib --disable-bzlib --disable-mmx --disable-ffplay --disable-ffprobe --disable-ffserver --disable-avdevice --disable-avfilter --disable-network --disable-avformat --disable-everything --enable-decoder=mjpeg --enable-encoder=mjpeg --disable-vda --disable-vaapi --disable-vdpau --enable-decoder=h263 --enable-encoder=h263 --enable-encoder=h263p --enable-decoder=mpeg4 --enable-encoder=mpeg4 --arch=arm --as=armasm --cpu=armv7 --enable-thumb --enable-shared --enable-cross-compile --target-os=win32 --extra-cflags="-MD -DWINAPI_FAMILY=WINAPI_FAMILY_APP -D_WIN32_WINNT=0x0A00 -D__ARM_PCS_VFP" --extra-ldflags="-APPCONTAINER WindowsApp.lib" --prefix=../../../Build/Windows10/ARM
submodules/build/ffmpeg/include/libavcodec/avcodec.h
0 → 100644
View file @
cfdb01c0
This diff is collapsed.
Click to expand it.
submodules/build/ffmpeg/include/libavcodec/avfft.h
0 → 100644
View file @
cfdb01c0
/*
* 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_AVFFT_H
#define AVCODEC_AVFFT_H
/**
* @file
* @ingroup lavc_fft
* FFT functions
*/
/**
* @defgroup lavc_fft FFT functions
* @ingroup lavc_misc
*
* @{
*/
typedef
float
FFTSample
;
typedef
struct
FFTComplex
{
FFTSample
re
,
im
;
}
FFTComplex
;
typedef
struct
FFTContext
FFTContext
;
/**
* Set up a complex FFT.
* @param nbits log2 of the length of the input array
* @param inverse if 0 perform the forward transform, if 1 perform the inverse
*/
FFTContext
*
av_fft_init
(
int
nbits
,
int
inverse
);
/**
* Do the permutation needed BEFORE calling ff_fft_calc().
*/
void
av_fft_permute
(
FFTContext
*
s
,
FFTComplex
*
z
);
/**
* Do a complex FFT with the parameters defined in av_fft_init(). The
* input data must be permuted before. No 1.0/sqrt(n) normalization is done.
*/
void
av_fft_calc
(
FFTContext
*
s
,
FFTComplex
*
z
);
void
av_fft_end
(
FFTContext
*
s
);
FFTContext
*
av_mdct_init
(
int
nbits
,
int
inverse
,
double
scale
);
void
av_imdct_calc
(
FFTContext
*
s
,
FFTSample
*
output
,
const
FFTSample
*
input
);
void
av_imdct_half
(
FFTContext
*
s
,
FFTSample
*
output
,
const
FFTSample
*
input
);
void
av_mdct_calc
(
FFTContext
*
s
,
FFTSample
*
output
,
const
FFTSample
*
input
);
void
av_mdct_end
(
FFTContext
*
s
);
/* Real Discrete Fourier Transform */
enum
RDFTransformType
{
DFT_R2C
,
IDFT_C2R
,
IDFT_R2C
,
DFT_C2R
,
};
typedef
struct
RDFTContext
RDFTContext
;
/**
* Set up a real FFT.
* @param nbits log2 of the length of the input array
* @param trans the type of transform
*/
RDFTContext
*
av_rdft_init
(
int
nbits
,
enum
RDFTransformType
trans
);
void
av_rdft_calc
(
RDFTContext
*
s
,
FFTSample
*
data
);
void
av_rdft_end
(
RDFTContext
*
s
);
/* Discrete Cosine Transform */
typedef
struct
DCTContext
DCTContext
;
enum
DCTTransformType
{
DCT_II
=
0
,
DCT_III
,
DCT_I
,
DST_I
,
};
/**
* Set up DCT.
*
* @param nbits size of the input array:
* (1 << nbits) for DCT-II, DCT-III and DST-I
* (1 << nbits) + 1 for DCT-I
* @param type the type of transform
*
* @note the first element of the input of DST-I is ignored
*/
DCTContext
*
av_dct_init
(
int
nbits
,
enum
DCTTransformType
type
);
void
av_dct_calc
(
DCTContext
*
s
,
FFTSample
*
data
);
void
av_dct_end
(
DCTContext
*
s
);
/**
* @}
*/
#endif
/* AVCODEC_AVFFT_H */
submodules/build/ffmpeg/include/libavcodec/d3d11va.h
0 → 100644
View file @
cfdb01c0
/*
* Direct3D11 HW acceleration
*
* copyright (c) 2009 Laurent Aimar
* copyright (c) 2015 Steve Lhomme
*
* 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_D3D11VA_H
#define AVCODEC_D3D11VA_H
/**
* @file
* @ingroup lavc_codec_hwaccel_d3d11va
* Public libavcodec D3D11VA header.
*/
#if !defined(_WIN32_WINNT) || _WIN32_WINNT < 0x0602
#undef _WIN32_WINNT
#define _WIN32_WINNT 0x0602
#endif
#include <stdint.h>
#include <d3d11.h>
/**
* @defgroup lavc_codec_hwaccel_d3d11va Direct3D11
* @ingroup lavc_codec_hwaccel
*
* @{
*/
#define FF_DXVA2_WORKAROUND_SCALING_LIST_ZIGZAG 1 ///< Work around for Direct3D11 and old UVD/UVD+ ATI video cards
#define FF_DXVA2_WORKAROUND_INTEL_CLEARVIDEO 2 ///< Work around for Direct3D11 and old Intel GPUs with ClearVideo interface
/**
* This structure is used to provides the necessary configurations and data
* to the Direct3D11 FFmpeg HWAccel implementation.
*
* The application must make it available as AVCodecContext.hwaccel_context.
*/
struct
AVD3D11VAContext
{
/**
* D3D11 decoder object
*/
ID3D11VideoDecoder
*
decoder
;
/**
* D3D11 VideoContext
*/
ID3D11VideoContext
*
video_context
;
/**
* D3D11 configuration used to create the decoder
*/
D3D11_VIDEO_DECODER_CONFIG
*
cfg
;
/**
* The number of surface in the surface array
*/
unsigned
surface_count
;
/**
* The array of Direct3D surfaces used to create the decoder
*/
ID3D11VideoDecoderOutputView
**
surface
;
/**
* A bit field configuring the workarounds needed for using the decoder
*/
uint64_t
workaround
;
/**
* Private to the FFmpeg AVHWAccel implementation
*/
unsigned
report_id
;
};
/**
* @}
*/
#endif
/* AVCODEC_D3D11VA_H */
submodules/build/ffmpeg/include/libavcodec/dv_profile.h
0 → 100644
View file @
cfdb01c0
/*
* 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_DV_PROFILE_H
#define AVCODEC_DV_PROFILE_H
#include <stdint.h>
#include "libavutil/pixfmt.h"
#include "libavutil/rational.h"
#include "avcodec.h"
/* minimum number of bytes to read from a DV stream in order to
* determine the profile */
#define DV_PROFILE_BYTES (6 * 80)
/* 6 DIF blocks */
/*
* AVDVProfile is used to express the differences between various
* DV flavors. For now it's primarily used for differentiating
* 525/60 and 625/50, but the plans are to use it for various
* DV specs as well (e.g. SMPTE314M vs. IEC 61834).
*/
typedef
struct
AVDVProfile
{
int
dsf
;
/* value of the dsf in the DV header */
int
video_stype
;
/* stype for VAUX source pack */
int
frame_size
;
/* total size of one frame in bytes */
int
difseg_size
;
/* number of DIF segments per DIF channel */
int
n_difchan
;
/* number of DIF channels per frame */
AVRational
time_base
;
/* 1/framerate */
int
ltc_divisor
;
/* FPS from the LTS standpoint */
int
height
;
/* picture height in pixels */
int
width
;
/* picture width in pixels */
AVRational
sar
[
2
];
/* sample aspect ratios for 4:3 and 16:9 */
enum
AVPixelFormat
pix_fmt
;
/* picture pixel format */
int
bpm
;
/* blocks per macroblock */
const
uint8_t
*
block_sizes
;
/* AC block sizes, in bits */
int
audio_stride
;
/* size of audio_shuffle table */
int
audio_min_samples
[
3
];
/* min amount of audio samples */
/* for 48kHz, 44.1kHz and 32kHz */
int
audio_samples_dist
[
5
];
/* how many samples are supposed to be */
/* in each frame in a 5 frames window */
const
uint8_t
(
*
audio_shuffle
)[
9
];
/* PCM shuffling table */
}
AVDVProfile
;
#if FF_API_DV_FRAME_PROFILE
/**
* @deprecated use av_dv_frame_profile()
*/
attribute_deprecated
const
AVDVProfile
*
avpriv_dv_frame_profile2
(
AVCodecContext
*
codec
,
const
AVDVProfile
*
sys
,
const
uint8_t
*
frame
,
unsigned
buf_size
);
#endif
/**
* Get a DV profile for the provided compressed frame.
*
* @param sys the profile used for the previous frame, may be NULL
* @param frame the compressed data buffer
* @param buf_size size of the buffer in bytes
* @return the DV profile for the supplied data or NULL on failure
*/
const
AVDVProfile
*
av_dv_frame_profile
(
const
AVDVProfile
*
sys
,
const
uint8_t
*
frame
,
unsigned
buf_size
);
/**
* Get a DV profile for the provided stream parameters.
*/
const
AVDVProfile
*
av_dv_codec_profile
(
int
width
,
int
height
,
enum
AVPixelFormat
pix_fmt
);
/**
* Get a DV profile for the provided stream parameters.
* The frame rate is used as a best-effort parameter.
*/
const
AVDVProfile
*
av_dv_codec_profile2
(
int
width
,
int
height
,
enum
AVPixelFormat
pix_fmt
,
AVRational
frame_rate
);
#endif
/* AVCODEC_DV_PROFILE_H */
submodules/build/ffmpeg/include/libavcodec/dxva2.h
0 → 100644
View file @
cfdb01c0
/*
* DXVA2 HW acceleration
*
* copyright (c) 2009 Laurent Aimar
*
* 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_DXVA_H
#define AVCODEC_DXVA_H
/**
* @file
* @ingroup lavc_codec_hwaccel_dxva2
* Public libavcodec DXVA2 header.
*/
#if !defined(_WIN32_WINNT) || _WIN32_WINNT < 0x0602
#undef _WIN32_WINNT
#define _WIN32_WINNT 0x0602
#endif
#include <stdint.h>
#include <d3d9.h>
#include <dxva2api.h>
/**
* @defgroup lavc_codec_hwaccel_dxva2 DXVA2
* @ingroup lavc_codec_hwaccel
*
* @{
*/
#define FF_DXVA2_WORKAROUND_SCALING_LIST_ZIGZAG 1 ///< Work around for DXVA2 and old UVD/UVD+ ATI video cards
#define FF_DXVA2_WORKAROUND_INTEL_CLEARVIDEO 2 ///< Work around for DXVA2 and old Intel GPUs with ClearVideo interface
/**
* This structure is used to provides the necessary configurations and data
* to the DXVA2 FFmpeg HWAccel implementation.
*
* The application must make it available as AVCodecContext.hwaccel_context.
*/
struct
dxva_context
{
/**
* DXVA2 decoder object
*/
IDirectXVideoDecoder
*
decoder
;
/**
* DXVA2 configuration used to create the decoder
*/
const
DXVA2_ConfigPictureDecode
*
cfg
;
/**
* The number of surface in the surface array
*/
unsigned
surface_count
;
/**
* The array of Direct3D surfaces used to create the decoder
*/
LPDIRECT3DSURFACE9
*
surface
;
/**
* A bit field configuring the workarounds needed for using the decoder
*/
uint64_t
workaround
;
/**
* Private to the FFmpeg AVHWAccel implementation
*/
unsigned
report_id
;
};
/**
* @}
*/
#endif
/* AVCODEC_DXVA_H */
submodules/build/ffmpeg/include/libavcodec/old_codec_ids.h
0 → 100644
View file @
cfdb01c0
/*
* 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_OLD_CODEC_IDS_H
#define AVCODEC_OLD_CODEC_IDS_H
/*
* This header exists to prevent new codec IDs from being accidentally added to