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
fb2ff257
Commit
fb2ff257
authored
Nov 01, 2014
by
Rémi Denis-Courmont
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
picture_pool: fix prototypes
parent
d15a4777
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
27 additions
and
23 deletions
+27
-23
include/vlc_picture_pool.h
include/vlc_picture_pool.h
+8
-5
src/misc/picture_pool.c
src/misc/picture_pool.c
+19
-18
No files found.
include/vlc_picture_pool.h
View file @
fb2ff257
...
@@ -43,8 +43,8 @@ typedef struct picture_pool_t picture_pool_t;
...
@@ -43,8 +43,8 @@ typedef struct picture_pool_t picture_pool_t;
* Picture pool configuration
* Picture pool configuration
*/
*/
typedef
struct
{
typedef
struct
{
int
picture_count
;
unsigned
picture_count
;
picture_t
**
picture
;
picture_t
*
const
*
picture
;
int
(
*
lock
)(
picture_t
*
);
int
(
*
lock
)(
picture_t
*
);
void
(
*
unlock
)(
picture_t
*
);
void
(
*
unlock
)(
picture_t
*
);
...
@@ -69,14 +69,16 @@ VLC_API picture_pool_t * picture_pool_NewExtended( const picture_pool_configurat
...
@@ -69,14 +69,16 @@ VLC_API picture_pool_t * picture_pool_NewExtended( const picture_pool_configurat
*
*
* It is provided as convenience.
* It is provided as convenience.
*/
*/
VLC_API
picture_pool_t
*
picture_pool_New
(
int
picture_count
,
picture_t
*
picture
[]
)
VLC_USED
;
VLC_API
picture_pool_t
*
picture_pool_New
(
unsigned
count
,
picture_t
*
const
*
tab
)
VLC_USED
;
/**
/**
* It creates a picture_pool_t creating images using the given format.
* It creates a picture_pool_t creating images using the given format.
*
*
* Provided for convenience.
* Provided for convenience.
*/
*/
VLC_API
picture_pool_t
*
picture_pool_NewFromFormat
(
const
video_format_t
*
,
int
picture_count
)
VLC_USED
;
VLC_API
picture_pool_t
*
picture_pool_NewFromFormat
(
const
video_format_t
*
,
unsigned
count
)
VLC_USED
;
/**
/**
* It destroys a pool created by picture_pool_New.
* It destroys a pool created by picture_pool_New.
...
@@ -121,7 +123,8 @@ void picture_pool_NonEmpty( picture_pool_t * );
...
@@ -121,7 +123,8 @@ void picture_pool_NonEmpty( picture_pool_t * );
* The returned pool must be deleted before the master pool.
* The returned pool must be deleted before the master pool.
* When deleted, all pictures return to the master pool.
* When deleted, all pictures return to the master pool.
*/
*/
VLC_API
picture_pool_t
*
picture_pool_Reserve
(
picture_pool_t
*
,
int
picture_count
)
VLC_USED
;
VLC_API
picture_pool_t
*
picture_pool_Reserve
(
picture_pool_t
*
,
unsigned
count
)
VLC_USED
;
/**
/**
* It returns the size of the given pool.
* It returns the size of the given pool.
...
...
src/misc/picture_pool.c
View file @
fb2ff257
...
@@ -52,7 +52,7 @@ struct picture_pool_t {
...
@@ -52,7 +52,7 @@ struct picture_pool_t {
picture_pool_t
*
master
;
picture_pool_t
*
master
;
int64_t
tick
;
int64_t
tick
;
/* */
/* */
int
picture_count
;
unsigned
picture_count
;
picture_t
**
picture
;
picture_t
**
picture
;
bool
*
picture_reserved
;
bool
*
picture_reserved
;
...
@@ -147,7 +147,7 @@ picture_pool_t *picture_pool_NewExtended(const picture_pool_configuration_t *cfg
...
@@ -147,7 +147,7 @@ picture_pool_t *picture_pool_NewExtended(const picture_pool_configuration_t *cfg
* when it gets pooled.
* when it gets pooled.
* - Picture plane pointers and sizes must not be mangled in any case.
* - Picture plane pointers and sizes must not be mangled in any case.
*/
*/
for
(
int
i
=
0
;
i
<
cfg
->
picture_count
;
i
++
)
{
for
(
unsigned
i
=
0
;
i
<
cfg
->
picture_count
;
i
++
)
{
picture_t
*
picture
=
cfg
->
picture
[
i
];
picture_t
*
picture
=
cfg
->
picture
[
i
];
/* Save the original garbage collector */
/* Save the original garbage collector */
...
@@ -175,34 +175,35 @@ picture_pool_t *picture_pool_NewExtended(const picture_pool_configuration_t *cfg
...
@@ -175,34 +175,35 @@ picture_pool_t *picture_pool_NewExtended(const picture_pool_configuration_t *cfg
}
}
picture_pool_t
*
picture_pool_New
(
int
picture_count
,
picture_t
*
picture
[]
)
picture_pool_t
*
picture_pool_New
(
unsigned
count
,
picture_t
*
const
*
tab
)
{
{
picture_pool_configuration_t
cfg
;
picture_pool_configuration_t
cfg
;
memset
(
&
cfg
,
0
,
sizeof
(
cfg
));
memset
(
&
cfg
,
0
,
sizeof
(
cfg
));
cfg
.
picture_count
=
picture_
count
;
cfg
.
picture_count
=
count
;
cfg
.
picture
=
picture
;
cfg
.
picture
=
tab
;
return
picture_pool_NewExtended
(
&
cfg
);
return
picture_pool_NewExtended
(
&
cfg
);
}
}
picture_pool_t
*
picture_pool_NewFromFormat
(
const
video_format_t
*
fmt
,
int
picture_count
)
picture_pool_t
*
picture_pool_NewFromFormat
(
const
video_format_t
*
fmt
,
unsigned
count
)
{
{
picture_t
*
picture
[
picture_
count
];
picture_t
*
picture
[
count
];
for
(
int
i
=
0
;
i
<
picture_
count
;
i
++
)
{
for
(
unsigned
i
=
0
;
i
<
count
;
i
++
)
{
picture
[
i
]
=
picture_NewFromFormat
(
fmt
);
picture
[
i
]
=
picture_NewFromFormat
(
fmt
);
if
(
!
picture
[
i
])
if
(
!
picture
[
i
])
goto
error
;
goto
error
;
}
}
picture_pool_t
*
pool
=
picture_pool_New
(
picture_
count
,
picture
);
picture_pool_t
*
pool
=
picture_pool_New
(
count
,
picture
);
if
(
!
pool
)
if
(
!
pool
)
goto
error
;
goto
error
;
return
pool
;
return
pool
;
error:
error:
for
(
int
i
=
0
;
i
<
picture_
count
;
i
++
)
{
for
(
unsigned
i
=
0
;
i
<
count
;
i
++
)
{
if
(
!
picture
[
i
])
if
(
!
picture
[
i
])
break
;
break
;
picture_Release
(
picture
[
i
]);
picture_Release
(
picture
[
i
]);
...
@@ -210,7 +211,7 @@ error:
...
@@ -210,7 +211,7 @@ error:
return
NULL
;
return
NULL
;
}
}
picture_pool_t
*
picture_pool_Reserve
(
picture_pool_t
*
master
,
int
count
)
picture_pool_t
*
picture_pool_Reserve
(
picture_pool_t
*
master
,
unsigned
count
)
{
{
picture_pool_t
*
pool
=
Create
(
master
,
count
);
picture_pool_t
*
pool
=
Create
(
master
,
count
);
if
(
!
pool
)
if
(
!
pool
)
...
@@ -219,8 +220,8 @@ picture_pool_t *picture_pool_Reserve(picture_pool_t *master, int count)
...
@@ -219,8 +220,8 @@ picture_pool_t *picture_pool_Reserve(picture_pool_t *master, int count)
pool
->
pic_lock
=
master
->
pic_lock
;
pool
->
pic_lock
=
master
->
pic_lock
;
pool
->
pic_unlock
=
master
->
pic_unlock
;
pool
->
pic_unlock
=
master
->
pic_unlock
;
int
found
=
0
;
unsigned
found
=
0
;
for
(
int
i
=
0
;
i
<
master
->
picture_count
&&
found
<
count
;
i
++
)
{
for
(
unsigned
i
=
0
;
i
<
master
->
picture_count
&&
found
<
count
;
i
++
)
{
if
(
master
->
picture_reserved
[
i
])
if
(
master
->
picture_reserved
[
i
])
continue
;
continue
;
...
@@ -240,10 +241,10 @@ picture_pool_t *picture_pool_Reserve(picture_pool_t *master, int count)
...
@@ -240,10 +241,10 @@ picture_pool_t *picture_pool_Reserve(picture_pool_t *master, int count)
void
picture_pool_Delete
(
picture_pool_t
*
pool
)
void
picture_pool_Delete
(
picture_pool_t
*
pool
)
{
{
for
(
int
i
=
0
;
i
<
pool
->
picture_count
;
i
++
)
{
for
(
unsigned
i
=
0
;
i
<
pool
->
picture_count
;
i
++
)
{
picture_t
*
picture
=
pool
->
picture
[
i
];
picture_t
*
picture
=
pool
->
picture
[
i
];
if
(
pool
->
master
)
{
if
(
pool
->
master
)
{
for
(
int
j
=
0
;
j
<
pool
->
master
->
picture_count
;
j
++
)
{
for
(
unsigned
j
=
0
;
j
<
pool
->
master
->
picture_count
;
j
++
)
{
if
(
pool
->
master
->
picture
[
j
]
==
picture
)
if
(
pool
->
master
->
picture
[
j
]
==
picture
)
pool
->
master
->
picture_reserved
[
j
]
=
false
;
pool
->
master
->
picture_reserved
[
j
]
=
false
;
}
}
...
@@ -267,7 +268,7 @@ void picture_pool_Delete(picture_pool_t *pool)
...
@@ -267,7 +268,7 @@ void picture_pool_Delete(picture_pool_t *pool)
picture_t
*
picture_pool_Get
(
picture_pool_t
*
pool
)
picture_t
*
picture_pool_Get
(
picture_pool_t
*
pool
)
{
{
for
(
int
i
=
0
;
i
<
pool
->
picture_count
;
i
++
)
{
for
(
unsigned
i
=
0
;
i
<
pool
->
picture_count
;
i
++
)
{
if
(
pool
->
picture_reserved
[
i
])
if
(
pool
->
picture_reserved
[
i
])
continue
;
continue
;
...
@@ -292,7 +293,7 @@ picture_t *picture_pool_Get(picture_pool_t *pool)
...
@@ -292,7 +293,7 @@ picture_t *picture_pool_Get(picture_pool_t *pool)
void
picture_pool_Reset
(
picture_pool_t
*
pool
)
void
picture_pool_Reset
(
picture_pool_t
*
pool
)
{
{
for
(
int
i
=
0
;
i
<
pool
->
picture_count
;
i
++
)
{
for
(
unsigned
i
=
0
;
i
<
pool
->
picture_count
;
i
++
)
{
if
(
pool
->
picture_reserved
[
i
])
if
(
pool
->
picture_reserved
[
i
])
continue
;
continue
;
...
@@ -309,7 +310,7 @@ void picture_pool_NonEmpty(picture_pool_t *pool)
...
@@ -309,7 +310,7 @@ void picture_pool_NonEmpty(picture_pool_t *pool)
{
{
picture_t
*
oldest
=
NULL
;
picture_t
*
oldest
=
NULL
;
for
(
int
i
=
0
;
i
<
pool
->
picture_count
;
i
++
)
{
for
(
unsigned
i
=
0
;
i
<
pool
->
picture_count
;
i
++
)
{
if
(
pool
->
picture_reserved
[
i
])
if
(
pool
->
picture_reserved
[
i
])
continue
;
continue
;
...
...
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