|
VLC
2.1.0-git
|

Data Structures | |
| struct | picture_gc_sys_t |
| struct | picture_pool_t |
Functions | |
| static void | Destroy (picture_t *) |
| static int | Lock (picture_t *) |
| static void | Unlock (picture_t *) |
| static picture_pool_t * | Create (picture_pool_t *master, int picture_count) |
| picture_pool_t * | picture_pool_NewExtended (const picture_pool_configuration_t *cfg) |
| It creates a picture_pool_t wrapping the given configuration. | |
| picture_pool_t * | picture_pool_New (int picture_count, picture_t *picture[]) |
| It creates a picture_pool_t wrapping the given arrays of picture. | |
| picture_pool_t * | picture_pool_NewFromFormat (const video_format_t *fmt, int picture_count) |
| It creates a picture_pool_t creating images using the given format. | |
| picture_pool_t * | picture_pool_Reserve (picture_pool_t *master, int count) |
| It reserves picture_count pictures from the given pool and returns a new pool with thoses pictures. | |
| void | picture_pool_Delete (picture_pool_t *pool) |
| It destroys a pool created by picture_pool_New. | |
| picture_t * | picture_pool_Get (picture_pool_t *pool) |
| It retreives a picture_t from a pool. | |
| void | picture_pool_NonEmpty (picture_pool_t *pool, bool reset) |
| It forces the next picture_pool_Get to return a picture even if no pictures are free. | |
| int | picture_pool_GetSize (picture_pool_t *pool) |
| It returns the size of the given pool. | |
|
static |
References picture_pool_t::master, picture_pool_t::picture, picture_pool_t::picture_count, picture_pool_t::picture_reserved, and picture_pool_t::tick.
Referenced by picture_pool_NewExtended(), and picture_pool_Reserve().
|
static |
References Unlock().
Referenced by picture_pool_NewExtended().
|
static |
< No error
References picture_t::gc, picture_gc_sys_t::lock, picture_t::p_sys, and VLC_SUCCESS.
Referenced by picture_pool_Get().
| void picture_pool_Delete | ( | picture_pool_t * | ) |
It destroys a pool created by picture_pool_New.
All pictures must already be released to the pool. The pool will then released them.
References picture_gc_sys_t::destroy, picture_gc_sys_t::destroy_sys, picture_t::gc, picture_pool_t::master, picture_t::p_sys, picture_t::pf_destroy, picture_pool_t::picture, picture_pool_t::picture_count, picture_Release(), picture_pool_t::picture_reserved, picture_t::refcount, vlc_atomic_get(), and vlc_atomic_set().
Referenced by NoDrClean(), picture_pool_Reserve(), SplitterClose(), and vout_EndWrapper().
| picture_t* picture_pool_Get | ( | picture_pool_t * | ) |
It retreives a picture_t from a pool.
The picture must be release by using picture_Release.
References picture_t::gc, Lock(), picture_t::p_next, picture_t::p_sys, picture_pool_t::picture, picture_pool_t::picture_count, picture_Hold(), picture_pool_t::picture_reserved, picture_t::refcount, picture_pool_t::tick, and vlc_atomic_get().
Referenced by SplitterPictureNew(), ThreadDisplayRenderPicture(), VideoBufferNew(), vout_FixLeaks(), vout_GetPicture(), and VoutVideoFilterInteractiveNewPicture().
| int picture_pool_GetSize | ( | picture_pool_t * | pool | ) |
It returns the size of the given pool.
References picture_pool_t::picture_count.
Referenced by vout_InitWrapper().
| picture_pool_t* picture_pool_New | ( | int | picture_count, |
| picture_t * | picture[] | ||
| ) |
It creates a picture_pool_t wrapping the given arrays of picture.
It is provided as convenience.
References picture_pool_configuration_t::picture, picture_pool_configuration_t::picture_count, and picture_pool_NewExtended().
Referenced by picture_pool_NewFromFormat().
| picture_pool_t* picture_pool_NewExtended | ( | const picture_pool_configuration_t * | ) |
It creates a picture_pool_t wrapping the given configuration.
It avoids useless picture creations/destructions. The given picture must not have a reference count greater than 1. The pool takes ownership of the picture and MUST not be used directly. When deleted, the pool will release the pictures using picture_Release. If defined, picture_pool_configuration_t::lock will be called before a picture is used, and picture_pool_configuration_t::unlock will be called as soon as a picture is unused. They are allowed to modify picture_t::p and access picture_t::p_sys.
References Create(), picture_gc_sys_t::destroy, Destroy(), picture_gc_sys_t::destroy_sys, picture_t::gc, picture_gc_sys_t::lock, picture_pool_configuration_t::lock, picture_t::p_sys, picture_t::pf_destroy, picture_pool_configuration_t::picture, picture_pool_t::picture, picture_pool_configuration_t::picture_count, picture_IsReferenced(), picture_pool_t::picture_reserved, picture_t::refcount, picture_gc_sys_t::tick, picture_gc_sys_t::unlock, picture_pool_configuration_t::unlock, and vlc_atomic_set().
Referenced by picture_pool_New().
| picture_pool_t* picture_pool_NewFromFormat | ( | const video_format_t * | , |
| int | picture_count | ||
| ) |
It creates a picture_pool_t creating images using the given format.
Provided for convenience.
References picture_NewFromFormat(), picture_pool_New(), and picture_Release().
Referenced by NoDrInit(), SplitterPool(), and vout_InitWrapper().
| void picture_pool_NonEmpty | ( | picture_pool_t * | , |
| bool | reset | ||
| ) |
It forces the next picture_pool_Get to return a picture even if no pictures are free.
If b_reset is true, all pictures will be marked as free.
It does it by releasing itself the oldest used picture if none is available. XXX it should be used with great care, the only reason you may need it is to workaround a bug.
References picture_t::gc, picture_t::p_sys, picture_pool_t::picture, picture_pool_t::picture_count, picture_pool_t::picture_reserved, picture_t::refcount, Unlock(), vlc_atomic_get(), and vlc_atomic_set().
Referenced by ThreadReset(), and vout_FixLeaks().
| picture_pool_t* picture_pool_Reserve | ( | picture_pool_t * | , |
| int | picture_count | ||
| ) |
It reserves picture_count pictures from the given pool and returns a new pool with thoses pictures.
The master pool must be full. The returned pool must be deleted before the master pool. When deleted, all pictures return to the master pool.
References count, Create(), picture_t::gc, picture_pool_t::picture, picture_pool_t::picture_count, picture_pool_Delete(), picture_pool_t::picture_reserved, picture_t::refcount, and vlc_atomic_get().
Referenced by vout_InitWrapper().
|
static |
References picture_t::gc, picture_t::p_sys, and picture_gc_sys_t::unlock.
Referenced by Destroy(), and picture_pool_NonEmpty().
1.8.1.2