summaryrefslogtreecommitdiffstats
path: root/chrome/gpu
Commit message (Collapse)AuthorAgeFilesLines
* shared_memory: remove wstrings, fix callers.evan@chromium.org2010-09-291-1/+1
| | | | | | | | | 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 video frame exchange in GpuVideoDecoder and testshclam@chromium.org2010-09-294-61/+349
| | | | | | | | | | | | 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
* Revert 60421 - Revert 60373, trying to track down a perf regression (see bug ↵thakis@chromium.org2010-09-242-0/+8
| | | | | | | | | | | | | | | | | 56752)- Add about:gpuhang BUG=None TEST=None Review URL: http://codereview.chromium.org/3447023 TBR=thakis@chromium.org Review URL: http://codereview.chromium.org/3398027 TBR=thakis@chromium.org Review URL: http://codereview.chromium.org/3398028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60430 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 60373, trying to track down a perf regression (see bug 56752)- Add ↵thakis@chromium.org2010-09-242-8/+0
| | | | | | | | | | | | | | about:gpuhang BUG=None TEST=None Review URL: http://codereview.chromium.org/3447023 TBR=thakis@chromium.org Review URL: http://codereview.chromium.org/3398027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60421 0039d316-1c4b-4281-b951-d872f2087c98
* Add about:gpuhangthakis@chromium.org2010-09-232-0/+8
| | | | | | | | | BUG=None TEST=None Review URL: http://codereview.chromium.org/3447023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60373 0039d316-1c4b-4281-b951-d872f2087c98
* Revert r60126 that broke the build.hclam@chromium.org2010-09-221-5/+1
| | | | | | | | | | | 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
* SendAllocateVideoFrames to the rendererhclam@chromium.org2010-09-211-1/+5
| | | | | | | | | | | 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
* Fixed the race described in bug 54400 by changing a LOG(FATAL) to a ↵apatrick@chromium.org2010-09-201-0/+25
| | | | | | | | | | | | | LOG(ERROR). Queried the X server to make the error messages in the error handler more descriptive. When a MakeCurrent fails in the GPU process, the associated rendering is informed that the context is lost. TEST=Run "chrome --enable-accelerated-compositing". Open a few tabs with "http://webkit.org/blog-files/3d-transforms/poster-circle.html". Close one of the tabs. Look for X error info logged on the console (from gpu_main.cc). Remaining tab should still be animated (the fix prevents gpu process from being terminated). This is a race condition, so there may not be an error logged the first time. A few trials should trip the error. BUG=54400 Landing on behalf of baker@ git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59980 0039d316-1c4b-4281-b951-d872f2087c98
* Fixed crash when ANGLE returns a NULL device.apatrick@chromium.org2010-09-201-0/+6
| | | | | | | | | | | ANGLE shouldn't be returning a NULL device at this point. I'll get to that next. This will fix crashes for people using old DX8 cards. TEST=try BUG=none Review URL: http://codereview.chromium.org/3410018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59951 0039d316-1c4b-4281-b951-d872f2087c98
* Build fix. Chromium mac compiles again...hclam@chromium.org2010-09-171-5/+1
| | | | | | | | | | | 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
* Resubmit GpuVideoDecoder and related patches.hclam@chromium.org2010-09-177-159/+330
| | | | | | | | | 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
* Revert 59784 - GpuVideoDecoder to use GpuVideoDevice and IPC messages to ↵mlloyd@chromium.org2010-09-172-131/+135
| | | | | | | | | | | | | | | | | | 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
* Revert 59785 - Implement FakeGlVideoDecodeEngine using FakeGlVideoDecodeContextmlloyd@chromium.org2010-09-177-205/+30
| | | | | | | | | | | | | | | | | 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
* Revert 59786 - Fix build.mlloyd@chromium.org2010-09-171-2/+1
| | | | | | | | | | | | 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
* Fix build.hclam@chromium.org2010-09-171-1/+2
| | | | | | | | | 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
* Implement FakeGlVideoDecodeEngine using FakeGlVideoDecodeContexthclam@chromium.org2010-09-177-30/+205
| | | | | | | | | | | | | | 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
* GpuVideoDecoder to use GpuVideoDevice and IPC messages to complete ↵hclam@chromium.org2010-09-172-135/+131
| | | | | | | | | | | | | | | 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
* Add IPC messages for allocation video frames for hardware video decoderhclam@chromium.org2010-09-171-13/+3
| | | | | | | | | | | | | | | 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
* GpuProcessHost and GpuChannel do not assert if they receive an IPC message ↵apatrick@chromium.org2010-09-161-3/+3
| | | | | | | | | | | | | | that cannot be routed. Comment added to code: The object to which the message is addressed might have been destroyed. This is expected, for example an asynchronous SwapBuffers notification to a command buffer proxy that has since been destroyed. This function fails silently in that case. TEST=try BUG=none Review URL: http://codereview.chromium.org/3362017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59702 0039d316-1c4b-4281-b951-d872f2087c98
* Defines GpuVideoDevice for video frame allocationhclam@chromium.org2010-09-163-4/+149
| | | | | | | | | | | | | | 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
* Add about:gpucrashthakis@chromium.org2010-09-152-0/+9
| | | | | | | | | BUG=None TEST=open a tab that uses the compositor. Open a second tab, go to about:gpucrash. Verify in the task manager that the gpu process is now gone. Review URL: http://codereview.chromium.org/3424007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59540 0039d316-1c4b-4281-b951-d872f2087c98
* This is a second attempt of http://codereview.chromium.org/3175038davemoore@chromium.org2010-09-131-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | It failed the Vista Perf UI tests. This is because those tests close the browser upon an error. And they always get an error when the session is closed in the middle of the test. The new changes are in chrome/browser/automation/testing_automation_provider.cc BUG=50006 TEST=Run chrome under nested window manager using Xephyr (see http://code.google.com/p/chromium/wiki/LayoutTestsLinux) use --enable-logging=stderr --log-level=0 kill xephyr examine log. You should see X IO Error detected followed (not necessarily immediately) by successfully saved /tmp/tx/Default/Preferences successfully saved /tmp/tx/Local State successfully saved /tmp/tx/Local State successfully saved /tmp/tx/Default/Preferences along with no crash. BUG= TEST= Review URL: http://codereview.chromium.org/3364019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59269 0039d316-1c4b-4281-b951-d872f2087c98
* Added FakeGlVideoDecodeEngine to exercise the IPC protocol for hardware ↵hclam@chromium.org2010-09-135-65/+205
| | | | | | | | | | | | | | | | 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
* Revert 59147 - Allow overriding of X error functionsdavemoore@chromium.org2010-09-101-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | BUG=50006 (and various other reports) TEST=Run chrome under nested window manager using Xephyr (see http://code.google.com/p/chromium/wiki/LayoutTestsLinux) use --enable-logging=stderr --log-level=0 kill xephyr examine log. You should see X IO Error detected followed (not necessarily immediately) by successfully saved /tmp/tx/Default/Preferences successfully saved /tmp/tx/Local State successfully saved /tmp/tx/Local State successfully saved /tmp/tx/Default/Preferences along with no crash. There is a high ranking crash report on both linux and chromeos that happens whenever X sends an error to chrome. This change causes us to log and continue when we get a regular error from X. When we get an IO error, indicating X is gone, we attempt to shut down gracefully. Review URL: http://codereview.chromium.org/3175038 TBR=davemoore@chromium.org Review URL: http://codereview.chromium.org/3332019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59175 0039d316-1c4b-4281-b951-d872f2087c98
* Allow overriding of X error functionsdavemoore@chromium.org2010-09-101-1/+2
| | | | | | | | | | | | | | | | | | | | | | | BUG=50006 (and various other reports) TEST=Run chrome under nested window manager using Xephyr (see http://code.google.com/p/chromium/wiki/LayoutTestsLinux) use --enable-logging=stderr --log-level=0 kill xephyr examine log. You should see X IO Error detected followed (not necessarily immediately) by successfully saved /tmp/tx/Default/Preferences successfully saved /tmp/tx/Local State successfully saved /tmp/tx/Local State successfully saved /tmp/tx/Default/Preferences along with no crash. There is a high ranking crash report on both linux and chromeos that happens whenever X sends an error to chrome. This change causes us to log and continue when we get a regular error from X. When we get an IO error, indicating X is gone, we attempt to shut down gracefully. Review URL: http://codereview.chromium.org/3175038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59147 0039d316-1c4b-4281-b951-d872f2087c98
* Updating the about:gpu to start a webgl context if one does not exist so ↵rlp@chromium.org2010-09-102-0/+14
| | | | | | | | | | | | | | | | | | that some gpu_info will actually exist. It does this by refreshing the page every 5 seconds until a context does exist, if necessary. We also looked into other methods: - synchronous call to create context, but that will hang if there are issues creating a context - a call back, but that will also hang until we have a gpu context - display no data and rely on the user to refresh which is somewhat unintuitive to the user The method in this CL seemed to be the least annoying method of doing this which didn't cause the browser to hang. BUG=none TEST=visual Review URL: http://codereview.chromium.org/3348007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59141 0039d316-1c4b-4281-b951-d872f2087c98
* Clean up texture types in VideoFramehclam@chromium.org2010-09-091-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* FBTF: Remove unneeded headers from base/ (part 8)thestig@chromium.org2010-09-082-3/+1
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/3232003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58794 0039d316-1c4b-4281-b951-d872f2087c98
* Added GPU stat for whether a GPU can report context lost.apatrick@chromium.org2010-09-077-62/+99
| | | | | | | | | | | | | | | On Windows it checks to see if the IDirect3D9 object supports Vista and later features (meaning it won't routinely report lost contexts). On Linux and Mac we can just check if its EGL versus some other GL that doesn't report lost contexts. I routed the stats to the renderer process so webkit code can query whether lost contexts are likely. I didn't wire up breakpad yet. TEST=try BUG=52318 Review URL: http://codereview.chromium.org/3149016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58755 0039d316-1c4b-4281-b951-d872f2087c98
* Rename all FillThisBuffer and EmptyThisBuffer to something more meaningfulhclam@chromium.org2010-09-052-8/+8
| | | | | | | | | | | | 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
* Complete initializing a GPU video decoder in a GLES2 contexthclam@chromium.org2010-09-036-19/+43
| | | | | | | | | | | | | | | | | 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
* Merge remote branch 'origin/trunk' into resubmithclam@chromium.org2010-09-032-4/+2
| | | | | | | | | | | | | | Refactor video decode engines to move them to a new folder Moving video decode engines and friends to media/video. TEST=Tree is green. Video plays. Review URL: http://codereview.chromium.org/3127027 Review URL: http://codereview.chromium.org/3291009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58446 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 58429, 58428, 58427, 58423.akalin@chromium.org2010-09-032-2/+4
| | | | | | | | TBR=hclam@chromium.org Review URL: http://codereview.chromium.org/3337009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58434 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 58428 - Revert 58423 - Refactor video decode engines to move them to ↵akalin@chromium.org2010-09-022-4/+2
| | | | | | | | | | | | | | | | | | a new folder Moving video decode engines and friends to media/video. TEST=Tree is green. Video plays. Review URL: http://codereview.chromium.org/3127027 TBR=hclam@chromium.org Review URL: http://codereview.chromium.org/3361004 TBR=akalin@chromium.org Review URL: http://codereview.chromium.org/3323007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58429 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 58423 - Refactor video decode engines to move them to a new folderakalin@chromium.org2010-09-022-2/+4
| | | | | | | | | | | | | Moving video decode engines and friends to media/video. TEST=Tree is green. Video plays. Review URL: http://codereview.chromium.org/3127027 TBR=hclam@chromium.org Review URL: http://codereview.chromium.org/3361004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58428 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor video decode engines to move them to a new folderhclam@chromium.org2010-09-022-4/+2
| | | | | | | | | | Moving video decode engines and friends to media/video. TEST=Tree is green. Video plays. Review URL: http://codereview.chromium.org/3127027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58423 0039d316-1c4b-4281-b951-d872f2087c98
* Landing http://codereview.chromium.org/3291008 -- Rename Gl.h to gl.h to fixglider@chromium.org2010-09-021-1/+1
| | | | | | | | | | | | the build on case sensitive Mac systems The patch was originally prepared by ismail.donmez@gmail.com TBR=eseidel Review URL: http://codereview.chromium.org/3355004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58345 0039d316-1c4b-4281-b951-d872f2087c98
* Re-enable data collection, using a temporary maf@google.com2010-08-281-50/+68
| | | | | | | offscreen GL context this time. Review URL: http://codereview.chromium.org/3212001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57764 0039d316-1c4b-4281-b951-d872f2087c98
* FBTF: Move individual XXXMsg_Params structs to a new file.erg@google.com2010-08-244-1/+6
| | | | | | | | | | | | | | | | 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
* Temporarily work around GPU process crash on Mac OS X.kbr@google.com2010-08-241-1/+8
| | | | | | | | | BUG=52957 TEST=none (ran 3D CSS demos with --enable-accelerated-compositing) Review URL: http://codereview.chromium.org/3150030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57130 0039d316-1c4b-4281-b951-d872f2087c98
* Add Mac GPU logging code.maf@google.com2010-08-212-3/+123
| | | | | | | Add separate GL version field. Review URL: http://codereview.chromium.org/3104011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56957 0039d316-1c4b-4281-b951-d872f2087c98
* FBTB: Remove unneeded #includes of base/ref_counted.h and base/string16.h in ↵viettrungluu@chromium.org2010-08-201-1/+0
| | | | | | | | | | | src/chrome. BUG=23581 TEST=builds Review URL: http://codereview.chromium.org/3181028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56874 0039d316-1c4b-4281-b951-d872f2087c98
* FBTF: Remove unneeded headers from base/ (part 6)thestig@chromium.org2010-08-191-1/+2
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/3093013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56641 0039d316-1c4b-4281-b951-d872f2087c98
* media: use VideoDecodeEngine interface in gpu_video_decoder abstraction.jiesun@google.com2010-08-174-39/+261
| | | | | | | | 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
* FBTF: Remove "obviously" unneeded standard C++ library #includes.viettrungluu@chromium.org2010-08-151-3/+0
| | | | | | | | | BUG=none TEST=builds Review URL: http://codereview.chromium.org/3179017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56171 0039d316-1c4b-4281-b951-d872f2087c98
* Initialize the members and avoid inlining the constructors.finnur@chromium.org2010-08-121-1/+4
| | | | | | | | | | 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
* FBTF: Clean up some headers in tab_contents_delegate.h.erg@google.com2010-08-102-0/+3
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/3145001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55635 0039d316-1c4b-4281-b951-d872f2087c98
* FBTF: Minor gfx/ header cleanup.erg@google.com2010-08-102-0/+3
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/3034039 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55577 0039d316-1c4b-4281-b951-d872f2087c98
* 1. ipc_video_decoder.cc/h is media pipeline filter which use the gpu decoder ↵jiesun@google.com2010-08-106-0/+372
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Revert 55405 - Special thanks for in-ming cheng's MFT hardware decodering code.ananta@chromium.org2010-08-098-1065/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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