⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jpegformat.java

📁 FMJ(freedom media for java)是java视频开发的新选择
💻 JAVA
字号:
package javax.media.format;import javax.media.Format;import net.sf.fmj.utility.FormatUtils;/** * Coding complete. * @author Ken Larson * */public class JPEGFormat extends VideoFormat{	public static final int DEC_422 = 0;	public static final int DEC_420 = 1;	public static final int DEC_444 = 2;	public static final int DEC_402 = 3;	public static final int DEC_411 = 4;	int qFactor = NOT_SPECIFIED;	int decimation = NOT_SPECIFIED;		public JPEGFormat()	{		super(JPEG);		dataType = Format.byteArray;	}		public JPEGFormat(java.awt.Dimension size,            int maxDataLength,            Class dataType,            float frameRate,            int q,            int dec)	{		super(JPEG, size, maxDataLength, dataType, frameRate);		this.qFactor = q;		this.decimation = dec;	}		public int getQFactor()	{	return qFactor;	}		public int getDecimation()	{	return decimation;	}		public Object clone()	{	return new JPEGFormat(FormatUtils.clone(size), maxDataLength, dataType, frameRate, qFactor, decimation);	}		protected void copy(Format f)	{		super.copy(f);		final JPEGFormat oCast = (JPEGFormat) f;	// it has to be a JPEGFormat, or ClassCastException will be thrown.		this.qFactor = oCast.qFactor;		this.decimation = oCast.decimation;	}		public String toString()	{		// examples:		// jpeg video format: dataType = class [B		// jpeg video format: size = 1x1 FrameRate = 1.0 maxDataLength = 1000 dataType = class [S q factor = 2 decimation = 3		// jpeg video format: size = 1x1 FrameRate = 1.0 maxDataLength = 1000 dataType = class [S decimation = 3			final StringBuffer b = new StringBuffer();		b.append("jpeg video format:");		if (FormatUtils.specified(size))			b.append(" size = " + size.width + "x" + size.height);		if (FormatUtils.specified(frameRate))			b.append(" FrameRate = " + frameRate);		if (FormatUtils.specified(maxDataLength))			b.append(" maxDataLength = " + maxDataLength);		if (FormatUtils.specified(dataType))			b.append(" dataType = " + dataType);		if (FormatUtils.specified(qFactor))			b.append(" q factor = " + qFactor);		if (FormatUtils.specified(decimation))			b.append(" decimation = " + decimation);				return b.toString();	}		public boolean equals(Object format)	{		if (!super.equals(format))			return false;				if (!(format instanceof JPEGFormat))			{			return false;		}				final JPEGFormat oCast = (JPEGFormat) format;		return 			this.qFactor == oCast.qFactor &&			this.decimation == oCast.decimation;		}		public boolean matches(Format format)	{		if (!super.matches(format))		{				FormatUtils.traceMatches(this, format, false);			return false;		}				if (!(format instanceof JPEGFormat))		{				final boolean result = true;			FormatUtils.traceMatches(this, format, result);			return result;		}				final JPEGFormat oCast = (JPEGFormat) format;		final boolean result = 			FormatUtils.matches(oCast.qFactor, this.qFactor) &&			FormatUtils.matches(oCast.decimation, this.decimation);				FormatUtils.traceMatches(this, format, result);				return result;	}		public Format intersects(Format other)	{		final Format result = super.intersects(other);		if (other instanceof JPEGFormat)		{			final JPEGFormat resultCast = (JPEGFormat) result;						final JPEGFormat oCast = (JPEGFormat) other;			if (getClass().isAssignableFrom(other.getClass()))			{					// "other" was cloned.								if (FormatUtils.specified(this.qFactor))					resultCast.qFactor = this.qFactor;				if (FormatUtils.specified(this.decimation))					resultCast.decimation = this.decimation;											}			else if (other.getClass().isAssignableFrom(getClass()))			{	// this was cloned								if (!FormatUtils.specified(resultCast.qFactor))					resultCast.qFactor = oCast.qFactor;				if (!FormatUtils.specified(resultCast.decimation))					resultCast.decimation = oCast.decimation;									}		}				FormatUtils.traceIntersects(this, other, result);				return result;	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -