diff options
author | Deb Mukherjee <debargha@google.com> | 2014-07-11 11:43:31 -0700 |
---|---|---|
committer | Deb Mukherjee <debargha@google.com> | 2014-07-14 11:48:04 -0700 |
commit | 449e5f2aba2d5f743f5be09e44d345b87ec7a91f (patch) | |
tree | cba9a2c6e0f13049ad6af5150ae793f9e7990b9f /tools_common.c | |
parent | a75d55df1b362cb608f1ea6b70154cf166c32a3f (diff) | |
download | libvpx-449e5f2aba2d5f743f5be09e44d345b87ec7a91f.tar libvpx-449e5f2aba2d5f743f5be09e44d345b87ec7a91f.tar.gz libvpx-449e5f2aba2d5f743f5be09e44d345b87ec7a91f.tar.bz2 libvpx-449e5f2aba2d5f743f5be09e44d345b87ec7a91f.zip |
Misc. bit-depth related changes
Sets the bit-depth field as default 8 in the image structure in vp8.
Generalizes yuv read in preparation for support for reading 422/444
for 8-bit and 10/12-bit.
Change-Id: I560c13c348b122fd028e408431156376b895058c
Diffstat (limited to 'tools_common.c')
-rw-r--r-- | tools_common.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/tools_common.c b/tools_common.c index 4f2ac7401..8825528a5 100644 --- a/tools_common.c +++ b/tools_common.c @@ -83,11 +83,12 @@ int read_yuv_frame(struct VpxInputContext *input_ctx, vpx_image_t *yuv_frame) { struct FileTypeDetectionBuffer *detect = &input_ctx->detect; int plane = 0; int shortread = 0; + const int bytespp = (input_ctx->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 @@ int read_yuv_frame(struct VpxInputContext *input_ctx, vpx_image_t *yuv_frame) { } 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) { |