Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(123)

Unified Diff: content/common/gpu/gpu_messages.h

Issue 1451353002: Implement GpuArcVideoService for arc video accelerator (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebased with new ArcBridgeService; addressed Owen's comments Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/common/gpu/gpu_messages.h
diff --git a/content/common/gpu/gpu_messages.h b/content/common/gpu/gpu_messages.h
index d463ef0f792f1ab162740e3d8fb38dee9003e053..b2b31b85df775206af942f42045f2a9f216efd46 100644
--- a/content/common/gpu/gpu_messages.h
+++ b/content/common/gpu/gpu_messages.h
@@ -30,6 +30,7 @@
#include "ipc/ipc_message_macros.h"
#include "media/base/decrypt_config.h"
#include "media/base/video_types.h"
+#include "media/video/arc_video_accelerator.h"
#include "media/video/jpeg_decode_accelerator.h"
#include "media/video/video_decode_accelerator.h"
#include "media/video/video_encode_accelerator.h"
@@ -78,6 +79,12 @@ IPC_ENUM_TRAITS_MIN_MAX_VALUE(gpu::CollectInfoResult,
IPC_ENUM_TRAITS_MIN_MAX_VALUE(gpu::VideoCodecProfile,
gpu::VIDEO_CODEC_PROFILE_MIN,
gpu::VIDEO_CODEC_PROFILE_MAX)
+// TODO in this CL(kcwu) add max to enum
+IPC_ENUM_TRAITS_MAX_VALUE(media::arc::PortType, media::arc::PORT_COUNT - 1)
+IPC_ENUM_TRAITS_MAX_VALUE(media::arc::DeviceType, media::arc::DEVICE_DECODER)
+IPC_ENUM_TRAITS_MAX_VALUE(media::arc::MemoryType, media::arc::MEMORY_DMABUF)
+IPC_ENUM_TRAITS_MAX_VALUE(media::arc::ArcVideoAccelerator::Error,
+ media::arc::ArcVideoAccelerator::PLATFORM_FAILURE)
IPC_STRUCT_BEGIN(GPUCreateCommandBufferConfig)
IPC_STRUCT_MEMBER(int32, share_group_id)
@@ -306,6 +313,30 @@ IPC_STRUCT_TRAITS_BEGIN(media::SubsampleEntry)
IPC_STRUCT_TRAITS_MEMBER(cypher_bytes)
IPC_STRUCT_TRAITS_END()
+IPC_STRUCT_TRAITS_BEGIN(media::arc::BufferMetadata)
+ IPC_STRUCT_TRAITS_MEMBER(timestamp)
+ IPC_STRUCT_TRAITS_MEMBER(flags)
+ IPC_STRUCT_TRAITS_MEMBER(bytes_used)
+IPC_STRUCT_TRAITS_END()
+
+IPC_STRUCT_TRAITS_BEGIN(media::arc::BufferFormat)
+ IPC_STRUCT_TRAITS_MEMBER(pixel_format)
+ IPC_STRUCT_TRAITS_MEMBER(image_size)
+ IPC_STRUCT_TRAITS_MEMBER(memory_type)
+IPC_STRUCT_TRAITS_END()
+
+IPC_STRUCT_TRAITS_BEGIN(media::arc::VideoFormat)
+ IPC_STRUCT_TRAITS_MEMBER(pixel_format)
+ IPC_STRUCT_TRAITS_MEMBER(image_size)
+ IPC_STRUCT_TRAITS_MEMBER(min_num_buffers)
+ IPC_STRUCT_TRAITS_MEMBER(coded_width)
+ IPC_STRUCT_TRAITS_MEMBER(coded_height)
+ IPC_STRUCT_TRAITS_MEMBER(crop_left)
+ IPC_STRUCT_TRAITS_MEMBER(crop_width)
+ IPC_STRUCT_TRAITS_MEMBER(crop_top)
+ IPC_STRUCT_TRAITS_MEMBER(crop_height)
+IPC_STRUCT_TRAITS_END()
+
//------------------------------------------------------------------------------
// GPU Messages
// These are messages from the browser to the GPU process.
@@ -839,3 +870,50 @@ IPC_MESSAGE_ROUTED0(AcceleratedJpegDecoderMsg_Destroy)
IPC_MESSAGE_ROUTED2(AcceleratedJpegDecoderHostMsg_DecodeAck,
int32, /* bitstream_buffer_id */
media::JpegDecodeAccelerator::Error /* error */)
+
+IPC_MESSAGE_CONTROL0(GpuMsg_CreateArcVideoAcceleratorChannel)
+IPC_MESSAGE_CONTROL0(GpuMsg_ShutdownArcVideoService)
+IPC_MESSAGE_CONTROL1(GpuHostMsg_ArcVideoAcceleratorChannelCreated,
+ IPC::ChannelHandle /* handle to channel */)
+
+// TODO in this CL(kcwu) create a new gpu_arc_messages.h ?
+// TODO in this CL(kcwu) use IPC_ENUM_TRAITS_MAX_VALUE
+
+IPC_SYNC_MESSAGE_CONTROL1_1(ArcAcceleratorMsg_Initialize,
+ media::arc::DeviceType /* device_type */,
+ uint32_t /* result */)
+IPC_SYNC_MESSAGE_CONTROL5_1(ArcAcceleratorMsg_BindSharedBuffer,
+ media::arc::PortType /* port */,
+ uint32_t /* index */,
+ base::FileDescriptor /* ashmem fd */,
+ size_t /* offset */,
+ size_t /* length */,
+ uint32_t /* result */)
+IPC_SYNC_MESSAGE_CONTROL3_1(ArcAcceleratorMsg_BindGraphicBuffer,
+ media::arc::PortType /* port */,
+ uint32_t /* index */,
+ base::FileDescriptor /* dmabuf fd */,
+ uint32_t /* result */)
+IPC_SYNC_MESSAGE_CONTROL3_0(ArcAcceleratorMsg_UseBuffer,
+ media::arc::PortType /* port */,
+ uint32_t /* index */,
+ media::arc::BufferMetadata /* metadata */)
+IPC_SYNC_MESSAGE_CONTROL2_2(ArcAcceleratorMsg_SetBufferCount,
+ media::arc::PortType /* port */,
+ size_t /* in_count */,
+ size_t /* out_count */,
+ uint32_t /* result */)
+IPC_SYNC_MESSAGE_CONTROL0_0(ArcAcceleratorMsg_Reset)
+IPC_SYNC_MESSAGE_CONTROL2_1(ArcAcceleratorMsg_SetBufferFormat,
+ media::arc::PortType /* port */,
+ media::arc::BufferFormat /* format */,
+ uint32_t /* result */)
+
+IPC_MESSAGE_CONTROL1(ArcAcceleratorHostMsg_Error,
+ media::arc::ArcVideoAccelerator::Error /* error */)
+IPC_MESSAGE_CONTROL1(ArcAcceleratorHostMsg_OutputFormatChanged,
+ media::arc::VideoFormat /* format */)
+IPC_MESSAGE_CONTROL3(ArcAcceleratorHostMsg_BufferDone,
+ media::arc::PortType /* port */,
+ uint32_t /* index */,
+ media::arc::BufferMetadata /* metadata */)

Powered by Google App Engine
This is Rietveld 408576698