VideoHelp Forum
+ Reply to Thread
Results 1 to 7 of 7
Thread
  1. So I am using FFMPEG to convert from a 24bit AVI file to an 8bit animated gif. It automatically uses error diffusion dither to convert to a lower bitdepth. I am trying to make it use NO dithering (nearest color only) so I am using the command line options "-sws_dither none" to try to make it use nearest color. But FFMPEG is SILENTLY IGNORING the option and still using error diffusion dithering. It gives no error or warning saying it's ignoring the command line options I specified. It's simply ignoring it (as evidenced by the appearance of the output gif file) and going ahead with using error diffusion dithering, and not even telling me that it's doing so. Please tell me what command line switches to use to force FFMPEG to use a different dithering method (in my case I want to use no dithering).
    Quote Quote  
  2. But that requires the use of paletteuse, which also requires the use of palettegen to generate a new palette. I don't want to generate a new palette. I want to use the default FFMPEG palette for the dithering, but I want to change the dithering METHOD to none (aka nearest color). At some point I may wish to use dithering but of a different type than the DEFAULT dithering method of FFMPEG (FFMPEG uses error diffusion by default, but I may wish to for example use pattern dithering later on, but still without changing the palette away from the FFMPEG default palette). That's why I'm strongly trying to stay AWAY FROM the paletteuse and palettegen options. I'm VERY WELL aware of their existence. But I'm intentionally AVOIDING them. My last hope was to use the -sws_dither option, but FFMPEG is silently ignoring it.

    I think what I need here is somebody to post an example FFMPEG command line, that is a WORKING EXAMPLE of how to use the -sws_dither command line option.

    And yes "none" is a valid dithering option for sws_dither. The official specs say it is. Unlike the post you linked to, it is NOT that paletteuse turns of dithering while sws_dither selects the algorithm. The specs for sws_dither say it is SUPPOSED TO allow for disabling dithering by selecting "none" for the algorithm. But my problem is that it's NOT behaving the way it is supposed to. That is, it is IGNORING the use of -sws_dither when I try to select "none" for the algorithm, and instead proceeds to use the error diffusion dithering. That is, it seems there's a BUG where the software is NOT behaving according to the official specs at https://ffmpeg.org/ffmpeg-scaler.html or else I'm doing something wrong. And I'm hoping it's just a mistake I'm making somewhere, and that you (or somebody) can post a working example of how to correctly use -sws_dither to set the dither algorithm to "none".
    Last edited by Videogamer555; 16th Apr 2021 at 04:40.
    Quote Quote  
  3. And what's about paletteuse=new=1:dither=none, maybe as placebo?
    Quote Quote  
  4. Originally Posted by ProWo View Post
    And what's about paletteuse=new=1:dither=none, maybe as placebo?
    Did you read the FFMPEG docs on paletteuse? It REQUIRES 2 inputs, which are (1) the video you want to convert to palettized color, and (2) the palette. The "new" command simply updates the palette for each frame (it reloads a single file, or loads several consecutive palette files, depending on how the palette file name string is formatted). I'm looking for somebody on here, ANYBODY at all, who has had success in using "-sws_dither none", because I would like to see their FULL COMMAND LINE, so I can know what other command line switches they used. I'm GUESSING that this is either a bug in FFMPEG, or else that additional command line switches are needed in order to enable the "none" dithering mode of the -sws_dither command line switch.
    Quote Quote  
  5. Provide proper ffmpeg report.
    Quote Quote  
  6. Member
    Join Date
    Jun 2023
    Location
    US, Tulsa Oklahoma
    Search Comp PM
    I hope that Videogamer555 (the user who started this topic) has found a solution to his problem by now, but in case he hasn't (or in case somebody else ever has the same problem), I have found a possible solution. I found it here (http://trac.ffmpeg.org/wiki/Scaling). Instead of using "-sws_dither none", the site that I linked to says to use "-vf scale=sws_dither=none". The (probably) most important difference is the inclusion of the equals symbol between dither & none.
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!