diff options
author | Samuel Mira <samuel.mira@qt.io> | 2023-04-25 19:37:05 +0300 |
---|---|---|
committer | Zhao Zhili <zhilizhao@tencent.com> | 2023-05-17 19:19:51 +0800 |
commit | acd37fd5667ae1f0ed988ed45d7af3a41d766d80 (patch) | |
tree | 78950c75a037b10e6a9f0f4c7952f00d331db54e /libavcodec/mediacodec_wrapper.c | |
parent | 6b2ae90411ce8f6f90269655bf912355121c0749 (diff) | |
download | ffmpeg-acd37fd5667ae1f0ed988ed45d7af3a41d766d80.tar.gz |
avcodec/mediacodec: Add AV1 encoder
Connected FFmpeg to Mediacodec AV1 encoder
Signed-off-by: Samuel Mira <samuel.mira@qt.io>
Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
Diffstat (limited to 'libavcodec/mediacodec_wrapper.c')
-rw-r--r-- | libavcodec/mediacodec_wrapper.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/libavcodec/mediacodec_wrapper.c b/libavcodec/mediacodec_wrapper.c index 1c29bb7406..eb69ad7eaf 100644 --- a/libavcodec/mediacodec_wrapper.c +++ b/libavcodec/mediacodec_wrapper.c @@ -345,6 +345,12 @@ int ff_AMediaCodecProfile_getProfileFromAVCodecContext(AVCodecContext *avctx) static const int MPEG4ProfileAdvancedScalable = 0x4000; static const int MPEG4ProfileAdvancedSimple = 0x8000; + + static const int AV1ProfileMain8 = 0x1; + static const int AV1ProfileMain10 = 0x2; + static const int AV1ProfileMain10HDR10 = 0x1000; + static const int AV1ProfileMain10HDR10Plus = 0x2000; + // Unused yet. (void)AVCProfileConstrainedHigh; (void)HEVCProfileMain10HDR10; @@ -353,6 +359,9 @@ int ff_AMediaCodecProfile_getProfileFromAVCodecContext(AVCodecContext *avctx) (void)VP9Profile3HDR; (void)VP9Profile2HDR10Plus; (void)VP9Profile3HDR10Plus; + (void)AV1ProfileMain10; + (void)AV1ProfileMain10HDR10; + (void)AV1ProfileMain10HDR10Plus; if (avctx->codec_id == AV_CODEC_ID_H264) { switch(avctx->profile) { @@ -436,6 +445,16 @@ int ff_AMediaCodecProfile_getProfileFromAVCodecContext(AVCodecContext *avctx) default: break; } + } else if(avctx->codec_id == AV_CODEC_ID_AV1) { + switch (avctx->profile) + { + case FF_PROFILE_AV1_MAIN: + return AV1ProfileMain8; + case FF_PROFILE_AV1_HIGH: + case FF_PROFILE_AV1_PROFESSIONAL: + default: + break; + } } return -1; |