summaryrefslogtreecommitdiffstats
path: root/ppapi/c/dev/ppb_video_decoder_dev.h
Commit message (Collapse)AuthorAgeFilesLines
* Replace the use of an int32* with an explicit profile for decoder configuration.fischman@chromium.org2011-09-011-6/+4
| | | | | | | | | | | | | | Replaces the error-prone, overly-general, error-containing, and brittle manually-terminated array-of-ints holding name/value pairs (except for names that don't take values) with a simple profile parameter (specifying only information we actually use today). BUG=none TEST=trybots, ovdatest, gles2 Review URL: http://codereview.chromium.org/7779001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99111 0039d316-1c4b-4281-b951-d872f2087c98
* Implement PPAPI VideoDecode out-of-process supportvrk@chromium.org2011-08-061-0/+2
| | | | | | | | | | | | | This CL implements the proxy necessary for out-of-process video decoding and introduces a shared base class between the PPB_VideoDecoder_Impl and the proxy. BUG=NONE TEST=gles2 plugin runs with or without --ppapi-out-of-process flag, no crashes Review URL: http://codereview.chromium.org/7545014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@95724 0039d316-1c4b-4281-b951-d872f2087c98
* PPB_VideoDecoder_Dev::Initialize is now synchronous!fischman@chromium.org2011-07-291-23/+9
| | | | | | | | | | | | | Apparently flash can't deal with async init, so we make it synchronous. We keep processing in the GPU process asynchronous and just take the blocking hit on the renderer. BUG=none TEST=gles2, ovdatest, trybots Review URL: http://codereview.chromium.org/7474006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@94730 0039d316-1c4b-4281-b951-d872f2087c98
* Redid VideoDecodeAccelerator::Error codes and propagated to ppapi.fischman@chromium.org2011-07-201-2/+2
| | | | | | | | | BUG=none TEST=chrome builds, gles2 & ovdatest pass, trybots Review URL: http://codereview.chromium.org/7452010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93251 0039d316-1c4b-4281-b951-d872f2087c98
* Remove redundant size and type information from VideoDecode PPAPIvrk@google.com2011-07-191-5/+6
| | | | | | | | | | | | | | | | | | | 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
* Enable fire-and-forget Destroy of HW video decoder, and misc other improvements.fischman@chromium.org2011-07-151-12/+8
| | | | | | | | | | | | | | | | | | | | | | | - Instead of requiring the client to wait for NotifyDestroyDone we do the asynchronous OMX teardown dance on the client's behalf. - Prettify/simplify error handling in OVDA for easier matching of errors to OMX_Core.h and to remove redundant information. - Enable previously-DISABLED_ early-teardown unittests! - Remove passing VideoDecoder_Dev object in PPP_VideoDecoder_Dev calls, because it was unnecssary, and because the ~VideoDecoder_Dev dtor is now not a no-op so we don't want to call it spuriously. - Remove accidentally re-added gpu_video_service_host.cc (originally removed in 92251, accidentally reintroduced by a bad rebase in 92383). BUG=none TEST=ovdatest passes (incl. early-teardown tests) and gles2 works (including reload and EOS handling, no crashes) Review URL: http://codereview.chromium.org/7361010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92704 0039d316-1c4b-4281-b951-d872f2087c98
* Overhauled OmxVideoDecodeAccelerator's state machine implementation and ↵fischman@chromium.org2011-07-131-162/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | related code. This implementation makes explicit the transitions being effected and the states expected to be involved in each transition, instead of the previous implementation's use of implicit information (e.g. "we just went from Idle to Loaded, therefore we must be Abort()'ing"). This is not only much more readable but also enables implementation of Reset() (for Seek) and replaces Abort() (which never had a well-defined purpose that was consistent in documentation and implementation, nor a customer use-case). DID some TODOs in OmxVideoDecodeAccelerator: - Replaced error-code checking boilerplate w/ a failure-handling macro. - Simplified the component-name-getting dance in CreateComponent(). Updated the PPAPI interface: - Removed GetConfigs & AssignSysmemBuffers (neither of which ever came into its own) - Replaced Abort with Reset, and added Destroy (which still nobody calls, but that'll change shortly). - Cleaned up the interface's documentation. BUG=86122 TEST=OVDATest, gles2 sample plugin Review URL: http://codereview.chromium.org/7338010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92383 0039d316-1c4b-4281-b951-d872f2087c98
* Move the video decoder and video layer to the new API/thunk system.brettw@chromium.org2011-06-181-24/+26
| | | | | | | | | | | | | | This changes the video decoder API to make GetConfigs be a resource member function so it can be routed with the rest of the resource functions. This patch also removes the font_list_dev API which was never implemented and has been replaced with a function on the Font interface. TEST=manual BUG=none Review URL: http://codereview.chromium.org/7193018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@89610 0039d316-1c4b-4281-b951-d872f2087c98
* Implement AssignGLESBuffers for VideoDecode PPAPIvrk@google.com2011-06-101-2/+5
| | | | | | | | | | | | | | 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-5/+2
| | | | | | | | | | | | | | | 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-2/+5
| | | | | | | | | | | | 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
* Revert 87919 - Revert 87905 (broke PPAPITest.Scrollbar on win) - PPAPI: Fix ↵polina@google.com2011-06-061-22/+28
| | | | | | | | | | | | | | | | | | | | interface functions that take PP_CompletionCallbacks, but don't return codes from pp_errors.h 87905 - Review URL: http://codereview.chromium.org/6975053 87919 - Review URL: http://codereview.chromium.org/7058061 BUG=85010 TEST=none Review URL: http://codereview.chromium.org/6975053 Review URL: http://codereview.chromium.org/7058061 TBR=dhollowa@chromium.org Review URL: http://codereview.chromium.org/7112040 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@88055 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 87905 (broke PPAPITest.Scrollbar on win) - PPAPI: Fix interface ↵thakis@chromium.org2011-06-041-28/+22
| | | | | | | | | | | | | | | functions that take PP_CompletionCallbacks, but don't return codes from pp_errors.h BUG=none TEST=compile + manually run ppapi_tests::VideoDecoder Review URL: http://codereview.chromium.org/6975053 TBR=polina@google.com Review URL: http://codereview.chromium.org/7058061 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@87919 0039d316-1c4b-4281-b951-d872f2087c98
* PPAPI: Fix interface functions that take PP_CompletionCallbacks, but don'tpolina@google.com2011-06-041-22/+28
| | | | | | | | | | return codes from pp_errors.h BUG=none TEST=compile + manually run ppapi_tests::VideoDecoder Review URL: http://codereview.chromium.org/6975053 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@87905 0039d316-1c4b-4281-b951-d872f2087c98
* Implementation for Pepper C++ Video Decoder API (wrapper on top of C API).vmr@chromium.org2011-06-031-5/+5
| | | | | | | | | | BUG= TEST= Review URL: http://codereview.chromium.org/7085030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@87831 0039d316-1c4b-4281-b951-d872f2087c98
* Add initialization callback support for Video Decoder PPAPI.vrk@google.com2011-05-251-3/+5
| | | | | | | | | | | | | Initializing a decoder is asynchronous, so add a callback to tell client when the decoder is ready to use. I confirmed that this works locally using a C plugin that I wrote on my machine. BUG=NONE TEST=NONE Review URL: http://codereview.chromium.org/7065010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86699 0039d316-1c4b-4281-b951-d872f2087c98
* Updated PPAPI Video Decoder CPP interface to reflect the status of C API.vmr@chromium.org2011-05-161-0/+46
| | | | | | | | | | | When beginning the work on the PPAPI video decoder unit tester I took the liberty of first updating the CPP version of the PPAPI Video Decoder interface. This is just for the interface, so I can continue writing a test against it. BUG= TEST= Review URL: http://codereview.chromium.org/6982024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85475 0039d316-1c4b-4281-b951-d872f2087c98
* Implement VideoDecoder IPC hooks from plugin to GPU processvrk@google.com2011-05-131-3/+3
| | | | | | | | | | | | | 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-29/+31
| | | | | | | | | | | | | | 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
* Add version-specific defines for each C interface.brettw@chromium.org2011-04-271-1/+2
| | | | | | | | | | | This explicitly does not change any of the version numbers, and just makes the name of the define string match the current version number. TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/6893022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@83176 0039d316-1c4b-4281-b951-d872f2087c98
* Checking in major revision of Pepper video decode APIs.scherkus@chromium.org2011-03-311-55/+168
| | | | | | | | | | | | Part of a patch by vmr@chromium.org: http://codereview.chromium.org/6541068/ BUG=none TEST=none Review URL: http://codereview.chromium.org/6776008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80028 0039d316-1c4b-4281-b951-d872f2087c98
* Revert of revert 69309 - switch handles to 32 bit in PPAPI.neb@chromium.org2011-01-141-1/+1
| | | | | | | | | | | | | David Sehr helped me get the NaCl side working so I'll try to land this again. Previous CL at http://codereview.chromium.org/5837001 BUG=69474 TEST=compiles Review URL: http://codereview.chromium.org/6231003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71419 0039d316-1c4b-4281-b951-d872f2087c98
* Change ppapi C++ comment style into C.neb@chromium.org2010-12-201-5/+6
| | | | | | | | | | | This allows graphics 2d example to compile. BUG=none TEST=Compiling examples/2d/graphics_2d.c with NaCl works. Review URL: http://codereview.chromium.org/5997003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69725 0039d316-1c4b-4281-b951-d872f2087c98
* Integrate NaCl Head - Revert 69309 to restore 64b handles in PPAPInoelallen@google.com2010-12-181-1/+1
| | | | | | | | | BUG= http://code.google.com/p/nativeclient/issues/detail?id=933 TEST=It compiles can run the nacl ppapi srpc test Review URL: http://codereview.chromium.org/6041001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69602 0039d316-1c4b-4281-b951-d872f2087c98
* Resource width 64->32 change.neb@chromium.org2010-12-151-1/+1
| | | | | | | | | | | Mostly done by bbudge. BUG=none TEST=ppapi_include_tests.py Review URL: http://codereview.chromium.org/5837001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69309 0039d316-1c4b-4281-b951-d872f2087c98
* Add compile assertions to enforce the sizes of all structs and enums in the ↵dmichael@google.com2010-12-131-1/+1
| | | | | | | | | | | | | | | | C API. Adjust some structs to make their sizes consistent across architectures. Note that some structs contain pointers, so are difficult to make consistent between 32-bit and 64-bit. Those types are in test_struct_sizes.c. Other types have a compile assertion immediately after their definition. This was broken off from a bigger CL: http://codereview.chromium.org/5340003/ BUG=61004,92983 TEST=test_struct_sizes.c, compile assertions throughout See this CL for the code that helped generate the static assertions and find affected interfaces: http://codereview.chromium.org/5730003 Review URL: http://codereview.chromium.org/5674004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69038 0039d316-1c4b-4281-b951-d872f2087c98
* Make PPAPI headers compile with C compilers (gcc on Linux & Mac and MSVS on ↵dmichael@google.com2010-11-051-15/+16
| | | | | | | | | | | | | | Windows). This includes changing bool to PP_Bool and adding a PP_INLINE macro. TEST=tests/test_c_includes.c BUG=59791,53451 The first patch set is a straight copy of http://codereview.chromium.org/4019010/show which got LGTMed when PPAPI was in its own repo, but had to be rolled back in order to include chrome changes. IMPORTANT: This change will break plugin implementations that use the C interface, and might break others as well. Review URL: http://codereview.chromium.org/4310002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65200 0039d316-1c4b-4281-b951-d872f2087c98
* Move PPAPI into the Chrome repo. The old repo wasbrettw@chromium.org2010-11-011-0/+86
http://ppapi.googlecode.com/ TEST=none BUG=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64613 0039d316-1c4b-4281-b951-d872f2087c98