(Feel free to ignore the below.)
It may be better to move eval-stuff to separate procedure called from config_input(), so it would be easier to add possibility to reference changing variables, (e.g. timestamp or frame number), just calling eval function from filter_frame() instead of config_input().