GPUImageVideoCamera.h源碼解析

顏色轉(zhuǎn)換矩陣:
extern const GLfloat kColorConversion601[];//標準清晰度
extern const GLfloat kColorConversion601FullRange[];//全彩
extern const GLfloat kColorConversion709[];//高清晰度
片段著色器:
extern NSString *const kGPUImageYUVVideoRangeConversionForRGFragmentShaderString;
extern NSString *const kGPUImageYUVFullRangeConversionForLAFragmentShaderString;
extern NSString *const kGPUImageYUVVideoRangeConversionForLAFragmentShaderString;
代理:
@protocol GPUImageVideoCameraDelegate <NSObject>
@optional
-(void)willOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer;//將要輸出samp leBuffer
@end
interface:
@interface GPUImageVideoCamera : GPUImageOutput <AVCaptureVideoDataOutputSampleBufferDelegate,
AVCaptureAudioDataOutputSampleBufferDelegate>
    { 
    
    NSUInteger numberOfFramesCaptured;//已采集的幀數(shù)
    CGFloat totalFrameTimeDuringCapture;//采集的總幀數(shù)
    AVCaptureSession *_captureSession;//采集會話層
    AVCaptureDevice *_inputCamera;//視頻輸入設備
    AVCaptureDevice *_microphone;//音頻輸入設備
    AVCaptureDeviceInput *videoInput;//視頻輸入
    AVCaptureVideoDataOutput *videoOutput;//視頻數(shù)據(jù)輸出

    BOOL capturePaused;//停止采集
    GPUImageRotationMode outputRotation, internalRotation;//輸入和輸出旋轉(zhuǎn)方式
    dispatch_semaphore_t frameRenderingSemaphore;//幀渲染信號量
        
    BOOL captureAsYUV;//yuv格式采集
    GLuint luminanceTexture, chrominanceTexture;//亮度紋理、色度紋理

    __unsafe_unretained id<GPUImageVideoCameraDelegate> _delegate;//攝像頭采集協(xié)議
    }
    @property(readonly, retain, nonatomic) AVCaptureSession *captureSession;//會話層
    @property (readwrite, nonatomic, copy) NSString *captureSessionPreset;//采集分辨率
    @property (readwrite) int32_t frameRate;//幀率
    @property (readonly, getter = isFrontFacingCameraPresent) BOOL frontFacingCameraPresent;//前置攝像頭
    @property (readonly, getter = isBackFacingCameraPresent) BOOL backFacingCameraPresent;//后置攝像頭
    @property(readwrite, nonatomic) BOOL runBenchmark;//基準
    @property(readonly) AVCaptureDevice *inputCamera;//輸入攝像頭
    @property(readwrite, nonatomic) UIInterfaceOrientation outputImageOrientation;//攝像頭朝向
    @property(readwrite, nonatomic) BOOL horizontallyMirrorFrontFacingCamera, horizontallyMirrorRearFacingCamera;//前者攝像頭水平鏡像,后置攝像頭水平鏡像
    @property(nonatomic, assign) id<GPUImageVideoCameraDelegate> delegate;//攝像頭代理
    -(id)initWithSessionPreset:(NSString *)sessionPreset cameraPosition:(AVCaptureDevicePosition)cameraPosition;//根據(jù)分辨率冒冬、攝像頭朝向初始化攝像頭
    -(BOOL)addAudioInputsAndOutputs;//添加音頻的輸入和輸出
    -(BOOL)removeAudioInputsAndOutputs;//移除音頻的輸入和輸出
    -(void)removeInputsAndOutputs;//移除輸入和輸出設備
    -(void)startCameraCapture;//開始采集
    -(void)stopCameraCapture;//停止采集
    -(void)pauseCameraCapture;//暫停采集
    -(void)resumeCameraCapture;//恢復采集
    -(void)processVideoSampleBuffer:(CMSampleBufferRef)sampleBuffer;//處理視頻數(shù)據(jù)
    -(void)processAudioSampleBuffer:(CMSampleBufferRef)sampleBuffer;//處理音頻數(shù)據(jù)
    -(AVCaptureDevicePosition)cameraPosition;//攝像頭位置(前置/后置)
    -(AVCaptureConnection *)videoCaptureConnection;//視頻連接
    -(void)rotateCamera;//轉(zhuǎn)換攝像頭
    -(CGFloat)averageFrameDurationDuringCapture;//平均幀時長
    - (void)resetBenchmarkAverage;
    + (BOOL)isBackFacingCameraPresent;
    + (BOOL)isFrontFacingCameraPresent;

