IENT / YUView

The Free and Open Source Cross Platform YUV Viewer with an advanced analytics toolset
http://ient.github.io/YUView
Other
1.78k stars 353 forks source link

Allow for comparison of frames with same width but different strides #545

Open ao2 opened 8 months ago

ao2 commented 8 months ago

Is your feature request related to a problem? Please describe.

When analyzing an encode/decode pipeline one may want to compare the original raw frame with the decoded version of it, which depending on the encoder and decoder may have a different stride than the original frame.

See the following examples:

test_640x480

test_640x480_stride_720

The raw YUV files are attached in stride_samples.zip

However right now this does not seem possible, neither in a a Split View (the jump here reflects the difference in width):

Screenshot from 2023-10-21 11-34-27

or in Difference mode (I would expect the most noticeable difference to be a solid the bar on the right side):

Screenshot from 2023-10-21 11-36-27

Describe the solution you'd like

The current frame comparison seems to center the frames in the canvas, but when comparing them it would make sense to align them on the top-left corner instead.

Describe alternatives you've considered

One possible alternative solution would be to have a crop functionality somewhere (next to the width/height fields, or as a modifier) to get rid of the stride before comparing frames but this seems like a workaround when dealing specifically with stride which is somewhat informative of the frame data format.

Or maybe a stride field could be added with an option to set it to a value different than width (vaguely related to https://github.com/IENT/YUView/issues/532 ?) and taking it into account when comparing frames, but this seems overly complicated.

Anyhow, whatever solution would work for me, but I would really like to be able to compare farmes with different strides.

ao2 commented 8 months ago

Maybe the relative alignment of the views can be decided by the user somehow, I can see that when a frame has been cropped on multiple side it still makes sense to align the views in the center to be able to compare with the uncropped frame, but when comparing different strides it makes sense to align the views to the top-left corner.