| Index: source/convert_to_argb.cc
|
| diff --git a/source/convert_to_argb.cc b/source/convert_to_argb.cc
|
| index af829fbd32bb63577f0bb129948da6a7adafca77..7533f50109c22462c7eed5ff732bf279857ada60 100644
|
| --- a/source/convert_to_argb.cc
|
| +++ b/source/convert_to_argb.cc
|
| @@ -23,7 +23,7 @@ namespace libyuv {
|
| extern "C" {
|
| #endif
|
|
|
| -// Convert camera sample to I420 with cropping, rotation and vertical flip.
|
| +// Convert camera sample to ARGB with cropping, rotation and vertical flip.
|
| // src_width is used for source stride computation
|
| // src_height is used to compute location of planes, and indicate inversion
|
| // sample_size is measured in bytes and is the size of the frame.
|
| @@ -51,8 +51,8 @@ int ConvertToARGB(const uint8* sample, size_t sample_size,
|
| // also enable temporary buffer.
|
| LIBYUV_BOOL need_buf = (rotation && format != FOURCC_ARGB) ||
|
| crop_argb == sample;
|
| - uint8* tmp_argb = crop_argb;
|
| - int tmp_argb_stride = argb_stride;
|
| + uint8* dest_argb = crop_argb;
|
| + int dest_argb_stride = argb_stride;
|
| uint8* rotate_buffer = NULL;
|
| int abs_crop_height = (crop_height < 0) ? -crop_height : crop_height;
|
|
|
| @@ -66,13 +66,13 @@ int ConvertToARGB(const uint8* sample, size_t sample_size,
|
| }
|
|
|
| if (need_buf) {
|
| - int argb_size = crop_width * abs_crop_height * 4;
|
| + int argb_size = crop_width * 4 * abs_crop_height;
|
| rotate_buffer = (uint8*)malloc(argb_size);
|
| if (!rotate_buffer) {
|
| return 1; // Out of memory runtime error.
|
| }
|
| crop_argb = rotate_buffer;
|
| - argb_stride = crop_width;
|
| + argb_stride = crop_width * 4;
|
| }
|
|
|
| switch (format) {
|
| @@ -291,7 +291,7 @@ int ConvertToARGB(const uint8* sample, size_t sample_size,
|
| if (need_buf) {
|
| if (!r) {
|
| r = ARGBRotate(crop_argb, argb_stride,
|
| - tmp_argb, tmp_argb_stride,
|
| + dest_argb, dest_argb_stride,
|
| crop_width, abs_crop_height, rotation);
|
| }
|
| free(rotate_buffer);
|
|
|