Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
b4916f8c
K
Kernel
项目概览
openeuler
/
Kernel
1 年多 前同步成功
通知
8
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
Kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
b4916f8c
编写于
4月 13, 2008
作者:
M
Mauro Carvalho Chehab
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
V4L/DVB (7564): em28xx: Some fixes to display logic
Signed-off-by:
N
Mauro Carvalho Chehab
<
mchehab@infradead.org
>
上级
dbecb44c
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
19 addition
and
15 deletion
+19
-15
drivers/media/video/em28xx/em28xx-video.c
drivers/media/video/em28xx/em28xx-video.c
+16
-15
drivers/media/video/em28xx/em28xx.h
drivers/media/video/em28xx/em28xx.h
+3
-0
未找到文件。
drivers/media/video/em28xx/em28xx-video.c
浏览文件 @
b4916f8c
...
@@ -365,32 +365,33 @@ static inline int em28xx_isoc_copy(struct urb *urb)
...
@@ -365,32 +365,33 @@ static inline int em28xx_isoc_copy(struct urb *urb)
/* FIXME: incomplete buffer checks where removed to make
/* FIXME: incomplete buffer checks where removed to make
logic simpler. Impacts of those changes should be evaluated
logic simpler. Impacts of those changes should be evaluated
*/
*/
if
(
p
[
0
]
==
0x33
&&
p
[
1
]
==
0x95
&&
p
[
2
]
==
0x00
)
{
em28xx_isocdbg
(
"VBI HEADER!!!
\n
"
);
/* FIXME: Should add vbi copy */
continue
;
}
if
(
p
[
0
]
==
0x22
&&
p
[
1
]
==
0x5a
)
{
if
(
p
[
0
]
==
0x22
&&
p
[
1
]
==
0x5a
)
{
em28xx_isocdbg
(
"Video frame %d, length=%i, %s
\n
"
,
p
[
2
],
em28xx_isocdbg
(
"Video frame %d, length=%i, %s
\n
"
,
p
[
2
],
len
,
(
p
[
2
]
&
1
)
?
"odd"
:
"even"
);
len
,
(
p
[
2
]
&
1
)
?
"odd"
:
"even"
);
if
(
p
[
2
]
&
1
)
if
(
p
[
2
]
&
1
)
buf
->
top_field
=
0
;
buf
->
top_field
=
0
;
else
{
else
if
(
buf
->
receiving
)
{
buffer_filled
(
dev
,
dma_q
,
buf
);
rc
=
get_next_buf
(
dma_q
,
&
buf
);
if
(
rc
<=
0
)
return
rc
;
outp
=
videobuf_to_vmalloc
(
&
buf
->
vb
);
}
buf
->
top_field
=
1
;
buf
->
top_field
=
1
;
// if (dev->isoc_ctl.last_field && !buf->top_field) {
if
(
dev
->
isoc_ctl
.
last_field
!=
buf
->
top_field
)
{
buffer_filled
(
dev
,
dma_q
,
buf
);
rc
=
get_next_buf
(
dma_q
,
&
buf
);
if
(
rc
<=
0
)
return
rc
;
outp
=
videobuf_to_vmalloc
(
&
buf
->
vb
);
}
}
buf
->
receiving
=
1
;
dev
->
isoc_ctl
.
last_field
=
buf
->
top_field
;
dma_q
->
pos
=
0
;
dma_q
->
pos
=
0
;
}
else
if
(
p
[
0
]
==
0x33
&&
p
[
1
]
==
0x95
&&
p
[
2
]
==
0x00
)
{
em28xx_isocdbg
(
"VBI HEADER!!!
\n
"
);
}
}
em28xx_copy_video
(
dev
,
dma_q
,
buf
,
p
,
outp
,
len
);
em28xx_copy_video
(
dev
,
dma_q
,
buf
,
p
,
outp
,
len
);
/* FIXME: Should add vbi copy */
}
}
return
rc
;
return
rc
;
}
}
...
...
drivers/media/video/em28xx/em28xx.h
浏览文件 @
b4916f8c
...
@@ -114,6 +114,9 @@ struct em28xx_usb_isoc_ctl {
...
@@ -114,6 +114,9 @@ struct em28xx_usb_isoc_ctl {
/* Stores already requested buffers */
/* Stores already requested buffers */
struct
em28xx_buffer
*
buf
;
struct
em28xx_buffer
*
buf
;
/* Store last filled frame */
int
last_field
;
/* Stores the number of received fields */
/* Stores the number of received fields */
int
nfields
;
int
nfields
;
};
};
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录