| 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) {
|
|
|