mirror of
https://github.com/armbian/linux.git
synced 2026-01-06 10:13:00 -08:00
[media] staging: media: Remove easycap driver
This driver has been replaced by stk1160. Signed-off-by: Ezequiel Garcia <elezegarcia@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
committed by
Mauro Carvalho Chehab
parent
9cb2173e6e
commit
062ef0d4bb
@@ -25,8 +25,6 @@ source "drivers/staging/media/cxd2099/Kconfig"
|
||||
|
||||
source "drivers/staging/media/dt3155v4l/Kconfig"
|
||||
|
||||
source "drivers/staging/media/easycap/Kconfig"
|
||||
|
||||
source "drivers/staging/media/go7007/Kconfig"
|
||||
|
||||
source "drivers/staging/media/solo6x10/Kconfig"
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
obj-$(CONFIG_DVB_AS102) += as102/
|
||||
obj-$(CONFIG_DVB_CXD2099) += cxd2099/
|
||||
obj-$(CONFIG_EASYCAP) += easycap/
|
||||
obj-$(CONFIG_LIRC_STAGING) += lirc/
|
||||
obj-$(CONFIG_SOLO6X10) += solo6x10/
|
||||
obj-$(CONFIG_VIDEO_DT3155) += dt3155v4l/
|
||||
|
||||
@@ -1,30 +0,0 @@
|
||||
config EASYCAP
|
||||
tristate "EasyCAP USB ID 05e1:0408 support"
|
||||
depends on USB && VIDEO_DEV && SND
|
||||
select SND_PCM
|
||||
|
||||
---help---
|
||||
This is an integrated audio/video driver for EasyCAP cards with
|
||||
USB ID 05e1:0408. It supports two hardware variants:
|
||||
|
||||
* EasyCAP USB 2.0 Video Adapter with Audio, Model DC60,
|
||||
having input cables labelled CVBS, S-VIDEO, AUDIO(L), AUDIO(R)
|
||||
|
||||
* EasyCAP002 4-Channel USB 2.0 DVR, having input cables labelled
|
||||
1, 2, 3, 4 and an unlabelled input cable for a microphone.
|
||||
|
||||
To compile this driver as a module, choose M here: the
|
||||
module will be called easycap
|
||||
|
||||
config EASYCAP_DEBUG
|
||||
bool "Enable EasyCAP driver debugging"
|
||||
depends on EASYCAP
|
||||
|
||||
---help---
|
||||
This option enables debug printouts
|
||||
|
||||
To enable debug, pass the debug level to the debug module
|
||||
parameter:
|
||||
|
||||
modprobe easycap debug=[0..9]
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
easycap-objs := easycap_main.o
|
||||
easycap-objs += easycap_low.o
|
||||
easycap-objs += easycap_ioctl.o
|
||||
easycap-objs += easycap_settings.o
|
||||
easycap-objs += easycap_testcard.o
|
||||
easycap-objs += easycap_sound.o
|
||||
obj-$(CONFIG_EASYCAP) += easycap.o
|
||||
|
||||
ccflags-y := -Wall
|
||||
|
||||
@@ -1,141 +0,0 @@
|
||||
|
||||
***********************************************************
|
||||
* EasyCAP USB 2.0 Video Adapter with Audio, Model DC60 *
|
||||
* and *
|
||||
* EasyCAP002 4-Channel USB 2.0 DVR *
|
||||
***********************************************************
|
||||
Mike Thomas <rmthomas@sciolus.org>
|
||||
|
||||
|
||||
|
||||
SUPPORTED HARDWARE
|
||||
------------------
|
||||
|
||||
This driver is intended for use with hardware having USB ID 05e1:0408.
|
||||
Two kinds of EasyCAP have this USB ID, namely:
|
||||
|
||||
* EasyCAP USB 2.0 Video Adapter with Audio, Model DC60,
|
||||
having input cables labelled CVBS, S-VIDEO, AUDIO(L), AUDIO(R)
|
||||
|
||||
* EasyCAP002 4-Channel USB 2.0 DVR, having input cables labelled
|
||||
1, 2, 3, 4 and an unlabelled input cable for a microphone.
|
||||
|
||||
|
||||
BUILD OPTIONS AND DEPENDENCIES
|
||||
------------------------------
|
||||
|
||||
Unless EASYCAP_DEBUG is defined during compilation it will not be possible
|
||||
to select a debug level at the time of module installation.
|
||||
|
||||
|
||||
KNOWN RUNTIME ISSUES
|
||||
--------------------
|
||||
|
||||
(1) Intentionally, this driver will not stream material which is unambiguously
|
||||
identified by the hardware as copy-protected. Normal video output will be
|
||||
present for about a minute but will then freeze when this situation arises.
|
||||
|
||||
(2) The controls for luminance, contrast, saturation, hue and volume may not
|
||||
always work properly.
|
||||
|
||||
(3) Reduced-resolution S-Video seems to suffer from moire artefacts.
|
||||
|
||||
|
||||
INPUT NUMBERING
|
||||
---------------
|
||||
|
||||
For the EasyCAP with S-VIDEO input cable the driver regards a request for
|
||||
inputs numbered 0 or 1 as referring to CVBS and a request for input
|
||||
numbered 5 as referring to S-VIDEO.
|
||||
|
||||
For the EasyCAP with four CVBS inputs the driver expects to be asked for
|
||||
any one of inputs numbered 1,2,3,4. If input 0 is asked for, it is
|
||||
interpreted as input 1.
|
||||
|
||||
|
||||
MODULE PARAMETERS
|
||||
-----------------
|
||||
|
||||
Three module parameters are defined:
|
||||
|
||||
debug the easycap module is configured at diagnostic level n (0 to 9)
|
||||
gain audio gain level n (0 to 31, default is 16)
|
||||
bars whether to display testcard bars when incoming video signal is lost
|
||||
0 => no, 1 => yes (default)
|
||||
|
||||
|
||||
SUPPORTED TV STANDARDS AND RESOLUTIONS
|
||||
--------------------------------------
|
||||
|
||||
The following TV standards are natively supported by the hardware and are
|
||||
usable as (for example) the "norm=" parameter in the mplayer command:
|
||||
|
||||
PAL_BGHIN, NTSC_N_443,
|
||||
PAL_Nc, NTSC_N,
|
||||
SECAM, NTSC_M, NTSC_M_JP,
|
||||
PAL_60, NTSC_443,
|
||||
PAL_M.
|
||||
|
||||
In addition, the driver offers "custom" pseudo-standards with a framerate
|
||||
which is 20% of the usual framerate. These pseudo-standards are named:
|
||||
|
||||
PAL_BGHIN_SLOW, NTSC_N_443_SLOW,
|
||||
PAL_Nc_SLOW, NTSC_N_SLOW,
|
||||
SECAM_SLOW, NTSC_M_SLOW, NTSC_M_JP_SLOW,
|
||||
PAL_60_SLOW, NTSC_443_SLOW,
|
||||
PAL_M_SLOW.
|
||||
|
||||
|
||||
The available picture sizes are:
|
||||
|
||||
at 25 frames per second: 720x576, 704x576, 640x480, 360x288, 320x240;
|
||||
at 30 frames per second: 720x480, 640x480, 360x240, 320x240.
|
||||
|
||||
|
||||
WHAT'S TESTED AND WHAT'S NOT
|
||||
----------------------------
|
||||
|
||||
This driver is known to work with mplayer, mencoder, tvtime, zoneminder,
|
||||
xawtv, gstreamer and sufficiently recent versions of vlc. An interface
|
||||
to ffmpeg is implemented, but serious audio-video synchronization problems
|
||||
remain.
|
||||
|
||||
The driver is designed to support all the TV standards accepted by the
|
||||
hardware, but as yet it has actually been tested on only a few of these.
|
||||
|
||||
I have been unable to test and calibrate the S-video input myself because I
|
||||
do not possess any equipment with S-video output.
|
||||
|
||||
|
||||
UDEV RULES
|
||||
----------
|
||||
|
||||
In order that the special files /dev/easycap0 and /dev/easysnd1 are created
|
||||
with conveniently relaxed permissions when the EasyCAP is plugged in, a file
|
||||
is preferably to be provided in directory /etc/udev/rules.d with content:
|
||||
|
||||
ACTION!="add|change", GOTO="easycap_rules_end"
|
||||
ATTRS{idVendor}=="05e1", ATTRS{idProduct}=="0408", \
|
||||
MODE="0666", OWNER="root", GROUP="root"
|
||||
LABEL="easycap_rules_end"
|
||||
|
||||
|
||||
MODPROBE CONFIGURATION
|
||||
----------------------
|
||||
|
||||
The easycap module is in competition with the module snd-usb-audio for the
|
||||
EasyCAP's audio channel, and its installation can be aided by providing a
|
||||
file in directory /etc/modprobe.d with content:
|
||||
|
||||
options easycap gain=16 bars=1
|
||||
install easycap /sbin/rmmod snd-usb-audio; /sbin/modprobe --ignore-install easycap
|
||||
|
||||
|
||||
ACKNOWLEGEMENTS AND REFERENCES
|
||||
------------------------------
|
||||
This driver makes use of information contained in the Syntek Semicon DC-1125
|
||||
Driver, presently maintained at http://sourceforge.net/projects/syntekdriver/
|
||||
by Nicolas Vivien. Particularly useful has been a patch to the latter driver
|
||||
provided by Ivor Hewitt in January 2009. The NTSC implementation is taken
|
||||
from the work of Ben Trask.
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,155 +0,0 @@
|
||||
/******************************************************************************
|
||||
* *
|
||||
* easycap_testcard.c *
|
||||
* *
|
||||
******************************************************************************/
|
||||
/*
|
||||
*
|
||||
* Copyright (C) 2010 R.M. Thomas <rmthomas@sciolus.org>
|
||||
*
|
||||
*
|
||||
* This 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.
|
||||
*
|
||||
* The software 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 software; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*
|
||||
*/
|
||||
/*****************************************************************************/
|
||||
|
||||
#include "easycap.h"
|
||||
|
||||
/*****************************************************************************/
|
||||
#define TESTCARD_BYTESPERLINE (2 * 720)
|
||||
void
|
||||
easycap_testcard(struct easycap *peasycap, int field)
|
||||
{
|
||||
int total;
|
||||
int y, u, v, r, g, b;
|
||||
unsigned char uyvy[4];
|
||||
int i1, line, k, m, n, more, much, barwidth, barheight;
|
||||
unsigned char bfbar[TESTCARD_BYTESPERLINE / 8], *p1, *p2;
|
||||
struct data_buffer *pfield_buffer;
|
||||
|
||||
if (!peasycap) {
|
||||
SAY("ERROR: peasycap is NULL\n");
|
||||
return;
|
||||
}
|
||||
JOM(8, "%i=field\n", field);
|
||||
switch (peasycap->width) {
|
||||
case 720:
|
||||
case 360: {
|
||||
barwidth = (2 * 720) / 8;
|
||||
break;
|
||||
}
|
||||
case 704:
|
||||
case 352: {
|
||||
barwidth = (2 * 704) / 8;
|
||||
break;
|
||||
}
|
||||
case 640:
|
||||
case 320: {
|
||||
barwidth = (2 * 640) / 8;
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
SAM("ERROR: cannot set barwidth\n");
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (TESTCARD_BYTESPERLINE < barwidth) {
|
||||
SAM("ERROR: barwidth is too large\n");
|
||||
return;
|
||||
}
|
||||
switch (peasycap->height) {
|
||||
case 576:
|
||||
case 288: {
|
||||
barheight = 576;
|
||||
break;
|
||||
}
|
||||
case 480:
|
||||
case 240: {
|
||||
barheight = 480;
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
SAM("ERROR: cannot set barheight\n");
|
||||
return;
|
||||
}
|
||||
}
|
||||
total = 0;
|
||||
k = field;
|
||||
m = 0;
|
||||
n = 0;
|
||||
|
||||
for (line = 0; line < (barheight / 2); line++) {
|
||||
for (i1 = 0; i1 < 8; i1++) {
|
||||
r = (i1 * 256)/8;
|
||||
g = (i1 * 256)/8;
|
||||
b = (i1 * 256)/8;
|
||||
|
||||
y = 299*r/1000 + 587*g/1000 + 114*b/1000 ;
|
||||
u = -147*r/1000 - 289*g/1000 + 436*b/1000 ;
|
||||
u = u + 128;
|
||||
v = 615*r/1000 - 515*g/1000 - 100*b/1000 ;
|
||||
v = v + 128;
|
||||
|
||||
uyvy[0] = 0xFF & u ;
|
||||
uyvy[1] = 0xFF & y ;
|
||||
uyvy[2] = 0xFF & v ;
|
||||
uyvy[3] = 0xFF & y ;
|
||||
|
||||
p1 = &bfbar[0];
|
||||
while (p1 < &bfbar[barwidth]) {
|
||||
*p1++ = uyvy[0] ;
|
||||
*p1++ = uyvy[1] ;
|
||||
*p1++ = uyvy[2] ;
|
||||
*p1++ = uyvy[3] ;
|
||||
total += 4;
|
||||
}
|
||||
|
||||
p1 = &bfbar[0];
|
||||
more = barwidth;
|
||||
|
||||
while (more) {
|
||||
if ((FIELD_BUFFER_SIZE/PAGE_SIZE) <= m) {
|
||||
SAM("ERROR: bad m reached\n");
|
||||
return;
|
||||
}
|
||||
if (PAGE_SIZE < n) {
|
||||
SAM("ERROR: bad n reached\n");
|
||||
return;
|
||||
}
|
||||
|
||||
if (0 > more) {
|
||||
SAM("ERROR: internal fault\n");
|
||||
return;
|
||||
}
|
||||
|
||||
much = PAGE_SIZE - n;
|
||||
if (much > more)
|
||||
much = more;
|
||||
pfield_buffer = &peasycap->field_buffer[k][m];
|
||||
p2 = pfield_buffer->pgo + n;
|
||||
memcpy(p2, p1, much);
|
||||
|
||||
p1 += much;
|
||||
n += much;
|
||||
more -= much;
|
||||
if (PAGE_SIZE == n) {
|
||||
m++;
|
||||
n = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
Reference in New Issue
Block a user