View Single Post
Old 19th March 2015, 13:20   #277  |  Link
youli
Registered User
 
youli's Avatar
 
Join Date: Mar 2015
Location: Ukraine
Posts: 23
Hello, r0lZ. Thank you very much for this program.

I have some ideas for improve the result quality, the program functionality expansion and compatibility of mkv-container.

I'll try to explain it by the example. Suppose that I need to get "Half - Top & Bottom" video with 1080p in the first and second cases.

Firstly, about quality.
In the avisynth script you use this line:
Code:
StackVertical(VerticalReduceBy2(Left), VerticalReduceBy2(Right))
but function VerticalReduceBy2 is a "quick and dirty" filter with bilinear interpolation (quote from there - http://avisynth.nl/index.php/ReduceBy2).
I changed it to Lanczos like in this line:
Code:
StackVertical(Lanczos4Resize(Left, 1920, 540), Lanczos4Resize(Right, 1920, 540))
In my subjective perception, i got less artefacts, more sharpness, and better detalization of the picture.
May be need propose to user a possibility to make choose for the frame stack interpolation, and including Bicubic too.

Secondly, about functionality expansion.

Some people prefer to cut the letterbox black bars for make the frame on whole TV screen 16:9 (see the pictures below).
If the source video without black bars has a ratio of 2.40:1 (1920 x 800 px), then use the line:
Code:
StackVertical(Crop(Left, 248, 140, -248, -140).Lanczos4Resize(1920, 540), Crop(Right, 248, 140, -248, -140).Lanczos4Resize(1920, 540))
If the source video without black bars has a ratio of 2.35:1 (1920 x 816 px), then use the line:
Code:
StackVertical(Crop(Left, 234, 132, -234, -132).Lanczos4Resize(1920, 540), Crop(Right, 234, 132, -234, -132).Lanczos4Resize(1920, 540))
or any other interpolation instead Lanczos.
I think this options will have own fans, even if they lose about 25% of the frame.



Thirdly, about compatibility of mkv-container.
The new mkv features in last versions of mkvmerge cause problems of compatibility with some hardware players - "fast forward" and "rewind" functions does not work or (also) does not restore play position after stop, or (even) impossible play file.
To resolve this troubles need to add by default in mkvmerge this options:
Code:
--engage no_cue_relative_position --engage no_cue_duration --clusters-in-meta-seek
youli is offline