diff --git a/multimedia/video/ffmpeg/actions.py b/multimedia/video/ffmpeg/actions.py
index af656b3ab4..e156567e3f 100644
--- a/multimedia/video/ffmpeg/actions.py
+++ b/multimedia/video/ffmpeg/actions.py
@@ -54,7 +54,6 @@ def setup():
--enable-libcelt \
--enable-frei0r \
--enable-libcdio \
- --enable-libvo-aacenc \
--enable-libvo-amrwbenc \
--enable-nonfree \
--enable-libfaac")
@@ -62,6 +61,7 @@ def setup():
def build():
autotools.make()
autotools.make('tools/qt-faststart')
+ autotools.make("doc/ff{mpeg,play,server}.1")
def install():
autotools.rawInstall("DESTDIR=%s install-man" % get.installDIR())
diff --git a/multimedia/video/ffmpeg/pspec.xml b/multimedia/video/ffmpeg/pspec.xml
index 00083bac02..53b5ca0e12 100644
--- a/multimedia/video/ffmpeg/pspec.xml
+++ b/multimedia/video/ffmpeg/pspec.xml
@@ -15,7 +15,7 @@
app:console
A command-line tool to record, convert and stream audio and video
FFmpeg is a complete solution to record, convert and stream audio and video.
- http://ffmpeg.org/releases/ffmpeg-2.8.6.tar.bz2
+ http://ffmpeg.org/releases/ffmpeg-3.0.2.tar.xz
freetype-devel
faac-devel
@@ -43,6 +43,7 @@
rtmpdump-devel
schroedinger-devel
speex-devel
+ yasm-devel
libv4l-devel
libvo-amrwbenc-devel
libvo-aacenc-devel
@@ -124,6 +125,13 @@
+
+ 2016-06-12
+ 3.0.2
+ Version Bump
+ Pisi Linux Community
+ admin@pisilinux.org
+
2016-06-09
2.8.6
diff --git a/multimedia/video/libvpx/actions.py b/multimedia/video/libvpx/actions.py
index 109f8cb1a5..ee74e953fe 100644
--- a/multimedia/video/libvpx/actions.py
+++ b/multimedia/video/libvpx/actions.py
@@ -9,29 +9,26 @@ from pisi.actionsapi import pisitools
from pisi.actionsapi import shelltools
from pisi.actionsapi import get
-#WorkDir = "libvpx"
-# libdir = "lib64" if get.ARCH() == "x86_64" else "lib"
libdir = "lib"
def setup():
- shelltools.export("LC_ALL", "en_US.UTF-8")
- shelltools.export("CFLAGS", get.CFLAGS().replace("-ggdb3", ""))
-
autotools.rawConfigure("--prefix=/usr \
--libdir=/usr/%s \
--enable-pic \
--enable-vp8 \
+ --enable-vp9 \
+ --enable-vp9-highbitdepth \
--enable-shared \
--enable-runtime-cpu-detect \
--enable-postproc \
- --enable-multithread \
+ --enable-experimental \
+ --enable-spatial-svc \
--disable-install-docs \
- --disable-debug \
- --disable-debug-libs" % libdir)
+ --disable-install-srcs" % libdir)
def build():
- autotools.make("verbose=true")
+ autotools.make()
def install():
autotools.rawInstall("DESTDIR=%s" % get.installDIR())
diff --git a/multimedia/video/libvpx/files/0001-Fix-for-issue-1114-compile-error.patch b/multimedia/video/libvpx/files/0001-Fix-for-issue-1114-compile-error.patch
new file mode 100644
index 0000000000..75de1036a1
--- /dev/null
+++ b/multimedia/video/libvpx/files/0001-Fix-for-issue-1114-compile-error.patch
@@ -0,0 +1,316 @@
+From 7361ef732b432e153496c30da66081d7e530c7f6 Mon Sep 17 00:00:00 2001
+From: Peter de Rivaz
+Date: Mon, 14 Dec 2015 16:35:29 +0000
+Subject: [PATCH] Fix for issue 1114 compile error
+
+In 32-bit build with --enable-shared, there is a lot of
+register pressure and register src_strideq is reused.
+The code needs to use the stack based version of src_stride,
+but this doesn't compile when used in an lea instruction.
+
+This patch also fixes a related segmentation fault caused by the
+implementation using src_strideq even though it has been
+reused.
+
+This patch also fixes the HBD subpel variance tests that fail
+when compiled without disable-optimizations.
+These failures were caused by local variables in the assembler
+routines colliding with the caller's stack frame.
+
+Change-Id: Ice9d4dafdcbdc6038ad5ee7c1c09a8f06deca362
+---
+ vpx_dsp/x86/highbd_subpel_variance_impl_sse2.asm | 18 +++----
+ vpx_dsp/x86/highbd_variance_sse2.c | 64 ++++++++++++++----------
+ 2 files changed, 44 insertions(+), 38 deletions(-)
+
+diff --git a/vpx_dsp/x86/highbd_subpel_variance_impl_sse2.asm b/vpx_dsp/x86/highbd_subpel_variance_impl_sse2.asm
+index 22d52a2..30ee81b 100644
+--- a/vpx_dsp/x86/highbd_subpel_variance_impl_sse2.asm
++++ b/vpx_dsp/x86/highbd_subpel_variance_impl_sse2.asm
+@@ -79,20 +79,13 @@ SECTION .text
+
+ %macro INC_SRC_BY_SRC_STRIDE 0
+ %if ARCH_X86=1 && CONFIG_PIC=1
+- lea srcq, [srcq + src_stridemp*2]
++ add srcq, src_stridemp
++ add srcq, src_stridemp
+ %else
+ lea srcq, [srcq + src_strideq*2]
+ %endif
+ %endmacro
+
+-%macro INC_SRC_BY_SRC_2STRIDE 0
+-%if ARCH_X86=1 && CONFIG_PIC=1
+- lea srcq, [srcq + src_stridemp*4]
+-%else
+- lea srcq, [srcq + src_strideq*4]
+-%endif
+-%endmacro
+-
+ %macro SUBPEL_VARIANCE 1-2 0 ; W
+ %define bilin_filter_m bilin_filter_m_sse2
+ %define filter_idx_shift 5
+@@ -984,8 +977,9 @@ SECTION .text
+ .x_other_y_other_loop:
+ movu m2, [srcq]
+ movu m4, [srcq+2]
+- movu m3, [srcq+src_strideq*2]
+- movu m5, [srcq+src_strideq*2+2]
++ INC_SRC_BY_SRC_STRIDE
++ movu m3, [srcq]
++ movu m5, [srcq+2]
+ pmullw m2, filter_x_a
+ pmullw m4, filter_x_b
+ paddw m2, filter_rnd
+@@ -1018,7 +1012,7 @@ SECTION .text
+ SUM_SSE m0, m2, m4, m3, m6, m7
+ mova m0, m5
+
+- INC_SRC_BY_SRC_2STRIDE
++ INC_SRC_BY_SRC_STRIDE
+ lea dstq, [dstq + dst_strideq * 4]
+ %if %2 == 1 ; avg
+ add secq, sec_str
+diff --git a/vpx_dsp/x86/highbd_variance_sse2.c b/vpx_dsp/x86/highbd_variance_sse2.c
+index b45331c..81ec5db 100644
+--- a/vpx_dsp/x86/highbd_variance_sse2.c
++++ b/vpx_dsp/x86/highbd_variance_sse2.c
+@@ -243,13 +243,18 @@ unsigned int vpx_highbd_12_mse8x8_sse2(const uint8_t *src8, int src_stride,
+ }
+
+ #if CONFIG_USE_X86INC
++// The 2 unused parameters are place holders for PIC enabled build.
++// These definitions are for functions defined in
++// highbd_subpel_variance_impl_sse2.asm
+ #define DECL(w, opt) \
+ int vpx_highbd_sub_pixel_variance##w##xh_##opt(const uint16_t *src, \
+ ptrdiff_t src_stride, \
+ int x_offset, int y_offset, \
+ const uint16_t *dst, \
+ ptrdiff_t dst_stride, \
+- int height, unsigned int *sse);
++ int height, \
++ unsigned int *sse, \
++ void *unused0, void *unused);
+ #define DECLS(opt1, opt2) \
+ DECL(8, opt1); \
+ DECL(16, opt1)
+@@ -274,7 +279,7 @@ uint32_t vpx_highbd_8_sub_pixel_variance##w##x##h##_##opt(const uint8_t *src8, \
+ int se = vpx_highbd_sub_pixel_variance##wf##xh_##opt(src, src_stride, \
+ x_offset, y_offset, \
+ dst, dst_stride, h, \
+- &sse); \
++ &sse, NULL, NULL); \
+ if (w > wf) { \
+ unsigned int sse2; \
+ int se2 = vpx_highbd_sub_pixel_variance##wf##xh_##opt(src + 16, \
+@@ -282,19 +287,20 @@ uint32_t vpx_highbd_8_sub_pixel_variance##w##x##h##_##opt(const uint8_t *src8, \
+ x_offset, y_offset, \
+ dst + 16, \
+ dst_stride, \
+- h, &sse2); \
++ h, &sse2, \
++ NULL, NULL); \
+ se += se2; \
+ sse += sse2; \
+ if (w > wf * 2) { \
+ se2 = vpx_highbd_sub_pixel_variance##wf##xh_##opt(src + 32, src_stride, \
+ x_offset, y_offset, \
+ dst + 32, dst_stride, \
+- h, &sse2); \
++ h, &sse2, NULL, NULL); \
+ se += se2; \
+ sse += sse2; \
+ se2 = vpx_highbd_sub_pixel_variance##wf##xh_##opt( \
+ src + 48, src_stride, x_offset, y_offset, \
+- dst + 48, dst_stride, h, &sse2); \
++ dst + 48, dst_stride, h, &sse2, NULL, NULL); \
+ se += se2; \
+ sse += sse2; \
+ } \
+@@ -312,7 +318,7 @@ uint32_t vpx_highbd_10_sub_pixel_variance##w##x##h##_##opt( \
+ int se = vpx_highbd_sub_pixel_variance##wf##xh_##opt(src, src_stride, \
+ x_offset, y_offset, \
+ dst, dst_stride, \
+- h, &sse); \
++ h, &sse, NULL, NULL); \
+ if (w > wf) { \
+ uint32_t sse2; \
+ int se2 = vpx_highbd_sub_pixel_variance##wf##xh_##opt(src + 16, \
+@@ -320,20 +326,21 @@ uint32_t vpx_highbd_10_sub_pixel_variance##w##x##h##_##opt( \
+ x_offset, y_offset, \
+ dst + 16, \
+ dst_stride, \
+- h, &sse2); \
++ h, &sse2, \
++ NULL, NULL); \
+ se += se2; \
+ sse += sse2; \
+ if (w > wf * 2) { \
+ se2 = vpx_highbd_sub_pixel_variance##wf##xh_##opt(src + 32, src_stride, \
+ x_offset, y_offset, \
+ dst + 32, dst_stride, \
+- h, &sse2); \
++ h, &sse2, NULL, NULL); \
+ se += se2; \
+ sse += sse2; \
+ se2 = vpx_highbd_sub_pixel_variance##wf##xh_##opt(src + 48, src_stride, \
+ x_offset, y_offset, \
+ dst + 48, dst_stride, \
+- h, &sse2); \
++ h, &sse2, NULL, NULL); \
+ se += se2; \
+ sse += sse2; \
+ } \
+@@ -359,27 +366,27 @@ uint32_t vpx_highbd_12_sub_pixel_variance##w##x##h##_##opt( \
+ int se2 = vpx_highbd_sub_pixel_variance##wf##xh_##opt( \
+ src + (start_row * src_stride), src_stride, \
+ x_offset, y_offset, dst + (start_row * dst_stride), \
+- dst_stride, height, &sse2); \
++ dst_stride, height, &sse2, NULL, NULL); \
+ se += se2; \
+ long_sse += sse2; \
+ if (w > wf) { \
+ se2 = vpx_highbd_sub_pixel_variance##wf##xh_##opt( \
+ src + 16 + (start_row * src_stride), src_stride, \
+ x_offset, y_offset, dst + 16 + (start_row * dst_stride), \
+- dst_stride, height, &sse2); \
++ dst_stride, height, &sse2, NULL, NULL); \
+ se += se2; \
+ long_sse += sse2; \
+ if (w > wf * 2) { \
+ se2 = vpx_highbd_sub_pixel_variance##wf##xh_##opt( \
+ src + 32 + (start_row * src_stride), src_stride, \
+ x_offset, y_offset, dst + 32 + (start_row * dst_stride), \
+- dst_stride, height, &sse2); \
++ dst_stride, height, &sse2, NULL, NULL); \
+ se += se2; \
+ long_sse += sse2; \
+ se2 = vpx_highbd_sub_pixel_variance##wf##xh_##opt( \
+ src + 48 + (start_row * src_stride), src_stride, \
+ x_offset, y_offset, dst + 48 + (start_row * dst_stride), \
+- dst_stride, height, &sse2); \
++ dst_stride, height, &sse2, NULL, NULL); \
+ se += se2; \
+ long_sse += sse2; \
+ }\
+@@ -410,6 +417,7 @@ FNS(sse2, sse);
+ #undef FNS
+ #undef FN
+
++// The 2 unused parameters are place holders for PIC enabled build.
+ #define DECL(w, opt) \
+ int vpx_highbd_sub_pixel_avg_variance##w##xh_##opt(const uint16_t *src, \
+ ptrdiff_t src_stride, \
+@@ -419,7 +427,8 @@ int vpx_highbd_sub_pixel_avg_variance##w##xh_##opt(const uint16_t *src, \
+ const uint16_t *sec, \
+ ptrdiff_t sec_stride, \
+ int height, \
+- unsigned int *sse);
++ unsigned int *sse, \
++ void *unused0, void *unused);
+ #define DECLS(opt1) \
+ DECL(16, opt1) \
+ DECL(8, opt1)
+@@ -439,23 +448,23 @@ uint32_t vpx_highbd_8_sub_pixel_avg_variance##w##x##h##_##opt( \
+ uint16_t *sec = CONVERT_TO_SHORTPTR(sec8); \
+ int se = vpx_highbd_sub_pixel_avg_variance##wf##xh_##opt( \
+ src, src_stride, x_offset, \
+- y_offset, dst, dst_stride, sec, w, h, &sse); \
++ y_offset, dst, dst_stride, sec, w, h, &sse, NULL, NULL); \
+ if (w > wf) { \
+ uint32_t sse2; \
+ int se2 = vpx_highbd_sub_pixel_avg_variance##wf##xh_##opt( \
+ src + 16, src_stride, x_offset, y_offset, \
+- dst + 16, dst_stride, sec + 16, w, h, &sse2); \
++ dst + 16, dst_stride, sec + 16, w, h, &sse2, NULL, NULL); \
+ se += se2; \
+ sse += sse2; \
+ if (w > wf * 2) { \
+ se2 = vpx_highbd_sub_pixel_avg_variance##wf##xh_##opt( \
+ src + 32, src_stride, x_offset, y_offset, \
+- dst + 32, dst_stride, sec + 32, w, h, &sse2); \
++ dst + 32, dst_stride, sec + 32, w, h, &sse2, NULL, NULL); \
+ se += se2; \
+ sse += sse2; \
+ se2 = vpx_highbd_sub_pixel_avg_variance##wf##xh_##opt( \
+ src + 48, src_stride, x_offset, y_offset, \
+- dst + 48, dst_stride, sec + 48, w, h, &sse2); \
++ dst + 48, dst_stride, sec + 48, w, h, &sse2, NULL, NULL); \
+ se += se2; \
+ sse += sse2; \
+ } \
+@@ -475,14 +484,15 @@ uint32_t vpx_highbd_10_sub_pixel_avg_variance##w##x##h##_##opt( \
+ int se = vpx_highbd_sub_pixel_avg_variance##wf##xh_##opt( \
+ src, src_stride, x_offset, \
+ y_offset, dst, dst_stride, \
+- sec, w, h, &sse); \
++ sec, w, h, &sse, NULL, NULL); \
+ if (w > wf) { \
+ uint32_t sse2; \
+ int se2 = vpx_highbd_sub_pixel_avg_variance##wf##xh_##opt( \
+ src + 16, src_stride, \
+ x_offset, y_offset, \
+ dst + 16, dst_stride, \
+- sec + 16, w, h, &sse2); \
++ sec + 16, w, h, &sse2, \
++ NULL, NULL); \
+ se += se2; \
+ sse += sse2; \
+ if (w > wf * 2) { \
+@@ -490,14 +500,16 @@ uint32_t vpx_highbd_10_sub_pixel_avg_variance##w##x##h##_##opt( \
+ src + 32, src_stride, \
+ x_offset, y_offset, \
+ dst + 32, dst_stride, \
+- sec + 32, w, h, &sse2); \
++ sec + 32, w, h, &sse2, \
++ NULL, NULL); \
+ se += se2; \
+ sse += sse2; \
+ se2 = vpx_highbd_sub_pixel_avg_variance##wf##xh_##opt( \
+ src + 48, src_stride, \
+ x_offset, y_offset, \
+ dst + 48, dst_stride, \
+- sec + 48, w, h, &sse2); \
++ sec + 48, w, h, &sse2, \
++ NULL, NULL); \
+ se += se2; \
+ sse += sse2; \
+ } \
+@@ -525,7 +537,7 @@ uint32_t vpx_highbd_12_sub_pixel_avg_variance##w##x##h##_##opt( \
+ int se2 = vpx_highbd_sub_pixel_avg_variance##wf##xh_##opt( \
+ src + (start_row * src_stride), src_stride, x_offset, \
+ y_offset, dst + (start_row * dst_stride), dst_stride, \
+- sec + (start_row * w), w, height, &sse2); \
++ sec + (start_row * w), w, height, &sse2, NULL, NULL); \
+ se += se2; \
+ long_sse += sse2; \
+ if (w > wf) { \
+@@ -533,7 +545,7 @@ uint32_t vpx_highbd_12_sub_pixel_avg_variance##w##x##h##_##opt( \
+ src + 16 + (start_row * src_stride), src_stride, \
+ x_offset, y_offset, \
+ dst + 16 + (start_row * dst_stride), dst_stride, \
+- sec + 16 + (start_row * w), w, height, &sse2); \
++ sec + 16 + (start_row * w), w, height, &sse2, NULL, NULL); \
+ se += se2; \
+ long_sse += sse2; \
+ if (w > wf * 2) { \
+@@ -541,14 +553,14 @@ uint32_t vpx_highbd_12_sub_pixel_avg_variance##w##x##h##_##opt( \
+ src + 32 + (start_row * src_stride), src_stride, \
+ x_offset, y_offset, \
+ dst + 32 + (start_row * dst_stride), dst_stride, \
+- sec + 32 + (start_row * w), w, height, &sse2); \
++ sec + 32 + (start_row * w), w, height, &sse2, NULL, NULL); \
+ se += se2; \
+ long_sse += sse2; \
+ se2 = vpx_highbd_sub_pixel_avg_variance##wf##xh_##opt( \
+ src + 48 + (start_row * src_stride), src_stride, \
+ x_offset, y_offset, \
+ dst + 48 + (start_row * dst_stride), dst_stride, \
+- sec + 48 + (start_row * w), w, height, &sse2); \
++ sec + 48 + (start_row * w), w, height, &sse2, NULL, NULL); \
+ se += se2; \
+ long_sse += sse2; \
+ } \
+--
+2.7.0
\ No newline at end of file
diff --git a/multimedia/video/libvpx/pspec.xml b/multimedia/video/libvpx/pspec.xml
index 1252c0ad3f..1cf84b4306 100644
--- a/multimedia/video/libvpx/pspec.xml
+++ b/multimedia/video/libvpx/pspec.xml
@@ -13,16 +13,21 @@
library
WebM VP8 Codec SDK
libvpx is the VP8 development library usually used in WebM and similiar formats.
- http://storage.googleapis.com/downloads.webmproject.org/releases/webm/libvpx-1.4.0.tar.bz2
+ https://github.com/webmproject/libvpx/archive/v1.5.0.tar.gz
libgcc
+ yasm-devel
+ 0001-Fix-for-issue-1114-compile-error.patch
libvpx
+
+ libgcc
+
/usr/bin
/usr/lib
@@ -43,6 +48,13 @@
+
+ 2016-06-12
+ 1.5.0
+ Version Bump
+ Pisi Linux Community
+ admin@pisilinux.org
+
2016-06-09
1.4.0
diff --git a/multimedia/video/x264/pspec.xml b/multimedia/video/x264/pspec.xml
index c0799a3e4d..65af4d817b 100644
--- a/multimedia/video/x264/pspec.xml
+++ b/multimedia/video/x264/pspec.xml
@@ -14,14 +14,20 @@
Open source H264/AVC encoder
x264 is a free library for encoding H264/AVC video streams.
- ftp://ftp.videolan.org/pub/videolan/x264/snapshots/x264-snapshot-20141201-2245.tar.bz2
+ ftp://ftp.videolan.org/pub/x264/snapshots/last_x264.tar.bz2
yasm-devel
+ ffmpeg-devel
+ l-smash-devel
x264
+
+ ffmpeg
+ l-smash
+
/usr/bin
/usr/lib
@@ -41,6 +47,13 @@
+
+ 2016-06-12
+ 2245.11062016
+ Version Bump
+ Pisi Linux Community
+ admin@pisilinux.org
+
2016-06-09
2245
diff --git a/multimedia/video/x265/actions.py b/multimedia/video/x265/actions.py
index b73cc5e167..4cb8e1f80e 100644
--- a/multimedia/video/x265/actions.py
+++ b/multimedia/video/x265/actions.py
@@ -10,18 +10,15 @@ from pisi.actionsapi import cmaketools
from pisi.actionsapi import shelltools
def setup():
- pisitools.ldflags.add("-z,noexecstack")
- shelltools.cd("build/linux")
- cmaketools.configure("-DCMAKE_BUILD_TYPE=release", sourceDir="../../source")
+ shelltools.cd("source")
+ cmaketools.configure("-DCMAKE_INSTALL_PREFIX=/usr \
+ -DENABLE_STATIC=OFF")
def build():
- shelltools.cd("build/linux")
+ shelltools.cd("source")
cmaketools.make()
def install():
- shelltools.cd("build/linux")
+ shelltools.cd("source")
cmaketools.rawInstall("DESTDIR=%s" % get.installDIR())
- pisitools.remove("/usr/lib/libx265.a")
-
-
diff --git a/multimedia/video/x265/files/x265-1.9-enable_static-1.patch b/multimedia/video/x265/files/x265-1.9-enable_static-1.patch
new file mode 100644
index 0000000000..65e281e7a3
--- /dev/null
+++ b/multimedia/video/x265/files/x265-1.9-enable_static-1.patch
@@ -0,0 +1,76 @@
+Submitted By: Fernando de Oliveira
+Date: 2015-10-24
+Initial Package Version: 1.8
+Upstream Status: not submitted
+Origin: https://bitbucket.org/TimothyGu/x265/commits/a9aacc5a16116f1c663d1fcb62ad9a0985043b94/raw/
+ https://bitbucket.org/TimothyGu/x265/commits/578c5ef3dff46db38e7c36a8d3c6198a65c9746b/raw/
+Description: Add ENABLE_STATIC:BOOL=ON, so that static lib
+ can be disabled.
+
+
+
+--- x265_11047/source/CMakeLists.txt.orig 2015-10-08 07:01:36.000000000 -0300
++++ x265_11047/source/CMakeLists.txt 2015-10-24 17:10:57.919861668 -0300
+@@ -419,16 +419,21 @@
+ endif()
+
+ source_group(ASM FILES ${YASM_SRCS})
+-add_library(x265-static STATIC $ $ ${YASM_OBJS} ${YASM_SRCS})
+-if(NOT MSVC)
+- set_target_properties(x265-static PROPERTIES OUTPUT_NAME x265)
+-endif()
+-if(EXTRA_LIB)
+- target_link_libraries(x265-static ${EXTRA_LIB})
+-endif()
+-install(TARGETS x265-static
+- LIBRARY DESTINATION ${LIB_INSTALL_DIR}
+- ARCHIVE DESTINATION ${LIB_INSTALL_DIR})
++
++option(ENABLE_STATIC "Build static library" ON)
++if(ENABLE_STATIC)
++ add_library(x265-static STATIC $ $ ${YASM_OBJS} ${YASM_SRCS})
++ if(NOT MSVC)
++ set_target_properties(x265-static PROPERTIES OUTPUT_NAME x265)
++ endif()
++ if(EXTRA_LIB)
++ target_link_libraries(x265-static ${EXTRA_LIB})
++ endif()
++ install(TARGETS x265-static
++ LIBRARY DESTINATION ${LIB_INSTALL_DIR}
++ ARCHIVE DESTINATION ${LIB_INSTALL_DIR})
++endif(ENABLE_STATIC)
++
+ install(FILES x265.h "${PROJECT_BINARY_DIR}/x265_config.h" DESTINATION include)
+
+ if(CMAKE_RC_COMPILER)
+@@ -490,6 +495,10 @@
+ endif()
+ endif()
+
++if(NOT ENABLE_STATIC AND NOT ENABLE_SHARED)
++ message(FATAL_ERROR "Neither static nor shared libraries are enabled.")
++endif()
++
+ if(X265_LATEST_TAG)
+ # convert lists of link libraries into -lstdc++ -lm etc..
+ foreach(LIB ${CMAKE_CXX_IMPLICIT_LINK_LIBRARIES} ${PLATFORM_LIBS})
+@@ -551,12 +560,14 @@
+ else()
+ add_executable(cli ../COPYING ${InputFiles} ${OutputFiles} ${GETOPT} ${X265_RC_FILE}
+ ${ExportDefs} x265.cpp x265.h x265cli.h x265-extras.h x265-extras.cpp)
+- if(WIN32 OR NOT ENABLE_SHARED OR INTEL_CXX)
+- # The CLI cannot link to the shared library on Windows, it
+- # requires internal APIs not exported from the DLL
+- target_link_libraries(cli x265-static ${PLATFORM_LIBS})
+- else()
++ if(WIN32 AND NOT ENABLE_STATIC)
++ message(FATAL_ERROR "The CLI cannot link to shared library on Windows as it requires internal APIs not exported from the DLL.")
++ elseif(INTEL_CXX AND NOT ENABLE_STATIC)
++ message(FATAL_ERROR "The CLI cannot link to shared library with Intel C++ Compiler as it requires internal APIs not exported from the shared library.")
++ elseif(ENABLE_SHARED)
+ target_link_libraries(cli x265-shared ${PLATFORM_LIBS})
++ else()
++ target_link_libraries(cli x265-static ${PLATFORM_LIBS})
+ endif()
+ endif()
+ set_target_properties(cli PROPERTIES OUTPUT_NAME x265)
diff --git a/multimedia/video/x265/pspec.xml b/multimedia/video/x265/pspec.xml
index e4d408d6c0..68f9d20642 100644
--- a/multimedia/video/x265/pspec.xml
+++ b/multimedia/video/x265/pspec.xml
@@ -13,11 +13,14 @@
app:console
Open source H265/EVC encoder
x265 is a commercially funded open source implementation of the H.265/High Efficiency Video Coding (HEVC) compression standard.
- https://bitbucket.org/multicoreware/x265/get/1.7.tar.bz2
+ https://bitbucket.org/multicoreware/x265/downloads/x265_1.9.tar.gz
yasm-devel
cmake
+
+ x265-1.9-enable_static-1.patch
+
@@ -44,6 +47,13 @@
+
+ 2016-06-12
+ 1.9
+ Version Bump
+ Pisi Linux Community
+ admin@pisilinux.org
+
2016-06-09
1.7