Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
小白菜888
Ffmpeg
提交
fe4a2cbd
F
Ffmpeg
项目概览
小白菜888
/
Ffmpeg
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
F
Ffmpeg
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
fe4a2cbd
编写于
1月 21, 2016
作者:
M
Marton Balint
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
lavc/libzvbi-teletextdec: use the built-in transparent color for transparent background
Signed-off-by:
N
Marton Balint
<
cus@passwd.hu
>
上级
b46aae09
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
7 addition
and
6 deletion
+7
-6
libavcodec/libzvbi-teletextdec.c
libavcodec/libzvbi-teletextdec.c
+7
-6
未找到文件。
libavcodec/libzvbi-teletextdec.c
浏览文件 @
fe4a2cbd
...
...
@@ -30,6 +30,7 @@
#define TEXT_MAXSZ (25 * (56 + 1) * 4 + 2)
#define VBI_NB_COLORS 40
#define VBI_TRANSPARENT_BLACK 8
#define RGBA(r,g,b,a) (((a) << 24) | ((r) << 16) | ((g) << 8) | (b))
#define VBI_R(rgba) (((rgba) >> 0) & 0xFF)
#define VBI_G(rgba) (((rgba) >> 8) & 0xFF)
...
...
@@ -193,7 +194,7 @@ static int gen_sub_text(TeletextContext *ctx, AVSubtitleRect *sub_rect, vbi_page
}
static
void
fix_transparency
(
TeletextContext
*
ctx
,
AVSubtitleRect
*
sub_rect
,
vbi_page
*
page
,
int
chop_top
,
uint8_t
transparent_color
,
int
resx
,
int
resy
)
int
chop_top
,
int
resx
,
int
resy
)
{
int
iy
;
...
...
@@ -206,7 +207,7 @@ static void fix_transparency(TeletextContext *ctx, AVSubtitleRect *sub_rect, vbi
uint8_t
*
pixelnext
=
pixel
+
BITMAP_CHAR_WIDTH
;
switch
(
vc
->
opacity
)
{
case
VBI_TRANSPARENT_SPACE
:
memset
(
pixel
,
transparent_color
,
BITMAP_CHAR_WIDTH
);
memset
(
pixel
,
VBI_TRANSPARENT_BLACK
,
BITMAP_CHAR_WIDTH
);
break
;
case
VBI_OPAQUE
:
case
VBI_SEMI_TRANSPARENT
:
...
...
@@ -215,7 +216,7 @@ static void fix_transparency(TeletextContext *ctx, AVSubtitleRect *sub_rect, vbi
case
VBI_TRANSPARENT_FULL
:
for
(;
pixel
<
pixelnext
;
pixel
++
)
if
(
*
pixel
==
vc
->
background
)
*
pixel
=
transparent_color
;
*
pixel
=
VBI_TRANSPARENT_BLACK
;
break
;
}
pixel
=
pixelnext
;
...
...
@@ -255,12 +256,12 @@ static int gen_sub_bitmap(TeletextContext *ctx, AVSubtitleRect *sub_rect, vbi_pa
0
,
chop_top
,
page
->
columns
,
page
->
rows
-
chop_top
,
/*reveal*/
1
,
/*flash*/
1
);
fix_transparency
(
ctx
,
sub_rect
,
page
,
chop_top
,
cmax
,
resx
,
resy
);
fix_transparency
(
ctx
,
sub_rect
,
page
,
chop_top
,
resx
,
resy
);
sub_rect
->
x
=
ctx
->
x_offset
;
sub_rect
->
y
=
ctx
->
y_offset
+
chop_top
*
BITMAP_CHAR_HEIGHT
;
sub_rect
->
w
=
resx
;
sub_rect
->
h
=
resy
;
sub_rect
->
nb_colors
=
(
int
)
cmax
+
1
;
sub_rect
->
nb_colors
=
cmax
;
sub_rect
->
data
[
1
]
=
av_mallocz
(
AVPALETTE_SIZE
);
if
(
!
sub_rect
->
data
[
1
])
{
av_freep
(
&
sub_rect
->
data
[
0
]);
...
...
@@ -276,7 +277,7 @@ static int gen_sub_bitmap(TeletextContext *ctx, AVSubtitleRect *sub_rect, vbi_pa
((
uint32_t
*
)
sub_rect
->
data
[
1
])[
ci
]
=
RGBA
(
r
,
g
,
b
,
a
);
ff_dlog
(
ctx
,
"palette %0x
\n
"
,
((
uint32_t
*
)
sub_rect
->
data
[
1
])[
ci
]);
}
((
uint32_t
*
)
sub_rect
->
data
[
1
])[
cmax
]
=
RGBA
(
0
,
0
,
0
,
0
);
((
uint32_t
*
)
sub_rect
->
data
[
1
])[
VBI_TRANSPARENT_BLACK
]
=
RGBA
(
0
,
0
,
0
,
0
);
sub_rect
->
type
=
SUBTITLE_BITMAP
;
return
0
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录