Bring libvpx to ffvpx/libavcodecs
Categories
(Core :: Audio/Video, task, P1)
Tracking
()
Tracking | Status | |
---|---|---|
firefox122 | --- | fixed |
People
(Reporter: chunmin, Assigned: chunmin)
References
Details
Attachments
(7 files, 3 obsolete files)
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review |
Currently, there is no vpx encoder in ffvpx. To implement a VPX encoder with MediaDataEncoder interface through ffvpx/libavcodec, we need to bring libvpx to ffvpx.
Assignee | ||
Comment 1•1 year ago
|
||
This patch brings the platform-specific vpx_codec_build_config
implementation into libvpx since it will be used and exposed in the
following patches.
Assignee | ||
Comment 2•1 year ago
|
||
Depends on D193598
Assignee | ||
Comment 3•1 year ago
|
||
This patch copies the libvpx files from ffmpeg @ d9d5695390, which is
the current revision used in ffvpx, with the following command:
cp <FFMPEG>/libavcodec/libvpx* <GECKO>/media/ffvpx/libavcodec/
Depends on D193599
Assignee | ||
Comment 4•1 year ago
|
||
- Add libvpxdec.c and libvpxenc.c to libavcodec/moz.build
- Add ff_libvpx_vp{8,9}_{de, en}coder to codec_list
Depends on D193600
Assignee | ||
Comment 5•1 year ago
|
||
Set CONFIG_LIBVPX on unix64 platforms and enable CONFIG_LIBVPX_VP*
Depends on D193601
Updated•1 year ago
|
Updated•1 year ago
|
Comment 6•1 year ago
|
||
Comment on attachment 9363597 [details]
WIP: Bug 1864008 - Add encoder-related APIs into FFmpegLibWrapper
Revision D193602 was moved to bug 1860899. Setting attachment 9363597 [details] to obsolete.
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Assignee | ||
Comment 7•1 year ago
|
||
Depends on D193598
Assignee | ||
Comment 8•1 year ago
|
||
This patch is the first part that moves libvpx from libgkmedias to
libgkcodecs.
When ac_add_options --with-system-libvpx
(and --without-sysroot
if
needed) is set in mozconfig (MOZ_SYSTEM_LIBVPX case), the libvpx
installed in the system will be used and the media/libvpx won't be
built, so the libvpx APIs shouldn't be exposed via gkcodecs' symbols in
this case.
With the changes, the "vpx/..." headers #include
d in the VPX
encoders should be replaced with system headers like <vpx/...>
instead. While the VPX headers under dom/media are updated in this
patch, those headers under third_party/libwebrtc are set in a different
way in the following patches.
Since libpixman needs android_getCpuFeatures and _getCpuFamily APIs,
which were built by libvpx previously, cpu-features.c now is required to
be included in its moz.build to get the API it needs.
Depends on D195055
Assignee | ||
Comment 9•1 year ago
|
||
This patch addes trampoline headers for libvpx.
To follow the libwebrtc merge procedure, the vpx headers are silently
replaced with "trampoline" headers, which do nothing but include real
VPX headers. This makes the libwebrtc-merge process easier without
worrying headers' paths.
Depends on D195494
Assignee | ||
Comment 10•1 year ago
|
||
This patch sets rtc_build_libvpx
to true
in webrtc.gni, so the
moz.build file for third_party/libvpx can be generated by the
gn_processor in the next patch.
Depends on D195495
Assignee | ||
Comment 11•1 year ago
|
||
This patch overwrites moz.build files for libwebrtc.
The newly added libvpx_gn/moz.build and other build files are generated
automatically by running
./mach python python/mozbuild/mozbuild/gn_processor.py \
dom/media/webrtc/third_party_build/gn-configs/webrtc.json
Depends on D195496
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Comment 12•1 year ago
|
||
Comment 13•1 year ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/63ec56d06ad6
https://hg.mozilla.org/mozilla-central/rev/b99801655626
https://hg.mozilla.org/mozilla-central/rev/4ad7de7e3c9c
https://hg.mozilla.org/mozilla-central/rev/d43978d3d835
https://hg.mozilla.org/mozilla-central/rev/87d8deb5500f
https://hg.mozilla.org/mozilla-central/rev/4c80c48cc943
https://hg.mozilla.org/mozilla-central/rev/4e7047383483
Description
•