Ticket #2082 (open defect)
mjpeg: low quality + restart (and grayscale) = lower quality than libjpeg
| Reported by: | ami_stuff | Owned by: | |
|---|---|---|---|
| Priority: | normal | Component: | avcodec |
| Version: | git-master | Keywords: | mjpeg |
| Cc: | Blocked By: | ||
| Blocking: | Reproduced by developer: | yes | |
| Analyzed by developer: | no |
Description
cjpeg -targa -quality 15 -progressive -restart 17 -grayscale test.tga >q15r17.jpg
cjpeg -targa -quality 5 -progressive -restart 17 -grayscale test.tga >q5r17.jpg
cjpeg -targa -quality 1 -progressive -restart 17 -grayscale test.tga >q1r17.jpg
Please decode attached samples with ffmpeg and djpeg. The output from djpeg looks less blocky
The problem is most visible with q1r17.jpg when we compare output from ffmpeg and djpeg.
This is related to restart option, for example there is no problem while decoding:
cjpeg -targa -quality 1 -progressive -restart 0 -grayscale test.tga >q1r0.jpg
with ffmpeg (ffmpeg and djpeg output matches).
C:\>ffmpeg -i q1r17.jpg out.bmp
ffmpeg version N-48239-g69db85c Copyright (c) 2000-2012 the FFmpeg developers
built on Dec 28 2012 02:20:50 with gcc 4.5.0 (GCC) 20100414 (Fedora MinGW 4.5.
0-1.fc14)
configuration: --prefix=/var/www/users/research/ffmpeg/snapshots/build --arch=
x86 --target-os=mingw32 --cross-prefix=i686-pc-mingw32- --cc='ccache i686-pc-min
gw32-gcc' --enable-w32threads --enable-memalign-hack --enable-runtime-cpudetect
--enable-cross-compile --enable-static --disable-shared --extra-libs='-lws2_32 -
lwinmm -lpthread' --extra-cflags='--static -I/var/www/users/research/ffmpeg/snap
shots/build/include' --extra-ldflags='-static -L/var/www/users/research/ffmpeg/s
napshots/build/lib' --enable-bzlib --enable-zlib --enable-gpl --enable-version3
--enable-nonfree --enable-libx264 --enable-libspeex --enable-libtheora --enable-
libvorbis --enable-libfaac --enable-libxvid --enable-libopencore-amrnb --enable-
libopencore-amrwb --enable-libmp3lame --enable-libvpx --disable-decoder=libvpx
libavutil 52. 12.100 / 52. 12.100
libavcodec 54. 81.100 / 54. 81.100
libavformat 54. 50.102 / 54. 50.102
libavdevice 54. 3.102 / 54. 3.102
libavfilter 3. 30.101 / 3. 30.101
libswscale 2. 1.103 / 2. 1.103
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 2.100 / 52. 2.100
Input #0, image2, from 'q1r17.jpg':
Duration: 00:00:00.04, start: 0.000000, bitrate: N/A
Stream #0:0: Video: mjpeg, gray, 1024x768 [SAR 1:1 DAR 4:3], 25 tbr, 25 tbn,
25 tbc
Output #0, image2, to 'out.bmp':
Metadata:
encoder : Lavf54.50.102
Stream #0:0: Video: bmp, gray, 1024x768 [SAR 1:1 DAR 4:3], q=2-31, 200 kb/s,
90k tbn, 25 tbc
Stream mapping:
Stream #0:0 -> #0:0 (mjpeg -> bmp)
Press [q] to stop, [?] for help
frame= 1 fps=0.0 q=0.0 Lsize=N/A time=00:00:00.04 bitrate=N/A
video:769kB audio:0kB subtitle:0 global headers:0kB muxing overhead -100.002794%
Attachments
Change History
comment:1 Changed 6 months ago by cehoyos
- Keywords mjpeg added
- Status changed from new to open
- Version changed from unspecified to git-master
- Component changed from undetermined to avcodec
- Reproduced by developer set
Reproducible with ImageMagick?.
Note: See
TracTickets for help on using
tickets.



