[FFmpeg-devel] Video codec design for very low-end decoder
cand at gmx.com
Mon Jan 7 19:24:53 EET 2019
On Mon, 7 Jan 2019 17:42:58 +0100
Michael Niedermayer <michael at niedermayer.cc> wrote:
> > According to a 2010 comparison
> > https://keyj.emphy.de/video-encoder-comparison/
> > x264 constrained baseline (everything off) takes something like 30%
> > longer to decode vs xvid at the same rate. Probably more because that
> > site used xvid's full features, while I used it "everything off".
> constrained baseline is not "everything off"
Wikipedia's table shows CBP as "all off", but perhaps it doesn't list
every option. It lists CABAC etc, but not deblocking. Do you think the
unlisted options could account for 30%?
> > The issue with xvid simple and mpeg1 were that they were slightly too
> > slow, and looked too bad. The platform does not have any SIMD, so I
> > doubt asm optimizations will help much.
> I would guess that with rare or odd architectures
> compilers are not so good when it comes to generating efficient code.
> I would not be surprised if someone who knows the target CPUs pipeline
> and timings could beat the compiler by quite some amount.
> This is one part where the amount of man hours needed is significant
> of course. Would that be worth it, well its your project you have
> to know what amount of work you are willing to do for this,
> i wouldnt do that work ;)
> besides, why this low end chip ?
Just for fun ;)
MIPS does not have any timings, all instructions complete in the same
amount of cycles (except floating point, cache misses, interrupts,
etc). This makes it fairly suitable for a compiler I think, limiting
what could be gotten from hand-writing asm.
On Mon, 7 Jan 2019 12:02:58 -0500
"Ronald S. Bultje" <rsbultje at gmail.com> wrote:
> Have you considered vp8? It may sound weird but this is basically what vp8
> was great at: being really simple to decode.
VP8 has a reputation of being slow, so I didn't consider it. Benchmarks
show it as decoding slower than h264. Perhaps it too has features that
can be disabled?
More information about the ffmpeg-devel