Home | History | Annotate | Download | only in common
      1 /*
      2 // Copyright(c)2014 IntelCorporation
      3 //
      4 // LicensedundertheApacheLicense,Version2.0(the"License");
      5 // youmaynotusethisfileexceptincompliancewiththeLicense.
      6 // YoumayobtainacopyoftheLicenseat
      7 //
      8 // http://www.apache.org/licenses/LICENSE-2.0
      9 //
     10 // Unlessrequiredbyapplicablelaworagreedtoinwriting,software
     11 // distributedundertheLicenseisdistributedonan"ASIS"BASIS,
     12 // WITHOUTWARRANTIESORCONDITIONSOFANYKIND,eitherexpressorimplied.
     13 // SeetheLicenseforthespecificlanguagegoverningpermissionsand
     14 // limitationsundertheLicense.
     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