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