1 #include <media_codec_util.h>
3 void *mc_aligned_malloc(int size, int alignment)
8 if ((tmp = (unsigned char *)malloc(size + alignment)) != NULL) {
9 pMem = (unsigned char *)((unsigned int)(tmp + alignment - 1) & (~(unsigned int)(alignment - 1)));
14 *(pMem - 1) = (unsigned int)(pMem - tmp);
16 return ((void *) pMem);
21 void mc_aligned_free(void *mem)
34 mc_sem_t *mc_sem_new()
37 sem = g_new(mc_sem_t, 1);
38 g_cond_init(&sem->cond);
39 g_mutex_init(&sem->mutex);
45 void mc_sem_free(mc_sem_t *sem)
47 g_cond_clear(&sem->cond);
48 g_mutex_clear(&sem->mutex);
52 void mc_sem_down(mc_sem_t *sem)
54 g_mutex_lock(&sem->mutex);
56 while (sem->counter == 0)
57 g_cond_wait(&sem->cond, &sem->mutex);
60 g_mutex_unlock(&sem->mutex);
63 void mc_sem_up(mc_sem_t *sem)
65 g_mutex_lock(&sem->mutex);
68 g_cond_signal(&sem->cond);
70 g_mutex_unlock(&sem->mutex);
74 void mc_hex_dump(char *desc, void *addr, int len)
77 unsigned char buff[17];
78 unsigned char *pc = (unsigned char *)addr;
81 printf("%s:\n", desc);
83 for (i = 0; i < len; i++) {
87 printf(" %s\n", buff);
92 printf(" %02x", pc[i]);
94 if ((pc[i] < 0x20) || (pc[i] > 0x7e))
98 buff[(i % 16) + 1] = '\0';
101 while ((i % 16) != 0) {
105 printf(" %s\n", buff);