We currently use DNxHD SDK for decoding DNxHD content. DNxHD content of each bitdepth is downsampled to 8 bit.
Currently before calling SetInputOutputDataTypes SDK API of AVID Decoder , we are setting UncompInfo structure with the below info:-- colorSpace = CS_YCbCr_709; colorComponentOrder = CCO_CbYCrY_NoA; chromaSubSampling = CSS_4220; resolution = RS_FULL; signalStandard = SS_274M_I; componentType = CT_UCHAR; componentRangeType = CRT_VideoRange; rasterGeometryType = RGT_SignalStandard; bufferLineOrientation = BLO_Top_Bot; bIsAlphaPresent = kACFFalse; uncompressedBufferAlignment = 16; isAlpha0Transparent = kACFBool_Max; After this everytime decode API on a frame will return the YUV components with bit depth 8 only irrespective of bit depth defined by DNxHD Profile. As per my understanding, in order to fetch the values of YUV components with bit depth for streams having bit depth more than 8 we need to set componentType to CT_SHORT, but after this change the SetInputOutputDataTypes SDK API returns error code -7(means HDCodec Memory Allocation fails.). Do we need to set something else in order to support the files for bit depth greater than 8.?
Vijeta,
CT_USHORT_10_6 is the component type you are looking for. It stores 10 bit values shifted 6 bits left. So this component type could be used for 16 bit destinations without any intermediate conversion. To obtain 10 bit integer value from the CT_USHORT_10_6 component type you should divide its unsigned 2 bytes value by 64.
Oleksii.
© Copyright 2011 Avid Technology, Inc. Terms of Use | Privacy Policy | Site Map | Find a Reseller