[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20191026074959.1073512-1-jernej.skrabec@siol.net>
Date: Sat, 26 Oct 2019 09:49:56 +0200
From: Jernej Skrabec <jernej.skrabec@...l.net>
To: mripard@...nel.org, paul.kocialkowski@...tlin.com
Cc: mchehab@...nel.org, hverkuil-cisco@...all.nl,
gregkh@...uxfoundation.org, wens@...e.org,
linux-media@...r.kernel.org, devel@...verdev.osuosl.org,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
linux-sunxi@...glegroups.com
Subject: [PATCH 0/3] media: cedrus: Add support for 4k videos
While cedrus driver accepts videos up to 3840x2160, they are not decoded
correctly. Driver doesn't correctly set mode register for widths greater
than 2048 (patch 1). H264 engine also needs additional buffers which are
not provided currently (patch 2). Finally, there are several different
resolutions which can be considered 4k. Biggest is 4096x2304 which is
also supported by HW. Set that new maximum size (patch 3).
HEVC engine was not yet tested with 4k video, but as far as I know, it
doesn't need any special setting besides patch 1.
Following video was used for H264 video testing:
http://jernej.libreelec.tv/videos/h264/PUPPIES%20BATH%20IN%204K%20(ULTRA%20HD)(Original_H.264-AAC)%20(4ksamples.com).mp4
Note that at this point memory allocation is suboptimal and H264 engine
allocates far more memory that it is really needed. For above video to
work, I had to set CMA size to 512 MiB and add "vmalloc=512M" to kernel
arguments. Memory optimizations will be done later.
This series is based on top of https://patchwork.linuxtv.org/cover/59653/
Best regards,
Jernej
Jernej Skrabec (3):
media: cedrus: Properly signal size in mode register
media: cedrus: Fix H264 4k support
media: cedrus: Increase maximum supported size
drivers/staging/media/sunxi/cedrus/cedrus.h | 7 ++
.../staging/media/sunxi/cedrus/cedrus_h264.c | 85 +++++++++++++++++--
.../staging/media/sunxi/cedrus/cedrus_h265.c | 2 +-
.../staging/media/sunxi/cedrus/cedrus_hw.c | 9 +-
.../staging/media/sunxi/cedrus/cedrus_hw.h | 2 +-
.../staging/media/sunxi/cedrus/cedrus_mpeg2.c | 2 +-
.../staging/media/sunxi/cedrus/cedrus_regs.h | 13 +++
.../staging/media/sunxi/cedrus/cedrus_video.c | 4 +-
8 files changed, 108 insertions(+), 16 deletions(-)
--
2.23.0
Powered by blists - more mailing lists