关于帧的长度问题?

来源:7-11 实现PCM播放器-3

iceluo01

2018-11-21

帧的 尺寸 用 手工算出来

const unsigned int yuv_frame_len = video_width * video_height * 12 / 8;

渲染的时候 给的是数据起始指针 和 视频的宽度

SDL_UpdateTexture( texture, NULL, video_pos, video_width);

问题来了:
1、公式 宽12/8 怎么来的,通用吗?
2、如果不通用,SDL 有没有方法可以 通过视频宽 算出 长度?
3、SDL_UpdateTexture 使用的时候 给数组起始指针 和视频的宽度 是否有别的更优雅的方式? 毕竟准备的数据 是用公式算出来的 length 。但是消费的时候 传进去的 是 视频的width。有点怪怪的

写回答

1回答

李超

2018-11-21

一帧YUV数据的大小是 width * height *1.5(即12/8),用 12/8是为了计算的更快

0
0

经典再升级-FFmpeg5.0核心技术精讲,打造音视频播放器

学好FFmpeg核心技术,做高效,高薪,有竞争力的音视频工程师

2726 学习 · 814 问题

查看课程