@end
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末菲驴,一起剝皮案震驚了整個濱河市蛉迹,隨后出現(xiàn)的幾起案子寄雀,更是在濱河造成了極大的恐慌,老刑警劉巖衣式,帶你破解...
    沈念sama閱讀 219,039評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件糙箍,死亡現(xiàn)場離奇詭異渤愁,居然都是意外死亡,警方通過查閱死者的電腦和手機深夯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評論 3 395
  • 文/潘曉璐 我一進店門抖格,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人咕晋,你說我怎么就攤上這事雹拄。” “怎么了掌呜?”我有些...
    開封第一講書人閱讀 165,417評論 0 356
  • 文/不壞的土叔 我叫張陵滓玖,是天一觀的道長。 經(jīng)常有香客問我质蕉,道長势篡,這世上最難降的妖魔是什么翩肌? 我笑而不...
    開封第一講書人閱讀 58,868評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮禁悠,結(jié)果婚禮上念祭,老公的妹妹穿的比我還像新娘。我一直安慰自己碍侦,他們只是感情好粱坤,可當我...
    茶點故事閱讀 67,892評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著瓷产,像睡著了一般站玄。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上拦英,一...
    開封第一講書人閱讀 51,692評論 1 305
  • 那天,我揣著相機與錄音测秸,去河邊找鬼疤估。 笑死,一個胖子當著我的面吹牛霎冯,可吹牛的內(nèi)容都是我干的铃拇。 我是一名探鬼主播,決...
    沈念sama閱讀 40,416評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼沈撞,長吁一口氣:“原來是場噩夢啊……” “哼慷荔!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起缠俺,我...
    開封第一講書人閱讀 39,326評論 0 276
  • 序言:老撾萬榮一對情侶失蹤显晶,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后壹士,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體磷雇,經(jīng)...
    沈念sama閱讀 45,782評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,957評論 3 337
  • 正文 我和宋清朗相戀三年躏救,在試婚紗的時候發(fā)現(xiàn)自己被綠了唯笙。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,102評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡盒使,死狀恐怖崩掘,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情少办,我是刑警寧澤苞慢,帶...
    沈念sama閱讀 35,790評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站英妓,受9級特大地震影響枉疼,放射性物質(zhì)發(fā)生泄漏皮假。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,442評論 3 331
  • 文/蒙蒙 一骂维、第九天 我趴在偏房一處隱蔽的房頂上張望惹资。 院中可真熱鬧,春花似錦航闺、人聲如沸褪测。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽侮措。三九已至,卻和暖如春乖杠,著一層夾襖步出監(jiān)牢的瞬間分扎,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評論 1 272
  • 我被黑心中介騙來泰國打工胧洒, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留畏吓,地道東北人。 一個月前我還...
    沈念sama閱讀 48,332評論 3 373
  • 正文 我出身青樓卫漫,卻偏偏與公主長得像菲饼,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子列赎,可洞房花燭夜當晚...
    茶點故事閱讀 45,044評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 1._has_include()以前自己從沒用過 __has_include() 這個宏宏悦,其實從字面意義也能猜出其...
    胡小夜大叔閱讀 1,026評論 0 49
  • 《敦煌小記》 沒有多少猶豫, 一如從成都包吝, 來到這淡到?jīng)]有風味的新疆饼煞。 我從西北的天寒地凍中, 踏入黃土高坡的揚塵...
    小沃姑娘閱讀 465評論 4 10
  • 7天拆線诗越。7天傷口都可以長好吧派哲! 拆線的時候,在老家掺喻。拆線的醫(yī)生說芭届,你的線挺好的。感耙。褂乍。。即硼。逃片。。一會看了下傷口,確實...
    令胡閱讀 196評論 0 0
  • 回首過去的一年,還真的是發(fā)生了很多大事在我們這個小家庭里损离。年初四月份哥艇,先生遭遇到了intel十年一遇的大裁員,記得...
    gingercui閱讀 211評論 0 0