tc358743 - incomplete first frame
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 45/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- c
- Domain
- audio-video-rtc, operating-systems
Research direction
Start with the tc358743 V4L2 capture path and reproduce the issue using the listed v4l2-ctl setup and the gst-launch-1.0 command. Compare the first and second captured frames; done means the first frame sent to the application is complete and matches the following valid frame.
Written by the indexing model from the issue text.
Description
Describe the bug
First frame received by V4L2 applications from the tc358743 HDMI-to-CSI chip is partially corrupted. It looks as if the application starts receiving the frame as soon as it requests it, but this means that the first frame will be incomplete (the top part will be missing). This causes problems when recording short video clips, as it's not possible to skip the first frame easily in some frameworks.
EDIT: for GStreamer workaround, see https://github.com/raspberrypi/linux/issues/4058#issuecomment-757572284
To reproduce
- install components of GStreamer 1.0
- enable
dtoverlay=tc358743in/boot/config.txtto hand the control of the CSI2 peripheral and the HDMI-to-CSI bridge to the Linux kernel - shutdown Pi
- connect Auvidea B101 to Raspberry using the CSI2 interface
- boot Pi
- send an EDID binary to the HDMI bridge:
v4l2-ctl -d /dev/video0 --set-edid file=/etc/edid.bin,format=raw - feed a signal to the HDMI input of the bridge
- sync timings between HDMI and CSI:
v4l2-ctl --set-dv-bt-timings query - run
gst-launch-1.0 v4l2src device=/dev/video0 num-buffers=2 ! jpegenc ! multifilesink location=test%d.jpg
test0.jpg will contain the first, corrupted frame, test1.jpg will contain the second, valid frame.
Expected behaviour
Only complete frame data is sent to the application. - test0.jpg should be the same as test1.jpg.
Actual behaviour
First frame (test0.jpg):

Second frame (test1.jpg):

System
Pastebin link to raspinfo output: https://pastebin.com/fb8gHFJT
- Dominant language
- C
- Stars
- 13.2k
- Forks
- 5.5k
- Avg merge
- 2d 21h
- Merged PRs (30d)
- 21
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from raspberrypi/linux
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
raspberrypi/linux#7415 · 2 comments · 1 reaction ·
-
rp1-cfe doesn't forward V4L2_EVENT_SOURCE_CHANGE event from csi-2 sensor driver to userspace app Open
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
raspberrypi/linux#7399 · 1 comment ·
-
Difficulty 1/5 Under an hour Newbie friendliness 82/100
raspberrypi/linux#7357 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
raspberrypi/linux#7054 · 2 comments ·
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
raspberrypi/linux#7634 · 8 comments · 1 reaction ·
All issues in raspberrypi/linux
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
zephyrproject-rtos/zephyr#119726 ·
-
[Bounty proposal] fix(web): memory insights count an evening memory on the next day ($25 proposed) Open
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
BasedHardware/omi#15320 ·
-
[adam] AdamNet network read doesn't cap to MAX_ADAM_PACKET_LEN, overflows client receive buffers Open
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
FujiNetWIFI/fujinet-firmware#1649 · 2 comments ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
HarbourMasters/Shipwright#7229 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
riscv-software-src/riscv-isa-sim#2435 · 1 comment ·