mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2025-11-10 14:47:24 +01:00
Add codec based multiplier (h265 = 0.7x)
This commit is contained in:
@@ -89,11 +89,18 @@ data class CompressionRule(
|
||||
val bitrateMbps: Float,
|
||||
val description: String,
|
||||
) {
|
||||
fun getBitrateBps(framerate: Float): Int {
|
||||
// Apply 1.5x multiplier for 60fps+ videos
|
||||
val multiplier = if (framerate >= 60f) 1.5f else 1.0f
|
||||
fun getBitrateBps(
|
||||
framerate: Float,
|
||||
useH265: Boolean,
|
||||
): Int {
|
||||
// Apply 1.3x multiplier for 60fps+ videos, 0.7x multiplier for H265
|
||||
val framerateMultiplier = if (framerate >= 60f) 1.3f else 1.0f
|
||||
val codecMultiplier = if (useH265) 0.7f else 1.0f
|
||||
val finalMultiplier = framerateMultiplier * codecMultiplier
|
||||
|
||||
return (bitrateMbps * multiplier * MBPS_TO_BPS_MULTIPLIER).toInt()
|
||||
Log.d("VideoCompressionHelper", "framerate: $framerate, useH265: $useH265, Bitrate multiplier: $finalMultiplier")
|
||||
|
||||
return (bitrateMbps * finalMultiplier * MBPS_TO_BPS_MULTIPLIER).toInt()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -154,8 +161,8 @@ object VideoCompressionHelper {
|
||||
.getValue(mediaQuality)
|
||||
.getValue(info.resolution.getStandard())
|
||||
|
||||
val bitrateBps = rule.getBitrateBps(info.framerate)
|
||||
Log.d(LOG_TAG, "Bitrate: ${bitrateBps}bps for ${info.resolution.getStandard()} quality=$mediaQuality framerate=${info.framerate}fps.")
|
||||
val bitrateBps = rule.getBitrateBps(info.framerate, useH265)
|
||||
Log.d(LOG_TAG, "Bitrate: ${bitrateBps}bps for ${info.resolution.getStandard()} quality=$mediaQuality framerate=${info.framerate}fps useH265=$useH265.")
|
||||
|
||||
Log.d(
|
||||
LOG_TAG,
|
||||
|
||||
Reference in New Issue
Block a user