From: Jernej Skrabec <jernej.skrabec@siol.net>
To: paul.kocialkowski@bootlin.com, mripard@kernel.org
Cc: devel@driverdev.osuosl.org, jonas@kwiboo.se,
gregkh@linuxfoundation.org, linux-kernel@vger.kernel.org,
nicolas@ndufresne.ca, wens@csie.org, hverkuil-cisco@xs4all.nl,
mchehab@kernel.org, linux-arm-kernel@lists.infradead.org,
linux-media@vger.kernel.org
Subject: [PATCH 0/3] media: uapi: cedrus: Fix decoding interlaced H264 content
Date: Thu, 4 Jun 2020 20:57:42 +0200 [thread overview]
Message-ID: <20200604185745.23568-1-jernej.skrabec@siol.net> (raw)
Currently H264 interlaced content it's not properly decoded on Cedrus.
There are two reasons for this:
1. slice parameters control doesn't provide enough information
2. bug in frame list construction in Cedrus driver
As described in commit message in patch 1, references stored in
reference lists should tell if reference targets top or bottom field.
However, this information is currently not provided. Patch 1 adds
it in form of flags which are set for each reference. Patch 2 then
uses those flags in Cedrus driver.
Frame list construction is fixed in patch 3.
This solution was extensively tested using Kodi on LibreELEC with A64,
H3, H5 and H6 SoCs in slightly different form (flags were transmitted
in MSB bits in index).
Note: I'm not 100% sure if flags for both, top and bottom fields are
needed. Any input here would be welcome.
Please take a look.
Best regards,
Jernej
Jernej Skrabec (3):
media: uapi: h264: update reference lists
media: cedrus: h264: Properly configure reference field
media: cedrus: h264: Fix frame list construction
.../media/v4l/ext-ctrls-codec.rst | 40 ++++++++++++++++++-
.../staging/media/sunxi/cedrus/cedrus_h264.c | 27 +++++++------
include/media/h264-ctrls.h | 12 +++++-
3 files changed, 62 insertions(+), 17 deletions(-)
--
2.27.0
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next reply other threads:[~2020-06-04 18:55 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-04 18:57 Jernej Skrabec [this message]
2020-06-04 18:57 ` [PATCH 1/3] media: uapi: h264: update reference lists Jernej Skrabec
2020-06-05 17:08 ` Nicolas Dufresne
2020-06-05 17:13 ` Nicolas Dufresne
2020-06-05 17:26 ` Jernej Škrabec
2020-07-08 13:28 ` Ezequiel Garcia
2020-07-08 15:57 ` Jernej Škrabec
2020-07-09 0:59 ` Nicolas Dufresne
2020-06-04 18:57 ` [PATCH 2/3] media: cedrus: h264: Properly configure reference field Jernej Skrabec
2020-06-05 17:16 ` Nicolas Dufresne
2020-06-05 17:26 ` Jernej Škrabec
2020-06-04 18:57 ` [PATCH 3/3] media: cedrus: h264: Fix frame list construction Jernej Skrabec
2020-06-06 12:46 ` [PATCH 0/3] media: uapi: cedrus: Fix decoding interlaced H264 content Ezequiel Garcia
2020-06-07 20:21 ` Nicolas Dufresne
2020-06-07 20:29 ` Nicolas Dufresne
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=20200604185745.23568-1-jernej.skrabec@siol.net \
--to=jernej.skrabec@siol.net \
--cc=devel@driverdev.osuosl.org \
--cc=gregkh@linuxfoundation.org \
--cc=hverkuil-cisco@xs4all.nl \
--cc=jonas@kwiboo.se \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=mchehab@kernel.org \
--cc=mripard@kernel.org \
--cc=nicolas@ndufresne.ca \
--cc=paul.kocialkowski@bootlin.com \
--cc=wens@csie.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox