Windows Platform Design Notes Designing Hardware for the Microsoft Windows Family of Operating Systems




старонка1/16
Дата канвертавання22.04.2016
Памер0.5 Mb.
  1   2   3   4   5   6   7   8   9   ...   16





Windows Platform Design Notes

Designing Hardware for the Microsoft Windows Family of Operating Systems

Microsoft DirectX VA: Video Acceleration API/DDI



Abstract: This document describes an Application Programming Interface (API) and a corresponding Device Driver Interface (DDI) for hardware acceleration of digital video decoding processing, with support of alpha blending for such purposes as DVD subpicture support. It provides an interface definition focused on support of MPEG-2 “main profile” video (formally ITU-T H.262 | ISO/IEC 13818-2), but is also intended to support other key video codecs (e.g., ITU-T Recommendations H.263 and H.261, and MPEG-1 and MPEG-4).

DirectX® VA Version 1.01 — Jan. 23, 2001
Gary Sullivan (garysull@microsoft.com)
Chad Fogg (cfogg@mpeg.org)


Disclaimer: The information contained in this document represents the current view of Microsoft Corporation on the issues discussed as of the date of publication. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information presented. This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT.

Microsoft Corporation may have patents or pending patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. The furnishing of this document does not give you any license to the patents, trademarks, copyrights, or other intellectual property rights except as expressly provided in any written license agreement from Microsoft Corporation.

Microsoft does not make any representation or warranty regarding specifications in this document or any product or item developed based on these specifications. Microsoft disclaims all express and implied warranties, including but not limited to the implied warranties or merchantability, fitness for a particular purpose and freedom from infringement. Without limiting the generality of the foregoing, Microsoft does not make any warranty of any kind that any item developed based on these specifications, or any portion of a specification, will not infringe any copyright, patent, trade secret or other intellectual property right of any person or entity in any country. It is your responsibility to seek licenses for such intellectual property rights where appropriate. Microsoft shall not be liable for any damages arising out of or in connection with the use of these specifications, including liability for lost profit, business interruption, or any other damages whatsoever. Some states do not allow the exclusion or limitation of liability or consequential or incidental damages; the above limitation may not apply to you.

DirectX, Microsoft, Win32, Windows, and Windows NT are trademarks or registered trademarks of Microsoft Corporation in the United States and/or other countries. Other product and company names mentioned herein may be the trademarks of their respective owners.

© 2000 - 2001 Microsoft Corporation. All rights reserved.

Contents

1 Overview 1

1.1 Summary 1

1.2 Purpose and Standards Addressed 1

1.3 Requirements, Performance Verification, and Schedule 2

1.3.1 Uncompressed Picture Formats 3

1.3.2 Accelerator Sequentiality Requirements 4

1.3.3 Software Decoder Sequentiality Requirements 4

1.3.3.1 Using Four Uncompressed Surfaces for Decoding 5

1.3.3.2 Using Five or More Uncompressed Surfaces for Decoding 6

1.4 Terminology 7

1.4.1 Abbreviations and Symbols 7

1.4.2 Bit Numbering Convention 7

1.4.3 Definitions 7

1.5 Stages 9

1.6 Frame Buffer Organization 9

2 Operation for Current Standards 10

2.1 ITU-T H.261 10

2.2 MPEG-1 10

2.3 MPEG-2 (a.k.a. H.262) 11

2.4 ITU-T H.263 12

2.5 MPEG-4 15

2.6 Prediction Principles 15

2.6.1 Stages of Prediction 16

2.6.2 Macroblock portions 17

2.6.3 Prediction Planes 19

3 DirectX VA Data Structures and Program Constructs 19

3.1 Encryption Support 19

3.2 Global Restricted Mode Information 21

3.3 Probing and Locking of Configurations 21

3.4 Buffer Description List 23

3.5 Compressed Picture Decoding (bDXVA_Func=1) 24

3.5.1 Connection Configuration 25

3.5.2 Minimal Interoperability Configuration Set 29

3.5.3 Additional Encouraged Configuration Set 30

