Skip to content

Commit

Permalink
Release 4.6.6.0
Browse files Browse the repository at this point in the history
  • Loading branch information
Yahweasel committed Nov 10, 2023
1 parent dc95430 commit f9d8049
Show file tree
Hide file tree
Showing 10 changed files with 132 additions and 41 deletions.
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# not the generated version!

LIBAVJS_VERSION_SUFFIX=
LIBAVJS_VERSION=4.5.6.0$(LIBAVJS_VERSION_SUFFIX)
LIBAVJS_VERSION=4.6.6.0$(LIBAVJS_VERSION_SUFFIX)
EMCC=emcc
MINIFIER=node_modules/.bin/uglifyjs -m
OPTFLAGS=-Oz
Expand Down
2 changes: 1 addition & 1 deletion Makefile.m4
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ changequote(`[[[', `]]]')
# not the generated version!

LIBAVJS_VERSION_SUFFIX=
LIBAVJS_VERSION=4.5.6.0$(LIBAVJS_VERSION_SUFFIX)
LIBAVJS_VERSION=4.6.6.0$(LIBAVJS_VERSION_SUFFIX)
EMCC=emcc
MINIFIER=node_modules/.bin/uglifyjs -m
OPTFLAGS=-Oz
Expand Down
42 changes: 10 additions & 32 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,8 @@ of using libav.js from a CDN:
<!doctype html>
<html>
<body>
<script type="text/javascript">LibAV = {base: "https://unpkg.com/libav.js@4.5.6/dist"};</script>
<script type="text/javascript" src="https://unpkg.com/libav.js@4.5.6/dist/libav-4.5.6.0-default.js"></script>
<script type="text/javascript">LibAV = {base: "https://unpkg.com/libav.js@4.6.6/dist"};</script>
<script type="text/javascript" src="https://unpkg.com/libav.js@4.6.6/dist/libav-4.6.6.0-default.js"></script>
<script type="text/javascript">(async function() {
const libav = await LibAV.LibAV({noworker: true});
await libav.writeFile("tmp.opus", new Uint8Array(
Expand All @@ -64,7 +64,7 @@ Here's a better example, using libav.js locally:
<!doctype html>
<html>
<body>
<script type="text/javascript" src="libav-4.5.6.0-default.js"></script>
<script type="text/javascript" src="libav-4.6.6.0-default.js"></script>
<script type="text/javascript">(async function() {
const libav = await LibAV.LibAV();
await libav.writeFile("tmp.opus", new Uint8Array(
Expand Down Expand Up @@ -407,39 +407,17 @@ usually between 1.5 and 3 MiB for fairly complete builds, and the asm.js is abou
double that.

You can estimate the size of variants based on the size of the constituent
fragments. As of version 3.9.5.1.2, an empty build is approximately 540KiB
(WebAssembly), and the fragments add the following:

| Fragment | Size (KiB) |
| ------------: | :------------ |
| ogg | 68 |
| webm | 164 |
| ipod | 376 |
| | |
| opus | 284 |
| aac | 272 |
| vorbis | 452 |
| lame | 276 |
| flac | 84 |
| wav | 52 |
| wavpack | 108 |
| alac | 28 |
| | |
| vpx+vp8 | 344 |
| vpx+vp9 | 748 |
| vpx+vp8+vp9 | 1044 |
| av1 | 3500 |
| h263p | 660 |
| h264 | 500 |
| openh264 | 832 |
| | |
| audio-filters | 260 |
| swscale | 412 |
fragments. As of version 4.6.6.0, an empty build is approximately 579KiB
(WebAssembly). The sizes of each additional fragment can be found in
[fragment-sizes.csv](tools/fragment-sizes.csv). The data in that CSV file can be
recreated by `tools/fragment-sizes.sh`, but note that the CSV file in the
repository is after further processing (in particular, normalizing to KiB and
subtracting away the empty size).

The asm.js versions are much bigger, but will not be loaded on
WebAssembly-capable clients.

The wrapper (“glue”) code is about 292KiB, but is highly compressible.
The wrapper (“glue”) code is about 288KiB, but is highly compressible.


## Performance
Expand Down
2 changes: 1 addition & 1 deletion demo/demo.html
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
<body>
<script type="text/javascript">(async function() {
try {
const version = "4.5.6.0";
const version = "4.6.6.0";

const dce = document.createElement.bind(document);
const main = dce("div");
Expand Down
2 changes: 1 addition & 1 deletion old-tests/libav.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const version = "4.5.6.0";
const version = "4.6.6.0";

function load(variant = "default") {
const opts = {
Expand Down
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"name": "libav.js",
"version": "4.5.6",
"version": "4.6.6",
"description": "A compilation of the libraries associated with handling audio and video in ffmpeg—libavformat, libavcodec, libavfilter, libavutil and libswresample—for WebAssembly and asm.js, and thus the web.",
"main": "dist/libav-4.5.6.0-default.js",
"main": "dist/libav-4.6.6.0-default.js",
"types": "dist/libav.types.d.ts",
"directories": {
"test": "tests"
Expand Down
2 changes: 1 addition & 1 deletion tests/harness.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ LibAVTestHarness = {
data: {},
utils: {},

libAVVersion: "4.5.6.0",
libAVVersion: "4.6.6.0",
libAVVariant: null,
libAVOpts: null,
libav: null,
Expand Down
2 changes: 1 addition & 1 deletion tools/ffmpeg.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/

const LibAV = require("../dist/libav-4.5.6.0-all.js");
const LibAV = require("../dist/libav-4.6.6.0-all.js");
const fs = require("fs/promises");

async function main() {
Expand Down
2 changes: 1 addition & 1 deletion tools/ffprobe.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/

const LibAV = require("../dist/libav-4.5.6.0-all.js");
const LibAV = require("../dist/libav-4.6.6.0-all.js");
const fs = require("fs/promises");

async function main() {
Expand Down
113 changes: 113 additions & 0 deletions tools/fragment-sizes.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
Version:,4.6.6.0,
Fragment,Size (KiB),
empty,579,NOTE: This is the size of a build with no fragments. All other sizes are the added size of the given fragment.
audio-filters,282,
bsf-av1_metadata,133,
bsf-extract_extradata,14,
bsf-h264_metadata,173,
bsf-hevc_metadata,231,
bsf-vp9_metadata,47,
cli,845,
codec-aac,402,
codec-alac,27,
codec-flac,64,
codec-gif,24,
codec-libaom_av1,3697,
codec-libopenh264,625,
codec-libopus,287,
codec-libvorbis,453,
codec-libvpx_vp8,345,
codec-libvpx_vp9,798,
codec-mjpeg,599,
codec-pcm_f32le,13,
codec-png,85,
codec-prores,50,
codec-qtrle,21,
codec-rawvideo,14,
decoder-aac,303,
decoder-alac,15,
decoder-flac,27,
decoder-gif,14,
decoder-h264,738,
decoder-hevc,490,
decoder-libaom_av1,1198,
decoder-libopenh264,297,
decoder-libopus,125,
decoder-libvorbis,119,
decoder-libvpx_vp8,83,
decoder-libvpx_vp9,226,
decoder-mjpeg,86,
decoder-mp3,56,
decoder-pcm_f32le,11,
decoder-png,53,
decoder-prores,29,
decoder-qtrle,17,
decoder-rawvideo,13,
decoder-webp,170,
demuxer-flac,25,
demuxer-hls,270,
demuxer-image2,27,
demuxer-mp3,15,
demuxer-mp4,182,
demuxer-ogg,49,
demuxer-pcm_f32le,3,
demuxer-rawvideo,3,
demuxer-wav,32,
demuxer-wavpack,43,
demuxer-webm,67,
encoder-aac,260,
encoder-alac,15,
encoder-flac,44,
encoder-gif,13,
encoder-libaom_av1,0,
encoder-libmp3lame,187,
encoder-libopenh264,0,
encoder-libopus,0,
encoder-libvorbis,0,
encoder-libvpx_vp8,291,
encoder-libvpx_vp9,648,
encoder-mjpeg,542,
encoder-pcm_f32le,5,
encoder-png,0,
encoder-prores,24,
encoder-qtrle,8,
encoder-rawvideo,6,
format-flac,35,
format-hls,569,
format-image2,34,
format-mp3,37,
format-mp4,377,
format-ogg,61,
format-pcm_f32le,4,
format-rawvideo,3,
format-wav,49,
format-wavpack,106,
format-webm,164,
libvpx,0,
muxer-flac,10,
muxer-hls,324,
muxer-image2,8,
muxer-mp3,23,
muxer-mp4,210,
muxer-ogg,13,
muxer-pcm_f32le,1,
muxer-rawvideo,1,
muxer-wav,21,
muxer-wavpack,68,
muxer-webm,106,
parser-aac,7,
parser-av1,126,
parser-flac,14,
parser-gif,3,
parser-h264,72,
parser-hevc,50,
parser-mjpeg,2,
parser-opus,9,
parser-png,2,
parser-vorbis,5,
parser-vp8,1,
parser-vp9,1,
parser-webp,2,
protocol-jsfetch,0,
swscale,392,
workerfs,0,

0 comments on commit f9d8049

Please sign in to comment.