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> 20 namespace android { 21 namespace intel { 22 23 struct 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 buffer_handle_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 buffer_handle_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 buffer_handle_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 csc_mode; 67 uint32_t video_range; 68 uint32_t initialized; 69 }; 70 71 72 // force output method values 73 enum { 74 FORCE_OUTPUT_INVALID = 0, 75 FORCE_OUTPUT_GPU, 76 FORCE_OUTPUT_OVERLAY, 77 FORCE_OUTPUT_SW_DECODE, 78 }; 79 80 81 } // namespace intel 82 } // namespace android 83 84 85 #endif // VIDEO_PAYLOAD_BUFFER_H 86 87 88