VideoFrame: Segregate Pixel Format and Storage Type.
VideoFrame::Format is a mix of textures and cpu-backed
formats. Textures are then further specified by
a texture format VideoFrame::TextureFormat.
This CL consolidates this into a single pixel format
and a storage type. This applies to HOLE as well,
which is understood as another Storage type.
VideoFrame ctor forces to pass a |mailbox_holders_|
also for non-texture based formats. Another private
ctor is added without this necessity, and all the
necessary factory methods are updated.
UMA-wise: Removing NATIVE_TEXTURE and HOLE from pixel
format prevents them from being UMA-accounted, but
there are no registered instances of those anyway.
NV12 format is restricted to OS_MACOSX.
BUG=489744
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
TBR=bbudge@chromium.org for pepper/ since the change
is trivial there.
Review URL: https://codereview.chromium.org/1143663007
Cr-Commit-Position: refs/heads/master@{#332000}
31 files changed