diff options
author | Dmitry Kharitonov | 2018-04-22 18:45:57 +0500 |
---|---|---|
committer | Dmitry Kharitonov | 2018-04-22 18:45:57 +0500 |
commit | 43060280660fc58071daae3f7402e27ba8c37c45 (patch) | |
tree | eac26909cd61639b31a773d13a2351c381f45350 /ffmpeg-full-rkmpp-build-fix.patch | |
parent | a4a69b500e0a3da4b778c2580590e45c7dae883b (diff) | |
download | aur-43060280660fc58071daae3f7402e27ba8c37c45.tar.gz |
Updated to 4.0
Added support for: codec2, ffnvcodec, nvdec, Haivision SRT
Removed: gnutls (conflicts with openssl or libressl)
libavresample (deprecated, use swresample)
rkmpp patches (not needed anymore)
Changed: vmaf to vmaf-git and it's now x86_64 only
no more ffserver docs
Diffstat (limited to 'ffmpeg-full-rkmpp-build-fix.patch')
-rw-r--r-- | ffmpeg-full-rkmpp-build-fix.patch | 78 |
1 files changed, 0 insertions, 78 deletions
diff --git a/ffmpeg-full-rkmpp-build-fix.patch b/ffmpeg-full-rkmpp-build-fix.patch deleted file mode 100644 index 938affa0e2c3..000000000000 --- a/ffmpeg-full-rkmpp-build-fix.patch +++ /dev/null @@ -1,78 +0,0 @@ -From: LongChair <longchair@hotmail.com> -Date: Sat, 6 Jan 2018 08:36:58 +0000 (+0100) -Subject: avcodec/rkmpp : Fix broken build due to missing control operation -X-Git-Url: http://git.videolan.org/?p=ffmpeg.git;a=commitdiff_plain;h=c6f84106366c6f243a8b07dbffcc7880009aa904 - -avcodec/rkmpp : Fix broken build due to missing control operation - -This patch is taking care of https://trac.ffmpeg.org/ticket/6834. -It seems that one of the control operations that was available to get -the free decoders input slots was removed. - -There is another control operation to retrieve the used slots. Given -that the input slot count is hardcoded to 4 in mpp at this point, -replacing the old control operation by the other one. - -This was tested on Rockchip ROCK64. - -Signed-off-by: wm4 <nfxjfg@googlemail.com> ---- - -diff -Naurp a/configure b/configure ---- a/configure 2017-12-10 19:35:18.000000000 -0200 -+++ b/configure 2018-01-06 23:27:24.057673297 -0200 -@@ -6077,10 +6077,8 @@ enabled openssl && { use_pkg_c - check_lib openssl openssl/ssl.h SSL_library_init -lssl32 -leay32 || - check_lib openssl openssl/ssl.h SSL_library_init -lssl -lcrypto -lws2_32 -lgdi32 || - die "ERROR: openssl not found"; } --enabled rkmpp && { { require_pkg_config rockchip_mpp rockchip_mpp rockchip/rk_mpi.h mpp_create || -- die "ERROR : Rockchip MPP was not found."; } && -- { check_func_headers rockchip/rk_mpi_cmd.h "MPP_DEC_GET_FREE_PACKET_SLOT_COUNT" || -- die "ERROR: Rockchip MPP is outdated, please get a more recent one."; } && -+enabled rkmpp && { require_pkg_config rkmpp rockchip_mpp rockchip/rk_mpi.h mpp_create && -+ require_pkg_config rockchip_mpp "rockchip_mpp >= 1.3.7" rockchip/rk_mpi.h mpp_create && - { enabled libdrm || - die "ERROR: rkmpp requires --enable-libdrm"; } - } -diff --git a/libavcodec/rkmppdec.c b/libavcodec/rkmppdec.c -index c57a6ded38..946b827918 100644 ---- a/libavcodec/rkmppdec.c -+++ b/libavcodec/rkmppdec.c -@@ -40,6 +40,7 @@ - - #define RECEIVE_FRAME_TIMEOUT 100 - #define FRAMEGROUP_MAX_FRAMES 16 -+#define INPUT_MAX_PACKETS 4 - - typedef struct { - MppCtx ctx; -@@ -515,16 +516,17 @@ static int rkmpp_receive_frame(AVCodecContext *avctx, AVFrame *frame) - RKMPPDecoder *decoder = (RKMPPDecoder *)rk_context->decoder_ref->data; - int ret = MPP_NOK; - AVPacket pkt = {0}; -- RK_S32 freeslots; -+ RK_S32 usedslots, freeslots; - - if (!decoder->eos_reached) { - // we get the available slots in decoder -- ret = decoder->mpi->control(decoder->ctx, MPP_DEC_GET_FREE_PACKET_SLOT_COUNT, &freeslots); -+ ret = decoder->mpi->control(decoder->ctx, MPP_DEC_GET_STREAM_COUNT, &usedslots); - if (ret != MPP_OK) { -- av_log(avctx, AV_LOG_ERROR, "Failed to get decoder free slots (code = %d).\n", ret); -+ av_log(avctx, AV_LOG_ERROR, "Failed to get decoder used slots (code = %d).\n", ret); - return ret; - } - -+ freeslots = INPUT_MAX_PACKETS - usedslots; - if (freeslots > 0) { - ret = ff_decode_get_packet(avctx, &pkt); - if (ret < 0 && ret != AVERROR_EOF) { -@@ -541,7 +543,7 @@ static int rkmpp_receive_frame(AVCodecContext *avctx, AVFrame *frame) - } - - // make sure we keep decoder full -- if (freeslots > 1 && decoder->first_frame) -+ if (freeslots > 1) - return AVERROR(EAGAIN); - } - |