Commit Graph

15 Commits

Author SHA1 Message Date
Florin Malita
123e3b893f [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>
2020-04-24 15:56:50 +00:00
Brian Osman
788b91678f Remove SkTMin and SkTMax
Use std::min and std::max everywhere.

SkTPin still exists. We can't use std::clamp yet, and even when
we can, it has undefined behavior with NaN. SkTPin is written
to ensure that we return a value in the [lo, hi] range.

Change-Id: I506852a36e024ae405358d5078a872e2c77fa71e
Docs-Preview: https://skia.org/?cl=269357
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/269357
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-02-07 18:40:09 +00:00
Florin Malita
10e5257ec9 [SkVideoEncoder] Allow clients to control the color type
Change-Id: If57514c9e7e8d0a417eb9388873bbb348fc49076
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/247384
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-10-10 14:55:31 +00:00
Brian Salomon
4bc0c1fc4b Rename GrColorSpaceInfo -> GrColorInfo
Add version SkImageInfo::Make() that takes SkISize instead of separate
width and height.

Change-Id: I42aa79d23b19e22f5405631728c245b04bce0559
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/245172
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-09-30 21:53:24 +00:00
Mike Reed
2d241f5b9a update videoencoder, add scale option, remove motion-blur hack
Change-Id: Ib80852d20384688a161b0f63593debbd7cdb3b42
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/241760
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2019-09-16 19:38:35 +00:00
Mike Klein
4b432fa87b run rewrite_includes.py
Just your basic periodic cleanup.

Change-Id: I04d9ca5cfff05e6e2c29dd9caef3ce12cda45247
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219340
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-06-06 17:11:02 +00:00
Mike Reed
ede7e99465 add simpler addFrame api (helps with threaded producers)
Change-Id: I458dc2fb59aa32e084b0b03945afd74ff5ee42ae
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217861
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2019-06-03 15:40:35 +00:00
Mike Reed
ab399c8467 free formatctx when we're done
Change-Id: I039fad48a65048cf20c0d2d2981120466c41038b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217124
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2019-05-30 17:41:28 +00:00
Mike Reed
210a28a8cf rm dead code
Change-Id: I2829d94451ce0278b44b98ca0195d04124b669fb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216682
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2019-05-29 20:09:04 +00:00
Mike Reed
f97e8e961b simplify api to make encoder, use swscale for faster rgb->yuv
Change-Id: I19ea48667aa843e1166231fe8d2622af91cce972
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216611
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2019-05-29 17:59:18 +00:00
Mike Reed
c0ee21feb8 skia helper for encoding video
Change-Id: I36aef5872fc8f5938854ab18b754f3800b9879ad
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215165
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2019-05-28 20:39:21 +00:00
Mike Klein
fe0aeb3691 update SkUserConfig.h a bit
- tweak comments to be immune to tools/rewrite_headers.py
    - remove a few bonkers settings no user should change

While I'm at it, re-run tools/rewrite_headers.py.

Change-Id: Ie588d604010dd26abcdd277c586cd6c58568dcf5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214740
Auto-Submit: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-05-20 17:52:22 +00:00
Mike Reed
7bf160e6d5 Revert "Revert "Experimental SkVideoDecoder, to wrap calls to ffmpeg""
fix google3 build (don't build the new gm)

This reverts commit 9cc53fa4bd.

Change-Id: I3de8aa4959f62a380f1d4aaf2b788d250775e194
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214442
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2019-05-17 21:25:48 +00:00
Michael Ludwig
9cc53fa4bd Revert "Experimental SkVideoDecoder, to wrap calls to ffmpeg"
This reverts commit 69596470d1.

Reason for revert: breaks google3 roll
third_party/skia/HEAD/gm/video_decoder.cpp:8:10: fatal error: 'experimental/ffmpeg/SkVideoDecoder.h' file not found
#include "experimental/ffmpeg/SkVideoDecoder.h"

Original change's description:
> Experimental SkVideoDecoder, to wrap calls to ffmpeg
> 
> If you want to build ffmpeg locally, here is how I configured it:
> ./configure --disable-all --enable-avcodec --enable-avformat --enable-decoder=h264 --enable-parser=h264 --enable-demuxer=mov --enable-static --enable-protocol=file
> 
> Bug: skia: 9085
> Change-Id: If1892b62314af26e56ecb0293850f7554106c3d0
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213664
> Commit-Queue: Mike Reed <reed@google.com>
> Reviewed-by: Nathaniel Nifong <nifong@google.com>

TBR=mtklein@google.com,bsalomon@google.com,scroggo@google.com,brianosman@google.com,fmalita@chromium.org,reed@google.com,nifong@google.com

Change-Id: I33d68e11a67ccf3616296e3377b42438c7f95edc
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia: 9085
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214441
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2019-05-17 20:43:10 +00:00
Mike Reed
69596470d1 Experimental SkVideoDecoder, to wrap calls to ffmpeg
If you want to build ffmpeg locally, here is how I configured it:
./configure --disable-all --enable-avcodec --enable-avformat --enable-decoder=h264 --enable-parser=h264 --enable-demuxer=mov --enable-static --enable-protocol=file

Bug: skia: 9085
Change-Id: If1892b62314af26e56ecb0293850f7554106c3d0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213664
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Nathaniel Nifong <nifong@google.com>
2019-05-17 19:18:28 +00:00