David Zhao
Committed by GitHub

Switching to using Hxxx for presets (#257)

... ... @@ -83,22 +83,64 @@ enum class VideoPreset169(
override val capture: VideoCaptureParameter,
override val encoding: VideoEncoding,
) : VideoPreset {
H90(
VideoCaptureParameter(160, 90, 15),
VideoEncoding(90_000, 15),
),
H180(
VideoCaptureParameter(320, 180, 15),
VideoEncoding(160_000, 15),
),
H216(
VideoCaptureParameter(384, 216, 15),
VideoEncoding(180_000, 15),
),
H360(
VideoCaptureParameter(640, 360, 30),
VideoEncoding(450_000, 30),
),
H540(
VideoCaptureParameter(960, 540, 30),
VideoEncoding(800_000, 30),
),
H720(
VideoCaptureParameter(1280, 720, 30),
VideoEncoding(1_700_000, 30),
),
H1080(
VideoCaptureParameter(1920, 1080, 30),
VideoEncoding(3_000_000, 30),
),
H1440(
VideoCaptureParameter(2560, 1440, 30),
VideoEncoding(5_000_000, 30),
),
H2160(
VideoCaptureParameter(3840, 2160, 30),
VideoEncoding(8_000_000, 30),
),
@Deprecated("QVGA is deprecated, use H180 instead")
QVGA(
VideoCaptureParameter(320, 180, 15),
VideoEncoding(125_000, 15),
),
@Deprecated("VGA is deprecated, use H360 instead")
VGA(
VideoCaptureParameter(640, 360, 30),
VideoEncoding(400_000, 30),
),
@Deprecated("QHD is deprecated, use H540 instead")
QHD(
VideoCaptureParameter(960, 540, 30),
VideoEncoding(800_000, 30),
),
@Deprecated("HD is deprecated, use H720 instead")
HD(
VideoCaptureParameter(1280, 720, 30),
VideoEncoding(2_500_000, 30),
),
@Deprecated("FHD is deprecated, use H1080 instead")
FHD(
VideoCaptureParameter(1920, 1080, 30),
VideoEncoding(4_000_000, 30),
... ... @@ -112,22 +154,64 @@ enum class VideoPreset43(
override val capture: VideoCaptureParameter,
override val encoding: VideoEncoding,
) : VideoPreset {
H120(
VideoCaptureParameter(160, 120, 15),
VideoEncoding(70_000, 15),
),
H180(
VideoCaptureParameter(240, 180, 15),
VideoEncoding(125_000, 15),
),
H240(
VideoCaptureParameter(320, 240, 15),
VideoEncoding(140_000, 15),
),
H360(
VideoCaptureParameter(480, 360, 30),
VideoEncoding(330_000, 30),
),
H480(
VideoCaptureParameter(640, 480, 30),
VideoEncoding(500_000, 30),
),
H540(
VideoCaptureParameter(720, 540, 30),
VideoEncoding(600_000, 30),
),
H720(
VideoCaptureParameter(960, 720, 30),
VideoEncoding(1_300_000, 30),
),
H1080(
VideoCaptureParameter(1440, 1080, 30),
VideoEncoding(2_300_000, 30),
),
H1440(
VideoCaptureParameter(1920, 1440, 30),
VideoEncoding(3_800_000, 30),
),
@Deprecated("QVGA is deprecated, use H120 instead")
QVGA(
VideoCaptureParameter(240, 180, 15),
VideoEncoding(100_000, 15),
),
@Deprecated("VGA is deprecated, use H360 instead")
VGA(
VideoCaptureParameter(480, 360, 30),
VideoEncoding(320_000, 30),
),
@Deprecated("QHD is deprecated, use H540 instead")
QHD(
VideoCaptureParameter(720, 540, 30),
VideoEncoding(640_000, 30),
),
@Deprecated("HD is deprecated, use H720 instead")
HD(
VideoCaptureParameter(960, 720, 30),
VideoEncoding(2_000_000, 30),
),
@Deprecated("FHD is deprecated, use H1080 instead")
FHD(
VideoCaptureParameter(1440, 1080, 30),
VideoEncoding(3_200_000, 30),
... ...
... ... @@ -32,20 +32,28 @@ internal object EncodingUtils {
// Note: maintain order from smallest to biggest.
private val PRESETS_16_9 = listOf(
VideoPreset169.QVGA,
VideoPreset169.VGA,
VideoPreset169.QHD,
VideoPreset169.HD,
VideoPreset169.FHD
VideoPreset169.H90,
VideoPreset169.H180,
VideoPreset169.H216,
VideoPreset169.H360,
VideoPreset169.H540,
VideoPreset169.H720,
VideoPreset169.H1080,
VideoPreset169.H1440,
VideoPreset169.H2160
)
// Note: maintain order from smallest to biggest.
private val PRESETS_4_3 = listOf(
VideoPreset43.QVGA,
VideoPreset43.VGA,
VideoPreset43.QHD,
VideoPreset43.HD,
VideoPreset43.FHD
VideoPreset43.H120,
VideoPreset43.H180,
VideoPreset43.H240,
VideoPreset43.H360,
VideoPreset43.H480,
VideoPreset43.H540,
VideoPreset43.H720,
VideoPreset43.H1080,
VideoPreset43.H1440,
)
fun determineAppropriateEncoding(width: Int, height: Int): VideoEncoding {
... ...