mbox series

[GIT,PULL,FOR,v5.19] v2: H.264 Field Decoding Support for Frame-based Decoders

Message ID 68d6a73a-5571-0ea3-0fca-ff06fe6bda45@xs4all.nl (mailing list archive)
State New, archived
Headers show
Series [GIT,PULL,FOR,v5.19] v2: H.264 Field Decoding Support for Frame-based Decoders | expand

Pull-request

git://linuxtv.org/hverkuil/media_tree.git tags/br-v5.19f

Message

Hans Verkuil May 13, 2022, 8:46 a.m. UTC
This PR contains this Nicolas' v4 patch series:

https://patchwork.linuxtv.org/project/linux-media/patch/20220426125751.108293-2-nicolas.dufresne@collabora.com/

except for patch 03/24 ("media: videobuf2-v4l2: Warn on holding buffers without support")
which needs more work. It's independent of the other patches though, so that can be
done later.

Regards,

	Hans

Changes since v1:

- patch "Use v4l2_h264_reference for reflist" failed to compile: the tegra-vde change used
  a field that was only added 3 patches later ("Store all fields into the unordered list").
  Keep the old field and only update it in the later patch.


The following changes since commit 02970914dbc7152d6de615127261e778ef425a09:

  media: amphion: ensure the buffer count is not less than min_buffer (2022-05-13 10:05:09 +0200)

are available in the Git repository at:

  git://linuxtv.org/hverkuil/media_tree.git tags/br-v5.19f

for you to fetch changes up to 57ee62e3da43e55fe7a83115bc941e9c84b2cd1f:

  media: hantro: Enable HOLD_CAPTURE_BUF for H.264 (2022-05-13 10:42:24 +0200)

----------------------------------------------------------------
Tag branch

----------------------------------------------------------------
Jonas Karlman (5):
      media: rkvdec: h264: Fix bit depth wrap in pps packet
      media: rkvdec: h264: Validate and use pic width and height in mbs
      media: rkvdec: h264: Fix reference frame_num wrap for second field
      media: rkvdec: Ensure decoded resolution fit coded resolution
      media: hantro: h264: Make dpb entry management more robust

Nicolas Dufresne (18):
      media: doc: Document dual use of H.264 pic_num/frame_num
      media: v4l2-mem2mem: Trace on implicit un-hold
      media: h264: Avoid wrapping long_term_frame_idx
      media: h264: Use v4l2_h264_reference for reflist
      media: h264: Increase reference lists size to 32
      media: h264: Store current picture fields
      media: h264: Store all fields into the unordered list
      media: v4l2: Trace calculated p/b0/b1 initial reflist
      media: h264: Sort p/b reflist using frame_num
      media: v4l2: Reorder field reflist
      media: rkvdec: Stop overclocking the decoder
      media: rkvdec: h264: Fix dpb_valid implementation
      media: rkvdec: Move H264 SPS validation in rkvdec-h264
      media: rkvdec-h264: Add field decoding support
      media: rkvdec: Enable capture buffer holding for H264
      media: hantro: Stop using H.264 parameter pic_num
      media: hantro: Add H.264 field decoding support
      media: hantro: Enable HOLD_CAPTURE_BUF for H.264

 Documentation/userspace-api/media/v4l/ext-ctrls-codec-stateless.rst |  10 +-
 drivers/media/platform/mediatek/vcodec/vdec/vdec_h264_req_if.c      |  36 ++++--
 drivers/media/platform/nvidia/tegra-vde/h264.c                      |  19 ++--
 drivers/media/v4l2-core/v4l2-h264.c                                 | 275 +++++++++++++++++++++++++++++++++++++--------
 drivers/media/v4l2-core/v4l2-mem2mem.c                              |   1 +
 drivers/staging/media/hantro/hantro_g1_h264_dec.c                   |  38 +++----
 drivers/staging/media/hantro/hantro_h264.c                          | 134 ++++++++++++++++++----
 drivers/staging/media/hantro/hantro_hw.h                            |   8 +-
 drivers/staging/media/hantro/hantro_v4l2.c                          |  25 +++++
 drivers/staging/media/hantro/rockchip_vpu2_hw_h264_dec.c            |  98 ++++++++--------
 drivers/staging/media/rkvdec/rkvdec-h264.c                          | 157 +++++++++++++++++++-------
 drivers/staging/media/rkvdec/rkvdec.c                               |  35 ++----
 drivers/staging/media/rkvdec/rkvdec.h                               |   2 +
 include/media/v4l2-h264.h                                           |  31 ++---
 14 files changed, 634 insertions(+), 235 deletions(-)

Comments

Jenkins May 13, 2022, 10:49 a.m. UTC | #1
From: builder@linuxtv.org

Pull request: https://patchwork.linuxtv.org/project/linux-media/patch/68d6a73a-5571-0ea3-0fca-ff06fe6bda45@xs4all.nl/
Build log: https://builder.linuxtv.org/job/patchwork/207145/
Build time: 00:28:12
Link: https://lore.kernel.org/linux-media/68d6a73a-5571-0ea3-0fca-ff06fe6bda45@xs4all.nl

