private boolean compareChromaPanes(boolean crossed) {
		int d, f = 0;

		for (int j=0;j<NB_DECODED;j++) {
			if (mDecodedVideo[j] != null) {
				// We compare the U and V pane before and after
				if (!crossed) {
					for (int i=mSize;i<3*mSize/2;i+=1) {
						d = (mInitialImage[i]&0xFF) - (mDecodedVideo[j][i]&0xFF);
						d = d<0 ? -d : d;
						if (d>50) {
							//if (VERBOSE) Log.e(TAG,"BUG "+(i-mSize)+" d "+d);
							f++;
							break;
						}
					}

					// We compare the V pane before with the U pane after
				} else {
					for (int i=mSize;i<3*mSize/2;i+=2) {
						d = (mInitialImage[i]&0xFF) - (mDecodedVideo[j][i+1]&0xFF);
						d = d<0 ? -d : d;
						if (d>50) {
							f++;
						}
					}
				}
			}
		}
		return f<=NB_DECODED/2;
	}
Compares the U or V pane of the initial image, and the U or V pane
after having encoded & decoded the image.
src/net/majorkernelpanic/streaming/hw/EncoderDebugger.java