Hi
I mentioned in the last post about a new GEM release that some of the names of various objects don't really match what they do very well. i think i've said on a few occasions that the name of the object needs to tell the user what they do rather than be some excessively cute, clever name from a book no one has read, Hindu deities or someone's cat (btw, all of these are used as names in other video systems). so here's a list of objects and suggested changes:
- pix_blur - this should be renamed pix_motionblur and pix_blur will be an abstraction for a convolution based blur.
- pix_buf - would it be better to rename this pix_separator to mirror the separator object? pix_buf can remain for compatibility.
- pix_depot - why not call it pix_buffer? or pix_table or pix_array? something that is a common term for a chunk of memory filled with data (frames of video in this case). yes, a depot is a place to store things but it's mainly used as a military term or in the name of a large chain of hardware and office supply stores in the US (Home Depot and Office Depot respectively).
- pix_put/get - could be pix_buffer_write and pix_buffer_read. these seem a little more specific to me and the name-space extension allows for direct association of functions with the pix_buffer object.
also i was thinking of making objects that performed various actions on the buffer or used it in some way for processing. also, this could facilitate non-realtime renders. examples:
pix_buffer_average - averages the frames in the buffer and stores the result as a single frame. useful for motion detection and compositing and pix_background type effects
pix_buffer_record - dumps the contents of the buffer into a Quicktime .mov and compresses them. could be useful in situations where the frames can be stored in the buffer but compression takes too much time to be done in real-time (like MPEG-2 or 4).
pix_buffer_motionblur - really high quality motion blurring requires lots of frames to be used and is generally not a real-time operation. if you've ever seen the shake motion blur you know about this.
there are some other ones that are new to CVS that might need better names:
- pix_background - this removes the background from based on a static image snapshot. is there a more meaningful name that better describes this? pix_background_remove is a bit excessive i think.
- pix_scanline - this does image decimation based on either repeating or removing rows of pixels, so it does do scanline processing but is that really clear?
i don't think any of the objects are really in wide-spread use except for pix_buf which can remain for compatibility purposes. maybe this is just a personal pet-peeve, and no one really cares what the objects are called as long as they work, but i thought i would make some suggestions and see what people think.
cgc