If the graphic driver does not implement one or more of the interfaces, it is up to the codec to provide a software fallback for it. If the codec needs to do any of the defined operations, it can use these interfaces to access the hardware-accelerated implementation of these operations. DXVA specifies a set of operations that can be hardware-accelerated and device driver interfaces (DDIs) that the graphic driver can implement to accelerate the operations. The pipeline starts at the CPU which is used for parsing the media stream and conversion to DXVA-compatible structures. The DXVA is used by software video decoders to define a codec-specific pipeline for hardware-accelerated decoding and rendering of the codec.