# iOSHardwareDecoder **Repository Path**: palmip/iOSHardwareDecoder ## Basic Information - **Project Name**: iOSHardwareDecoder - **Description**: iOS hardware decoder demo - **Primary Language**: Objective-C - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-05-21 - **Last Updated**: 2021-06-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # iOSHardwareDecoder iOS hardware decoder demo 这是iOS硬解码 H.264 视频的例子 AAPLEAGLLayer.m 是用OpenGL渲染 YUV的Layer,我从苹果例子里抄的 VideoFileParser.m 是个很简陋的264文件的解析,只是用来做例子,不要模仿 ViewController.m 重点看这里,演示了VideoToolbox的API如何调用 注意几点: iOS解码器接受的Nal数据需要MP4格式的,就是在每个包头的前4字节放Big-endian的size,而不是00 00 00 01的startcode,需要转换下。 初始化解码器用的sps pps数据是不包括startcode的。 解码播放后的视频会抖动,这就对了,因为视频里是有B-frame的,iOS解码器不负责重排B帧顺序,需要应用自己根据PTS去做。