VideoHelp Forum




+ Reply to Thread
Page 2 of 2
FirstFirst 1 2
Results 31 to 43 of 43
  1. Member
    Join Date
    Apr 2014
    Location
    Nederland
    Search Comp PM
    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.
    Quote Quote  
  2. Member
    Join Date
    Apr 2014
    Location
    Nederland
    Search Comp PM
    Originally Posted by jagabo View Post
    Originally Posted by arthurm View Post
    yes, but I the file sizes should be different.
    No. If the overall average bitrate is the same the file sizes should be the same. It's the very definition of bitrate. Aside from some small container overhead differences.
    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!
    Quote Quote  
  3. Member Cornucopia's Avatar
    Join Date
    Oct 2001
    Location
    Deep in the Heart of Texas
    Search PM
    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).
    Scott
    Quote Quote  
  4. Member
    Join Date
    Apr 2014
    Location
    Nederland
    Search Comp PM
    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)
    The frames work fine and 3D works fine, but my only problem now is resolution and aspect ratio.

    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?
    Quote Quote  
  5. 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)
    to read

    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.
    Quote Quote  
  6. Member
    Join Date
    Apr 2014
    Location
    Nederland
    Search Comp PM
    Click image for larger version

Name:	Knipsel3.PNG
Views:	181
Size:	14.2 KB
ID:	32244

    Sorry for the lack of information.

    Resolution is still 2x 2K
    Quote Quote  
  7. 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()
    When you don't explicitly name a stream AviSynth uses the name "last" by default. So that script is equivalent to:

    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.
    Quote Quote  
  8. Member Cornucopia's Avatar
    Join Date
    Oct 2001
    Location
    Deep in the Heart of Texas
    Search PM
    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.
    Quote Quote  
  9. Member
    Join Date
    Apr 2014
    Location
    Nederland
    Search Comp PM
    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.
    Quote Quote  
  10. Member
    Join Date
    Apr 2014
    Location
    Nederland
    Search Comp PM
    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.
    Quote Quote  
  11. Member Cornucopia's Avatar
    Join Date
    Oct 2001
    Location
    Deep in the Heart of Texas
    Search PM
    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
    Quote Quote  
  12. Originally Posted by arthurm View Post
    BTW,
    Are there any filter that let you:
    - Resize the video with but only with the width given, soit 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 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).
    Quote Quote  
  13. 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)
    }
    And to add borders to make a certain width and height (keeping borders mod2):

    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)
    }
    Called like:

    Code:
    DirectshowSource("filename.ext")
    ResizeWidthKeepAR(1920)
    AddBordersToMake(1920,1080)
    These aren't well tested so you may need to debug them. And they work correctly only for progressive video.
    Last edited by jagabo; 17th Jun 2015 at 22:30.
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!