[FFmpeg-trac] #10096(undetermined:new): MediaCodec Encoder: Pixel ColorSpace of many Adreno GPUs is not supported

FFmpeg trac at avcodec.org
Wed Dec 7 19:59:47 EET 2022

#10096: MediaCodec Encoder: Pixel ColorSpace of many Adreno GPUs is not supported
             Reporter:  Ben T        |                     Type:  defect
               Status:  new          |                 Priority:  normal
            Component:               |                  Version:
  undetermined                       |  unspecified
             Keywords:               |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
 MediaCodec Encoder: Pixel ColorSpace of many Adreno GPUs is not supported
 (<= Adreno 650 in our testing)

 What you were trying to accomplish?

 I am trying to transcode an MP4 file using the MediaCodec encoder support
 that was recently added by Zhao Zhili <zhilizhao at tencent.com> here
 The problem you encountered:

 On multiple phones containing an Adreno GPU, the encoding process
 immediately fails because the color space expected by the GPU is

 The exact error output:

 “does not support color format 19”

 Phone information:

 Model Name: Samsung Galaxy S10

 Model Number: SM-G793U1

 GPU Information: Adreno 640

 Other phones that were tested and not working with this same error:

 Brand   Model name      Model number    OS      GPU

 Huawei  Honor 10        COL-L29 Android 8.1     Mali-G72
 Xiaomi  Redmi Note 9S   Redmi Note 9S   Android 11      Adreno (TM) 618
 Samsung Galaxy Z Flip   SM-F700U1       Android 11      Adreno (TM) 640
 Razer   Razer phone     Phone   Android 7.1.1   Adreno (TM) 540
 Essential       PH-1    PH-1    Android 8.1     Adreno (TM) 541
 Huawei  Nexus 6P        Nexus 6P        Android 8.1     Adreno (TM) 430
 Samsung Galaxy S6       SM-G920A        Android 7       Mali-T760
 Samsung Galaxy Tab S4 (Tablet)  SM-T830 Android 10      Adreno (TM) 540
 Samsung Galaxy S20 FE   SM-G780G/DS     Android 12      Adreno (TM) 650
 Samsung Galaxy S10      SM-G973U1       Android 11      Adreno (TM) 640
 Samsung Galaxy Note10   SM-N970U1       Android 12      Adreno (TM) 640

 The following phones did not exhibit this behavior and were able to encode
 without issues:

 Brand   Model name      Model number    OS      GPU

 Samsung Galaxy S21 Ultra 5G     SM-G998U1       Android 12      Adreno
 (TM) 660
 Huawei  P10 plus        VKY-L29 Android 8.1     Mali-G71
 Huawei  P40 Lite        JNY-LX1 Android 10      Mali-G52
 Samsung Galaxy S8       SM-G950F        Android 9       Mali-G71
 Samsung Galaxy S10+     Sm-G975F        Android 12      Mali-G76
 Huawei  P30     ELE-L29 Android 10      Mali-G76
 Google  Pixel 4XL       Pixel 4XL       Android 13      Adreno (TM) 640
 Samsung Galaxy S7       SM-G930F        Android 8       Mali-T880
 Samsung Galaxy S10      SM-G973F        Android 11      Mali-G76
 Samsung         Galaxy S20 FE   SM-G780F        Android 11      Mali G77
 Google  Pixel 6 Pixel 6 Android 13      Mali-G78

 The exact command line you were using:

 -hwaccel mediacodec -hwaccel_output_format mediacodec -i
 "/data/user/0/com.test.ffmpeg_kit_android_demo/cache/test_input.mp4"  -c:v
 h264_mediacodec  -ndk_codec 1  -y
 -loglevel trace
 Console output:

 See attached console_output.log
 Input Files:

 See attached test_input.mp4

 Note: This is built and run using FFMPEG-Kit
Ticket URL: <https://trac.ffmpeg.org/ticket/10096>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker

More information about the FFmpeg-trac mailing list