| Index: source/libvpx/third_party/libyuv/source/convert_to_argb.cc
|
| diff --git a/source/libvpx/third_party/libyuv/source/convert_to_argb.cc b/source/libvpx/third_party/libyuv/source/convert_to_argb.cc
|
| index 1b228a7b4d9bde2a902c3c8403177d940c94d365..af829fbd32bb63577f0bb129948da6a7adafca77 100644
|
| --- a/source/libvpx/third_party/libyuv/source/convert_to_argb.cc
|
| +++ b/source/libvpx/third_party/libyuv/source/convert_to_argb.cc
|
| @@ -11,7 +11,6 @@
|
| #include "libyuv/convert_argb.h"
|
|
|
| #include "libyuv/cpu_id.h"
|
| -#include "libyuv/format_conversion.h"
|
| #ifdef HAVE_JPEG
|
| #include "libyuv/mjpeg_decoder.h"
|
| #endif
|
| @@ -144,36 +143,6 @@ int ConvertToARGB(const uint8* sample, size_t sample_size,
|
| crop_argb, argb_stride,
|
| crop_width, inv_crop_height);
|
| break;
|
| - // TODO(fbarchard): Support cropping Bayer by odd numbers
|
| - // by adjusting fourcc.
|
| - case FOURCC_BGGR:
|
| - src = sample + (src_width * crop_y + crop_x);
|
| - r = BayerBGGRToARGB(src, src_width,
|
| - crop_argb, argb_stride,
|
| - crop_width, inv_crop_height);
|
| - break;
|
| -
|
| - case FOURCC_GBRG:
|
| - src = sample + (src_width * crop_y + crop_x);
|
| - r = BayerGBRGToARGB(src, src_width,
|
| - crop_argb, argb_stride,
|
| - crop_width, inv_crop_height);
|
| - break;
|
| -
|
| - case FOURCC_GRBG:
|
| - src = sample + (src_width * crop_y + crop_x);
|
| - r = BayerGRBGToARGB(src, src_width,
|
| - crop_argb, argb_stride,
|
| - crop_width, inv_crop_height);
|
| - break;
|
| -
|
| - case FOURCC_RGGB:
|
| - src = sample + (src_width * crop_y + crop_x);
|
| - r = BayerRGGBToARGB(src, src_width,
|
| - crop_argb, argb_stride,
|
| - crop_width, inv_crop_height);
|
| - break;
|
| -
|
| case FOURCC_I400:
|
| src = sample + src_width * crop_y + crop_x;
|
| r = I400ToARGB(src, src_width,
|
| @@ -205,15 +174,6 @@ int ConvertToARGB(const uint8* sample, size_t sample_size,
|
| crop_argb, argb_stride,
|
| crop_width, inv_crop_height);
|
| break;
|
| -// case FOURCC_Q420:
|
| -// src = sample + (src_width + aligned_src_width * 2) * crop_y + crop_x;
|
| -// src_uv = sample + (src_width + aligned_src_width * 2) * crop_y +
|
| -// src_width + crop_x * 2;
|
| -// r = Q420ToARGB(src, src_width * 3,
|
| -// src_uv, src_width * 3,
|
| -// crop_argb, argb_stride,
|
| -// crop_width, inv_crop_height);
|
| -// break;
|
| // Triplanar formats
|
| case FOURCC_I420:
|
| case FOURCC_YU12:
|
| @@ -241,6 +201,25 @@ int ConvertToARGB(const uint8* sample, size_t sample_size,
|
| crop_width, inv_crop_height);
|
| break;
|
| }
|
| +
|
| + case FOURCC_J420: {
|
| + const uint8* src_y = sample + (src_width * crop_y + crop_x);
|
| + const uint8* src_u;
|
| + const uint8* src_v;
|
| + int halfwidth = (src_width + 1) / 2;
|
| + int halfheight = (abs_src_height + 1) / 2;
|
| + src_u = sample + src_width * abs_src_height +
|
| + (halfwidth * crop_y + crop_x) / 2;
|
| + src_v = sample + src_width * abs_src_height +
|
| + halfwidth * (halfheight + crop_y / 2) + crop_x / 2;
|
| + r = J420ToARGB(src_y, src_width,
|
| + src_u, halfwidth,
|
| + src_v, halfwidth,
|
| + crop_argb, argb_stride,
|
| + crop_width, inv_crop_height);
|
| + break;
|
| + }
|
| +
|
| case FOURCC_I422:
|
| case FOURCC_YV16: {
|
| const uint8* src_y = sample + src_width * crop_y + crop_x;
|
|
|