接收到hd264的数据用ffmpeg进行解析后发现,画面是上下翻转的,网上有的人说可以在显示的时候在把图像上下翻转过来,但这样的效率明显很低,后来发现还有更高效的方法,只需要重排几个数组的地址就可以了:
int result = avcodec_decode_video2(codec_, pFrame_, &got_frame, &pkt);
//关键是这一步,上下翻转图像
pFrame_->data[0] += pFrame_->linesize[0] * (codec_->height - 1);
pFrame_->linesize[0] = -pFrame_->linesize[0];
pFrame_->data[1]+= pFrame_->linesize[1] * (codec_->height / 2 - 1);
pFrame_->linesize[