I work with hardware decoder which provides output in NV12 format (
http://www.fourcc.org/yuv.php#NV12 ). To avoid extra memory copy for conversion from NV12 to I420 I added support of NV12 into libvpx, conversion is performed with borders extension. I attached a small patch implementing these changes. The most of changes are in extend.c and vp9_extend.c and since encoder works only with extended planes, other files with encoder logic are not affected. To test this functionality support of NV12 was added into vpxenc, and there is another patch for this.