李現路:DSP6000圖像位置移動與變形的典型算法(四)
(void *)(disYbuffer + (numPixels>>1) + (numLines-1-i) * numPixels),
numPixels>>1);
/*傳送Cb緩沖區*/
//前半部分為原始圖像
DAT_copy((void *)(capCbbuffer + i * (numPixels >> 1)),
(void *)(disCbbuffer + i * (numPixels >> 1)),
numPixels>>2);
//后半部分為垂直鏡像圖像
DAT_copy((void *)(capCbbuffer + i * (numPixels >> 1)),
(void *)(disCbbuffer + (numPixels>>2) + (numLines-1-i) * (numPixels >> 1)),
numPixels>>2);
/*傳送Cr緩沖區*/
//前半部分為原始圖像
DAT_copy((void *)(capCrbuffer + i * (numPixels >> 1)),
(void *)(disCrbuffer + i * (numPixels >> 1)),
numPixels>>2);
//后半部分為垂直鏡像圖像
DAT_copy((void *)(capCrbuffer + i * (numPixels >> 1)),
(void *)(disCrbuffer + (numPixels>>2) + (numLines-1-i) * (numPixels >> 1)),
numPixels>>2);
}
/*啟動顯示模塊*/
bt656_display_start(vpHchannel1);
/*建立顯示的實時循環*/
for(;;)
{
/*當采集區的數據已經采集好,而顯示緩沖區的數據已空*/
if((capNewFrame == 1)&&(disNewFrame == 1))
{
/*將數據裝入顯示緩沖區,并清采集完成的標志*/
capNewFrame =0;
disNewFrame =0;
for(i=0;i<numLines;i++)
{
/*傳送Y緩沖區*/
//前半部分為原始圖像
DAT_copy((void *)(capYbuffer + i * numPixels),
(void *)(disYbuffer + i * numPixels),
numPixels>>1);
//后半部分為垂直鏡像圖像
DAT_copy((void *)(capYbuffer + i * numPixels),
(void *)(disYbuffer + (numPixels>>1) + (numLines-1-i) * numPixels),
numPixels>>1);
/*傳送Cb緩沖區*/
//前半部分為原始圖像
DAT_copy((void *)(capCbbuffer + i * (numPixels >> 1)),
(void *)(disCbbuffer + i * (numPixels >> 1)),
numPixels>>2);
//后半部分為垂直鏡像圖像
DAT_copy((void *)(capCbbuffer + i * (numPixels >> 1)),
(void *)(disCbbuffer + (numPixels>>2) + (numLines-1-i) * (numPixels >> 1)),
numPixels>>2);
/*傳送Cr緩沖區*/
//前半部分為原始圖像
DAT_copy((void *)(capCrbuffer + i * (numPixels >> 1)),
(void *)(disCrbuffer + i * (numPixels >> 1)),
numPixels>>2);
//后半部分為垂直鏡像圖像
DAT_copy((void *)(capCrbuffer + i * (numPixels >> 1)),
(void *)(disCrbuffer + (numPixels>>2) + (numLines-1-i) * (numPixels >> 1)),
numPixels>>2);
}
}
}
}
[此貼子已經被作者于2009-12-3 13:51:45編輯過]