|
|
|
![]() |
|
|||||||
|
||||||||
|
|
Thread Tools |
Rating:
|
Display Modes |
|
#2
|
|||
|
|||
|
Re: USB Camera on C++ SmartDashBoard
We are facing the same issue. I saved an image coming from the roborio and decoded the jpeg header.
The jpeg image coming from the camera is part of a mjpeg stream. According to https://www.ffmpeg.org/ffmpeg-bitstream-filters.html, the jpeg image is missing the DHT (huffman table) section. > Unfortunately, these chunks are incomplete JPEG images, because they lack > the DHT segment required for decoding. > Quoting from http://www.digitalpreservation.gov/f...d000063.shtml: > > Avery Lee, writing in the rec.video.desktop newsgroup in 2001, commented > that "MJPEG, or at least the MJPEG in AVIs having the MJPG fourcc, is > restricted JPEG with a fixed – and *omitted* – Huffman table. The JPEG > must be YCbCr colorspace, it must be 4:2:2, and it must use basic Huffman > encoding, not arithmetic or progressive. . . . You can indeed extract the > MJPEG frames and decode them with a regular JPEG decoder, but you have to > prepend the DHT segment to them, or else the decoder won’t have any idea > how to decompress the data. The exact table necessary is given in the > OpenDML spec." > > This bitstream filter patches the header of frames extracted from an > MJPEG stream (carrying the AVI1 header ID and lacking a DHT segment) > to produce fully qualified JPEG images. |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|