Page MenuHome

Remove Resolution limitation
AcceptedPublic

Authored by Eitan (EitanSomething) on Wed, Jan 1, 8:43 PM.

Details

Summary

Removes hack that sets the resolution to be a multiple of 8 because the limitation in ffmpeg no longer exists

Diff Detail

Repository
rB Blender
Branch
DimesionsLimitation (branched from master)
Build Status
Buildable 6145
Build 6145: arc lint + arc unit

Event Timeline

I have been looking at ffmpeg docs, that prescribe this. Blame says nothing, patch works, so I happily hit accept.
@Sergey Sharybin (sergey) Do you know about any problems this could cause?

This revision is now accepted and ready to land.Sun, Jan 5, 10:46 PM

This is codec-specific, and not so much a requirement of FFmpeg itself.

Which codec is used here for the proxy output? It may have other requirements for the frame dimensions.

I can confirm jpeg needs to be a multiple of 8

This is codec specific, but I haven't found any requirements mentioned in ffmpeg docs mentioning this(or anything anywhere).

@Eitan (EitanSomething) can you link me to something, because I have applied this patch and it works as expected

Eitan (EitanSomething) reclaimed this revision.EditedThu, Jan 16, 9:44 PM

JPEG files are in files of 8x8 but if it worked before it might be that ffmpeg handled it by adding a buffer and stores what the actual dimensions are.This was probably needed when ffmpeg didn’t create the buffer but now that it does(I’m assuming this because we had no problems with files that weren’t multiple of 8) we should remove this ‘hack’ because it will probably scale incorrectly with part of the buffer showing because it thinks the video dimensions are bigger that what it actually is.

Where I got the information that it needs to be 8x8
https://dsp.stackexchange.com/questions/35339/jpeg-dct-padding

This revision is now accepted and ready to land.Thu, Jan 16, 9:44 PM

I know, that jpeg encoding works on 8x8 blocks, that's why I didn't question these lines too much. If this was ever limitation for MJPEG I would expect at least some historic document describing that.

This is 17x17 pixels MJPEG video created with blender as a "proof"

I know, that jpeg encoding works on 8x8 blocks, that's why I didn't question these lines too much. If this was ever limitation for MJPEG I would expect at least some historic document describing that.
This is 17x17 pixels MJPEG video created with blender as a "proof"

I don’t have my computer right now so I can’t test it but if it works for you I have no problem committing it.