I know, but with FRIM the bitrate that is given is for AVC file. MVC is the difference between the left eye (AVC) and the right eye (MVC), thus has to be smaller than the AVC file. The bitrate I used is 28000kbps average and 40000kbps for maximum.
+ Reply to Thread
Results 31 to 43 of 43
-
-
I'm sorry, I think I misunderstood you there. I didn't know that I had to use FRIM twice to get both streames. Next question: what are the recommended streams for BD 3D encoding? I think that the avg:28mbps and max:40mbps are for the main stream, but what is recommended for the MVC stream?
Thanx! -
From the BD-ROM AV format white paper:
The sum of maximum multiplex rate of main TS and sub TS is 64Mbps while the maximum multiplex rate of each TS (main TS and sub TS) is 48Mbps in order to realize high quality full HD picture to each eye.
In addition to above, both a MPEG-4 MVC Base view stream and the corresponding MPEG-4 MVC Dependent view stream can be multiplexed in on TS (Note: This TS is less than or equal to 48Mbps TS rate for backward compatibility). -
Now 1 last question:
Back to avisynth: I've now found a way to have the MXF file directly in avisynth and seperate the left/right frames using this script:
MainViewR=DirectShowSource("SOURCE.mxf", fps=48, pixel_type="RGB24")
RView=SelectOdd(MainViewR)
LView=SelectEven(MainViewR)
RView1080=BilinearResize(RView, 1920, 1038)
LView1080=BilinearResize(LView, 1920, 1038)
ResL=AddBorders(LView, 0, 21, 0, 21)
ResR=AddBorders(RView, 0, 21, 0, 21)
CombinedView1080=StackHorizontal (ResL, ResR)
MVCReadyView=ConvertToYV12(CombinedView1080)
return (MVCReadyView)
As you can see, i've tried to resize the video and then add black bars, but it doesnt work.
resolutions:
source 1998x1080
output 1920x1080
Does anyone know how to fix this? -
What do you mean by "it doesn't work"? But I think you wanted these lines:
Code:ResL=AddBorders(LView, 0, 21, 0, 21) ResR=AddBorders(RView, 0, 21, 0, 21)
Code:ResL=AddBorders(LView1080, 0, 21, 0, 21) ResR=AddBorders(RView1080, 0, 21, 0, 21)
Last edited by jagabo; 17th Jun 2015 at 20:16.
-
I added more to my last post. But why do you name the result of every filter?
Code:DirectShowSource("SOURCE.mxf", fps=48, pixel_type="RGB24") RView=SelectOdd().BilinearResize(1920, 1038).AddBorders(0, 21, 0, 21) LView=SelectEven().BilinearResize(1920, 1038).AddBorders(0, 21, 0, 21) StackHorizontal (LView, RView) ConvertToYV12()
Code:last=DirectShowSource("SOURCE.mxf", fps=48, pixel_type="RGB24") RView=last.SelectOdd().BilinearResize(1920, 1038).AddBorders(0, 21, 0, 21) LView=last.SelectEven().BilinearResize(1920, 1038).AddBorders(0, 21, 0, 21) last=StackHorizontal (LView, RView) last=ConvertToYV12(last) return(last)
Last edited by jagabo; 17th Jun 2015 at 20:22.
-
You need to change lines 6 & 7 to refer to LView1080 & RView1080, not LView & RView.
Always troubleshoot scripts by doing line-by-line preview checks.
Scott
...beat me to it. -
Thanx! works now.
I dont't know, I think it's because it's easier to read for me. Actually, the first version of this script came from Cornucopia. He had it that way and I actually think it's super easy. -
BTW,
Are there any filter that let you:
- Resize the video with but only with the width given, so it can calculate the height itself but keep the aspect ratio
- Add black bars till the video is a certain height? 1080 in this case. -
You can use variables such as "VideoFile.Width/2" (rough example) in cascading calculations to get what you need.
AFAIK, there is no single filter that does the 2nd thing (crop+pad) - although maybe BorderControl does (haven't tried it), but it wouldn't be difficult to create.
My use of explicit named streams is just a holdover/habit from past programming practice where it was incumbent on programmers as a best practice to always be explicit. Plus, the self-documentation can help with troubleshooting.
Scott -
You can write your own functions for that. It's just a little algebra. You do have to keep in mind things like mod2 widths for YUY2 and YV12, and mod2 heights for YV12. And interlaced video requires special handling.
I do seem to recall someone posting scripts or filters that do this for you though.
By the way, you added an odd number of scan lines to the top and bottom of your RGB videos, then converted them to YV12. That will result in the colors of the top and bottom scan lines of the picture becoming desaturated. You should keep the borders mod2 in height to prevent that. So instead of AddBorders(RView1080, 0, 21, 0, 21), use AddBorders(RView1080, 0, 20, 0, 22). -
Here's a quick example to resize the width to a specified size, and the height to the nearest mod2 value that keeps the aspect ratio (assuming square pixels):
Code:function ResizeWidthKeepAR(clip v, int width) { height = v.height * width / v.width / 2 * 2 BilinearResize(v, width, height) }
Code:function AddBordersToMake(clip v, int width, int height) { left = (width - v.width) / 4 * 2 right = width - (v.width + left) top = (height - v.height) / 4 * 2 bottom = height - (v.height + top) AddBorders(v, left, top, right, bottom) }
Code:DirectshowSource("filename.ext") ResizeWidthKeepAR(1920) AddBordersToMake(1920,1080)
Last edited by jagabo; 17th Jun 2015 at 22:30.
Similar Threads
-
AviSynth problem
By yaston in forum Video ConversionReplies: 16Last Post: 5th Jan 2015, 07:26 -
HELP - Avisynth Playback Problem -
By LK89 in forum Newbie / General discussionsReplies: 3Last Post: 25th Sep 2013, 12:25 -
Avisynth problem with VirtualDub
By shun in forum EditingReplies: 2Last Post: 2nd Sep 2013, 21:31 -
Avisynth IMAGESOURCE syntax question
By duhmez in forum Video ConversionReplies: 1Last Post: 13th Dec 2012, 03:11 -
avisynth -> imageSource + sound (4min) = 40 sec video in vDub
By adom in forum Video ConversionReplies: 4Last Post: 22nd Feb 2011, 17:53