libraries/nv-codec-headers: Added (Nvidia codec headers for ffmpeg).

Signed-off-by: David Spencer <idlemoor@slackbuilds.org>
This commit is contained in:
Andrew Strong 2018-06-09 00:10:15 +01:00 committed by David Spencer
parent 982edbcf16
commit b50925e17e
4 changed files with 131 additions and 0 deletions

View file

@ -0,0 +1,17 @@
The FFmpeg version of Nvidia Codec SDK headers which are required
to interface with Nvidia's codec APIs. The purpose of these
headers is to allow hardware (GPU) encoding with suitable NVidia
cards. This version corresponds to Video Codec SDK version 8.1.24.
There are 3 stages of the history of NVidia GPU encoding with FFmpeg:
1. Pre August 27th 2016 it was necessary to track down your own
headers to build nvenc.
2. Post August 27th 2016 the required headers were incorporated
as part of the FFmpeg source.
3. Post February 26th 2018 the NVidia headers were removed from
the FFmpeg source. A separate git repository was created to hold
continuing work with these headers.
This nv-codec-headers script is for point 3 where the headers will
need to be installed before compiling FFmpeg.

View file

@ -0,0 +1,85 @@
#!/bin/sh
# Slackware build script for nv-codec-headers
# Copyright 2018, Andrew Strong, Blue Mountains, Australia.
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=nv-codec-headers
# Note that the version number is contained
# within the file ffnvcodec.pc.in:
VERSION=${VERSION:-8.1.24.3}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i586" ]; then
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
LIBDIRSUFFIX="64"
else
LIBDIRSUFFIX=""
fi
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
-o -perm 511 \) -exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
# Adjust Makefile for Slackware needs:
sed -i 's#PREFIX = /usr/local#PREFIX = /usr#' Makefile
sed -i "s#LIBDIR = lib#LIBDIR = lib${LIBDIRSUFFIX}#" Makefile
make
make install DESTDIR=$PKG
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a README $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}

View file

@ -0,0 +1,10 @@
PRGNAM="nv-codec-headers"
VERSION="8.1.24.3"
HOMEPAGE="http://git.videolan.org/?p=ffmpeg/nv-codec-headers.git;a=summary"
DOWNLOAD="http://www.andrews-corner.org/downloads/SBo/nv-codec-headers-8.1.24.3.tar.gz"
MD5SUM="789fb607ac3a3fb890b0effda00bdad8"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
MAINTAINER="Andrew Strong"
EMAIL="andrew.david.strong@gmail.com"

View file

@ -0,0 +1,19 @@
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description.
# Line up the first '|' above the ':' following the base package name, and
# the '|' on the right side marks the last column you can put a character in.
# You must make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
nv-codec-headers: nv-codec-headers (FFmpeg version of Nvidia Codec SDK headers)
nv-codec-headers:
nv-codec-headers: FFmpeg version of headers required to interface with Nvidia's
nv-codec-headers: codec APIs. Corresponds to Video Codec SDK version 8.1.24.
nv-codec-headers:
nv-codec-headers:
nv-codec-headers:
nv-codec-headers: http://git.videolan.org/?p=ffmpeg/nv-codec-headers.git;a=summary
nv-codec-headers:
nv-codec-headers:
nv-codec-headers: