private boolean start_code() throws IOException {
		int idx = 0;
		while(buf[curPos] != 0 || buf[curPos+1] != 0 || buf[curPos+2] != 1) {
			if(++idx > 0x80000) {	//512K
				return false;
			}
			curPos++;
			if(BUF_LEN - curPos < 6)
				needBytes(6);
		}
		//if(idx > 0)
		//	System.out.println("skip bytes:" + idx);
		return true;
	}