tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

commit 2d7d23f4b44ce3ccf3e2c49aa63e819568bb8009
parent 111413f36789fdc8f30918cd1e97a2e876cf69df
Author: Andrew Osmond <aosmond@gmail.com>
Date:   Wed, 24 Dec 2025 03:56:28 +0000

Bug 2005011 - Part 8. Expose MediaCodec encoder configurations on ffvpx. r=media-playback-reviewers,padenot

This was missed in the initial integration and was breaking WebRTC.

Differential Revision: https://phabricator.services.mozilla.com/D275726

Diffstat:
Mmedia/ffvpx/config_components_audio_only.h | 6++++++
Mmedia/ffvpx/config_components_audio_video.h | 4++++
Mmedia/ffvpx/config_override.h | 6++++++
Mmedia/ffvpx/libavcodec/codec_list.c | 15+++++++++++++++
4 files changed, 31 insertions(+), 0 deletions(-)

diff --git a/media/ffvpx/config_components_audio_only.h b/media/ffvpx/config_components_audio_only.h @@ -607,6 +607,7 @@ #define CONFIG_APNG_ENCODER 0 #define CONFIG_ASV1_ENCODER 0 #define CONFIG_ASV2_ENCODER 0 +#define CONFIG_AV1_MEDIACODEC_ENCODER 0 #define CONFIG_AVRP_ENCODER 0 #define CONFIG_AVUI_ENCODER 0 #define CONFIG_AYUV_ENCODER 0 @@ -813,6 +814,7 @@ #define CONFIG_H263_V4L2M2M_ENCODER 0 #define CONFIG_LIBOPENH264_ENCODER 0 #define CONFIG_H264_AMF_ENCODER 0 +#define CONFIG_H264_MEDIACODEC_ENCODER 0 #define CONFIG_H264_MF_ENCODER 0 #define CONFIG_H264_NVENC_ENCODER 0 #define CONFIG_H264_OMX_ENCODER 0 @@ -821,6 +823,7 @@ #define CONFIG_H264_VAAPI_ENCODER 0 #define CONFIG_H264_VIDEOTOOLBOX_ENCODER 0 #define CONFIG_HEVC_AMF_ENCODER 0 +#define CONFIG_HEVC_MEDIACODEC_ENCODER 0 #define CONFIG_HEVC_MF_ENCODER 0 #define CONFIG_HEVC_NVENC_ENCODER 0 #define CONFIG_HEVC_QSV_ENCODER 0 @@ -834,10 +837,13 @@ #define CONFIG_MPEG2_QSV_ENCODER 0 #define CONFIG_MPEG2_VAAPI_ENCODER 0 #define CONFIG_MPEG4_OMX_ENCODER 0 +#define CONFIG_MPEG4_MEDIACODEC_ENCODER 0 #define CONFIG_MPEG4_V4L2M2M_ENCODER 0 #define CONFIG_PRORES_VIDEOTOOLBOX_ENCODER 0 +#define CONFIG_VP8_MEDIACODEC_ENCODER 0 #define CONFIG_VP8_V4L2M2M_ENCODER 0 #define CONFIG_VP8_VAAPI_ENCODER 0 +#define CONFIG_VP9_MEDIACODEC_ENCODER 0 #define CONFIG_VP9_VAAPI_ENCODER 0 #define CONFIG_VP9_QSV_ENCODER 0 #define CONFIG_AV1_D3D11VA_HWACCEL 0 diff --git a/media/ffvpx/config_components_audio_video.h b/media/ffvpx/config_components_audio_video.h @@ -660,6 +660,7 @@ #define CONFIG_MPEG1VIDEO_ENCODER 0 #define CONFIG_MPEG2VIDEO_ENCODER 0 #define CONFIG_MPEG4_ENCODER 0 +#define CONFIG_MPEG4_MEDIACODEC_ENCODER 0 #define CONFIG_MSMPEG4V2_ENCODER 0 #define CONFIG_MSMPEG4V3_ENCODER 0 #define CONFIG_MSVIDEO1_ENCODER 0 @@ -834,6 +835,7 @@ #define CONFIG_AAC_MF_ENCODER 0 #define CONFIG_AC3_MF_ENCODER 0 #define CONFIG_H263_V4L2M2M_ENCODER 0 +#define CONFIG_AV1_MEDIACODEC_ENCODER 0 #define CONFIG_AV1_NVENC_ENCODER 0 #define CONFIG_AV1_QSV_ENCODER 0 #define CONFIG_AV1_AMF_ENCODER 0 @@ -863,8 +865,10 @@ #define CONFIG_MPEG4_OMX_ENCODER 0 #define CONFIG_MPEG4_V4L2M2M_ENCODER 0 #define CONFIG_PRORES_VIDEOTOOLBOX_ENCODER 0 +#define CONFIG_VP8_MEDIACODEC_ENCODER 0 #define CONFIG_VP8_V4L2M2M_ENCODER 0 #define CONFIG_VP8_VAAPI_ENCODER 0 +#define CONFIG_VP9_MEDIACODEC_ENCODER 0 #define CONFIG_VP9_VAAPI_ENCODER 0 #define CONFIG_VP9_QSV_ENCODER 0 #define CONFIG_VNULL_ENCODER 0 diff --git a/media/ffvpx/config_override.h b/media/ffvpx/config_override.h @@ -76,8 +76,10 @@ #undef CONFIG_VP9_MEDIACODEC_DECODER #undef CONFIG_AV1_MEDIACODEC_DECODER #undef CONFIG_H264_MEDIACODEC_ENCODER +#undef CONFIG_HEVC_MEDIACODEC_ENCODER #undef CONFIG_VP8_MEDIACODEC_ENCODER #undef CONFIG_VP9_MEDIACODEC_ENCODER +#undef CONFIG_AV1_MEDIACODEC_ENCODER #if defined (MOZ_WIDGET_ANDROID) && !defined(MOZ_FFVPX_AUDIOONLY) #define CONFIG_H264_MEDIACODEC_DECODER 1 @@ -86,8 +88,10 @@ #define CONFIG_VP9_MEDIACODEC_DECODER 1 #define CONFIG_AV1_MEDIACODEC_DECODER 1 #define CONFIG_H264_MEDIACODEC_ENCODER 1 + #define CONFIG_HEVC_MEDIACODEC_ENCODER 1 #define CONFIG_VP8_MEDIACODEC_ENCODER 1 #define CONFIG_VP9_MEDIACODEC_ENCODER 1 + #define CONFIG_AV1_MEDIACODEC_ENCODER 1 #else #define CONFIG_H264_MEDIACODEC_DECODER 0 #define CONFIG_HEVC_MEDIACODEC_DECODER 0 @@ -95,8 +99,10 @@ #define CONFIG_VP9_MEDIACODEC_DECODER 0 #define CONFIG_AV1_MEDIACODEC_DECODER 0 #define CONFIG_H264_MEDIACODEC_ENCODER 0 + #define CONFIG_HEVC_MEDIACODEC_ENCODER 0 #define CONFIG_VP8_MEDIACODEC_ENCODER 0 #define CONFIG_VP9_MEDIACODEC_ENCODER 0 + #define CONFIG_AV1_MEDIACODEC_ENCODER 0 #endif #define CONFIG_H264_MEDIACODEC_DECODER_EXTRADATA 0 diff --git a/media/ffvpx/libavcodec/codec_list.c b/media/ffvpx/libavcodec/codec_list.c @@ -83,4 +83,19 @@ static const FFCodec * const codec_list[] = { #if CONFIG_HEVC_MEDIACODEC_DECODER &ff_hevc_mediacodec_decoder, #endif +#if CONFIG_AV1_MEDIACODEC_ENCODER + &ff_av1_mediacodec_encoder, +#endif +#if CONFIG_VP8_MEDIACODEC_ENCODER + &ff_vp8_mediacodec_encoder, +#endif +#if CONFIG_VP9_MEDIACODEC_ENCODER + &ff_vp9_mediacodec_encoder, +#endif +#if CONFIG_H264_MEDIACODEC_ENCODER + &ff_h264_mediacodec_encoder, +#endif +#if CONFIG_HEVC_MEDIACODEC_ENCODER + &ff_hevc_mediacodec_encoder, +#endif NULL };