DXVA_PicParams_MJPEG structure (dxva.h)

The DXVA_PicParams_MJPEG structure provides the picture-level parameters of a compressed picture for MJPEG video decoding.

Syntax

typedef struct _DXVA_PicParams_MJPEG {
  UINT   width;
  UINT   height;
  UCHAR  numComponents;
  UCHAR  bitDepth;
  USHORT reserved16Bits;
  UCHAR  quantizationTableSelector[4];
  UINT   scanOffset[4];
  UINT   scanSize[4];
  UCHAR  componentIdentifier[4];
  USHORT restartInterval;
  USHORT reserved16Bits2;
  UINT   reserved32Bits;
  UINT   statusReportFeedbackNumber;
} DXVA_PicParams_MJPEG, *LPDXVA_PicParams_MJPEG;

Members

width

The coded width of the current frame. This value corresponds to the Frame Header value X from the JPEG specification. It must be a multiple of 8 to align with JPEG's macroblock size.

height

The coded height of the current frame. This value corresponds to the Frame Header value Y from the JPEG specification. It must be a multiple of 8 to align with JPEG's macroblock size.

numComponents

The number of color components in the image data. The allowed values are restricted by the profile value. This value corresponds to the Frame Header value Nf (number of image components in frame) from the JPEG specification.

bitDepth

The precision in bits for the samples in the components of the frame. The allowed values are restricted by the profile value. This value corresponds to the Frame Header value P (sample precision) from the JPEG specification.

reserved16Bits

Reserved for future use; set to zero.

quantizationTableSelector[4]

Array of four values used to select the quantization tables for each component. Each value corresponds to the value of Tqi from the specification. The number of quantization tables referenced is limited based on the profile value. Components are always in the order: Y,Cb,Cr,A.

scanOffset[4]

Locates the compressed bitstream data for each scan i in the image. Specifically, this is the byte offset from the start of the bitstream buffer of the SOS marker (inclusive) from the specification.

scanSize[4]

Number of bytes in the bitstream data buffer that are associated with each scan i.

componentIdentifier[4]

For each of the four components in the image, specifies an identifier for the component that is used by the scan header (SOS) to identify the component. This value corresponds to the Frame Header value Ci from the JPEG specification. Components are always in the order: Y,Cb,Cr,A.

restartInterval

Restart interval for the JPEG decoder.

reserved16Bits2

Reserved for future use and alignment.

reserved32Bits

Reserved for future use and alignment.

statusReportFeedbackNumber

Arbitrary number set by the host decoder to use as a tag in the status report feedback data. The value should not be equal to 0 and should be different in each call to Execute.

Remarks

This structure is used for MJPEG video coding when the buffer type is D3D12_VIDEO_DECODE_ARGUMENT_TYPE_PICTURE_PARAMETERS in D3D12 and D3D11_VIDEO_DECODER_BUFFER_PICTURE_PARAMETERS in D3D11.

In DXVA, components always have the following ordering: Y,Cb,Cr,A.

Requirements

Requirement Value
Minimum supported client Windows 11, verion 24H2
Header dxva.h

See also

D3D12_VIDEO_DECODE_ARGUMENT_TYPE

D3D11_VIDEO_DECODER_BUFFER_TYPE