summaryrefslogtreecommitdiffstats
path: root/client/mjpeg_decoder.cpp
Commit message (Collapse)AuthorAgeFilesLines
* client: Include config.h from common.hAlexander Larsson2010-09-291-4/+0
| | | | | config.h should be availible everywhere, so move its inclusion to the top of common.h.
* Swap red and blue when decoding 0.4 mjpeg streamsAlexander Larsson2010-07-201-10/+19
| | | | | | There was an error in how this was encoded in 0.4, which we need to handle. There is still some issues with the old streams as the luminocity handling in 0.4 was not correct.
* Avoid unncessary buffer management in mjpeg decoder if possibleAlexander Larsson2010-04-141-19/+45
|
* Relicense everything from GPL to LGPL 2.1+Alexander Larsson2010-04-131-9/+9
|
* Initialize _kill_mark so we don't get spurious valgrind warningsAlexander Larsson2010-04-081-6/+8
|
* Free the jpeg decoder with the streamAlexander Larsson2010-04-081-0/+1
|
* Use libjpeg to decode mjpegs, not ffmpegAlexander Larsson2010-04-081-0/+236
This is pretty straightforward, although there are two weird issues. The current encoder has two bugs in the yuv conversion. First of all it switches red and blue, due to something of an endianness issue. We keep this behavior by switching red and blue. Maybe we want to change this in the new protocol version since switching this may cause jpeg compression to be worse. Secondly, the old coder/decoder did rgb to/from yuv420 wrongly for jpeg, not using the "full scale" version of Y that is used in jpeg, but the other one where y goes from 16 to 235. (See jpeg/jfif reference on http://en.wikipedia.org/wiki/YCbCr for details.) The new decoder uses the full range in order to get better quality, which means old encoders will show slightly darker images. This completely removes all ffmpeg usage in the client