3.5.4 Compressed Picture Parameters 32

3.5.5 Buffer Structure for Macroblocks of a Picture 38

3.5.5.1 Macroblock Control Commands 40

3.5.5.2 Inverse Quantization, Pre-IDCT Saturation, Mismatch Control, Intra DC Offset, IDCT, Picture Reconstruction, and Reconstruction Clipping 48

3.5.5.2.1 Off-Host IDCT 49

3.5.5.2.1.1 Single-Coefficient Data Format 49

3.5.5.2.1.2 Four-Grouped Coefficient Data Format 50

3.5.5.2.2 Host-Based IDCT 50

3.5.5.2.2.1 The 16-bit Method 50



3.5.5.2.2.2 The 8-8 Overflow Method 51

3.5.5.3 Deblocking Filter Control 52

3.5.5.4 Read-Back Command Buffers 52

3.5.6 Off-Host VLD Bitstream Decoding Operation 53

3.5.6.1 Inverse Quantization Matrix Buffers 53

3.5.6.2 Slice Control Buffers 54

3.5.6.3 Bitstream Data Buffer Contents 56

3.6 Alpha Blend Data Loading (bDXVA_Func=2) 56

3.6.1 Connection Configuration 56

3.6.2 Minimal Interoperability Configuration Set 57

3.6.3 Loading an AYUV Alpha Blending Surface 57

3.6.3.1 Loading a 16-entry AYUV palette 57

3.6.3.2 Loading an AYUV surface 57

3.6.4 Loading an IA44/AI44 Alpha Blending Surface 58

3.6.5 Loading a DPXD Alpha Blending Surface 58

3.6.6 Loading Highlight Data 59

3.6.7 Loading DCCMD Data 59

3.7 Alpha Blend Combination (bDXVA_Func=3) 60

3.7.1 Connection Configuration 60

3.7.2 Minimal Interoperability Configuration Set 61

3.7.3 Alpha Blend Combination Buffers 61

3.7.3.1 Example: MPEG-2 Pan-Scan Operation 65

3.7.3.2 Example: DVD 4:3 Pan-Scan Within 16:9 Pictures 65

3.7.3.3 Example: DVD 704-Wide Non-Pan-Scan Picture Operation 66

3.7.3.4 Example: DVD 352-Wide Picture Operation 66

3.7.3.5 Example: DVD 720-Wide Picture Operation 66

3.7.3.6 Example: DVD 16:9 Letterbox Height in 4:3 Picture Operation 67

3.8 Picture Resampling Control (bDXVA_Func=4) 67

3.8.1 Connection Configuration 67

3.8.2 Minimal Interoperability Configuration Set 67

3.8.3 Picture Resampling Control Buffers 67

4 Restricted Modes 68

4.1 Addition of New Restricted Profiles 68

4.2 Non-Restricted Operation 69

4.3 H261_A Restricted Profile 69

4.4 H261_B Restricted Profile 69

4.5 H263_A Restricted Profile 70

4.6 H263_B Restricted Profile 70

4.7 H263_C Restricted Profile 71

4.8 H263_D Restricted Profile 71

4.9 H263_E Restricted Profile 72

4.10 H263_F Restricted Profile 72

4.11 MPEG1_A Restricted Profile 73

4.12 MPEG2_A Restricted Profile 73

4.13 MPEG2_B Restricted Profile 74

4.14 MPEG2_C Restricted Profile 74

4.15 MPEG2_D Restricted Profile 75

5 IAMVideoAccelerator Operation 75

5.1 The IAMVideoAccelerator Interface Itself 75

5.2 Mapping DirectX VA to IAMVideoAccelerator 79

5.2.1 Restricted Mode Profile and Configuration Establishment 79

5.2.2 DirectX VA IAMVideoAccelerator Operational Specification 79

5.2.3 Operational Correspondence with Motion Compensation Device Driver 84



  1   2   3   4   5   6   7   8   9   ...   16


База данных защищена авторским правом ©shkola.of.by 2016
звярнуцца да адміністрацыі

    Галоўная старонка