如何确定媒体基础中特定 MJPEG 子类型的色度子采样?

How to determin the chroma subsampling of a particular MJPEG subtype in Media Foundation?

在 Media Foundation 中读取可用媒体类型时,是否有任何方法可以确定用于特定 MJPG 格式的色度子采样(即 4:4:4 与 4:2:0 等),或者您是否必须提取该格式一旦您开始抓取帧,就可以从 JPEG 数据中获取信息?

简答:您需要提取 JPEG,然后查看它。

更长的答案:Media Foundation 并不完全处理 JPEG,而作为 JPEG 图像序列的 Motion JPEG 不必具有色度子采样等细节。它甚至可以在帧之间变化,并且只要单个帧是可解码的,一般认为 Motion JPEG 是好的。

多路分解器可能会从轨道元数据或其他方式读取子采样信息(包括按照您的建议从第一帧内部提取),然后将其作为 MJPG 视频媒体类型的自定义属性公开,但我怀疑任何现有的解复用器,尤其是库存的解复用器正在解决这个问题。