- 08 Nov, 2016 1 commit
-
-
Diego Biurrun authored
-
- 28 Oct, 2016 1 commit
-
-
Diego Biurrun authored
-
- 25 Mar, 2016 1 commit
-
-
Ico Doornekamp authored
The problem is that the argument 'q' is of the type uint8_t. According to the JPEG standard, if 1 <= q <= 50, the scale factor 'S' should be 5000 / Q. Because the create_default_qtables() reuses the variable 'q' to store the result of this calculation, for small values of q < 19, q wil subsequently overflow and give wrong results in the calculated quantization tables. Instead, use a new variable 'S' (same name as in RFC2435) with the proper range to store the result of the division. Signed-off-by: Martin Storsjö <martin@martin.st>
-
- 24 Mar, 2016 1 commit
-
-
Ico Doornekamp authored
Original mail and my own followup on ffmpeg-user earlier today: I have a device sending out a MJPEG/RTP stream on a low quality setting. Decoding and displaying the video with libavformat results in a washed out, low contrast, greyish image. Playing the same stream with VLC results in proper color representation. Screenshots for comparison: http://zevv.nl/div/libav/shot-ffplay.jpg http://zevv.nl/div/libav/shot-vlc.jpg A pcap capture of a few seconds of video and SDP file for playing the stream are available at http://zevv.nl/div/libav/mjpeg.pcap http://zevv.nl/div/libav/mjpeg.sdp I believe the problem might be in the calculation of the quantization tables in the function create_default_qtables(), the attached patch solves the issue for me. The problem is that the argument 'q' is of the type uint8_t. According to the JPEG standard, if 1 <= q <= 50, the scale factor 'S' should be 5000 / Q. Because the create_default_qtables() reuses the variable 'q' to store the result of this calculation, for small values of q < 19, q wil subsequently overflow and give wrong results in the calculated quantization tables. The patch below uses a new variable 'S' (same name as in RFC2435) with the proper range to store the result of the division. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-
- 26 Dec, 2015 1 commit
-
-
Diego Biurrun authored
-
- 30 Mar, 2015 1 commit
-
-
Diego Biurrun authored
-
- 24 Feb, 2015 6 commits
-
-
Martin Storsjö authored
Many of these functions were named foo_free_context, and since the functions no longer should free the context itself, only allocated elements within it, the previous naming was slightly misleading. Signed-off-by: Martin Storsjö <martin@martin.st>
-
Martin Storsjö authored
Signed-off-by: Martin Storsjö <martin@martin.st>
-
Martin Storsjö authored
This makes it more consistent with depacketizers that don't have any .free function at all, where the payload context is freed by the surrounding framework. Always free the context in the surrounding framework, having the individual depacketizers only free any data they've specifically allocated themselves. This is similar to how this works for demuxer/muxers/codecs - a component shouldn't free the priv_data that the framework has allocated for it. Signed-off-by: Martin Storsjö <martin@martin.st>
-
Martin Storsjö authored
These functions are far from performance critical, so there's no point in marking them as inline. Signed-off-by: Martin Storsjö <martin@martin.st>
-
Martin Storsjö authored
Signed-off-by: Martin Storsjö <martin@martin.st>
-
Martin Storsjö authored
Signed-off-by: Martin Storsjö <martin@martin.st>
-
- 18 Jul, 2014 1 commit
-
-
Carl Eugen Hoyos authored
Based on a patch by contact at iridiummobile ru. Fixes ticket #3780.
-
- 21 Dec, 2012 1 commit
-
-
Martin Storsjö authored
This allows depacketizers to figure out if packets have been lost. Signed-off-by: Martin Storsjö <martin@martin.st>
-
- 20 Dec, 2012 1 commit
-
-
Diego Biurrun authored
-
- 02 Nov, 2012 1 commit
-
-
Anton Khirnov authored
-
- 12 Sep, 2012 12 commits
-
-
Martin Storsjö authored
Signed-off-by: Martin Storsjö <martin@martin.st>
-
Martin Storsjö authored
Signed-off-by: Martin Storsjö <martin@martin.st>
-
Martin Storsjö authored
Signed-off-by: Martin Storsjö <martin@martin.st>
-
Martin Storsjö authored
Signed-off-by: Martin Storsjö <martin@martin.st>
-
Martin Storsjö authored
Signed-off-by: Martin Storsjö <martin@martin.st>
-
Martin Storsjö authored
Signed-off-by: Martin Storsjö <martin@martin.st>
-
Martin Storsjö authored
Write out the numbers the way they are constructed, not just the final values. Signed-off-by: Martin Storsjö <martin@martin.st>
-
Martin Storsjö authored
Signed-off-by: Martin Storsjö <martin@martin.st>
-
Martin Storsjö authored
Everything written with this bitstream writer is 8/16 bit units (except for a pair of 4 bit values), so using a bitstream writer isn't necessary. Signed-off-by: Martin Storsjö <martin@martin.st>
-
Martin Storsjö authored
Generalize writing of any number of qtables. Don't manually write 16 bit values in two separate calls. Signed-off-by: Martin Storsjö <martin@martin.st>
-
Martin Storsjö authored
This makes the code more readable and robust. Signed-off-by: Martin Storsjö <martin@martin.st>
-
Martin Storsjö authored
Currently the size header of the generated DHT section is incorrect, making the mjpeg decoder just skip it. Since the written huffman tables are the default ones, this failure had gone undetected. Signed-off-by: Martin Storsjö <martin@martin.st>
-
- 11 Sep, 2012 1 commit
-
-
Samuel Pitoiset authored
Generate quantization tables when they are not present in the first chunk. Signed-off-by: Martin Storsjö <martin@martin.st>
-
- 09 Sep, 2012 1 commit
-
-
Samuel Pitoiset authored
Signed-off-by: Martin Storsjö <martin@martin.st>
-