2015-06-12 11 views
0

По wiki для Pixel Aspect Ratio:Как получить Pixel Aspect Ratio (PAR) из WMV-ролика в графике DShow?

DAR = SAR x PAR 
(Display Aspect Ratio, Storage Aspect Ratio, Pixel Aspect Ratio) 

У меня есть WMV видео с 2048x1080 (256: 135) разрешением. Window Media Player (WMP) может извлечь PAR, 15:16, так что WMP может отобразить этот клип как 16:9(= 256:135 * 15:16).

В настоящее время я могу получить только dwPictAspectRatioX/dwPictAspectRatioY из VIDEOINFOHEADER2 в 256/135. Это значение выглядит как SAR по разрешению или DAR игнорировать PAR.

Как я могу получить PAR информацию от DShow?

p.s Я использую [ASF Reader]-[DMO]-[VMR7] в качестве компонентов фильтра в графе.

PotPlayer также не может прочитать PAR, чтобы он отображал этот клип с форматным соотношением 256:135 вместо 16:9.

Обновлено,

я узнал, что ASF_Reader_Filter :: IWMHeaderInfo :: GetAttributeByName :: Atrributes.

Существует атрибут AspectRatio X (Y) со следующим значением:

Атрибут AspectRatioX содержит ширину компонента соотношение сторон пикселя для видеопотока.

Я пытаюсь QueryInterface или QueryService через IServiceProvider от чтения ASF фильтр, но он всегда возвращается E_NOINTERFACE.

Еще нужно провести расследование.

ответ

1

VIDEOINFOHEADER2::dwPictAspectRatio получает соотношение, которое регулирует не квадратные пиксели в кодированном изображении. То есть, если вы применяете dwPictAspectRatio, когда вы представляете видео, и вы предполагаете, что сам монитор имеет квадратные пиксели, вы получаете правильное соотношение физического изображения.

В противоположность этому, 720 × 576 Д-1 ​​PAL изображение имеет САР 720/576 = 5: 4, но отображается на 4: 3 (ДАР = 4: 3).

  • biWidth, biHeight, rcSource имеют значения пикселей измерения (720x576) - SAR
  • dwPictAspectRatio инструктирует, чтобы показать 4: 3 - DAR