MCPcopy Create free account
hub / github.com/AOMediaCodec/libavif / avifEncoderWriteSampleTransformTokens

Function avifEncoderWriteSampleTransformTokens

src/write.c:1067–1087  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1065}
1066
1067static avifResult avifEncoderWriteSampleTransformTokens(avifRWStream * s, const avifSampleTransformExpression * expression)
1068{
1069 AVIF_ASSERT_OR_RETURN(expression->count <= 255);
1070 AVIF_CHECKRES(avifRWStreamWriteU8(s, (uint8_t)expression->count)); // unsigned int(8) token_count;
1071
1072 for (uint32_t t = 0; t < expression->count; ++t) {
1073 const avifSampleTransformToken * token = &expression->tokens[t];
1074
1075 if (token->type == AVIF_SAMPLE_TRANSFORM_CONSTANT) {
1076 AVIF_CHECKRES(avifRWStreamWriteU8(s, token->type)); // unsigned int(8) token;
1077 const uint32_t constant = (uint32_t)token->constant;
1078 AVIF_CHECKRES(avifRWStreamWriteU32(s, constant)); // signed int(1<<(bit_depth+3)) constant;
1079 } else if (token->type == AVIF_SAMPLE_TRANSFORM_INPUT_IMAGE_ITEM_INDEX) {
1080 AVIF_CHECKRES(avifRWStreamWriteU8(s, token->inputImageItemIndex)); // unsigned int(8) token;
1081 } else {
1082 // Operator.
1083 AVIF_CHECKRES(avifRWStreamWriteU8(s, token->type)); // unsigned int(8) token;
1084 }
1085 }
1086 return AVIF_RESULT_OK;
1087}
1088
1089static avifResult avifEncoderWriteSampleTransformPayload(avifEncoder * encoder, avifRWData * data)
1090{

Calls 2

avifRWStreamWriteU8Function · 0.85
avifRWStreamWriteU32Function · 0.85

Tested by

no test coverage detected