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>>

Reply via email to