Revert "Replace BuiltinVideo{Encoder,Decoder}Factory with Video{Encoder,Decoder}FactoryTemplate."

This reverts commit d2535a53cf014e4973b92bb6f00d7a2b87cd02c2.

Reason for revert: breaks downstream

Original change's description:
> Replace BuiltinVideo{Encoder,Decoder}Factory with Video{Encoder,Decoder}FactoryTemplate.
>
> Bug: webrtc:13573
> Change-Id: I07e4fe9be938ba2540351b73ff22a090c68afa00
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/299663
> Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
> Commit-Queue: Philip Eliasson <philipel@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#39777}

Bug: webrtc:13573
Change-Id: I4d60383a46db4fdddd61e58b53c4ed07773434b2
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/300543
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Owners-Override: Philip Eliasson <philipel@webrtc.org>
Auto-Submit: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39783}
diff --git a/sdk/android/BUILD.gn b/sdk/android/BUILD.gn
index 6c0d9c0..5bf25ff 100644
--- a/sdk/android/BUILD.gn
+++ b/sdk/android/BUILD.gn
@@ -898,15 +898,9 @@
       ":libvpx_vp9_jni",
       ":native_api_jni",
       ":video_jni",
+      "../../api/video_codecs:builtin_video_decoder_factory",
+      "../../api/video_codecs:builtin_video_encoder_factory",
       "../../api/video_codecs:video_codecs_api",
-      "../../api/video_codecs:video_decoder_factory_template",
-      "../../api/video_codecs:video_decoder_factory_template_dav1d_adapter",
-      "../../api/video_codecs:video_decoder_factory_template_libvpx_vp8_adapter",
-      "../../api/video_codecs:video_decoder_factory_template_libvpx_vp9_adapter",
-      "../../api/video_codecs:video_encoder_factory_template",
-      "../../api/video_codecs:video_encoder_factory_template_libaom_av1_adapter",
-      "../../api/video_codecs:video_encoder_factory_template_libvpx_vp8_adapter",
-      "../../api/video_codecs:video_encoder_factory_template_libvpx_vp9_adapter",
     ]
   }
 
diff --git a/sdk/android/instrumentationtests/src/org/webrtc/DefaultVideoEncoderFactoryTest.java b/sdk/android/instrumentationtests/src/org/webrtc/DefaultVideoEncoderFactoryTest.java
index eee9306..fe608c7 100644
--- a/sdk/android/instrumentationtests/src/org/webrtc/DefaultVideoEncoderFactoryTest.java
+++ b/sdk/android/instrumentationtests/src/org/webrtc/DefaultVideoEncoderFactoryTest.java
@@ -53,8 +53,8 @@
     VideoCodecInfo[] supportedCodecs = defFactory.getSupportedCodecs();
     assertEquals(3, supportedCodecs.length);
     assertEquals("VP8", supportedCodecs[0].name);
-    assertEquals("VP9", supportedCodecs[1].name);
-    assertEquals("AV1", supportedCodecs[2].name);
+    assertEquals("AV1", supportedCodecs[1].name);
+    assertEquals("VP9", supportedCodecs[2].name);
   }
 
   @SmallTest
@@ -68,8 +68,8 @@
     VideoCodecInfo[] supportedCodecs = defFactory.getSupportedCodecs();
     assertEquals(4, supportedCodecs.length);
     assertEquals("VP8", supportedCodecs[0].name);
-    assertEquals("VP9", supportedCodecs[1].name);
-    assertEquals("AV1", supportedCodecs[2].name);
+    assertEquals("AV1", supportedCodecs[1].name);
+    assertEquals("VP9", supportedCodecs[2].name);
     assertEquals("VP8", supportedCodecs[3].name);
     assertEquals(1, supportedCodecs[3].params.size());
     assertEquals("value", supportedCodecs[3].params.get("param"));
