Index: source/libvpx/tools_common.c |
=================================================================== |
--- source/libvpx/tools_common.c (revision 284462) |
+++ source/libvpx/tools_common.c (working copy) |
@@ -83,11 +83,12 @@ |
struct FileTypeDetectionBuffer *detect = &input_ctx->detect; |
int plane = 0; |
int shortread = 0; |
+ const int bytespp = (yuv_frame->fmt & VPX_IMG_FMT_HIGH) ? 2 : 1; |
for (plane = 0; plane < 3; ++plane) { |
uint8_t *ptr; |
- const int w = (plane ? (1 + yuv_frame->d_w) / 2 : yuv_frame->d_w); |
- const int h = (plane ? (1 + yuv_frame->d_h) / 2 : yuv_frame->d_h); |
+ const int w = vpx_img_plane_width(yuv_frame, plane); |
+ const int h = vpx_img_plane_height(yuv_frame, plane); |
int r; |
/* Determine the correct plane based on the image format. The for-loop |
@@ -108,7 +109,7 @@ |
} |
for (r = 0; r < h; ++r) { |
- size_t needed = w; |
+ size_t needed = w * bytespp; |
size_t buf_position = 0; |
const size_t left = detect->buf_read - detect->position; |
if (left > 0) { |