diff --git a/tsvm_core/src/net/torvald/tsvm/peripheral/BlockTransferInterface.kt b/tsvm_core/src/net/torvald/tsvm/peripheral/BlockTransferInterface.kt index 79d4a77..e41ae7b 100644 --- a/tsvm_core/src/net/torvald/tsvm/peripheral/BlockTransferInterface.kt +++ b/tsvm_core/src/net/torvald/tsvm/peripheral/BlockTransferInterface.kt @@ -109,6 +109,8 @@ abstract class BlockTransferInterface(val isMaster: Boolean, val isSlave: Boolea * @param byteCount Number of bytes being transmitted */ protected fun applyBaudRateDelay(byteCount: Int) { + if (baudRate <= 0) return + // Calculate delay in milliseconds // Baud rate is bits per second, and we assume 10 bits per byte (8 data bits + start/stop bits) val bitsTransmitted = byteCount * 10 diff --git a/video_encoder/encoder_tav.c b/video_encoder/encoder_tav.c index 6b66799..0e53875 100644 --- a/video_encoder/encoder_tav.c +++ b/video_encoder/encoder_tav.c @@ -2778,7 +2778,7 @@ int main(int argc, char *argv[]) { int count_iframe = 0; int count_pframe = 0; - KEYFRAME_INTERVAL = enc->output_fps >> 2; // refresh often because deltas in DWT are more visible than DCT + KEYFRAME_INTERVAL = CLAMP(enc->output_fps >> 3, 3, 30); // refresh often because deltas in DWT are more visible than DCT while (continue_encoding) { // Check encode limit if specified