913 changed files with 62206 additions and 0 deletions
@ -0,0 +1,47 @@
@@ -0,0 +1,47 @@
|
||||
pkgbase = avidemux-2.6 |
||||
pkgdesc = A graphical tool to edit video (filter/re-encode/split) |
||||
pkgver = 2.6.8 |
||||
pkgrel = 1 |
||||
url = http://fixounet.free.fr/avidemux/ |
||||
arch = i686 |
||||
arch = x86_64 |
||||
license = GPL2 |
||||
makedepends = cmake |
||||
makedepends = yasm |
||||
makedepends = sdl |
||||
makedepends = libxv |
||||
makedepends = jack |
||||
makedepends = libsamplerate |
||||
makedepends = freetype2 |
||||
makedepends = libxext |
||||
makedepends = libxml2 |
||||
depends = twolame |
||||
depends = qt5-tools |
||||
depends = opencore-amr |
||||
depends = jack |
||||
depends = flac |
||||
depends = x264 |
||||
depends = xvidcore |
||||
depends = sqlite |
||||
depends = libpulse |
||||
depends = libva |
||||
depends = libvdpau |
||||
depends = faac |
||||
depends = faad2 |
||||
depends = lame |
||||
depends = libdca |
||||
depends = fribidi |
||||
depends = libvpx |
||||
depends = fontconfig |
||||
depends = glu |
||||
depends = qt4 |
||||
optdepends = libvorbis |
||||
optdepends = sdl |
||||
optdepends = alsa-lib |
||||
optdepends = libxv |
||||
provides = avidemux-2.6=2.6.8 |
||||
source = http://sourceforge.net/projects/avidemux/files/avidemux/2.6.8/avidemux_2.6.8.tar.gz |
||||
options = !makeflags |
||||
|
||||
pkgname = avidemux-2.6 |
||||
|
@ -0,0 +1,36 @@
@@ -0,0 +1,36 @@
|
||||
# Maintainer: John Jenkins <twodopeshaggy@gmail.com> |
||||
# Contributor: ksj <podhorsky.ksj@gmail.com> |
||||
# Contributor: Gustavo Alvarez <sl1pkn07@gmail.com> |
||||
|
||||
_pkgname=avidemux |
||||
pkgname=avidemux-2.6 |
||||
pkgver=2.6.9 |
||||
pkgrel=1 |
||||
pkgdesc="A graphical tool to edit video (filter/re-encode/split)" |
||||
arch=(i686 x86_64) |
||||
url=http://fixounet.free.fr/avidemux/ |
||||
license=(GPL2) |
||||
depends=(twolame qt5-tools opencore-amr jack flac x264 x265 xvidcore sqlite libpulse libva libvdpau faac faad2 lame libdca fribidi libvpx fontconfig glu qt5-base) |
||||
makedepends=(cmake yasm sdl libxv jack libsamplerate freetype2 libxext libxml2 pkg-config) |
||||
optdepends=(libvorbis sdl alsa-lib libxv) |
||||
provides=($pkgname=$pkgver) |
||||
options=('!makeflags') |
||||
source=(http://sourceforge.net/projects/avidemux/files/avidemux/"$pkgver"/"$_pkgname"_"$pkgver".tar.gz) |
||||
sha256sums=('c073bdb966bc0ab0dc3bbc7b5119fb81509b9d6cd90b916183a99ec6627e5006') |
||||
sha512sums=('5607eeb87e00d796fe333026f4cbd161b2be32271179c4e6fdee2a8c07a754f0fade6f0d696dac7844df774e984f0dd6083c4a694422f1ecf94711eb7b1f434c') |
||||
|
||||
build() { |
||||
cd $srcdir/"$_pkgname"_"$pkgver" |
||||
bash bootStrap.bash --without-qt4 --enable-qt5 |
||||
sed -i -e 's/avidemux2_gtk/avidemux3_qt5/g' "$_pkgname"2.desktop |
||||
sed -i -e 's/avidemux2/avidemux/g' "$_pkgname"2.desktop |
||||
} |
||||
|
||||
package() { |
||||
cd $srcdir/"$_pkgname"_"$pkgver" |
||||
cp -r install/usr/ "$pkgdir"/ |
||||
|
||||
install -Dm644 "$_pkgname"_icon.png "$pkgdir"/usr/share/pixmaps/$_pkgname2.png |
||||
|
||||
desktop-file-install "$_pkgname"2.desktop --dir "$pkgdir"/usr/share/applications/$_pkgname.desktop |
||||
} |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,57 @@
@@ -0,0 +1,57 @@
|
||||
# Generated by makepkg 4.2.1 |
||||
# using fakeroot version 1.20.2 |
||||
# Sun May 17 02:23:50 UTC 2015 |
||||
pkgname = avidemux-2.6 |
||||
pkgver = 2.6.9-1 |
||||
pkgdesc = A graphical tool to edit video (filter/re-encode/split) |
||||
url = http://fixounet.free.fr/avidemux/ |
||||
builddate = 1431829430 |
||||
packager = Unknown Packager |
||||
size = 26371072 |
||||
arch = x86_64 |
||||
license = GPL2 |
||||
provides = avidemux-2.6=2.6.9 |
||||
depend = twolame |
||||
depend = qt5-tools |
||||
depend = opencore-amr |
||||
depend = jack |
||||
depend = flac |
||||
depend = x264 |
||||
depend = x265 |
||||
depend = xvidcore |
||||
depend = sqlite |
||||
depend = libpulse |
||||
depend = libva |
||||
depend = libvdpau |
||||
depend = faac |
||||
depend = faad2 |
||||
depend = lame |
||||
depend = libdca |
||||
depend = fribidi |
||||
depend = libvpx |
||||
depend = fontconfig |
||||
depend = glu |
||||
depend = qt5-base |
||||
optdepend = libvorbis |
||||
optdepend = sdl |
||||
optdepend = alsa-lib |
||||
optdepend = libxv |
||||
makedepend = cmake |
||||
makedepend = yasm |
||||
makedepend = sdl |
||||
makedepend = libxv |
||||
makedepend = jack |
||||
makedepend = libsamplerate |
||||
makedepend = freetype2 |
||||
makedepend = libxext |
||||
makedepend = libxml2 |
||||
makedepend = pkg-config |
||||
makepkgopt = strip |
||||
makepkgopt = docs |
||||
makepkgopt = !libtool |
||||
makepkgopt = !staticlibs |
||||
makepkgopt = emptydirs |
||||
makepkgopt = zipman |
||||
makepkgopt = purge |
||||
makepkgopt = !upx |
||||
makepkgopt = !debug |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,2 @@
@@ -0,0 +1,2 @@
|
||||
SET(USE_VDPAU 1) |
||||
SET(USE_LIBVA 1) |
@ -0,0 +1,60 @@
@@ -0,0 +1,60 @@
|
||||
#ifndef ADM_CORE_H |
||||
#define ADM_CORE_H |
||||
|
||||
#define ADM_INSTALL_DIR "/usr" |
||||
#define ADM_RELATIVE_LIB_DIR "lib" |
||||
#define ADM_PLUGIN_DIR "ADM_plugins6" |
||||
|
||||
// GCC - CPU
|
||||
/* #undef ADM_BIG_ENDIAN */ |
||||
#define ADM_CPU_64BIT |
||||
/* #undef ADM_CPU_ARMEL */ |
||||
#define ADM_CPU_X86 |
||||
/* #undef ADM_CPU_X86_32 */ |
||||
#define ADM_CPU_X86_64 |
||||
|
||||
// GCC - Operating System
|
||||
/* #undef ADM_BSD_FAMILY */ |
||||
|
||||
// use nvidia hw encoding
|
||||
/* #undef USE_NVENC */ |
||||
// use vdpau h264 hw decoding
|
||||
#define USE_VDPAU |
||||
// use xvba h264 hw decoding
|
||||
/* #undef USE_XVBA */ |
||||
// use libva h264 hw decoding
|
||||
#define USE_LIBVA |
||||
|
||||
// 'gettimeofday' function is present
|
||||
#define HAVE_GETTIMEOFDAY |
||||
|
||||
// Presence of header files
|
||||
#define HAVE_INTTYPES_H 1 |
||||
#define HAVE_STDINT_H 1 |
||||
#define HAVE_SYS_TYPES_H |
||||
|
||||
#ifdef _MSC_VER |
||||
# define ftello _ftelli64 |
||||
# define fseeko _fseeki64 |
||||
# define snprintf _snprintf |
||||
# define strcasecmp(x, y) _stricmp(x, y) |
||||
#elif defined(__MINGW32__) |
||||
# define rindex strrchr |
||||
# define index strchr |
||||
|
||||
# if !1 |
||||
# define ftello ftello64 // not defined on every mingw64_w32 version (e.g. set 2011-11-03 does not have it)
|
||||
# define fseeko fseeko64 |
||||
# endif // FTELLO
|
||||
#endif |
||||
|
||||
#if defined(ADM_CPU_X86_32) && defined(__GNUC__) |
||||
# define attribute_align_arg __attribute__((force_align_arg_pointer)) |
||||
#else |
||||
# define attribute_align_arg |
||||
#endif |
||||
|
||||
/* use Nvwa memory leak detector */ |
||||
/* #undef FIND_LEAKS */ |
||||
|
||||
#endif |
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,397 @@
@@ -0,0 +1,397 @@
|
||||
/*
|
||||
* 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 |
||||
* the deprecated list. |
||||
* Do not include it directly. It will be removed on next major bump |
||||
* |
||||
* Do not add new items to this list. Use the AVCodecID enum instead. |
||||
*/ |
||||
|
||||
CODEC_ID_NONE = AV_CODEC_ID_NONE, |
||||
|
||||
/* video codecs */ |
||||
CODEC_ID_MPEG1VIDEO, |
||||
CODEC_ID_MPEG2VIDEO, ///< preferred ID for MPEG-1/2 video decoding
|
||||
#if FF_API_XVMC |
||||
CODEC_ID_MPEG2VIDEO_XVMC, |
||||
#endif |
||||
CODEC_ID_H261, |
||||
CODEC_ID_H263, |
||||
CODEC_ID_RV10, |
||||
CODEC_ID_RV20, |
||||
CODEC_ID_MJPEG, |
||||
CODEC_ID_MJPEGB, |
||||
CODEC_ID_LJPEG, |
||||
CODEC_ID_SP5X, |
||||
CODEC_ID_JPEGLS, |
||||
CODEC_ID_MPEG4, |
||||
CODEC_ID_RAWVIDEO, |
||||
CODEC_ID_MSMPEG4V1, |
||||
CODEC_ID_MSMPEG4V2, |
||||
CODEC_ID_MSMPEG4V3, |
||||
CODEC_ID_WMV1, |
||||
CODEC_ID_WMV2, |
||||
CODEC_ID_H263P, |
||||
CODEC_ID_H263I, |
||||
CODEC_ID_FLV1, |
||||
CODEC_ID_SVQ1, |
||||
CODEC_ID_SVQ3, |
||||
CODEC_ID_DVVIDEO, |
||||
CODEC_ID_HUFFYUV, |
||||
CODEC_ID_CYUV, |
||||
CODEC_ID_H264, |
||||
CODEC_ID_INDEO3, |
||||
CODEC_ID_VP3, |
||||
CODEC_ID_THEORA, |
||||
CODEC_ID_ASV1, |
||||
CODEC_ID_ASV2, |
||||
CODEC_ID_FFV1, |
||||
CODEC_ID_4XM, |
||||
CODEC_ID_VCR1, |
||||
CODEC_ID_CLJR, |
||||
CODEC_ID_MDEC, |
||||
CODEC_ID_ROQ, |
||||
CODEC_ID_INTERPLAY_VIDEO, |
||||
CODEC_ID_XAN_WC3, |
||||
CODEC_ID_XAN_WC4, |
||||
CODEC_ID_RPZA, |
||||
CODEC_ID_CINEPAK, |
||||
CODEC_ID_WS_VQA, |
||||
CODEC_ID_MSRLE, |
||||
CODEC_ID_MSVIDEO1, |
||||
CODEC_ID_IDCIN, |
||||
CODEC_ID_8BPS, |
||||
CODEC_ID_SMC, |
||||
CODEC_ID_FLIC, |
||||
CODEC_ID_TRUEMOTION1, |
||||
CODEC_ID_VMDVIDEO, |
||||
CODEC_ID_MSZH, |
||||
CODEC_ID_ZLIB, |
||||
CODEC_ID_QTRLE, |
||||
CODEC_ID_TSCC, |
||||
CODEC_ID_ULTI, |
||||
CODEC_ID_QDRAW, |
||||
CODEC_ID_VIXL, |
||||
CODEC_ID_QPEG, |
||||
CODEC_ID_PNG, |
||||
CODEC_ID_PPM, |
||||
CODEC_ID_PBM, |
||||
CODEC_ID_PGM, |
||||
CODEC_ID_PGMYUV, |
||||
CODEC_ID_PAM, |
||||
CODEC_ID_FFVHUFF, |
||||
CODEC_ID_RV30, |
||||
CODEC_ID_RV40, |
||||
CODEC_ID_VC1, |
||||
CODEC_ID_WMV3, |
||||
CODEC_ID_LOCO, |
||||
CODEC_ID_WNV1, |
||||
CODEC_ID_AASC, |
||||
CODEC_ID_INDEO2, |
||||
CODEC_ID_FRAPS, |
||||
CODEC_ID_TRUEMOTION2, |
||||
CODEC_ID_BMP, |
||||
CODEC_ID_CSCD, |
||||
CODEC_ID_MMVIDEO, |
||||
CODEC_ID_ZMBV, |
||||
CODEC_ID_AVS, |
||||
CODEC_ID_SMACKVIDEO, |
||||
CODEC_ID_NUV, |
||||
CODEC_ID_KMVC, |
||||
CODEC_ID_FLASHSV, |
||||
CODEC_ID_CAVS, |
||||
CODEC_ID_JPEG2000, |
||||
CODEC_ID_VMNC, |
||||
CODEC_ID_VP5, |
||||
CODEC_ID_VP6, |
||||
CODEC_ID_VP6F, |
||||
CODEC_ID_TARGA, |
||||
CODEC_ID_DSICINVIDEO, |
||||
CODEC_ID_TIERTEXSEQVIDEO, |
||||
CODEC_ID_TIFF, |
||||
CODEC_ID_GIF, |
||||
CODEC_ID_DXA, |
||||
CODEC_ID_DNXHD, |
||||
CODEC_ID_THP, |
||||
CODEC_ID_SGI, |
||||
CODEC_ID_C93, |
||||
CODEC_ID_BETHSOFTVID, |
||||
CODEC_ID_PTX, |
||||
CODEC_ID_TXD, |
||||
CODEC_ID_VP6A, |
||||
CODEC_ID_AMV, |
||||
CODEC_ID_VB, |
||||
CODEC_ID_PCX, |
||||
CODEC_ID_SUNRAST, |
||||
CODEC_ID_INDEO4, |
||||
CODEC_ID_INDEO5, |
||||
CODEC_ID_MIMIC, |
||||
CODEC_ID_RL2, |
||||
CODEC_ID_ESCAPE124, |
||||
CODEC_ID_DIRAC, |
||||
CODEC_ID_BFI, |
||||
CODEC_ID_CMV, |
||||
CODEC_ID_MOTIONPIXELS, |
||||
CODEC_ID_TGV, |
||||
CODEC_ID_TGQ, |
||||
CODEC_ID_TQI, |
||||
CODEC_ID_AURA, |
||||
CODEC_ID_AURA2, |
||||
CODEC_ID_V210X, |
||||
CODEC_ID_TMV, |
||||
CODEC_ID_V210, |
||||
CODEC_ID_DPX, |
||||
CODEC_ID_MAD, |
||||
CODEC_ID_FRWU, |
||||
CODEC_ID_FLASHSV2, |
||||
CODEC_ID_CDGRAPHICS, |
||||
CODEC_ID_R210, |
||||
CODEC_ID_ANM, |
||||
CODEC_ID_BINKVIDEO, |
||||
CODEC_ID_IFF_ILBM, |
||||
CODEC_ID_IFF_BYTERUN1, |
||||
CODEC_ID_KGV1, |
||||
CODEC_ID_YOP, |
||||
CODEC_ID_VP8, |
||||
CODEC_ID_PICTOR, |
||||
CODEC_ID_ANSI, |
||||
CODEC_ID_A64_MULTI, |
||||
CODEC_ID_A64_MULTI5, |
||||
CODEC_ID_R10K, |
||||
CODEC_ID_MXPEG, |
||||
CODEC_ID_LAGARITH, |
||||
CODEC_ID_PRORES, |
||||
CODEC_ID_JV, |
||||
CODEC_ID_DFA, |
||||
CODEC_ID_WMV3IMAGE, |
||||
CODEC_ID_VC1IMAGE, |
||||
CODEC_ID_UTVIDEO, |
||||
CODEC_ID_BMV_VIDEO, |
||||
CODEC_ID_VBLE, |
||||
CODEC_ID_DXTORY, |
||||
CODEC_ID_V410, |
||||
CODEC_ID_XWD, |
||||
CODEC_ID_CDXL, |
||||
CODEC_ID_XBM, |
||||
CODEC_ID_ZEROCODEC, |
||||
CODEC_ID_MSS1, |
||||
CODEC_ID_MSA1, |
||||
CODEC_ID_TSCC2, |
||||
CODEC_ID_MTS2, |
||||
CODEC_ID_CLLC, |
||||
CODEC_ID_Y41P = MKBETAG('Y','4','1','P'), |
||||
CODEC_ID_ESCAPE130 = MKBETAG('E','1','3','0'), |
||||
CODEC_ID_EXR = MKBETAG('0','E','X','R'), |
||||
CODEC_ID_AVRP = MKBETAG('A','V','R','P'), |
||||
|
||||
CODEC_ID_G2M = MKBETAG( 0 ,'G','2','M'), |
||||
CODEC_ID_AVUI = MKBETAG('A','V','U','I'), |
||||
CODEC_ID_AYUV = MKBETAG('A','Y','U','V'), |
||||
CODEC_ID_V308 = MKBETAG('V','3','0','8'), |
||||
CODEC_ID_V408 = MKBETAG('V','4','0','8'), |
||||
CODEC_ID_YUV4 = MKBETAG('Y','U','V','4'), |
||||
CODEC_ID_SANM = MKBETAG('S','A','N','M'), |
||||
CODEC_ID_PAF_VIDEO = MKBETAG('P','A','F','V'), |
||||
CODEC_ID_SNOW = AV_CODEC_ID_SNOW, |
||||
|
||||
/* various PCM "codecs" */ |
||||
CODEC_ID_FIRST_AUDIO = 0x10000, ///< A dummy id pointing at the start of audio codecs
|
||||
CODEC_ID_PCM_S16LE = 0x10000, |
||||
CODEC_ID_PCM_S16BE, |
||||
CODEC_ID_PCM_U16LE, |
||||
CODEC_ID_PCM_U16BE, |
||||
CODEC_ID_PCM_S8, |
||||
CODEC_ID_PCM_U8, |
||||
CODEC_ID_PCM_MULAW, |
||||
CODEC_ID_PCM_ALAW, |
||||
CODEC_ID_PCM_S32LE, |
||||
CODEC_ID_PCM_S32BE, |
||||
CODEC_ID_PCM_U32LE, |
||||
CODEC_ID_PCM_U32BE, |
||||
CODEC_ID_PCM_S24LE, |
||||
CODEC_ID_PCM_S24BE, |
||||
CODEC_ID_PCM_U24LE, |
||||
CODEC_ID_PCM_U24BE, |
||||
CODEC_ID_PCM_S24DAUD, |
||||
CODEC_ID_PCM_ZORK, |
||||
CODEC_ID_PCM_S16LE_PLANAR, |
||||
CODEC_ID_PCM_DVD, |
||||
CODEC_ID_PCM_F32BE, |
||||
CODEC_ID_PCM_F32LE, |
||||
CODEC_ID_PCM_F64BE, |
||||
CODEC_ID_PCM_F64LE, |
||||
CODEC_ID_PCM_BLURAY, |
||||
CODEC_ID_PCM_LXF, |
||||
CODEC_ID_S302M, |
||||
CODEC_ID_PCM_S8_PLANAR, |
||||
|
||||
/* various ADPCM codecs */ |
||||
CODEC_ID_ADPCM_IMA_QT = 0x11000, |
||||
CODEC_ID_ADPCM_IMA_WAV, |
||||
CODEC_ID_ADPCM_IMA_DK3, |
||||
CODEC_ID_ADPCM_IMA_DK4, |
||||
CODEC_ID_ADPCM_IMA_WS, |
||||
CODEC_ID_ADPCM_IMA_SMJPEG, |
||||
CODEC_ID_ADPCM_MS, |
||||
CODEC_ID_ADPCM_4XM, |
||||
CODEC_ID_ADPCM_XA, |
||||
CODEC_ID_ADPCM_ADX, |
||||
CODEC_ID_ADPCM_EA, |
||||
CODEC_ID_ADPCM_G726, |
||||
CODEC_ID_ADPCM_CT, |
||||
CODEC_ID_ADPCM_SWF, |
||||
CODEC_ID_ADPCM_YAMAHA, |
||||
CODEC_ID_ADPCM_SBPRO_4, |
||||
CODEC_ID_ADPCM_SBPRO_3, |
||||
CODEC_ID_ADPCM_SBPRO_2, |
||||
CODEC_ID_ADPCM_THP, |
||||
CODEC_ID_ADPCM_IMA_AMV, |
||||
CODEC_ID_ADPCM_EA_R1, |
||||
CODEC_ID_ADPCM_EA_R3, |
||||
CODEC_ID_ADPCM_EA_R2, |
||||
CODEC_ID_ADPCM_IMA_EA_SEAD, |
||||
CODEC_ID_ADPCM_IMA_EA_EACS, |
||||
CODEC_ID_ADPCM_EA_XAS, |
||||
CODEC_ID_ADPCM_EA_MAXIS_XA, |
||||
CODEC_ID_ADPCM_IMA_ISS, |
||||
CODEC_ID_ADPCM_G722, |
||||
CODEC_ID_ADPCM_IMA_APC, |
||||
CODEC_ID_VIMA = MKBETAG('V','I','M','A'), |
||||
|
||||
/* AMR */ |
||||
CODEC_ID_AMR_NB = 0x12000, |
||||
CODEC_ID_AMR_WB, |
||||
|
||||
/* RealAudio codecs*/ |
||||
CODEC_ID_RA_144 = 0x13000, |
||||
CODEC_ID_RA_288, |
||||
|
||||
/* various DPCM codecs */ |
||||
CODEC_ID_ROQ_DPCM = 0x14000, |
||||
CODEC_ID_INTERPLAY_DPCM, |
||||
CODEC_ID_XAN_DPCM, |
||||
CODEC_ID_SOL_DPCM, |
||||
|
||||
/* audio codecs */ |
||||
CODEC_ID_MP2 = 0x15000, |
||||
CODEC_ID_MP3, ///< preferred ID for decoding MPEG audio layer 1, 2 or 3
|
||||
CODEC_ID_AAC, |
||||
CODEC_ID_AC3, |
||||
CODEC_ID_DTS, |
||||
CODEC_ID_VORBIS, |
||||
CODEC_ID_DVAUDIO, |
||||
CODEC_ID_WMAV1, |
||||
CODEC_ID_WMAV2, |
||||
CODEC_ID_MACE3, |
||||
CODEC_ID_MACE6, |
||||
CODEC_ID_VMDAUDIO, |
||||
CODEC_ID_FLAC, |
||||
CODEC_ID_MP3ADU, |
||||
CODEC_ID_MP3ON4, |
||||
CODEC_ID_SHORTEN, |
||||
CODEC_ID_ALAC, |
||||
CODEC_ID_WESTWOOD_SND1, |
||||
CODEC_ID_GSM, ///< as in Berlin toast format
|
||||
CODEC_ID_QDM2, |
||||
CODEC_ID_COOK, |
||||
CODEC_ID_TRUESPEECH, |
||||
CODEC_ID_TTA, |
||||
CODEC_ID_SMACKAUDIO, |
||||
CODEC_ID_QCELP, |
||||
CODEC_ID_WAVPACK, |
||||
CODEC_ID_DSICINAUDIO, |
||||
CODEC_ID_IMC, |
||||
CODEC_ID_MUSEPACK7, |
||||
CODEC_ID_MLP, |
||||
CODEC_ID_GSM_MS, /* as found in WAV */ |
||||
CODEC_ID_ATRAC3, |
||||
CODEC_ID_VOXWARE, |
||||
CODEC_ID_APE, |
||||
CODEC_ID_NELLYMOSER, |
||||
CODEC_ID_MUSEPACK8, |
||||
CODEC_ID_SPEEX, |
||||
CODEC_ID_WMAVOICE, |
||||
CODEC_ID_WMAPRO, |
||||
CODEC_ID_WMALOSSLESS, |
||||
CODEC_ID_ATRAC3P, |
||||
CODEC_ID_EAC3, |
||||
CODEC_ID_SIPR, |
||||
CODEC_ID_MP1, |
||||
CODEC_ID_TWINVQ, |
||||
CODEC_ID_TRUEHD, |
||||
CODEC_ID_MP4ALS, |
||||
CODEC_ID_ATRAC1, |
||||
CODEC_ID_BINKAUDIO_RDFT, |
||||
CODEC_ID_BINKAUDIO_DCT, |
||||
CODEC_ID_AAC_LATM, |
||||
CODEC_ID_QDMC, |
||||
CODEC_ID_CELT, |
||||
CODEC_ID_G723_1, |
||||
CODEC_ID_G729, |
||||
CODEC_ID_8SVX_EXP, |
||||
CODEC_ID_8SVX_FIB, |
||||
CODEC_ID_BMV_AUDIO, |
||||
CODEC_ID_RALF, |
||||
CODEC_ID_IAC, |
||||
CODEC_ID_ILBC, |
||||
CODEC_ID_FFWAVESYNTH = MKBETAG('F','F','W','S'), |
||||
CODEC_ID_SONIC = MKBETAG('S','O','N','C'), |
||||
CODEC_ID_SONIC_LS = MKBETAG('S','O','N','L'), |
||||
CODEC_ID_PAF_AUDIO = MKBETAG('P','A','F','A'), |
||||
CODEC_ID_OPUS = MKBETAG('O','P','U','S'), |
||||
|
||||
/* subtitle codecs */ |
||||
CODEC_ID_FIRST_SUBTITLE = 0x17000, ///< A dummy ID pointing at the start of subtitle codecs.
|
||||
CODEC_ID_DVD_SUBTITLE = 0x17000, |
||||
CODEC_ID_DVB_SUBTITLE, |
||||
CODEC_ID_TEXT, ///< raw UTF-8 text
|
||||
CODEC_ID_XSUB, |
||||
CODEC_ID_SSA, |
||||
CODEC_ID_MOV_TEXT, |
||||
CODEC_ID_HDMV_PGS_SUBTITLE, |
||||
CODEC_ID_DVB_TELETEXT, |
||||
CODEC_ID_SRT, |
||||
CODEC_ID_MICRODVD = MKBETAG('m','D','V','D'), |
||||
CODEC_ID_EIA_608 = MKBETAG('c','6','0','8'), |
||||
CODEC_ID_JACOSUB = MKBETAG('J','S','U','B'), |
||||
CODEC_ID_SAMI = MKBETAG('S','A','M','I'), |
||||
CODEC_ID_REALTEXT = MKBETAG('R','T','X','T'), |
||||
CODEC_ID_SUBVIEWER = MKBETAG('S','u','b','V'), |
||||
|
||||
/* other specific kind of codecs (generally used for attachments) */ |
||||
CODEC_ID_FIRST_UNKNOWN = 0x18000, ///< A dummy ID pointing at the start of various fake codecs.
|
||||
CODEC_ID_TTF = 0x18000, |
||||
CODEC_ID_BINTEXT = MKBETAG('B','T','X','T'), |
||||
CODEC_ID_XBIN = MKBETAG('X','B','I','N'), |
||||
CODEC_ID_IDF = MKBETAG( 0 ,'I','D','F'), |
||||
CODEC_ID_OTF = MKBETAG( 0 ,'O','T','F'), |
||||
|
||||
CODEC_ID_PROBE = 0x19000, ///< codec_id is not known (like CODEC_ID_NONE) but lavf should attempt to identify it
|
||||
|
||||
CODEC_ID_MPEG2TS = 0x20000, /**< _FAKE_ codec to indicate a raw MPEG-2 TS
|
||||
* stream (only used by libavformat) */ |
||||
CODEC_ID_MPEG4SYSTEMS = 0x20001, /**< _FAKE_ codec to indicate a MPEG-4 Systems
|
||||
* stream (only used by libavformat) */ |
||||
CODEC_ID_FFMETADATA = 0x21000, ///< Dummy codec for streams containing only metadata information.
|
||||
|
||||
#endif /* AVCODEC_OLD_CODEC_IDS_H */ |
@ -0,0 +1,173 @@
@@ -0,0 +1,173 @@
|
||||
/*
|
||||
* Video Acceleration API (shared data between FFmpeg and the video player) |
||||
* HW decode acceleration for MPEG-2, MPEG-4, H.264 and VC-1 |
||||
* |
||||
* Copyright (C) 2008-2009 Splitted-Desktop Systems |
||||
* |
||||
* 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_VAAPI_H |
||||
#define AVCODEC_VAAPI_H |
||||
|
||||
/**
|
||||
* @file |
||||
* @ingroup lavc_codec_hwaccel_vaapi |
||||
* Public libavcodec VA API header. |
||||
*/ |
||||
|
||||
#include <stdint.h> |
||||
|
||||
/**
|
||||
* @defgroup lavc_codec_hwaccel_vaapi VA API Decoding |
||||
* @ingroup lavc_codec_hwaccel |
||||
* @{ |
||||
*/ |
||||
|
||||
/**
|
||||
* This structure is used to share data between the FFmpeg library and |
||||
* the client video application. |
||||
* This shall be zero-allocated and available as |
||||
* AVCodecContext.hwaccel_context. All user members can be set once |
||||
* during initialization or through each AVCodecContext.get_buffer() |
||||
* function call. In any case, they must be valid prior to calling |
||||
* decoding functions. |
||||
*/ |
||||
struct vaapi_context { |
||||
/**
|
||||
* Window system dependent data |
||||
* |
||||
* - encoding: unused |
||||
* - decoding: Set by user |
||||
*/ |
||||
void *display; |
||||
|
||||
/**
|
||||
* Configuration ID |
||||
* |
||||
* - encoding: unused |
||||
* - decoding: Set by user |
||||
*/ |
||||
uint32_t config_id; |
||||
|
||||
/**
|
||||
* Context ID (video decode pipeline) |
||||
* |
||||
* - encoding: unused |
||||
* - decoding: Set by user |
||||
*/ |
||||
uint32_t context_id; |
||||
|
||||
/**
|
||||
* VAPictureParameterBuffer ID |
||||
* |
||||
* - encoding: unused |
||||
* - decoding: Set by libavcodec |
||||
*/ |
||||
uint32_t pic_param_buf_id; |
||||
|
||||
/**
|
||||
* VAIQMatrixBuffer ID |
||||
* |
||||
* - encoding: unused |
||||
* - decoding: Set by libavcodec |
||||
*/ |
||||
uint32_t iq_matrix_buf_id; |
||||
|
||||
/**
|
||||
* VABitPlaneBuffer ID (for VC-1 decoding) |
||||
* |
||||
* - encoding: unused |
||||
* - decoding: Set by libavcodec |
||||
*/ |
||||
uint32_t bitplane_buf_id; |
||||
|
||||
/**
|
||||
* Slice parameter/data buffer IDs |
||||
* |
||||
* - encoding: unused |
||||
* - decoding: Set by libavcodec |
||||
*/ |
||||
uint32_t *slice_buf_ids; |
||||
|
||||
/**
|
||||
* Number of effective slice buffer IDs to send to the HW |
||||
* |
||||
* - encoding: unused |
||||
* - decoding: Set by libavcodec |
||||
*/ |
||||
unsigned int n_slice_buf_ids; |
||||
|
||||
/**
|
||||
* Size of pre-allocated slice_buf_ids |
||||
* |
||||
* - encoding: unused |
||||
* - decoding: Set by libavcodec |
||||
*/ |
||||
unsigned int slice_buf_ids_alloc; |
||||
|
||||
/**
|
||||
* Pointer to VASliceParameterBuffers |
||||
* |
||||
* - encoding: unused |
||||
* - decoding: Set by libavcodec |
||||
*/ |
||||
void *slice_params; |
||||
|
||||
/**
|
||||
* Size of a VASliceParameterBuffer element |
||||
* |
||||
* - encoding: unused |
||||
* - decoding: Set by libavcodec |
||||
*/ |
||||
unsigned int slice_param_size; |
||||
|
||||
/**
|
||||
* Size of pre-allocated slice_params |
||||
* |
||||
* - encoding: unused |
||||
* - decoding: Set by libavcodec |
||||
*/ |
||||
unsigned int slice_params_alloc; |
||||
|
||||
/**
|
||||
* Number of slices currently filled in |
||||
* |
||||
* - encoding: unused |
||||
* - decoding: Set by libavcodec |
||||
*/ |
||||
unsigned int slice_count; |
||||
|
||||
/**
|
||||
* Pointer to slice data buffer base |
||||
* - encoding: unused |
||||
* - decoding: Set by libavcodec |
||||
*/ |
||||
const uint8_t *slice_data; |
||||
|
||||
/**
|
||||
* Current size of slice data |
||||
* |
||||
* - encoding: unused |
||||
* - decoding: Set by libavcodec |
||||
*/ |
||||
uint32_t slice_data_size; |
||||
}; |
||||
|
||||
/* @} */ |
||||
|
||||
#endif /* AVCODEC_VAAPI_H */ |
@ -0,0 +1,72 @@
@@ -0,0 +1,72 @@
|
||||
/*
|
||||
* Video Acceleration API (video decoding) |
||||
* HW decode acceleration for MPEG-2, MPEG-4, H.264 and VC-1 |
||||
* |
||||
* Copyright (C) 2008-2009 Splitted-Desktop Systems |
||||
* |
||||
* 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_VAAPI_INTERNAL_H |
||||
#define AVCODEC_VAAPI_INTERNAL_H |
||||
|
||||
#include <va/va.h> |
||||
#include "vaapi.h" |
||||
#include "avcodec.h" |
||||
#include "mpegvideo.h" |
||||
|
||||
/**
|
||||
* @addtogroup VAAPI_Decoding |
||||
* |
||||
* @{ |
||||
*/ |
||||
|
||||
/** Extract VASurfaceID from an AVFrame */ |
||||
static inline VASurfaceID ff_vaapi_get_surface_id(AVFrame *pic) |
||||
{ |
||||
return (uintptr_t)pic->data[3]; |
||||
} |
||||
|
||||
/** Common AVHWAccel.end_frame() implementation */ |
||||
void ff_vaapi_common_end_frame(AVCodecContext *avctx); |
||||
|
||||
/** Allocate a new picture parameter buffer */ |
||||
void *ff_vaapi_alloc_pic_param(struct vaapi_context *vactx, unsigned int size); |
||||
|
||||
/** Allocate a new IQ matrix buffer */ |
||||
void *ff_vaapi_alloc_iq_matrix(struct vaapi_context *vactx, unsigned int size); |
||||
|
||||
/** Allocate a new bit-plane buffer */ |
||||
uint8_t *ff_vaapi_alloc_bitplane(struct vaapi_context *vactx, uint32_t size); |
||||
|
||||
/**
|
||||
* Allocate a new slice descriptor for the input slice. |
||||
* |
||||
* @param vactx the VA API context |
||||
* @param buffer the slice data buffer base |
||||
* @param size the size of the slice in bytes |
||||
* @return the newly allocated slice parameter |
||||
*/ |
||||
VASliceParameterBufferBase *ff_vaapi_alloc_slice(struct vaapi_context *vactx, const uint8_t *buffer, uint32_t size); |
||||
|
||||
int ff_vaapi_mpeg_end_frame(AVCodecContext *avctx); |
||||
int ff_vaapi_commit_slices(struct vaapi_context *vactx); |
||||
int ff_vaapi_render_picture(struct vaapi_context *vactx, VASurfaceID surface); |
||||
|
||||
/* @} */ |
||||
|
||||
#endif /* AVCODEC_VAAPI_INTERNAL_H */ |
@ -0,0 +1,256 @@
@@ -0,0 +1,256 @@
|
||||
/*
|
||||
* The Video Decode and Presentation API for UNIX (VDPAU) is used for |
||||
* hardware-accelerated decoding of MPEG-1/2, H.264 and VC-1. |
||||
* |
||||
* Copyright (C) 2008 NVIDIA |
||||
* |
||||
* 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_VDPAU_H |
||||
#define AVCODEC_VDPAU_H |
||||
|
||||
/**
|
||||
* @file |
||||
* @ingroup lavc_codec_hwaccel_vdpau |
||||
* Public libavcodec VDPAU header. |
||||
*/ |
||||
|
||||
|
||||
/**
|
||||
* @defgroup lavc_codec_hwaccel_vdpau VDPAU Decoder and Renderer |
||||
* @ingroup lavc_codec_hwaccel |
||||
* |
||||
* VDPAU hardware acceleration has two modules |
||||
* - VDPAU decoding |
||||
* - VDPAU presentation |
||||
* |
||||
* The VDPAU decoding module parses all headers using FFmpeg |
||||
* parsing mechanisms and uses VDPAU for the actual decoding. |
||||
* |
||||
* As per the current implementation, the actual decoding |
||||
* and rendering (API calls) are done as part of the VDPAU |
||||
* presentation (vo_vdpau.c) module. |
||||
* |
||||
* @{ |
||||
*/ |
||||
|
||||
#include <vdpau/vdpau.h> |
||||
#include <vdpau/vdpau_x11.h> |
||||
#include "libavutil/avconfig.h" |
||||
#include "libavutil/attributes.h" |
||||
|
||||
#include "avcodec.h" |
||||
#include "version.h" |
||||
|
||||
#if FF_API_BUFS_VDPAU |
||||
union AVVDPAUPictureInfo { |
||||
VdpPictureInfoH264 h264; |
||||
VdpPictureInfoMPEG1Or2 mpeg; |
||||
VdpPictureInfoVC1 vc1; |
||||
VdpPictureInfoMPEG4Part2 mpeg4; |
||||
}; |
||||
#endif |
||||
|
||||
struct AVCodecContext; |
||||
struct AVFrame; |
||||
|
||||
typedef int (*AVVDPAU_Render2)(struct AVCodecContext *, struct AVFrame *, |
||||
const VdpPictureInfo *, uint32_t, |
||||
const VdpBitstreamBuffer *); |
||||
|
||||
/**
|
||||
* This structure is used to share data between the libavcodec library and |
||||
* the client video application. |
||||
* The user shall allocate the structure via the av_alloc_vdpau_hwaccel |
||||
* function and make it available as |
||||
* AVCodecContext.hwaccel_context. Members can be set by the user once |
||||
* during initialization or through each AVCodecContext.get_buffer() |
||||
* function call. In any case, they must be valid prior to calling |
||||
* decoding functions. |
||||
* |
||||
* The size of this structure is not a part of the public ABI and must not |
||||
* be used outside of libavcodec. Use av_vdpau_alloc_context() to allocate an |
||||
* AVVDPAUContext. |
||||
*/ |
||||
typedef struct AVVDPAUContext { |
||||
/**
|
||||
* VDPAU decoder handle |
||||
* |
||||
* Set by user. |
||||
*/ |
||||
VdpDecoder decoder; |
||||
|
||||
/**
|
||||
* VDPAU decoder render callback |
||||
* |
||||
* Set by the user. |
||||
*/ |
||||
VdpDecoderRender *render; |
||||
|
||||
#if FF_API_BUFS_VDPAU |
||||
/**
|
||||
* VDPAU picture information |
||||
* |
||||
* Set by libavcodec. |
||||
*/ |
||||
attribute_deprecated |
||||
union AVVDPAUPictureInfo info; |
||||
|
||||
/**
|
||||
* Allocated size of the bitstream_buffers table. |
||||
* |
||||
* Set by libavcodec. |
||||
*/ |
||||
attribute_deprecated |
||||
int bitstream_buffers_allocated; |
||||
|
||||
/**
|
||||
* Useful bitstream buffers in the bitstream buffers table. |
||||
* |
||||
* Set by libavcodec. |
||||
*/ |
||||
attribute_deprecated |
||||
int bitstream_buffers_used; |
||||
|
||||
/**
|
||||
* Table of bitstream buffers. |
||||
* The user is responsible for freeing this buffer using av_freep(). |
||||
* |
||||
* Set by libavcodec. |
||||
*/ |
||||
attribute_deprecated |
||||
VdpBitstreamBuffer *bitstream_buffers; |
||||
#endif |
||||
AVVDPAU_Render2 render2; |
||||
} AVVDPAUContext; |
||||
|
||||
/**
|
||||
* @brief allocation function for AVVDPAUContext |
||||
* |
||||
* Allows extending the struct without breaking API/ABI |
||||
*/ |
||||
AVVDPAUContext *av_alloc_vdpaucontext(void); |
||||
|
||||
AVVDPAU_Render2 av_vdpau_hwaccel_get_render2(const AVVDPAUContext *); |
||||
void av_vdpau_hwaccel_set_render2(AVVDPAUContext *, AVVDPAU_Render2); |
||||
|
||||
/**
|
||||
* Associate a VDPAU device with a codec context for hardware acceleration. |
||||
* This function is meant to be called from the get_format() codec callback, |
||||
* or earlier. It can also be called after avcodec_flush_buffers() to change |
||||
* the underlying VDPAU device mid-stream (e.g. to recover from non-transparent |
||||
* display preemption). |
||||
* |
||||
* @note get_format() must return AV_PIX_FMT_VDPAU if this function completes |
||||
* successfully. |
||||
* |
||||
* @param avctx decoding context whose get_format() callback is invoked |
||||
* @param device VDPAU device handle to use for hardware acceleration |
||||
* @param get_proc_address VDPAU device driver |
||||
* @param flags zero of more OR'd AV_HWACCEL_FLAG_* flags |
||||
* |
||||
* @return 0 on success, an AVERROR code on failure. |
||||
*/ |
||||
int av_vdpau_bind_context(AVCodecContext *avctx, VdpDevice device, |
||||
VdpGetProcAddress *get_proc_address, unsigned flags); |
||||
|
||||
/**
|
||||
* Gets the parameters to create an adequate VDPAU video surface for the codec |
||||
* context using VDPAU hardware decoding acceleration. |
||||
* |
||||
* @note Behavior is undefined if the context was not successfully bound to a |
||||
* VDPAU device using av_vdpau_bind_context(). |
||||
* |
||||
* @param avctx the codec context being used for decoding the stream |
||||
* @param type storage space for the VDPAU video surface chroma type |
||||
* (or NULL to ignore) |
||||
* @param width storage space for the VDPAU video surface pixel width |
||||
* (or NULL to ignore) |
||||
* @param height storage space for the VDPAU video surface pixel height |
||||
* (or NULL to ignore) |
||||
* |
||||
* @return 0 on success, a negative AVERROR code on failure. |
||||
*/ |
||||
int av_vdpau_get_surface_parameters(AVCodecContext *avctx, VdpChromaType *type, |
||||
uint32_t *width, uint32_t *height); |
||||
|
||||
/**
|
||||
* Allocate an AVVDPAUContext. |
||||
* |
||||
* @return Newly-allocated AVVDPAUContext or NULL on failure. |
||||
*/ |
||||
AVVDPAUContext *av_vdpau_alloc_context(void); |
||||
|
||||
/**
|
||||
* Get a decoder profile that should be used for initializing a VDPAU decoder. |
||||
* Should be called from the AVCodecContext.get_format() callback. |
||||
* |
||||
* @param avctx the codec context being used for decoding the stream |
||||
* @param profile a pointer into which the result will be written on success. |
||||
* The contents of profile are undefined if this function returns |
||||
* an error. |
||||
* |
||||
* @return 0 on success (non-negative), a negative AVERROR on failure. |
||||
*/ |
||||
int av_vdpau_get_profile(AVCodecContext *avctx, VdpDecoderProfile *profile); |
||||
|
||||
#if FF_API_CAP_VDPAU |
||||
/** @brief The videoSurface is used for rendering. */ |
||||
#define FF_VDPAU_STATE_USED_FOR_RENDER 1 |
||||
|
||||
/**
|
||||
* @brief The videoSurface is needed for reference/prediction. |
||||
* The codec manipulates this. |
||||
*/ |
||||
#define FF_VDPAU_STATE_USED_FOR_REFERENCE 2 |
||||
|
||||
/**
|
||||
* @brief This structure is used as a callback between the FFmpeg |
||||
* decoder (vd_) and presentation (vo_) module. |
||||
* This is used for defining a video frame containing surface, |
||||
* picture parameter, bitstream information etc which are passed |
||||
* between the FFmpeg decoder and its clients. |
||||
*/ |
||||
struct vdpau_render_state { |
||||
VdpVideoSurface surface; ///< Used as rendered surface, never changed.
|
||||
|
||||
int state; ///< Holds FF_VDPAU_STATE_* values.
|
||||
|
||||
int refCount; /// Used by how many client
|
||||
#if AV_HAVE_INCOMPATIBLE_LIBAV_ABI |
||||
/** picture parameter information for all supported codecs */ |
||||
union AVVDPAUPictureInfo info; |
||||
#endif |
||||
|
||||
/** Describe size/location of the compressed video data.
|
||||
Set to 0 when freeing bitstream_buffers. */ |
||||
int bitstream_buffers_allocated; |
||||
int bitstream_buffers_used; |
||||
/** The user is responsible for freeing this buffer using av_freep(). */ |
||||
VdpBitstreamBuffer *bitstream_buffers; |
||||
|
||||
#if !AV_HAVE_INCOMPATIBLE_LIBAV_ABI |
||||
/** picture parameter information for all supported codecs */ |
||||
union AVVDPAUPictureInfo info; |
||||
#endif |
||||
}; |
||||
#endif |
||||
|
||||
/* @}*/ |
||||
|
||||
#endif /* AVCODEC_VDPAU_H */ |
@ -0,0 +1,194 @@
@@ -0,0 +1,194 @@
|
||||
/*
|
||||
* |
||||
* 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_VERSION_H |
||||
#define AVCODEC_VERSION_H |
||||
|
||||
/**
|
||||
* @file |
||||
* @ingroup libavc |
||||
* Libavcodec version macros. |
||||
*/ |
||||
|
||||
#include "libavutil/version.h" |
||||
|
||||
#define LIBAVCODEC_VERSION_MAJOR 56 |
||||
#define LIBAVCODEC_VERSION_MINOR 26 |
||||
#define LIBAVCODEC_VERSION_MICRO 100 |
||||
|
||||
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ |
||||
LIBAVCODEC_VERSION_MINOR, \ |
||||
LIBAVCODEC_VERSION_MICRO) |
||||
#define LIBAVCODEC_VERSION AV_VERSION(LIBAVCODEC_VERSION_MAJOR, \ |
||||
LIBAVCODEC_VERSION_MINOR, \ |
||||
LIBAVCODEC_VERSION_MICRO) |
||||
#define LIBAVCODEC_BUILD LIBAVCODEC_VERSION_INT |
||||
|
||||
#define LIBAVCODEC_IDENT "Lavc" AV_STRINGIFY(LIBAVCODEC_VERSION) |
||||
|
||||
/**
|
||||
* FF_API_* defines may be placed below to indicate public API that will be |
||||
* dropped at a future version bump. The defines themselves are not part of |
||||
* the public API and may change, break or disappear at any time. |
||||
*/ |
||||
|
||||
#ifndef FF_API_VIMA_DECODER |
||||
#define FF_API_VIMA_DECODER (LIBAVCODEC_VERSION_MAJOR < 57) |
||||
#endif |
||||
#ifndef FF_API_REQUEST_CHANNELS |
||||
#define FF_API_REQUEST_CHANNELS (LIBAVCODEC_VERSION_MAJOR < 57) |
||||
#endif |
||||
#ifndef FF_API_OLD_DECODE_AUDIO |
||||
#define FF_API_OLD_DECODE_AUDIO (LIBAVCODEC_VERSION_MAJOR < 57) |
||||
#endif |
||||
#ifndef FF_API_OLD_ENCODE_AUDIO |
||||
#define FF_API_OLD_ENCODE_AUDIO (LIBAVCODEC_VERSION_MAJOR < 57) |
||||
#endif |
||||
#ifndef FF_API_OLD_ENCODE_VIDEO |
||||
#define FF_API_OLD_ENCODE_VIDEO (LIBAVCODEC_VERSION_MAJOR < 57) |
||||
#endif |
||||
#ifndef FF_API_CODEC_ID |
||||
#define FF_API_CODEC_ID (LIBAVCODEC_VERSION_MAJOR < 57) |
||||
#endif |
||||
#ifndef FF_API_AUDIO_CONVERT |
||||
#define FF_API_AUDIO_CONVERT (LIBAVCODEC_VERSION_MAJOR < 57) |
||||
#endif |
||||
#ifndef FF_API_AVCODEC_RESAMPLE |
||||
#define FF_API_AVCODEC_RESAMPLE FF_API_AUDIO_CONVERT |
||||
#endif |
||||
#ifndef FF_API_DEINTERLACE |
||||
#define FF_API_DEINTERLACE (LIBAVCODEC_VERSION_MAJOR < 57) |
||||
#endif |
||||
#ifndef FF_API_DESTRUCT_PACKET |
||||
#define FF_API_DESTRUCT_PACKET (LIBAVCODEC_VERSION_MAJOR < 57) |
||||
#endif |
||||
#ifndef FF_API_GET_BUFFER |
||||
#define FF_API_GET_BUFFER (LIBAVCODEC_VERSION_MAJOR < 57) |
||||
#endif |
||||
#ifndef FF_API_MISSING_SAMPLE |
||||
#define FF_API_MISSING_SAMPLE (LIBAVCODEC_VERSION_MAJOR < 57) |
||||
#endif |
||||
#ifndef FF_API_LOWRES |
||||
#define FF_API_LOWRES (LIBAVCODEC_VERSION_MAJOR < 57) |
||||
#endif |
||||
#ifndef FF_API_CAP_VDPAU |
||||
#define FF_API_CAP_VDPAU (LIBAVCODEC_VERSION_MAJOR < 57) |
||||
#endif |
||||
#ifndef FF_API_BUFS_VDPAU |
||||
#define FF_API_BUFS_VDPAU (LIBAVCODEC_VERSION_MAJOR < 57) |
||||
#endif |
||||
#ifndef FF_API_VOXWARE |
||||
#define FF_API_VOXWARE (LIBAVCODEC_VERSION_MAJOR < 57) |
||||
#endif |
||||
#ifndef FF_API_SET_DIMENSIONS |
||||
#define FF_API_SET_DIMENSIONS (LIBAVCODEC_VERSION_MAJOR < 57) |
||||
#endif |
||||
#ifndef FF_API_DEBUG_MV |
||||
#define FF_API_DEBUG_MV (LIBAVCODEC_VERSION_MAJOR < 57) |
||||
#endif |
||||
#ifndef FF_API_AC_VLC |
||||
#define FF_API_AC_VLC (LIBAVCODEC_VERSION_MAJOR < 57) |
||||
#endif |
||||
#ifndef FF_API_OLD_MSMPEG4 |
||||
#define FF_API_OLD_MSMPEG4 (LIBAVCODEC_VERSION_MAJOR < 57) |
||||
#endif |
||||
#ifndef FF_API_ASPECT_EXTENDED |
||||
#define FF_API_ASPECT_EXTENDED (LIBAVCODEC_VERSION_MAJOR < 57) |
||||
#endif |
||||
#ifndef FF_API_THREAD_OPAQUE |
||||
#define FF_API_THREAD_OPAQUE (LIBAVCODEC_VERSION_MAJOR < 57) |
||||
#endif |
||||
#ifndef FF_API_CODEC_PKT |
||||
#define FF_API_CODEC_PKT (LIBAVCODEC_VERSION_MAJOR < 57) |
||||
#endif |
||||
#ifndef FF_API_ARCH_ALPHA |
||||
#define FF_API_ARCH_ALPHA (LIBAVCODEC_VERSION_MAJOR < 57) |
||||
#endif |
||||
#ifndef FF_API_XVMC |
||||
#define FF_API_XVMC (LIBAVCODEC_VERSION_MAJOR < 57) |
||||
#endif |
||||
#ifndef FF_API_ERROR_RATE |
||||
#define FF_API_ERROR_RATE (LIBAVCODEC_VERSION_MAJOR < 57) |
||||
#endif |
||||
#ifndef FF_API_QSCALE_TYPE |
||||
#define FF_API_QSCALE_TYPE (LIBAVCODEC_VERSION_MAJOR < 57) |
||||
#endif |
||||
#ifndef FF_API_MB_TYPE |
||||
#define FF_API_MB_TYPE (LIBAVCODEC_VERSION_MAJOR < 57) |
||||
#endif |
||||
#ifndef FF_API_MAX_BFRAMES |
||||
#define FF_API_MAX_BFRAMES (LIBAVCODEC_VERSION_MAJOR < 57) |
||||
#endif |
||||
#ifndef FF_API_NEG_LINESIZES |
||||
#define FF_API_NEG_LINESIZES (LIBAVCODEC_VERSION_MAJOR < 57) |
||||
#endif |
||||
#ifndef FF_API_EMU_EDGE |
||||
#define FF_API_EMU_EDGE (LIBAVCODEC_VERSION_MAJOR < 57) |
||||
#endif |
||||
#ifndef FF_API_ARCH_SH4 |
||||
#define FF_API_ARCH_SH4 (LIBAVCODEC_VERSION_MAJOR < 57) |
||||
#endif |
||||
#ifndef FF_API_ARCH_SPARC |
||||
#define FF_API_ARCH_SPARC (LIBAVCODEC_VERSION_MAJOR < 57) |
||||
#endif |
||||
#ifndef FF_API_UNUSED_MEMBERS |
||||
#define FF_API_UNUSED_MEMBERS (LIBAVCODEC_VERSION_MAJOR < 57) |
||||
#endif |
||||
#ifndef FF_API_IDCT_XVIDMMX |
||||
#define FF_API_IDCT_XVIDMMX (LIBAVCODEC_VERSION_MAJOR < 57) |
||||
#endif |
||||
#ifndef FF_API_INPUT_PRESERVED |
||||
#define FF_API_INPUT_PRESERVED (LIBAVCODEC_VERSION_MAJOR < 57) |
||||
#endif |
||||
#ifndef FF_API_NORMALIZE_AQP |
||||
#define FF_API_NORMALIZE_AQP (LIBAVCODEC_VERSION_MAJOR < 57) |
||||
#endif |
||||
#ifndef FF_API_GMC |
||||
#define FF_API_GMC (LIBAVCODEC_VERSION_MAJOR < 57) |
||||
#endif |
||||
#ifndef FF_API_MV0 |
||||
#define FF_API_MV0 (LIBAVCODEC_VERSION_MAJOR < 57) |
||||
#endif |
||||
#ifndef FF_API_CODEC_NAME |
||||
#define FF_API_CODEC_NAME (LIBAVCODEC_VERSION_MAJOR < 57) |
||||
#endif |
||||
#ifndef FF_API_AFD |
||||
#define FF_API_AFD (LIBAVCODEC_VERSION_MAJOR < 57) |
||||
#endif |
||||
#ifndef FF_API_VISMV |
||||
/* XXX: don't forget to drop the -vismv documentation */ |
||||
#define FF_API_VISMV (LIBAVCODEC_VERSION_MAJOR < 57) |
||||
#endif |
||||
#ifndef FF_API_DV_FRAME_PROFILE |
||||
#define FF_API_DV_FRAME_PROFILE (LIBAVCODEC_VERSION_MAJOR < 57) |
||||
#endif |
||||
#ifndef FF_API_AUDIOENC_DELAY |
||||
#define FF_API_AUDIOENC_DELAY (LIBAVCODEC_VERSION_MAJOR < 58) |
||||
#endif |
||||
#ifndef FF_API_AVCTX_TIMEBASE |
||||
#define FF_API_AVCTX_TIMEBASE (LIBAVCODEC_VERSION_MAJOR < 59) |
||||
#endif |
||||
#ifndef FF_API_MPV_OPT |
||||
#define FF_API_MPV_OPT (LIBAVCODEC_VERSION_MAJOR < 59) |
||||
#endif |
||||
#ifndef FF_API_STREAM_CODEC_TAG |
||||
#define FF_API_STREAM_CODEC_TAG (LIBAVCODEC_VERSION_MAJOR < 59) |
||||
#endif |
||||
|
||||
#endif /* AVCODEC_VERSION_H */ |
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,534 @@
@@ -0,0 +1,534 @@
|
||||
/*
|
||||
* copyright (c) 2001 Fabrice Bellard |
||||
* |
||||
* 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 AVFORMAT_AVIO_H |
||||
#define AVFORMAT_AVIO_H |
||||
|
||||
/**
|
||||
* @file |
||||
* @ingroup lavf_io |
||||
* Buffered I/O operations |
||||
*/ |
||||
|
||||
#include <stdint.h> |
||||
|
||||
#include "libavutil/common.h" |
||||
#include "libavutil/dict.h" |
||||
#include "libavutil/log.h" |
||||
|
||||
#include "libavformat/version.h" |
||||
|
||||
|
||||
#define AVIO_SEEKABLE_NORMAL 0x0001 /**< Seeking works like for a local file */ |
||||
|
||||
/**
|
||||
* Callback for checking whether to abort blocking functions. |
||||
* AVERROR_EXIT is returned in this case by the interrupted |
||||
* function. During blocking operations, callback is called with |
||||
* opaque as parameter. If the callback returns 1, the |
||||
* blocking operation will be aborted. |
||||
* |
||||
* No members can be added to this struct without a major bump, if |
||||
* new elements have been added after this struct in AVFormatContext |
||||
* or AVIOContext. |
||||
*/ |
||||
typedef struct AVIOInterruptCB { |
||||
int (*callback)(void*); |
||||
void *opaque; |
||||
} AVIOInterruptCB; |
||||
|
||||
/**
|
||||
* Bytestream IO Context. |
||||
* New fields can be added to the end with minor version bumps. |
||||
* Removal, reordering and changes to existing fields require a major |
||||
* version bump. |
||||
* sizeof(AVIOContext) must not be used outside libav*. |
||||
* |
||||
* @note None of the function pointers in AVIOContext should be called |
||||
* directly, they should only be set by the client application |
||||
* when implementing custom I/O. Normally these are set to the |
||||
* function pointers specified in avio_alloc_context() |
||||
*/ |
||||
typedef struct AVIOContext { |
||||
/**
|
||||
* A class for private options. |
||||
* |
||||
* If this AVIOContext is created by avio_open2(), av_class is set and |
||||
* passes the options down to protocols. |
||||
* |
||||
* If this AVIOContext is manually allocated, then av_class may be set by |
||||
* the caller. |
||||
* |
||||
* warning -- this field can be NULL, be sure to not pass this AVIOContext |
||||
* to any av_opt_* functions in that case. |
||||
*/ |
||||
const AVClass *av_class; |
||||
unsigned char *buffer; /**< Start of the buffer. */ |
||||
int buffer_size; /**< Maximum buffer size */ |
||||
unsigned char *buf_ptr; /**< Current position in the buffer */ |
||||
unsigned char *buf_end; /**< End of the data, may be less than
|
||||
buffer+buffer_size if the read function returned |
||||
less data than requested, e.g. for streams where |
||||
no more data has been received yet. */ |
||||
void *opaque; /**< A private pointer, passed to the read/write/seek/...
|
||||
functions. */ |
||||
int (*read_packet)(void *opaque, uint8_t *buf, int buf_size); |
||||
int (*write_packet)(void *opaque, uint8_t *buf, int buf_size); |
||||
int64_t (*seek)(void *opaque, int64_t offset, int whence); |
||||
int64_t pos; /**< position in the file of the current buffer */ |
||||
int must_flush; /**< true if the next seek should flush */ |
||||
int eof_reached; /**< true if eof reached */ |
||||
int write_flag; /**< true if open for writing */ |
||||
int max_packet_size; |
||||
unsigned long checksum; |
||||
unsigned char *checksum_ptr; |
||||
unsigned long (*update_checksum)(unsigned long checksum, const uint8_t *buf, unsigned int size); |
||||
int error; /**< contains the error code or 0 if no error happened */ |
||||
/**
|
||||
* Pause or resume playback for network streaming protocols - e.g. MMS. |
||||
*/ |
||||
int (*read_pause)(void *opaque, int pause); |
||||
/**
|
||||
* Seek to a given timestamp in stream with the specified stream_index. |
||||
* Needed for some network streaming protocols which don't support seeking |
||||
* to byte position. |
||||
*/ |
||||
int64_t (*read_seek)(void *opaque, int stream_index, |
||||
int64_t timestamp, int flags); |
||||
/**
|
||||
* A combination of AVIO_SEEKABLE_ flags or 0 when the stream is not seekable. |
||||
*/ |
||||
int seekable; |
||||
|
||||
/**
|
||||
* max filesize, used to limit allocations |
||||
* This field is internal to libavformat and access from outside is not allowed. |
||||
*/ |
||||
int64_t maxsize; |
||||
|
||||
/**
|
||||
* avio_read and avio_write should if possible be satisfied directly |
||||
* instead of going through a buffer, and avio_seek will always |
||||
* call the underlying seek function directly. |
||||
*/ |
||||
int direct; |
||||
|
||||
/**
|
||||
* Bytes read statistic |
||||
* This field is internal to libavformat and access from outside is not allowed. |
||||
*/ |
||||
int64_t bytes_read; |
||||
|
||||
/**
|
||||
* seek statistic |
||||
* This field is internal to libavformat and access from outside is not allowed. |
||||
*/ |
||||
int seek_count; |
||||
|
||||
/**
|
||||
* writeout statistic |
||||
* This field is internal to libavformat and access from outside is not allowed. |
||||
*/ |
||||
int writeout_count; |
||||
|
||||
/**
|
||||
* Original buffer size |
||||
* used internally after probing and ensure seekback to reset the buffer size |
||||
* This field is internal to libavformat and access from outside is not allowed. |
||||
*/ |
||||
int orig_buffer_size; |
||||
} AVIOContext; |
||||
|
||||
/* unbuffered I/O */ |
||||
|
||||
/**
|
||||
* Return the name of the protocol that will handle the passed URL. |
||||
* |
||||
* NULL is returned if no protocol could be found for the given URL. |
||||
* |
||||
* @return Name of the protocol or NULL. |
||||
*/ |
||||
const char *avio_find_protocol_name(const char *url); |
||||
|
||||
/**
|
||||
* Return AVIO_FLAG_* access flags corresponding to the access permissions |
||||
* of the resource in url, or a negative value corresponding to an |
||||
* AVERROR code in case of failure. The returned access flags are |
||||
* masked by the value in flags. |
||||
* |
||||
* @note This function is intrinsically unsafe, in the sense that the |
||||
* checked resource may change its existence or permission |