summaryrefslogtreecommitdiffstats
path: root/media/video/picture.cc
Commit message (Collapse)AuthorAgeFilesLines
* Send hardware video frames with mailboxes.danakj@chromium.org2013-06-251-0/+10
| | | | | | | | | | | | | | | | | | | | Change media::VideoFrame from holding a raw texture id to instead hold a gpu::Mailbox. The hardware video decoders produce a mailbox on their context from the texture id before putting it in the VideoFrame, and consume the mailbox again when they receive the texture id back. In the compositor, we hold onto the VideoFrame::MailboxHolder as long as the mailboxed texture is in use in the compositor (or its parent). This keeps the video decoders from writing to the texture id, as they register a callback in the VideoFrame to be called when it is destroyed. BUG=179729 Review URL: https://chromiumcodereview.appspot.com/14199002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@208568 0039d316-1c4b-4281-b951-d872f2087c98
* Remove redundant size and type information from VideoDecode PPAPIvrk@google.com2011-07-191-20/+5
| | | | | | | | | | | | | | | | | | | The visible size of the video frame is determined at Create stage. The type of buffer (from system memory or texture-backed via GLES) is decided by the plugin when it calls AssignGLESBuffers or AssignSysmemBuffers in response to ProvidePictureBuffers. The decoded size will be the same as the size requested in ProvidePictureBuffers. Thus these values specified anywhere else is redundant, and introduces a place to have inconsistency. BUG=NONE TEST=ovda unittest passes; gles2 runs w/o crashing Review URL: http://codereview.chromium.org/7021020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93031 0039d316-1c4b-4281-b951-d872f2087c98
* Implement AssignGLESBuffers for VideoDecode PPAPIvrk@google.com2011-06-101-3/+3
| | | | | | | | | | | | | | Fills in implementation for AssignGLESBuffers where it was missing. Also updates OmxVideoDecodeAccelerator to reflect the changes. BUG=NONE TEST=NONE Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=88698 Review URL: http://codereview.chromium.org/6965010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@88733 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 88698 - Implement AssignGLESBuffers for VideoDecode PPAPIdavemoore@chromium.org2011-06-101-3/+3
| | | | | | | | | | | | | | | Fills in implementation for AssignGLESBuffers where it was missing. Also updates OmxVideoDecodeAccelerator to reflect the changes. BUG=NONE TEST=NONE Review URL: http://codereview.chromium.org/6965010 TBR=vrk@google.com Review URL: http://codereview.chromium.org/7044115 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@88702 0039d316-1c4b-4281-b951-d872f2087c98
* Implement AssignGLESBuffers for VideoDecode PPAPIvrk@google.com2011-06-101-3/+3
| | | | | | | | | | | | Fills in implementation for AssignGLESBuffers where it was missing. Also updates OmxVideoDecodeAccelerator to reflect the changes. BUG=NONE TEST=NONE Review URL: http://codereview.chromium.org/6965010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@88698 0039d316-1c4b-4281-b951-d872f2087c98
* [Re-instate r86681 by reverting its revert in r86687.]fischman@chromium.org2011-05-261-8/+5
| | | | | | | | | | | | | | | Take 2: Updated OMX decoder for recent PPAPI changes, and added to the build. Had to move from content/gpu to content/common/gpu to allow gpu_video_service.cc to depend on the decoder. Removed some dead code and did some random cleanup while I was in there. BUG=none TEST=chrome compiles on cros/arm! Review URL: http://codereview.chromium.org/6992087 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86841 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 86681 - Updated OMX decoder for recent PPAPI changes, and added to ↵fischman@chromium.org2011-05-251-5/+8
| | | | | | | | | | | | | | | | | | the build. Had to move from content/gpu to content/common/gpu to allow gpu_video_service.cc to depend on the decoder. Removed some dead code and did some random cleanup while I was in there. BUG=none TEST=chrome compiles on cros/arm! Review URL: http://codereview.chromium.org/7057027 TBR=fischman@chromium.org Review URL: http://codereview.chromium.org/6979017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86687 0039d316-1c4b-4281-b951-d872f2087c98
* Updated OMX decoder for recent PPAPI changes, and added to the build.fischman@chromium.org2011-05-251-8/+5
| | | | | | | | | | | | | Had to move from content/gpu to content/common/gpu to allow gpu_video_service.cc to depend on the decoder. Removed some dead code and did some random cleanup while I was in there. BUG=none TEST=chrome compiles on cros/arm! Review URL: http://codereview.chromium.org/7057027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86681 0039d316-1c4b-4281-b951-d872f2087c98
* Implement VideoDecoder IPC hooks from plugin to GPU processvrk@google.com2011-05-131-0/+8
| | | | | | | | | | | | | This implements the communciation layers from the Renderer process to the GPU process and back for the AcceleratedVideoDecoder PPAPI interfaces. BUG=NONE TEST=NONE Review URL: http://codereview.chromium.org/6876004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85296 0039d316-1c4b-4281-b951-d872f2087c98
* Update VideoDecode PPAPI structs to be consistent with media structures, part 1vrk@google.com2011-05-101-56/+14
| | | | | | | | | | | | | | This patch fixes some of the inconsistencies between the VideoDecode structs in the ppapi namespace and their wrappers in the media namespace. It also implements some of the hooks to pass messages to and from the browser and plugin. BUG=NONE TEST=NONE Review URL: http://codereview.chromium.org/6901036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@84871 0039d316-1c4b-4281-b951-d872f2087c98
* Draft version of the HW video decode tester and few other changes.scherkus@chromium.org2011-04-141-0/+72
Intention is that this tester can be used to decouple HW decode accelerator integration from running the whole Chrome browser. Features: - Independent GUnit executable, which should be possible to use in autotests. - Mimics Renderer process from Gpu video pipeline perspective. * Test bench contains implementation of FakeClient which essentially mimics Renderer process from the GpuVideoDecodeAccelerator's point of view. * FakeClient runs on it's own thread and will communicate with using the IPC messages that are used also within the real use case. * FakeClient will allocate memories using same SharedMemory stuff as the real Renderer code. * Currently reads H.264 Annex B bitstream from file and parses it to NAL units before feeding to the decoder * TODO: Polish and improving the features and configurability. * TODO: GLES texture allocation for textures. - Allows building various test cases and error behaviour as well both on AcceleratedVideoDecoder interface as well as erroneous behaviour from the client. - Allows also checking expected order of calls if we want to enforce certain behaviour across various implementations. Patch by vmr@chromium.org: http://codereview.chromium.org/6720040/ BUG=none TEST=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81663 0039d316-1c4b-4281-b951-d872f2087c98