[media] omap3isp: CCDC, preview engine and resizer
The OMAP3 ISP CCDC, preview engine and resizer entities perform image processing and scaling. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi> Signed-off-by: David Cohen <dacohen@gmail.com> Signed-off-by: Stanimir Varbanov <svarbanov@mm-sol.com> Signed-off-by: Vimarsh Zutshi <vimarsh.zutshi@gmail.com> Signed-off-by: Tuukka Toivonen <tuukkat76@gmail.com> Signed-off-by: Sergio Aguirre <saaguirre@ti.com> Signed-off-by: Antti Koskipaa <akoskipa@gmail.com> Signed-off-by: Ivan T. Ivanov <iivanov@mm-sol.com> Signed-off-by: RaniSuneela <r-m@ti.com> Signed-off-by: Atanas Filipov <afilipov@mm-sol.com> Signed-off-by: Gjorgji Rosikopulos <grosikopulos@mm-sol.com> Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com> Signed-off-by: Nayden Kanchev <nkanchev@mm-sol.com> Signed-off-by: Phil Carmody <ext-phil.2.carmody@nokia.com> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: Dominic Curran <dcurran@ti.com> Signed-off-by: Ilkka Myllyperkio <ilkka.myllyperkio@sofica.fi> Signed-off-by: Pallavi Kulkarni <p-kulkarni@ti.com> Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com> Acked-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
121e9f1c4c
commit
de1135d44f
10 changed files with 6877 additions and 0 deletions
61
drivers/media/video/omap3isp/cfa_coef_table.h
Normal file
61
drivers/media/video/omap3isp/cfa_coef_table.h
Normal file
|
@ -0,0 +1,61 @@
|
|||
/*
|
||||
* cfa_coef_table.h
|
||||
*
|
||||
* TI OMAP3 ISP - CFA coefficients table
|
||||
*
|
||||
* Copyright (C) 2009-2010 Nokia Corporation
|
||||
*
|
||||
* Contacts: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
||||
* Sakari Ailus <sakari.ailus@iki.fi>
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
|
||||
* 02110-1301 USA
|
||||
*/
|
||||
|
||||
244, 0, 247, 0, 12, 27, 36, 247, 250, 0, 27, 0, 4, 250, 12, 244,
|
||||
248, 0, 0, 0, 0, 40, 0, 0, 244, 12, 250, 4, 0, 27, 0, 250,
|
||||
247, 36, 27, 12, 0, 247, 0, 244, 0, 0, 40, 0, 0, 0, 0, 248,
|
||||
244, 0, 247, 0, 12, 27, 36, 247, 250, 0, 27, 0, 4, 250, 12, 244,
|
||||
248, 0, 0, 0, 0, 40, 0, 0, 244, 12, 250, 4, 0, 27, 0, 250,
|
||||
247, 36, 27, 12, 0, 247, 0, 244, 0, 0, 40, 0, 0, 0, 0, 248,
|
||||
244, 0, 247, 0, 12, 27, 36, 247, 250, 0, 27, 0, 4, 250, 12, 244,
|
||||
248, 0, 0, 0, 0, 40, 0, 0, 244, 12, 250, 4, 0, 27, 0, 250,
|
||||
247, 36, 27, 12, 0, 247, 0, 244, 0, 0, 40, 0, 0, 0, 0, 248,
|
||||
0, 247, 0, 244, 247, 36, 27, 12, 0, 27, 0, 250, 244, 12, 250, 4,
|
||||
0, 0, 0, 248, 0, 0, 40, 0, 4, 250, 12, 244, 250, 0, 27, 0,
|
||||
12, 27, 36, 247, 244, 0, 247, 0, 0, 40, 0, 0, 248, 0, 0, 0,
|
||||
0, 247, 0, 244, 247, 36, 27, 12, 0, 27, 0, 250, 244, 12, 250, 4,
|
||||
0, 0, 0, 248, 0, 0, 40, 0, 4, 250, 12, 244, 250, 0, 27, 0,
|
||||
12, 27, 36, 247, 244, 0, 247, 0, 0, 40, 0, 0, 248, 0, 0, 0,
|
||||
0, 247, 0, 244, 247, 36, 27, 12, 0, 27, 0, 250, 244, 12, 250, 4,
|
||||
0, 0, 0, 248, 0, 0, 40, 0, 4, 250, 12, 244, 250, 0, 27, 0,
|
||||
12, 27, 36, 247, 244, 0, 247, 0, 0, 40, 0, 0, 248, 0, 0, 0,
|
||||
4, 250, 12, 244, 250, 0, 27, 0, 12, 27, 36, 247, 244, 0, 247, 0,
|
||||
0, 0, 0, 248, 0, 0, 40, 0, 0, 247, 0, 244, 247, 36, 27, 12,
|
||||
0, 27, 0, 250, 244, 12, 250, 4, 0, 40, 0, 0, 248, 0, 0, 0,
|
||||
4, 250, 12, 244, 250, 0, 27, 0, 12, 27, 36, 247, 244, 0, 247, 0,
|
||||
0, 0, 0, 248, 0, 0, 40, 0, 0, 247, 0, 244, 247, 36, 27, 12,
|
||||
0, 27, 0, 250, 244, 12, 250, 4, 0, 40, 0, 0, 248, 0, 0, 0,
|
||||
4, 250, 12, 244, 250, 0, 27, 0, 12, 27, 36, 247, 244, 0, 247, 0,
|
||||
0, 0, 0, 248, 0, 0, 40, 0, 0, 247, 0, 244, 247, 36, 27, 12,
|
||||
0, 27, 0, 250, 244, 12, 250, 4, 0, 40, 0, 0, 248, 0, 0, 0,
|
||||
244, 12, 250, 4, 0, 27, 0, 250, 247, 36, 27, 12, 0, 247, 0, 244,
|
||||
248, 0, 0, 0, 0, 40, 0, 0, 244, 0, 247, 0, 12, 27, 36, 247,
|
||||
250, 0, 27, 0, 4, 250, 12, 244, 0, 0, 40, 0, 0, 0, 0, 248,
|
||||
244, 12, 250, 4, 0, 27, 0, 250, 247, 36, 27, 12, 0, 247, 0, 244,
|
||||
248, 0, 0, 0, 0, 40, 0, 0, 244, 0, 247, 0, 12, 27, 36, 247,
|
||||
250, 0, 27, 0, 4, 250, 12, 244, 0, 0, 40, 0, 0, 0, 0, 248,
|
||||
244, 12, 250, 4, 0, 27, 0, 250, 247, 36, 27, 12, 0, 247, 0, 244,
|
||||
248, 0, 0, 0, 0, 40, 0, 0, 244, 0, 247, 0, 12, 27, 36, 247,
|
||||
250, 0, 27, 0, 4, 250, 12, 244, 0, 0, 40, 0, 0, 0, 0, 248
|
90
drivers/media/video/omap3isp/gamma_table.h
Normal file
90
drivers/media/video/omap3isp/gamma_table.h
Normal file
|
@ -0,0 +1,90 @@
|
|||
/*
|
||||
* gamma_table.h
|
||||
*
|
||||
* TI OMAP3 ISP - Default gamma table for all components
|
||||
*
|
||||
* Copyright (C) 2010 Nokia Corporation
|
||||
* Copyright (C) 2009 Texas Instruments, Inc.
|
||||
*
|
||||
* Contacts: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
||||
* Sakari Ailus <sakari.ailus@iki.fi>
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
|
||||
* 02110-1301 USA
|
||||
*/
|
||||
|
||||
0, 0, 1, 2, 3, 3, 4, 5, 6, 8, 10, 12, 14, 16, 18, 20,
|
||||
22, 23, 25, 26, 28, 29, 31, 32, 34, 35, 36, 37, 39, 40, 41, 42,
|
||||
43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 52, 53, 54, 55, 56, 57,
|
||||
58, 59, 60, 61, 62, 63, 63, 64, 65, 66, 66, 67, 68, 69, 69, 70,
|
||||
71, 72, 72, 73, 74, 75, 75, 76, 77, 78, 78, 79, 80, 81, 81, 82,
|
||||
83, 84, 84, 85, 86, 87, 88, 88, 89, 90, 91, 91, 92, 93, 94, 94,
|
||||
95, 96, 97, 97, 98, 98, 99, 99, 100, 100, 101, 101, 102, 103, 104, 104,
|
||||
105, 106, 107, 108, 108, 109, 110, 111, 111, 112, 113, 114, 114, 115, 116, 117,
|
||||
117, 118, 119, 119, 120, 120, 121, 121, 122, 122, 123, 123, 124, 124, 125, 125,
|
||||
126, 126, 127, 127, 128, 128, 129, 129, 130, 130, 131, 131, 132, 132, 133, 133,
|
||||
134, 134, 135, 135, 136, 136, 137, 137, 138, 138, 139, 139, 140, 140, 141, 141,
|
||||
142, 142, 143, 143, 144, 144, 145, 145, 146, 146, 147, 147, 148, 148, 149, 149,
|
||||
150, 150, 151, 151, 152, 152, 153, 153, 153, 153, 154, 154, 154, 154, 155, 155,
|
||||
156, 156, 157, 157, 158, 158, 158, 159, 159, 159, 160, 160, 160, 161, 161, 162,
|
||||
162, 163, 163, 164, 164, 164, 164, 165, 165, 165, 165, 166, 166, 167, 167, 168,
|
||||
168, 169, 169, 170, 170, 170, 170, 171, 171, 171, 171, 172, 172, 173, 173, 174,
|
||||
174, 175, 175, 176, 176, 176, 176, 177, 177, 177, 177, 178, 178, 178, 178, 179,
|
||||
179, 179, 179, 180, 180, 180, 180, 181, 181, 181, 181, 182, 182, 182, 182, 183,
|
||||
183, 183, 183, 184, 184, 184, 184, 185, 185, 185, 185, 186, 186, 186, 186, 187,
|
||||
187, 187, 187, 188, 188, 188, 188, 189, 189, 189, 189, 190, 190, 190, 190, 191,
|
||||
191, 191, 191, 192, 192, 192, 192, 193, 193, 193, 193, 194, 194, 194, 194, 195,
|
||||
195, 195, 195, 196, 196, 196, 196, 197, 197, 197, 197, 198, 198, 198, 198, 199,
|
||||
199, 199, 199, 200, 200, 200, 200, 201, 201, 201, 201, 202, 202, 202, 203, 203,
|
||||
203, 203, 204, 204, 204, 204, 205, 205, 205, 205, 206, 206, 206, 206, 207, 207,
|
||||
207, 207, 208, 208, 208, 208, 209, 209, 209, 209, 210, 210, 210, 210, 210, 210,
|
||||
210, 210, 210, 210, 210, 210, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211,
|
||||
211, 212, 212, 212, 212, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213,
|
||||
213, 214, 214, 214, 214, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215,
|
||||
216, 216, 216, 216, 217, 217, 217, 217, 218, 218, 218, 218, 219, 219, 219, 219,
|
||||
219, 219, 219, 219, 219, 219, 219, 219, 220, 220, 220, 220, 221, 221, 221, 221,
|
||||
221, 221, 221, 221, 221, 221, 221, 222, 222, 222, 222, 223, 223, 223, 223, 223,
|
||||
223, 223, 223, 223, 223, 223, 223, 224, 224, 224, 224, 225, 225, 225, 225, 225,
|
||||
225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 226, 226,
|
||||
226, 226, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 228, 228,
|
||||
228, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 230, 230, 230,
|
||||
230, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 232, 232, 232,
|
||||
232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232,
|
||||
233, 233, 233, 233, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 235,
|
||||
235, 235, 235, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236,
|
||||
236, 236, 236, 236, 236, 236, 237, 237, 237, 237, 238, 238, 238, 238, 238, 238,
|
||||
238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238,
|
||||
238, 238, 238, 238, 238, 239, 239, 239, 239, 240, 240, 240, 240, 240, 240, 240,
|
||||
240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240,
|
||||
240, 240, 240, 240, 241, 241, 241, 241, 242, 242, 242, 242, 242, 242, 242, 242,
|
||||
242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242,
|
||||
242, 242, 243, 243, 243, 243, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244,
|
||||
244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244,
|
||||
244, 245, 245, 245, 245, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
|
||||
246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
|
||||
246, 246, 246, 246, 246, 246, 246, 247, 247, 247, 247, 248, 248, 248, 248, 248,
|
||||
248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
|
||||
248, 248, 248, 248, 248, 248, 249, 249, 249, 249, 250, 250, 250, 250, 250, 250,
|
||||
250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250,
|
||||
250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250,
|
||||
250, 250, 250, 250, 251, 251, 251, 251, 252, 252, 252, 252, 252, 252, 252, 252,
|
||||
252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252,
|
||||
252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252,
|
||||
252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252,
|
||||
252, 252, 252, 252, 252, 252, 252, 252, 253, 253, 253, 253, 253, 253, 253, 253,
|
||||
253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
|
||||
253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
|
||||
253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
|
||||
253, 254, 254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
|
||||
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
|
2268
drivers/media/video/omap3isp/ispccdc.c
Normal file
2268
drivers/media/video/omap3isp/ispccdc.c
Normal file
File diff suppressed because it is too large
Load diff
219
drivers/media/video/omap3isp/ispccdc.h
Normal file
219
drivers/media/video/omap3isp/ispccdc.h
Normal file
|
@ -0,0 +1,219 @@
|
|||
/*
|
||||
* ispccdc.h
|
||||
*
|
||||
* TI OMAP3 ISP - CCDC module
|
||||
*
|
||||
* Copyright (C) 2009-2010 Nokia Corporation
|
||||
* Copyright (C) 2009 Texas Instruments, Inc.
|
||||
*
|
||||
* Contacts: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
||||
* Sakari Ailus <sakari.ailus@iki.fi>
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
|
||||
* 02110-1301 USA
|
||||
*/
|
||||
|
||||
#ifndef OMAP3_ISP_CCDC_H
|
||||
#define OMAP3_ISP_CCDC_H
|
||||
|
||||
#include <linux/omap3isp.h>
|
||||
#include <linux/workqueue.h>
|
||||
|
||||
#include "ispvideo.h"
|
||||
|
||||
enum ccdc_input_entity {
|
||||
CCDC_INPUT_NONE,
|
||||
CCDC_INPUT_PARALLEL,
|
||||
CCDC_INPUT_CSI2A,
|
||||
CCDC_INPUT_CCP2B,
|
||||
CCDC_INPUT_CSI2C
|
||||
};
|
||||
|
||||
#define CCDC_OUTPUT_MEMORY (1 << 0)
|
||||
#define CCDC_OUTPUT_PREVIEW (1 << 1)
|
||||
#define CCDC_OUTPUT_RESIZER (1 << 2)
|
||||
|
||||
#define OMAP3ISP_CCDC_NEVENTS 16
|
||||
|
||||
/*
|
||||
* struct ispccdc_syncif - Structure for Sync Interface between sensor and CCDC
|
||||
* @ccdc_mastermode: Master mode. 1 - Master, 0 - Slave.
|
||||
* @fldstat: Field state. 0 - Odd Field, 1 - Even Field.
|
||||
* @datsz: Data size.
|
||||
* @fldmode: 0 - Progressive, 1 - Interlaced.
|
||||
* @datapol: 0 - Positive, 1 - Negative.
|
||||
* @fldpol: 0 - Positive, 1 - Negative.
|
||||
* @hdpol: 0 - Positive, 1 - Negative.
|
||||
* @vdpol: 0 - Positive, 1 - Negative.
|
||||
* @fldout: 0 - Input, 1 - Output.
|
||||
* @hs_width: Width of the Horizontal Sync pulse, used for HS/VS Output.
|
||||
* @vs_width: Width of the Vertical Sync pulse, used for HS/VS Output.
|
||||
* @ppln: Number of pixels per line, used for HS/VS Output.
|
||||
* @hlprf: Number of half lines per frame, used for HS/VS Output.
|
||||
* @bt_r656_en: 1 - Enable ITU-R BT656 mode, 0 - Sync mode.
|
||||
*/
|
||||
struct ispccdc_syncif {
|
||||
u8 ccdc_mastermode;
|
||||
u8 fldstat;
|
||||
u8 datsz;
|
||||
u8 fldmode;
|
||||
u8 datapol;
|
||||
u8 fldpol;
|
||||
u8 hdpol;
|
||||
u8 vdpol;
|
||||
u8 fldout;
|
||||
u8 hs_width;
|
||||
u8 vs_width;
|
||||
u8 ppln;
|
||||
u8 hlprf;
|
||||
u8 bt_r656_en;
|
||||
};
|
||||
|
||||
/*
|
||||
* struct ispccdc_vp - Structure for Video Port parameters
|
||||
* @pixelclk: Input pixel clock in Hz
|
||||
*/
|
||||
struct ispccdc_vp {
|
||||
unsigned int pixelclk;
|
||||
};
|
||||
|
||||
enum ispccdc_lsc_state {
|
||||
LSC_STATE_STOPPED = 0,
|
||||
LSC_STATE_STOPPING = 1,
|
||||
LSC_STATE_RUNNING = 2,
|
||||
LSC_STATE_RECONFIG = 3,
|
||||
};
|
||||
|
||||
struct ispccdc_lsc_config_req {
|
||||
struct list_head list;
|
||||
struct omap3isp_ccdc_lsc_config config;
|
||||
unsigned char enable;
|
||||
u32 table;
|
||||
struct iovm_struct *iovm;
|
||||
};
|
||||
|
||||
/*
|
||||
* ispccdc_lsc - CCDC LSC parameters
|
||||
* @update_config: Set when user changes config
|
||||
* @request_enable: Whether LSC is requested to be enabled
|
||||
* @config: LSC config set by user
|
||||
* @update_table: Set when user provides a new LSC table to table_new
|
||||
* @table_new: LSC table set by user, ISP address
|
||||
* @table_inuse: LSC table currently in use, ISP address
|
||||
*/
|
||||
struct ispccdc_lsc {
|
||||
enum ispccdc_lsc_state state;
|
||||
struct work_struct table_work;
|
||||
|
||||
/* LSC queue of configurations */
|
||||
spinlock_t req_lock;
|
||||
struct ispccdc_lsc_config_req *request; /* requested configuration */
|
||||
struct ispccdc_lsc_config_req *active; /* active configuration */
|
||||
struct list_head free_queue; /* configurations for freeing */
|
||||
};
|
||||
|
||||
#define CCDC_STOP_NOT_REQUESTED 0x00
|
||||
#define CCDC_STOP_REQUEST 0x01
|
||||
#define CCDC_STOP_EXECUTED (0x02 | CCDC_STOP_REQUEST)
|
||||
#define CCDC_STOP_CCDC_FINISHED 0x04
|
||||
#define CCDC_STOP_LSC_FINISHED 0x08
|
||||
#define CCDC_STOP_FINISHED \
|
||||
(CCDC_STOP_EXECUTED | CCDC_STOP_CCDC_FINISHED | CCDC_STOP_LSC_FINISHED)
|
||||
|
||||
#define CCDC_EVENT_VD1 0x10
|
||||
#define CCDC_EVENT_VD0 0x20
|
||||
#define CCDC_EVENT_LSC_DONE 0x40
|
||||
|
||||
/* Sink and source CCDC pads */
|
||||
#define CCDC_PAD_SINK 0
|
||||
#define CCDC_PAD_SOURCE_OF 1
|
||||
#define CCDC_PAD_SOURCE_VP 2
|
||||
#define CCDC_PADS_NUM 3
|
||||
|
||||
/*
|
||||
* struct isp_ccdc_device - Structure for the CCDC module to store its own
|
||||
* information
|
||||
* @subdev: V4L2 subdevice
|
||||
* @pads: Sink and source media entity pads
|
||||
* @formats: Active video formats
|
||||
* @input: Active input
|
||||
* @output: Active outputs
|
||||
* @video_out: Output video node
|
||||
* @error: A hardware error occured during capture
|
||||
* @alaw: A-law compression enabled (1) or disabled (0)
|
||||
* @lpf: Low pass filter enabled (1) or disabled (0)
|
||||
* @obclamp: Optical-black clamp enabled (1) or disabled (0)
|
||||
* @fpc_en: Faulty pixels correction enabled (1) or disabled (0)
|
||||
* @blcomp: Black level compensation configuration
|
||||
* @clamp: Optical-black or digital clamp configuration
|
||||
* @fpc: Faulty pixels correction configuration
|
||||
* @lsc: Lens shading compensation configuration
|
||||
* @update: Bitmask of controls to update during the next interrupt
|
||||
* @shadow_update: Controls update in progress by userspace
|
||||
* @syncif: Interface synchronization configuration
|
||||
* @vpcfg: Video port configuration
|
||||
* @underrun: A buffer underrun occured and a new buffer has been queued
|
||||
* @state: Streaming state
|
||||
* @lock: Serializes shadow_update with interrupt handler
|
||||
* @wait: Wait queue used to stop the module
|
||||
* @stopping: Stopping state
|
||||
* @ioctl_lock: Serializes ioctl calls and LSC requests freeing
|
||||
*/
|
||||
struct isp_ccdc_device {
|
||||
struct v4l2_subdev subdev;
|
||||
struct media_pad pads[CCDC_PADS_NUM];
|
||||
struct v4l2_mbus_framefmt formats[CCDC_PADS_NUM];
|
||||
|
||||
enum ccdc_input_entity input;
|
||||
unsigned int output;
|
||||
struct isp_video video_out;
|
||||
unsigned int error;
|
||||
|
||||
unsigned int alaw:1,
|
||||
lpf:1,
|
||||
obclamp:1,
|
||||
fpc_en:1;
|
||||
struct omap3isp_ccdc_blcomp blcomp;
|
||||
struct omap3isp_ccdc_bclamp clamp;
|
||||
struct omap3isp_ccdc_fpc fpc;
|
||||
struct ispccdc_lsc lsc;
|
||||
unsigned int update;
|
||||
unsigned int shadow_update;
|
||||
|
||||
struct ispccdc_syncif syncif;
|
||||
struct ispccdc_vp vpcfg;
|
||||
|
||||
unsigned int underrun:1;
|
||||
enum isp_pipeline_stream_state state;
|
||||
spinlock_t lock;
|
||||
wait_queue_head_t wait;
|
||||
unsigned int stopping;
|
||||
struct mutex ioctl_lock;
|
||||
};
|
||||
|
||||
struct isp_device;
|
||||
|
||||
int omap3isp_ccdc_init(struct isp_device *isp);
|
||||
void omap3isp_ccdc_cleanup(struct isp_device *isp);
|
||||
int omap3isp_ccdc_register_entities(struct isp_ccdc_device *ccdc,
|
||||
struct v4l2_device *vdev);
|
||||
void omap3isp_ccdc_unregister_entities(struct isp_ccdc_device *ccdc);
|
||||
|
||||
int omap3isp_ccdc_busy(struct isp_ccdc_device *isp_ccdc);
|
||||
int omap3isp_ccdc_isr(struct isp_ccdc_device *isp_ccdc, u32 events);
|
||||
void omap3isp_ccdc_restore_context(struct isp_device *isp);
|
||||
void omap3isp_ccdc_max_rate(struct isp_ccdc_device *ccdc,
|
||||
unsigned int *max_rate);
|
||||
|
||||
#endif /* OMAP3_ISP_CCDC_H */
|
2113
drivers/media/video/omap3isp/isppreview.c
Normal file
2113
drivers/media/video/omap3isp/isppreview.c
Normal file
File diff suppressed because it is too large
Load diff
214
drivers/media/video/omap3isp/isppreview.h
Normal file
214
drivers/media/video/omap3isp/isppreview.h
Normal file
|
@ -0,0 +1,214 @@
|
|||
/*
|
||||
* isppreview.h
|
||||
*
|
||||
* TI OMAP3 ISP - Preview module
|
||||
*
|
||||
* Copyright (C) 2010 Nokia Corporation
|
||||
* Copyright (C) 2009 Texas Instruments, Inc.
|
||||
*
|
||||
* Contacts: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
||||
* Sakari Ailus <sakari.ailus@iki.fi>
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
|
||||
* 02110-1301 USA
|
||||
*/
|
||||
|
||||
#ifndef OMAP3_ISP_PREVIEW_H
|
||||
#define OMAP3_ISP_PREVIEW_H
|
||||
|
||||
#include <linux/omap3isp.h>
|
||||
#include <linux/types.h>
|
||||
#include <media/v4l2-ctrls.h>
|
||||
|
||||
#include "ispvideo.h"
|
||||
|
||||
#define ISPPRV_BRIGHT_STEP 0x1
|
||||
#define ISPPRV_BRIGHT_DEF 0x0
|
||||
#define ISPPRV_BRIGHT_LOW 0x0
|
||||
#define ISPPRV_BRIGHT_HIGH 0xFF
|
||||
#define ISPPRV_BRIGHT_UNITS 0x1
|
||||
|
||||
#define ISPPRV_CONTRAST_STEP 0x1
|
||||
#define ISPPRV_CONTRAST_DEF 0x10
|
||||
#define ISPPRV_CONTRAST_LOW 0x0
|
||||
#define ISPPRV_CONTRAST_HIGH 0xFF
|
||||
#define ISPPRV_CONTRAST_UNITS 0x1
|
||||
|
||||
#define NO_AVE 0x0
|
||||
#define AVE_2_PIX 0x1
|
||||
#define AVE_4_PIX 0x2
|
||||
#define AVE_8_PIX 0x3
|
||||
|
||||
/* Features list */
|
||||
#define PREV_LUMA_ENHANCE OMAP3ISP_PREV_LUMAENH
|
||||
#define PREV_INVERSE_ALAW OMAP3ISP_PREV_INVALAW
|
||||
#define PREV_HORZ_MEDIAN_FILTER OMAP3ISP_PREV_HRZ_MED
|
||||
#define PREV_CFA OMAP3ISP_PREV_CFA
|
||||
#define PREV_CHROMA_SUPPRESS OMAP3ISP_PREV_CHROMA_SUPP
|
||||
#define PREV_WB OMAP3ISP_PREV_WB
|
||||
#define PREV_BLKADJ OMAP3ISP_PREV_BLKADJ
|
||||
#define PREV_RGB2RGB OMAP3ISP_PREV_RGB2RGB
|
||||
#define PREV_COLOR_CONV OMAP3ISP_PREV_COLOR_CONV
|
||||
#define PREV_YCLIMITS OMAP3ISP_PREV_YC_LIMIT
|
||||
#define PREV_DEFECT_COR OMAP3ISP_PREV_DEFECT_COR
|
||||
#define PREV_GAMMA_BYPASS OMAP3ISP_PREV_GAMMABYPASS
|
||||
#define PREV_DARK_FRAME_CAPTURE OMAP3ISP_PREV_DRK_FRM_CAPTURE
|
||||
#define PREV_DARK_FRAME_SUBTRACT OMAP3ISP_PREV_DRK_FRM_SUBTRACT
|
||||
#define PREV_LENS_SHADING OMAP3ISP_PREV_LENS_SHADING
|
||||
#define PREV_NOISE_FILTER OMAP3ISP_PREV_NF
|
||||
#define PREV_GAMMA OMAP3ISP_PREV_GAMMA
|
||||
|
||||
#define PREV_CONTRAST (1 << 17)
|
||||
#define PREV_BRIGHTNESS (1 << 18)
|
||||
#define PREV_AVERAGER (1 << 19)
|
||||
#define PREV_FEATURES_END (1 << 20)
|
||||
|
||||
enum preview_input_entity {
|
||||
PREVIEW_INPUT_NONE,
|
||||
PREVIEW_INPUT_CCDC,
|
||||
PREVIEW_INPUT_MEMORY,
|
||||
};
|
||||
|
||||
#define PREVIEW_OUTPUT_RESIZER (1 << 1)
|
||||
#define PREVIEW_OUTPUT_MEMORY (1 << 2)
|
||||
|
||||
/* Configure byte layout of YUV image */
|
||||
enum preview_ycpos_mode {
|
||||
YCPOS_YCrYCb = 0,
|
||||
YCPOS_YCbYCr = 1,
|
||||
YCPOS_CbYCrY = 2,
|
||||
YCPOS_CrYCbY = 3
|
||||
};
|
||||
|
||||
/*
|
||||
* struct prev_params - Structure for all configuration
|
||||
* @features: Set of features enabled.
|
||||
* @cfa: CFA coefficients.
|
||||
* @csup: Chroma suppression coefficients.
|
||||
* @luma: Luma enhancement coefficients.
|
||||
* @nf: Noise filter coefficients.
|
||||
* @dcor: Noise filter coefficients.
|
||||
* @gamma: Gamma coefficients.
|
||||
* @wbal: White Balance parameters.
|
||||
* @blk_adj: Black adjustment parameters.
|
||||
* @rgb2rgb: RGB blending parameters.
|
||||
* @rgb2ycbcr: RGB to ycbcr parameters.
|
||||
* @hmed: Horizontal median filter.
|
||||
* @yclimit: YC limits parameters.
|
||||
* @average: Downsampling rate for averager.
|
||||
* @contrast: Contrast.
|
||||
* @brightness: Brightness.
|
||||
*/
|
||||
struct prev_params {
|
||||
u32 features;
|
||||
struct omap3isp_prev_cfa cfa;
|
||||
struct omap3isp_prev_csup csup;
|
||||
struct omap3isp_prev_luma luma;
|
||||
struct omap3isp_prev_nf nf;
|
||||
struct omap3isp_prev_dcor dcor;
|
||||
struct omap3isp_prev_gtables gamma;
|
||||
struct omap3isp_prev_wbal wbal;
|
||||
struct omap3isp_prev_blkadj blk_adj;
|
||||
struct omap3isp_prev_rgbtorgb rgb2rgb;
|
||||
struct omap3isp_prev_csc rgb2ycbcr;
|
||||
struct omap3isp_prev_hmed hmed;
|
||||
struct omap3isp_prev_yclimit yclimit;
|
||||
u8 average;
|
||||
u8 contrast;
|
||||
u8 brightness;
|
||||
};
|
||||
|
||||
/*
|
||||
* struct isptables_update - Structure for Table Configuration.
|
||||
* @update: Specifies which tables should be updated.
|
||||
* @flag: Specifies which tables should be enabled.
|
||||
* @nf: Pointer to structure for Noise Filter
|
||||
* @lsc: Pointer to LSC gain table. (currently not used)
|
||||
* @gamma: Pointer to gamma correction tables.
|
||||
* @cfa: Pointer to color filter array configuration.
|
||||
* @wbal: Pointer to colour and digital gain configuration.
|
||||
*/
|
||||
struct isptables_update {
|
||||
u32 update;
|
||||
u32 flag;
|
||||
struct omap3isp_prev_nf *nf;
|
||||
u32 *lsc;
|
||||
struct omap3isp_prev_gtables *gamma;
|
||||
struct omap3isp_prev_cfa *cfa;
|
||||
struct omap3isp_prev_wbal *wbal;
|
||||
};
|
||||
|
||||
/* Sink and source previewer pads */
|
||||
#define PREV_PAD_SINK 0
|
||||
#define PREV_PAD_SOURCE 1
|
||||
#define PREV_PADS_NUM 2
|
||||
|
||||
/*
|
||||
* struct isp_prev_device - Structure for storing ISP Preview module information
|
||||
* @subdev: V4L2 subdevice
|
||||
* @pads: Media entity pads
|
||||
* @formats: Active formats at the subdev pad
|
||||
* @input: Module currently connected to the input pad
|
||||
* @output: Bitmask of the active output
|
||||
* @video_in: Input video entity
|
||||
* @video_out: Output video entity
|
||||
* @error: A hardware error occured during capture
|
||||
* @params: Module configuration data
|
||||
* @shadow_update: If set, update the hardware configured in the next interrupt
|
||||
* @underrun: Whether the preview entity has queued buffers on the output
|
||||
* @state: Current preview pipeline state
|
||||
* @lock: Shadow update lock
|
||||
* @update: Bitmask of the parameters to be updated
|
||||
*
|
||||
* This structure is used to store the OMAP ISP Preview module Information.
|
||||
*/
|
||||
struct isp_prev_device {
|
||||
struct v4l2_subdev subdev;
|
||||
struct media_pad pads[PREV_PADS_NUM];
|
||||
struct v4l2_mbus_framefmt formats[PREV_PADS_NUM];
|
||||
|
||||
struct v4l2_ctrl_handler ctrls;
|
||||
|
||||
enum preview_input_entity input;
|
||||
unsigned int output;
|
||||
struct isp_video video_in;
|
||||
struct isp_video video_out;
|
||||
unsigned int error;
|
||||
|
||||
struct prev_params params;
|
||||
unsigned int shadow_update:1;
|
||||
enum isp_pipeline_stream_state state;
|
||||
wait_queue_head_t wait;
|
||||
atomic_t stopping;
|
||||
spinlock_t lock;
|
||||
u32 update;
|
||||
};
|
||||
|
||||
struct isp_device;
|
||||
|
||||
int omap3isp_preview_init(struct isp_device *isp);
|
||||
void omap3isp_preview_cleanup(struct isp_device *isp);
|
||||
|
||||
int omap3isp_preview_register_entities(struct isp_prev_device *prv,
|
||||
struct v4l2_device *vdev);
|
||||
void omap3isp_preview_unregister_entities(struct isp_prev_device *prv);
|
||||
|
||||
void omap3isp_preview_isr_frame_sync(struct isp_prev_device *prev);
|
||||
void omap3isp_preview_isr(struct isp_prev_device *prev);
|
||||
|
||||
int omap3isp_preview_busy(struct isp_prev_device *isp_prev);
|
||||
|
||||
void omap3isp_preview_restore_context(struct isp_device *isp);
|
||||
|
||||
#endif /* OMAP3_ISP_PREVIEW_H */
|
1693
drivers/media/video/omap3isp/ispresizer.c
Normal file
1693
drivers/media/video/omap3isp/ispresizer.c
Normal file
File diff suppressed because it is too large
Load diff
147
drivers/media/video/omap3isp/ispresizer.h
Normal file
147
drivers/media/video/omap3isp/ispresizer.h
Normal file
|
@ -0,0 +1,147 @@
|
|||
/*
|
||||
* ispresizer.h
|
||||
*
|
||||
* TI OMAP3 ISP - Resizer module
|
||||
*
|
||||
* Copyright (C) 2010 Nokia Corporation
|
||||
* Copyright (C) 2009 Texas Instruments, Inc
|
||||
*
|
||||
* Contacts: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
||||
* Sakari Ailus <sakari.ailus@iki.fi>
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
|
||||
* 02110-1301 USA
|
||||
*/
|
||||
|
||||
#ifndef OMAP3_ISP_RESIZER_H
|
||||
#define OMAP3_ISP_RESIZER_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
/*
|
||||
* Constants for filter coefficents count
|
||||
*/
|
||||
#define COEFF_CNT 32
|
||||
|
||||
/*
|
||||
* struct isprsz_coef - Structure for resizer filter coeffcients.
|
||||
* @h_filter_coef_4tap: Horizontal filter coefficients for 8-phase/4-tap
|
||||
* mode (.5x-4x)
|
||||
* @v_filter_coef_4tap: Vertical filter coefficients for 8-phase/4-tap
|
||||
* mode (.5x-4x)
|
||||
* @h_filter_coef_7tap: Horizontal filter coefficients for 4-phase/7-tap
|
||||
* mode (.25x-.5x)
|
||||
* @v_filter_coef_7tap: Vertical filter coefficients for 4-phase/7-tap
|
||||
* mode (.25x-.5x)
|
||||
*/
|
||||
struct isprsz_coef {
|
||||
u16 h_filter_coef_4tap[32];
|
||||
u16 v_filter_coef_4tap[32];
|
||||
/* Every 8th value is a dummy value in the following arrays: */
|
||||
u16 h_filter_coef_7tap[32];
|
||||
u16 v_filter_coef_7tap[32];
|
||||
};
|
||||
|
||||
/* Chrominance horizontal algorithm */
|
||||
enum resizer_chroma_algo {
|
||||
RSZ_THE_SAME = 0, /* Chrominance the same as Luminance */
|
||||
RSZ_BILINEAR = 1, /* Chrominance uses bilinear interpolation */
|
||||
};
|
||||
|
||||
/* Resizer input type select */
|
||||
enum resizer_colors_type {
|
||||
RSZ_YUV422 = 0, /* YUV422 color is interleaved */
|
||||
RSZ_COLOR8 = 1, /* Color separate data on 8 bits */
|
||||
};
|
||||
|
||||
/*
|
||||
* Structure for horizontal and vertical resizing value
|
||||
*/
|
||||
struct resizer_ratio {
|
||||
u32 horz;
|
||||
u32 vert;
|
||||
};
|
||||
|
||||
/*
|
||||
* Structure for luminance enhancer parameters.
|
||||
*/
|
||||
struct resizer_luma_yenh {
|
||||
u8 algo; /* algorithm select. */
|
||||
u8 gain; /* maximum gain. */
|
||||
u8 slope; /* slope. */
|
||||
u8 core; /* core offset. */
|
||||
};
|
||||
|
||||
enum resizer_input_entity {
|
||||
RESIZER_INPUT_NONE,
|
||||
RESIZER_INPUT_VP, /* input video port - prev or ccdc */
|
||||
RESIZER_INPUT_MEMORY,
|
||||
};
|
||||
|
||||
/* Sink and source resizer pads */
|
||||
#define RESZ_PAD_SINK 0
|
||||
#define RESZ_PAD_SOURCE 1
|
||||
#define RESZ_PADS_NUM 2
|
||||
|
||||
/*
|
||||
* struct isp_res_device - OMAP3 ISP resizer module
|
||||
* @crop.request: Crop rectangle requested by the user
|
||||
* @crop.active: Active crop rectangle (based on hardware requirements)
|
||||
*/
|
||||
struct isp_res_device {
|
||||
struct v4l2_subdev subdev;
|
||||
struct media_pad pads[RESZ_PADS_NUM];
|
||||
struct v4l2_mbus_framefmt formats[RESZ_PADS_NUM];
|
||||
|
||||
enum resizer_input_entity input;
|
||||
struct isp_video video_in;
|
||||
struct isp_video video_out;
|
||||
unsigned int error;
|
||||
|
||||
u32 addr_base; /* stored source buffer address in memory mode */
|
||||
u32 crop_offset; /* additional offset for crop in memory mode */
|
||||
struct resizer_ratio ratio;
|
||||
int pm_state;
|
||||
unsigned int applycrop:1;
|
||||
enum isp_pipeline_stream_state state;
|
||||
wait_queue_head_t wait;
|
||||
atomic_t stopping;
|
||||
|
||||
struct {
|
||||
struct v4l2_rect request;
|
||||
struct v4l2_rect active;
|
||||
} crop;
|
||||
};
|
||||
|
||||
struct isp_device;
|
||||
|
||||
int omap3isp_resizer_init(struct isp_device *isp);
|
||||
void omap3isp_resizer_cleanup(struct isp_device *isp);
|
||||
|
||||
int omap3isp_resizer_register_entities(struct isp_res_device *res,
|
||||
struct v4l2_device *vdev);
|
||||
void omap3isp_resizer_unregister_entities(struct isp_res_device *res);
|
||||
void omap3isp_resizer_isr_frame_sync(struct isp_res_device *res);
|
||||
void omap3isp_resizer_isr(struct isp_res_device *isp_res);
|
||||
|
||||
void omap3isp_resizer_max_rate(struct isp_res_device *res,
|
||||
unsigned int *max_rate);
|
||||
|
||||
void omap3isp_resizer_suspend(struct isp_res_device *isp_res);
|
||||
|
||||
void omap3isp_resizer_resume(struct isp_res_device *isp_res);
|
||||
|
||||
int omap3isp_resizer_busy(struct isp_res_device *isp_res);
|
||||
|
||||
#endif /* OMAP3_ISP_RESIZER_H */
|
42
drivers/media/video/omap3isp/luma_enhance_table.h
Normal file
42
drivers/media/video/omap3isp/luma_enhance_table.h
Normal file
|
@ -0,0 +1,42 @@
|
|||
/*
|
||||
* luma_enhance_table.h
|
||||
*
|
||||
* TI OMAP3 ISP - Luminance enhancement table
|
||||
*
|
||||
* Copyright (C) 2010 Nokia Corporation
|
||||
* Copyright (C) 2009 Texas Instruments, Inc.
|
||||
*
|
||||
* Contacts: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
||||
* Sakari Ailus <sakari.ailus@iki.fi>
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
|
||||
* 02110-1301 USA
|
||||
*/
|
||||
|
||||
1047552, 1047552, 1047552, 1047552, 1047552, 1047552, 1047552, 1047552,
|
||||
1047552, 1047552, 1047552, 1047552, 1047552, 1047552, 1047552, 1047552,
|
||||
1047552, 1047552, 1047552, 1047552, 1047552, 1047552, 1047552, 1047552,
|
||||
1047552, 1047552, 1047552, 1047552, 1048575, 1047551, 1046527, 1045503,
|
||||
1044479, 1043455, 1042431, 1041407, 1040383, 1039359, 1038335, 1037311,
|
||||
1036287, 1035263, 1034239, 1033215, 1032191, 1031167, 1030143, 1028096,
|
||||
1028096, 1028096, 1028096, 1028096, 1028096, 1028096, 1028096, 1028096,
|
||||
1028096, 1028100, 1032196, 1036292, 1040388, 1044484, 0, 0,
|
||||
0, 5, 5125, 10245, 15365, 20485, 25605, 30720,
|
||||
30720, 30720, 30720, 30720, 30720, 30720, 30720, 30720,
|
||||
30720, 30720, 31743, 30719, 29695, 28671, 27647, 26623,
|
||||
25599, 24575, 23551, 22527, 21503, 20479, 19455, 18431,
|
||||
17407, 16383, 15359, 14335, 13311, 12287, 11263, 10239,
|
||||
9215, 8191, 7167, 6143, 5119, 4095, 3071, 1024,
|
||||
1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
|
||||
1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024
|
30
drivers/media/video/omap3isp/noise_filter_table.h
Normal file
30
drivers/media/video/omap3isp/noise_filter_table.h
Normal file
|
@ -0,0 +1,30 @@
|
|||
/*
|
||||
* noise_filter_table.h
|
||||
*
|
||||
* TI OMAP3 ISP - Noise filter table
|
||||
*
|
||||
* Copyright (C) 2010 Nokia Corporation
|
||||
* Copyright (C) 2009 Texas Instruments, Inc.
|
||||
*
|
||||
* Contacts: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
||||
* Sakari Ailus <sakari.ailus@iki.fi>
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
|
||||
* 02110-1301 USA
|
||||
*/
|
||||
|
||||
16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
|
||||
16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
|
||||
31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
|
||||
31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31
|
Loading…
Reference in a new issue