Skip to content

feat: build the MPEG-4 Visual reference decoder (vm_dec) - #413

Open
rsanchez87 wants to merge 1 commit into
masterfrom
feat/mpeg4-video-reference-decoder
Open

rsanchez87 wants to merge 1 commit into
masterfrom
feat/mpeg4-video-reference-decoder

Conversation

@rsanchez87

@rsanchez87 rsanchez87 commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

PR to try to solve this issue #348

Only tested on linux (x86_64)

Comment thread build/build_mpeg4_video_decoder.py Resolved
Comment thread build/build_mpeg4_video_decoder.py Resolved
@rsanchez87
rsanchez87 force-pushed the feat/mpeg4-video-reference-decoder branch from 5ad89a5 to 0c7d66c Compare October 26, 2026 09:17
@rsanchez87
rsanchez87 requested a review from ylatuya October 26, 2026 09:19
@rsanchez87
rsanchez87 marked this pull request as ready for review October 26, 2026 10:21
@ylatuya

ylatuya commented Oct 26, 2026

Copy link
Copy Markdown
Contributor

Only tested on linux (x86_64)

It should be enabled for other platforms and tested in the CI

@rsanchez87
rsanchez87 marked this pull request as draft October 26, 2026 10:56
@rsanchez87
rsanchez87 force-pushed the feat/mpeg4-video-reference-decoder branch from fd0b62e to 4e3dbbc Compare October 26, 2026 11:27
@rsanchez87
rsanchez87 marked this pull request as ready for review October 26, 2026 11:41
@rsanchez87

Copy link
Copy Markdown
Contributor Author

Only tested on linux (x86_64)

It should be enabled for other platforms and tested in the CI

Done, tested here https://github.com/fluendo/fluster/actions/runs/40315200021

Enabled by default like the other reference decoders
(-Dmpeg4_video_decoder=false to disable). download_deps.py fetches the ISO
sources and adapts them to current compilers; no ISO code is committed.
Built in CI on Linux (x86_64, ARM64), macOS (ARM64) and Windows (MSYS2)
@rsanchez87
rsanchez87 force-pushed the feat/mpeg4-video-reference-decoder branch from 4e3dbbc to b05b7c5 Compare October 26, 2026 11:43
Comment thread meson.build
'MPEG-2 video decoder': build_mpeg2_video,
'MPEG-2 AAC decoder': build_mpeg2_aac,
'MPEG-H 3D Audio decoder': build_mpegh,
'MPEG-4 Visual decoder': build_mpeg4_video,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should go into the 'ISO Reference Decoders (MPEG-4 AAC only)' section

Comment thread build/download_deps.py
# The zip holds several implementations, only this one produces vm_dec
implementation = "microsoft-v2.5-040207-NTU/"

if mpeg4_video_dir.exists():

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If contrib/MPEG-4_video_refSoft already exists (interrupted run) shims/ is never created and the source rewrites are never applied. Future changes to build/compat/mpeg4video/ also won’t be copied into existing trees.


print()
print("=== Building MPEG-4 Visual reference decoder (vm_dec) ===")
if shutil.which("make") is None:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think I prefer having meson build the decoder like we are doing with the rest of decoders build creating our own wrap file and meson.build.

See for example mpeg2aac:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants