| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
See also r157836.
BUG=150920
TEST=media_unittests
Review URL: https://chromiumcodereview.appspot.com/11308310
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171976 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ContentDecryptorDelegate.
Memory copy of decoded video frame is expensive and unnecessary. This CL wraps the decoded YUV data into media::VideoFrame directly without copying any data. The VideoFrame does not own the YUV data passed in. When the YUV data is no longer needed, VideoFrame notifies the owner of that data by calling no_longer_needed_cb.
On Linux debug build, this saves about 0.6ms per frame. On slower (memory bandwidth limited) platforms the saving can be even larger.
BUG=162193
TEST=test passes and EME demo still works.
Review URL: https://chromiumcodereview.appspot.com/11316211
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@170256 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The video playback path needs to be able to handle cropped video frames,
e.g. for HW decoders that output to macroblock-rounded buffer sizes.
* Composite only the visible subrect from WebVideoFrame in
cc::VideoLayerImpl
* Remove some extraneous cropping logic from cc::VideoLayerImpl now that
we have exact cropping info.
* media::VideoFrame replaces "data_size_" member with "coded_size_", and
adds a "visible_rect_" gfx::Rect to indicate the sub-rect of the
entire frame that should be visible (after cropping)
* Associated changes to various decoder/capture pipelines to plumb this
through.
TEST=build, run on x86, ARM
BUG=155416,140509,chrome-os-partner:15230
Change-Id: I284bc893959db427bc9ae677aed8b07292d228ae
Review URL: https://chromiumcodereview.appspot.com/11269017
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@166988 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/11088086
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@161471 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=153094
Review URL: https://chromiumcodereview.appspot.com/11043002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@159842 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=153094
Review URL: https://chromiumcodereview.appspot.com/11016006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@159571 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=122913
Review URL: https://chromiumcodereview.appspot.com/10824141
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@149728 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=139455
Review URL: https://chromiumcodereview.appspot.com/10832087
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@149274 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
(round 3).
TEST=none
BUG=none
TBR=jam
Review URL: https://chromiumcodereview.appspot.com/10703018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@144640 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
video decoding.
TEST=none
BUG=none
Review URL: https://chromiumcodereview.appspot.com/10678010
TBR=scherkus@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10704014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@144539 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
TEST=none
BUG=none
Review URL: https://chromiumcodereview.appspot.com/10678010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@144484 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
instead of
letting it allocate a buffer internally and then copy it to our own
buffers after decoding finishes. This saves one memcpy() per decoded
video frame.
+++ REVERT NOTICE +++
Broke all pyauto tests:
http://build.chromium.org/p/chromium.pyauto/builders/Linux%20%28deb%29/builds/34569
+++ +++
Review URL: https://chromiumcodereview.appspot.com/10451051
TBR=rbultje@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10592012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@143125 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
letting it allocate a buffer internally and then copy it to our own
buffers after decoding finishes. This saves one memcpy() per decoded
video frame.
Review URL: https://chromiumcodereview.appspot.com/10451051
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@143115 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
This removes the easy ones: RGB555, RGB565, RGB24, RGBA, NV12, and ASCII.
BUG=108306
TEST=videotestmatrix is still as happy as it was.
Review URL: http://codereview.chromium.org/10024072
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@131682 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
The only code we've had that depended on StreamSample was PtsHeap, which was removed in r118610.
Review URL: https://chromiumcodereview.appspot.com/9809032
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129038 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Moves the frame hashing code from PipelineIntegrationTestBase to
VideoFrame per suggestions in:
https://chromiumcodereview.appspot.com/9716008/
Also disables frame hashing for BasicPlayback since it's failing on the
TSAN bots. The code is still enabled for ffmpeg_regression_tests.
BUG=118688
TEST=media_unittests, ffmpeg_regression_tests.
Review URL: http://codereview.chromium.org/9732016
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@128307 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
To be used by https://bugs.webkit.org/show_bug.cgi?id=78398.
Review URL: https://chromiumcodereview.appspot.com/9416087
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@123255 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
checked later by (Audio|Video)DecoderConfig.IsValidConfig()
Unifies frame configuration check between VideoFrame and VideoDecoderConfig.
BUG=none
TEST=unittests, regression tests.
Review URL: http://codereview.chromium.org/9358013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@122886 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
from format().
This lets us delete craxy code that first asks for format() and then ensures
that the world hasn't gone crazy and given an RGB frame 4 planes (for example).
BUG=107043
TEST=trybots.
Review URL: http://codereview.chromium.org/8989067
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115942 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/9018017
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115394 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
webkit_media::VideoRendererImpl.
The SkBitmap for a slow paint is now lazily allocated until it's needed. Furthermore the SkBitmap will be reallocated to match the dimensions of incoming VideoFrames.
BUG=95640
Review URL: http://codereview.chromium.org/8742034
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115375 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This uses the GpuVideoDecodeAccelerator machinery (already written to enable
ppapi to take advantage of OpenMAX HW where available) to decode <video> data.
This increases idle CPU from 20% to 45% on one particularly large (internal)
test video (red0.mp4), on an ARM crosbook.
HW decode is done on a best-effort basis; if the GPU code doesn't know how to
deal with a codec/profile we still fall back to ffmpeg for decode. Because the
vast majority of chrome installs will be on HW with no video decode support
(yet) we only attempt HW video decode on platforms we know have a shot at it.
This is a copy of http://codereview.chromium.org/8686010/ PS#13 to work around
rietveld losing the "status" for some files in the patch.
BUG=104579
TEST=manual testing w/ video test matrix, trybots.
Review URL: http://codereview.chromium.org/8922010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114183 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This uses the GpuVideoDecodeAccelerator machinery (already written to enable
ppapi to take advantage of OpenMAX HW where available) to decode <video> data.
This increases idle CPU from 20% to 45% on one particularly large (internal)
test video (red0.mp4), on an ARM crosbook.
HW decode is done on a best-effort basis; if the GPU code doesn't know how to
deal with a codec/profile we still fall back to ffmpeg for decode. Because the
vast majority of chrome installs will be on HW with no video decode support
(yet) we only attempt HW video decode on platforms we know have a shot at it.
BUG=104579
TEST=manual testing w/ video test matrix, trybots.
Review URL: http://codereview.chromium.org/8686010
TBR=fischman@chromium.org
Review URL: http://codereview.chromium.org/8897022
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@113908 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This uses the GpuVideoDecodeAccelerator machinery (already written to enable
ppapi to take advantage of OpenMAX HW where available) to decode <video> data.
This increases idle CPU from 20% to 45% on one particularly large (internal)
test video (red0.mp4), on an ARM crosbook.
HW decode is done on a best-effort basis; if the GPU code doesn't know how to
deal with a codec/profile we still fall back to ffmpeg for decode. Because the
vast majority of chrome installs will be on HW with no video decode support
(yet) we only attempt HW video decode on platforms we know have a shot at it.
BUG=104579
TEST=manual testing w/ video test matrix, trybots.
Review URL: http://codereview.chromium.org/8686010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@113895 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=104314
TEST=no change
Review URL: http://codereview.chromium.org/8520033
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110304 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
This is a re-attempt at landing http://codereview.chromium.org/7572040, now with a DEPS roll to pick up the changes made to ffmpeg by http://codereview.chromium.org/7778004/ so that media_unittests run properly on Linux.
TBR=fischman
Review URL: http://codereview.chromium.org/7775004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98600 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
| |
TBR=fischman@chromium.org
Review URL: http://codereview.chromium.org/7601002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@95846 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/7572040
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@95841 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/7523051
TBR=darin@chromium.org
Review URL: http://codereview.chromium.org/7491048
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@95561 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/7523051
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@95496 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
Historically such code is a source of out-of-bound reads/writes.
TEST=media_unittests
Review URL: http://codereview.chromium.org/7452009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93276 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
VideoFrame.
They've never been used.
Review URL: http://codereview.chromium.org/7439007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93145 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
No need to confuse people with potentially-NULL pointers due to out-of-memory conditions.
Review URL: http://codereview.chromium.org/7396007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92917 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=try bots
Review URL: http://codereview.chromium.org/6815011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81199 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
for in the future.)
BUG=none
TEST=compiles
Review URL: http://codereview.chromium.org/5574006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68746 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remove D3D textures from VideoFrame because it is not used anymore.
Remove duration and timestamp when creating a video frame from textures.
BUG=53714
TEST=Tree is green.
Review URL: http://codereview.chromium.org/3501005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61852 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Allocate textures for video frames in Gles2VideoDecoderContext.
BUG=53714
TEST=Tree is green. This doesn't work yet.
Review URL: http://codereview.chromium.org/3391022
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61825 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add the following feature to GpuVideoDecoderHost:
1. Video frame allocation / release.
2. ProduceVideoFrame / ConsumeVideoFrame using frames allocated.
3. Change GpuVideoDecoder creation to asynchronous.
BUG=53714
TEST=unit_tests --gtest_filter=GpuVideoDecoder*
Review URL: http://codereview.chromium.org/3397027
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61824 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
video decoding
There are several things done in this patch:
1. Added FakeGlVideoDecodeEngine
2. Fixed style problem in VideoDecodeEngine and gpu_video_common.h
3. Added route to pass texture from gpu process to WebKit
BUG=53714
TEST=Tree is green
Review URL: http://codereview.chromium.org/3335014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59223 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A VideoFrame should only reveal it self as system memory or textures (GL or D3D).
All the implementation details should be hidden. This removed EGL image,
OMXBUFFERHEADERTYPE, D3D surface and MF buffer from video frame.
We should only have 3 different types of video frames:
1. System memory
Whether it is allocated by VideoFrame or is just memory mapped should fall
into this category. Memory can either be allocated internally or provided
externally.
2. GL texture
EGL image or just plain GL texture should fall into this area. Decode engines should do all the necessary operations to convert texture to GL textures.
3. D3D texture
Whether we are using Media Foundation or DxVA2, if we are on windows we
should convert everything to D3D texture and again all the operations
involved are done inside the decode engine.
BUG=53714
TEST=Tree is green. This is just API change.
Review URL: http://codereview.chromium.org/3303014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58899 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
standalone Media Foundation Transform (MFT).
TEST=none
BUGS=none
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54571 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
as a standalone Media Foundation Transform (MFT). See README for more information."
This reverts commit r54078, due to link failures.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54084 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
standalone Media Foundation Transform (MFT). See README for more information.
Review URL: http://codereview.chromium.org/3044019
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54078 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. add ffmpeg_video_allocator.cc/h
2. add omx_bufferheader type and av_frame type of video_frame.
please see http://codereview.chromium.org/2992002/show
for full commit. this is used to split that change to reviewable size of changelist.
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=53348
Review URL: http://codereview.chromium.org/3006001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53418 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Broke webkit build.
BUG=None
TEST=Nont
TBR=jiesun
Review URL: http://codereview.chromium.org/3015018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53352 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. add ffmpeg_video_allocator.cc/h
2. add omx_bufferheader type and av_frame type of video_frame.
please see http://codereview.chromium.org/2992002/show
for full commit. this is used to split that change to reviewable size of changelist.
Review URL: http://codereview.chromium.org/3006001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53348 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
add more generic surface format and surface type signalling from video decoder to video renderer. if we want to allocate buffer in renderer, we had to know these kind of information.
remove redundant ParseMediaFormat and duplicated width,height, egl_image_supports in derived class of VideoRenderBase.
Review URL: http://codereview.chromium.org/2829009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50558 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
Adding a test case to DecodeVerbatimTest.
TEST=remoting_unittests
Review URL: http://codereview.chromium.org/2849006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49839 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Using XRender to render the chromoting client. This patch has done several things:
1. Rename chromotocol_pb to remoting
2. Defined ChromotingView as the display area of the remote view
3. Implemented X11Client as the client that uses X11 for display
4. Implemented X11View that uses XRender for drawing
5. Fixed several problems in host capturer and encoder
Review URL: http://codereview.chromium.org/2745006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49329 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This will allow using types such as EGLImageKHR for decoding and rendering.
Patch by wjia@google.com:
http://codereview.chromium.org/2008005/show
BUG=none
TEST=compiles
Review URL: http://codereview.chromium.org/2137001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47307 0039d316-1c4b-4281-b951-d872f2087c98
|