1 /* 2 * drivers/amlogic/media/frame_provider/decoder/utils/amlogic_fbc_hook.h 3 * 4 * Copyright (C) 2016 Amlogic, Inc. All rights reserved. 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation; either version 2 of the License, or 9 * (at your option) any later version. 10 * 11 * This program is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 14 * more details. 15 * 16 */ 17 18 #ifndef AMLGIC_FBC_HEADER___ 19 #define AMLGIC_FBC_HEADER___ 20 #include <linux/amlogic/media/vfm/vframe.h> 21 /* 22 unsigned short *planes[4], 23 unsigned char *buf, 24 unsigned *v2_head_buf // v2_head_buf_size=(((frame_info->mbw + 1)>>1)*2) * (((frame_info->mbh + 15)>>4)*16) 25 ); 26 */ 27 28 int AMLOGIC_FBC_vframe_decoder( 29 void *dstyuv[4], 30 struct vframe_s *vf, 31 int out_format, 32 int flags); 33 int AMLOGIC_FBC_vframe_encoder( 34 void *srcyuv[4], 35 void *dst_header, 36 void *dst_body, 37 int in_format, 38 int flags); 39 40 typedef int (*AMLOGIC_FBC_vframe_decoder_fun_t)( 41 void **, 42 struct vframe_s *, 43 int, 44 int); 45 typedef int (*AMLOGIC_FBC_vframe_encoder_fun_t)( 46 void **, 47 void *, 48 void *, 49 int, 50 int); 51 int register_amlogic_afbc_dec_fun(AMLOGIC_FBC_vframe_decoder_fun_t fn); 52 int register_amlogic_afbc_enc_fun(AMLOGIC_FBC_vframe_encoder_fun_t fn); 53 int unregister_amlogic_afbc_dec_fun(void); 54 int unregister_amlogic_afbc_enc_fun(void); 55 #endif