static void n_ApplyVertically_Lorg_jcodec_codecs_vp8_Macroblock_Subblock_Lorg_jcodec_codecs_vp8_Macroblock_Subblock_I(IntPtr jnienv, IntPtr native__this, IntPtr native_p0, IntPtr native_p1, int p2)
 {
     global::Org.Jcodec.Codecs.Vp8.FilterUtil.Segment  __this = global::Java.Lang.Object.GetObject <global::Org.Jcodec.Codecs.Vp8.FilterUtil.Segment> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     global::Org.Jcodec.Codecs.Vp8.Macroblock.Subblock p0     = global::Java.Lang.Object.GetObject <global::Org.Jcodec.Codecs.Vp8.Macroblock.Subblock> (native_p0, JniHandleOwnership.DoNotTransfer);
     global::Org.Jcodec.Codecs.Vp8.Macroblock.Subblock p1     = global::Java.Lang.Object.GetObject <global::Org.Jcodec.Codecs.Vp8.Macroblock.Subblock> (native_p1, JniHandleOwnership.DoNotTransfer);
     __this.ApplyVertically(p0, p1, p2);
 }
            public virtual unsafe void ApplyVertically(global::Org.Jcodec.Codecs.Vp8.Macroblock.Subblock p0, global::Org.Jcodec.Codecs.Vp8.Macroblock.Subblock p1, int p2)
            {
                if (id_applyVertically_Lorg_jcodec_codecs_vp8_Macroblock_Subblock_Lorg_jcodec_codecs_vp8_Macroblock_Subblock_I == IntPtr.Zero)
                {
                    id_applyVertically_Lorg_jcodec_codecs_vp8_Macroblock_Subblock_Lorg_jcodec_codecs_vp8_Macroblock_Subblock_I = JNIEnv.GetMethodID(class_ref, "applyVertically", "(Lorg/jcodec/codecs/vp8/Macroblock$Subblock;Lorg/jcodec/codecs/vp8/Macroblock$Subblock;I)V");
                }
                try {
                    JValue *__args = stackalloc JValue [3];
                    __args [0] = new JValue(p0);
                    __args [1] = new JValue(p1);
                    __args [2] = new JValue(p2);

                    if (GetType() == ThresholdType)
                    {
                        JNIEnv.CallVoidMethod(((global::Java.Lang.Object) this).Handle, id_applyVertically_Lorg_jcodec_codecs_vp8_Macroblock_Subblock_Lorg_jcodec_codecs_vp8_Macroblock_Subblock_I, __args);
                    }
                    else
                    {
                        JNIEnv.CallNonvirtualVoidMethod(((global::Java.Lang.Object) this).Handle, ThresholdClass, JNIEnv.GetMethodID(ThresholdClass, "applyVertically", "(Lorg/jcodec/codecs/vp8/Macroblock$Subblock;Lorg/jcodec/codecs/vp8/Macroblock$Subblock;I)V"), __args);
                    }
                } finally {
                }
            }
 public static unsafe global::Org.Jcodec.Codecs.Vp8.FilterUtil.Segment Vertical(global::Org.Jcodec.Codecs.Vp8.Macroblock.Subblock p0, global::Org.Jcodec.Codecs.Vp8.Macroblock.Subblock p1, int p2)
 {
     if (id_vertical_Lorg_jcodec_codecs_vp8_Macroblock_Subblock_Lorg_jcodec_codecs_vp8_Macroblock_Subblock_I == IntPtr.Zero)
     {
         id_vertical_Lorg_jcodec_codecs_vp8_Macroblock_Subblock_Lorg_jcodec_codecs_vp8_Macroblock_Subblock_I = JNIEnv.GetStaticMethodID(class_ref, "vertical", "(Lorg/jcodec/codecs/vp8/Macroblock$Subblock;Lorg/jcodec/codecs/vp8/Macroblock$Subblock;I)Lorg/jcodec/codecs/vp8/FilterUtil$Segment;");
     }
     try {
         JValue *__args = stackalloc JValue [3];
         __args [0] = new JValue(p0);
         __args [1] = new JValue(p1);
         __args [2] = new JValue(p2);
         global::Org.Jcodec.Codecs.Vp8.FilterUtil.Segment __ret = global::Java.Lang.Object.GetObject <global::Org.Jcodec.Codecs.Vp8.FilterUtil.Segment> (JNIEnv.CallStaticObjectMethod(class_ref, id_vertical_Lorg_jcodec_codecs_vp8_Macroblock_Subblock_Lorg_jcodec_codecs_vp8_Macroblock_Subblock_I, __args), JniHandleOwnership.TransferLocalRef);
         return(__ret);
     } finally {
     }
 }