1/* 2// Copyright (c) 2014 Intel Corporation 3// 4// Licensed under the Apache License, Version 2.0 (the "License"); 5// you may not use this file except in compliance with the License. 6// You may obtain a copy of the License at 7// 8// http://www.apache.org/licenses/LICENSE-2.0 9// 10// Unless required by applicable law or agreed to in writing, software 11// distributed under the License is distributed on an "AS IS" BASIS, 12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13// See the License for the specific language governing permissions and 14// limitations under the License. 15*/ 16#ifndef VIDEO_PAYLOAD_BUFFER_H 17#define VIDEO_PAYLOAD_BUFFER_H 18 19#include <utils/Timers.h> 20namespace android { 21namespace intel { 22 23struct VideoPayloadBuffer { 24 // transform made by clients (clients to hwc) 25 int client_transform; 26 int metadata_transform; 27 int rotated_width; 28 int rotated_height; 29 int surface_protected; 30 int force_output_method; 31 uint32_t rotated_buffer_handle; 32 uint32_t renderStatus; 33 unsigned int used_by_widi; 34 int bob_deinterlace; 35 int tiling; 36 uint32_t width; 37 uint32_t height; 38 uint32_t luma_stride; 39 uint32_t chroma_u_stride; 40 uint32_t chroma_v_stride; 41 uint32_t format; 42 uint32_t khandle; 43 int64_t timestamp; 44 45 uint32_t rotate_luma_stride; 46 uint32_t rotate_chroma_u_stride; 47 uint32_t rotate_chroma_v_stride; 48 49 nsecs_t hwc_timestamp; 50 uint32_t layer_transform; 51 52 void *native_window; 53 uint32_t scaling_khandle; 54 uint32_t scaling_width; 55 uint32_t scaling_height; 56 57 uint32_t scaling_luma_stride; 58 uint32_t scaling_chroma_u_stride; 59 uint32_t scaling_chroma_v_stride; 60 61 uint32_t crop_width; 62 uint32_t crop_height; 63 64 uint32_t coded_width; 65 uint32_t coded_height; 66 uint32_t initialized; 67 68 uint32_t csc_mode; 69 uint32_t video_range; 70}; 71 72 73// force output method values 74enum { 75 FORCE_OUTPUT_INVALID = 0, 76 FORCE_OUTPUT_GPU, 77 FORCE_OUTPUT_OVERLAY, 78 FORCE_OUTPUT_SW_DECODE, 79}; 80 81 82} // namespace intel 83} // namespace android 84 85 86#endif // VIDEO_PAYLOAD_BUFFER_H 87 88 89