.class public Lorg/webrtc/YuvHelper; .super Ljava/lang/Object; .source "YuvHelper.java" # direct methods .method public constructor ()V .locals 0 invoke-direct {p0}, Ljava/lang/Object;->()V return-void .end method .method public static I420Copy(Ljava/nio/ByteBuffer;ILjava/nio/ByteBuffer;ILjava/nio/ByteBuffer;ILjava/nio/ByteBuffer;II)V .locals 14 move-object/from16 v0, p6 add-int/lit8 v1, p8, 0x1 div-int/lit8 v1, v1, 0x2 add-int/lit8 v2, p7, 0x1 div-int/lit8 v11, v2, 0x2 mul-int v2, p7, p8 mul-int v1, v1, v11 mul-int/lit8 v3, v1, 0x2 add-int/2addr v3, v2 invoke-virtual/range {p6 .. p6}, Ljava/nio/ByteBuffer;->capacity()I move-result v4 if-lt v4, v3, :cond_0 add-int/2addr v1, v2 const/4 v3, 0x0 invoke-virtual {v0, v3}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer; invoke-virtual/range {p6 .. p6}, Ljava/nio/ByteBuffer;->slice()Ljava/nio/ByteBuffer; move-result-object v6 invoke-virtual {v0, v2}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer; invoke-virtual/range {p6 .. p6}, Ljava/nio/ByteBuffer;->slice()Ljava/nio/ByteBuffer; move-result-object v8 invoke-virtual {v0, v1}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer; invoke-virtual/range {p6 .. p6}, Ljava/nio/ByteBuffer;->slice()Ljava/nio/ByteBuffer; move-result-object v10 move-object v0, p0 move v1, p1 move-object/from16 v2, p2 move/from16 v3, p3 move-object/from16 v4, p4 move/from16 v5, p5 move/from16 v7, p7 move v9, v11 move/from16 v12, p7 move/from16 v13, p8 invoke-static/range {v0 .. v13}, Lorg/webrtc/YuvHelper;->nativeI420Copy(Ljava/nio/ByteBuffer;ILjava/nio/ByteBuffer;ILjava/nio/ByteBuffer;ILjava/nio/ByteBuffer;ILjava/nio/ByteBuffer;ILjava/nio/ByteBuffer;III)V return-void :cond_0 new-instance v1, Ljava/lang/IllegalArgumentException; const-string v2, "Expected destination buffer capacity to be at least " const-string v4, " was " invoke-static {v2, v3, v4}, Lf/e/c/a/a;->F(Ljava/lang/String;ILjava/lang/String;)Ljava/lang/StringBuilder; move-result-object v2 invoke-virtual/range {p6 .. p6}, Ljava/nio/ByteBuffer;->capacity()I move-result v0 invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 invoke-direct {v1, v0}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw v1 .end method .method public static I420Copy(Ljava/nio/ByteBuffer;ILjava/nio/ByteBuffer;ILjava/nio/ByteBuffer;ILjava/nio/ByteBuffer;ILjava/nio/ByteBuffer;ILjava/nio/ByteBuffer;III)V .locals 0 invoke-static/range {p0 .. p13}, Lorg/webrtc/YuvHelper;->nativeI420Copy(Ljava/nio/ByteBuffer;ILjava/nio/ByteBuffer;ILjava/nio/ByteBuffer;ILjava/nio/ByteBuffer;ILjava/nio/ByteBuffer;ILjava/nio/ByteBuffer;III)V return-void .end method .method public static I420Rotate(Ljava/nio/ByteBuffer;ILjava/nio/ByteBuffer;ILjava/nio/ByteBuffer;ILjava/nio/ByteBuffer;III)V .locals 15 move-object/from16 v0, p6 move/from16 v14, p9 rem-int/lit16 v1, v14, 0xb4 if-nez v1, :cond_0 move/from16 v7, p7 goto :goto_0 :cond_0 move/from16 v7, p8 :goto_0 if-nez v1, :cond_1 move/from16 v1, p8 goto :goto_1 :cond_1 move/from16 v1, p7 :goto_1 add-int/lit8 v2, v1, 0x1 div-int/lit8 v2, v2, 0x2 add-int/lit8 v3, v7, 0x1 div-int/lit8 v11, v3, 0x2 mul-int v1, v1, v7 mul-int v2, v2, v11 mul-int/lit8 v3, v2, 0x2 add-int/2addr v3, v1 invoke-virtual/range {p6 .. p6}, Ljava/nio/ByteBuffer;->capacity()I move-result v4 if-lt v4, v3, :cond_2 add-int/2addr v2, v1 const/4 v3, 0x0 invoke-virtual {v0, v3}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer; invoke-virtual/range {p6 .. p6}, Ljava/nio/ByteBuffer;->slice()Ljava/nio/ByteBuffer; move-result-object v6 invoke-virtual {v0, v1}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer; invoke-virtual/range {p6 .. p6}, Ljava/nio/ByteBuffer;->slice()Ljava/nio/ByteBuffer; move-result-object v8 invoke-virtual {v0, v2}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer; invoke-virtual/range {p6 .. p6}, Ljava/nio/ByteBuffer;->slice()Ljava/nio/ByteBuffer; move-result-object v10 move-object v0, p0 move/from16 v1, p1 move-object/from16 v2, p2 move/from16 v3, p3 move-object/from16 v4, p4 move/from16 v5, p5 move v9, v11 move/from16 v12, p7 move/from16 v13, p8 move/from16 v14, p9 invoke-static/range {v0 .. v14}, Lorg/webrtc/YuvHelper;->nativeI420Rotate(Ljava/nio/ByteBuffer;ILjava/nio/ByteBuffer;ILjava/nio/ByteBuffer;ILjava/nio/ByteBuffer;ILjava/nio/ByteBuffer;ILjava/nio/ByteBuffer;IIII)V return-void :cond_2 new-instance v1, Ljava/lang/IllegalArgumentException; const-string v2, "Expected destination buffer capacity to be at least " const-string v4, " was " invoke-static {v2, v3, v4}, Lf/e/c/a/a;->F(Ljava/lang/String;ILjava/lang/String;)Ljava/lang/StringBuilder; move-result-object v2 invoke-virtual/range {p6 .. p6}, Ljava/nio/ByteBuffer;->capacity()I move-result v0 invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 invoke-direct {v1, v0}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw v1 .end method .method public static I420Rotate(Ljava/nio/ByteBuffer;ILjava/nio/ByteBuffer;ILjava/nio/ByteBuffer;ILjava/nio/ByteBuffer;ILjava/nio/ByteBuffer;ILjava/nio/ByteBuffer;IIII)V .locals 0 invoke-static/range {p0 .. p14}, Lorg/webrtc/YuvHelper;->nativeI420Rotate(Ljava/nio/ByteBuffer;ILjava/nio/ByteBuffer;ILjava/nio/ByteBuffer;ILjava/nio/ByteBuffer;ILjava/nio/ByteBuffer;ILjava/nio/ByteBuffer;IIII)V return-void .end method .method public static I420ToNV12(Ljava/nio/ByteBuffer;ILjava/nio/ByteBuffer;ILjava/nio/ByteBuffer;ILjava/nio/ByteBuffer;II)V .locals 12 move-object/from16 v0, p6 add-int/lit8 v1, p7, 0x1 div-int/lit8 v1, v1, 0x2 add-int/lit8 v2, p8, 0x1 div-int/lit8 v2, v2, 0x2 mul-int v3, p7, p8 mul-int v2, v2, v1 mul-int/lit8 v2, v2, 0x2 add-int/2addr v2, v3 invoke-virtual/range {p6 .. p6}, Ljava/nio/ByteBuffer;->capacity()I move-result v4 if-lt v4, v2, :cond_0 const/4 v2, 0x0 invoke-virtual {v0, v2}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer; invoke-virtual/range {p6 .. p6}, Ljava/nio/ByteBuffer;->slice()Ljava/nio/ByteBuffer; move-result-object v6 invoke-virtual {v0, v3}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer; invoke-virtual/range {p6 .. p6}, Ljava/nio/ByteBuffer;->slice()Ljava/nio/ByteBuffer; move-result-object v8 mul-int/lit8 v9, v1, 0x2 move-object v0, p0 move v1, p1 move-object v2, p2 move v3, p3 move-object/from16 v4, p4 move/from16 v5, p5 move/from16 v7, p7 move/from16 v10, p7 move/from16 v11, p8 invoke-static/range {v0 .. v11}, Lorg/webrtc/YuvHelper;->nativeI420ToNV12(Ljava/nio/ByteBuffer;ILjava/nio/ByteBuffer;ILjava/nio/ByteBuffer;ILjava/nio/ByteBuffer;ILjava/nio/ByteBuffer;III)V return-void :cond_0 new-instance v1, Ljava/lang/IllegalArgumentException; const-string v3, "Expected destination buffer capacity to be at least " const-string v4, " was " invoke-static {v3, v2, v4}, Lf/e/c/a/a;->F(Ljava/lang/String;ILjava/lang/String;)Ljava/lang/StringBuilder; move-result-object v2 invoke-virtual/range {p6 .. p6}, Ljava/nio/ByteBuffer;->capacity()I move-result v0 invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 invoke-direct {v1, v0}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw v1 .end method .method public static I420ToNV12(Ljava/nio/ByteBuffer;ILjava/nio/ByteBuffer;ILjava/nio/ByteBuffer;ILjava/nio/ByteBuffer;ILjava/nio/ByteBuffer;III)V .locals 0 invoke-static/range {p0 .. p11}, Lorg/webrtc/YuvHelper;->nativeI420ToNV12(Ljava/nio/ByteBuffer;ILjava/nio/ByteBuffer;ILjava/nio/ByteBuffer;ILjava/nio/ByteBuffer;ILjava/nio/ByteBuffer;III)V return-void .end method .method public static copyPlane(Ljava/nio/ByteBuffer;ILjava/nio/ByteBuffer;III)V .locals 0 invoke-static/range {p0 .. p5}, Lorg/webrtc/YuvHelper;->nativeCopyPlane(Ljava/nio/ByteBuffer;ILjava/nio/ByteBuffer;III)V return-void .end method .method public static native nativeCopyPlane(Ljava/nio/ByteBuffer;ILjava/nio/ByteBuffer;III)V .end method .method public static native nativeI420Copy(Ljava/nio/ByteBuffer;ILjava/nio/ByteBuffer;ILjava/nio/ByteBuffer;ILjava/nio/ByteBuffer;ILjava/nio/ByteBuffer;ILjava/nio/ByteBuffer;III)V .end method .method public static native nativeI420Rotate(Ljava/nio/ByteBuffer;ILjava/nio/ByteBuffer;ILjava/nio/ByteBuffer;ILjava/nio/ByteBuffer;ILjava/nio/ByteBuffer;ILjava/nio/ByteBuffer;IIII)V .end method .method public static native nativeI420ToNV12(Ljava/nio/ByteBuffer;ILjava/nio/ByteBuffer;ILjava/nio/ByteBuffer;ILjava/nio/ByteBuffer;ILjava/nio/ByteBuffer;III)V .end method