aboutsummaryrefslogtreecommitdiff
path: root/src/org/tukaani/xz/X86Options.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/org/tukaani/xz/X86Options.java')
-rw-r--r--src/org/tukaani/xz/X86Options.java37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/org/tukaani/xz/X86Options.java b/src/org/tukaani/xz/X86Options.java
new file mode 100644
index 0000000..9b865dc
--- /dev/null
+++ b/src/org/tukaani/xz/X86Options.java
@@ -0,0 +1,37 @@
+/*
+ * X86Options
+ *
+ * Author: Lasse Collin <lasse.collin@tukaani.org>
+ *
+ * This file has been put into the public domain.
+ * You can do whatever you want with this file.
+ */
+
+package org.tukaani.xz;
+
+import java.io.InputStream;
+import java.io.IOException;
+import org.tukaani.xz.simple.X86;
+
+/**
+ * BCJ filter for x86 (32-bit and 64-bit) instructions.
+ */
+public class X86Options extends BCJOptions {
+ private static final int ALIGNMENT = 1;
+
+ public X86Options() {
+ super(ALIGNMENT);
+ }
+
+ public FinishableOutputStream getOutputStream(FinishableOutputStream out) {
+ return new SimpleOutputStream(out, new X86(true, startOffset));
+ }
+
+ public InputStream getInputStream(InputStream in) {
+ return new SimpleInputStream(in, new X86(false, startOffset));
+ }
+
+ FilterEncoder getFilterEncoder() {
+ return new BCJEncoder(this, BCJCoder.X86_FILTER_ID);
+ }
+}