forked from len0rd/rockbox
mpegplayer: Make playback engine fully seekable and frame-accurate and split into logical parts. Be sure to have all current features work. Actual UI for seeking will be added soon. Recommended GOP size is about 15-30 frames depending on target or seeking can be slow with really long GOPs (nature of MPEG video). More refined encoding recommendations for a particular player should be posted soon.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15977 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
1d0f6b90ff
commit
a222f27c4a
34 changed files with 7850 additions and 2764 deletions
|
|
@ -243,16 +243,18 @@ static inline uint32_t swap_odd_even32(uint32_t value)
|
|||
#define CACHEALIGN_DOWN(x) \
|
||||
((typeof (x))ALIGN_DOWN_P2((uintptr_t)(x), CACHEALIGN_BITS))
|
||||
/* Aligns at least to the greater of size x or CACHEALIGN_SIZE */
|
||||
#define CACHEALIGN_AT_LEAST_ATTR(x) __attribute__((aligned(CACHEALIGN_UP(x))))
|
||||
#define CACHEALIGN_AT_LEAST_ATTR(x) \
|
||||
__attribute__((aligned(CACHEALIGN_UP(x))))
|
||||
/* Aligns a buffer pointer and size to proper boundaries */
|
||||
#define CACHEALIGN_BUFFER(start, size) \
|
||||
({ align_buffer((start), (size), CACHEALIGN_SIZE); })
|
||||
({ align_buffer(PUN_PTR(void **, (start)), (size), CACHEALIGN_SIZE); })
|
||||
|
||||
#else /* ndef PROC_NEEDS_CACHEALIGN */
|
||||
|
||||
/* Cache alignment attributes and sizes are not enabled */
|
||||
#define CACHEALIGN_ATTR
|
||||
#define CACHEALIGN_AT_LEAST_ATTR(x) __attribute__((aligned(x)))
|
||||
#define CACHEALIGN_AT_LEAST_ATTR(x) \
|
||||
__attribute__((aligned(x)))
|
||||
#define CACHEALIGN_UP(x) (x)
|
||||
#define CACHEALIGN_DOWN(x) (x)
|
||||
/* Make no adjustments */
|
||||
|
|
@ -261,4 +263,8 @@ static inline uint32_t swap_odd_even32(uint32_t value)
|
|||
|
||||
#endif /* PROC_NEEDS_CACHEALIGN */
|
||||
|
||||
/* Double-cast to avoid 'dereferencing type-punned pointer will
|
||||
* break strict aliasing rules' B.S. */
|
||||
#define PUN_PTR(type, p) ((type)(intptr_t)(p))
|
||||
|
||||
#endif /* __SYSTEM_H__ */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue