diff options
author | vrk@google.com <vrk@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-13 18:28:08 +0000 |
---|---|---|
committer | vrk@google.com <vrk@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-13 18:28:08 +0000 |
commit | 1357ae79b9d474da177632a85227efb676c6d98e (patch) | |
tree | 558938eb3df48430f3864efe2563c848745683cf /ppapi | |
parent | 2e095c8217b83f2daab9f1b970e943790de6b794 (diff) | |
download | chromium_src-1357ae79b9d474da177632a85227efb676c6d98e.zip chromium_src-1357ae79b9d474da177632a85227efb676c6d98e.tar.gz chromium_src-1357ae79b9d474da177632a85227efb676c6d98e.tar.bz2 |
Implement VideoDecoder IPC hooks from plugin to GPU process
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
Diffstat (limited to 'ppapi')
-rw-r--r-- | ppapi/c/dev/pp_video_dev.h | 17 | ||||
-rw-r--r-- | ppapi/c/dev/ppb_video_decoder_dev.h | 6 | ||||
-rw-r--r-- | ppapi/c/dev/ppp_video_decoder_dev.h | 2 | ||||
-rw-r--r-- | ppapi/tests/arch_dependent_sizes_64.h | 4 |
4 files changed, 14 insertions, 15 deletions
diff --git a/ppapi/c/dev/pp_video_dev.h b/ppapi/c/dev/pp_video_dev.h index 7c4c73b..49eec11 100644 --- a/ppapi/c/dev/pp_video_dev.h +++ b/ppapi/c/dev/pp_video_dev.h @@ -165,15 +165,15 @@ PP_COMPILE_ASSERT_ENUM_SIZE_IN_BYTES(PP_PictureBufferType_Dev, 4); // The data structure for video bitstream buffer. struct PP_VideoBitstreamBuffer_Dev { + // Client-specified identifier for the bitstream buffer. + int32_t id; + // Buffer to hold the bitstream data. Should be allocated using the PPB_Buffer // interface for consistent interprocess behaviour. - PP_Resource bitstream; + PP_Resource data; // Size of the bitstream contained in buffer (in bytes). - int32_t bitstream_size; - - // Handle to identify the bitstream buffer. - void* user_handle; + int32_t size; }; // Struct for specifying data about buffer. @@ -216,6 +216,9 @@ struct PP_Picture_Dev { // ID of the picture buffer where the picture is stored. int32_t picture_buffer_id; + // ID of the bitstream from which this data was decoded. + int32_t bitstream_buffer_id; + // Visible size of the picture. // This describes the dimensions of the picture that is intended to be // displayed from the decoded output. @@ -227,10 +230,6 @@ struct PP_Picture_Dev { // the width of the output. The plugin should handle rendering the frame // appropriately with respect to the sizes. struct PP_Size decoded_size; - - // Handle to identify the bitstream buffer from which this picture was - // decoded. - void* bitstream_user_handle; }; // Enumeration for error events that may be reported through diff --git a/ppapi/c/dev/ppb_video_decoder_dev.h b/ppapi/c/dev/ppb_video_decoder_dev.h index 53869a0..4927c2c 100644 --- a/ppapi/c/dev/ppb_video_decoder_dev.h +++ b/ppapi/c/dev/ppb_video_decoder_dev.h @@ -9,8 +9,8 @@ #include "ppapi/c/pp_completion_callback.h" #include "ppapi/c/pp_var.h" -#define PPB_VIDEODECODER_DEV_INTERFACE_0_6 "PPB_VideoDecoder(Dev);0.6" -#define PPB_VIDEODECODER_DEV_INTERFACE PPB_VIDEODECODER_DEV_INTERFACE_0_6 +#define PPB_VIDEODECODER_DEV_INTERFACE_0_7 "PPB_VideoDecoder(Dev);0.7" +#define PPB_VIDEODECODER_DEV_INTERFACE PPB_VIDEODECODER_DEV_INTERFACE_0_7 // Video decoder interface. // @@ -163,7 +163,7 @@ struct PPB_VideoDecoder_Dev { // // Parameters: // |video_decoder| is the previously created handle to the decoder instance. - // |picture_buffer| contains the reference to the picture buffer that was + // |picture_buffer_id| contains the id of the picture buffer that was // processed. void (*ReusePictureBuffer)(PP_Resource video_decoder, int32_t picture_buffer_id); diff --git a/ppapi/c/dev/ppp_video_decoder_dev.h b/ppapi/c/dev/ppp_video_decoder_dev.h index 7ae8c55..af5eaaf 100644 --- a/ppapi/c/dev/ppp_video_decoder_dev.h +++ b/ppapi/c/dev/ppp_video_decoder_dev.h @@ -7,7 +7,7 @@ #include "ppapi/c/dev/pp_video_dev.h" -#define PPP_VIDEODECODER_DEV_INTERFACE "PPP_VideoDecoder(Dev);0.2" +#define PPP_VIDEODECODER_DEV_INTERFACE "PPP_VideoDecoder(Dev);0.3" // PPP_VideoDecoder_Dev structure contains the function pointers that the // plugin MUST implement to provide services needed by the video decoder diff --git a/ppapi/tests/arch_dependent_sizes_64.h b/ppapi/tests/arch_dependent_sizes_64.h index 80cc7b2..de68721 100644 --- a/ppapi/tests/arch_dependent_sizes_64.h +++ b/ppapi/tests/arch_dependent_sizes_64.h @@ -17,8 +17,8 @@ PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_CompletionCallback_Func, 8); PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_URLLoaderTrusted_StatusCallback, 8); PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PP_CompletionCallback, 16); PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PP_FileChooserOptions_Dev, 16); -PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PP_Picture_Dev, 32); -PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PP_VideoBitstreamBuffer_Dev, 16); +PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PP_Picture_Dev, 24); +PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PP_VideoBitstreamBuffer_Dev, 12); PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PPB_VideoDecoder_Dev, 72); PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PPP_VideoDecoder_Dev, 40); |