For YUV 420 files that have odd width or height, YUV player handles them incorrectly.
The number of bytes in a row of the subsampled chroma channel should be rounded up.
uv_rowbytes = (width + 1) / 2;
half_height = (height + 1) / 2;
uv_size = uv_rowbytes * half_height;
u_ptr = y_ptr + width * height;
v_ptr = u_ptr + uv_size;
size of frame = width * height + uv_size * 2;
ffmpeg can be used to make test art
ffmpeg -y -vsync 0 -i example.mov -vcodec rawvideo -pix_fmt yuv420p -s 853x480 -an example.853x480_30Hz_P420.yuv
Thanks for the report :)
this bug also fixed in trunk.