Motion JPEG is not a video codec in its own right: every frame is a complete baseline JPEG image, and the container simply plays them in sequence. That makes it a good illustration of what a filter chain buys you, because no new decoder is involved — avidmx_1 splits the AVI and tags the MJPG stream as JPEG, the ordinary libjpeg_1 image decoder expands each frame, rgbyuv_1 converts its RGB output to 4:2:0, and libx264_1 with isobmff_1 produce the MP4 the <video> element plays. All 50 frames come out at 48.8 dB PSNR against a native ffmpeg decode.
<video is="universal-video_1" src="testcard.avi" using="solver_1"
with="avidmx_1;libjpeg_1;rgbyuv_1;isobmff_1;libx264_1" controls> </video>
The same stream can also be rendered straight to a canvas, which skips the re-encoding step entirely.
The specifications of the test sequence are :
| Format | Motion JPEG in AVI, 320x180, 25 fps, 50 frames |
| FileSize | 316 Ko |
| Solver | solver_1 |