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

📄 dvbsubpicture.java

📁 优秀的MPEG2-TS流分析软件
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
			id = val;
		}

		private int getId()
		{
			return id;
		}

		private void setVersionNumber(int val) //modulo16, if a change
		{
			version_number = val;
		}

		private int getVersionNumber()
		{
			return version_number;
		}

		private void setWriteStatus(boolean b)
		{
			write = b;
		}

		private boolean getWriteStatus()
		{
			return write;
		}

		private void setTimeIn(long val)
		{
			time_in = val;
		}

		private long getTimeIn()
		{
			return time_in;
		}

		private void setTimeOut(int val)
		{
			time_out = val;
		}

		private int getTimeOut()
		{
			return time_out;
		}

		private int[] initPixel()
		{
			return (pixel = new int[720 * 576]);
		}

		private int[] getPixel()
		{
			return pixel;
		}

		private void setState(int val)
		{
			state = val;
		}

		private int getState()
		{
			return state;
		}

		private void clearArea()
		{
			minX = 720;
			minY = 576;
			maxX = maxY = 0;
		}

		private void addArea(int x, int y, int w, int h)
		{
			int x2 = x + w;
			int y2 = y + h;

			minX = x < minX ? x : minX;
			minY = y < minY ? y : minY;
			maxX = x2 > maxX ? x2 : maxX;
			maxY = y2 > maxY ? y2 : maxY;
		}

		private int getX()
		{
			return minX;
		}

		private int getY()
		{
			return minY;
		}

		private int getWidth()
		{
			return (maxX - minX);
		}

		private int getHeight()
		{
			return (maxY - minY);
		}
	}

	class Region
	{
		private int id;
		private int horizontal_address;
		private int vertical_address;
		private int version_number = -1;
		private boolean fill_flag;
		private boolean active = false;
		private boolean changed = false;
		private int width;
		private int height;
		private int x;
		private int y;
		private int level_of_compatibility;
		private int depth;
		private int CLUT_id;
		private int pixel_code_8bit;
		private int pixel_code_4bit;
		private int pixel_code_2bit;
		private int pixel[];

		//DM23062004 081.7 int05 add
		private int error = 0;

		private Region()
		{}

		private Region(int val)
		{
			id = val;
		}

		private void setId(int val)
		{
			id = val;
		}

		private int getId()
		{
			return id;
		}

		private void setHorizontalAddress(int val)
		{
			horizontal_address = val;
			x = 0;
		}

		private void setVerticalAddress(int val)
		{
			vertical_address = val;
			y = 0;
		}

		private void setVersionNumber(int val) //modulo16, if a change
		{
			version_number = val;
		}

		private int getVersionNumber()
		{
			return version_number;
		}

		private int[] initPixel()
		{
			return (pixel = new int[width * height]);
		}

		private int[] getPixel()
		{
			return pixel;
		}

		private void setFillFlag(int val)  // fill background with color of region_pixel_code_xbit index
		{
			fill_flag = val != 0 ? true : false;
		}

		private boolean getFillFlag()
		{
			return fill_flag;
		}

		private void setActive(boolean b)
		{
			active = b;
		}

		private boolean isActive()
		{
			return active;
		}


		private void setWidth(int val)  //max 720, if h_address =1
		{
			width = val;
		}

		private int getWidth()
		{
			return width;
		}

		private void setHeight(int val) //max 576, if v_address =1
		{
			height = val;
		}

		private int getHeight()
		{
			return height;
		}

		private void setLevelOfCompatibility(int val) //1,2,3 = 2,4,8bit supported colors by IRD, X can use all :)
		{
			level_of_compatibility = val;
		}

		private int getCompatibility()
		{
			return level_of_compatibility;
		}

		private void setDepth(int val) //1,2,3 = 2,4,8bit pixel depth
		{
			depth = 1<<val;
		}

		private int getDepth()
		{
			return depth;
		}

		private void setCLUT_id(int val)
		{
			CLUT_id = val;
		}

		private void setPixelCode_8bit(int val) //see fillflag, backgr CLUT entry
		{
			pixel_code_8bit = val;
		}

		private void setPixelCode_4bit(int val) //see fillflag, backgr CLUT entry
		{
			pixel_code_4bit = val;
		}

		private void setPixelCode_2bit(int val) //see fillflag, backgr CLUT entry
		{
			pixel_code_2bit = val;
		}

		private int getPixelCode_8bit()
		{
			return pixel_code_8bit;
		}

		private int getPixelCode_4bit()
		{
			return pixel_code_4bit;
		}

		private int getPixelCode_2bit()
		{
			return pixel_code_2bit;
		}

		private int getXBound()
		{
			return horizontal_address;
		}

		private int getYBound()
		{
			return vertical_address;
		}

		private int getX(int x_len)
		{
			int nx = x;
			x += x_len;

			return nx;
		}

		private int getY()
		{
			return y;
		}

		private void nextLine()
		{
			x = 0;
			y += 2;
		}

		private void nextField()
		{
			x = 0;
			y = 1;
		}

		private void resetXY()
		{
			x = 0;
			y = 0;
		}

		private void setChanged(boolean b)
		{
			changed = b;
		}

		private boolean isChanged()
		{
			return changed;
		}

		//DM23062004 081.7 int05 add
		private int getErrors()
		{
			return error;
		}

		//DM23062004 081.7 int05 add
		private void setError(int val)
		{
			error |= val;

			if (val == 0)
				error = 0;
		}
	}

	class CLUT
	{
		private int id;
		private int version_number = -1;
		private int modify_flags = 0;

		private final int default_CLUT_2bit[] = { 
			0, 0xFFFFFFFF, 0xFF000000, 0xFF808080 
		};
		private final int default_CLUT_4bit[] = { 
			0, 0xFFFF0000, 0xFF00FF00, 0xFFFFFF00, 0xFF0000FF, 0xFFFF00FF,
			0xFF00FFFF, 0xFFFFFFFF, 0xFF000000, 0xFF800000, 0xFF008000, 
			0xFF808000, 0xFF000080, 0xFF800080, 0xFF008080, 0xFF808080
		};
		private final int default_CLUT_8bit[] = table_CLUT_8bit;

		private int CLUT_2bit[];
		private int CLUT_4bit[];
		private int CLUT_8bit[];

		private CLUT()
		{
			init(0);
		}

		private CLUT(int val)
		{
			init(val);
		}

		private void init(int val)
		{
			id = val;

			CLUT_2bit = default_CLUT_2bit;
			CLUT_4bit = default_CLUT_4bit;
			CLUT_8bit = default_CLUT_8bit;
		}

		private void setId(int val)
		{
			id = val;
		}

		private int getId()
		{
			return id;
		}

		private void setVersionNumber(int val) //modulo16, if a change
		{
			version_number = val;
		}

		private int getVersionNumber()
		{
			return version_number;
		}

		private int[] getCLUT_2bit()
		{
			return CLUT_2bit;
		}

		private int[] getCLUT_4bit()
		{
			return CLUT_4bit;
		}

		private int[] getCLUT_8bit()
		{
			return CLUT_8bit;
		}

		private void setClutEntry(int index, int flag, int ARGB)
		{
			if ((flag & 8) != 0)
				CLUT_8bit[index] = ARGB;

			else if ((flag & 4) != 0)
				CLUT_4bit[index] = ARGB;

			else if ((flag & 2) != 0)
				CLUT_2bit[index] = ARGB;

			modify_flags |= flag;
		}

		private int getModifyFlags()
		{
			return modify_flags;
		}
	}


	class OBJECT
	{
		private int id;
		private int version_number = -1;
		private int type;
		private int region_id = -1;
		private int provider_flag;
		private int horizontal_position;
		private int vertical_position;
		private int foreground_pixel_code;
		private int background_pixel_code;
		private boolean non_modifying_color_flag;
		private boolean copy_top_field_flag;

		private final int default_map_table_2to4bit[] = { 0, 7, 8, 0xF };
		private final int default_map_table_2to8bit[] = { 0, 0x77, 0x88, 0xFF };
		private final int default_map_table_4to8bit[] = { 
			0, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 
			0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF
		};
		private int map_table_2to4bit[];
		private int map_table_2to8bit[];
		private int map_table_4to8bit[];

		private Hashtable regions = new Hashtable();

		private OBJECT()
		{
			init();
		}

		private OBJECT(int val)
		{
			id = val;
			init();
		}

		private void init()
		{
			map_table_2to4bit = default_map_table_2to4bit;
			map_table_2to8bit = default_map_table_2to8bit;
			map_table_4to8bit = default_map_table_4to8bit;
		}

		private void setId(int val)
		{
			id = val;
		}

		private int getId()
		{
			return id;
		}

		private void setType(int val)
		{
			type = val;
		}

		private int getType() //0 bitmap,1 char, 2 chars
		{
			return type;
		}

		private void setProvider(int val)  //0 def. in stream, 1 read from ROM, 2+3 res.
		{
			provider_flag = val;
		}

		private void setHorizontalPosition(int val)
		{
			horizontal_position = val;
		}

		private int getHorizontalPosition()
		{
			return horizontal_position;
		}

		private void setVerticalPosition(int val)
		{
			vertical_position = val;
		}

		private int getVerticalPosition()
		{
			return vertical_position;
		}

		private void setForegroundCode(int val) // color entry in 8bit CLUT
		{
			foreground_pixel_code = val;
		}

		private void setBackgroundCode(int val) // color entry in 8bit CLUT
		{
			background_pixel_code = val;
		}

		private void setVersionNumber(int val) //modulo16, if a change
		{
			version_number = val;
		}

		private int getVersionNumber()
		{
			return version_number;
		}

		private void setNonModify(int val) // pixel with CLUT color entry 1 = dont overwrite it
		{
			non_modifying_color_flag = val != 0 ? true : false;
		}

		private void setCopyTopFieldFlag(int val) // bottomfield isn't transmitted, so copy topfield
		{
			copy_top_field_flag = val == 0 ? true : false;
		}

		private boolean getCopyTopFieldFlag()
		{
			return copy_top_field_flag;
		}

		private void setMapTable_2to4bit(int i, int val)
		{
			map_table_2to4bit[i] = val;
		}

		private void setMapTable_2to8bit(int i, int val)
		{
			map_table_2to8bit[i] = val;
		}

		private void setMapTable_4to8bit(int i, int val)
		{
			map_table_4to8bit[i] = val;
		}

		private int[] getMapTable_2to4bit()
		{
			return map_table_2to4bit;
		}

		private int[] getMapTable_2to8bit()
		{
			return map_table_2to8bit;
		}

		private int[] getMapTable_4to8bit()
		{
			return map_table_4to8bit;
		}

		private void setRegionId(int val)
		{
			region_id = val;
		}

		private int getRegionId()
		{
			return region_id;
		}

		private void resetRegionId()
		{
			region_id = -1;
		}
	}
}

⌨️ 快捷键说明

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