package org.jcodec.scale; import org.jcodec.common.model.Picture; /** * This class is part of JCodec ( www.jcodec.org ) This software is distributed * under FreeBSD License * * Performs color scaling from JPEG to NTSC * * @author The JCodec project * */ public class Yuv420jToYuv420 implements Transform { public static int Y_COEFF = 7168; @Override public void transform(Picture src, Picture dst) { int[] sy = src.getPlaneData(0); int[] dy = dst.getPlaneData(0); for (int i = 0; i < src.getPlaneWidth(0) * src.getPlaneHeight(0); i++) dy[i] = (sy[i] * Y_COEFF >> 13) + 16; int[] su = src.getPlaneData(1); int[] du = dst.getPlaneData(1); for (int i = 0; i < src.getPlaneWidth(1) * src.getPlaneHeight(1); i++) du[i] = ((su[i] - 128) * Y_COEFF >> 13) + 128; int[] sv = src.getPlaneData(2); int[] dv = dst.getPlaneData(2); for (int i = 0; i < src.getPlaneWidth(2) * src.getPlaneHeight(2); i++) dv[i] = ((sv[i] - 128) * Y_COEFF >> 13) + 128; } }