IOS Dev Intro - vImage scale
来源:互联网 发布:java不关闭流 编辑:程序博客网 时间:2024/06/05 15:45
{
CVImageBufferRef cvimgRef = CMSampleBufferGetImageBuffer(sampleBuffer);
CVPixelBufferLockBaseAddress(cvimgRef,0);
uint32_t *imageData = (uint32_t *)CVPixelBufferGetBaseAddress(cvimgRef);
int width = CVPixelBufferGetWidth(cvimgRef);
int height = CVPixelBufferGetHeight(cvimgRef);
int bytes = CVPixelBufferGetBytesPerRow(cvimgRef);
vImage_Buffer inBuff;
inBuff.data = imageData;
inBuff.width = width;
inBuff.height = height;
inBuff.rowBytes = 4 * width;
CVPixelBufferLockBaseAddress(_targetPixelBufferRef, 0);
uint32_t *tData = (uint32_t *)CVPixelBufferGetBaseAddress(_targetPixelBufferRef);
vImage_Buffer outBuff = { _newData, 360, 640, 4*640 };
vImageCVImageFormatRef vformat = vImageCVImageFormat_CreateWithCVPixelBuffer(cvimgRef);
vImage_CGImageFormat cgfromat = {
.bitsPerComponent = 8,
.bitsPerPixel = 32,
.bitmapInfo = kCGBitmapByteOrderDefault,
};
const CGFloat bgcolor[3] = {0.0, 0.0, 0.0};
vImageBuffer_InitWithCVPixelBuffer(&inBuff, &cgfromat, cvimgRef, vformat, bgcolor, kvImageNoAllocate);
vImage_Error error = vImageScale_ARGB8888(&inBuff, &outBuff, NULL, kvImageHighQualityResampling);
if(error != kvImageNoError) {
NSLog(@"kvImage error = %ld\n", error);
}
memcpy(tData, _newData, 640 * 360 * 4);
// error = vImageBuffer_CopyToCVPixelBuffer(&outBuff, &cgfromat, _targetPixelBufferRef, vformat, bgcolor, kvImageNoFlags);
CVPixelBufferUnlockBaseAddress(_targetPixelBufferRef, 0);
CVPixelBufferUnlockBaseAddress(cvimgRef,0);
}
- IOS Dev Intro - vImage scale
- IOS Dev Intro - AVASSetWriterInput Scale Encode
- IOS Dev Intro - UIControlEvent
- IOS Dev Intro - UIButton
- IOS Dev Intro - UILabel
- IOS Dev Intro - String
- IOS Dev Intro - FBO
- IOS Dev Intro - NSDictionary
- IOS Dev Intro - NSArray
- IOS Dev Intro - NSInteger
- IOS Dev Intro - NSString
- IOS Dev Intro - UISwitch
- IOS Dev Intro - Sandbox
- IOS Dev Intro - NSFileManager
- IOS Dev Intro - NSBundle
- IOS Dev Intro - NSSet
- IOS Dev Intro - Property
- IOS Dev Intro - Block
- js基础汇总
- 283. Move Zeroes
- 两个链表的第一个公共结点 java
- leetcode 197. Rising Temperature
- 编译时的注解编写
- IOS Dev Intro - vImage scale
- postman应用
- 进程调度
- RAC 数据库 gc 类性能问题分析
- 静态代理设计模式
- 关于域名和IP描述正确的是?
- 解决ScrollView.setOnScrollChangeListener() API23问题;
- JZOJ.4648 锦标赛
- Spark会把数据都载入到内存么