video format/codec that is like qoi in spirit #498

 
ubq323 (bureaucrat) src #5353

does anyone know of such a thing

BlueManedHawk src #5355

There was a discussion a while back on Apionet where the conclusion was reached that lossless video compression requires an end to class inequity to work.

citrons (bureaucrat) src #5356

the conclusion was reached that lossless video compression requires an end to class inequity to work

no, the conclusion was that lossless video compression is ineffective and pointless for most use-cases. but that doesn't even relate to the question.

I'm guessing the intended meaning of the question is, "is there a reasonably effective video codec that is simple to implement", and I would like to know this also.

quintopia src #5360

but it is true that there could be a use case for lossless video post-singularity

citrons (bureaucrat) src #5361

an end to class inequity is not a sci-fi situation where we have infinite storage space

quintopia src #5362

but the latter might make the former much easier

gollark src #5368

Arguably, MJPEG.

BlueManedHawk src #5377

Infinite storage space would not be necessary for lossless video to exist.

ubq323 (bureaucrat) src #5378

this isn't a thread about lossless video, please stop derailing it

quintopia src #5380

are you not satisfied with gollark's answer? you might want to make your criteria more clear if you want a more focused discussion.

caesar src #5381

gollark: JPEG is not lossless, and therefore is not like QOI in spirit.

quintopia src #5382

but it may be like the lossy variations on QOI in spirit

caesar src #5383

there are lossy variations of QOI??? is absolutely terrified

big brother (bureaucrat) #5384
this post never existed.
BlueManedHawk src #5385

ubq323: Okay, i won't derail it, but i'll reroute the train once the stop has been reached.

caesar src #5386

and i'll tear off the train tracks and lead the train directly into a boulder.

gollark src #5387

Lossless QOIlike video encoding is just QOI on each frame, I think. Maybe you could be slightly smarter but interframe coding is rather tricky.

thatguywithsoup src #5388

there are lossy variations of QOI??? is absolutely terrified

wtf

quintopia src #5389

gollark: it would not be that tricky or complicated to subtract the previous frame from the current one and replace all runs of zeros in the difference with runs of alpha=0 pixels in the frame to be encoded.

Better compression could be achieved with a slightly more complicated scheme, such as computing the total distance between consecutive frames and using a different "delta QOI encoding" for frames where the distance is below a certain threshold. This would have its own separate color cache for INDEX, and DIFF and LUMA would be modified to encode the difference computed with the previous frame rather than the previous pixel in the same frame.

But back to the original question:

One of the main properties of QOI that makes it so simple is that it is streamable. Once a command has been computed, it can just be output because pixels at the end of the image cannot affect how pixels at the beginning are encoded. Or, in other words, encoding is guaranteed to happen in a single pass.

DEAREST UBQ323, IS THIS A PROPERTY YOU WOULD LIKE TO SEE IN A VIDEO CODEC?

citrons (bureaucrat) src #5423

what are these lossy variations of QOI?

quintopia src #5425

I can't find the one I was originally thinking of, but here is one example:

https://github.com/nigeltao/qoir

please log in to reply to this thread