/// <summary> /// Write instruction operands into bytecode stream. /// </summary> /// <param name="writer">Bytecode writer.</param> public override void WriteOperands(WordWriter writer) { LumaIntraPartitionMask.Write(writer); IntraNeighbourAvailabilty.Write(writer); LeftEdgeLumaPixels.Write(writer); UpperLeftCornerLumaPixel.Write(writer); UpperEdgeLumaPixels.Write(writer); UpperRightEdgeLumaPixels.Write(writer); LeftEdgeChromaPixels.Write(writer); UpperLeftCornerChromaPixel.Write(writer); UpperEdgeChromaPixels.Write(writer); SadAdjustment.Write(writer); Payload.Write(writer); }
/// <summary> /// Calculate number of words to fit complete instruction bytecode. /// </summary> /// <returns>Number of words in instruction bytecode.</returns> public override uint GetWordCount() { uint wordCount = 0; wordCount += IdResultType.GetWordCount(); wordCount += IdResult.GetWordCount(); wordCount += LumaIntraPartitionMask.GetWordCount(); wordCount += IntraNeighbourAvailabilty.GetWordCount(); wordCount += LeftEdgeLumaPixels.GetWordCount(); wordCount += UpperLeftCornerLumaPixel.GetWordCount(); wordCount += UpperEdgeLumaPixels.GetWordCount(); wordCount += UpperRightEdgeLumaPixels.GetWordCount(); wordCount += LeftEdgeChromaPixels.GetWordCount(); wordCount += UpperLeftCornerChromaPixel.GetWordCount(); wordCount += UpperEdgeChromaPixels.GetWordCount(); wordCount += SadAdjustment.GetWordCount(); wordCount += Payload.GetWordCount(); return(wordCount); }