Repository navigation
[BUG] Compression fails with an AVC video #67
Description
Activity
- addedBugSomething isn't workingSomething isn't workingTriageThis issue has not been reviewed yetThis issue has not been reviewed yet
on May 18, 2026 - addedInvalidThis doesn't seem rightThis doesn't seem rightOEM issueThis issue is caused by your device manufacturer, not CompressorThis issue is caused by your device manufacturer, not Compressorand removedTriageThis issue has not been reviewed yetThis issue has not been reviewed yet
on May 18, 2026 Oops, I applied the wrong tags! Let me undo that
- addedMedia3This issue is related to Android's Media3 frameworkThis issue is related to Android's Media3 frameworkMedium PriorityThis issue is of medium priorityThis issue is of medium priorityand removedInvalidThis doesn't seem rightThis doesn't seem rightOEM issueThis issue is caused by your device manufacturer, not CompressorThis issue is caused by your device manufacturer, not Compressor
on May 18, 2026 Sorry about that, and thanks for opening an issue @stacsk! At first, I thought this was simply your device not supporting the colour space in the original video for hardware encoding, but it seems that your chipset actually doesn't like that colour space at that specific resolution. I'll try and see if I can fix that for you!
Reacted by stacskOh, got it. Thanks very much. But I just wanna say, if it's an extremely specific issue that would require too much effort to fix, I could do without it. I already have my computer to do the compression stuff most of the time; so I'm okay if it's not fixed.
@stacsk Try this APK, I don't have a Xiaomi phone to test it on but it works like normal on my Z Flip4
This one fails too. I also noticed that (with both apps) the fail occurs on a lot of videos. Below this log is another video's log.
Device: Xiaomi 22101316UP
Android Version: 13 (SDK 33)
App Version: 1.5.6 (Nightly, adbb14b)
Original: 1920x1080 @ 30.0fps
Target: 1080p @ 0fps
Codec: video/hevc
Error: Codec exception: CodecInfo{type=VideoEncoder, configurationFormat=Format(null, null, null, video/avc, avc1.640028, -1, null, [1280, 720, 29.995518, null], [-1, -1]), name=null}Stack Trace:
androidx.media3.transformer.ExportException: Codec exception: CodecInfo{type=VideoEncoder, configurationFormat=Format(null, null, null, video/avc, avc1.640028, -1, null, [1280, 720, 29.995518, null], [-1, -1]), name=null}
at androidx.media3.transformer.DefaultEncoderFactory.createExportException(DefaultEncoderFactory.java:750)
at androidx.media3.transformer.DefaultEncoderFactory.createForVideoEncoding(DefaultEncoderFactory.java:267)
at compress.joshattic.us.CompressorViewModel$startCompression$encoderFactory$1.createForVideoEncoding(CompressorViewModel.kt:763)
at androidx.media3.transformer.CapturingEncoderFactory.createForVideoEncoding(CapturingEncoderFactory.java:41)
at androidx.media3.transformer.VideoSampleExporter$EncoderWrapper.getSurfaceInfo(VideoSampleExporter.java:329)
at androidx.media3.transformer.VideoSampleExporter$VideoGraphWrapper.onOutputSizeChanged(VideoSampleExporter.java:512)
at androidx.media3.effect.SingleInputVideoGraph$1.lambda$onOutputSizeChanged$0$androidx-media3-effect-SingleInputVideoGraph$1(SingleInputVideoGraph.java:114)
at androidx.media3.effect.SingleInputVideoGraph$1$$ExternalSyntheticLambda1.run(D8$$SyntheticClass:0)
at com.google.common.util.concurrent.DirectExecutor.execute(DirectExecutor.java:31)
at androidx.media3.effect.SingleInputVideoGraph$1.onOutputSizeChanged(SingleInputVideoGraph.java:114)
at androidx.media3.effect.FinalShaderProgramWrapper.lambda$ensureConfigured$6$androidx-media3-effect-FinalShaderProgramWrapper(FinalShaderProgramWrapper.java:501)
at androidx.media3.effect.FinalShaderProgramWrapper$$ExternalSyntheticLambda1.run(D8$$SyntheticClass:0)
at com.google.common.util.concurrent.DirectExecutor.execute(DirectExecutor.java:31)
at androidx.media3.effect.FinalShaderProgramWrapper.ensureConfigured(FinalShaderProgramWrapper.java:499)
at androidx.media3.effect.FinalShaderProgramWrapper.renderFrame(FinalShaderProgramWrapper.java:410)
at androidx.media3.effect.FinalShaderProgramWrapper.queueInputFrame(FinalShaderProgramWrapper.java:229)
at androidx.media3.effect.FrameConsumptionManager.lambda$queueInputFrame$1$androidx-media3-effect-FrameConsumptionManager(FrameConsumptionManager.java:96)
at androidx.media3.effect.FrameConsumptionManager$$ExternalSyntheticLambda1.run(D8$$SyntheticClass:0)
at androidx.media3.effect.VideoFrameProcessingTaskExecutor.lambda$wrapTaskAndSubmitToExecutorService$3$androidx-media3-effect-VideoFrameProcessingTaskExecutor(VideoFrameProcessingTaskExecutor.java:290)
at androidx.media3.effect.VideoFrameProcessingTaskExecutor$$ExternalSyntheticLambda0.run(D8$$SyntheticClass:0)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:487)
at java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
at java.lang.Thread.run(Thread.java:1012)
Caused by: java.lang.IllegalArgumentException: The requested video encoding format is not supported.
... 25 moreDevice: Xiaomi 22101316UP Android Version: 13 (SDK 33) App Version: 1.5.6 (Nightly, adbb14b) Original: 1708x960 @ 30.0fps Target: 960p @ 0fps Codec: video/hevc Error: Codec exception: CodecInfo{type=VideoEncoder, configurationFormat=Format(null, null, null, video/avc, null, -1, null, [1280, 720, 30.0, null], [-1, -1]), name=null} Stack Trace: androidx.media3.transformer.ExportException: Codec exception: CodecInfo{type=VideoEncoder, configurationFormat=Format(null, null, null, video/avc, null, -1, null, [1280, 720, 30.0, null], [-1, -1]), name=null} at androidx.media3.transformer.DefaultEncoderFactory.createExportException(DefaultEncoderFactory.java:750) at androidx.media3.transformer.DefaultEncoderFactory.createForVideoEncoding(DefaultEncoderFactory.java:267) at compress.joshattic.us.CompressorViewModel$startCompression$encoderFactory$1.createForVideoEncoding(CompressorViewModel.kt:763) at androidx.media3.transformer.CapturingEncoderFactory.createForVideoEncoding(CapturingEncoderFactory.java:41) at androidx.media3.transformer.VideoSampleExporter$EncoderWrapper.getSurfaceInfo(VideoSampleExporter.java:329) at androidx.media3.transformer.VideoSampleExporter$VideoGraphWrapper.onOutputSizeChanged(VideoSampleExporter.java:512) at androidx.media3.effect.SingleInputVideoGraph$1.lambda$onOutputSizeChanged$0$androidx-media3-effect-SingleInputVideoGraph$1(SingleInputVideoGraph.java:114) at androidx.media3.effect.SingleInputVideoGraph$1$$ExternalSyntheticLambda1.run(D8$$SyntheticClass:0) at com.google.common.util.concurrent.DirectExecutor.execute(DirectExecutor.java:31) at androidx.media3.effect.SingleInputVideoGraph$1.onOutputSizeChanged(SingleInputVideoGraph.java:114) at androidx.media3.effect.FinalShaderProgramWrapper.lambda$ensureConfigured$6$androidx-media3-effect-FinalShaderProgramWrapper(FinalShaderProgramWrapper.java:501) at androidx.media3.effect.FinalShaderProgramWrapper$$ExternalSyntheticLambda1.run(D8$$SyntheticClass:0) at com.google.common.util.concurrent.DirectExecutor.execute(DirectExecutor.java:31) at androidx.media3.effect.FinalShaderProgramWrapper.ensureConfigured(FinalShaderProgramWrapper.java:499) at androidx.media3.effect.FinalShaderProgramWrapper.renderFrame(FinalShaderProgramWrapper.java:410) at androidx.media3.effect.FinalShaderProgramWrapper.queueInputFrame(FinalShaderProgramWrapper.java:229) at androidx.media3.effect.FrameConsumptionManager.lambda$queueInputFrame$1$androidx-media3-effect-FrameConsumptionManager(FrameConsumptionManager.java:96) at androidx.media3.effect.FrameConsumptionManager$$ExternalSyntheticLambda1.run(D8$$SyntheticClass:0) at androidx.media3.effect.VideoFrameProcessingTaskExecutor.lambda$wrapTaskAndSubmitToExecutorService$3$androidx-media3-effect-VideoFrameProcessingTaskExecutor(VideoFrameProcessingTaskExecutor.java:290) at androidx.media3.effect.VideoFrameProcessingTaskExecutor$$ExternalSyntheticLambda0.run(D8$$SyntheticClass:0) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:487) at java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012) Caused by: java.lang.IllegalArgumentException: The requested video encoding format is not supported. ... 25 more@stacsk try this one, you'll need to uninstall the old one
Reacted by stacskOkay this one works. Thanks very much! <3<3
AV1 (from HEVC) was failing similarly for me on 1.5.5. Tried the last apk you posted and it no longer fails.
- addedHigh PriorityThis issue is of high priorityThis issue is of high priorityand removedMedium PriorityThis issue is of medium priorityThis issue is of medium priority
on May 20, 2026
Metadata
Metadata
Assignees
Labels
Projects
- StatusShow more project fieldsReleased
Prerequisites
Issue Description (required)
Compression fails on start with an AVC codec video. Codec id is isom. I tried with both h264 and h265.
Expected Behaviour (required)
Video should compress succesfully.
Device Info (required)
Device Manufacturer* (e.g. Samsung): Redmi
App Version: 1.5.5
Device: Xiaomi 22101316UP (Android 13)
Supported Encoders: video/avc, video/hevc
Screenshots (required)
Logcat
Device: Xiaomi 22101316UP
Android Version: 13 (SDK 33)
App Version: 1.5.5
Original: 1920x1080 @ 30.0fps
Target: 1080p @ 0fps
Codec: video/hevc
Error: Codec exception: CodecInfo{type=VideoEncoder, configurationFormat=Format(null, null, null, video/avc, avc1.640028, -1, null, [1280, 720, 29.995518, ColorInfo(BT709, Limited range, SDR SMPTE 170M, false, 8bit Luma, 8bit Chroma)], [-1, -1]), name=null}
Stack Trace:
androidx.media3.transformer.ExportException: Codec exception: CodecInfo{type=VideoEncoder, configurationFormat=Format(null, null, null, video/avc, avc1.640028, -1, null, [1280, 720, 29.995518, ColorInfo(BT709, Limited range, SDR SMPTE 170M, false, 8bit Luma, 8bit Chroma)], [-1, -1]), name=null}
at androidx.media3.transformer.DefaultEncoderFactory.createExportException(DefaultEncoderFactory.java:750)
at androidx.media3.transformer.DefaultEncoderFactory.createForVideoEncoding(DefaultEncoderFactory.java:267)
at androidx.media3.transformer.DefaultEncoderFactory.createForVideoEncoding(DefaultEncoderFactory.java:53)
at androidx.media3.transformer.CapturingEncoderFactory.createForVideoEncoding(CapturingEncoderFactory.java:41)
at androidx.media3.transformer.VideoSampleExporter$EncoderWrapper.getSurfaceInfo(VideoSampleExporter.java:329)
at androidx.media3.transformer.VideoSampleExporter$VideoGraphWrapper.onOutputSizeChanged(VideoSampleExporter.java:512)
at androidx.media3.effect.SingleInputVideoGraph$1.lambda$onOutputSizeChanged$0$androidx-media3-effect-SingleInputVideoGraph$1(SingleInputVideoGraph.java:114)
at androidx.media3.effect.SingleInputVideoGraph$1$$ExternalSyntheticLambda1.run(D8$$SyntheticClass:0)
at com.google.common.util.concurrent.DirectExecutor.execute(DirectExecutor.java:31)
at androidx.media3.effect.SingleInputVideoGraph$1.onOutputSizeChanged(SingleInputVideoGraph.java:114)
at androidx.media3.effect.FinalShaderProgramWrapper.lambda$ensureConfigured$6$androidx-media3-effect-FinalShaderProgramWrapper(FinalShaderProgramWrapper.java:501)
at androidx.media3.effect.FinalShaderProgramWrapper$$ExternalSyntheticLambda1.run(D8$$SyntheticClass:0)
at com.google.common.util.concurrent.DirectExecutor.execute(DirectExecutor.java:31)
at androidx.media3.effect.FinalShaderProgramWrapper.ensureConfigured(FinalShaderProgramWrapper.java:499)
at androidx.media3.effect.FinalShaderProgramWrapper.renderFrame(FinalShaderProgramWrapper.java:410)
at androidx.media3.effect.FinalShaderProgramWrapper.queueInputFrame(FinalShaderProgramWrapper.java:229)
at androidx.media3.effect.FrameConsumptionManager.lambda$queueInputFrame$1$androidx-media3-effect-FrameConsumptionManager(FrameConsumptionManager.java:96)
at androidx.media3.effect.FrameConsumptionManager$$ExternalSyntheticLambda1.run(D8$$SyntheticClass:0)
at androidx.media3.effect.VideoFrameProcessingTaskExecutor.lambda$wrapTaskAndSubmitToExecutorService$3$androidx-media3-effect-VideoFrameProcessingTaskExecutor(VideoFrameProcessingTaskExecutor.java:290)
at androidx.media3.effect.VideoFrameProcessingTaskExecutor$$ExternalSyntheticLambda0.run(D8$$SyntheticClass:0)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:487)
at java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
at java.lang.Thread.run(Thread.java:1012)
Caused by: java.lang.IllegalArgumentException: The requested video encoding format is not supported.
... 25 more