How to add VP8 codec support back into FFmpeg

126 views
Skip to first unread message

Christophe Juncker

unread,
Feb 4, 2025, 12:02:19 PMFeb 4
to Chromium-dev
In chromium 124, VP8 support was pulled off FFmpeg. This can be seen in ffmpeg/ffmpeg_generated.gni, where in chromium 123 we still have VP8 files such as vp8dsp_init.c, vp8dsp_init_armv6.c, etc, but not in 124.

We can also see for example in 123: ffmpeg/chromium/config/Chromium/mac/arm64/config.h the following #defines:

#define CONFIG_VIDEODSP 1
#define CONFIG_VP3DSP 1
#define CONFIG_VP8DSP 1

However, in 124, the defines above are set to 0.

The ffmpeg_generated.gni is pre-generated and checked into the chromium source code.

How can we get it re-generated in chromium versions 124 and newer to add VP8 support back into FFmpeg?

Thanks in advance for your help!

Christian Biesinger

unread,
Feb 4, 2025, 12:21:05 PMFeb 4
to cjun...@gmail.com, Chromium-dev
I guess you'd have to revert
https://chromium-review.googlesource.com/c/chromium/third_party/ffmpeg/+/5315059
but why do you want to do that?

Christian
> --
> --
> Chromium Developers mailing list: chromi...@chromium.org
> View archives, change email options, or unsubscribe:
> http://groups.google.com/a/chromium.org/group/chromium-dev
> ---
> You received this message because you are subscribed to the Google Groups "Chromium-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev...@chromium.org.
> To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/6735fc18-cda1-4f7a-9785-2bafe41beee4n%40chromium.org.

Christian Biesinger

unread,
Feb 4, 2025, 2:04:17 PMFeb 4
to Christophe Juncker, medi...@chromium.org, Chromium-dev
+media-dev, chromium-dev to bcc

No idea about your question, redirecting to media-dev

Christian

On Tue, Feb 4, 2025 at 1:33 PM Christophe Juncker <cjun...@gmail.com> wrote:
>
> Using VP8 ffmpeg decoder instead of libvpx results in a per frame decoding time gain of 20 to 30% for both 360p and 720p, according to webrtc internals.
>
> If you could tell me to not trust the webrtc intervals numbers it sure would be easier to not bother with ffmpeg :)

Christophe Juncker

unread,
Feb 4, 2025, 4:12:44 PMFeb 4
to Christian Biesinger, Chromium-dev
Using VP8 ffmpeg decoder instead of libvpx results in a per frame decoding time gain of 20 to 30% for both 360p and 720p, according to webrtc internals.

If you could tell me to not trust the webrtc intervals numbers it sure would be easier to not bother with ffmpeg :)
On Tue, Feb 4, 2025 at 09:17 Christian Biesinger <cbies...@chromium.org> wrote:

Christophe Juncker

unread,
Feb 4, 2025, 4:12:49 PMFeb 4
to Christian Biesinger, medi...@chromium.org, Chromium-dev
Thanks.

Assuming I would want to revert, after doing so, would building chromium cause ffmpeg_generated.gni to get re-generated? It is already present after pulling the source code and before starting a build. And having already tried to revert some config files and rebuild, it does not get re-generated for me. Do you know how to get it re-generated after reverting to ffmpeg/+/5315059?

Thanks again for your help! Much appreciated!

Dale Curtis

unread,
Feb 4, 2025, 7:22:05 PMFeb 4
to cjun...@gmail.com, Christian Biesinger, medi...@chromium.org, Chromium-dev
Unfortunately, the process for maintaining ffmpeg build configurations is very difficult. I would advise against it. You will have to revert the relevant patches and regenerate the build configurations for your build every time we update ffmpeg (~once per milestone). There is no easy way to get this support back.

AFAIK using ffmpeg for VP8 was never even supported in Chromium, so I'm assuming you're already using a custom build to some extent.

I'd encourage you to transition to a newer codec if that's an option for you.

- dale

Reply all
Reply to author
Forward
0 new messages