[Ffmpeg-devel] [PATCH] MJPEG wrongly displayed with vertical YUV422

Guillaume POIRIER poirierg
Mon Oct 30 22:14:49 CET 2006


Hi,

On 8/28/06, Eric Piel <Eric.Piel at tremplin-utc.net> wrote:
> 21.08.2006 13:58, Michael Niedermayer wrote/a ?crit:
> > Hi
> >
> > On Mon, Aug 21, 2006 at 11:42:07AM +0200, Eric Piel wrote:
> >> 08/20/2006 08:08 PM, Michael Niedermayer wrote/a ?crit:

[...]

> >>>> Ok, sorry I thought this file was only internal :-( So here is a new
> >>>> version of the patch which add the definition at the end.
> >>> but before PIX_FMT_NB (= pix format number)
> >> Duh... I promise, I'm usually smarter than that ;-)
> >> Ok here is a fixed version of the patch against latest svn.
> >
> > ive no objections to the patch assuming it doesnt break anything
> > swscale related

Well regression tests are currently broken anyway:

FFmpeg version SVN-r6844, Copyright (c) 2000-2006 Fabrice Bellard, et al.
  configuration:  --enable-gpl --enable-swscaler --cpu=pentium-m
  libavutil version: 49.0.2
  libavcodec version: 51.23.0
  libavformat version: 50.6.0
  built on Oct 30 2006 21:48:48, gcc: 4.0.3 (Ubuntu 4.0.3-1ubuntu5)
size=    1017kB time=5.9 bitrate=1411.3kbits/s
--- ./data/ffmpeg.regression    2006-10-30 22:02:21.000000000 +0100
+++ /home/guillaume/Prgm/ffmpeg/tests/ffmpeg.regression.ref
2006-09-05 09:44:28.000000000 +0200
@@ -1,122 +1,122 @@
 ffmpeg regression test
-e5419d9ed9db80f578e3a4905c522c05 *./data/a-mpeg1.mpg
-746389 ./data/a-mpeg1.mpg
-72ad6e112b4ad263f021bd6976e36b3d *./data/out.yuv
+511897938cd4a9dd5d0ab38b4658be18 *./data/a-mpeg1.mpg
+734274 ./data/a-mpeg1.mpg
+eff964f940a35427fa9e8d35fb4f5699 *./data/out.yuv
 stddev:  7.66 PSNR:30.43 bytes:7602176
-768e8fd05880967497b68dffcbe3e56d *./data/a-mpeg2.mpg
-763957 ./data/a-mpeg2.mpg
-98c48a8b4748d8d87cb73fd25ca4e777 *./data/out.yuv
+a60d3fb60982786b9761a07c24664e9c *./data/a-mpeg2.mpg
+747312 ./data/a-mpeg2.mpg
+f5b8b9c2a5e162b6c01d6b299d03b117 *./data/out.yuv
 stddev:  7.69 PSNR:30.39 bytes:7602176
-ecbbd02b5e155c9fcc7ac2a786b2d7c2 *./data/a-mpeg2ivlc.mpg
-754547 ./data/a-mpeg2ivlc.mpg
-98c48a8b4748d8d87cb73fd25ca4e777 *./data/out.yuv
+218ef56c1909d66e77c87cd98c9868e8 *./data/a-mpeg2ivlc.mpg
+737935 ./data/a-mpeg2ivlc.mpg
+f5b8b9c2a5e162b6c01d6b299d03b117 *./data/out.yuv
 stddev:  7.69 PSNR:30.39 bytes:7602176
-223332ee94ef2c97a0dd7cae94c4d231 *./data/a-mpeg2.mpg
-762459 ./data/a-mpeg2.mpg
-479d86d5c5029a7fd7123b6b76e25d76 *./data/out.yuv
-stddev:  7.69 PSNR:30.40 bytes:7602176
-2cf3b5a8adaa68132d85390f06a2ab99 *./data/a-mpeg2i.mpg
-765064 ./data/a-mpeg2i.mpg
-040b99f91940a63a77cf1c1f341d98ba *./data/out.yuv
-stddev:  7.70 PSNR:30.38 bytes:7602176
-c5c74595d5387a10c3f84fe07833c72b *./data/a-mpeg2thread.mpg
-832891 ./data/a-mpeg2thread.mpg
-086efe41a22d5b501407a8dada11c102 *./data/out.yuv
+a34af358ee5b5dab19d37ee29f1927b2 *./data/a-mpeg2.mpg
+748099 ./data/a-mpeg2.mpg
+555f76a5df78088411b83f5faf334762 *./data/out.yuv
+stddev:  7.69 PSNR:30.39 bytes:7602176
+5173c8b2e244a4ac12cca31ae1c19a0d *./data/a-mpeg2i.mpg
+756437 ./data/a-mpeg2i.mpg
+e29b8da1aeb96bb9c1a43a400958a11d *./data/out.yuv
+stddev:  7.69 PSNR:30.39 bytes:7602176
+367414ac9225222fc8ec9352485a7637 *./data/a-mpeg2thread.mpg
+820348 ./data/a-mpeg2thread.mpg
+6b820ffc74de50cc863b41d51f72c22b *./data/out.yuv
 stddev:  7.64 PSNR:30.45 bytes:7602176
-47cdef92d56f34488cf3254f26e35fa1 *./data/a-mpeg2threadivlc.mpg
-823205 ./data/a-mpeg2threadivlc.mpg
-086efe41a22d5b501407a8dada11c102 *./data/out.yuv
+a88c3fc28a6e62351c1b71235e7916a7 *./data/a-mpeg2threadivlc.mpg
+810646 ./data/a-mpeg2threadivlc.mpg
+6b820ffc74de50cc863b41d51f72c22b *./data/out.yuv
 stddev:  7.64 PSNR:30.45 bytes:7602176
-0536eba850f4e10c4e3c96e4d4d08dc7 *./data/a-mpeg2reuse.mpg
-2177659 ./data/a-mpeg2reuse.mpg
-f846386382402bef9b7713f2adf90289 *./data/out.yuv
-stddev:  7.69 PSNR:30.40 bytes:7602176
-a1ccd1d5ed24f2846ff7447a18b8fef2 *./data/a-msmpeg4v2.avi
-660288 ./data/a-msmpeg4v2.avi
-4e0214b4c4c122fd09a1458ed704a90b *./data/out.yuv
-stddev:  8.03 PSNR:30.03 bytes:7602176
-70d56c5eb2c5b77073062d86f32f5205 *./data/a-msmpeg4.avi
-657404 ./data/a-msmpeg4.avi
-5e07383e8b6bd10a31c3eb5cfeb4d50d *./data/out.yuv
+edb3e58ea66de2e9b32713daf9b5c3f1 *./data/a-mpeg2reuse.mpg
+2119706 ./data/a-mpeg2reuse.mpg
+1dab2eaca5320fe01afbe9596b2bd6cc *./data/out.yuv
+stddev:  7.68 PSNR:30.41 bytes:7602176
+f24f317ad39c5f2d0195ce0675a828e7 *./data/a-msmpeg4v2.avi
+643702 ./data/a-msmpeg4v2.avi
+7646e5cc93452b5fb380c8c4c5f535f4 *./data/out.yuv
 stddev:  8.02 PSNR:30.03 bytes:7602176
-640adcb4c885995db13d924782f11c01 *./data/a-wmv1.avi
-661186 ./data/a-wmv1.avi
-7a07bde7d64387871bbb100432a2a651 *./data/out.yuv
-stddev:  8.03 PSNR:30.02 bytes:7602176
-c756a1ccfea6977cef76daef6efb2c43 *./data/a-wmv2.avi
-696468 ./data/a-wmv2.avi
-7a07bde7d64387871bbb100432a2a651 *./data/out.yuv
-stddev:  8.03 PSNR:30.02 bytes:7602176
+605165d0beeea3a38525ff138256b5f6 *./data/a-msmpeg4.avi
+646000 ./data/a-msmpeg4.avi
+cdc5d7403a16dc9450a2dbacb349dc70 *./data/out.yuv
+stddev:  8.01 PSNR:30.04 bytes:7602176
+a9c47ab417361e6f9978b66d89861ad6 *./data/a-wmv1.avi
+649110 ./data/a-wmv1.avi
+09253222ab4eb95628c931a86006a2b1 *./data/out.yuv
+stddev:  8.02 PSNR:30.04 bytes:7602176
+6dfa7cbf42345a53fbb310ad9e6e215c *./data/a-wmv2.avi
+683168 ./data/a-wmv2.avi
+09253222ab4eb95628c931a86006a2b1 *./data/out.yuv
+stddev:  8.02 PSNR:30.04 bytes:7602176
 6755ed0b90ce3a8a55d2f26bcbcaf402 *./data/a-h261.avi
 736134 ./data/a-h261.avi
 0a6e6dd4f09df9fe77ff29581c1a39c3 *./data/out.yuv
 stddev:  9.14 PSNR:28.90 bytes:7602176
-ce2cae0d12a38a3adf2e274320729d4b *./data/a-h263.avi
-696362 ./data/a-h263.avi
-bbffcff3c49cc0015b238110afc3383b *./data/out.yuv
-stddev:  8.09 PSNR:29.96 bytes:7602176
-36e20d562d07c7b56227873100785d9b *./data/a-h263p.avi
-2436770 ./data/a-h263p.avi
-0cf0e5b4e5ee3fd3d1e4566d077c0921 *./data/out.yuv
-stddev:  2.08 PSNR:41.76 bytes:7602176
-abe4ebb49fc50056e6567b2a51135f95 *./data/a-odivx.mp4
-559450 ./data/a-odivx.mp4
-3c7c4485af8d4c99bef6dadf98b11906 *./data/out.yuv
-stddev:  8.00 PSNR:30.05 bytes:7602176
-e6da7de349c74b98c9621d9243ac3fe8 *./data/a-huffyuv.avi
-7973304 ./data/a-huffyuv.avi
-b879337fc3487c3c583f3a9b8228624a *./data/out.yuv
-stddev:  1.91 PSNR:42.48 bytes:7602176
-baf8a48eeb49bd8d85401fbba2627eae *./data/a-mpeg4-rc.avi
-839746 ./data/a-mpeg4-rc.avi
-e3a0184751904028b13dec782ddf0e82 *./data/out.yuv
-stddev: 10.48 PSNR:27.71 bytes:7602176
-1cdc738f576b66e554c72a04841f9192 *./data/a-mpeg4-adv.avi
-611692 ./data/a-mpeg4-adv.avi
-c78b54aee888496029b30c718bb2aa81 *./data/out.yuv
-stddev: 10.27 PSNR:27.89 bytes:7602176
-d5a659a5febf761d0bf377a5045b6fbd *./data/a-mpeg4-thread.avi
-787616 ./data/a-mpeg4-thread.avi
-f3908bf8cd410df6aafbd915f275a8e4 *./data/out.yuv
-stddev: 12.35 PSNR:26.28 bytes:7602176
+6547e7e79d5ea7b8a35e347b18921327 *./data/a-h263.avi
+683262 ./data/a-h263.avi
+f2b7fcff9de17f5aecfeb1090fe1963b *./data/out.yuv
+stddev:  8.08 PSNR:29.97 bytes:7602176
+0f2f8d438b292222d691418552995e43 *./data/a-h263p.avi
+2415378 ./data/a-h263p.avi
+28fd12ac0b168252d81df6f6e60a5d17 *./data/out.yuv
+stddev:  2.07 PSNR:41.76 bytes:7602176
+d84b65558cd386064ab7a126d66c4744 *./data/a-odivx.mp4
+554499 ./data/a-odivx.mp4
+57aed19df5cbada4b05991527ee72ebe *./data/out.yuv
+stddev:  7.99 PSNR:30.06 bytes:7602176
+6c58e5707afe056b072d2ce21b3b8e4f *./data/a-huffyuv.avi
+7933744 ./data/a-huffyuv.avi
+799d3db687f6cdd7a837ec156efc171f *./data/out.yuv
+stddev:  0.00 PSNR:99.99 bytes:7602176
+b6115b930e8087553d67a1efd0baedae *./data/a-mpeg4-rc.avi
+823306 ./data/a-mpeg4-rc.avi
+3ecd1afdaf2d691d01628737326dda35 *./data/out.yuv
+stddev: 10.41 PSNR:27.76 bytes:7602176
+01665bbcc72ab95d6d5ac93e87ab672c *./data/a-mpeg4-adv.avi
+601276 ./data/a-mpeg4-adv.avi
+0b7935cee2070f3b838478cea6dc4b3c *./data/out.yuv
+stddev: 10.25 PSNR:27.90 bytes:7602176
+729af3941305c27ce330e2afaebb5592 *./data/a-mpeg4-thread.avi
+765722 ./data/a-mpeg4-thread.avi
+252d1e8cc1ee88eea693cebd6b4e7e53 *./data/out.yuv
+stddev: 12.32 PSNR:26.31 bytes:7602176
 670f6e540bcf504ccc72d41952cc401e *./data/a-mpeg4-Q.avi
 900488 ./data/a-mpeg4-Q.avi
 af59c063ed644c7dc4151a0a2debbddd *./data/out.yuv
 stddev:  5.69 PSNR:33.00 bytes:7602176
-9e57f1cef549f2a045e748560748c23e *./data/a-mpeg4-PSP.mp4
-431999 ./data/a-mpeg4-PSP.mp4
-e1ae7b7e5c30893bb12ee685ee6db0fb *./data/a-error-mpeg4-adv.avi
-767268 ./data/a-error-mpeg4-adv.avi
-701b10439a0c6b0f19eb9ab77c98e6ac *./data/out.yuv
-stddev: 16.50 PSNR:23.77 bytes:7602176
-b65c14e077ad7a742134861bff001c27 *./data/a-mpeg4-nr.avi
-692250 ./data/a-mpeg4-nr.avi
-efc34c1efd9fc91d6fa8d9b2dceb65ca *./data/out.yuv
-stddev:  7.04 PSNR:31.16 bytes:7602176
-04f8512cd2c5eaf1a8ebdc436c304f08 *./data/a-mpeg1b.mpg
-1060698 ./data/a-mpeg1b.mpg
-ec86a02987f35625c28a0a872826cd62 *./data/out.yuv
-stddev:  6.34 PSNR:32.07 bytes:7602176
-6803d0d65cf3c995dfe1ba882424bd82 *./data/a-mjpeg.avi
-1438804 ./data/a-mjpeg.avi
-f23a9e50a559e174766ee808c48fea22 *./data/out.yuv
-stddev:  8.87 PSNR:29.15 bytes:7602176
+b8da412bd5421c6ac6fcb6c9caa261ae *./data/a-mpeg4-PSP.mp4
+407313 ./data/a-mpeg4-PSP.mp4
+ef45e577219460332bed428106f638a6 *./data/a-error-mpeg4-adv.avi
+767718 ./data/a-error-mpeg4-adv.avi
+e90b201e20563ec7817f5dc4276902ed *./data/out.yuv
+stddev: 15.90 PSNR:24.09 bytes:7602176
+dc4b99dc8edd9026cb504950864c396d *./data/a-mpeg4-nr.avi
+690808 ./data/a-mpeg4-nr.avi
+79f4e8263e40822c0cbf35725f375b24 *./data/out.yuv
+stddev:  7.03 PSNR:31.18 bytes:7602176
+9060d865a32d5c760ab51df013c0aece *./data/a-mpeg1b.mpg
+1037617 ./data/a-mpeg1b.mpg
+cb5b972265599c17f01b96737947b482 *./data/out.yuv
+stddev:  6.35 PSNR:32.06 bytes:7602176
+2f9cb2ede35f7d12f6b518c50e20d81c *./data/a-mjpeg.avi
+1567580 ./data/a-mjpeg.avi
+18c3a76f984e717dd886d21fa04355f6 *./data/out.yuv
+stddev:  7.93 PSNR:30.13 bytes:7602176
 5a662e3833d900b56cca79ba5ed5ec06 *./data/a-ljpeg.avi
 6264498 ./data/a-ljpeg.avi
 799d3db687f6cdd7a837ec156efc171f *./data/out.yuv
 stddev:  0.00 PSNR:99.99 bytes:7602176
-f7b34567bf6eb82c9ee680d34849152f *./data/a-jpegls.avi
-9090238 ./data/a-jpegls.avi
-b46150c129c59c9b6c195b0c24d013bf *./data/out.yuv
-stddev:  3.38 PSNR:37.53 bytes:7602176
-ab2411e14e9cc424e512f7140e8e92be *./data/a-rv10.rm
-690582 ./data/a-rv10.rm
-bbffcff3c49cc0015b238110afc3383b *./data/out.yuv
-stddev:  8.09 PSNR:29.96 bytes:7602176
-44a6a8dfca774a61d173e43e7b23c58e *./data/a-rv20.rm
-661103 ./data/a-rv20.rm
-155c2a9b8a6cb7b95a69b7c023e260f1 *./data/out.yuv
-stddev:  8.28 PSNR:29.76 bytes:7602176
+8b9359781a7e87d09af1b1c9a536cb75 *./data/a-jpegls.avi
+9086694 ./data/a-jpegls.avi
+0f8637e9b861230aff9894825af83720 *./data/out.yuv
+stddev:  2.84 PSNR:39.04 bytes:7602176
+49c87af74432890cadb28b93da1c653d *./data/a-rv10.rm
+677483 ./data/a-rv10.rm
+f2b7fcff9de17f5aecfeb1090fe1963b *./data/out.yuv
+stddev:  8.08 PSNR:29.97 bytes:7602176
+a00fbb82c030fe41febe1d03eacb338e *./data/a-rv20.rm
+652897 ./data/a-rv20.rm
+203e9790cb25b1d308fd602275afbb0e *./data/out.yuv
+stddev:  8.27 PSNR:29.76 bytes:7602176
 d13292f4583618d1b7b525a9ee010dff *./data/a-asv1.avi
 1488864 ./data/a-asv1.avi
 925320b74c7dfda5dc8378dd879ae2c3 *./data/out.yuv
@@ -125,34 +125,34 @@
 1454536 ./data/a-asv2.avi
 0b310840a6d3970595983491687669df *./data/out.yuv
 stddev: 18.82 PSNR:22.63 bytes:7602176
-3f98895ffa44cfed10143da881412d83 *./data/a-flv.flv
-672653 ./data/a-flv.flv
-84758728206e97704b0816550cbeac66 *./data/out.yuv
-stddev:  8.09 PSNR:29.96 bytes:7602176
+fc2eaff78828dd0efd6483f754511f33 *./data/a-flv.flv
+658142 ./data/a-flv.flv
+4d9c04e7017dc68da7891048c46c1c37 *./data/out.yuv
+stddev:  8.08 PSNR:29.97 bytes:7602176
 f8f51fa737add17f7fecaefa118b57ed *./data/a-ffv1.avi
 2654678 ./data/a-ffv1.avi
 799d3db687f6cdd7a837ec156efc171f *./data/out.yuv
 stddev:  0.00 PSNR:99.99 bytes:7602176
-74b7f1f388c724ce34ae0400265e7864 *./data/a-snow.avi
-136420 ./data/a-snow.avi
-ff35a8c4cad16e0890af426deefa4046 *./data/out.yuv
-stddev: 22.77 PSNR:20.97 bytes:7602176
+70ec217c2513f22f48e9b29aa059d902 *./data/a-snow.avi
+156102 ./data/a-snow.avi
+5aba44ff94d278a20c9cbfb19953e618 *./data/out.yuv
+stddev: 23.19 PSNR:20.81 bytes:7602176
 f998347483cef957af497aa0055dca0c *./data/a-snow53.avi
 3534748 ./data/a-snow53.avi
 799d3db687f6cdd7a837ec156efc171f *./data/out.yuv
 stddev:  0.00 PSNR:99.99 bytes:7602176
-2676e989fc13e65aa25d647071d1551b *./data/a-dv.dv
+2fcbcdc63816e1321bf4b6b5380338d2 *./data/a-dv.dv
 7200000 ./data/a-dv.dv
-9dfbef4bb7a212acd5774b45b6ca55f9 *./data/out.yuv
-stddev:  6.98 PSNR:31.24 bytes:7602176
-39e8f0f48832a53c763a125738114843 *./data/a-dv.dv
+c2082cd8adf417c4ebc32654e446cba1 *./data/out.yuv
+stddev:  8.86 PSNR:29.17 bytes:7602176
+4f71942eb699bf3b12508a9e777a319f *./data/a-dv.dv
 14400000 ./data/a-dv.dv
-f7c525ffe0bf69d037d7f843677438bf *./data/out.yuv
-stddev:  6.51 PSNR:31.84 bytes:7602176
-fc10f0bccb2a2e8c852ddc461ceacc0e *./data/a-svq1.mov
-1394247 ./data/a-svq1.mov
-f05b0514cd03ddd8393719dce696a9bc *./data/out.yuv
-stddev: 10.60 PSNR:27.61 bytes:7602176
+fc866b8879a34f5b440647e5135e4bfb *./data/out.yuv
+stddev:  8.45 PSNR:29.58 bytes:7602176
+979057a09f280acd2fba3b29de6125d1 *./data/a-svq1.mov
+1379847 ./data/a-svq1.mov
+bbff871d1475e1eee4231a08e075de2c *./data/out.yuv
+stddev: 10.99 PSNR:27.30 bytes:7602176
 21f8ff9f1daacd9133683bb4ea0f50a4 *./data/a-mp2.mp2
 95712 ./data/a-mp2.mp2
 83f8df5d5f84480566af548bb037fceb *./data/out.wav

Regression test: Error.
make[1]: *** [codectest] Erreur 1

or is it just that these md5sum are for FFmpeg scaling routines, not swscaler?

>
> Hi,
>
> Could someone commit it? I don't think I've got write access to the svn
> repository ;-) Or are you waiting for confirmation there is no breakage
> wrt swscale?

patch doesn't apply anymore:

patch -p0 --dry-run < /tmp/ffmpeg-mjpeg-yuv440-handling-c.patch
patching file libavutil/avutil.h
Hunk #1 FAILED at 70.
1 out of 1 hunk FAILED -- saving rejects to file libavutil/avutil.h.rej
patching file libavcodec/mjpeg.c
Hunk #1 FAILED at 1197.
1 out of 1 hunk FAILED -- saving rejects to file libavcodec/mjpeg.c.rej
patching file libavcodec/imgconvert.c
Hunk #1 succeeded at 83 (offset 2 lines).
Hunk #2 succeeded at 149 (offset 2 lines).
Hunk #3 succeeded at 413 (offset 121 lines).

Guillaume
-- 
With DADVSI (http://en.wikipedia.org/wiki/DADVSI), France finally has
a lead on USA on selling out individuals right to corporations!
Vive la France!




More information about the ffmpeg-devel mailing list