Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
X
xvba-video
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
xvba-video
Commits
fa5599ae
Commit
fa5599ae
authored
Jun 08, 2012
by
Jean-Paul Saman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Make sure all subpictures are released when freeing surfaces.
Cleanup all subpicture associations when freeing a surface.
parent
943350ba
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
9 additions
and
9 deletions
+9
-9
src/xvba_subpic.c
src/xvba_subpic.c
+4
-4
src/xvba_subpic.h
src/xvba_subpic.h
+2
-2
src/xvba_video.c
src/xvba_video.c
+3
-3
No files found.
src/xvba_subpic.c
View file @
fa5599ae
...
@@ -292,7 +292,7 @@ create_subpicture(
...
@@ -292,7 +292,7 @@ create_subpicture(
}
}
// Destroy XvBA surface bound to VA subpicture
// Destroy XvBA surface bound to VA subpicture
void
static
void
destroy_subpicture_surface
(
destroy_subpicture_surface
(
xvba_driver_data_t
*
driver_data
,
xvba_driver_data_t
*
driver_data
,
object_subpicture_p
obj_subpicture
object_subpicture_p
obj_subpicture
...
@@ -303,11 +303,11 @@ destroy_subpicture_surface(
...
@@ -303,11 +303,11 @@ destroy_subpicture_surface(
object_image_p
const
obj_image
=
XVBA_IMAGE
(
obj_subpicture
->
image_id
);
object_image_p
const
obj_image
=
XVBA_IMAGE
(
obj_subpicture
->
image_id
);
if
(
obj_image
)
if
(
obj_image
)
destroy_
hw_
image
(
driver_data
,
obj_image
);
destroy_image
(
driver_data
,
obj_image
);
}
}
// Destroy subpicture
// Destroy subpicture
bound to a XvBA surface
static
void
void
destroy_subpicture
(
destroy_subpicture
(
xvba_driver_data_t
*
driver_data
,
xvba_driver_data_t
*
driver_data
,
object_subpicture_p
obj_subpicture
object_subpicture_p
obj_subpicture
...
...
src/xvba_subpic.h
View file @
fa5599ae
...
@@ -38,9 +38,9 @@ struct object_subpicture {
...
@@ -38,9 +38,9 @@ struct object_subpicture {
float
alpha
;
float
alpha
;
};
};
// Destroy
XvBA surface bound to VA subpictures
// Destroy
subpicture bound to a XvBA surface
void
void
destroy_subpicture
_surface
(
destroy_subpicture
(
xvba_driver_data_t
*
driver_data
,
xvba_driver_data_t
*
driver_data
,
object_subpicture_p
obj_subpicture
object_subpicture_p
obj_subpicture
)
attribute_hidden
;
)
attribute_hidden
;
...
...
src/xvba_video.c
View file @
fa5599ae
...
@@ -69,7 +69,7 @@ static XVBACodec get_XVBACodec(VAProfile profile)
...
@@ -69,7 +69,7 @@ static XVBACodec get_XVBACodec(VAProfile profile)
// Destroys XvBA subpictures bound to a VA surface
// Destroys XvBA subpictures bound to a VA surface
static
void
static
void
destroy_subpictures
(
destroy_su
rface_su
bpictures
(
xvba_driver_data_t
*
driver_data
,
xvba_driver_data_t
*
driver_data
,
object_surface_p
obj_surface
object_surface_p
obj_surface
)
)
...
@@ -77,7 +77,7 @@ destroy_subpictures(
...
@@ -77,7 +77,7 @@ destroy_subpictures(
unsigned
int
i
;
unsigned
int
i
;
for
(
i
=
0
;
i
<
obj_surface
->
assocs_count
;
i
++
)
{
for
(
i
=
0
;
i
<
obj_surface
->
assocs_count
;
i
++
)
{
SubpictureAssociationP
const
assoc
=
obj_surface
->
assocs
[
i
];
SubpictureAssociationP
const
assoc
=
obj_surface
->
assocs
[
i
];
destroy_subpicture
_surface
(
destroy_subpicture
(
driver_data
,
driver_data
,
XVBA_SUBPICTURE
(
assoc
->
subpicture
)
XVBA_SUBPICTURE
(
assoc
->
subpicture
)
);
);
...
@@ -125,7 +125,7 @@ ensure_surface_size(
...
@@ -125,7 +125,7 @@ ensure_surface_size(
static
void
static
void
destroy_surface
(
xvba_driver_data_t
*
driver_data
,
object_surface_p
obj_surface
)
destroy_surface
(
xvba_driver_data_t
*
driver_data
,
object_surface_p
obj_surface
)
{
{
destroy_subpictures
(
driver_data
,
obj_surface
);
destroy_su
rface_su
bpictures
(
driver_data
,
obj_surface
);
destroy_surface_buffers
(
driver_data
,
obj_surface
);
destroy_surface_buffers
(
driver_data
,
obj_surface
);
if
(
obj_surface
->
xvba_surface
)
{
if
(
obj_surface
->
xvba_surface
)
{
...
...
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