Found-by: kriegero1 Signed-off-by: Michael Niedermayer <michae...@gmx.at> --- libavcodec/mjpegenc_common.c | 20 ++++++++++++-------- tests/ref/lavf/jpg | 4 ++-- tests/ref/lavf/smjpeg | 4 ++-- tests/ref/vsynth/vsynth1-ljpeg | 4 ++-- tests/ref/vsynth/vsynth1-mjpeg-422 | 4 ++-- tests/ref/vsynth/vsynth1-mjpeg-444 | 4 ++-- tests/ref/vsynth/vsynth2-ljpeg | 4 ++-- tests/ref/vsynth/vsynth2-mjpeg | 4 ++-- tests/ref/vsynth/vsynth2-mjpeg-422 | 4 ++-- tests/ref/vsynth/vsynth2-mjpeg-444 | 4 ++-- tests/ref/vsynth/vsynth3-ljpeg | 4 ++-- tests/ref/vsynth/vsynth3-mjpeg | 4 ++-- tests/ref/vsynth/vsynth3-mjpeg-422 | 4 ++-- tests/ref/vsynth/vsynth3-mjpeg-444 | 4 ++-- 14 files changed, 38 insertions(+), 34 deletions(-)
diff --git a/libavcodec/mjpegenc_common.c b/libavcodec/mjpegenc_common.c index 8a5b99f..8e77270 100644 --- a/libavcodec/mjpegenc_common.c +++ b/libavcodec/mjpegenc_common.c @@ -116,19 +116,23 @@ static void jpeg_put_comments(AVCodecContext *avctx, PutBitContext *p) int size; uint8_t *ptr; + /* JFIF header */ + put_marker(p, APP0); + put_bits(p, 16, 16); + avpriv_put_string(p, "JFIF", 1); /* this puts the trailing zero-byte too */ + put_bits(p, 16, 0x0102); /* v 1.02 */ + put_bits(p, 8, 0); /* units type: 0 - aspect ratio */ if (avctx->sample_aspect_ratio.num > 0 && avctx->sample_aspect_ratio.den > 0) { - /* JFIF header */ - put_marker(p, APP0); - put_bits(p, 16, 16); - avpriv_put_string(p, "JFIF", 1); /* this puts the trailing zero-byte too */ - put_bits(p, 16, 0x0102); /* v 1.02 */ - put_bits(p, 8, 0); /* units type: 0 - aspect ratio */ put_bits(p, 16, avctx->sample_aspect_ratio.num); put_bits(p, 16, avctx->sample_aspect_ratio.den); - put_bits(p, 8, 0); /* thumbnail width */ - put_bits(p, 8, 0); /* thumbnail height */ + } else { + put_bits(p, 16, 1); + put_bits(p, 16, 1); } + put_bits(p, 8, 0); /* thumbnail width */ + put_bits(p, 8, 0); /* thumbnail height */ + /* comment */ if (!(avctx->flags & CODEC_FLAG_BITEXACT)) { put_marker(p, COM); diff --git a/tests/ref/lavf/jpg b/tests/ref/lavf/jpg index 1309d74..2408a4c 100644 --- a/tests/ref/lavf/jpg +++ b/tests/ref/lavf/jpg @@ -1,3 +1,3 @@ -131878fee153a086d740543fbf2ab359 *./tests/data/images/jpg/02.jpg +62ed0e74593827412d23cfdb8de60f8e *./tests/data/images/jpg/02.jpg ./tests/data/images/jpg/%02d.jpg CRC=0xe3509f33 -28406 ./tests/data/images/jpg/02.jpg +28424 ./tests/data/images/jpg/02.jpg diff --git a/tests/ref/lavf/smjpeg b/tests/ref/lavf/smjpeg index a2eeb97..b2f9935 100644 --- a/tests/ref/lavf/smjpeg +++ b/tests/ref/lavf/smjpeg @@ -1,3 +1,3 @@ -a95982a2d390f4dcdc72a41d8920abb9 *./tests/data/lavf/lavf.smjpeg -789551 ./tests/data/lavf/lavf.smjpeg +ddee43a84eff0498651812d7c5ce2157 *./tests/data/lavf/lavf.smjpeg +790001 ./tests/data/lavf/lavf.smjpeg ./tests/data/lavf/lavf.smjpeg CRC=0x54bf6147 diff --git a/tests/ref/vsynth/vsynth1-ljpeg b/tests/ref/vsynth/vsynth1-ljpeg index 99bfade..d54fb9d 100644 --- a/tests/ref/vsynth/vsynth1-ljpeg +++ b/tests/ref/vsynth/vsynth1-ljpeg @@ -1,4 +1,4 @@ -24d72a5b4c0d3a49a30098369d56b1cc *tests/data/fate/vsynth1-ljpeg.avi -6309478 tests/data/fate/vsynth1-ljpeg.avi +be8db1648a32da470f9001321b8a357e *tests/data/fate/vsynth1-ljpeg.avi +6310378 tests/data/fate/vsynth1-ljpeg.avi c5ccac874dbf808e9088bc3107860042 *tests/data/fate/vsynth1-ljpeg.out.rawvideo stddev: 0.00 PSNR:999.99 MAXDIFF: 0 bytes: 7603200/ 7603200 diff --git a/tests/ref/vsynth/vsynth1-mjpeg-422 b/tests/ref/vsynth/vsynth1-mjpeg-422 index 3356dd3..f412018 100644 --- a/tests/ref/vsynth/vsynth1-mjpeg-422 +++ b/tests/ref/vsynth/vsynth1-mjpeg-422 @@ -1,4 +1,4 @@ -bcd2370d76f32b9eed7842685a04f29f *tests/data/fate/vsynth1-mjpeg-422.avi -1756300 tests/data/fate/vsynth1-mjpeg-422.avi +28e18bf36dfba82b2ebfe3f72699457c *tests/data/fate/vsynth1-mjpeg-422.avi +1757200 tests/data/fate/vsynth1-mjpeg-422.avi c35eea486c6d72050f4848eab64032b5 *tests/data/fate/vsynth1-mjpeg-422.out.rawvideo stddev: 7.45 PSNR: 30.69 MAXDIFF: 63 bytes: 7603200/ 7603200 diff --git a/tests/ref/vsynth/vsynth1-mjpeg-444 b/tests/ref/vsynth/vsynth1-mjpeg-444 index 5ebf895..78d3ff8 100644 --- a/tests/ref/vsynth/vsynth1-mjpeg-444 +++ b/tests/ref/vsynth/vsynth1-mjpeg-444 @@ -1,4 +1,4 @@ -f611f316df9b6890d6dcd3379691c36e *tests/data/fate/vsynth1-mjpeg-444.avi -1989780 tests/data/fate/vsynth1-mjpeg-444.avi +74ca2a9ce00a7e3d7edbe6393344c281 *tests/data/fate/vsynth1-mjpeg-444.avi +1990680 tests/data/fate/vsynth1-mjpeg-444.avi 313a4a76af13d5879ea4910107b7ea74 *tests/data/fate/vsynth1-mjpeg-444.out.rawvideo stddev: 7.37 PSNR: 30.77 MAXDIFF: 63 bytes: 7603200/ 7603200 diff --git a/tests/ref/vsynth/vsynth2-ljpeg b/tests/ref/vsynth/vsynth2-ljpeg index b59923e..118bc1c 100644 --- a/tests/ref/vsynth/vsynth2-ljpeg +++ b/tests/ref/vsynth/vsynth2-ljpeg @@ -1,4 +1,4 @@ -234a0e54d00829513bdc92fc580b2598 *tests/data/fate/vsynth2-ljpeg.avi -4763454 tests/data/fate/vsynth2-ljpeg.avi +6db0a86afd9e9697661b75a8f2364ffd *tests/data/fate/vsynth2-ljpeg.avi +4764354 tests/data/fate/vsynth2-ljpeg.avi dde5895817ad9d219f79a52d0bdfb001 *tests/data/fate/vsynth2-ljpeg.out.rawvideo stddev: 0.00 PSNR:999.99 MAXDIFF: 0 bytes: 7603200/ 7603200 diff --git a/tests/ref/vsynth/vsynth2-mjpeg b/tests/ref/vsynth/vsynth2-mjpeg index eaabc73..1c68ede 100644 --- a/tests/ref/vsynth/vsynth2-mjpeg +++ b/tests/ref/vsynth/vsynth2-mjpeg @@ -1,4 +1,4 @@ -a3c1f9f7887b726bab17dbafa5debdca *tests/data/fate/vsynth2-mjpeg.avi -673174 tests/data/fate/vsynth2-mjpeg.avi +91973ff72277dd7db66cd3c27e19e24c *tests/data/fate/vsynth2-mjpeg.avi +674074 tests/data/fate/vsynth2-mjpeg.avi 9d4bd90e9abfa18192383b4adc23c8d4 *tests/data/fate/vsynth2-mjpeg.out.rawvideo stddev: 4.32 PSNR: 35.40 MAXDIFF: 49 bytes: 7603200/ 7603200 diff --git a/tests/ref/vsynth/vsynth2-mjpeg-422 b/tests/ref/vsynth/vsynth2-mjpeg-422 index 61d2997..4e8fcab 100644 --- a/tests/ref/vsynth/vsynth2-mjpeg-422 +++ b/tests/ref/vsynth/vsynth2-mjpeg-422 @@ -1,4 +1,4 @@ -ebf2e0f17a75119ff86b15e721d16a76 *tests/data/fate/vsynth2-mjpeg-422.avi -746530 tests/data/fate/vsynth2-mjpeg-422.avi +d516c74296d26c306f47968964495884 *tests/data/fate/vsynth2-mjpeg-422.avi +747430 tests/data/fate/vsynth2-mjpeg-422.avi 451ac80989c4e14445cf951fd7f83b6d *tests/data/fate/vsynth2-mjpeg-422.out.rawvideo stddev: 4.18 PSNR: 35.70 MAXDIFF: 49 bytes: 7603200/ 7603200 diff --git a/tests/ref/vsynth/vsynth2-mjpeg-444 b/tests/ref/vsynth/vsynth2-mjpeg-444 index ae01a35..4dd30eb 100644 --- a/tests/ref/vsynth/vsynth2-mjpeg-444 +++ b/tests/ref/vsynth/vsynth2-mjpeg-444 @@ -1,4 +1,4 @@ -7674eb1aedaad0976c60329f556440d1 *tests/data/fate/vsynth2-mjpeg-444.avi -851442 tests/data/fate/vsynth2-mjpeg-444.avi +f1fe47cf5f47d408af083d42d6710798 *tests/data/fate/vsynth2-mjpeg-444.avi +852342 tests/data/fate/vsynth2-mjpeg-444.avi 34edcb9c87ff7aac456a4fb07f43504b *tests/data/fate/vsynth2-mjpeg-444.out.rawvideo stddev: 4.05 PSNR: 35.96 MAXDIFF: 49 bytes: 7603200/ 7603200 diff --git a/tests/ref/vsynth/vsynth3-ljpeg b/tests/ref/vsynth/vsynth3-ljpeg index 47db0c1..4f9896d 100644 --- a/tests/ref/vsynth/vsynth3-ljpeg +++ b/tests/ref/vsynth/vsynth3-ljpeg @@ -1,4 +1,4 @@ -39cd774ffe47c804f2f58d5bbcf7b0a5 *tests/data/fate/vsynth3-ljpeg.avi -105840 tests/data/fate/vsynth3-ljpeg.avi +6c709321886c4db4a1b90c29fd91d83a *tests/data/fate/vsynth3-ljpeg.avi +106740 tests/data/fate/vsynth3-ljpeg.avi a038ad7c3c09f776304ef7accdea9c74 *tests/data/fate/vsynth3-ljpeg.out.rawvideo stddev: 0.00 PSNR:999.99 MAXDIFF: 0 bytes: 86700/ 86700 diff --git a/tests/ref/vsynth/vsynth3-mjpeg b/tests/ref/vsynth/vsynth3-mjpeg index 25036c8..64367d3 100644 --- a/tests/ref/vsynth/vsynth3-mjpeg +++ b/tests/ref/vsynth/vsynth3-mjpeg @@ -1,4 +1,4 @@ -cf68ecc19e6c07d2a0c211e6ad1e3d9f *tests/data/fate/vsynth3-mjpeg.avi -64804 tests/data/fate/vsynth3-mjpeg.avi +76f11ea5a3a93d00506cbc436885c6a5 *tests/data/fate/vsynth3-mjpeg.avi +65704 tests/data/fate/vsynth3-mjpeg.avi c4fe7a2669afbd96c640748693fc4e30 *tests/data/fate/vsynth3-mjpeg.out.rawvideo stddev: 8.60 PSNR: 29.43 MAXDIFF: 58 bytes: 86700/ 86700 diff --git a/tests/ref/vsynth/vsynth3-mjpeg-422 b/tests/ref/vsynth/vsynth3-mjpeg-422 index 23c58bb..981697f 100644 --- a/tests/ref/vsynth/vsynth3-mjpeg-422 +++ b/tests/ref/vsynth/vsynth3-mjpeg-422 @@ -1,4 +1,4 @@ -c1f42031676078a7cfc38a7eb53c89e8 *tests/data/fate/vsynth3-mjpeg-422.avi -69458 tests/data/fate/vsynth3-mjpeg-422.avi +cce75691080a7624af5cd459e9aaec1a *tests/data/fate/vsynth3-mjpeg-422.avi +70358 tests/data/fate/vsynth3-mjpeg-422.avi a332893cb0603f2f505fe5d3bf105519 *tests/data/fate/vsynth3-mjpeg-422.out.rawvideo stddev: 8.23 PSNR: 29.82 MAXDIFF: 58 bytes: 86700/ 86700 diff --git a/tests/ref/vsynth/vsynth3-mjpeg-444 b/tests/ref/vsynth/vsynth3-mjpeg-444 index d17df66..b856339 100644 --- a/tests/ref/vsynth/vsynth3-mjpeg-444 +++ b/tests/ref/vsynth/vsynth3-mjpeg-444 @@ -1,4 +1,4 @@ -893c830a9635aaf686f53372cbe5e0ed *tests/data/fate/vsynth3-mjpeg-444.avi -70584 tests/data/fate/vsynth3-mjpeg-444.avi +c06b03165b2ed53d576b8c7eec6a99dd *tests/data/fate/vsynth3-mjpeg-444.avi +71484 tests/data/fate/vsynth3-mjpeg-444.avi 79a901f2ed85d82cf1c674fab3d3ef72 *tests/data/fate/vsynth3-mjpeg-444.out.rawvideo stddev: 8.21 PSNR: 29.84 MAXDIFF: 58 bytes: 86700/ 86700 -- 1.7.9.5 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel