pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/multimedia
Module Name: pkgsrc
Committed By: adam
Date: Mon Sep 26 17:00:21 UTC 2022
Modified Files:
pkgsrc/multimedia: Makefile
Added Files:
pkgsrc/multimedia/x264: DESCR Makefile PLIST buildlink3.mk distinfo
options.mk
pkgsrc/multimedia/x264/patches: patch-configure patch-encoder_analyse.c
Log Message:
x264: added version 20220601
x264 is a free software library and application for encoding video streams into
the H.264/MPEG-4 AVC compression format.
To generate a diff of this commit:
cvs rdiff -u -r1.325 -r1.326 pkgsrc/multimedia/Makefile
cvs rdiff -u -r0 -r1.1 pkgsrc/multimedia/x264/DESCR \
pkgsrc/multimedia/x264/Makefile pkgsrc/multimedia/x264/PLIST \
pkgsrc/multimedia/x264/buildlink3.mk pkgsrc/multimedia/x264/distinfo \
pkgsrc/multimedia/x264/options.mk
cvs rdiff -u -r0 -r1.1 pkgsrc/multimedia/x264/patches/patch-configure \
pkgsrc/multimedia/x264/patches/patch-encoder_analyse.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: pkgsrc/multimedia/Makefile
diff -u pkgsrc/multimedia/Makefile:1.325 pkgsrc/multimedia/Makefile:1.326
--- pkgsrc/multimedia/Makefile:1.325 Sat Sep 24 20:22:49 2022
+++ pkgsrc/multimedia/Makefile Mon Sep 26 17:00:21 2022
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.325 2022/09/24 20:22:49 adam Exp $
+# $NetBSD: Makefile,v 1.326 2022/09/26 17:00:21 adam Exp $
#
COMMENT= Multimedia utilities
@@ -213,6 +213,7 @@ SUBDIR+= transcode
SUBDIR+= tstools
SUBDIR+= vlc
SUBDIR+= win32-codecs
+SUBDIR+= x264
SUBDIR+= x264-devel
SUBDIR+= x265
SUBDIR+= xawtv
Added files:
Index: pkgsrc/multimedia/x264/DESCR
diff -u /dev/null pkgsrc/multimedia/x264/DESCR:1.1
--- /dev/null Mon Sep 26 17:00:21 2022
+++ pkgsrc/multimedia/x264/DESCR Mon Sep 26 17:00:21 2022
@@ -0,0 +1,2 @@
+x264 is a free software library and application for encoding video streams into
+the H.264/MPEG-4 AVC compression format.
Index: pkgsrc/multimedia/x264/Makefile
diff -u /dev/null pkgsrc/multimedia/x264/Makefile:1.1
--- /dev/null Mon Sep 26 17:00:21 2022
+++ pkgsrc/multimedia/x264/Makefile Mon Sep 26 17:00:21 2022
@@ -0,0 +1,76 @@
+# $NetBSD: Makefile,v 1.1 2022/09/26 17:00:21 adam Exp $
+
+# Download https://code.videolan.org/videolan/x264/-/archive/stable/x264-stable.tar.bz2
+# Rename to x264-<last-commit-date>.tar.bz2 and upload to MASTER_SITE_LOCAL.
+
+DISTNAME= x264-20220601
+CATEGORIES= multimedia
+MASTER_SITES= ${MASTER_SITE_LOCAL}
+EXTRACT_SUFX= .tar.bz2
+
+MAINTAINER= adam%NetBSD.org@localhost
+HOMEPAGE= https://www.videolan.org/developers/x264.html
+COMMENT= GPL licensed H.264 encoder
+LICENSE= gnu-gpl-v2
+
+WRKSRC= ${WRKDIR}/x264-stable
+
+.include "../../mk/bsd.prefs.mk"
+
+# Assembler code still needs to be disabled on at least SunOS.
+# NetBSD/i386 needs ASM disabled to avoid text relocations.
+# NetBSD/mips needs ASM disabled because it uses the MSA extension
+# (requires MIPS64 revision 2) and fails to build.
+.if ${OPSYS} == "SunOS" || \
+ !empty(MACHINE_PLATFORM:MNetBSD-*-i386) || \
+ !empty(MACHINE_PLATFORM:MNetBSD-*-mips*)
+CONFIGURE_ARGS+= --disable-asm
+.elif ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64" || \
+ (${OPSYS} == "Darwin" && ${MACHINE_ARCH} == "aarch64")
+TOOL_DEPENDS+= nasm>=2.13.0:../../devel/nasm
+.endif
+
+USE_TOOLS+= bash gmake
+USE_LIBTOOL= yes
+HAS_CONFIGURE= yes
+CONFIG_SHELL= ${BASH}
+CONFIGURE_ARGS+= --enable-shared
+CONFIGURE_ARGS+= --enable-static
+CONFIGURE_ARGS+= --enable-pic
+CONFIGURE_ARGS+= --prefix=${PREFIX}
+.if ${OPSYS} == "Darwin"
+USE_TOOLS+= perl
+.else
+CONFIGURE_ARGS+= --disable-opencl
+.endif
+MAKE_ENV+= SH=${SH:Q}
+
+# tries to use /usr/ucb/install to create multiple directories
+# PR pkg/56512
+MAKE_FLAGS.SunOS+= INSTALL=${INSTALL:Q}
+
+.if !empty(USE_CROSS_COMPILE:M[yY][eE][sS]) || !empty(MACHINE_PLATFORM:MDarwin-*-aarch64)
+# XXX Consider passing this whether cross-compiling or not.
+CONFIGURE_ARGS+= --host=${MACHINE_GNU_PLATFORM}
+.endif
+
+BUILD_TARGET= default
+INSTALL_TARGET= install-lib-shared install-lib-static install-cli
+INSTALLATION_DIRS= bin
+REPLACE_SH= version.sh
+
+.include "../../mk/dlopen.buildlink3.mk"
+
+CHECK_BUILTIN.pthread:= yes
+.include "../../mk/pthread.builtin.mk"
+CHECK_BUILTIN.pthread:= no
+
+.if ${USE_BUILTIN.pthread:M[Yy][Ee][Ss]}
+X264_BUILD_THREADS_SUPPORT= yes
+.else
+X264_BUILD_THREADS_SUPPORT= ${DLOPEN_REQUIRE_PTHREADS}
+.endif
+
+.include "options.mk"
+
+.include "../../mk/bsd.pkg.mk"
Index: pkgsrc/multimedia/x264/PLIST
diff -u /dev/null pkgsrc/multimedia/x264/PLIST:1.1
--- /dev/null Mon Sep 26 17:00:21 2022
+++ pkgsrc/multimedia/x264/PLIST Mon Sep 26 17:00:21 2022
@@ -0,0 +1,8 @@
+@comment $NetBSD: PLIST,v 1.1 2022/09/26 17:00:21 adam Exp $
+bin/x264
+include/x264.h
+include/x264_config.h
+lib/libx264.a
+lib/libx264.so
+lib/libx264.so.164
+lib/pkgconfig/x264.pc
Index: pkgsrc/multimedia/x264/buildlink3.mk
diff -u /dev/null pkgsrc/multimedia/x264/buildlink3.mk:1.1
--- /dev/null Mon Sep 26 17:00:21 2022
+++ pkgsrc/multimedia/x264/buildlink3.mk Mon Sep 26 17:00:21 2022
@@ -0,0 +1,23 @@
+# $NetBSD: buildlink3.mk,v 1.1 2022/09/26 17:00:21 adam Exp $
+
+BUILDLINK_TREE+= x264
+
+.if !defined(X264_BUILDLINK3_MK)
+X264_BUILDLINK3_MK:=
+
+# NOTE: When changing BUILDLINK_A[BP]I_DEPENDS.x264, please record
+# the value of X264_BUILD in x264.h along with the appropriate
+# dependency specification. Perhaps we should incorporate this
+# into the version number and/or pkg-config file?
+BUILDLINK_API_DEPENDS.x264+= x264>=20220601 # X264_BUILD 164
+BUILDLINK_ABI_DEPENDS.x264+= x264>=20220601
+BUILDLINK_PKGSRCDIR.x264?= ../../multimedia/x264
+pkgbase:= x264
+.include "../../mk/pkg-build-options.mk"
+
+.if ${PKG_BUILD_OPTIONS.x264:Mthreads}
+. include "../../mk/pthread.buildlink3.mk"
+.endif
+.endif # X264_BUILDLINK3_MK
+
+BUILDLINK_TREE+= -x264
Index: pkgsrc/multimedia/x264/distinfo
diff -u /dev/null pkgsrc/multimedia/x264/distinfo:1.1
--- /dev/null Mon Sep 26 17:00:21 2022
+++ pkgsrc/multimedia/x264/distinfo Mon Sep 26 17:00:21 2022
@@ -0,0 +1,7 @@
+$NetBSD: distinfo,v 1.1 2022/09/26 17:00:21 adam Exp $
+
+BLAKE2s (x264-20220601.tar.bz2) = 2990b29a9425fc9ad246905ddad2a9c0e888919fb1c3fd28b96209af823a085a
+SHA512 (x264-20220601.tar.bz2) = 73b8be945a2a82ea7af5039f5baa816440292887c1cad2672556f699a9d80eb8fbc2d5e44826cb36fecbbe83e6e75095c9ccd352bd2cb128caff7d4d7ed84e81
+Size (x264-20220601.tar.bz2) = 777576 bytes
+SHA1 (patch-configure) = c986b2ad87f940bd2cf1a96f471bd497e075b872
+SHA1 (patch-encoder_analyse.c) = 2057583899e029a4c2173c511293e6a35cf80f78
Index: pkgsrc/multimedia/x264/options.mk
diff -u /dev/null pkgsrc/multimedia/x264/options.mk:1.1
--- /dev/null Mon Sep 26 17:00:21 2022
+++ pkgsrc/multimedia/x264/options.mk Mon Sep 26 17:00:21 2022
@@ -0,0 +1,16 @@
+# $NetBSD: options.mk,v 1.1 2022/09/26 17:00:21 adam Exp $
+
+PKG_OPTIONS_VAR= PKG_OPTIONS.x264
+PKG_SUPPORTED_OPTIONS= threads
+
+.if !empty(X264_BUILD_THREADS_SUPPORT:M[Yy][Ee][Ss])
+PKG_SUGGESTED_OPTIONS+= threads
+.endif
+
+.include "../../mk/bsd.options.mk"
+
+.if !empty(PKG_OPTIONS:Mthreads)
+. include "../../mk/pthread.buildlink3.mk"
+.else
+CONFIGURE_ARGS+= --disable-pthread
+.endif
Index: pkgsrc/multimedia/x264/patches/patch-configure
diff -u /dev/null pkgsrc/multimedia/x264/patches/patch-configure:1.1
--- /dev/null Mon Sep 26 17:00:21 2022
+++ pkgsrc/multimedia/x264/patches/patch-configure Mon Sep 26 17:00:21 2022
@@ -0,0 +1,135 @@
+$NetBSD: patch-configure,v 1.1 2022/09/26 17:00:21 adam Exp $
+
+Add support for DragonFly.
+Use 'amd64' as a synonym for 'x86_64'.
+Avoid endian test failure for -flto.
+Do not force compiler optimisations.
+If we fail an assembly test, continue as if --disable-asm
+was passed.
+
+--- configure.orig 2022-09-13 09:25:28.000000000 +0000
++++ configure
+@@ -664,6 +664,10 @@ case $host_os in
+ SYS="FREEBSD"
+ libm="-lm"
+ ;;
++ dragonfly*)
++ SYS="DRAGONFLY"
++ LDFLAGS="$LDFLAGS -lm"
++ ;;
+ kfreebsd*-gnu)
+ SYS="FREEBSD"
+ define HAVE_MALLOC_H
+@@ -764,7 +768,7 @@ case $host_cpu in
+ ASFLAGS="$ASFLAGS -f elf32"
+ fi
+ ;;
+- x86_64)
++ x86_64|amd64)
+ ARCH="X86_64"
+ AS="${AS-nasm}"
+ AS_EXT=".asm"
+@@ -793,14 +797,15 @@ case $host_cpu in
+ fi
+ ;;
+ powerpc*)
+- ARCH="PPC"
+ if [ $asm = auto ] ; then
+ define HAVE_ALTIVEC
+ AS="${AS-${CC}}"
+ AS_EXT=".c"
+ if [ $SYS = MACOSX ] ; then
++ ARCH="POWERPC"
+ CFLAGS="$CFLAGS -faltivec -fastf -mcpu=G4"
+ else
++ ARCH="PPC"
+ CFLAGS="$CFLAGS -maltivec -mabi=altivec"
+ define HAVE_ALTIVEC_H
+ fi
+@@ -839,6 +844,18 @@ case $host_cpu in
+ AS="${AS-${CC}}"
+ fi
+ ;;
++ aarch64|arm64*)
++ ARCH="AARCH64"
++ stack_alignment=16
++ if [ "$SYS" = MACOSX ] ; then
++ AS="${AS-${CC}}"
++ ASFLAGS="$ASFLAGS -DPREFIX -DPIC"
++ elif [ "$SYS" = WINDOWS ] && [ "$compiler" = CL ] ; then
++ AS="${AS-${SRCPATH}/tools/gas-preprocessor.pl -arch aarch64 -as-type armasm -- armasm64 -nologo}"
++ else
++ AS="${AS-${CC}}"
++ fi
++ ;;
+ arm*)
+ ARCH="ARM"
+ if [ "$SYS" = MACOSX ] ; then
+@@ -985,8 +1002,8 @@ if [ $asm = auto -a $ARCH = ARM ] ; then
+ ASFLAGS="$ASFLAGS -c"
+ else
+ echo "You specified a pre-ARMv6 or Thumb-1 CPU in your CFLAGS."
+- echo "If you really want to run on such a CPU, configure with --disable-asm."
+- exit 1
++ echo "Disabling asm"
++ asm="no"
+ fi
+ fi
+
+@@ -1000,8 +1017,8 @@ if [ $asm = auto -a $ARCH = AARCH64 ] ;
+ ASFLAGS="$ASFLAGS -c"
+ else
+ echo "no NEON support, try adding -mfpu=neon to CFLAGS"
+- echo "If you really want to run on such a CPU, configure with --disable-asm."
+- exit 1
++ echo "Disabling asm"
++ asm="no"
+ fi
+ fi
+
+@@ -1019,8 +1036,8 @@ if [ $asm = auto -a $ARCH = MIPS ] ; the
+ define HAVE_MSA
+ else
+ echo "You specified a pre-MSA CPU in your CFLAGS."
+- echo "If you really want to run on such a CPU, configure with --disable-asm."
+- exit 1
++ echo "Disabling asm"
++ asm="no"
+ fi
+ fi
+
+@@ -1037,7 +1054,7 @@ ASFLAGS="$ASFLAGS -DSTACK_ALIGNMENT=$sta
+ CPU_ENDIAN="little-endian"
+ if [ $compiler = GNU ]; then
+ echo "int i[2] = {0x42494745,0}; double f[2] = {0x1.0656e6469616ep+102,0};" > conftest.c
+- $CC $CFLAGS -fno-lto conftest.c -c -o conftest.o 2>/dev/null || die "endian test failed"
++ $CC $CPPFLAGS -fno-lto conftest.c -c -o conftest.o 2>/dev/null || die "endian test failed"
+ if (${STRINGS} -a conftest.o | grep -q BIGE) && (${STRINGS} -a conftest.o | grep -q FPendian) ; then
+ define WORDS_BIGENDIAN
+ CPU_ENDIAN="big-endian"
+@@ -1060,7 +1077,7 @@ fi
+
+ # autodetect options that weren't forced nor disabled
+
+-libpthread=""
++libpthread="$PTHREAD_LDFLAGS $PTHREAD_LIBS"
+ if [ "$SYS" = "WINDOWS" -a "$thread" = "posix" ] ; then
+ if [ "$gpl" = "no" ] ; then
+ echo "Warning: pthread-win32 is LGPL and is therefore not supported with --disable-gpl"
+@@ -1319,7 +1336,7 @@ if [ "$pic" = "yes" ] ; then
+ [ "$SYS" != WINDOWS -a "$SYS" != CYGWIN ] && CFLAGS="$CFLAGS -fPIC"
+ [[ "$ASFLAGS" != *"-DPIC"* ]] && ASFLAGS="$ASFLAGS -DPIC"
+ # resolve textrels in the x86 asm
+- cc_check stdio.h "-shared -Wl,-Bsymbolic" && SOFLAGS="$SOFLAGS -Wl,-Bsymbolic"
++ cc_check stdio.h "-Wl,-Bsymbolic" && LDFLAGS="$LDFLAGS -Wl,-Bsymbolic"
+ [ $SYS = SunOS -a "$ARCH" = "X86" ] && SOFLAGS="$SOFLAGS -mimpure-text"
+ fi
+
+@@ -1335,7 +1352,6 @@ if [ "$debug" = "yes" ]; then
+ CFLAGS="-O1 -g $CFLAGS"
+ RCFLAGS="$RCFLAGS -DDEBUG"
+ else
+- CFLAGS="-O3 -ffast-math $CFLAGS"
+ if [ "$lto" = "auto" ] && [ $compiler = GNU ] && cc_check "" "-flto" ; then
+ lto="yes"
+ CFLAGS="$CFLAGS -flto"
Index: pkgsrc/multimedia/x264/patches/patch-encoder_analyse.c
diff -u /dev/null pkgsrc/multimedia/x264/patches/patch-encoder_analyse.c:1.1
--- /dev/null Mon Sep 26 17:00:21 2022
+++ pkgsrc/multimedia/x264/patches/patch-encoder_analyse.c Mon Sep 26 17:00:21 2022
@@ -0,0 +1,15 @@
+$NetBSD: patch-encoder_analyse.c,v 1.1 2022/09/26 17:00:21 adam Exp $
+
+Use logf() instead of log2f.
+
+--- encoder/analyse.c.orig 2017-07-12 20:45:03.000000000 +0000
++++ encoder/analyse.c
+@@ -309,7 +309,7 @@ int x264_analyse_init_costs( x264_t *h )
+
+ logs[0] = 0.718f;
+ for( int i = 1; i <= 2*4*mv_range; i++ )
+- logs[i] = log2f( i+1 ) * 2.0f + 1.718f;
++ logs[i] = logf(i+1)*2.88539f + 1.718f;
+
+ for( int qp = X264_MIN( h->param.rc.i_qp_min, QP_MAX_SPEC ); qp <= h->param.rc.i_qp_max; qp++ )
+ if( init_costs( h, logs, qp ) )
Home |
Main Index |
Thread Index |
Old Index