fill out the rest of the source video frame functions, added nv12 decompression function, and cleaned up the design of the source video frame stuff