watery01 / libyuv

Automatically exported from code.google.com/p/libyuv
0 stars 0 forks source link

v4l YU12 'preditor' bug #112

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
On Precise with Logitech B910 or MS Lifecam 3000.. and probably others, 
capturing with YU12 at 1280x720 we see an artifact around edges of people.
As it achieves 30 fps, the capture is likely MJPG converted to YU12 and the 
artifact may be the internal libv4l conversion?
If we capture MJPG and convert with libyuv, it looks ok.
If we capture YU12 at 640x480 is looks ok.  (which internally uses UYVY)
If we capture very high resolution YU12, which is 2 fps, it looks ok.
RGB3 also looks ok, so the issue is likely not the MJPG itself, but the YU12 
specific.
If the issue were in libyuv mis-interpreting YU12, it wouldnt look okay at VGA 
resolution.
If it were the camera/driver, it MJPG would not look ok.
(tests were done with camtool)
A work around in libyuv would be to make YU12 a non-alias and in webrtc/talk, 
rank it after MJPG.

Original issue reported on code.google.com by fbarch...@google.com on 4 Oct 2012 at 8:24

GoogleCodeExporter commented 9 years ago
camtool repeatable:
./camtool capture --camera 1 --fourcc YU12 --width 1280 --height 720 --impl lmi

Original comment by e...@chromium.org on 4 Oct 2012 at 8:50

Attachments:

GoogleCodeExporter commented 9 years ago
r391 treats YU12 as its own fourcc.
WebRTC and Hangouts will need to add YU12 support when they update to r391.

From libyuv perspective, this is fixed.  But will keep open to investigate the 
root cause.

This has artifact:
./camtool capture --fourcc YU12 --width 1280 --height 720
This looks okay:
./camtool capture --fourcc MJPG --width 1280 --height 720

Original comment by fbarch...@google.com on 4 Oct 2012 at 9:50

GoogleCodeExporter commented 9 years ago
YU12 and I420 broken into 2 formats.

Original comment by fbarch...@google.com on 12 Jan 2013 at 8:54