• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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