Based on 1 normalized pattern(s): this program is free software you can redistribute it and or modify it under the terms of the gnu general public license version 2 as published by the free software foundation 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 extracted by the scancode license scanner the SPDX license identifier GPL-2.0-only has been chosen to replace the boilerplate/reference in 655 file(s). Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Allison Randal <allison@lohutok.net> Reviewed-by: Kate Stewart <kstewart@linuxfoundation.org> Reviewed-by: Richard Fontana <rfontana@redhat.com> Cc: linux-spdx@vger.kernel.org Link: https://lkml.kernel.org/r/20190527070034.575739538@linutronix.de Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
51 lines
1.5 KiB
C
51 lines
1.5 KiB
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
/*
|
|
* Copyright (c) 2016 MediaTek Inc.
|
|
* Author: PC Chen <pc.chen@mediatek.com>
|
|
* Tiffany Lin <tiffany.lin@mediatek.com>
|
|
*/
|
|
|
|
#ifndef _MTK_VCODEC_ENC_H_
|
|
#define _MTK_VCODEC_ENC_H_
|
|
|
|
#include <media/videobuf2-core.h>
|
|
#include <media/videobuf2-v4l2.h>
|
|
|
|
#define MTK_VENC_IRQ_STATUS_SPS 0x1
|
|
#define MTK_VENC_IRQ_STATUS_PPS 0x2
|
|
#define MTK_VENC_IRQ_STATUS_FRM 0x4
|
|
#define MTK_VENC_IRQ_STATUS_DRAM 0x8
|
|
#define MTK_VENC_IRQ_STATUS_PAUSE 0x10
|
|
#define MTK_VENC_IRQ_STATUS_SWITCH 0x20
|
|
|
|
#define MTK_VENC_IRQ_STATUS_OFFSET 0x05C
|
|
#define MTK_VENC_IRQ_ACK_OFFSET 0x060
|
|
|
|
/**
|
|
* struct mtk_video_enc_buf - Private data related to each VB2 buffer.
|
|
* @vb: Pointer to related VB2 buffer.
|
|
* @list: list that buffer link to
|
|
* @param_change: Types of encode parameter change before encoding this
|
|
* buffer
|
|
* @enc_params: Encode parameters changed before encode this buffer
|
|
*/
|
|
struct mtk_video_enc_buf {
|
|
struct vb2_v4l2_buffer vb;
|
|
struct list_head list;
|
|
u32 param_change;
|
|
struct mtk_enc_params enc_params;
|
|
};
|
|
|
|
extern const struct v4l2_ioctl_ops mtk_venc_ioctl_ops;
|
|
extern const struct v4l2_m2m_ops mtk_venc_m2m_ops;
|
|
|
|
int mtk_venc_unlock(struct mtk_vcodec_ctx *ctx);
|
|
int mtk_venc_lock(struct mtk_vcodec_ctx *ctx);
|
|
int mtk_vcodec_enc_queue_init(void *priv, struct vb2_queue *src_vq,
|
|
struct vb2_queue *dst_vq);
|
|
void mtk_vcodec_enc_release(struct mtk_vcodec_ctx *ctx);
|
|
int mtk_vcodec_enc_ctrls_setup(struct mtk_vcodec_ctx *ctx);
|
|
void mtk_vcodec_enc_set_default_params(struct mtk_vcodec_ctx *ctx);
|
|
|
|
#endif /* _MTK_VCODEC_ENC_H_ */
|