我一直在使用ffmpeg解码从我的IP摄像头接收到的每一帧。简短的代码如下:
-(void) decodeFrame:(unsigned char *)frameData frameSize:(int)frameSize{
AVFrame frame;
AVPicture picture;
AVPacket pkt;
AVCodecContext *context;
pkt.data = frameData;
pat.size = frameSize;
avcodec_get_frame_defaults(&frame);
avpicture_alloc(&picture, PIX_FMT_RGB24, targetWidth, targetHeight);
avcodec_decode_video2(&context, &frame, &got_picture, &pkt);
}
该代码运行良好,但它是通过软件解码进行的。我想通过硬件解码来提高解码性能。经过大量研究,我知道可以通过AVFoundation框架实现。AVAssetReader类可能有所帮助,但我无法弄清下一步是什么。能否有人为我指出接下来的步骤?任何帮助将不胜感激。