Merge pull request #2182 from MilhouseVH/le90_kodi18a1Dec17

kodi: updates for Dec 2017
This commit is contained in:
Radostan Riedel 2017-12-01 10:00:17 +01:00 committed by GitHub
commit f0224910ba
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
50 changed files with 28664 additions and 19949 deletions

View File

@ -149,6 +149,8 @@ configure_target() {
\
`#General options` \
--enable-avresample \
--disable-lzma \
--disable-alsa \
\
`#Toolchain options` \
--arch="$TARGET_ARCH" \

View File

@ -0,0 +1,35 @@
################################################################################
# This file is part of LibreELEC - https://libreelec.tv
# Copyright (C) 2017-present Team LibreELEC
#
# LibreELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# LibreELEC 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
PKG_NAME="libarchive"
PKG_VERSION="3.3.2"
PKG_SHA256="ed2dbd6954792b2c054ccf8ec4b330a54b85904a80cef477a1c74643ddafa0ce"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="https://www.libarchive.org"
PKG_URL="https://www.libarchive.org/downloads/$PKG_NAME-$PKG_VERSION.tar.gz"
PKG_DEPENDS_HOST="toolchain"
PKG_DEPENDS_TARGET="toolchain"
PKG_SECTION="compress"
PKG_SHORTDESC="libarchive data compressor/decompressor"
PKG_CMAKE_OPTS_TARGET="-DENABLE_SHARED=0 -DENABLE_STATIC=1 -DCMAKE_POSITION_INDEPENDENT_CODE=1 -DENABLE_EXPAT=0 -DENABLE_ICONV=0 -DENABLE_LIBXML2=0 -DENABLE_LZO=1 -DENABLE_TEST=0 -DENABLE_COVERAGE=0"
post_makeinstall_target() {
rm -rf $INSTALL
}

View File

@ -0,0 +1,37 @@
From f3c2f0ca7916288c72da07a2c3352b85b8f96e55 Mon Sep 17 00:00:00 2001
From: Arne Morten Kvarving <arne.morten.kvarving@sintef.no>
Date: Sat, 11 Nov 2017 23:42:40 +0100
Subject: [PATCH] die Werror
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 73bf07b..08e8f49 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -96,7 +96,7 @@ IF (CMAKE_C_COMPILER_ID MATCHES "^GNU$")
#################################################################
# Set compile flags for debug build.
# This is added into CMAKE_C_FLAGS when CMAKE_BUILD_TYPE is "Debug"
- SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Werror")
+ #SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Werror")
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Wextra")
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Wunused")
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Wshadow")
@@ -112,7 +112,7 @@ IF (CMAKE_C_COMPILER_ID MATCHES "^Clang$")
# Set compile flags for debug build.
# This is added into CMAKE_C_FLAGS when CMAKE_BUILD_TYPE is "Debug"
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -g")
- SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Werror")
+ #SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Werror")
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Wextra")
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Wunused")
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Wshadow")
@@ -133,7 +133,7 @@
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -qflag=w:w")
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -qinfo=pro:use")
ENDIF(CMAKE_C_COMPILER_ID MATCHES "^XL$")
-IF (MSVC)
+IF (0)
#################################################################
# Set compile flags for debug build.
# This is added into CMAKE_C_FLAGS when CMAKE_BUILD_TYPE is "Debug"

View File

@ -0,0 +1,14 @@
--- libarchive/libarchive/CMakeLists.txt
+++ libarchive/libarchive/CMakeLists.txt
@@ -224,9 +224,9 @@
ENDIF()
# Libarchive is a shared library
-ADD_LIBRARY(archive SHARED ${libarchive_SOURCES} ${include_HEADERS})
+ADD_LIBRARY(archive STATIC ${libarchive_SOURCES} ${include_HEADERS})
TARGET_LINK_LIBRARIES(archive ${ADDITIONAL_LIBS})
-SET_TARGET_PROPERTIES(archive PROPERTIES SOVERSION ${SOVERSION})
+SET_TARGET_PROPERTIES(archive PROPERTIES COMPILE_DEFINITIONS LIBARCHIVE_STATIC)
# archive_static is a static library
ADD_LIBRARY(archive_static STATIC ${libarchive_SOURCES} ${include_HEADERS})

View File

@ -0,0 +1,37 @@
################################################################################
# This file is part of LibreELEC - https://libreelec.tv
# Copyright (C) 2017-present Team LibreELEC
#
# LibreELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# LibreELEC 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
PKG_NAME="lz4"
PKG_VERSION="1.8.0"
PKG_SHA256="2ca482ea7a9bb103603108b5a7510b7592b90158c151ff50a28f1ca8389fccf6"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/lz4/lz4"
PKG_URL="https://github.com/lz4/lz4/archive/v$PKG_VERSION.tar.gz"
PKG_DEPENDS_HOST="toolchain"
PKG_DEPENDS_TARGET="toolchain"
PKG_SECTION="compress"
PKG_SHORTDESC="lz4 data compressor/decompressor"
PKG_CMAKE_SCRIPT="$PKG_BUILD/contrib/cmake_unofficial/CMakeLists.txt"
PKG_CMAKE_OPTS_TARGET="-DBUILD_SHARED_LIBS=0 -DCMAKE_POSITION_INDEPENDENT_CODE=0"
post_makeinstall_target() {
rm -rf $INSTALL
}

View File

@ -36,3 +36,9 @@ PKG_CONFIGURE_OPTS_HOST="--disable-shared --enable-static \
--enable-lzma-links \
--disable-scripts \
--disable-nls"
PKG_CONFIGURE_OPTS_TARGET="--disable-shared --enable-static"
post_makeinstall_target() {
rm -rf $INSTALL
}

View File

@ -0,0 +1,27 @@
From 5cd389f1fe1fe095cdf555194df875ee3ab445cf Mon Sep 17 00:00:00 2001
From: MilhouseVH <milhouseVH.github@nmacleod.com>
Date: Sun, 26 Nov 2017 22:21:15 +0000
Subject: [PATCH] uninitialized variables build error
---
src/liblzma/lzma/lzma_encoder.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/liblzma/lzma/lzma_encoder.c b/src/liblzma/lzma/lzma_encoder.c
index ba9ce69..08e8c87 100644
--- a/src/liblzma/lzma/lzma_encoder.c
+++ b/src/liblzma/lzma/lzma_encoder.c
@@ -359,8 +359,8 @@ lzma_lzma_encode(lzma_lzma1_encoder *restrict coder, lzma_mf *restrict mf,
// - UINT32_MAX: not a match but a literal
// Value ranges for len:
// - [MATCH_LEN_MIN, MATCH_LEN_MAX]
- uint32_t len;
- uint32_t back;
+ uint32_t len = 0;
+ uint32_t back = 0;
if (coder->fast_mode)
lzma_lzma_optimum_fast(coder, mf, &back, &len);
--
2.14.1

View File

@ -17,13 +17,13 @@
################################################################################
PKG_NAME="libplist"
PKG_VERSION="1.12"
PKG_SHA256="0effdedcb3de128c4930d8c03a3854c74c426c16728b8ab5f0a5b6bdc0b644be"
PKG_VERSION="2.0.0"
PKG_SHA256="3a7e9694c2d9a85174ba1fa92417cfabaea7f6d19631e544948dc7e17e82f602"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://matt.colyer.name/projects/iphone-linux/"
PKG_SITE="http://www.libimobiledevice.org/"
PKG_URL="http://www.libimobiledevice.org/downloads/$PKG_NAME-$PKG_VERSION.tar.bz2"
PKG_DEPENDS_TARGET="toolchain libxml2 glib"
PKG_DEPENDS_TARGET="toolchain glib"
PKG_SECTION="devel"
PKG_SHORTDESC="libplist: a library for manipulating Apple Binary and XML Property Lists"
PKG_LONGDESC="libplist is a library for manipulating Apple Binary and XML Property Lists"

View File

@ -17,8 +17,8 @@
################################################################################
PKG_NAME="audiodecoder.modplug"
PKG_VERSION="72018cd"
PKG_SHA256="e799c0a7405c4df89058b91b0925f0e7860d750c1613e3ef38e141f12fa78904"
PKG_VERSION="63c6715"
PKG_SHA256="95a001229ff68420f0f0bd8424067b1daca44c312abf22739425d272fe167729"
PKG_REV="2"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -17,8 +17,8 @@
################################################################################
PKG_NAME="audiodecoder.organya"
PKG_VERSION="ff7ab78"
PKG_SHA256="21b363e4fd72ae9d696d18ee0728f5c53413634cfb6464d68ed1eb42427b0874"
PKG_VERSION="0f3d367"
PKG_SHA256="4e0125900881ab6a438e0e9d14bde5c8ed756ef845c5d5288cc00fedd581d99b"
PKG_REV="2"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -17,8 +17,8 @@
################################################################################
PKG_NAME="audiodecoder.timidity"
PKG_VERSION="ed61c04"
PKG_SHA256="5378463a7f30869d0f3ef659396fbd5d8cf6e62f3226307882293524899b80db"
PKG_VERSION="1e13049"
PKG_SHA256="bac11b90751d241bc191840b48327312b607dcac2149ef1d2855a09a84332a60"
PKG_REV="2"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -17,8 +17,8 @@
################################################################################
PKG_NAME="audioencoder.flac"
PKG_VERSION="add8481"
PKG_SHA256="0afb2faeb025bec534df099b497dd085f05cb66e237d8259aa9c577dd14cfb05"
PKG_VERSION="817e0de"
PKG_SHA256="c122f4e09d38cfde167386376ed55760414ad4a742ea56f62e99d8306fe9194b"
PKG_REV="2"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -17,8 +17,8 @@
################################################################################
PKG_NAME="imagedecoder.raw"
PKG_VERSION="aa45f0a"
PKG_SHA256="5883d0f49e0f88e00a13dfcccf622032f0e0df5b9f67e99747d98fd500bbffb8"
PKG_VERSION="87449b5"
PKG_SHA256="0254f48d67204a85bea6c1c310b61ce01e5f2cf970608d3f58d7e42c474e0804"
PKG_REV="2"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -17,8 +17,8 @@
################################################################################
PKG_NAME="inputstream.adaptive"
PKG_VERSION="853144d"
PKG_SHA256="cadc38ee93894b37603af30eb71f248fcf2df056d3cff9b840de1e895679d6e4"
PKG_VERSION="d2081b2"
PKG_SHA256="3032079ede0f234781b7cf929010ce63d8af458389dd188c36be925eb301b669"
PKG_LICENSE="GPL"
PKG_SITE="http://www.kodi.tv"
PKG_URL="https://github.com/peak3d/inputstream.adaptive/archive/$PKG_VERSION.tar.gz"

View File

@ -17,8 +17,8 @@
################################################################################
PKG_NAME="inputstream.rtmp"
PKG_VERSION="0702f7e"
PKG_SHA256="ab7a8d36c39dc7f5dd1925da2f5f94f5ee5bff9c24a14f9477ebcd761654de22"
PKG_VERSION="c772497"
PKG_SHA256="7408e26e43b08f9b57adb660ac56c6313bec65f01178c78b30280050d2e58a9d"
PKG_LICENSE="GPL"
PKG_SITE="http://www.kodi.tv"
PKG_URL="https://github.com/notspiff/inputstream.rtmp/archive/$PKG_VERSION.tar.gz"

View File

@ -17,8 +17,8 @@
################################################################################
PKG_NAME="peripheral.joystick"
PKG_VERSION="a5cc154"
PKG_SHA256="0582603842c82fcaecb66c0bf78e134a1be8cdd08f19d275b5217fbdc0963499"
PKG_VERSION="33b43ce"
PKG_SHA256="1554469f4fbcbb2a37de9c1ece6b1b41c9e71f1087a48cb7f9ec3ae7d425dc41"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -17,8 +17,8 @@
################################################################################
PKG_NAME="pvr.argustv"
PKG_VERSION="23cc0e8"
PKG_SHA256="e965a98240f6c7dee277a1a705ac5e26b138b2f1572572aea50bbfef92a54bf3"
PKG_VERSION="1a48789"
PKG_SHA256="236a55371cae180ec755be055238d7edb145aab9e9e918bd8b797344aa74709a"
PKG_REV="2"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -17,8 +17,8 @@
################################################################################
PKG_NAME="pvr.demo"
PKG_VERSION="122dedd"
PKG_SHA256="6422a64924ae219dc6c12e1c12d04247aea92c9143d784a8535c75e0990e3934"
PKG_VERSION="94c4817"
PKG_SHA256="a2511806f593d8281631b2ac745d091ff9dd1f0b84e26c2e56f0fb41c9c5487c"
PKG_REV="2"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -17,8 +17,8 @@
################################################################################
PKG_NAME="pvr.dvbviewer"
PKG_VERSION="afe584a"
PKG_SHA256="1df0174100a30df460351fa9d5e21a1d46d474234cdaf24d19ec7975c0b0defb"
PKG_VERSION="6129441"
PKG_SHA256="c924922900c4d7982ca826c666c467f541b311e8a61afe66a224f6c88690afd3"
PKG_REV="2"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -17,8 +17,8 @@
################################################################################
PKG_NAME="pvr.filmon"
PKG_VERSION="f67f905"
PKG_SHA256="2829be270876a460c7ec47af04b5217d2a3bfc63f92acae312bb030c96a719ca"
PKG_VERSION="2dee2ca"
PKG_SHA256="caf3bd4f31863584a72f60e176e3e07443a1ee748908bdf3e955b023a6caebbe"
PKG_REV="2"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -17,8 +17,8 @@
################################################################################
PKG_NAME="pvr.hdhomerun"
PKG_VERSION="ddfe2cb"
PKG_SHA256="8f464cc4df525371c7d67426424857fc823170c82a38cb80b2d6f9ca2f70117d"
PKG_VERSION="3af3e91"
PKG_SHA256="d27003e108dea71d80f71649f9b2b98634d9093eb532f185e152c33719a648a9"
PKG_REV="2"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -17,8 +17,8 @@
################################################################################
PKG_NAME="pvr.hts"
PKG_VERSION="295893c"
PKG_SHA256="513d8b4c969915b17fee7b79da212a52fca1a9e8aa1d8c84c171a239728ee952"
PKG_VERSION="67fe2df"
PKG_SHA256="cd5bc330522a1a0d92bb7191dd296779ef2cddbb6f426235eed7eb359e1596e0"
PKG_REV="2"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -17,8 +17,8 @@
################################################################################
PKG_NAME="pvr.mediaportal.tvserver"
PKG_VERSION="fa1069d"
PKG_SHA256="b998eb70fee844105c6a5dfe5663d4641be82d4da0f18050a02a62f6478e8e3a"
PKG_VERSION="6c35e88"
PKG_SHA256="6355e47381023aed857c63c43c54dd610a123a077c19b74991e004879569f113"
PKG_REV="2"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -17,8 +17,8 @@
################################################################################
PKG_NAME="pvr.mythtv"
PKG_VERSION="d5a6aa3"
PKG_SHA256="21af28423221148cdd15a5a69261717e9847ee0c976d2da3fba37eea20153584"
PKG_VERSION="ffaa1b5"
PKG_SHA256="997b44e35aa1b422bf7306449fe480d3996eaf40fe82286740c4561132d937e8"
PKG_REV="2"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -17,8 +17,8 @@
################################################################################
PKG_NAME="pvr.nextpvr"
PKG_VERSION="5b7caa2"
PKG_SHA256="9781a1b90287e146c4fed57a3604799dbad791cac7046827f449828a39d2077d"
PKG_VERSION="938bb48"
PKG_SHA256="5ccd5d2acef47e6fdffaabe0caee2d5ecc19e577682201dc8da5ca34e4f7e48c"
PKG_REV="2"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -17,8 +17,8 @@
################################################################################
PKG_NAME="pvr.njoy"
PKG_VERSION="cc1cb56"
PKG_SHA256="35425e762e780fc19759cdbc504a25f23be15e0da25a58c30056aeb9709061c1"
PKG_VERSION="4a5efef"
PKG_SHA256="dd03dc9882a127053a0b255eaaedd467ff4822362d2d08eb0d51908192fb42be"
PKG_REV="2"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -17,8 +17,8 @@
################################################################################
PKG_NAME="pvr.octonet"
PKG_VERSION="f1f8d44"
PKG_SHA256="eb2e90750ec648d2fbecfcf982f7e4a55368f2e129da3df60d5fd8bf0b85d802"
PKG_VERSION="c4af00a"
PKG_SHA256="4a62a84c957517044e1d44a40ae5db93576e8c0244acebf9c3a37203920202f9"
PKG_REV="2"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -17,8 +17,8 @@
################################################################################
PKG_NAME="pvr.pctv"
PKG_VERSION="c6d10cb"
PKG_SHA256="686c63860a0a94bbd27a703debe5fcbcf866b171fd9ce89bc97fc1547c4542a2"
PKG_VERSION="6484615"
PKG_SHA256="a5d475207b504e59190d0659b5477d3a3ec0430c1c0c1c6420d51a500ac27d6d"
PKG_REV="2"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -17,8 +17,8 @@
################################################################################
PKG_NAME="pvr.stalker"
PKG_VERSION="5f53d18"
PKG_SHA256="a73dc965734eb5fd17580f3d1f8e27f87da1c3f5fc490eaa998a7dbf0856e44f"
PKG_VERSION="44025a1"
PKG_SHA256="70f279c473eb2b2432908760e9003cdf05d32037b64bb7eacf6429caa390a31e"
PKG_REV="2"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -17,8 +17,8 @@
################################################################################
PKG_NAME="pvr.teleboy"
PKG_VERSION="2d092c4"
PKG_SHA256="9866fc70520bec037f6df27a74e64e36c8aaaa9807ad92b45ec0735298ecc89f"
PKG_VERSION="e431126"
PKG_SHA256="c4945fb73890b3be738985f74c0a5b6e0f99ca337e2ba0d97397f23f6ec7423d"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -17,8 +17,8 @@
################################################################################
PKG_NAME="pvr.vbox"
PKG_VERSION="56052da"
PKG_SHA256="96c5cd2e3fb2d0d8cdb6f6c9d1afa3cfccb65604407eaac531ca784f01387a9b"
PKG_VERSION="619c32b"
PKG_SHA256="d9b4a4f1053dad95fc44fbfeaf69b719931a0eb20cd6f3ca4dc911f76d483780"
PKG_REV="2"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -17,8 +17,8 @@
################################################################################
PKG_NAME="pvr.vdr.vnsi"
PKG_VERSION="92e4c64"
PKG_SHA256="5083e0763c6724809762c36ac22df08080bde5bfd1ec73dfef2b74ea647210b3"
PKG_VERSION="0ec3e77"
PKG_SHA256="f77fe1049233de6b7ff0d883783db0da9c98705221ba62cea208a86cf656993c"
PKG_REV="2"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -17,8 +17,8 @@
################################################################################
PKG_NAME="pvr.vuplus"
PKG_VERSION="eb0d16d"
PKG_SHA256="1aaf83aa6ebfbb22d8deca7b856a794eeaeda5e738c06a7cd972a37419816689"
PKG_VERSION="7ea6b21"
PKG_SHA256="48ea86488ea9a7faf8baeed4cf0340dfb6c16c3ee2e6a1d1366d3c208dd712bd"
PKG_REV="2"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -17,8 +17,8 @@
################################################################################
PKG_NAME="pvr.wmc"
PKG_VERSION="02edba6"
PKG_SHA256="7c7f526e8ff6d19a019f01e5b7a979ef7cbdd909ebe3a13f9e666fc282db9be5"
PKG_VERSION="55e701b"
PKG_SHA256="9e3dcc8d96934bc2959ebc2e9e89dbcce8f664b2a6cfdbdce8512fa68307d590"
PKG_REV="2"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -17,8 +17,8 @@
################################################################################
PKG_NAME="pvr.zattoo"
PKG_VERSION="70fafbe"
PKG_SHA256="acdc5b65a9f97bd1957e5ca7cae4d401a8621dd70e1880c27ede1602704fa5a7"
PKG_VERSION="23d9993"
PKG_SHA256="4c9caad94059093f16a59865b72645d88d91357cb067db570d1c94ea274fb673"
PKG_REV="2"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -17,8 +17,8 @@
################################################################################
PKG_NAME="screensaver.pingpong"
PKG_VERSION="3a27396"
PKG_SHA256="e87d270e05b446174a937b0e1d468812476f332ed0c194387adbbdf2df1c2163"
PKG_VERSION="ce794e9"
PKG_SHA256="ab5cbd929f5125127474447a1a9c9848aa0a3186f8f7dc7cfeee97a5f2658e06"
PKG_REV="2"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -0,0 +1,33 @@
################################################################################
# This file is part of LibreELEC - https://libreelec.tv
# Copyright (C) 2017-present Team LibreELEC
#
# LibreELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# LibreELEC 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
PKG_NAME="vfs.libarchive"
PKG_VERSION="d3f3953"
PKG_SHA256="df094f8f217f25b9c288556cf1ca30c822d35d3e9dfc4973dd994e5f40508edd"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://www.kodi.tv"
PKG_URL="https://github.com/notspiff/vfs.libarchive/archive/$PKG_VERSION.tar.gz"
PKG_DEPENDS_TARGET="toolchain kodi-platform bzip2 libarchive lz4 lzo xz zlib"
PKG_SECTION=""
PKG_SHORTDESC="vfs.libarchive"
PKG_LONGDESC="vfs.libarchive"
PKG_IS_ADDON="yes"
PKG_ADDON_TYPE="kodi.vfs"

View File

@ -17,8 +17,8 @@
################################################################################
PKG_NAME="vfs.rar"
PKG_VERSION="4eacaec"
PKG_SHA256="96d162e295c786d0e07cced1b7377c6ba07ea691389d5fac02aba7a12974d8b5"
PKG_VERSION="2904d06"
PKG_SHA256="0de99949939acad8753156cf5bc87a33a2cdc1459ee15ea450c5fee75dd73b70"
PKG_REV="2"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -17,8 +17,8 @@
################################################################################
PKG_NAME="visualization.vsxu"
PKG_VERSION="caedcbc"
PKG_SHA256="a471095637e8c24d68b37a8c13ced75b66ef4fba7c9dab8a25defefe1c1dc807"
PKG_VERSION="c3d8264"
PKG_SHA256="cc9a0e287cd272e83e99003d60599b1546265299c8e4f7a5c061cb3f8d4348cd"
PKG_REV="2"
PKG_ARCH="i386 x86_64"
PKG_LICENSE="GPL"

View File

@ -1,4 +1,4 @@
<settings>
<settings version="2">
<general>
<settinglevel>2</settinglevel>
</general>

View File

@ -17,8 +17,8 @@
################################################################################
PKG_NAME="kodi"
PKG_VERSION="055f6ee"
PKG_SHA256="bbdca237bafcdcf28c0d4a3e6309ca616ab9ca4a35f3fcef5de8bac3ad2f6cc6"
PKG_VERSION="c356fa8"
PKG_SHA256="a2ee06b44d6d3e6306aef3df15c57e1a14022bb80a0cb25f2c98caa4cdf4fe56"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://www.kodi.tv"
@ -220,6 +220,7 @@ PKG_CMAKE_OPTS_TARGET="-DNATIVEPREFIX=$TOOLCHAIN \
-DENABLE_EVENTCLIENTS=ON \
-DENABLE_LDGOLD=ON \
-DENABLE_DEBUGFISSION=OFF \
-DENABLE_APP_AUTONAME=OFF \
$KODI_ARCH \
$KODI_NEON \
$KODI_VDPAU \

View File

@ -15,7 +15,7 @@ index 95ae98c..9aca1e3 100644
void CApplication::Minimize()
{
- g_Windowing.Minimize();
- CServiceBroker::GetWinSystem().Minimize();
}
PLAYERCOREID CApplication::GetCurrentPlayer()

View File

@ -1,178 +0,0 @@
From 64b82bba85398be323e61cba3d559997752f9e6f Mon Sep 17 00:00:00 2001
From: wsnipex <wsnipex@a1.net>
Date: Thu, 19 Oct 2017 11:47:12 +0200
Subject: [PATCH 1/2] [cmake] support building with ninja on posix platforms
---
addons/xbmc.json/addon.xml.in | 2 +-
cmake/scripts/common/GenerateVersionedFiles.cmake | 10 +++++-----
cmake/scripts/common/Macros.cmake | 10 ++++++++--
xbmc/interfaces/json-rpc/schema/CMakeLists.txt | 1 +
xbmc/interfaces/json-rpc/schema/GenerateAddonXml.cmake | 5 +++--
xbmc/interfaces/json-rpc/schema/version.txt | 2 +-
6 files changed, 19 insertions(+), 11 deletions(-)
diff --git a/addons/xbmc.json/addon.xml.in b/addons/xbmc.json/addon.xml.in
index fbd2923a8b02..6f09fa24126d 100644
--- a/addons/xbmc.json/addon.xml.in
+++ b/addons/xbmc.json/addon.xml.in
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<addon id="xbmc.json" version="@jsonrpc_version@" provider-name="Team XBMC">
+<addon id="xbmc.json" version="@JSONRPC_VERSION@" provider-name="Team XBMC">
<backwards-compatibility abi="6.0.0"/>
<requires>
<import addon="xbmc.core" version="0.1.0"/>
diff --git a/cmake/scripts/common/GenerateVersionedFiles.cmake b/cmake/scripts/common/GenerateVersionedFiles.cmake
index 90b2173e6a4d..011f4956f1fe 100644
--- a/cmake/scripts/common/GenerateVersionedFiles.cmake
+++ b/cmake/scripts/common/GenerateVersionedFiles.cmake
@@ -13,12 +13,11 @@ endfunction()
# add-on xml's
file(GLOB ADDON_XML_IN_FILE ${CORE_SOURCE_DIR}/addons/*/addon.xml.in)
-foreach(loop_var ${ADDON_XML_IN_FILE})
- # prevent 'xbmc.json'; will be obtained from 'xbmc/interfaces/json-rpc/schema/CMakeLists.txt'.
- if(loop_var MATCHES "xbmc.json")
- continue()
- endif()
+# remove 'xbmc.json', will be created from 'xbmc/interfaces/json-rpc/schema/CMakeLists.txt'
+list(REMOVE_ITEM ADDON_XML_IN_FILE xbmc.json)
+
+foreach(loop_var ${ADDON_XML_IN_FILE})
list(GET loop_var 0 xml_name)
string(REPLACE "/addon.xml.in" "" source_dir ${xml_name})
@@ -35,4 +34,5 @@ foreach(loop_var ${ADDON_XML_IN_FILE})
unset(xml_name)
endforeach()
+
generate_versioned_file(xbmc/CompileInfo.cpp.in ${CORE_BUILD_DIR}/xbmc/CompileInfo.cpp)
diff --git a/cmake/scripts/common/Macros.cmake b/cmake/scripts/common/Macros.cmake
index 205117720c83..10ed15163678 100644
--- a/cmake/scripts/common/Macros.cmake
+++ b/cmake/scripts/common/Macros.cmake
@@ -643,6 +643,7 @@ endfunction()
# APP_VERSION - the app version (${APP_VERSION_MAJOR}.${APP_VERSION_MINOR}-${APP_VERSION_TAG})
# APP_ADDON_API - the addon API version in the form of 16.9.702
# FILE_VERSION - file version in the form of 16,9,702,0 - Windows only
+# JSONRPC_VERSION - the json api version in the form of 8.3.0
#
# Set various variables defined in "versions.h"
macro(core_find_versions)
@@ -657,8 +658,9 @@ macro(core_find_versions)
include(CMakeParseArguments)
core_file_read_filtered(version_list ${CORE_SOURCE_DIR}/version.txt)
- string(REPLACE " " ";" version_list "${version_list}")
- cmake_parse_arguments(APP "" "APP_NAME;COMPANY_NAME;WEBSITE;VERSION_MAJOR;VERSION_MINOR;VERSION_TAG;VERSION_CODE;ADDON_API;APP_PACKAGE" "" ${version_list})
+ core_file_read_filtered(json_version ${CORE_SOURCE_DIR}/xbmc/interfaces/json-rpc/schema/version.txt)
+ string(REPLACE " " ";" version_list "${version_list} ${json_version}")
+ cmake_parse_arguments(APP "" "APP_NAME;COMPANY_NAME;WEBSITE;VERSION_MAJOR;VERSION_MINOR;VERSION_TAG;VERSION_CODE;ADDON_API;APP_PACKAGE;JSONRPC_VERSION" "" ${version_list})
if(NOT ${APP_VERSION_CODE} MATCHES "^[0-9]+\\.[0-9][0-9]?\\.[0-9][0-9]?[0-9]?$")
message(FATAL_ERROR "VERSION_CODE was set to ${APP_VERSION_CODE} in version.txt, but it has to match '^\\d+\\.\\d{1,2}\\.\\d{1,3}$'")
@@ -674,6 +676,7 @@ macro(core_find_versions)
string(TOLOWER ${APP_VERSION_TAG} APP_VERSION_TAG_LC)
endif()
string(REPLACE "." "," FILE_VERSION ${APP_ADDON_API}.0)
+ set(JSONRPC_VERSION ${APP_JSONRPC_VERSION})
# Set defines used in addon.xml.in and read from versions.h to set add-on
# version parts automatically
@@ -698,6 +701,9 @@ macro(core_find_versions)
if(NOT DEFINED APP_VERSION_MAJOR OR NOT DEFINED APP_VERSION_MINOR)
message(FATAL_ERROR "Could not determine app version! Make sure that ${CORE_SOURCE_DIR}/version.txt exists")
endif()
+ if(NOT DEFINED JSONRPC_VERSION)
+ message(FATAL_ERROR "Could not determine json-rpc version! Make sure that ${CORE_SOURCE_DIR}/xbmc/interfaces/json-rpc/schema/version.txt exists")
+ endif()
endmacro()
# add-on xml's
diff --git a/xbmc/interfaces/json-rpc/schema/CMakeLists.txt b/xbmc/interfaces/json-rpc/schema/CMakeLists.txt
index aa6142bc7718..a4d5583fdbed 100644
--- a/xbmc/interfaces/json-rpc/schema/CMakeLists.txt
+++ b/xbmc/interfaces/json-rpc/schema/CMakeLists.txt
@@ -14,6 +14,7 @@ add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/addons/xbmc.json/addon.xml
COMMAND ${CMAKE_COMMAND}
-DCMAKE_SOURCE_DIR=${CMAKE_SOURCE_DIR}
-DCORE_BINARY_DIR=${CMAKE_BINARY_DIR}
+ -DCORE_SYSTEM_NAME=${CORE_SYSTEM_NAME}
-P ${CMAKE_CURRENT_SOURCE_DIR}/GenerateAddonXml.cmake
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
DEPENDS ${JSON_SRCS} ${CMAKE_SOURCE_DIR}/addons/xbmc.json/addon.xml.in
diff --git a/xbmc/interfaces/json-rpc/schema/GenerateAddonXml.cmake b/xbmc/interfaces/json-rpc/schema/GenerateAddonXml.cmake
index 53afaf8272f3..7f0817b6a801 100644
--- a/xbmc/interfaces/json-rpc/schema/GenerateAddonXml.cmake
+++ b/xbmc/interfaces/json-rpc/schema/GenerateAddonXml.cmake
@@ -1,5 +1,6 @@
-file(STRINGS ${CMAKE_SOURCE_DIR}/xbmc/interfaces/json-rpc/schema/version.txt jsonrpc_version)
+include(${CMAKE_SOURCE_DIR}/cmake/scripts/common/Macros.cmake)
+core_find_versions()
-execute_process(COMMAND ${CMAKE_COMMAND} -E remove ${CORE_BINARY_DIR}/addons/xbmc.json/addon.xml)
+file(REMOVE ${CORE_BINARY_DIR}/addons/xbmc.json/addon.xml)
configure_file(${CMAKE_SOURCE_DIR}/addons/xbmc.json/addon.xml.in
${CORE_BINARY_DIR}/addons/xbmc.json/addon.xml @ONLY)
diff --git a/xbmc/interfaces/json-rpc/schema/version.txt b/xbmc/interfaces/json-rpc/schema/version.txt
index 2bf50aaf17a6..7b9e4ea4acce 100644
--- a/xbmc/interfaces/json-rpc/schema/version.txt
+++ b/xbmc/interfaces/json-rpc/schema/version.txt
@@ -1 +1 @@
-8.3.0
+JSONRPC_VERSION 8.3.0
From 1cea4c73d24af3ed22789ece095379c66269fa6c Mon Sep 17 00:00:00 2001
From: wsnipex <wsnipex@a1.net>
Date: Wed, 1 Nov 2017 20:20:19 +0100
Subject: [PATCH 2/2] [JsonSchemabuilder] adjust version parsing
---
tools/depends/native/JsonSchemaBuilder/CMakeLists.txt | 2 ++
tools/depends/native/JsonSchemaBuilder/src/JsonSchemaBuilder.cpp | 3 ++-
tools/depends/native/JsonSchemaBuilder/src/Makefile.am | 1 +
3 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/tools/depends/native/JsonSchemaBuilder/CMakeLists.txt b/tools/depends/native/JsonSchemaBuilder/CMakeLists.txt
index 4fe8fdce40e8..783b8a3c5801 100644
--- a/tools/depends/native/JsonSchemaBuilder/CMakeLists.txt
+++ b/tools/depends/native/JsonSchemaBuilder/CMakeLists.txt
@@ -1,3 +1,5 @@
set(SOURCES src/JsonSchemaBuilder.cpp)
+set(CMAKE_CXX_STANDARD 11)
+set(CMAKE_CXX_STANDARD_REQUIRED ON)
add_executable(JsonSchemaBuilder ${SOURCES})
diff --git a/tools/depends/native/JsonSchemaBuilder/src/JsonSchemaBuilder.cpp b/tools/depends/native/JsonSchemaBuilder/src/JsonSchemaBuilder.cpp
index a267fd9d346e..9a8acdbd9bf5 100644
--- a/tools/depends/native/JsonSchemaBuilder/src/JsonSchemaBuilder.cpp
+++ b/tools/depends/native/JsonSchemaBuilder/src/JsonSchemaBuilder.cpp
@@ -22,6 +22,7 @@
#include <fstream>
#include <iostream>
#include <string>
+#include <regex>
using namespace std;
@@ -29,7 +30,7 @@ void print_version(ifstream &in, ofstream &out)
{
string line;
if (getline(in, line))
- out << line;
+ out << regex_replace(line, regex("(\\s+)?JSONRPC_VERSION\\s+|(\\s+)?#.*"), "");
}
void print_license(ifstream &in, ofstream &out)
diff --git a/tools/depends/native/JsonSchemaBuilder/src/Makefile.am b/tools/depends/native/JsonSchemaBuilder/src/Makefile.am
index 1d5e071bcaab..99454a1005e8 100644
--- a/tools/depends/native/JsonSchemaBuilder/src/Makefile.am
+++ b/tools/depends/native/JsonSchemaBuilder/src/Makefile.am
@@ -1,3 +1,4 @@
bin_PROGRAMS = JsonSchemaBuilder
JsonSchemaBuilder_SOURCES = JsonSchemaBuilder.cpp
+AM_CXXFLAGS = -O2 -std=c++11

View File

@ -18,8 +18,8 @@
PKG_NAME="ffmpeg"
# Current branch is: release/3.4-kodi
PKG_VERSION="d056a4c"
PKG_SHA256="c041ac2837473fdafbcbc2605d4104f7a3b9ba4d19e21a27487e3eb8581f7b6c"
PKG_VERSION="d413620"
PKG_SHA256="c02de2197f8b70544f018e83f48c1bed2a1b47e1a1aa34ef59d9167fb0d2090a"
PKG_ARCH="any"
PKG_LICENSE="LGPLv2.1+"
PKG_SITE="https://ffmpeg.org"
@ -87,8 +87,11 @@ pre_configure_target() {
strip_gold
if [ "$KODIPLAYER_DRIVER" = "bcm2835-driver" ]; then
CFLAGS="-I$SYSROOT_PREFIX/usr/include/interface/vcos/pthreads -I$SYSROOT_PREFIX/usr/include/interface/vmcs_host/linux -DRPI=1 $CFLAGS"
CFLAGS="-I$SYSROOT_PREFIX/usr/include/interface/vcos/pthreads -I$SYSROOT_PREFIX/usr/include/interface/vmcs_host/linux $CFLAGS"
FFMPEG_LIBS="-lbcm_host -lvcos -lvchiq_arm -lmmal -lmmal_core -lmmal_util -lvcsm"
FFMPEG_RPI="--enable-rpi"
else
FFMPEG_RPI="--disable-rpi"
fi
}
@ -149,6 +152,7 @@ configure_target() {
--disable-crystalhd \
$FFMPEG_VAAPI \
$FFMPEG_VDPAU \
$FFMPEG_RPI \
--disable-dxva2 \
--enable-runtime-cpudetect \
$FFMPEG_TABLES \
@ -175,6 +179,8 @@ configure_target() {
--enable-filters \
--disable-avisynth \
--enable-bzlib \
--disable-lzma \
--disable-alsa \
--disable-frei0r \
--disable-libopencore-amrnb \
--disable-libopencore-amrwb \

View File

@ -1,14 +0,0 @@
diff --git a/ffbuild/version.sh b/ffbuild/version.sh
index edc4dd3..d2b90a9 100755
--- a/ffbuild/version.sh
+++ b/ffbuild/version.sh
@@ -16,6 +16,9 @@ fi
test "$revision" || revision=$(cd "$1" &&
git log -1 --pretty=format:"git-%cd-%h" --date=short 2> /dev/null)
+# ignore any current revision, which is just that of the LibreELEC repository
+revision=
+
# Snapshots from gitweb are in a directory called ffmpeg-hhhhhhh or
# ffmpeg-HEAD-hhhhhhh.
if [ -z "$revision" ]; then

View File

@ -1,24 +0,0 @@
From 73fde6f9f3d01f7fc0f3ae4b66f6c725f9fb1105 Mon Sep 17 00:00:00 2001
From: Hendrik Leppkes <h.leppkes@gmail.com>
Date: Mon, 1 Sep 2014 11:39:09 +0200
Subject: [PATCH] h264_parser: force grabing a new timestamp until a frame
start was found
---
libavcodec/h264_parser.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/libavcodec/h264_parser.c b/libavcodec/h264_parser.c
index 2fd3f2b..7165652 100644
--- a/libavcodec/h264_parser.c
+++ b/libavcodec/h264_parser.c
@@ -525,6 +525,9 @@ static int h264_parse(AVCodecParserContext *s,
} else {
next = h264_find_frame_end(p, buf, buf_size);
+ if (next == END_NOT_FOUND && pc->frame_start_found == 0)
+ s->fetch_timestamp = 1;
+
if (ff_combine_frame(pc, next, &buf, &buf_size) < 0) {
*poutbuf = NULL;
*poutbuf_size = 0;

View File

@ -0,0 +1,48 @@
From 214a8ccc1489db28ce6cec2739365d7eebbdb0f9 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Fri, 5 Jun 2015 22:48:33 +0100
Subject: [PATCH] mpeg4video: Signal unsupported GMC with more than one warp
point
---
libavcodec/avcodec.h | 1 +
libavcodec/mpeg4videodec.c | 4 ++++
2 files changed, 5 insertions(+)
diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
index c207d3a784..08aa8112b1 100644
--- a/libavcodec/avcodec.h
+++ b/libavcodec/avcodec.h
@@ -2967,6 +2967,7 @@ typedef struct AVCodecContext {
#define FF_BUG_MS 8192 ///< Work around various bugs in Microsoft's broken decoders.
#define FF_BUG_TRUNCATED 16384
#define FF_BUG_IEDGE 32768
+#define FF_BUG_GMC_UNSUPPORTED (1<<30)
/**
* strictly follow the standard (MPEG-4, ...).
diff --git a/libavcodec/mpeg4videodec.c b/libavcodec/mpeg4videodec.c
index cd39131d55..d8c8227cb4 100644
--- a/libavcodec/mpeg4videodec.c
+++ b/libavcodec/mpeg4videodec.c
@@ -2250,6 +2250,9 @@ int ff_mpeg4_workaround_bugs(AVCodecContext *avctx)
if (ctx->divx_version >= 0)
s->workaround_bugs |= FF_BUG_HPEL_CHROMA;
+
+ if (ctx->num_sprite_warping_points > 1)
+ s->workaround_bugs |= FF_BUG_GMC_UNSUPPORTED;
}
if (s->workaround_bugs & FF_BUG_STD_QPEL) {
@@ -2274,6 +2277,7 @@ int ff_mpeg4_workaround_bugs(AVCodecContext *avctx)
s->workaround_bugs, ctx->lavc_build, ctx->xvid_build,
ctx->divx_version, ctx->divx_build, s->divx_packed ? "p" : "");
+ avctx->workaround_bugs = s->workaround_bugs;
if (CONFIG_MPEG4_DECODER && ctx->xvid_build >= 0 &&
s->codec_id == AV_CODEC_ID_MPEG4 &&
avctx->idct_algo == FF_IDCT_AUTO) {
--
2.14.1

View File

@ -0,0 +1,283 @@
From 8f170986cda0695f28eb2cd4e863aaae0e14d19f Mon Sep 17 00:00:00 2001
From: Hendrik Leppkes <h.leppkes@gmail.com>
Date: Sat, 9 Jan 2016 16:34:09 +0100
Subject: [PATCH 1/4] avcodec: add h264_mvc codec id and profiles
---
libavcodec/avcodec.h | 3 +++
libavcodec/codec_desc.c | 7 +++++++
libavcodec/profiles.c | 1 +
libavformat/mpegts.c | 2 +-
4 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
index 6c4b011b5c..8f1f5a3e53 100644
--- a/libavcodec/avcodec.h
+++ b/libavcodec/avcodec.h
@@ -449,6 +449,8 @@ enum AVCodecID {
AV_CODEC_ID_GDV,
AV_CODEC_ID_FITS,
+ AV_CODEC_ID_H264_MVC,
+
/* various PCM "codecs" */
AV_CODEC_ID_FIRST_AUDIO = 0x10000, ///< A dummy id pointing at the start of audio codecs
AV_CODEC_ID_PCM_S16LE = 0x10000,
@@ -3318,6 +3320,7 @@ typedef struct AVCodecContext {
#define FF_PROFILE_H264_HIGH_444_PREDICTIVE 244
#define FF_PROFILE_H264_HIGH_444_INTRA (244|FF_PROFILE_H264_INTRA)
#define FF_PROFILE_H264_CAVLC_444 44
+#define FF_PROFILE_H264_MULTIVIEW_HIGH_DEPTH 138
#define FF_PROFILE_VC1_SIMPLE 0
#define FF_PROFILE_VC1_MAIN 1
diff --git a/libavcodec/codec_desc.c b/libavcodec/codec_desc.c
index 478b7c0ffc..ff10f3b2bc 100644
--- a/libavcodec/codec_desc.c
+++ b/libavcodec/codec_desc.c
@@ -1700,6 +1700,13 @@ static const AVCodecDescriptor codec_descriptors[] = {
.long_name = NULL_IF_CONFIG_SMALL("YUY2 Lossless Codec"),
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
},
+ {
+ .id = AV_CODEC_ID_H264_MVC,
+ .type = AVMEDIA_TYPE_VIDEO,
+ .name = "h264_mvc",
+ .long_name = NULL_IF_CONFIG_SMALL("H264 MVC"),
+ .props = AV_CODEC_PROP_LOSSY,
+ },
/* various PCM "codecs" */
{
diff --git a/libavcodec/profiles.c b/libavcodec/profiles.c
index 30498efedf..9d3cf4b535 100644
--- a/libavcodec/profiles.c
+++ b/libavcodec/profiles.c
@@ -72,6 +72,7 @@ const AVProfile ff_h264_profiles[] = {
{ FF_PROFILE_H264_CAVLC_444, "CAVLC 4:4:4" },
{ FF_PROFILE_H264_MULTIVIEW_HIGH, "Multiview High" },
{ FF_PROFILE_H264_STEREO_HIGH, "Stereo High" },
+ { FF_PROFILE_H264_MULTIVIEW_HIGH_DEPTH, "Multiview High Depth" },
{ FF_PROFILE_UNKNOWN },
};
diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
index 53cbcfb543..f93f06fcfb 100644
--- a/libavformat/mpegts.c
+++ b/libavformat/mpegts.c
@@ -701,7 +701,7 @@ static const StreamType ISO_types[] = {
#endif
{ 0x1b, AVMEDIA_TYPE_VIDEO, AV_CODEC_ID_H264 },
{ 0x1c, AVMEDIA_TYPE_AUDIO, AV_CODEC_ID_AAC },
- { 0x20, AVMEDIA_TYPE_VIDEO, AV_CODEC_ID_H264 },
+ { 0x20, AVMEDIA_TYPE_VIDEO, AV_CODEC_ID_H264_MVC },
{ 0x21, AVMEDIA_TYPE_VIDEO, AV_CODEC_ID_JPEG2000 },
{ 0x24, AVMEDIA_TYPE_VIDEO, AV_CODEC_ID_HEVC },
{ 0x42, AVMEDIA_TYPE_VIDEO, AV_CODEC_ID_CAVS },
--
2.14.1
From 00de72f97e8f69f5d4c614bff956ec726f97fa2e Mon Sep 17 00:00:00 2001
From: Hendrik Leppkes <h.leppkes@gmail.com>
Date: Sat, 9 Jan 2016 16:34:40 +0100
Subject: [PATCH 2/4] h264_parser: add support for parsing h264 mvc NALUs
---
libavcodec/allcodecs.c | 1 +
libavcodec/h264.h | 2 ++
libavcodec/h264_parser.c | 34 ++++++++++++++++++++++++++++++----
3 files changed, 33 insertions(+), 4 deletions(-)
diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c
index 5361a22141..a5289a5e14 100644
--- a/libavcodec/allcodecs.c
+++ b/libavcodec/allcodecs.c
@@ -732,6 +732,7 @@ static void register_all(void)
REGISTER_PARSER(H261, h261);
REGISTER_PARSER(H263, h263);
REGISTER_PARSER(H264, h264);
+ REGISTER_PARSER(H264_MVC, h264_mvc);
REGISTER_PARSER(HEVC, hevc);
REGISTER_PARSER(MJPEG, mjpeg);
REGISTER_PARSER(MLP, mlp);
diff --git a/libavcodec/h264.h b/libavcodec/h264.h
index 86df5eb9b3..22c4f1d82a 100644
--- a/libavcodec/h264.h
+++ b/libavcodec/h264.h
@@ -41,7 +41,9 @@ enum {
H264_NAL_END_STREAM = 11,
H264_NAL_FILLER_DATA = 12,
H264_NAL_SPS_EXT = 13,
+ H264_NAL_SPS_SUBSET = 15,
H264_NAL_AUXILIARY_SLICE = 19,
+ H264_NAL_SLICE_EXT = 20,
};
#endif /* AVCODEC_H264_H */
diff --git a/libavcodec/h264_parser.c b/libavcodec/h264_parser.c
index 053325c26b..855c74896e 100644
--- a/libavcodec/h264_parser.c
+++ b/libavcodec/h264_parser.c
@@ -62,6 +62,7 @@ typedef struct H264ParseContext {
int parse_last_mb;
int64_t reference_dts;
int last_frame_num, last_picture_structure;
+ int is_mvc;
} H264ParseContext;
@@ -109,14 +110,18 @@ static int h264_find_frame_end(H264ParseContext *p, const uint8_t *buf,
} else if (state <= 5) {
int nalu_type = buf[i] & 0x1F;
if (nalu_type == H264_NAL_SEI || nalu_type == H264_NAL_SPS ||
- nalu_type == H264_NAL_PPS || nalu_type == H264_NAL_AUD) {
+ nalu_type == H264_NAL_PPS || nalu_type == H264_NAL_AUD ||
+ nalu_type == H264_NAL_SPS_SUBSET) {
if (pc->frame_start_found) {
i++;
goto found;
}
} else if (nalu_type == H264_NAL_SLICE || nalu_type == H264_NAL_DPA ||
- nalu_type == H264_NAL_IDR_SLICE)) {
+ nalu_type == H264_NAL_IDR_SLICE || (p->is_mvc && nalu_type == H264_NAL_SLICE_EXT)) {
state += 8;
+
+ if (nalu_type == H264_NAL_SLICE_EXT)
+ i += 3; // skip mvc extension
continue;
}
state = 7;
@@ -594,7 +599,8 @@ static int h264_parse(AVCodecParserContext *s,
}
}
- parse_nal_units(s, avctx, buf, buf_size);
+ if (!p->is_mvc)
+ parse_nal_units(s, avctx, buf, buf_size);
if (avctx->framerate.num)
avctx->time_base = av_inv_q(av_mul_q(avctx->framerate, (AVRational){avctx->ticks_per_frame, 1}));
@@ -651,7 +657,7 @@ static int h264_split(AVCodecContext *avctx,
if ((state & 0xFFFFFF00) != 0x100)
break;
nalu_type = state & 0x1F;
- if (nalu_type == H264_NAL_SPS) {
+ if (nalu_type == H264_NAL_SPS || nalu_type == H264_NAL_SPS_SUBSET) {
has_sps = 1;
} else if (nalu_type == H264_NAL_PPS)
has_pps = 1;
@@ -703,3 +709,23 @@ AVCodecParser ff_h264_parser = {
.parser_close = h264_close,
.split = h264_split,
};
+
+static av_cold int init_mvc(AVCodecParserContext *s)
+{
+ H264ParseContext *p = s->priv_data;
+ int ret = init(s);
+ if (ret < 0)
+ return ret;
+
+ p->is_mvc = 1;
+ return 0;
+}
+
+AVCodecParser ff_h264_mvc_parser = {
+ .codec_ids = { AV_CODEC_ID_H264_MVC },
+ .priv_data_size = sizeof(H264ParseContext),
+ .parser_init = init_mvc,
+ .parser_parse = h264_parse,
+ .parser_close = h264_close,
+ .split = h264_split,
+};
--
2.14.1
From bbf5daa149ccc2c462be1bd5f6f710eba0e82094 Mon Sep 17 00:00:00 2001
From: Hendrik Leppkes <h.leppkes@gmail.com>
Date: Tue, 28 Nov 2017 16:12:12 +0000
Subject: [PATCH 3/4] h264_parser: force grabing a new timestamp until a frame
start was found
---
libavcodec/h264_parser.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/libavcodec/h264_parser.c b/libavcodec/h264_parser.c
index 855c74896e..90a99a19a8 100644
--- a/libavcodec/h264_parser.c
+++ b/libavcodec/h264_parser.c
@@ -587,6 +587,9 @@ static int h264_parse(AVCodecParserContext *s,
} else {
next = h264_find_frame_end(p, buf, buf_size, avctx);
+ if (next == END_NOT_FOUND && pc->frame_start_found == 0)
+ s->fetch_timestamp = 1;
+
if (ff_combine_frame(pc, next, &buf, &buf_size) < 0) {
*poutbuf = NULL;
*poutbuf_size = 0;
--
2.14.1
From 3a0ebb0f7473a9a5ab93e01f7261862a3d324e50 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Tue, 28 Nov 2017 18:32:08 +0000
Subject: [PATCH 4/4] extract_extradata_bsf: Support H264_MVC
---
libavcodec/extract_extradata_bsf.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/libavcodec/extract_extradata_bsf.c b/libavcodec/extract_extradata_bsf.c
index ed6509c681..188e62a42d 100644
--- a/libavcodec/extract_extradata_bsf.c
+++ b/libavcodec/extract_extradata_bsf.c
@@ -56,7 +56,7 @@ static int extract_extradata_h2645(AVBSFContext *ctx, AVPacket *pkt,
HEVC_NAL_VPS, HEVC_NAL_SPS, HEVC_NAL_PPS,
};
static const int extradata_nal_types_h264[] = {
- H264_NAL_SPS, H264_NAL_PPS,
+ H264_NAL_SPS, H264_NAL_SPS_SUBSET, H264_NAL_PPS,
};
ExtractExtradataContext *s = ctx->priv_data;
@@ -88,14 +88,14 @@ static int extract_extradata_h2645(AVBSFContext *ctx, AVPacket *pkt,
if (nal->type == HEVC_NAL_SPS) has_sps = 1;
if (nal->type == HEVC_NAL_VPS) has_vps = 1;
} else {
- if (nal->type == H264_NAL_SPS) has_sps = 1;
+ if (nal->type == H264_NAL_SPS || nal->type == H264_NAL_SPS_SUBSET) has_sps = 1;
}
}
}
if (extradata_size &&
((ctx->par_in->codec_id == AV_CODEC_ID_HEVC && has_sps && has_vps) ||
- (ctx->par_in->codec_id == AV_CODEC_ID_H264 && has_sps))) {
+ ((ctx->par_in->codec_id == AV_CODEC_ID_H264 || ctx->par_in->codec_id == AV_CODEC_ID_H264_MVC) && has_sps))) {
AVBufferRef *filtered_buf;
uint8_t *extradata, *filtered_data;
@@ -247,6 +247,7 @@ static const struct {
} extract_tab[] = {
{ AV_CODEC_ID_CAVS, extract_extradata_mpeg4 },
{ AV_CODEC_ID_H264, extract_extradata_h2645 },
+ { AV_CODEC_ID_H264_MVC, extract_extradata_h2645 },
{ AV_CODEC_ID_HEVC, extract_extradata_h2645 },
{ AV_CODEC_ID_MPEG1VIDEO, extract_extradata_mpeg12 },
{ AV_CODEC_ID_MPEG2VIDEO, extract_extradata_mpeg12 },
@@ -306,6 +307,7 @@ fail:
static const enum AVCodecID codec_ids[] = {
AV_CODEC_ID_CAVS,
AV_CODEC_ID_H264,
+ AV_CODEC_ID_H264_MVC,
AV_CODEC_ID_HEVC,
AV_CODEC_ID_MPEG1VIDEO,
AV_CODEC_ID_MPEG2VIDEO,
--
2.14.1