mirror of
https://github.com/hardkernel/kernel_common_drivers.git
synced 2026-06-25 12:03:48 +09:00
15656eb157
PD#SWPL-77521 Problem: porting media driver from kernel 5.4 Solution: porting media driver from kernel 5.4 Verify: s4d and C2 AF400 Change-Id: I63bb8316e271db8b7d0e6e524399ebde9a1456a6 Signed-off-by: wanwei.jiang <wanwei.jiang@amlogic.com>
59 lines
1.7 KiB
C
59 lines
1.7 KiB
C
/* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */
|
|
/*
|
|
* drivers/amlogic/media/deinterlace/pulldown_drv.h
|
|
*
|
|
* Copyright (C) 2017 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 _DI_PULLDOWN_H
|
|
#define _DI_PULLDOWN_H
|
|
#include "../deinterlace/film_mode_fmw/film_vof_soft.h"
|
|
#include "../deinterlace/deinterlace_mtn.h"
|
|
|
|
#define MAX_VOF_WIN_NUM 4
|
|
|
|
enum pulldown_mode_e {
|
|
PULL_DOWN_BLEND_0 = 0,/* buf1=dup[0] */
|
|
PULL_DOWN_BLEND_2 = 1,/* buf1=dup[2] */
|
|
PULL_DOWN_MTN = 2,/* mtn only */
|
|
PULL_DOWN_BUF1 = 3,/* do wave with dup[0] */
|
|
PULL_DOWN_EI = 4,/* ei only */
|
|
PULL_DOWN_NORMAL = 5,/* normal di */
|
|
PULL_DOWN_NORMAL_2 = 6,/* di */
|
|
};
|
|
|
|
struct pulldown_vof_win_s {
|
|
unsigned short win_vs;
|
|
unsigned short win_ve;
|
|
enum pulldown_mode_e blend_mode;
|
|
};
|
|
|
|
struct pulldown_detected_s {
|
|
enum pulldown_mode_e global_mode;
|
|
struct pulldown_vof_win_s regs[4];
|
|
};
|
|
|
|
unsigned char pulldown_init(unsigned short width, unsigned short height);
|
|
|
|
unsigned int pulldown_detection(struct pulldown_detected_s *res,
|
|
struct combing_status_s *cmb_sts, bool reverse, struct vframe_s *vf);
|
|
|
|
void pulldown_vof_win_vshift(struct pulldown_detected_s *wins,
|
|
unsigned short v_offset);
|
|
|
|
void pd_device_files_add(struct device *dev);
|
|
|
|
void pd_device_files_del(struct device *dev);
|
|
#endif
|