gpg: Signature made Fri 13 May 2022 08:43:06 AM UTC
gpg:                using EDDSA key 52ADCAAE8A4F70B99ACD8D726B425DF79B1C1E76
gpg: Can't check signature: No public key

Summary: got 1/23 patches with issues, being 1 at build time, plus one error when buinding PDF document

Error/warnings:

patches/0001-media-doc-Document-dual-use-of-H.264-pic_num-frame_n.patch:

    allyesconfig: return code #0:
	../scripts/genksyms/parse.y: warning: 9 shift/reduce conflicts [-Wconflicts-sr]
	../scripts/genksyms/parse.y: warning: 5 reduce/reduce conflicts [-Wconflicts-rr]
	../scripts/genksyms/parse.y: note: rerun with option '-Wcounterexamples' to generate conflict counterexamples

    allyesconfig: return code #0:
	SMATCH:../drivers/media/usb/siano/smsusb.c ../drivers/media/usb/siano/smsusb.c:53:38: :warning: array of flexible structures
	SPARSE:../drivers/media/usb/siano/smsusb.c ../drivers/media/usb/siano/smsusb.c:53:38: warning: array of flexible structures
	../drivers/media/platform/qcom/venus/helpers.c: ../drivers/media/platform/qcom/venus/helpers.c:678 venus_helper_get_bufreq() error: we previously assumed 'req' could be null (see line 674)
	../drivers/media/usb/em28xx/em28xx-video.c: ../drivers/media/usb/em28xx/em28xx-video.c:2900 em28xx_v4l2_init() parse error: turning off implications after 60 seconds


Error #512 when building PDF docs
Mauro Carvalho Chehab May 13, 2022, 1:11 p.m. UTC | #2
Hi Hans,

Em Fri, 13 May 2022 10:46:56 +0200
Hans Verkuil <hverkuil@xs4all.nl> escreveu:

> This PR contains this Nicolas' v4 patch series:
> 
> https://patchwork.linuxtv.org/project/linux-media/patch/20220426125751.108293-2-nicolas.dufresne@collabora.com/
> 
> except for patch 03/24 ("media: videobuf2-v4l2: Warn on holding buffers without support")
> which needs more work. It's independent of the other patches though, so that can be
> done later.
> 
> Regards,
> 
> 	Hans
> 
> Changes since v1:
> 
> - patch "Use v4l2_h264_reference for reflist" failed to compile: the tegra-vde change used
>   a field that was only added 3 patches later ("Store all fields into the unordered list").
>   Keep the old field and only update it in the later patch.
> 
> 
> The following changes since commit 02970914dbc7152d6de615127261e778ef425a09:
> 
>   media: amphion: ensure the buffer count is not less than min_buffer (2022-05-13 10:05:09 +0200)
> 
> are available in the Git repository at:
> 
>   git://linuxtv.org/hverkuil/media_tree.git tags/br-v5.19f
> 
> for you to fetch changes up to 57ee62e3da43e55fe7a83115bc941e9c84b2cd1f:
> 
>   media: hantro: Enable HOLD_CAPTURE_BUF for H.264 (2022-05-13 10:42:24 +0200)
> 
> ----------------------------------------------------------------
> Tag branch
> 
> ----------------------------------------------------------------
> Jonas Karlman (5):
>       media: rkvdec: h264: Fix bit depth wrap in pps packet
>       media: rkvdec: h264: Validate and use pic width and height in mbs
>       media: rkvdec: h264: Fix reference frame_num wrap for second field
>       media: rkvdec: Ensure decoded resolution fit coded resolution
>       media: hantro: h264: Make dpb entry management more robust
> 
> Nicolas Dufresne (18):
>       media: doc: Document dual use of H.264 pic_num/frame_num
>       media: v4l2-mem2mem: Trace on implicit un-hold
>       media: h264: Avoid wrapping long_term_frame_idx
>       media: h264: Use v4l2_h264_reference for reflist

This one has a non-trivial conflict. Basically, part of the code it
modifies are not there at the header file.

I suspect it could be due to some conflict with this patch:

commit 024b1f4fedc87db2aeea77dbfb1b32bbac096304
Author:     Yunfei Dong <yunfei.dong@mediatek.com>
AuthorDate: Thu May 12 04:19:46 2022 +0200
Commit:     Mauro Carvalho Chehab <mchehab@kernel.org>
CommitDate: Fri May 13 14:48:31 2022 +0200

    media: mediatek: vcodec: Extract H264 common code
    
    Mt8192 can use some of common code with mt8183. Moves them to
    a new file in order to reuse.
    
    [hverkuil: replaced memcpy_toio by memcpy, was left over from a prev version]
    
    Signed-off-by: Yunfei Dong <yunfei.dong@mediatek.com>
    Reviewed-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
    Tested-by: NĂ­colas F. R. A. Prado <nfraprado@collabora.com>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>

That was merged from another branch.

I'll apply only the 3 patches that came before this one, e. g.:

	4a18d21649f4 media: h264: Avoid wrapping long_term_frame_idx
	86ef61ad686c media: v4l2-mem2mem: Trace on implicit un-hold
	804e192a8114 media: doc: Document dual use of H.264 pic_num/frame_num

Regards,
Mauro

Thanks,
Mauro