/// <summary> /// Create sync block if needed /// </summary> /// <param name="bSync">This is used to indicate if sync block needed.</param> public virtual void CreateSyncBlock(bool bSync) { // Create sync block if needed and add to block list. if (bSync) { RFX_Progressive_SYNC sync_block = new RFX_Progressive_SYNC(RFX_Progressive_CONST.SYNC_VERSION); blkList.Add(sync_block); } }
/// <summary> /// Create sync block if needed. /// </summary> /// <param name="bSync">This is used to indicate if sync block needed.</param> public override void CreateSyncBlock(bool bSync) { if (bmTestType == RdpegfxNegativeTypes.RfxProgCodec_TooSmallBlockType) { RFX_Progressive_SYNC smallTypeBlcok = new RFX_Progressive_SYNC(RFX_Progressive_CONST.SYNC_VERSION); smallTypeBlcok.blockType -= 1; // Set block type to 0xccbf. blkList.Add(smallTypeBlcok); } if (bmTestType == RdpegfxNegativeTypes.RfxProgCodec_TooBigBlockType) { RFX_Progressive_SYNC bigTypeBlcok = new RFX_Progressive_SYNC(RFX_Progressive_CONST.SYNC_VERSION); bigTypeBlcok.blockType += 8; // Set block type to 0xccc8. blkList.Add(bigTypeBlcok); } // Create sync block if needed and add to block list. if (bSync && bmTestType != RdpegfxNegativeTypes.RfxProgCodec_SyncBlock_IsNotFirst) { RFX_Progressive_SYNC sync_block = new RFX_Progressive_SYNC(RFX_Progressive_CONST.SYNC_VERSION); if (bmTestType == RdpegfxNegativeTypes.RfxProgCodec_SyncBlock_IncorrectLen) { sync_block.blockLen += 1; // Change blockLen into a value other than 12. } if (bmTestType == RdpegfxNegativeTypes.RfxProgCodec_SyncBlock_IncorrectMagic) { sync_block.magic -= 1; // Change magic into a value other than 0xCACCACCA. } if (bmTestType == RdpegfxNegativeTypes.RfxProgCodec_SyncBlock_IncorrectVersion) { sync_block.version += 1; // Change version into a value other than 0x0100. } blkList.Add(sync_block); if (bmTestType == RdpegfxNegativeTypes.RfxProgCodec_DuplicatedSyncBlock) { RFX_Progressive_SYNC sync_block2 = new RFX_Progressive_SYNC(RFX_Progressive_CONST.SYNC_VERSION); blkList.Add(sync_block2); } } }