linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [GIT PULL FOR v5.19] H.264 Field Decoding Support for Frame-based Decoders
@ 2022-04-29  6:07 Hans Verkuil
  2022-04-29  6:36 ` [GIT PULL FOR v5.19] H.264 Field Decoding Support for Frame-based (#82804) Jenkins
  0 siblings, 1 reply; 3+ messages in thread
From: Hans Verkuil @ 2022-04-29  6:07 UTC (permalink / raw)
  To: Linux Media Mailing List; +Cc: Nicolas Dufresne, Jonas Karlman

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

The following changes since commit 6c1c1eb8c87de221051b9198d40971640060842f:

  media: ext-ctrls-codec.rst: fix indentation (2022-04-25 23:55:02 +0100)

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 837f4cd1ceefa0e52631da3df382ed495784c290:

  media: hantro: Enable HOLD_CAPTURE_BUF for H.264 (2022-04-28 10:55:13 +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(-)

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [GIT PULL FOR v5.19] H.264 Field Decoding Support for Frame-based (#82804)
  2022-04-29  6:07 [GIT PULL FOR v5.19] H.264 Field Decoding Support for Frame-based Decoders Hans Verkuil
@ 2022-04-29  6:36 ` Jenkins
  2022-05-13  8:09   ` Mauro Carvalho Chehab
  0 siblings, 1 reply; 3+ messages in thread
From: Jenkins @ 2022-04-29  6:36 UTC (permalink / raw)
  To: mchehab+samsung, linux-media; +Cc: builder

From: builder@linuxtv.org

Pull request: https://patchwork.linuxtv.org/project/linux-media/patch/5ac6c664-c130-265a-c8e0-6a47c9ebbd3f@xs4all.nl/
Build log: https://builder.linuxtv.org/job/patchwork/203191/
Build time: 00:24:05
Link: https://lore.kernel.org/linux-media/5ac6c664-c130-265a-c8e0-6a47c9ebbd3f@xs4all.nl

gpg: Signature made Fri 29 Apr 2022 06:02:35 AM UTC
gpg:                using EDDSA key 52ADCAAE8A4F70B99ACD8D726B425DF79B1C1E76
gpg: Can't check signature: No public key

Summary: got 4/23 patches with issues, being 4 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:
	../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)
	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/pci/cx23885/cx23885-dvb.c: ../drivers/media/pci/cx23885/cx23885-dvb.c:2625 dvb_register() parse error: turning off implications after 60 seconds
	../drivers/media/test-drivers/vivid/vivid-core.c: ../drivers/media/test-drivers/vivid/vivid-core.c:1981 vivid_create_instance() parse error: turning off implications after 60 seconds
	../drivers/media/usb/em28xx/em28xx-video.c: ../drivers/media/usb/em28xx/em28xx-video.c:2888 em28xx_v4l2_init() parse error: turning off implications after 60 seconds

patches/0004-media-h264-Use-v4l2_h264_reference-for-reflist.patch:

    allyesconfig: return code #512:
	../drivers/media/platform/nvidia/tegra-vde/h264.c:823:22: error: ‘struct <anonymous>’ has no member named ‘top_field_order_cnt’
	make[6]: *** [../scripts/Makefile.build:288: drivers/media/platform/nvidia/tegra-vde/h264.o] Error 1
	make[5]: *** [../scripts/Makefile.build:550: drivers/media/platform/nvidia/tegra-vde] Error 2
	make[4]: *** [../scripts/Makefile.build:550: drivers/media/platform/nvidia] Error 2
	make[4]: *** Waiting for unfinished jobs....
	make[3]: *** [../scripts/Makefile.build:550: drivers/media/platform] Error 2
	make[2]: *** [../scripts/Makefile.build:550: drivers/media] Error 2
	make[1]: *** [/var/lib/jenkins/workspace/patchwork/Makefile:1834: drivers] Error 2
	make: *** [Makefile:219: __sub-make] Error 2

    allmodconfig: return code #512:
	../drivers/media/platform/nvidia/tegra-vde/h264.c:823:22: error: ‘struct <anonymous>’ has no member named ‘top_field_order_cnt’
	make[6]: *** [../scripts/Makefile.build:288: drivers/media/platform/nvidia/tegra-vde/h264.o] Error 1
	make[5]: *** [../scripts/Makefile.build:550: drivers/media/platform/nvidia/tegra-vde] Error 2
	make[4]: *** [../scripts/Makefile.build:550: drivers/media/platform/nvidia] Error 2
	make[4]: *** Waiting for unfinished jobs....
	make[3]: *** [../scripts/Makefile.build:550: drivers/media/platform] Error 2
	make[3]: *** Waiting for unfinished jobs....
	make[2]: *** [../scripts/Makefile.build:550: drivers/media] Error 2
	make[1]: *** [/var/lib/jenkins/workspace/patchwork/Makefile:1834: drivers] Error 2
	make: *** [Makefile:219: __sub-make] Error 2

patches/0005-media-h264-Increase-reference-lists-size-to-32.patch:

    allyesconfig: return code #512:
	../drivers/media/platform/nvidia/tegra-vde/h264.c:823:22: error: ‘struct <anonymous>’ has no member named ‘top_field_order_cnt’
	make[6]: *** [../scripts/Makefile.build:288: drivers/media/platform/nvidia/tegra-vde/h264.o] Error 1
	make[5]: *** [../scripts/Makefile.build:550: drivers/media/platform/nvidia/tegra-vde] Error 2
	make[4]: *** [../scripts/Makefile.build:550: drivers/media/platform/nvidia] Error 2
	make[4]: *** Waiting for unfinished jobs....
	make[3]: *** [../scripts/Makefile.build:550: drivers/media/platform] Error 2
	make[2]: *** [../scripts/Makefile.build:550: drivers/media] Error 2
	make[1]: *** [/var/lib/jenkins/workspace/patchwork/Makefile:1834: drivers] Error 2
	make: *** [Makefile:219: __sub-make] Error 2

    allmodconfig: return code #512:
	../drivers/media/platform/nvidia/tegra-vde/h264.c:823:22: error: ‘struct <anonymous>’ has no member named ‘top_field_order_cnt’
	make[6]: *** [../scripts/Makefile.build:288: drivers/media/platform/nvidia/tegra-vde/h264.o] Error 1
	make[5]: *** [../scripts/Makefile.build:550: drivers/media/platform/nvidia/tegra-vde] Error 2
	make[4]: *** [../scripts/Makefile.build:550: drivers/media/platform/nvidia] Error 2
	make[4]: *** Waiting for unfinished jobs....
	make[3]: *** [../scripts/Makefile.build:550: drivers/media/platform] Error 2
	make[3]: *** Waiting for unfinished jobs....
	make[2]: *** [../scripts/Makefile.build:550: drivers/media] Error 2
	make[1]: *** [/var/lib/jenkins/workspace/patchwork/Makefile:1834: drivers] Error 2
	make: *** [Makefile:219: __sub-make] Error 2

patches/0006-media-h264-Store-current-picture-fields.patch:

    allyesconfig: return code #512:
	../drivers/media/platform/nvidia/tegra-vde/h264.c:823:22: error: ‘struct <anonymous>’ has no member named ‘top_field_order_cnt’
	make[6]: *** [../scripts/Makefile.build:288: drivers/media/platform/nvidia/tegra-vde/h264.o] Error 1
	make[5]: *** [../scripts/Makefile.build:550: drivers/media/platform/nvidia/tegra-vde] Error 2
	make[4]: *** [../scripts/Makefile.build:550: drivers/media/platform/nvidia] Error 2
	make[4]: *** Waiting for unfinished jobs....
	make[3]: *** [../scripts/Makefile.build:550: drivers/media/platform] Error 2
	make[2]: *** [../scripts/Makefile.build:550: drivers/media] Error 2
	make[1]: *** [/var/lib/jenkins/workspace/patchwork/Makefile:1834: drivers] Error 2
	make: *** [Makefile:219: __sub-make] Error 2

    allmodconfig: return code #512:
	../drivers/media/platform/nvidia/tegra-vde/h264.c:823:22: error: ‘struct <anonymous>’ has no member named ‘top_field_order_cnt’
	make[6]: *** [../scripts/Makefile.build:288: drivers/media/platform/nvidia/tegra-vde/h264.o] Error 1
	make[5]: *** [../scripts/Makefile.build:550: drivers/media/platform/nvidia/tegra-vde] Error 2
	make[4]: *** [../scripts/Makefile.build:550: drivers/media/platform/nvidia] Error 2
	make[4]: *** Waiting for unfinished jobs....
	make[3]: *** [../scripts/Makefile.build:550: drivers/media/platform] Error 2
	make[3]: *** Waiting for unfinished jobs....
	make[2]: *** [../scripts/Makefile.build:550: drivers/media] Error 2
	make[1]: *** [/var/lib/jenkins/workspace/patchwork/Makefile:1834: drivers] Error 2
	make: *** [Makefile:219: __sub-make] Error 2


Error #512 when building PDF docs


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [GIT PULL FOR v5.19] H.264 Field Decoding Support for Frame-based (#82804)
  2022-04-29  6:36 ` [GIT PULL FOR v5.19] H.264 Field Decoding Support for Frame-based (#82804) Jenkins
@ 2022-05-13  8:09   ` Mauro Carvalho Chehab
  0 siblings, 0 replies; 3+ messages in thread
From: Mauro Carvalho Chehab @ 2022-05-13  8:09 UTC (permalink / raw)
  To: Hans Verkuil; +Cc: linux-media

Hi Hans,

Em Fri, 29 Apr 2022 06:36:21 +0000
Jenkins <jenkins@linuxtv.org> escreveu:

> From: builder@linuxtv.org
> 
> Pull request: https://patchwork.linuxtv.org/project/linux-media/patch/5ac6c664-c130-265a-c8e0-6a47c9ebbd3f@xs4all.nl/
> Build log: https://builder.linuxtv.org/job/patchwork/203191/
> Build time: 00:24:05
> Link: https://lore.kernel.org/linux-media/5ac6c664-c130-265a-c8e0-6a47c9ebbd3f@xs4all.nl
> 
> gpg: Signature made Fri 29 Apr 2022 06:02:35 AM UTC
> gpg:                using EDDSA key 52ADCAAE8A4F70B99ACD8D726B425DF79B1C1E76
> gpg: Can't check signature: No public key
> 
> Summary: got 4/23 patches with issues, being 4 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:
> 	../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)
> 	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/pci/cx23885/cx23885-dvb.c: ../drivers/media/pci/cx23885/cx23885-dvb.c:2625 dvb_register() parse error: turning off implications after 60 seconds
> 	../drivers/media/test-drivers/vivid/vivid-core.c: ../drivers/media/test-drivers/vivid/vivid-core.c:1981 vivid_create_instance() parse error: turning off implications after 60 seconds
> 	../drivers/media/usb/em28xx/em28xx-video.c: ../drivers/media/usb/em28xx/em28xx-video.c:2888 em28xx_v4l2_init() parse error: turning off implications after 60 seconds
> 
> patches/0004-media-h264-Use-v4l2_h264_reference-for-reflist.patch:
> 
>     allyesconfig: return code #512:
> 	../drivers/media/platform/nvidia/tegra-vde/h264.c:823:22: error: ‘struct <anonymous>’ has no member named ‘top_field_order_cnt’
> 	make[6]: *** [../scripts/Makefile.build:288: drivers/media/platform/nvidia/tegra-vde/h264.o] Error 1
> 	make[5]: *** [../scripts/Makefile.build:550: drivers/media/platform/nvidia/tegra-vde] Error 2
> 	make[4]: *** [../scripts/Makefile.build:550: drivers/media/platform/nvidia] Error 2
> 	make[4]: *** Waiting for unfinished jobs....
> 	make[3]: *** [../scripts/Makefile.build:550: drivers/media/platform] Error 2
> 	make[2]: *** [../scripts/Makefile.build:550: drivers/media] Error 2
> 	make[1]: *** [/var/lib/jenkins/workspace/patchwork/Makefile:1834: drivers] Error 2
> 	make: *** [Makefile:219: __sub-make] Error 2


This series break Kernel compilation. Please fix it and resubmit.

Thanks,
Mauro

> 
>     allmodconfig: return code #512:
> 	../drivers/media/platform/nvidia/tegra-vde/h264.c:823:22: error: ‘struct <anonymous>’ has no member named ‘top_field_order_cnt’
> 	make[6]: *** [../scripts/Makefile.build:288: drivers/media/platform/nvidia/tegra-vde/h264.o] Error 1
> 	make[5]: *** [../scripts/Makefile.build:550: drivers/media/platform/nvidia/tegra-vde] Error 2
> 	make[4]: *** [../scripts/Makefile.build:550: drivers/media/platform/nvidia] Error 2
> 	make[4]: *** Waiting for unfinished jobs....
> 	make[3]: *** [../scripts/Makefile.build:550: drivers/media/platform] Error 2
> 	make[3]: *** Waiting for unfinished jobs....
> 	make[2]: *** [../scripts/Makefile.build:550: drivers/media] Error 2
> 	make[1]: *** [/var/lib/jenkins/workspace/patchwork/Makefile:1834: drivers] Error 2
> 	make: *** [Makefile:219: __sub-make] Error 2
> 
> patches/0005-media-h264-Increase-reference-lists-size-to-32.patch:
> 
>     allyesconfig: return code #512:
> 	../drivers/media/platform/nvidia/tegra-vde/h264.c:823:22: error: ‘struct <anonymous>’ has no member named ‘top_field_order_cnt’
> 	make[6]: *** [../scripts/Makefile.build:288: drivers/media/platform/nvidia/tegra-vde/h264.o] Error 1
> 	make[5]: *** [../scripts/Makefile.build:550: drivers/media/platform/nvidia/tegra-vde] Error 2
> 	make[4]: *** [../scripts/Makefile.build:550: drivers/media/platform/nvidia] Error 2
> 	make[4]: *** Waiting for unfinished jobs....
> 	make[3]: *** [../scripts/Makefile.build:550: drivers/media/platform] Error 2
> 	make[2]: *** [../scripts/Makefile.build:550: drivers/media] Error 2
> 	make[1]: *** [/var/lib/jenkins/workspace/patchwork/Makefile:1834: drivers] Error 2
> 	make: *** [Makefile:219: __sub-make] Error 2
> 
>     allmodconfig: return code #512:
> 	../drivers/media/platform/nvidia/tegra-vde/h264.c:823:22: error: ‘struct <anonymous>’ has no member named ‘top_field_order_cnt’
> 	make[6]: *** [../scripts/Makefile.build:288: drivers/media/platform/nvidia/tegra-vde/h264.o] Error 1
> 	make[5]: *** [../scripts/Makefile.build:550: drivers/media/platform/nvidia/tegra-vde] Error 2
> 	make[4]: *** [../scripts/Makefile.build:550: drivers/media/platform/nvidia] Error 2
> 	make[4]: *** Waiting for unfinished jobs....
> 	make[3]: *** [../scripts/Makefile.build:550: drivers/media/platform] Error 2
> 	make[3]: *** Waiting for unfinished jobs....
> 	make[2]: *** [../scripts/Makefile.build:550: drivers/media] Error 2
> 	make[1]: *** [/var/lib/jenkins/workspace/patchwork/Makefile:1834: drivers] Error 2
> 	make: *** [Makefile:219: __sub-make] Error 2
> 
> patches/0006-media-h264-Store-current-picture-fields.patch:
> 
>     allyesconfig: return code #512:
> 	../drivers/media/platform/nvidia/tegra-vde/h264.c:823:22: error: ‘struct <anonymous>’ has no member named ‘top_field_order_cnt’
> 	make[6]: *** [../scripts/Makefile.build:288: drivers/media/platform/nvidia/tegra-vde/h264.o] Error 1
> 	make[5]: *** [../scripts/Makefile.build:550: drivers/media/platform/nvidia/tegra-vde] Error 2
> 	make[4]: *** [../scripts/Makefile.build:550: drivers/media/platform/nvidia] Error 2
> 	make[4]: *** Waiting for unfinished jobs....
> 	make[3]: *** [../scripts/Makefile.build:550: drivers/media/platform] Error 2
> 	make[2]: *** [../scripts/Makefile.build:550: drivers/media] Error 2
> 	make[1]: *** [/var/lib/jenkins/workspace/patchwork/Makefile:1834: drivers] Error 2
> 	make: *** [Makefile:219: __sub-make] Error 2
> 
>     allmodconfig: return code #512:
> 	../drivers/media/platform/nvidia/tegra-vde/h264.c:823:22: error: ‘struct <anonymous>’ has no member named ‘top_field_order_cnt’
> 	make[6]: *** [../scripts/Makefile.build:288: drivers/media/platform/nvidia/tegra-vde/h264.o] Error 1
> 	make[5]: *** [../scripts/Makefile.build:550: drivers/media/platform/nvidia/tegra-vde] Error 2
> 	make[4]: *** [../scripts/Makefile.build:550: drivers/media/platform/nvidia] Error 2
> 	make[4]: *** Waiting for unfinished jobs....
> 	make[3]: *** [../scripts/Makefile.build:550: drivers/media/platform] Error 2
> 	make[3]: *** Waiting for unfinished jobs....
> 	make[2]: *** [../scripts/Makefile.build:550: drivers/media] Error 2
> 	make[1]: *** [/var/lib/jenkins/workspace/patchwork/Makefile:1834: drivers] Error 2
> 	make: *** [Makefile:219: __sub-make] Error 2
> 
> 
> Error #512 when building PDF docs
> 



Thanks,
Mauro

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-05-13  8:09 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-29  6:07 [GIT PULL FOR v5.19] H.264 Field Decoding Support for Frame-based Decoders Hans Verkuil
2022-04-29  6:36 ` [GIT PULL FOR v5.19] H.264 Field Decoding Support for Frame-based (#82804) Jenkins
2022-05-13  8:09   ` Mauro Carvalho Chehab

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).