Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • GIMP GIMP
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 3,771
    • Issues 3,771
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 80
    • Merge requests 80
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GNOMEGNOME
  • GIMPGIMP
  • Issues
  • #5440
Closed
Open
Issue created Jul 21, 2020 by Lloyd Konneker@bootchkDeveloper

2.99 "Predator" scriptfu filter broken because it calls "Max RGB" C language filter that was removed w/o replacement.

Replicate:

  File>New
  Filters>Artistic>Predator...
  Choose OK

Expect: see the help  at https://docs.gimp.org/2.10/en/script-fu-predator.html

Actual: Gimp message "Error: eval: unbound variable: plug-in-max-rgb "

plug-ins/common/max_rgb.c was removed in commit dd89f493 The Gimp dev wiki plugin roadmap confirms the removal was planned/intended.

I am mainly reporting this to say that: before 3.0 release, either remove Predator or restore Max RGB.

It might be possible to fix Predator filter to not use max_rgb. But I would guess that the max_rgb effect is crucial to Predator.

I suspect that the max_rgb effect could be implemented at the mask/channel/layer level instead of at the pixel level as the old implementation did. (That is, in Python or scheme, without using pixel_rgn.) But I don't understand GEGL ops enough to implement it. If there is an operation to reduce a mask from eight-bits to one, or an operation to ceil or floor a mask from eight-bits to 255 or zero, I think it could be done using difference operations on channels.

I don't have an opinion whether max_rgb is useful, but there is rare, 5 year old discussion of it:

https://www.pyimagesearch.com/2015/09/28/implementing-the-max-rgb-filter-in-opencv/

Assignee
Assign to
Time tracking