private ImageTranscoderFactory getImageTranscoderFactory() {
    if (mImageTranscoderFactory == null) {
      if (mConfig.getImageTranscoderFactory() == null
          && mConfig.getImageTranscoderType() == null
          && mConfig.getExperiments().isNativeCodeDisabled()) {
        mImageTranscoderFactory =
            new SimpleImageTranscoderFactory(mConfig.getExperiments().getMaxBitmapDimension());
      } else {
        mImageTranscoderFactory =
            new MultiImageTranscoderFactory(
                mConfig.getExperiments().getMaxBitmapDimension(),
                mConfig.getExperiments().getUseDownsamplingRatioForResizing(),
                mConfig.getImageTranscoderFactory(),
                mConfig.getImageTranscoderType(),
                mConfig.getExperiments().isEnsureTranscoderLibraryLoaded());
      }
    }
    return mImageTranscoderFactory;
  }
Defines the correct {@link ImageTranscoder}. If a custom {@link ImageTranscoder} was define in
the config, it will be used whenever possible. Else, if the native code is disabled it uses
{@link SimpleImageTranscoderFactory}. Otherwise {@link MultiImageTranscoderFactory} determines
the {@link ImageTranscoder} to use based on the image format.

@return The {@link ImageTranscoderFactory}
imagepipeline/src/main/java/com/facebook/imagepipeline/core/ImagePipelineFactory.java