code: @VisibleForTesting
    public static void transcodeJpeg(
        final InputStream inputStream,
        final OutputStream outputStream,
        final int rotationAngle,
        final int scaleNumerator,
        final int quality)
        throws IOException {
      NativeJpegTranscoderSoLoader.ensure();
      Preconditions.checkArgument(scaleNumerator >= MIN_SCALE_NUMERATOR);
      Preconditions.checkArgument(scaleNumerator <= MAX_SCALE_NUMERATOR);
      Preconditions.checkArgument(quality >= MIN_QUALITY);
      Preconditions.checkArgument(quality <= MAX_QUALITY);
      Preconditions.checkArgument(JpegTranscoderUtils.isRotationAngleAllowed(rotationAngle));
      Preconditions.checkArgument(
          scaleNumerator != SCALE_DENOMINATOR || rotationAngle != 0, "no transformation requested");
      nativeTranscodeJpeg(
          Preconditions.checkNotNull(inputStream),
          Preconditions.checkNotNull(outputStream),
          rotationAngle,
          scaleNumerator,
          quality);
    }
docs: Transcodes an image to match the specified rotation angle and the scale factor.
  
  @param inputStream The {@link InputStream} of the image that will be transcoded.
  @param outputStream The {@link OutputStream} where the newly created image is written to.
  @param rotationAngle 0, 90, 180 or 270
  @param scaleNumerator 1 - 16, image will be scaled using scaleNumerator/8 factor
  @param quality 1 - 100