diff --git a/src/loaders/lottie/tvgLottieBuilder.cpp b/src/loaders/lottie/tvgLottieBuilder.cpp index 0122741a..f5543ae7 100644 --- a/src/loaders/lottie/tvgLottieBuilder.cpp +++ b/src/loaders/lottie/tvgLottieBuilder.cpp @@ -1326,7 +1326,7 @@ void LottieBuilder::updateEffect(LottieLayer* layer, float frameNo) case LottieEffect::Fill: { auto effect = static_cast(*ef); auto color = effect->color(frameNo); - layer->scene->push(SceneEffect::Fill, color.rgb[0], color.rgb[1], color.rgb[2], (int)(255.0f *effect->opacity(frameNo))); + layer->scene->push(SceneEffect::Fill, color.rgb[0], color.rgb[1], color.rgb[2], (int)(255.0f * effect->opacity(frameNo))); break; } case LottieEffect::Tritone: { diff --git a/src/renderer/sw_engine/tvgSwPostEffect.cpp b/src/renderer/sw_engine/tvgSwPostEffect.cpp index 630ff82b..052468f0 100644 --- a/src/renderer/sw_engine/tvgSwPostEffect.cpp +++ b/src/renderer/sw_engine/tvgSwPostEffect.cpp @@ -473,7 +473,7 @@ bool effectTint(SwCompositor* cmp, const RenderEffectTint* params, bool direct) auto opacity = cmp->opacity; auto luma = cmp->recoverSfc->alphas[2]; //luma function - TVGLOG("SW_ENGINE", "Tint region(%ld, %ld, %ld, %ld), param(%d %d %d, %d %d %d, %f)", bbox.min.x, bbox.min.y, bbox.max.x, bbox.max.y, params->black[0], params->black[1], params->black[2], params->white[0], params->white[1], params->white[2], params->intensity); + TVGLOG("SW_ENGINE", "Tint region(%ld, %ld, %ld, %ld), param(%d %d %d, %d %d %d, %d)", bbox.min.x, bbox.min.y, bbox.max.x, bbox.max.y, params->black[0], params->black[1], params->black[2], params->white[0], params->white[1], params->white[2], params->intensity); /* Tint Formula: (1 - L) * Black + L * White, where the L is Luminance. */ diff --git a/src/renderer/tvgRender.h b/src/renderer/tvgRender.h index c833d4e4..f4268de8 100644 --- a/src/renderer/tvgRender.h +++ b/src/renderer/tvgRender.h @@ -332,7 +332,7 @@ struct RenderEffectTint : RenderEffect { uint8_t black[3]; //rgb uint8_t white[3]; //rgb - float intensity; //0 - 100 + uint8_t intensity; //0 - 255 static RenderEffectTint* gen(va_list& args) { @@ -343,7 +343,7 @@ struct RenderEffectTint : RenderEffect inst->white[0] = va_arg(args, int); inst->white[1] = va_arg(args, int); inst->white[2] = va_arg(args, int); - inst->intensity = std::min((float)va_arg(args, double), 100.0f) * 2.55f; + inst->intensity = (uint8_t)(va_arg(args, double) * 2.55f); inst->type = SceneEffect::Tint; return inst; }