Resolution management in Mistika Ultima & Boutique
The resolution management in Mistika has been designed to be the extremely powerful and flexible. As a difference to other applications this is not automated to happen in a locked way. Instead, Mistika provides full control to decide when to apply format conversions and how it is done exactly, thus providing non locked workflows in terms of resolution management.
But unfortunately the extra control comes at the cost of not being a trivial application to learn in this aspect. Mistika provides multiple tools for framing and re-scaling, but they are not interchangeable. Probably the worst thing that you can do in Mistika is to use the wrong re-scaling tool for a purpose that it is not really intended for, so it is important to understand how it works.
However, please note that the added complexity is there for a good reason. Understanding a few basic rules will provide a fully predictable behaviour of Mistika format conversions, and great flexibility to match the particular needs of any imaginable project.
Multiple resolutions may need to coexist due to different reasons, and each of these cases has its own dedicated tools to deal with it. It works as follows:
Master render format ( mConfig->Master Formats -> Render size X/Y & aspect ratio)
When creating a new project, first thing is to ask what will be the main mastering format for it, and it is highly recommended to select it in mConfig before creating the project (it is also recommended to create a new mConfig preset for that format if not existing yet ). This is because of this: when you create a new project it will remember the master format and other important settings that were active at that very moment. In this way, when you switch to a project that was created with different settings than the current ones Mistika will be able to show a warning message about the differences.
Please note that when Mistika shows this message it is just a "warning", there is nothing wrong with it if you have switched to other settings on purpose. The only purpose of this warning is to avoid the common mistake to switch to a different project while forgetting to also switch to its mastering format in mConfig, as in Mistika this will not happen automatically. The reason for this is that Mistika projects are not "locked" to a particular format (you can change the master format of a project as many times as you want as long as you do it between different Mistika sessions). The project just remembers the master format that was active when it was created, but it is never forced to it.
In general, if you decide to change the master render format in a posterior session you will still get similar images without the need for additional adjustments, but all effects producing similar results but just at a different resolution. To help on this nost effect parameters related with sizes or geometries are normalized to 0..1 range rather than being expressed in an specific number of pixels, so they can produce the same effect at a different resolution. (Logically this is only true as long as the aspect ratio is not also changing. If the aspect ratio also changes then you may need to adjust any effects involved on image scaling operations).
Scaling the source footage to the Master render format
Source images of different resolutions and aspect ratios can perfectly coexist in the same Timeline. In general they will be processed at the original resolution until the user makes an specific scaling decision. As a difference to some other applications this decision is entirely let to user discretion. You can apply the conversion from the source format to the render format at the very beginning, and the very end, or in the middle of the effect stack.
The most common tools in Mistika to control those processes are the following:
Default behaviour: If you do not make any action then the source images will be scaled to the master render format at render time (if they come in a different aspect ratio they will be stretched to the master format)
VisualEditor->Rescale Indicators: When you double click in an image clip it will be loaded in the Visual Editor. If the resolution of the source images is different than the master render format then the Visual Editor will show a "Rescaled from XXXX x YYYY" message, also indicating the original resolution of the selected clip. This is just to warn you that the conversion decision has not yet been made at that point of the effect stack. Once you apply an scaling effect (see effects below) then the resolution indicator will disappear, as the selected images are already in the master format.
By default, if the source images are not in the master render format but in a different resolution then the Visual Editor will show them converted to the master format, but this is just for visualization purposes (basically it shows what will happen if you do not make any posterior scaling decisions). But you can also switch between "unscaled" and "scaled" views by using the "Unscaled" button. When activating it, it will show the original image (1:1 pixels) over a reference canvas of the master render format. Please note that this is just a "view mode" of the Visual Editor for image analysis, as the Unscaled button does not have any effect out of the Visual Editor.
Synthetic effects: In Mistika all the synthetic effects (any effect that is not passed an actual image to it) are created in the master render format resolution and aspect ratio.
There are two principal tools to convert source images to the master render format. The Framing effect (which is the most common tool for this) and the Comp3D (which is specialised on compositing tasks, but can also solve this matter as part of the process). Both of them are discussed below:
FX->Framing effect: This is the main "framing" effect in Mistika (similar to what is called Pan & Scan in some other applications). It is limited to work in 2D, but it is capable of the highest scaling quality that is possible in Mistika (Framing->Options->Filter->15taps). In general it is the generic framing effect that you should use "by default" whenever you want to scale your source images to the master render format (or to any other format that you want). It will convert to the output resolution that you choose depending on the Framing->ResultSize and the associated parameters, while also controlling the aspect ratio, cropping / letterbox, and all the common "framing" aspects in general.
Please note that you can propagate the Framing parameters to other similar shots, but if their resolutions are different you will need to have different framing settings for each shot. In any case the ultimate objective is to convert each effect stack to the master render format at some point, with full control of this process in a per shot basis.
FX->Comp3D: This is a general purpose compositing effect, also capable of working in a 3D environment. Each input layer of the composition can be scaled as necessary. The top layer (Input1 ) can be used as a background for the composition, and the Options->ResultSizeAs(Project, Input1) parameter permits to decide if the resulting composition is then scaled to the master render format (Project), or if the output is still left at the resolution of the original image (Input1).
Please note that if a synthetic effect is used as the input1 to this effect (or if a "solid" color is selected as background) then both the background of the composition and the output resolution will be already at the master render format, so that is a common technique to simplify this process in Mistika (thus doing the compositing and the conversion to the render format at the same time).
Other specialised effects with scaling capabilities: Some other effects (VR Stitch, Stereo3D, cameraParams ) are also capable of scaling source images in different ways, but they are very specialised tools and not for general purpose scaling, so they are out of the scope of this document.
Scaling the Mistika output to the Live Video Output resolution (creating a live "display filter")
This point only applies to systems having an external reference display connected to a professional video board (AJA or DVS). It is not intended for users who only have GUI monitors.
As we have seen, the Master render format only defines the render resolution, which does not need to match the resolution and aspect ratio of the video output at all. But logically, if they are different then you will need to define an independent format conversion for the reference display in some way. The good news is that both scaling processes can perfectly coexist in Mistika simultaneously (an scaling process from the source images to the render format and a different one to the video output format).
These are the typical tools to control the video output format in Mistika:
Video resolution (mConfig->MasterFormats->VideoResolution): This will set the resolution of the video signal. Changing it requires to restart Mistika.
Default behaviour: As in the previous case, if you do not make any action the source images will be scaled to the video output format on the fly (they will be simply stretched to the video output format)
Fx->Framing->ResultSize->LiveOutput: The Framing effect has a specialised mode to control the scaling for the video output. By setting the ResultSize parameter to LiveOutput it will convert the input images to the live video resolution, whatever that is at each moment. As in the previous case you can control all the aspects of this conversion with the remaining parameters of the Framing effect.
And here it comes what is probably the most important aspect to understand: When the render resolution and the video resolution are different, the best way to do this conversion is with a dedicated Framing effect that will only be applied to the live output (so it will not influence the render output at all). And the way to do this in Mistika is by creating a "Display Filter" for the Live output path, which will contain this Framing effect on itself. The creation of the "display filter" is described in the next points.
Display filters: In Mistika, a "display filter" is a special FX preset, that is: an effect or stack or effects that is saved with all the parameters already adjusted but not applied to any particular shot yet. Saving it as a "Display Filter" permits to apply it later to one or more of the five output paths where Mistika can send the images independently; Render, Live video, Scopes, GUI monitors, and Streaming, In this particular example we will be only using a Display Filter for the Live Video path, but just to remind that in other cases you could apply the same technique to the other output paths. You can also use display filters for other matters like color space conversions, applying LUTs, watermarks, or any other process that you want to be limited to a specific output path.
Creating a display filter for the Live output path:
There are different ways to do this, but the recommended procedure is as follows: First you will work on an example shot without thinking on the reference display at all, just watch the content in the Visual Editor and build the effect stack that can render the final delivery that you want to produce. In a second stage you will create a new Framing effect to convert from the render format to the video format, so it looks correct in the reference display. And finally you will use that Framing effect to create a display filter exclusively applied to the live video output:
1 - Go to any shot that you wish to use as an example, and apply all the effects that you expect to use for typical render processes. Apply Framing effects (or Comp3D) as needed to produce the render format without taking into account the reference display just yet. Even do an actual render and check that it produces the desired delivery format correctly.
2 - Now apply a new Framing effect as the last effect of the stack (on top of it). Set the Framing->ResultSize to LiveOutput and adjust all the parameters that you want until you get a correct visualization in the reference display.
Note: While adjusting the Framing parameters, it is also recommended to activate the VisualEditor->LiveRes button. It will provide additional visual references by showing the live video frame on top of the canvas.
3 - Once you are satisfied with the results select the Framing effect and press VisualEditor->DisplayFilters->CreateDisplayFilter. It will ask a name for it, and then the selected Framing will be moved to the FXPresets->DisplayFilters folder.
Please note that at this point the framing effect will have disappeared from the Timeline, but you still have it in the said folder for future access. Also notice that the VisualEditor->FXPresets button have been activated automatically, which is what is giving you access to the FX Presets panel containing that folder.
4 - Now go to the VisualEditor->DisplayFilters table, in the left column select the new display filter that you have created in the previous step and activate the "Live" button for it. You can switch this button On and Off to appreciate what it does. It should be affecting the live video output as expected, but it will not affect the render path.
5 - Please notice that activating the "Live" button will also activate a T1 toggle (these toggles are located at the right bottom side of the image area). The purpose of this toggle is to provide a fast way to switch the display filter On and Off at any time (the particular toggle number can be selected at the right column of the display filters table). Having that toggle already configured you will not need to come back to the display filters table anymore, so now you can switch off the VisualEditor->FXPresets button to continue your work. From now, you can simply use the said toggle button when you want to activate or deactivate the associated display filter.
Note 1: Once you save a display filter it will be remembered with the project, so you can easily select it on other timelines of the same project. Restricting display filters to the project where they are created is a good thing in order to prevent the display filter list growing like crazy over the time (showing uncounted specialised filters that were only used in one project...). But in some cases this is not what you want: Other times you may want to associate a display filter to a particular conversion between a specific render format and a specific video format that you want to use in many different projects.
This can be easily achieved by associating the display filter to an mConfig preset (as both the render format and the video format are specifically saved for each mConfig preset). To do this, simply activate the "Display filters for mConfig preset" button (find it on top of the Display Filters table) and select the display filter that you want to associate to the current mConfig preset. From this point it will be offered whenever you are working with the same mConfig preset, independently of the project.
Note 2: Please note that the "display filter" workflow only works well when the same framing parameters are valid for all the Timeline segments. But interestingly, in the previous stage we had already used one framing effect per shot in order to convert from the source images (which could be made of different resolutions) to the render format, so in principle all the shots are already prepared for using the same display filter (which converts from the master render format to the live output format). Other format conversion workflows are possible, but this is the most common technique for solving this matter in Mistika.