summaryrefslogtreecommitdiffstats
path: root/ppapi
diff options
context:
space:
mode:
authorvrk@google.com <vrk@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-13 18:28:08 +0000
committervrk@google.com <vrk@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-13 18:28:08 +0000
commit1357ae79b9d474da177632a85227efb676c6d98e (patch)
tree558938eb3df48430f3864efe2563c848745683cf /ppapi
parent2e095c8217b83f2daab9f1b970e943790de6b794 (diff)
downloadchromium_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.h17
-rw-r--r--ppapi/c/dev/ppb_video_decoder_dev.h6
-rw-r--r--ppapi/c/dev/ppp_video_decoder_dev.h2
-rw-r--r--ppapi/tests/arch_dependent_sizes_64.h4
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);