随笔分类 -  C

摘要:(转)YUV / RGB 格式及快速转换算法 YUV RGB 转换公式2010年03月12日 星期五 11:261 前言 自然界的颜色千变万化,为了给颜色一个量化的衡量标准,就需要建立色彩空间模型来描述各种各样的颜色,由于人对色彩的感知是一个复杂的生理和心理联合作用的过程,所以在不同的应用领域中为了更好更准确的满足各自的需求,就出现了各种各样的色彩空间模型来量化的描述颜色。我们比较常接触到的就包括 RGB / CMYK / YIQ / YUV / HSI等等。 对于数字电子多媒体领域来说,我们经常接触到的色彩空间的概念,主要是RGB , YUV这两种(实际上,这两种体系包含了许多种具体的颜色表 阅读全文

posted @ 2012-04-06 12:06 一指流砂 阅读(33552) 评论(0) 推荐(1)

摘要:gets 【1】函数:gets(字符指针) 【2】头文件:stdio.h(c中),c++不需包含此头文件 【3】原型:char*gets(char*buffer); 【4】功能:从stdin流中读取字符串,直至接受到换行符或EOF时停止,并将读取的结果存放在buffer指针所指向的字符数组中。换行符不作为读取串的内容,读取(接受)的换行符被转换为null值,并由此来结束字符串。 【5】返回值:读入成功,返回与参数buffer相同的指针;读入过程中遇到EOF(End-of-File)或发生错误,返回NULL指针。所以在遇到返回值为NULL的情况,要用ferror或feof函数检查是发生... 阅读全文

posted @ 2012-03-03 14:46 一指流砂 阅读(15154) 评论(0) 推荐(0)

摘要:关于pthread_cond_signal函数(zz)pthread_cond_signal函数的作用是发送一个信号给另外一个正在处于阻塞等待状态的线程,使其脱离阻塞状态,继续执行.如果没有线程处在阻塞等待状态,pthread_cond_signal也会成功返回。但使用pthread_cond_signal不会有“惊群现象”产生,他最多只给一个线程发信号。假如有多个线程正在阻塞等待着这个条件变量的话,那么是根据各等待线程优先级的高低确定哪个线程接收到信号开始继续执行。如果各线程优先级相同,则根据等待时间的长短来确定哪个线程获得信号。但无论如何一个pthread_cond_signal调用最多发 阅读全文

posted @ 2012-02-24 22:39 一指流砂

摘要:在#define中,标准只定义了#和##两种操作。#用来把参数转换成字符串,##则用来连接两个前后两个参数,把它们变成一个字符串凡宏定义里有‘#’和‘##’的地方宏参数不再展开”;而h(f(1,2))展开内部的f(1,2),是因为:“要解决这个问题只需多加一层中间转换层#include <stdio.h>#define f(a,b) a##b#define g(a) #a#define h(a) g(a) int main(){ printf("%s\n", h(f(1,2))); printf("%s\n", g(f(1,2))); ret 阅读全文

posted @ 2012-02-23 18:08 一指流砂 阅读(369) 评论(0) 推荐(0)

摘要:先看一段程序,很经典 1 #include <stdio.h> 2 #define TOTAL_ELEMENTS (sizeof(array) / sizeof(array[0])) 3 int array[] = {23,34,12,17,204,99,16}; 4 int main() 5 { 6 int d; 7 8 for(d=-1;d <= (TOTAL_ELEMENTS-2);d++) 9 printf("%d\n",array[d+1]);10 11 return 0;12 }运行上面的程序,结果是什么都没有输出,导致这个结果的原因是... 阅读全文

posted @ 2012-02-23 17:30 一指流砂 阅读(613) 评论(0) 推荐(0)

导航