New submission from Vitor <[email protected]>: To reproduce
vi...@vitor:~$ ffmpeg -i input.jpg -pix_fmt rgb555 output.bmp
FFmpeg version SVN-r24456, Copyright (c) 2000-2010 the FFmpeg developers
built on Jul 23 2010 11:58:11 with gcc 4.4.3
configuration: --cc='ccache gcc' --cpu='host'
libavutil 50.23. 0 / 50.23. 0
libavcore 0. 0. 0 / 0. 0. 0
libavcodec 52.84. 0 / 52.84. 0
libavformat 52.76. 0 / 52.76. 0
libavdevice 52. 2. 0 / 52. 2. 0
libavfilter 1.26. 1 / 1.26. 1
libswscale 0.11. 0 / 0.11. 0
Input #0, image2, from 'input.jpg':
Duration: 00:00:00.04, start: 0.000000, bitrate: N/A
Stream #0.0: Video: mjpeg, yuvj420p, 268x264 [PAR 300:300 DAR 67:66], 25
tbr, 25 tbn, 25 tbc
[buffer @ 0xa334820] w:268 h:264 pixfmt:yuvj420p
[ffmpeg_output @ 0xa334a40] auto-inserting filter 'auto-inserted scaler 0'
between the filter 'src' and the filter 'out'
[scale @ 0xa334df0] w:268 h:264 fmt:yuvj420p -> w:268 h:264 fmt:rgb555le
flags:0xa0000004
Output #0, image2, to 'output.bmp':
Metadata:
encoder : Lavf52.76.0
Stream #0.0: Video: bmp, rgb555le, 268x264 [PAR 1:1 DAR 67:66], q=2-31, 200
kb/s, 90k tbn, 25 tbc
Stream mapping:
Stream #0.0 -> #0.0
Press [q] to stop encoding
frame= 1 fps= 0 q=0.0 Lsize= -0kB time=0.04 bitrate= -4.4kbits/s
Note that if one does YUV420 -> YUV444 -> RGB555 swscaler does dithering:
vi...@vitor:~$ ffmpeg -i input.jpg -vf "format=yuvj444p" -pix_fmt rgb555
output2.bmp
FFmpeg version SVN-r24456, Copyright (c) 2000-2010 the FFmpeg developers
built on Jul 23 2010 11:58:11 with gcc 4.4.3
configuration: --cc='ccache gcc' --cpu='host'
libavutil 50.23. 0 / 50.23. 0
libavcore 0. 0. 0 / 0. 0. 0
libavcodec 52.84. 0 / 52.84. 0
libavformat 52.76. 0 / 52.76. 0
libavdevice 52. 2. 0 / 52. 2. 0
libavfilter 1.26. 1 / 1.26. 1
libswscale 0.11. 0 / 0.11. 0
Input #0, image2, from 'input.jpg':
Duration: 00:00:00.04, start: 0.000000, bitrate: N/A
Stream #0.0: Video: mjpeg, yuvj420p, 268x264 [PAR 300:300 DAR 67:66], 25
tbr, 25 tbn, 25 tbc
[buffer @ 0x8cfe820] w:268 h:264 pixfmt:yuvj420p
[ffmpeg_output @ 0x8cfea40] auto-inserting filter 'auto-inserted scaler 0'
between the filter 'Filter 0 format' and the filter 'out'
[format @ 0x8cfed10] auto-inserting filter 'auto-inserted scaler 1' between the
filter 'src' and the filter 'Filter 0 format'
[scale @ 0x8cf33f0] w:268 h:264 fmt:yuvj420p -> w:268 h:264 fmt:yuvj444p
flags:0xa0000004
[scale @ 0x8cff460] w:268 h:264 fmt:yuvj444p -> w:268 h:264 fmt:rgb555le
flags:0xa0000004
Output #0, image2, to 'output2.bmp':
Metadata:
encoder : Lavf52.76.0
Stream #0.0: Video: bmp, rgb555le, 268x264 [PAR 1:1 DAR 67:66], q=2-31, 200
kb/s, 90k tbn, 25 tbc
Stream mapping:
Stream #0.0 -> #0.0
Press [q] to stop encoding
frame= 1 fps= 0 q=0.0 Lsize= -0kB time=0.04 bitrate= -4.4kbits/s
video:138kB audio:0kB global headers:0kB muxing overhead -100.015541%
Input and output files attached (part of some random sunshine image in
wikipedia).
----------
files: input.jpg
messages: 11353
priority: normal
status: new
substatus: new
title: Swscale YUV420 -> RGB555 does not use dithering
type: bug
________________________________________________
FFmpeg issue tracker <[email protected]>
<https://roundup.ffmpeg.org/issue2124>
________________________________________________<<attachment: input.jpg>>
