mirror of
https://chromium.googlesource.com/libyuv/libyuv
synced 2025-12-07 09:16:48 +08:00
bayer off by one on width
BUG=none TEST=media_unittest Review URL: http://webrtc-codereview.appspot.com/276003 git-svn-id: http://libyuv.googlecode.com/svn/trunk@65 16f28f9a-4ce2-e073-06de-1de4eb20be90
This commit is contained in:
parent
86e9487d0d
commit
82ba1b77ae
@ -1,6 +1,6 @@
|
||||
Name: libyuv
|
||||
URL: http://code.google.com/p/libyuv/
|
||||
Version: 64
|
||||
Version: 65
|
||||
License: BSD
|
||||
License File: LICENSE
|
||||
|
||||
|
||||
@ -79,7 +79,7 @@ static void ARGBToBayerRow_C(const uint8* src_argb,
|
||||
int index0 = selector & 0xff;
|
||||
int index1 = (selector >> 8) & 0xff;
|
||||
// Copy a row of Bayer.
|
||||
for (int x = 0; x < (pix - 1); x += 2) {
|
||||
for (int x = 0; x < pix - 1; x += 2) {
|
||||
dst_bayer[0] = src_argb[index0];
|
||||
dst_bayer[1] = src_argb[index1];
|
||||
src_argb += 8;
|
||||
@ -166,7 +166,7 @@ static void BayerRowBG(const uint8* src_bayer0, int src_stride_bayer,
|
||||
const uint8* src_bayer1 = src_bayer0 + src_stride_bayer;
|
||||
uint8 g = src_bayer0[1];
|
||||
uint8 r = src_bayer1[1];
|
||||
for (int x = 0; x < pix - 3; x += 2) {
|
||||
for (int x = 0; x < pix - 2; x += 2) {
|
||||
dst_rgb[0] = src_bayer0[0];
|
||||
dst_rgb[1] = AVG(g, src_bayer0[1]);
|
||||
dst_rgb[2] = AVG(r, src_bayer1[1]);
|
||||
@ -185,7 +185,7 @@ static void BayerRowBG(const uint8* src_bayer0, int src_stride_bayer,
|
||||
dst_rgb[1] = AVG(g, src_bayer0[1]);
|
||||
dst_rgb[2] = AVG(r, src_bayer1[1]);
|
||||
dst_rgb[3] = 255U;
|
||||
if (pix & 1) {
|
||||
if (!(pix & 1)) {
|
||||
dst_rgb[4] = src_bayer0[0];
|
||||
dst_rgb[5] = src_bayer0[1];
|
||||
dst_rgb[6] = src_bayer1[1];
|
||||
@ -198,7 +198,7 @@ static void BayerRowRG(const uint8* src_bayer0, int src_stride_bayer,
|
||||
const uint8* src_bayer1 = src_bayer0 + src_stride_bayer;
|
||||
uint8 g = src_bayer0[1];
|
||||
uint8 b = src_bayer1[1];
|
||||
for (int x = 0; x < pix - 3; x += 2) {
|
||||
for (int x = 0; x < pix - 2; x += 2) {
|
||||
dst_rgb[0] = AVG(b, src_bayer1[1]);
|
||||
dst_rgb[1] = AVG(g, src_bayer0[1]);
|
||||
dst_rgb[2] = src_bayer0[0];
|
||||
@ -217,7 +217,7 @@ static void BayerRowRG(const uint8* src_bayer0, int src_stride_bayer,
|
||||
dst_rgb[1] = AVG(g, src_bayer0[1]);
|
||||
dst_rgb[2] = src_bayer0[0];
|
||||
dst_rgb[3] = 255U;
|
||||
if (pix & 1) {
|
||||
if (!(pix & 1)) {
|
||||
dst_rgb[4] = src_bayer1[1];
|
||||
dst_rgb[5] = src_bayer0[1];
|
||||
dst_rgb[6] = src_bayer0[0];
|
||||
@ -229,7 +229,7 @@ static void BayerRowGB(const uint8* src_bayer0, int src_stride_bayer,
|
||||
uint8* dst_rgb, int pix) {
|
||||
const uint8* src_bayer1 = src_bayer0 + src_stride_bayer;
|
||||
uint8 b = src_bayer0[1];
|
||||
for (int x = 0; x < pix - 3; x += 2) {
|
||||
for (int x = 0; x < pix - 2; x += 2) {
|
||||
dst_rgb[0] = AVG(b, src_bayer0[1]);
|
||||
dst_rgb[1] = src_bayer0[0];
|
||||
dst_rgb[2] = src_bayer1[0];
|
||||
@ -247,7 +247,7 @@ static void BayerRowGB(const uint8* src_bayer0, int src_stride_bayer,
|
||||
dst_rgb[1] = src_bayer0[0];
|
||||
dst_rgb[2] = src_bayer1[0];
|
||||
dst_rgb[3] = 255U;
|
||||
if (pix & 1) {
|
||||
if (!(pix & 1)) {
|
||||
dst_rgb[4] = src_bayer0[1];
|
||||
dst_rgb[5] = src_bayer0[0];
|
||||
dst_rgb[6] = src_bayer1[0];
|
||||
@ -259,7 +259,7 @@ static void BayerRowGR(const uint8* src_bayer0, int src_stride_bayer,
|
||||
uint8* dst_rgb, int pix) {
|
||||
const uint8* src_bayer1 = src_bayer0 + src_stride_bayer;
|
||||
uint8 r = src_bayer0[1];
|
||||
for (int x = 0; x < pix - 3; x += 2) {
|
||||
for (int x = 0; x < pix - 2; x += 2) {
|
||||
dst_rgb[0] = src_bayer1[0];
|
||||
dst_rgb[1] = src_bayer0[0];
|
||||
dst_rgb[2] = AVG(r, src_bayer0[1]);
|
||||
@ -277,7 +277,7 @@ static void BayerRowGR(const uint8* src_bayer0, int src_stride_bayer,
|
||||
dst_rgb[1] = src_bayer0[0];
|
||||
dst_rgb[2] = AVG(r, src_bayer0[1]);
|
||||
dst_rgb[3] = 255U;
|
||||
if (pix & 1) {
|
||||
if (!(pix & 1)) {
|
||||
dst_rgb[4] = src_bayer1[0];
|
||||
dst_rgb[5] = src_bayer0[0];
|
||||
dst_rgb[6] = src_bayer0[1];
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user