Have AndroidTestUtil.canEncode mirror VideoSampleExporter

Some devices can encode portrait 720x1080 but not landscape
1080x720. But VideoSampleExporter always prefers encoding
landscape. Have `assumeFormatsSupported` mirror sample exporter
logic more closely

PiperOrigin-RevId: 679495210
This commit is contained in:
dancho 2024-09-27 01:57:47 -07:00 committed by Copybara-Service
parent 23e02cce81
commit b9aed0a937

View File

@ -1282,8 +1282,15 @@ public final class AndroidTestUtil {
} }
android.media.MediaCodecInfo encoder = supportedEncoders.get(0); android.media.MediaCodecInfo encoder = supportedEncoders.get(0);
boolean sizeSupported = // VideoSampleExporter rotates videos into landscape before encoding.
EncoderUtil.isSizeSupported(encoder, mimeType, format.width, format.height); // Check if the encoder supports the video dimensions after rotating to landscape.
int width = format.width;
int height = format.height;
if (width < height) {
width = format.height;
height = format.width;
}
boolean sizeSupported = EncoderUtil.isSizeSupported(encoder, mimeType, width, height);
boolean bitrateSupported = boolean bitrateSupported =
format.averageBitrate == Format.NO_VALUE format.averageBitrate == Format.NO_VALUE
|| EncoderUtil.getSupportedBitrateRange(encoder, mimeType) || EncoderUtil.getSupportedBitrateRange(encoder, mimeType)