今天上午继续调试上周应该调完的“自适应”,编码部分已经没有问题了,但解码部分在接受到与当前工作不同的Res时不能正常地得到重新配置,当从720p60调到1080p30时图像花的很厉害,解码端接收不到数据。但从1080p30到720p60时,有时可以正常配置,但还是有些花。
于是打算重新仔细的看一下编码部分的代码,发现当细看的时候会有很多意想不到的收获。其中发现一块内存空间,这个空间的开头包括一个结构体,结构体中有三个指针,分别一个指向后面的100个char类型的指针,一个指向100个前面char指针指向的数据的大小,一个指向那一百数据的类型。
struct{
char *datap;
int *sizep;
int *flagp;
}str;
sizeofall = sizeof(str);
size0 = sizeofstruct;
sizeofall += sizeof(char *) * 100;
size1 = sizeofall;
sizeofall += sizeof(int *) * 100;
size2 = sizeofall;
sizeofall += sizeof(int *) * 100;
p = calloc(1, sizeofall)
p = calloc()
阅读(402) | 评论(0) | 转发(0) |