Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc
Commits
bbfe2d62
Commit
bbfe2d62
authored
Apr 23, 2014
by
Rémi Denis-Courmont
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
zvbi: do not copy object of several kilo-bytes on the stack
parent
39f55bbf
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
6 additions
and
6 deletions
+6
-6
modules/codec/zvbi.c
modules/codec/zvbi.c
+6
-6
No files found.
modules/codec/zvbi.c
View file @
bbfe2d62
...
@@ -168,7 +168,7 @@ static subpicture_t *Subpicture( decoder_t *p_dec, video_format_t *p_fmt,
...
@@ -168,7 +168,7 @@ static subpicture_t *Subpicture( decoder_t *p_dec, video_format_t *p_fmt,
int
i_align
,
mtime_t
i_pts
);
int
i_align
,
mtime_t
i_pts
);
static
void
EventHandler
(
vbi_event
*
ev
,
void
*
user_data
);
static
void
EventHandler
(
vbi_event
*
ev
,
void
*
user_data
);
static
int
OpaquePage
(
picture_t
*
p_src
,
const
vbi_page
p_page
,
static
int
OpaquePage
(
picture_t
*
p_src
,
const
vbi_page
*
p_page
,
const
video_format_t
fmt
,
bool
b_opaque
,
const
int
text_offset
);
const
video_format_t
fmt
,
bool
b_opaque
,
const
int
text_offset
);
static
int
get_first_visible_row
(
vbi_char
*
p_text
,
int
rows
,
int
columns
);
static
int
get_first_visible_row
(
vbi_char
*
p_text
,
int
rows
,
int
columns
);
static
int
get_last_visible_row
(
vbi_char
*
p_text
,
int
rows
,
int
columns
);
static
int
get_last_visible_row
(
vbi_char
*
p_text
,
int
rows
,
int
columns
);
...
@@ -469,7 +469,7 @@ static subpicture_t *Decode( decoder_t *p_dec, block_t **pp_block )
...
@@ -469,7 +469,7 @@ static subpicture_t *Decode( decoder_t *p_dec, block_t **pp_block )
memcpy
(
p_sys
->
nav_link
,
&
p_page
.
nav_link
,
sizeof
(
p_sys
->
nav_link
))
;
memcpy
(
p_sys
->
nav_link
,
&
p_page
.
nav_link
,
sizeof
(
p_sys
->
nav_link
))
;
vlc_mutex_unlock
(
&
p_sys
->
lock
);
vlc_mutex_unlock
(
&
p_sys
->
lock
);
OpaquePage
(
p_pic
,
p_page
,
fmt
,
b_opaque
,
i_first_row
*
p_page
.
columns
);
OpaquePage
(
p_pic
,
&
p_page
,
fmt
,
b_opaque
,
i_first_row
*
p_page
.
columns
);
}
}
exit:
exit:
...
@@ -618,7 +618,7 @@ static int get_last_visible_row( vbi_char *p_text, int rows, int columns)
...
@@ -618,7 +618,7 @@ static int get_last_visible_row( vbi_char *p_text, int rows, int columns)
return
-
1
;
return
-
1
;
}
}
static
int
OpaquePage
(
picture_t
*
p_src
,
const
vbi_page
p_page
,
static
int
OpaquePage
(
picture_t
*
p_src
,
const
vbi_page
*
p_page
,
const
video_format_t
fmt
,
bool
b_opaque
,
const
int
text_offset
)
const
video_format_t
fmt
,
bool
b_opaque
,
const
int
text_offset
)
{
{
unsigned
int
x
,
y
;
unsigned
int
x
,
y
;
...
@@ -630,8 +630,8 @@ static int OpaquePage( picture_t *p_src, const vbi_page p_page,
...
@@ -630,8 +630,8 @@ static int OpaquePage( picture_t *p_src, const vbi_page p_page,
{
{
for
(
x
=
0
;
x
<
fmt
.
i_width
;
x
++
)
for
(
x
=
0
;
x
<
fmt
.
i_width
;
x
++
)
{
{
const
vbi_opacity
opacity
=
p_page
.
text
[
text_offset
+
y
/
10
*
p_page
.
columns
+
x
/
12
].
opacity
;
const
vbi_opacity
opacity
=
p_page
->
text
[
text_offset
+
y
/
10
*
p_page
->
columns
+
x
/
12
].
opacity
;
const
int
background
=
p_page
.
text
[
text_offset
+
y
/
10
*
p_page
.
columns
+
x
/
12
].
background
;
const
int
background
=
p_page
->
text
[
text_offset
+
y
/
10
*
p_page
->
columns
+
x
/
12
].
background
;
uint32_t
*
p_pixel
=
(
uint32_t
*
)
&
p_src
->
p
->
p_pixels
[
y
*
p_src
->
p
->
i_pitch
+
4
*
x
];
uint32_t
*
p_pixel
=
(
uint32_t
*
)
&
p_src
->
p
->
p_pixels
[
y
*
p_src
->
p
->
i_pitch
+
4
*
x
];
switch
(
opacity
)
switch
(
opacity
)
...
@@ -651,7 +651,7 @@ static int OpaquePage( picture_t *p_src, const vbi_page p_page,
...
@@ -651,7 +651,7 @@ static int OpaquePage( picture_t *p_src, const vbi_page p_page,
break
;
break
;
/* Full text transparency. only foreground color is show */
/* Full text transparency. only foreground color is show */
case
VBI_TRANSPARENT_FULL
:
case
VBI_TRANSPARENT_FULL
:
if
(
(
*
p_pixel
)
==
(
0xff000000
|
p_page
.
color_map
[
background
]
)
)
if
(
(
*
p_pixel
)
==
(
0xff000000
|
p_page
->
color_map
[
background
]
)
)
*
p_pixel
=
0
;
*
p_pixel
=
0
;
break
;
break
;
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment