Home | History | Annotate | Download | only in android
      1 /*
      2  * Copyright (c) 2011 Intel Corporation. All Rights Reserved.
      3  *
      4  * Permission is hereby granted, free of charge, to any person obtaining a
      5  * copy of this software and associated documentation files (the
      6  * "Software"), to deal in the Software without restriction, including
      7  * without limitation the rights to use, copy, modify, merge, publish,
      8  * distribute, sub license, and/or sell copies of the Software, and to
      9  * permit persons to whom the Software is furnished to do so, subject to
     10  * the following conditions:
     11  *
     12  * The above copyright notice and this permission notice (including the
     13  * next paragraph) shall be included in all copies or substantial portions
     14  * of the Software.
     15  *
     16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
     17  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
     18  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
     19  * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
     20  * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
     21  * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
     22  * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
     23  *
     24  * Authors:
     25  *    Zhaohan Ren  <zhaohan.ren (at) intel.com>
     26  *
     27  */
     28 #ifndef __PSB_ANDROID_GLUE_H__
     29 #define __PSB_ANDROID_GLUE_H__
     30 
     31 #ifdef __cplusplus
     32 extern "C"
     33 {
     34 #endif
     35     unsigned char* psb_android_registerBuffers(void** surface, int pid, int width, int height);
     36 
     37     void psb_android_postBuffer(int offset);
     38 
     39     void psb_android_clearHeap();
     40 
     41     int psb_android_surfaceflinger_status(void** surface, int *sf_compostion, int *rotation, int *widi);
     42 
     43     void psb_android_get_destbox(short* destx, short* desty, unsigned short* destw, unsigned short* desth);
     44     void psb_android_dynamic_source_display(int buffer_index, int hdmi_mode);
     45     void psb_android_dynamic_source_destroy();
     46     int psb_android_surfaceflinger_rotate(void* window, int *rotation);
     47 
     48     enum {
     49         INIT_VALUE = 0,
     50         HDMI_VIDEO_ISPLAYING,
     51         WIDI_VIDEO_ISPLAYING,
     52     };
     53 
     54 #ifdef TARGET_HAS_MULTIPLE_DISPLAY
     55     void init_mds_listener(void*);
     56     void deinit_mds_listener(void*);
     57     int  psb_android_get_mds_mode(void*);
     58     int  psb_android_get_mds_decoder_output_resolution(void*, int*, int*, int*, int*, int*, int*);
     59     int  psb_android_get_mds_vpp_state(void*);
     60 #else
     61 #ifdef PSBVIDEO_MRFL_VPP
     62     int  psb_android_get_vpp_state();
     63 #endif
     64 #endif
     65 
     66 #ifdef __cplusplus
     67 }
     68 #endif
     69 
     70 
     71 #endif
     72