All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 1/1] package/ffmpeg: add fixes from Kodi project
Date: Sun, 17 Jan 2021 10:26:32 +0100	[thread overview]
Message-ID: <20210117092632.GA2375@scaer> (raw)
In-Reply-To: <20210115173332.536722-1-bernd.kuhls@t-online.de>

Bernd, All,

On 2021-01-15 18:33 +0100, Bernd Kuhls spake thusly:
> Adding these patches brings our ffmpeg package to the same level as the
> kodi-provided ffmpeg package allowing us to switch the kodi build to
> use the system-provided ffmpeg instead of its internal build when kodi
> is bumped to version 19.0-Matrix.

Although I usually frown on carrying patches specific to a downstream,
in this case one patch is an ctual backport, and the other has seen a
pretty good reception so far upstream.

> Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>

Applied to master, thanks.

Regards,
Yann E. MORIN.

> ---
>  ...264-skip-decode-if-pic-has-no-slices.patch | 36 ++++++++++++++++++
>  ...-make-sure-mpegts-read-header-always.patch | 38 +++++++++++++++++++
>  2 files changed, 74 insertions(+)
>  create mode 100644 package/ffmpeg/0003-avcodec-vaapi_h264-skip-decode-if-pic-has-no-slices.patch
>  create mode 100644 package/ffmpeg/0004-avformat-mpegts-make-sure-mpegts-read-header-always.patch
> 
> diff --git a/package/ffmpeg/0003-avcodec-vaapi_h264-skip-decode-if-pic-has-no-slices.patch b/package/ffmpeg/0003-avcodec-vaapi_h264-skip-decode-if-pic-has-no-slices.patch
> new file mode 100644
> index 0000000000..2892df9d81
> --- /dev/null
> +++ b/package/ffmpeg/0003-avcodec-vaapi_h264-skip-decode-if-pic-has-no-slices.patch
> @@ -0,0 +1,36 @@
> +From 2c6b3f357331e203ad87214984661c40704aceb7 Mon Sep 17 00:00:00 2001
> +From: Rainer Hochecker <fernetmenta@online.de>
> +Date: Sat, 26 Jan 2019 19:48:35 +0100
> +Subject: [PATCH] avcodec/vaapi_h264: skip decode if pic has no slices
> +
> +This fixes / workarounds https://bugs.freedesktop.org/show_bug.cgi?id=105368.
> +It was hit frequently when watching h264 channels received via DVB-X.
> +Corresponding kodi bug: https://github.com/xbmc/xbmc/issues/15704
> +
> +Downloaded from Kodi ffmpeg repo:
> +https://github.com/xbmc/FFmpeg/commit/2c6b3f357331e203ad87214984661c40704aceb7
> +
> +Patch was sent upstream:
> +http://ffmpeg.org/pipermail/ffmpeg-devel/2019-March/240863.html
> +
> +Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
> +---
> + libavcodec/vaapi_h264.c | 5 +++++
> + 1 file changed, 5 insertions(+)
> +
> +diff --git a/libavcodec/vaapi_h264.c b/libavcodec/vaapi_h264.c
> +index dd2a6571604..e521a05c4ff 100644
> +--- a/libavcodec/vaapi_h264.c
> ++++ b/libavcodec/vaapi_h264.c
> +@@ -314,6 +314,11 @@ static int vaapi_h264_end_frame(AVCodecContext *avctx)
> +     H264SliceContext *sl = &h->slice_ctx[0];
> +     int ret;
> + 
> ++    if (pic->nb_slices == 0) {
> ++        ret = AVERROR_INVALIDDATA;
> ++        goto finish;
> ++    }
> ++
> +     ret = ff_vaapi_decode_issue(avctx, pic);
> +     if (ret < 0)
> +         goto finish;
> diff --git a/package/ffmpeg/0004-avformat-mpegts-make-sure-mpegts-read-header-always.patch b/package/ffmpeg/0004-avformat-mpegts-make-sure-mpegts-read-header-always.patch
> new file mode 100644
> index 0000000000..75a39d16fa
> --- /dev/null
> +++ b/package/ffmpeg/0004-avformat-mpegts-make-sure-mpegts-read-header-always.patch
> @@ -0,0 +1,38 @@
> +From 3136f41e6db8189994a8e4f72eacc92b669776d1 Mon Sep 17 00:00:00 2001
> +From: Marton Balint <cus@passwd.hu>
> +Date: Sun, 15 Nov 2020 00:39:41 +0100
> +Subject: [PATCH] avformat/mpegts: make sure mpegts_read_header always stops at
> + the first pmt
> +
> +mpegts_read_header stops parsing the file at the first PMT. However the check
> +that ensured this was wrong because streams can also be added before the first
> +PMT is received (e.g. EIT).
> +
> +So let's make sure we are in the header reading phase by checking if ts->pkt is
> +unset instead of checking if the number of streams found so far is 0.
> +
> +Downloaded from Kodi ffmpeg repo:
> +https://github.com/xbmc/FFmpeg/commit/3136f41e6db8189994a8e4f72eacc92b669776d1
> +
> +Patch was committed upstream:
> +http://git.videolan.org/?p=ffmpeg.git;a=patch;h=ca55240b8c1fd4cfdb61f88fd2cb378d475d910a
> +
> +Signed-off-by: Marton Balint <cus@passwd.hu>
> +Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
> +---
> + libavformat/mpegts.c | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
> +index c6fd3e1cef63..1da81a0fe62a 100644
> +--- a/libavformat/mpegts.c
> ++++ b/libavformat/mpegts.c
> +@@ -2352,7 +2352,7 @@ static void pmt_cb(MpegTSFilter *filter, const uint8_t *section, int section_len
> +         goto out;
> + 
> +     // stop parsing after pmt, we found header
> +-    if (!ts->stream->nb_streams)
> ++    if (!ts->pkt)
> +         ts->stop_parse = 2;
> + 
> +     set_pmt_found(ts, h->id);
> -- 
> 2.29.2
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

      reply	other threads:[~2021-01-17  9:26 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-15 17:33 [Buildroot] [PATCH 1/1] package/ffmpeg: add fixes from Kodi project Bernd Kuhls
2021-01-17  9:26 ` Yann E. MORIN [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210117092632.GA2375@scaer \
    --to=yann.morin.1998@free.fr \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.