• 大小: 1.29MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-09-03
  • 语言: 其他
  • 标签: A10  H264  encoder  编码  

资源简介

全志A10 H264硬件编码RSTP直接播放参考例程。

资源截图

代码片段和文件信息

/*ringbuf .c*/

#include
#include
#include “ringfifo.h“
#define NMAX 32

int iput = 0; /* 环形缓冲区的当前放入位置 */

int iget = 0; /* 缓冲区的当前取出位置 */

int n = 0; /* 环形缓冲区中的元素总数量 */

struct ringbuf ringfifo[NMAX];

/* 环形缓冲区的地址编号计算函数,如果到达唤醒缓冲区的尾部,将绕回到头部。

环形缓冲区的有效地址编号为:0到(NMAX-1)

*/
void ringmalloc(int size)
{
int i;
for (i =0;i {
ringfifo[i].buffer = malloc (size);
ringfifo[i].size = 0;
ringfifo[i].frame_type = 0;
printf(“FIFO INFO:idx:%dlen:%dptr:%x\n“iringfifo[i].size(int)(ringfifo[i].buffer));
}
int iput = 0; /* 环形缓冲区的当前放入位置 */

int iget = 0; /* 缓冲区的当前取出位置 */

int n = 0; /* 环形缓冲区中的元素总数量 */
}
void ringreset()
{
int iput = 0; /* 环形缓冲区的当前放入位置 */

int iget = 0; /* 缓冲区的当前取出位置 */

int n = 0; /* 环形缓冲区中的元素总数量 */
}
void ringfree()
{
int i;
printf(“begin free mem\n“);
for (i =0;i {
printf(“FREE FIFO INFO:idx:%dlen:%dptr:%x\n“iringfifo[i].size(int)(ringfifo[i].buffer));
free(ringfifo[i].buffer);
ringfifo[i].size = 0;
}
}
int addring (int i)
{
        return (i+1) == NMAX ? 0 : i+1;
}

/* 从环形缓冲区中取一个元素 */

int ringget(struct ringbuf *getinfo)
{
int Pos;
if (n>0){
                      Pos = iget;
                      iget = addring(iget);
                      n--;
  getinfo->buffer = (int)(ringfifo[Pos].buffer);
  getinfo->frame_type = ringfifo[Pos].frame_type;
  getinfo->size = ringfifo[Pos].size;
  //printf(“Get FIFO INFO:idx:%dlen:%dptr:%xtype:%d\n“Posgetinfo->size(int)(getinfo->buffer)getinfo->frame_type);
                      return ringfifo[Pos].size;
}
else {
//printf(“Buffer is empty\n“);
return 0;
}
}

 

/* 向环形缓冲区中放入一个元素*/

void ringput(unsigned char *bufferint sizeint encode_type)
{
int dest;
if (n                      dest =memcpy(ringfifo[iput].bufferbuffersize);
  ringfifo[iput].size= size;
  ringfifo[iput].frame_type = encode_type;
  //printf(“Put FIFO INFO:idx:%dlen:%dptr:%xtype:%d\n“iputringfifo[iput].size(int)(ringfifo[iput].buffer)ringfifo[iput].frame_type);
                      iput = addring(iput);
                      n++;
}
else 
{
// printf(“Buffer is full\n“);
}
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2013-10-14 20:38  a10-rtsph264\
     目录           0  2013-10-14 20:38  a10-rtsph264\h264\
     文件        4618  2013-10-14 20:38  a10-rtsph264\h264\camera.c
     文件        6228  2013-10-14 20:38  a10-rtsph264\h264\camera.o
     文件       25116  2013-10-14 20:38  a10-rtsph264\h264\drv_display.h
     文件        4897  2013-10-14 20:38  a10-rtsph264\h264\encoder.c
     文件        5652  2013-10-14 20:38  a10-rtsph264\h264\encoder.o
     文件        2213  2013-10-14 20:38  a10-rtsph264\h264\enc_type.h
     文件        8959  2013-10-14 20:38  a10-rtsph264\h264\font_data.h
     文件      643732  2013-10-14 20:38  a10-rtsph264\h264\libv4lconvert.a
     文件        4960  2013-10-14 20:38  a10-rtsph264\h264\libv4lconvert.h
     目录           0  2013-10-14 20:38  a10-rtsph264\h264\linux_lib\
     文件        6220  2013-10-14 20:38  a10-rtsph264\h264\linux_lib\H264encLibApi.h
     文件      793828  2013-10-14 20:38  a10-rtsph264\h264\linux_lib\libcedarv.a
     文件       14956  2013-10-14 20:38  a10-rtsph264\h264\linux_lib\libcedarv.h
     文件        8044  2013-10-14 20:38  a10-rtsph264\h264\linux_lib\libcedarv_osal.a
     文件       10468  2013-10-14 20:38  a10-rtsph264\h264\linux_lib\libcedarxalloc.a
     文件       47026  2013-10-14 20:38  a10-rtsph264\h264\linux_lib\libh264enc.a
     文件        9469  2013-10-14 20:38  a10-rtsph264\h264\linux_lib\libve_typedef.h
     文件        2804  2013-10-14 20:38  a10-rtsph264\h264\linux_lib\vdrv_enc_i.h
     文件         342  2013-10-14 20:38  a10-rtsph264\h264\log.c
     文件          59  2013-10-14 20:38  a10-rtsph264\h264\log.h
     文件        1716  2013-10-14 20:38  a10-rtsph264\h264\log.o
     文件       13363  2013-10-14 20:38  a10-rtsph264\h264\matroska_ebml.c
     文件        2194  2013-10-14 20:38  a10-rtsph264\h264\matroska_ebml.h
     文件       10368  2013-10-14 20:38  a10-rtsph264\h264\matroska_ebml.o
     文件        5882  2013-10-14 20:38  a10-rtsph264\h264\output.c
     文件        6196  2013-10-14 20:38  a10-rtsph264\h264\output.o
     文件         310  2013-10-14 20:38  a10-rtsph264\h264\picture_t.h
     文件        4551  2013-10-14 20:38  a10-rtsph264\h264\preview.c
     文件        5644  2013-10-14 20:38  a10-rtsph264\h264\preview.o
............此处省略18个文件信息

评论

共有 条评论