SkJpegCodec: Add SkJpegSourceMgr

The current skjpeg_source_mgr (in SkJpegUtility.cpp/h) is effectively
two implementations (buffered vs in-memory) controlled via if

Turn these into two implementations of a pure virtual interface
SkJpegSourceMgr. The reason for this it that there will be a third
interface added for buffered non-seekable sources (which will
run an SkJpegSegmentScanner on the data as it is read).

Leave the pre-existing skjpeg_source_mgr in place because it may
be used in other places. It will be removed separately.

Bug: skia:14031
Change-Id: Iae87c0da307dfec50c95168c50486c807d335526
Reviewed-by: Brian Osman <>
Commit-Queue: Christopher Cameron <>
6 files changed