Opened 11 months ago

Last modified 11 months ago

#10428 new defect

HSV filters are not actually doing HSV

Reported by: Mingye Wang Owned by:
Priority: minor Component: documentation
Version: git-master Keywords: terminology colorspace
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description (last modified by Mingye Wang)

Summary of the bug: The hsvhold and hsvkey filters claim to be doing HSV, but a quick examination of the source code do_hsvkey_pixel() reveals that they do not actually use the famous hexcone geometry based on RGB, but instead piggybacks on YCC. Some clarification is needed.

How to reproduce: Navigate to https://ffmpeg.org/ffmpeg-filters.html#hsvhold.

(Not using the real HSV is actually a good thing. At least this "V" we use is based on video luma, making it a much better representation of how bright something looks like than the real thing that weighs RGB equally. However, people could have incorrect expectations about what "hsv" value their key color is.)

This also applies to filters like hue and huesaturation which does the rotation in polarized YCC space. A disclaimer in filters.texi should minimize the number of files to change.

Funny enough, there really isn't a name applied to this polar YCC / "Y with UV in polar coordinates" thing. Papers and patents has used this idea since the time of color TV vectorscopes, but nobody has bothered to name it.

Change History (2)

comment:1 by Mingye Wang, 11 months ago

Description: modified (diff)
Version: unspecifiedgit-master

comment:2 by Mingye Wang, 11 months ago

Description: modified (diff)
Note: See TracTickets for help on using tickets.