diff options
Diffstat (limited to 'isoparser/src/main/java/com/coremedia/iso/.svn/text-base/IsoTypeWriter.java.svn-base')
-rw-r--r-- | isoparser/src/main/java/com/coremedia/iso/.svn/text-base/IsoTypeWriter.java.svn-base | 95 |
1 files changed, 0 insertions, 95 deletions
diff --git a/isoparser/src/main/java/com/coremedia/iso/.svn/text-base/IsoTypeWriter.java.svn-base b/isoparser/src/main/java/com/coremedia/iso/.svn/text-base/IsoTypeWriter.java.svn-base deleted file mode 100644 index 6da6998..0000000 --- a/isoparser/src/main/java/com/coremedia/iso/.svn/text-base/IsoTypeWriter.java.svn-base +++ /dev/null @@ -1,95 +0,0 @@ -/* - * Copyright 2012 Sebastian Annies, Hamburg - * - * Licensed under the Apache License, Version 2.0 (the License); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.coremedia.iso; - -import java.nio.ByteBuffer; - -public final class IsoTypeWriter { - - public static void writeUInt64(ByteBuffer bb, long u) { - bb.putLong(u); - } - - public static void writeUInt32(ByteBuffer bb, long u) { - bb.putInt((int) u); - - } - - public static void writeUInt32BE(ByteBuffer bb, long u) { - assert u >= 0 && u <= 1L << 32 : "The given long is not in the range of uint32 (" + u + ")"; - writeUInt16BE(bb, (int) u & 0xFFFF); - writeUInt16BE(bb, (int) ((u >> 16) & 0xFFFF)); - - } - - - public static void writeUInt24(ByteBuffer bb, int i) { - i = i & 0xFFFFFF; - writeUInt16(bb, i >> 8); - writeUInt8(bb, i); - - } - - - public static void writeUInt16(ByteBuffer bb, int i) { - i = i & 0xFFFF; - writeUInt8(bb, i >> 8); - writeUInt8(bb, i & 0xFF); - } - - public static void writeUInt16BE(ByteBuffer bb, int i) { - i = i & 0xFFFF; - writeUInt8(bb, i & 0xFF); - writeUInt8(bb, i >> 8); - } - - public static void writeUInt8(ByteBuffer bb, int i) { - i = i & 0xFF; - bb.put((byte) i); - } - - - public static void writeFixedPont1616(ByteBuffer bb, double v) { - int result = (int) (v * 65536); - bb.put((byte) ((result & 0xFF000000) >> 24)); - bb.put((byte) ((result & 0x00FF0000) >> 16)); - bb.put((byte) ((result & 0x0000FF00) >> 8)); - bb.put((byte) ((result & 0x000000FF))); - } - - public static void writeFixedPont88(ByteBuffer bb, double v) { - short result = (short) (v * 256); - bb.put((byte) ((result & 0xFF00) >> 8)); - bb.put((byte) ((result & 0x00FF))); - } - - public static void writeIso639(ByteBuffer bb, String language) { - if (language.getBytes().length != 3) { - throw new IllegalArgumentException("\"" + language + "\" language string isn't exactly 3 characters long!"); - } - int bits = 0; - for (int i = 0; i < 3; i++) { - bits += (language.getBytes()[i] - 0x60) << (2 - i) * 5; - } - writeUInt16(bb, bits); - } - - public static void writeUtf8String(ByteBuffer bb, String string) { - - bb.put(Utf8.convert(string)); - writeUInt8(bb, 0); - } -} |