Under OpenMax image_encode certainly doesn't.
Under MMAL, if you've rendered to a vcsm buffer then zero copy with MMAL_ENCODING_RGBA should be able to accept the buffer. If encoding to JPEG then it has to do a software conversion of the image to YUV.
For all components you should be able to enumerate the supported formats using OMX_IndexParamImagePortFormat / OMX_IndexParamVideoPortFormat under IL, or MMAL_PARAMETER_SUPPORTED_ENCODINGS under MMAL (see mmal_util.c for an example of using MMAL_PARAMETER_SUPPORTED_ENCODINGS).
