| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
TBR=avi
Review URL: http://codereview.chromium.org/6684015
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77903 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
First step of many towards removing DemuxerStream::QueryInterface, AVStreamProvider, and MediaFormat.
This time without memory leaks!
BUG=28206
TEST=media_unittests
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77875 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change seems to have caused Linux Heapcheck bot redness.
http://build.chromium.org/p/chromium.memory/builders/Linux%20Heapcheck/builds/4846
First step of many towards removing DemuxerStream::QueryInterface, AVStreamProvider, and MediaFormat.
BUG=28206
TEST=media_unittests
Review URL: http://codereview.chromium.org/6624062
TBR=scherkus@chromium.org
Review URL: http://codereview.chromium.org/6665020
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77770 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
new IPC macros that generate serialization code.
Review URL: http://codereview.chromium.org/6673003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77721 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
First step of many towards removing DemuxerStream::QueryInterface, AVStreamProvider, and MediaFormat.
BUG=28206
TEST=media_unittests
Review URL: http://codereview.chromium.org/6624062
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77476 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
they depend on and which depends on them.TBR=avi
Review URL: http://codereview.chromium.org/6628071
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77249 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This implements the chromium side of the webkit media statistics
feature.
A followup cl (in webkit) will wire the two sides together.
Patch by sjl@chromium.org:
http://codereview.chromium.org/6246091/
BUG=71255
TEST=media_unittests
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75050 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
whether a message was processed or not.
TBR=brettw
Review URL: http://codereview.chromium.org/5978003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70139 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
(Note: This was a TODO for hclam).
BUG=None
TEST=trybots
Review URL: http://codereview.chromium.org/4113006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64526 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
vs Posix and enforces exclusive creates.
Clean up some naming to make it clearer what size you are getting by changing max_size to created_size.
BUG=NONE
TEST=BUILD
Review URL: http://codereview.chromium.org/4034006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64097 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=compiles
Review URL: http://codereview.chromium.org/3962004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63527 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit a6294c5672df70fbd5191f25487119f0fa6a3ffe.
TBR=eroman
BUG=None
TEST=None
Review URL: http://codereview.chromium.org/3913002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63120 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Checked with Al we are already delay loading d3d9.dll, so add some extra for MF.
BUG=53714
TEST=None
Review URL: http://codereview.chromium.org/3859005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63112 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Linking against MFT seems to create a runtime problem for XP.
TBR=scherkus
BUG=None
TEST=None
Review URL: http://codereview.chromium.org/3548021
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61929 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
TBR=scherkus
BUG=None
TEST=None
Review URL: http://codereview.chromium.org/3591020
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61925 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
GpuVideoDecoder"
This reverts commit 8462483619e253dca3717d51e340ed839a6cab1d.
Revert "Fix build failure."
This reverts commit 8dcd363637ac2e59f9472c0793a0b1fd3c2ad4c7.
TBR=scherkus
BUG=None
TEST=None
Review URL: http://codereview.chromium.org/3601019
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61922 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
TBR=scherkus
BUG=None
TEST=None
Review URL: http://codereview.chromium.org/3516024
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61921 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remove media/mf folder and move the video decode engine to media/video.
There are some temporary changes in MftH264DecodeEngine to work with
GpuVideoDecoder correctly.
Removed tests will be added later. Example program will likely be removed
permanently due to maintence problem.
This patch depends WebKit and ANGLE changes to be able to present video frames
onto screen and still have lot of bugs, those problems will be address later.
BUG=53714
TEST=Tree is green. This patch doesn't work yet.
Review URL: http://codereview.chromium.org/3432030
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61918 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add Preroll IPC message for finishing the initialiation of FakeGlVideoDecodeEngine.
Also defined methods in WebVideoFrameImpl to access video frame textures.
This change depend on a WebKit change to succesfully display the textures.
BUG=53714
TEST=Tree is green. This still needs WebKit changes to work.
Review URL: http://codereview.chromium.org/3472016
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61853 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
|
|
|
|
|
|
|
|
|
| |
BUG=23581
TEST=compiles
Review URL: http://codereview.chromium.org/3555002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60985 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implement ProduceVideoFrame() in GpuVideoDecoder and unit tests for testing
the loginc in GpuVideoDecoder.
BUG=53714
TEST=unit_tests --gtest_filter=GpuVideoDecoder*
Review URL: http://codereview.chromium.org/3414003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60902 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
TBR=scherkus
BUG=53714
TEST=
Review URL: http://codereview.chromium.org/3393017
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60130 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
This is separated from a previous patch due to link error on mac.
BUG=53714
TEST=Mac build bots are happy
Review URL: http://codereview.chromium.org/3414011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60126 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Passed try bot but still failed, so removed the offending code.
BUG=53714
TEST=
Review URL: http://codereview.chromium.org/3440010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59861 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=53714
TEST=Tree is green
Review URL: http://codereview.chromium.org/3442006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59860 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
complete VideoFrame allocation
GpuVideoDecedoer now sends IPC messages to allocation GL textures. It also uses
GpuVideoDevice to create VideoFrames from the GL textures. These GL textures
are passed into VideoDecodeEngine.
BUG=53714
TEST=Tree is green
Review URL: http://codereview.chromium.org/3335019
TBR=hclam@chromium.org
Review URL: http://codereview.chromium.org/3451007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59790 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Defines UploadToVideoFrame in VideoDecodeContext.
FakeGlVideoDecodeEngine now uses FakeGlVideoDecodeContext to video frame
allocation and uploading.
BUG=53714
TEST=Tree is green
Review URL: http://codereview.chromium.org/3312022
TBR=hclam@chromium.org
Review URL: http://codereview.chromium.org/3436014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59789 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
BUG=
TEST=
Review URL: http://codereview.chromium.org/3400013
TBR=hclam@chromium.org
Review URL: http://codereview.chromium.org/3415013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59788 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=
TEST=
Review URL: http://codereview.chromium.org/3400013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59786 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Defines UploadToVideoFrame in VideoDecodeContext.
FakeGlVideoDecodeEngine now uses FakeGlVideoDecodeContext to video frame
allocation and uploading.
BUG=53714
TEST=Tree is green
Review URL: http://codereview.chromium.org/3312022
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59785 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
VideoFrame allocation
GpuVideoDecedoer now sends IPC messages to allocation GL textures. It also uses
GpuVideoDevice to create VideoFrames from the GL textures. These GL textures
are passed into VideoDecodeEngine.
BUG=53714
TEST=Tree is green
Review URL: http://codereview.chromium.org/3335019
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59784 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Allocation of video frames should be originated from the VideoDecodeEngine in
the GPU process. Adding messages that will allow allocation be done during
runtime instead of initialization.
Also did some cleanup in gpu_video_common.cc.
BUG=53714
TEST=Tree is green
Review URL: http://codereview.chromium.org/3361017
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59775 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
GpuVideoDecoder now implements VideoDecodeContext. Also defined a
GpuVideoDevice that works with GpuVideoDecoder.
No implemetation in this change, just added comments to describe the work flow.
BUG=53714
TEST=Tree is green
Review URL: http://codereview.chromium.org/3295027
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59627 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
|
|
|
|
|
|
|
|
|
|
|
|
| |
The FillThisBuffer and EmptyThisBuffer names are very confusing. Anyone
new working on the code probably won't understand the code at all. I'm changing
the names to something more meaningful, which state the actual action taken by
the methods. It is also easier to tell whether the method is for input pin or
for output pin by their names.
Review URL: http://codereview.chromium.org/3201013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58604 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In this patch a ggl::Context is connected to the GpuVideoDecoderHost in the
renderer process. In the GPU process the GpuVideoDecoder is connected to a
gles2::GLES2Decoder.
These changes will be used in the future to switch context before issuing
video decode commands. This is also needed by the GPU process to translate
a client texture ID to a service texture ID in the GPU video decoder.
BUG=53714
TEST=none
Review URL: http://codereview.chromium.org/3266008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58518 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The new file, render_messages_params.h, is included in 57 files, while
render_messages.h is included in 176 files. Moving the Params structs to their
own file allow pruning the included headers.
(Part 2 of this cleanup will be sorting the individual structs into themes
to further minimize header inclusion.)
BUG=51411
TEST=compiles
Review URL: http://codereview.chromium.org/3119035
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57229 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
some logics are moved into system memory path only. ( such as allocation of output buffer, and usage of FTBDoneACK messages.
Review URL: http://codereview.chromium.org/3141014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56358 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
BUG=None
TEST=None
CID=12377, 12379, 12380, 12381
Review URL: http://codereview.chromium.org/3176004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55863 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
facilities in video stack. it is only enabled when (a) hardware composition is on (b) hardware decoding command line is on (c) h264 codec is specified.
2. gpu_video_service.cc/h is a singleton in gpu process which provide video services for renderer process, through it we could create decoder. ( in my imagination, in the future, we could create encoder or capturer too)
3. gpu_video_decoder.cc/h. abstract interface for hardware decoder.
4. gpu_video_service_host.cc/h is singleton in renderer process which provide proxy for gpu_video_service.
5. gpu_video_decoder_host.cc/h is proxy for gpu_video_decoder. (1 to 1 map).basically there is one global GpuVideoService in GPU process, one GpuVideoServiceHost in Renderer process. for each renderer process, there are could be multiple renderer view, each could had multiple GpuVideoDecoderHost the connect to GpuVideoDeocder through GPUCHannelHOst/GpuChannel.
6. gpu_video_common.cc/h: IPC message definition and pickle/marshaling support.
ISSUES:
1. in media pipeline, we need let decoder to determine if bit stream filter should be used instead of let command line to determine it.
2. stop readback from D3D surface use ANGLE.
3. Flush logic still need fine tuning.
4. CreateThread in GpuVideoDecoder, and post message in message handler, and derived classs handle message loop. ?
5. Error handling.
6. Input ring buffer implementation. Current impl is naive.
7.Add output queue for MFT decoder.
8. Query Capabilities at GetVideoServices()...
BUG=None
TEST=Windows7
Review URL: http://codereview.chromium.org/2873089
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55516 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. ipc_video_decoder.cc/h is media pipeline filter which use the gpu decoder facilities in video stack. it is only enabled when (a) hardware composition is on (b) hardware decoding command line is on (c) h264 codec is specified.
2. gpu_video_service.cc/h is a singleton in gpu process which provide video services for renderer process, through it we could create decoder. ( in my imagination, in the future, we could create encoder or capturer too)
3. gpu_video_decoder.cc/h. abstract interface for hardware decoder.
4. gpu_video_decoder_mft.cc/h media foundation transform hardware decoder which run on windows 7 only.
5. gpu_video_service_host.cc/h is singleton in renderer process which provide proxy for gpu_video_service.
6. gpu_video_decoder_host.cc/h is proxy for gpu_video_decoder. (1 to 1 map).basically there is one global GpuVideoService in GPU process, one GpuVideoServiceHost in Renderer process. for each renderer process, there are could be multiple renderer view, each could had multiple GpuVideoDecoderHost the connect to GpuVideoDeocder through GPUCHannelHOst/GpuChannel.
7. gpu_video_common.cc/h: IPC message definition and pickle/marshaling support.
ISSUES:
1. in media pipeline, we need let decoder to determine if bit stream filter should be used instead of let command line to determine it.
2. stop readback from D3D surface use ANGLE.
3. Flush logic still need fine tuning.
4. CreateThread in GpuVideoDecoder, and post message in message handler, and derived classs handle message loop. ?
5. Error handling.
6. Input ring buffer implementation. Current impl is naive.
7.Add output queue for MFT decoder.
8. Query Capabilities at GetVideoServices()...
BUG=None
TEST=Windows7
Review URL: http://codereview.chromium.org/2873089
TBR=jiesun@google.com
Review URL: http://codereview.chromium.org/3020077
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55419 0039d316-1c4b-4281-b951-d872f2087c98
|
|
1. ipc_video_decoder.cc/h is media pipeline filter which use the gpu decoder facilities in video stack. it is only enabled when (a) hardware composition is on (b) hardware decoding command line is on (c) h264 codec is specified.
2. gpu_video_service.cc/h is a singleton in gpu process which provide video services for renderer process, through it we could create decoder. ( in my imagination, in the future, we could create encoder or capturer too)
3. gpu_video_decoder.cc/h. abstract interface for hardware decoder.
4. gpu_video_decoder_mft.cc/h media foundation transform hardware decoder which run on windows 7 only.
5. gpu_video_service_host.cc/h is singleton in renderer process which provide proxy for gpu_video_service.
6. gpu_video_decoder_host.cc/h is proxy for gpu_video_decoder. (1 to 1 map).basically there is one global GpuVideoService in GPU process, one GpuVideoServiceHost in Renderer process. for each renderer process, there are could be multiple renderer view, each could had multiple GpuVideoDecoderHost the connect to GpuVideoDeocder through GPUCHannelHOst/GpuChannel.
7. gpu_video_common.cc/h: IPC message definition and pickle/marshaling support.
ISSUES:
1. in media pipeline, we need let decoder to determine if bit stream filter should be used instead of let command line to determine it.
2. stop readback from D3D surface use ANGLE.
3. Flush logic still need fine tuning.
4. CreateThread in GpuVideoDecoder, and post message in message handler, and derived classs handle message loop. ?
5. Error handling.
6. Input ring buffer implementation. Current impl is naive.
7.Add output queue for MFT decoder.
8. Query Capabilities at GetVideoServices()...
BUG=None
TEST=Windows7
Review URL: http://codereview.chromium.org/2873089
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55405 0039d316-1c4b-4281-b951-d872f2087c98
|