diff --git a/sdk/android/instrumentationtests/src/org/webrtc/SoftwareVideoEncoderFactoryTest.java b/sdk/android/instrumentationtests/src/org/webrtc/SoftwareVideoEncoderFactoryTest.java
index 877c5da..696b423 100644
--- a/sdk/android/instrumentationtests/src/org/webrtc/SoftwareVideoEncoderFactoryTest.java
+++ b/sdk/android/instrumentationtests/src/org/webrtc/SoftwareVideoEncoderFactoryTest.java
@@ -32,8 +32,8 @@
     VideoCodecInfo[] codecs = factory.getSupportedCodecs();
     assertThat(codecs.length).isEqualTo(3);
     assertThat(codecs[0].name).isEqualTo("VP8");
-    assertThat(codecs[1].name).isEqualTo("VP9");
-    assertThat(codecs[2].name).isEqualTo("AV1");
+    assertThat(codecs[1].name).isEqualTo("AV1");
+    assertThat(codecs[2].name).isEqualTo("VP9");
   }
 
   @SmallTest
diff --git a/sdk/android/src/jni/software_video_decoder_factory.cc b/sdk/android/src/jni/software_video_decoder_factory.cc
index 710b788..151bf5f 100644
--- a/sdk/android/src/jni/software_video_decoder_factory.cc
+++ b/sdk/android/src/jni/software_video_decoder_factory.cc
@@ -8,11 +8,8 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
+#include "api/video_codecs/builtin_video_decoder_factory.h"
 #include "api/video_codecs/video_decoder.h"
-#include "api/video_codecs/video_decoder_factory_template.h"
-#include "api/video_codecs/video_decoder_factory_template_dav1d_adapter.h"
-#include "api/video_codecs/video_decoder_factory_template_libvpx_vp8_adapter.h"
-#include "api/video_codecs/video_decoder_factory_template_libvpx_vp9_adapter.h"
 #include "sdk/android/generated_swcodecs_jni/SoftwareVideoDecoderFactory_jni.h"
 #include "sdk/android/native_api/jni/java_types.h"
 #include "sdk/android/src/jni/jni_helpers.h"
@@ -23,9 +20,7 @@
 
 static jlong JNI_SoftwareVideoDecoderFactory_CreateFactory(JNIEnv* env) {
   return webrtc::NativeToJavaPointer(
-      new VideoDecoderFactoryTemplate<LibvpxVp8DecoderTemplateAdapter,
-                                      LibvpxVp9DecoderTemplateAdapter,
-                                      Dav1dDecoderTemplateAdapter>());
+      CreateBuiltinVideoDecoderFactory().release());
 }
 
 static jlong JNI_SoftwareVideoDecoderFactory_CreateDecoder(
diff --git a/sdk/android/src/jni/software_video_encoder_factory.cc b/sdk/android/src/jni/software_video_encoder_factory.cc
index b16a8a1..4b86960 100644
--- a/sdk/android/src/jni/software_video_encoder_factory.cc
+++ b/sdk/android/src/jni/software_video_encoder_factory.cc
@@ -8,11 +8,8 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
+#include "api/video_codecs/builtin_video_encoder_factory.h"
 #include "api/video_codecs/video_encoder.h"
-#include "api/video_codecs/video_encoder_factory_template.h"
-#include "api/video_codecs/video_encoder_factory_template_libaom_av1_adapter.h"
-#include "api/video_codecs/video_encoder_factory_template_libvpx_vp8_adapter.h"
-#include "api/video_codecs/video_encoder_factory_template_libvpx_vp9_adapter.h"
 #include "sdk/android/generated_swcodecs_jni/SoftwareVideoEncoderFactory_jni.h"
 #include "sdk/android/native_api/jni/java_types.h"
 #include "sdk/android/src/jni/jni_helpers.h"
@@ -23,9 +20,7 @@
 
 static jlong JNI_SoftwareVideoEncoderFactory_CreateFactory(JNIEnv* env) {
   return webrtc::NativeToJavaPointer(
-      new VideoEncoderFactoryTemplate<LibvpxVp8EncoderTemplateAdapter,
-                                      LibvpxVp9EncoderTemplateAdapter,
-                                      LibaomAv1EncoderTemplateAdapter>());
+      CreateBuiltinVideoEncoderFactory().release());
 }
 
 static jlong JNI_SoftwareVideoEncoderFactory_CreateEncoder(