18b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol/* 28b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol// Copyright (c) 2014 Intel Corporation 38b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol// 48b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol// Licensed under the Apache License, Version 2.0 (the "License"); 58b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol// you may not use this file except in compliance with the License. 68b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol// You may obtain a copy of the License at 78b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol// 88b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol// http://www.apache.org/licenses/LICENSE-2.0 98b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol// 108b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol// Unless required by applicable law or agreed to in writing, software 118b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol// distributed under the License is distributed on an "AS IS" BASIS, 128b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 138b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol// See the License for the specific language governing permissions and 148b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol// limitations under the License. 158b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol*/ 168b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol#ifndef VIDEO_PAYLOAD_BUFFER_H 178b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol#define VIDEO_PAYLOAD_BUFFER_H 188b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol 198b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol#include <utils/Timers.h> 208b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujolnamespace android { 218b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujolnamespace intel { 228b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol 238b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujolstruct VideoPayloadBuffer { 248b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol // transform made by clients (clients to hwc) 258b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol int client_transform; 268b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol int metadata_transform; 278b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol int rotated_width; 288b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol int rotated_height; 298b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol int surface_protected; 308b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol int force_output_method; 318b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol buffer_handle_t rotated_buffer_handle; 328b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol uint32_t renderStatus; 338b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol unsigned int used_by_widi; 348b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol int bob_deinterlace; 358b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol int tiling; 368b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol uint32_t width; 378b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol uint32_t height; 388b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol uint32_t luma_stride; 398b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol uint32_t chroma_u_stride; 408b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol uint32_t chroma_v_stride; 418b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol uint32_t format; 428b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol buffer_handle_t khandle; 438b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol int64_t timestamp; 448b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol 458b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol uint32_t rotate_luma_stride; 468b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol uint32_t rotate_chroma_u_stride; 478b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol uint32_t rotate_chroma_v_stride; 488b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol 498b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol nsecs_t hwc_timestamp; 508b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol uint32_t layer_transform; 518b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol 528b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol void *native_window; 538b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol buffer_handle_t scaling_khandle; 548b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol uint32_t scaling_width; 558b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol uint32_t scaling_height; 568b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol 578b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol uint32_t scaling_luma_stride; 588b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol uint32_t scaling_chroma_u_stride; 598b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol uint32_t scaling_chroma_v_stride; 608b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol 618b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol uint32_t crop_width; 628b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol uint32_t crop_height; 638b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol 648b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol uint32_t coded_width; 658b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol uint32_t coded_height; 668b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol uint32_t csc_mode; 678b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol uint32_t video_range; 688b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol uint32_t initialized; 698b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol}; 708b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol 718b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol 728b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol// force output method values 738b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujolenum { 748b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol FORCE_OUTPUT_INVALID = 0, 758b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol FORCE_OUTPUT_GPU, 768b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol FORCE_OUTPUT_OVERLAY, 778b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol FORCE_OUTPUT_SW_DECODE, 788b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol}; 798b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol 808b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol 818b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol} // namespace intel 828b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol} // namespace android 838b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol 848b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol 858b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol#endif // VIDEO_PAYLOAD_BUFFER_H 868b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol 878b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol 88