VideoHelp Forum
+ Reply to Thread
Results 1 to 17 of 17
Thread
  1. Hi,

    Mediainfo says:

    Video
    ID : 1
    Format : HEVC
    Format/Info : High Efficiency Video Coding
    Format profile : Main 10@L4@Main
    Codec ID : V_MPEGH/ISO/HEVC
    Duration : 1 h 56 min
    Bit rate : 5 000 kb/s
    Width : 1 920 pixels
    Height : 800 pixels
    Display aspect ratio : 2.40:1
    Frame rate mode : Constant
    Frame rate : 23.976 (24000/1001) FPS
    Color space : YUV
    Chroma subsampling : 4:2:0
    Bit depth : 10 bits
    Bits/(Pixel*Frame) : 0.136
    Stream size : 4.08 GiB (78%)
    Writing library : x265 2.9:[Mac OS X][clang 10.0.0][64 bit] 10bit
    Encoding settings : cpuid=1111039 / frame-threads=3 / wpp / no-pmode / no-pme / no-psnr / no-ssim / log-level=2 / input-csp=1 / input-res=1920x800 / interlace=0 / total-frames=0 / level-idc=0 / high-tier=1 / uhd-bd=0 / ref=3 / no-allow-non-conformance / no-repeat-headers / annexb / no-aud / no-hrd / info / hash=0 / no-temporal-layers / open-gop / min-keyint=24 / keyint=240 / gop-lookahead=0 / bframes=4 / b-adapt=0 / b-pyramid / bframe-bias=0 / rc-lookahead=15 / lookahead-slices=5 / scenecut=40 / radl=0 / no-intra-refresh / ctu=64 / min-cu-size=8 / no-rect / no-amp / max-tu-size=32 / tu-inter-depth=1 / tu-intra-depth=1 / limit-tu=0 / rdoq-level=0 / dynamic-rd=0.00 / no-ssim-rd / signhide / no-tskip / nr-intra=0 / nr-inter=0 / no-constrained-intra / strong-intra-smoothing / max-merge=2 / limit-refs=3 / no-limit-modes / me=1 / subme=2 / merange=57 / temporal-mvp / no-weightp / no-weightb / no-analyze-src-pics / no-deblock / no-sao / no-sao-non-deblock / rd=2 / no-early-skip / rskip / fast-intra / no-tskip-fast / no-cu-lossless / no-b-intra / no-splitrd-skip / rdpenalty=0 / psy-rd=2.00 / psy-rdoq=0.00 / no-rd-refine / no-lossless / cbqpoffs=0 / crqpoffs=0 / rc=abr / bitrate=5000 / qcomp=0.60 / qpstep=4 / stats-write=0 / stats-read=2 / cplxblur=20.0 / qblur=0.5 / ipratio=1.40 / pbratio=1.30 / aq-mode=1 / aq-strength=1.00 / cutree / zone-count=0 / no-strict-cbr / qg-size=32 / no-rc-grain / qpmax=69 / qpmin=0 / no-const-vbv / sar=255 / sar-width / : / sar-height=200:201 / overscan=0 / videoformat=5 / range=0 / colorprim=1 / transfer=1 / colormatrix=1 / chromaloc=0 / display-window=0 / max-cll=0,0 / min-luma=0 / max-luma=1023 / log2-max-poc-lsb=8 / vui-timing-info / vui-hrd-info / slices=1 / no-opt-qp-pps / no-opt-ref-list-length-pps / no-multi-pass-opt-rps / scenecut-bias=0.05 / no-opt-cu-delta-qp / no-aq-motion / no-hdr / no-hdr-opt / no-dhdr10-opt / no-idr-recovery-sei / analysis-reuse-level=5 / scale-factor=0 / refine-intra=0 / refine-inter=0 / refine-mv=0 / no-limit-sao / ctu-info=0 / no-lowpass-dct / refine-mv-type=0 / copy-pic=1 / max-ausize-factor=1.0 / no-dynamic-refine / no-single-sei
    Default : Yes
    Forced : No
    Color range : Limited
    Color primaries : BT.709
    Transfer characteristics : BT.709
    Matrix coefficients : BT.709
    How to determine if it was encoded in 1-pass or 2-pass? Thanks!
    Quote Quote  
  2. "rc=abr" is single pass.
    Quote Quote  
  3. Thanks jagabo but I'm bit confused. For a 2-pass encoded video also MediaInfo shows it as "rc=abr"

    Please see below:

    Video : HEVC / Main 10@L4@Main / 5 000 kb/s / 1 920 pixels / 804 pixels / 2.40:1 / 23.976 (24000/1001) FPS
    Writing library : x265 2.9+14-3023bd8b05c0:[Windows][GCC 8.2.1][64 bit] 10bit
    Encoding settings : cpuid=1111039 / frame-threads=3 / numa-pools=8 / wpp / no-pmode / no-pme / no-psnr / no-ssim / log-level=2 / input-csp=1 / input-res=1920x804 / interlace=0 / total-frames=168072 / level-idc=0 / high-tier=1 / uhd-bd=0 / ref=4 / no-allow-non-conformance / no-repeat-headers / annexb / no-aud / no-hrd / info / hash=0 / no-temporal-layers / open-gop / min-keyint=23 / keyint=250 / gop-lookahead=0 / bframes=4 / b-adapt=2 / b-pyramid / bframe-bias=0 / rc-lookahead=25 / lookahead-slices=4 / scenecut=40 / radl=0 / no-splice / no-intra-refresh / ctu=64 / min-cu-size=8 / rect / no-amp / max-tu-size=32 / tu-inter-depth=1 / tu-intra-depth=1 / limit-tu=0 / rdoq-level=2 / dynamic-rd=0.00 / no-ssim-rd / signhide / no-tskip / nr-intra=0 / nr-inter=0 / no-constrained-intra / strong-intra-smoothing / max-merge=3 / limit-refs=3 / limit-modes / me=3 / subme=3 / merange=57 / temporal-mvp / weightp / no-weightb / no-analyze-src-pics / deblock=0:0 / sao / no-sao-non-deblock / rd=4 / no-early-skip / rskip / no-fast-intra / no-tskip-fast / no-cu-lossless / no-b-intra / no-splitrd-skip / rdpenalty=0 / psy-rd=2.00 / psy-rdoq=1.00 / no-rd-refine / no-lossless / cbqpoffs=0 / crqpoffs=0 / rc=abr / bitrate=5000 / qcomp=0.60 / qpstep=4 / stats-write=0 / stats-read=2 / cplxblur=20.0 / qblur=0.5 / ipratio=1.40 / pbratio=1.30 / aq-mode=3 / aq-strength=1.00 / cutree / zone-count=0 / no-strict-cbr / qg-size=32 / no-rc-grain / qpmax=69 / qpmin=0 / no-const-vbv / sar=0 / overscan=0 / videoformat=5 / range=0 / colorprim=2 / transfer=2 / colormatrix=2 / chromaloc=0 / display-window=0 / max-cll=0,0 / min-luma=0 / max-luma=1023 / log2-max-poc-lsb=8 / vui-timing-info / vui-hrd-info / slices=1 / no-opt-qp-pps / no-opt-ref-list-length-pps / multi-pass-opt-rps / scenecut-bias=0.05 / no-opt-cu-delta-qp / aq-motion / no-hdr / no-hdr-opt / no-dhdr10-opt / no-idr-recovery-sei / analysis-reuse-level=5 / scale-factor=0 / refine-intra=0 / refine-inter=0 / refine-mv=0 / no-limit-sao / ctu-info=0 / no-lowpass-dct / refine-mv-type=0 / copy-pic=1 / max-ausize-factor=1.0 / no-dynamic-refine / no-single-sei
    Quote Quote  
  4. Member
    Join Date
    Mar 2008
    Location
    United States
    Search Comp PM
    The other thing is, the nice rounded bitrate - 5000 kbps. Is this from the header or is it calculated
    based on running time / size?
    Quote Quote  
  5. it was 2-pass encoded with bitrate 5000. I'm not sure if I understood your question - I think It is from the header. Encoder used 5K bitrate to encode it.

    All I wanted to know how to verify if it was really done using 2-pass. IF MediaInfo can't tell that, then is there any tool to findout? Thanks
    Quote Quote  
  6. x265 2-pass will show "rc=2". If you save the result of the first pass of a multipass encode it will show "rc=abr".
    Quote Quote  
  7. Member
    Join Date
    Mar 2008
    Location
    United States
    Search Comp PM
    Originally Posted by batemanj View Post
    it was 2-pass encoded with bitrate 5000. I'm not sure if I understood your question - I think It is from the header. Encoder used 5K bitrate to encode it.

    All I wanted to know how to verify if it was really done using 2-pass. IF MediaInfo can't tell that, then is there any tool to findout? Thanks
    I was going to say, for a bitrate rounded like that, most likely some body picked that number directly,
    and for that kind of accuracy in the result implies 2-pass
    Quote Quote  
  8. Despite what Jagabo said, I would be surprised if any program or utility could tell whether an encoder used 1-pass, 2-pass, 3-pass, or n-pass. The reason for this is that the encoding is done identically regardless of how many passes precedes the actual encoding pass. All the multiple passes do is analyze the motion in the video using different approaches in order to determine how many bits to allocate for each frame, and measure how much degradation is done as a result of that bit allocation. The whole idea of variable rate is to use very few bits to encode a static scene taken from a tripod (like a talking head sports newscaster) and then use lots of bits when the camera is panning when following 30,000 runners at the start of a big marathon.

    In summary: the encoding is done identically and looks identical to the software or hardware that plays the result; the only difference is that multiple passes do the bit allocation more intelligently.
    Last edited by johnmeyer; 16th Mar 2019 at 08:23.
    Quote Quote  
  9. For n pass encode, it should say stats-read=2 , because a stats file was read . It should say "0" for a normal 1pass ABR, CRF encode

    But it's not "definitive proof" . Because you can hex edit etc...ie. it's just metadata
    Quote Quote  
  10. Originally Posted by poisondeathray View Post
    For n pass encode, it should say stats-read=2 , because a stats file was read . It should say "0" for a normal 1pass ABR, CRF encode
    That appears to be the most definitive answer.
    Quote Quote  
  11. Banned
    Join Date
    Dec 2010
    Location
    New York
    Search Comp PM
    "For n pass encode, it should say stats-read=2 , because a stats file was read . It should say "0" for a normal 1pass ABR, CRF encode"

    What a load of crap. Why even bother? You would think that an encoder would just encode without you having to post what seemed like a 300-page pretentious document from Mediainfo to see if you did a simple task right. They make these things unnecessarily complicated at the expense of your time and dignity. Then to make matters worse, the people who probably try to be helpful here add more to your confusion with even more senseless jargon. 1-pass, 2-pass, 3-pass...pass-gas. There should be a button called "ENCODE THE F---ING THING ALREADY, AND F---K OFF WITH PRETENTIOUS PRELIMINARIES"
    Quote Quote  
  12. Video Restorer lordsmurf's Avatar
    Join Date
    Jun 2003
    Location
    dFAQ.us/lordsmurf
    Search Comp PM
    Originally Posted by johnmeyer View Post
    Despite what Jagabo said, I would be surprised if any program or utility could tell whether an encoder used 1-pass, 2-pass, 3-pass, or n-pass.
    With a bitrate viewer, I actually wonder if it could. I'd assume you'd see sharper peaks and valleys. A good control test would be to encode multiples, and see how the bitrate looks in a viewer.
    Want my help? Ask here! (not via PM!)
    FAQs: Best Blank DiscsBest TBCsBest VCRs for captureRestore VHS
    Quote Quote  
  13. You can perform binary compare or generate checksum and compare checksum.
    Above is based on two naive assumptions:
    1. single pass produce not bit-exact version when compared to multipass version.
    2. encoder is fully deterministic (deliver with same source and same options bit-exact results).
    Quote Quote  
  14. Dinosaur Supervisor KarMa's Avatar
    Join Date
    Jul 2015
    Location
    US
    Search Comp PM
    Originally Posted by pandy View Post
    You can perform binary compare or generate checksum and compare checksum.
    Above is based on two naive assumptions:
    1. single pass produce not bit-exact version when compared to multipass version.
    2. encoder is fully deterministic (deliver with same source and same options bit-exact results).
    I don't think OP encoded the video they have this question for. Why would you need to do such things if you personally encoded the video, considering you should know the settings used. And two seperate CPUs probably won't create bit accurate videos if they don't support the same assembly instructions.
    Quote Quote  
  15. Originally Posted by KarMa View Post
    I don't think OP encoded the video they have this question for. Why would you need to do such things if you personally encoded the video, considering you should know the settings used. And two seperate CPUs probably won't create bit accurate videos if they don't support the same assembly instructions.
    Almost fully agree with you, overall discussion trying to solve unsolvable problem - how to detect blindly if bitrate distribution is optimal or not.
    One thing i disagree is instruction set - IMHO fully deterministic encoder may use any set of instructions to get same results - you can use MULtiply instruction if your CPU support it but if MULtiply is not available then you need to emulate multiplication by for example multiple ADDing - but from mathematical perspective this should give same result.

    If encoder is fully deterministic it should deliver identical bitstream for ARM, x86 or plain C implementation.

    I can expect differences if some random process is involved (for example dithering with random seed).
    Last edited by pandy; 25th Mar 2019 at 09:53.
    Quote Quote  
  16. Dinosaur Supervisor KarMa's Avatar
    Join Date
    Jul 2015
    Location
    US
    Search Comp PM
    One thing i disagree is instruction set - IMHO fully deterministic encoder may use any set of instructions to get same results - you can use MULtiply instruction if your CPU support it but if MULtiply is not available then you need to emulate multiplication by for example multiple ADDing - but from mathematical perspective this should give same result.
    There might be certain mixtures of instruction sets that give bit identical results, but in my simple test of turning ASM on and off, it was pretty clear that they are very different.

    https://forum.videohelp.com/threads/391527-Testing-effects-of-CPU-multi-threading-on-x...ng#post2538537
    Quote Quote  
  17. Originally Posted by jagabo View Post
    "rc=abr" is single pass.
    No, this was true before x265 version 2.2 (2016-12-23), specifically, this commit to param.cpp@F1510 removed the "2 pass" option from rc (which, just a guess, was later incorrectly split into 2 and pass due to a space char and ended up as "rc=2").
    Since version 2.2 even 2-pass encodings now have "rc=abr".
    The same commit also introduced the "stats-read" option, which writes the same "bStatRead" variable, which previously triggered writing the "rc=2 pass" option, so @poisondeathray is likely correct that this is indeed the new option to look for to determine whether an encoding was a 2-pass one or not.
    Quote Quote  



Similar Threads

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