blob: 7eec4b719e9f8fe50da18efc4ab610fb94f4ff8d [file] [log] [blame]
/*
* drivers/amlogic/media/frame_provider/decoder/utils/amlogic_fbc_hook.h
*
* Copyright (C) 2016 Amlogic, Inc. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
*/
#ifndef AMLGIC_FBC_HEADER___
#define AMLGIC_FBC_HEADER___
#include <linux/amlogic/media/vfm/vframe.h>
/*
unsigned short *planes[4],
unsigned char *buf,
unsigned *v2_head_buf // v2_head_buf_size=(((frame_info->mbw + 1)>>1)*2) * (((frame_info->mbh + 15)>>4)*16)
);
*/
int AMLOGIC_FBC_vframe_decoder(
void *dstyuv[4],
struct vframe_s *vf,
int out_format,
int flags);
int AMLOGIC_FBC_vframe_encoder(
void *srcyuv[4],
void *dst_header,
void *dst_body,
int in_format,
int flags);
typedef int (*AMLOGIC_FBC_vframe_decoder_fun_t)(
void **,
struct vframe_s *,
int,
int);
typedef int (*AMLOGIC_FBC_vframe_encoder_fun_t)(
void **,
void *,
void *,
int,
int);
int register_amlogic_afbc_dec_fun(AMLOGIC_FBC_vframe_decoder_fun_t fn);
int register_amlogic_afbc_enc_fun(AMLOGIC_FBC_vframe_encoder_fun_t fn);
int unregister_amlogic_afbc_dec_fun(void);
int unregister_amlogic_afbc_enc_fun(void);
#endif