diff --git a/libvo/vo_odivx.c b/libvo/vo_odivx.c index b9acd55c7f..1f9a7073b3 100644 --- a/libvo/vo_odivx.c +++ b/libvo/vo_odivx.c @@ -93,11 +93,34 @@ draw_frame(uint8_t *src[]) d+=image_width*image_height/4; memcpy(d,src[2],image_width*image_height/4); break; -// case IMGFMT_YUY2: - case IMGFMT_BGR|24: - memcpy(d,src[0],image_width*image_height*3); + case IMGFMT_YUY2: { + uint8_t *dY=image; + uint8_t *dU=image+image_width*image_height; + uint8_t *dV=dU+image_width*image_height/4; + uint8_t *s=src[0]; + int y; + for(y=0;y