ffmpeg:moved into main for pisi 2.0
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
#!/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Licensed under the GNU General Public License, version 3.
|
||||
# See the file http://www.gnu.org/licenses/gpl.txt
|
||||
|
||||
from pisi.actionsapi import get
|
||||
from pisi.actionsapi import autotools
|
||||
from pisi.actionsapi import pisitools
|
||||
|
||||
def setup():
|
||||
autotools.rawConfigure("--prefix=/usr \
|
||||
--mandir=/usr/share/man \
|
||||
--disable-debug \
|
||||
--disable-static \
|
||||
--disable-stripping \
|
||||
--enable-avfilter \
|
||||
--enable-avresample \
|
||||
--enable-dxva2 \
|
||||
--enable-fontconfig \
|
||||
--enable-gnutls \
|
||||
--enable-gpl \
|
||||
--enable-libass \
|
||||
--enable-libbluray \
|
||||
--enable-libfreetype \
|
||||
--enable-libgsm \
|
||||
--enable-libmodplug \
|
||||
--enable-libmp3lame \
|
||||
--enable-libopencore_amrnb \
|
||||
--enable-libopencore_amrwb \
|
||||
--enable-libopenjpeg \
|
||||
--enable-libopus \
|
||||
--enable-libpulse \
|
||||
--enable-librtmp \
|
||||
--enable-libschroedinger \
|
||||
--enable-libspeex \
|
||||
--enable-libtheora \
|
||||
--enable-libv4l2 \
|
||||
--enable-libvorbis \
|
||||
--enable-libvpx \
|
||||
--enable-libx264 \
|
||||
--enable-libx265 \
|
||||
--enable-libxvid \
|
||||
--enable-pic \
|
||||
--enable-postproc \
|
||||
--enable-runtime-cpudetect \
|
||||
--enable-shared \
|
||||
--enable-swresample \
|
||||
--enable-vdpau \
|
||||
--enable-version3 \
|
||||
--enable-x11grab \
|
||||
--enable-libdc1394 \
|
||||
--enable-libnut \
|
||||
--enable-libcelt \
|
||||
--enable-frei0r \
|
||||
--enable-libcdio \
|
||||
--enable-libvo-aacenc \
|
||||
--enable-libvo-amrwbenc \
|
||||
--enable-nonfree \
|
||||
--enable-libfaac")
|
||||
|
||||
def build():
|
||||
autotools.make()
|
||||
autotools.make('tools/qt-faststart')
|
||||
|
||||
def install():
|
||||
autotools.rawInstall("DESTDIR=%s install-man" % get.installDIR())
|
||||
pisitools.dobin("tools/qt-faststart")
|
||||
pisitools.dodoc("Changelog", "README.md", "LICENSE.md", "COPYING*")
|
||||
@@ -0,0 +1,133 @@
|
||||
--- libavcodec/libx265.c~ 2014-03-23 23:07:50.000000000 +0100
|
||||
+++ libavcodec/libx265.c 2014-04-05 19:28:05.566614823 +0200
|
||||
@@ -38,8 +38,6 @@
|
||||
|
||||
x265_encoder *encoder;
|
||||
x265_param *params;
|
||||
- uint8_t *header;
|
||||
- int header_size;
|
||||
|
||||
char *preset;
|
||||
char *tune;
|
||||
@@ -66,7 +64,6 @@
|
||||
libx265Context *ctx = avctx->priv_data;
|
||||
|
||||
av_frame_free(&avctx->coded_frame);
|
||||
- av_freep(&ctx->header);
|
||||
|
||||
x265_param_free(ctx->params);
|
||||
|
||||
@@ -80,11 +77,8 @@
|
||||
{
|
||||
libx265Context *ctx = avctx->priv_data;
|
||||
x265_nal *nal;
|
||||
- uint8_t *buf;
|
||||
int sar_num, sar_den;
|
||||
int nnal;
|
||||
- int ret;
|
||||
- int i;
|
||||
|
||||
if (avctx->strict_std_compliance > FF_COMPLIANCE_EXPERIMENTAL &&
|
||||
!av_pix_fmt_desc_get(avctx->pix_fmt)->log2_chroma_w &&
|
||||
@@ -121,11 +115,11 @@
|
||||
av_reduce(&sar_num, &sar_den,
|
||||
avctx->sample_aspect_ratio.num,
|
||||
avctx->sample_aspect_ratio.den, 4096);
|
||||
- ctx->params->bEnableVuiParametersPresentFlag = 1;
|
||||
- ctx->params->bEnableAspectRatioIdc = 1;
|
||||
- ctx->params->aspectRatioIdc = 255;
|
||||
- ctx->params->sarWidth = sar_num;
|
||||
- ctx->params->sarHeight = sar_den;
|
||||
+ ctx->params->vui.bEnableVuiParametersPresentFlag = 1;
|
||||
+ ctx->params->vui.bEnableAspectRatioIdc = 1;
|
||||
+ ctx->params->vui.aspectRatioIdc = 255;
|
||||
+ ctx->params->vui.sarWidth = sar_num;
|
||||
+ ctx->params->vui.sarHeight = sar_den;
|
||||
|
||||
if (x265_max_bit_depth == 8)
|
||||
ctx->params->internalBitDepth = 8;
|
||||
@@ -148,6 +142,9 @@
|
||||
ctx->params->rc.rateControlMode = X265_RC_ABR;
|
||||
}
|
||||
|
||||
+ if (!(avctx->flags & CODEC_FLAG_GLOBAL_HEADER))
|
||||
+ ctx->params->bRepeatHeaders = 1;
|
||||
+
|
||||
if (ctx->x265_opts) {
|
||||
AVDictionary *dict = NULL;
|
||||
AVDictionaryEntry *en = NULL;
|
||||
@@ -180,35 +177,23 @@
|
||||
return AVERROR_INVALIDDATA;
|
||||
}
|
||||
|
||||
- ret = x265_encoder_headers(ctx->encoder, &nal, &nnal);
|
||||
- if (ret < 0) {
|
||||
- av_log(avctx, AV_LOG_ERROR, "Cannot encode headers.\n");
|
||||
- libx265_encode_close(avctx);
|
||||
- return AVERROR_INVALIDDATA;
|
||||
- }
|
||||
-
|
||||
- for (i = 0; i < nnal; i++)
|
||||
- ctx->header_size += nal[i].sizeBytes;
|
||||
-
|
||||
- ctx->header = av_malloc(ctx->header_size + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
- if (!ctx->header) {
|
||||
- av_log(avctx, AV_LOG_ERROR,
|
||||
- "Cannot allocate HEVC header of size %d.\n", ctx->header_size);
|
||||
- libx265_encode_close(avctx);
|
||||
- return AVERROR(ENOMEM);
|
||||
- }
|
||||
+ if (avctx->flags & CODEC_FLAG_GLOBAL_HEADER) {
|
||||
+ avctx->extradata_size = x265_encoder_headers(ctx->encoder, &nal, &nnal);
|
||||
+ if (avctx->extradata_size <= 0) {
|
||||
+ av_log(avctx, AV_LOG_ERROR, "Cannot encode headers.\n");
|
||||
+ libx265_encode_close(avctx);
|
||||
+ return AVERROR_INVALIDDATA;
|
||||
+ }
|
||||
|
||||
- buf = ctx->header;
|
||||
- for (i = 0; i < nnal; i++) {
|
||||
- memcpy(buf, nal[i].payload, nal[i].sizeBytes);
|
||||
- buf += nal[i].sizeBytes;
|
||||
- }
|
||||
+ avctx->extradata = av_malloc(avctx->extradata_size + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
+ if (!avctx->extradata) {
|
||||
+ av_log(avctx, AV_LOG_ERROR,
|
||||
+ "Cannot allocate HEVC header of size %d.\n", avctx->extradata_size);
|
||||
+ libx265_encode_close(avctx);
|
||||
+ return AVERROR(ENOMEM);
|
||||
+ }
|
||||
|
||||
- if (avctx->flags & CODEC_FLAG_GLOBAL_HEADER) {
|
||||
- avctx->extradata_size = ctx->header_size;
|
||||
- avctx->extradata = ctx->header;
|
||||
- ctx->header_size = 0;
|
||||
- ctx->header = NULL;
|
||||
+ memcpy(avctx->extradata, nal[0].payload, avctx->extradata_size);
|
||||
}
|
||||
|
||||
return 0;
|
||||
@@ -250,8 +235,6 @@
|
||||
for (i = 0; i < nnal; i++)
|
||||
payload += nal[i].sizeBytes;
|
||||
|
||||
- payload += ctx->header_size;
|
||||
-
|
||||
ret = ff_alloc_packet(pkt, payload);
|
||||
if (ret < 0) {
|
||||
av_log(avctx, AV_LOG_ERROR, "Error getting output packet.\n");
|
||||
@@ -259,14 +242,6 @@
|
||||
}
|
||||
dst = pkt->data;
|
||||
|
||||
- if (ctx->header) {
|
||||
- memcpy(dst, ctx->header, ctx->header_size);
|
||||
- dst += ctx->header_size;
|
||||
-
|
||||
- av_freep(&ctx->header);
|
||||
- ctx->header_size = 0;
|
||||
- }
|
||||
-
|
||||
for (i = 0; i < nnal; i++) {
|
||||
memcpy(dst, nal[i].payload, nal[i].sizeBytes);
|
||||
dst += nal[i].sizeBytes;
|
||||
@@ -0,0 +1,215 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
|
||||
<PISI>
|
||||
<Source>
|
||||
<Name>ffmpeg</Name>
|
||||
<Homepage>http://ffmpeg.org</Homepage>
|
||||
<Packager>
|
||||
<Name>PisiLinux Community</Name>
|
||||
<Email>admins@pisilinux.org</Email>
|
||||
</Packager>
|
||||
<License>GPLv2</License>
|
||||
<License>GPLv3</License>
|
||||
<License>LGPLv2</License>
|
||||
<License>LGPLv3</License>
|
||||
<IsA>app:console</IsA>
|
||||
<Summary>A command-line tool to record, convert and stream audio and video</Summary>
|
||||
<Description>FFmpeg is a complete solution to record, convert and stream audio and video.</Description>
|
||||
<Archive sha1sum="ec0111e8298bdb2291d82e3b4f67354ba48fab19" type="tarbz2">http://ffmpeg.org/releases/ffmpeg-2.5.tar.bz2</Archive>
|
||||
<BuildDependencies>
|
||||
<Dependency>freetype-devel</Dependency>
|
||||
<Dependency>faac-devel</Dependency>
|
||||
<Dependency>lame-devel</Dependency>
|
||||
<Dependency>x264-devel</Dependency>
|
||||
<Dependency>libva-devel</Dependency>
|
||||
<Dependency>libsdl-devel</Dependency>
|
||||
<Dependency>libvpx-devel</Dependency>
|
||||
<Dependency>libass-devel</Dependency>
|
||||
<Dependency>libopus-devel</Dependency>
|
||||
<Dependency>alsa-lib-devel</Dependency>
|
||||
<Dependency>libvdpau-devel</Dependency>
|
||||
<Dependency>libtheora-devel</Dependency>
|
||||
<Dependency>libvorbis-devel</Dependency>
|
||||
<Dependency>gnutls-devel</Dependency>
|
||||
<Dependency>celt-devel</Dependency>
|
||||
<Dependency>gsm-devel</Dependency>
|
||||
<Dependency>libbluray-devel</Dependency>
|
||||
<Dependency>opencore-amr-devel</Dependency>
|
||||
<Dependency>libmodplug-devel</Dependency>
|
||||
<Dependency>pulseaudio-libs-devel</Dependency>
|
||||
<Dependency>openjpeg-devel</Dependency>
|
||||
<Dependency>frei0r-plugins-devel</Dependency>
|
||||
<Dependency>rtmpdump-devel</Dependency>
|
||||
<Dependency>schroedinger-devel</Dependency>
|
||||
<Dependency>speex-devel</Dependency>
|
||||
<Dependency>libv4l-devel</Dependency>
|
||||
<Dependency>libvo-amrwbenc-devel</Dependency>
|
||||
<Dependency>xvid-devel</Dependency>
|
||||
<Dependency>libdc1394-devel</Dependency>
|
||||
<Dependency>libnut-devel</Dependency>
|
||||
<Dependency>libcdio-paranoia-devel</Dependency>
|
||||
<Dependency>libXv-devel</Dependency>
|
||||
</BuildDependencies>
|
||||
<!--<Patches>
|
||||
<Patch>fix_build_x265.patch</Patch>
|
||||
</Patches>-->
|
||||
</Source>
|
||||
|
||||
<Package>
|
||||
<Name>ffmpeg</Name>
|
||||
<RuntimeDependencies>
|
||||
<Dependency>gsm</Dependency>
|
||||
<Dependency>celt</Dependency>
|
||||
<Dependency>faac</Dependency>
|
||||
<Dependency>lame</Dependency>
|
||||
<Dependency>x264</Dependency>
|
||||
<Dependency>xvid</Dependency>
|
||||
<Dependency>zlib</Dependency>
|
||||
<Dependency>bzip2</Dependency>
|
||||
<Dependency>speex</Dependency>
|
||||
<Dependency>libva</Dependency>
|
||||
<Dependency>libXv</Dependency>
|
||||
<Dependency>gnutls</Dependency>
|
||||
<Dependency>libX11</Dependency>
|
||||
<Dependency>libnut</Dependency>
|
||||
<Dependency>libsdl</Dependency>
|
||||
<Dependency>libv4l</Dependency>
|
||||
<Dependency>libxcb</Dependency>
|
||||
<Dependency>libass</Dependency>
|
||||
<Dependency>libopus</Dependency>
|
||||
<Dependency>libXext</Dependency>
|
||||
<Dependency>alsa-lib</Dependency>
|
||||
<Dependency>freetype</Dependency>
|
||||
<Dependency>libvdpau</Dependency>
|
||||
<Dependency>openjpeg</Dependency>
|
||||
<Dependency>rtmpdump</Dependency>
|
||||
<Dependency>libbluray</Dependency>
|
||||
<Dependency>libdc1394</Dependency>
|
||||
<Dependency>libtheora</Dependency>
|
||||
<Dependency>libvorbis</Dependency>
|
||||
<Dependency>fontconfig</Dependency>
|
||||
<Dependency>libmodplug</Dependency>
|
||||
<Dependency>libvo-aacenc</Dependency>
|
||||
<Dependency>opencore-amr</Dependency>
|
||||
<Dependency>schroedinger</Dependency>
|
||||
<Dependency>libvo-amrwbenc</Dependency>
|
||||
<Dependency>pulseaudio-libs</Dependency>
|
||||
<Dependency>libcdio-paranoia</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="config">/etc</Path>
|
||||
<Path fileType="executable">/usr/bin</Path>
|
||||
<Path fileType="library">/usr/lib</Path>
|
||||
<Path fileType="doc">/usr/share/doc</Path>
|
||||
<Path fileType="man">/usr/share/man</Path>
|
||||
<Path fileType="data">/usr/share/ffmpeg</Path>
|
||||
</Files>
|
||||
</Package>
|
||||
|
||||
<Package>
|
||||
<Name>ffmpeg-devel</Name>
|
||||
<Summary>Development files for ffmpeg</Summary>
|
||||
<RuntimeDependencies>
|
||||
<Dependency release="current">ffmpeg</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="header">/usr/include</Path>
|
||||
<Path fileType="data">/usr/lib/pkgconfig</Path>
|
||||
</Files>
|
||||
</Package>
|
||||
|
||||
|
||||
<History>
|
||||
<Update release="13">
|
||||
<Date>2014-12-13</Date>
|
||||
<Version>2.5</Version>
|
||||
<Comment>Version bump.</Comment>
|
||||
<Name>Yusuf Aydemir</Name>
|
||||
<Email>yusuf.aydemir@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="12">
|
||||
<Date>2014-12-05</Date>
|
||||
<Version>2.5</Version>
|
||||
<Comment>Version bump.</Comment>
|
||||
<Name>Stefan Gronewold(groni)</Name>
|
||||
<Email>groni@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="11">
|
||||
<Date>2014-06-24</Date>
|
||||
<Version>2.2.4</Version>
|
||||
<Comment>Version bump.</Comment>
|
||||
<Name>Vedat Demir</Name>
|
||||
<Email>vedat@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="10">
|
||||
<Date>2014-06-04</Date>
|
||||
<Version>2.2.3</Version>
|
||||
<Comment>Version bump.</Comment>
|
||||
<Name>Vedat Demir</Name>
|
||||
<Email>vedat@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="9">
|
||||
<Date>2014-05-21</Date>
|
||||
<Version>2.2.2</Version>
|
||||
<Comment>Version bump.</Comment>
|
||||
<Name>Ertuğrul Erata</Name>
|
||||
<Email>ertugrulerata@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="8">
|
||||
<Date>2014-04-05</Date>
|
||||
<Version>2.2</Version>
|
||||
<Comment>Version bump.</Comment>
|
||||
<Name>Marcin Bojara</Name>
|
||||
<Email>marcin@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="7">
|
||||
<Date>2013-11-27</Date>
|
||||
<Version>2.1.1</Version>
|
||||
<Comment>fix dep</Comment>
|
||||
<Name>Kamil Atlı</Name>
|
||||
<Email>suvarice@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="6">
|
||||
<Date>2013-11-24</Date>
|
||||
<Version>2.1.1</Version>
|
||||
<Comment>Version bump</Comment>
|
||||
<Name>Stefan Gronewold(groni)</Name>
|
||||
<Email>groni@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="5">
|
||||
<Date>2013-07-28</Date>
|
||||
<Version>1.2.1</Version>
|
||||
<Comment>missing dep.</Comment>
|
||||
<Name>Erdinç Gültekin</Name>
|
||||
<Email>erdincgultekin@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="4">
|
||||
<Date>2013-07-06</Date>
|
||||
<Version>1.2.1</Version>
|
||||
<Comment>Version bump.</Comment>
|
||||
<Name>Marcin Bojara</Name>
|
||||
<Email>marcin@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="3">
|
||||
<Date>2013-01-25</Date>
|
||||
<Version>1.1.1</Version>
|
||||
<Comment>Fixed.</Comment>
|
||||
<Name>PisiLinux Community</Name>
|
||||
<Email>admins@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="2" type="security">
|
||||
<Date>2013-01-26</Date>
|
||||
<Version>1.1.1</Version>
|
||||
<Comment>Version bump to 1.1.1</Comment>
|
||||
<Name>Idris Kalp</Name>
|
||||
<Email>admins@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="1" type="security">
|
||||
<Date>2012-09-29</Date>
|
||||
<Version>1.0</Version>
|
||||
<Comment>First release</Comment>
|
||||
<Name>Erdem Artan</Name>
|
||||
<Email>admins@pisilinux.org</Email>
|
||||
</Update>
|
||||
</History>
|
||||
</PISI>
|
||||
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" ?>
|
||||
<PISI>
|
||||
<Source>
|
||||
<Name>ffmpeg</Name>
|
||||
<Summary xml:lang="tr">FFmpeg ses ve görüntü dosyalarını kaydedebilen, dönüştürebilen ve açabilen yazılımdır</Summary>
|
||||
<Summary xml:lang="pl">FFmpeg to kompletne rozwiązanie nagrywania, konwersji i transmisji strumieni dźwięku i obrazu</Summary>
|
||||
<Description xml:lang="tr">FFmpeg ses ve görüntü dosyalarını kaydedebilen,dönüştürebilen ve açabilen komple bir çözüm. libavcodec ve birçok popüler ses/görüntü codeclerini içerir.</Description>
|
||||
<Description xml:lang="pl">FFmpeg to kompletne rozwiązanie nagrywania, konwersji i transmisji strumieni dźwięku i obrazu. Jest to działające z linii poleceń narzędzie do konwersji obrazu z jednego formatu do innego. Obsługuje także przechwytywanie i kodowanie w czasie rzeczywistym z karty telewizyjnej.</Description>
|
||||
</Source>
|
||||
|
||||
<Package>
|
||||
<Name>ffmpeg-devel</Name>
|
||||
<Summary xml:lang="tr">ffmpeg için geliştirme dosyaları</Summary>
|
||||
<Summary xml:lang="pl">Pliki nagłówkowe ffmpeg</Summary>
|
||||
</Package>
|
||||
</PISI>
|
||||
Reference in New Issue
Block a user