3 Replies
      Latest reply on Jun 11, 2019 1:35 PM by hz10
      Anders Cedronius Level 1 Level 1 (0 points)

        When decoding H264 I do this:


                const uint8_t *sets[] = {[currentPPS bytes], [currentSPS bytes]};
                const size_t sizes[] = {[currentPPS length], [currentSPS length]};
                status = CMVideoFormatDescriptionCreateFromH264ParameterSets(NULL, 2, sets, sizes, 4, &formatDescription);


        That works great. However when trying to decode HEVC  ->


                const uint8_t *sets[] = {[currentPPS bytes], [currentSPS bytes], [currentVPS bytes]};
                const size_t sizes[] = {[currentPPS length], [currentSPS length], [currentVPS length]};
        status = CMVideoFormatDescriptionCreateFromHEVCParameterSets(NULL, 3, sets, sizes, 4, &formatDescription);


        CMVideoFormatDescriptionCreateFromHEVCParameterSets gives me ->


        hevcbridgeAdvanceInBitstream signalled err=-12714 (kFigBridgeInvalidSerializedSampleDescriptionErr) (end of bitstream) at /BuildRoot/Library/Caches/com.apple.xbs/Sources/EmbeddedCoreMediaFramework_Sim/EmbeddedCoreMedia-2010.7.3/Sources/Core/FigFormatDescription/FigHEVCBridge.c line 244




        Apples parser works. It was our parameter sets that was wrong... This issue is no more.