[skottie/tools] Video playback support

Implement a VideoAsset wrapper, used for Skottie video layers.  This
requires a non-testlib build target for SkVideoDecoder, hence a
dedicated BUILD.gn.

Add software conversion fallback for SkVideoDecoder, using libswscale.

Change-Id: I80dd555a1241081e50ee4834b64ad3518948a0f1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/285378
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
diff --git a/BUILD.gn b/BUILD.gn
index 3c77b98..10584b0 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -1499,23 +1499,6 @@
     sources = [ "third_party/etc1/etc1.cpp" ]
   }
 
-  if (skia_use_ffmpeg) {
-    test_lib("video_decoder") {
-      sources = [
-        "experimental/ffmpeg/SkVideoDecoder.cpp",
-        "experimental/ffmpeg/SkVideoDecoder.h",
-        "experimental/ffmpeg/SkVideoEncoder.cpp",
-        "experimental/ffmpeg/SkVideoEncoder.h",
-      ]
-      libs = [
-        "swscale",
-        "avcodec",
-        "avformat",
-        "avutil",
-      ]
-    }
-  }
-
   import("gn/gm.gni")
   test_lib("gm") {
     sources = gm_sources
@@ -1538,7 +1521,7 @@
     public_deps = [ ":gpu_tool_utils" ]
 
     if (skia_use_ffmpeg) {
-      deps += [ ":video_decoder" ]
+      deps += [ "experimental/ffmpeg:video_decoder" ]
       sources += [ "gm/video_decoder.cpp" ]
     }
   }
@@ -1828,7 +1811,7 @@
         ":flags",
         ":gpu_tool_utils",
         ":skia",
-        ":video_decoder",
+        "experimental/ffmpeg:video_decoder",
         "modules/skottie",
         "modules/skottie:utils",
       ]