Hi,
Mediainfo says:
How to determine if it was encoded in 1-pass or 2-pass? Thanks!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
+ Reply to Thread
Results 1 to 17 of 17
-
-
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 -
The other thing is, the nice rounded bitrate - 5000 kbps. Is this from the header or is it calculated
based on running time / size? -
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 -
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".
-
-
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.
-
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 -
-
"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" -
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 Discs • Best TBCs • Best VCRs for capture • Restore VHS -
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.
-
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.
-
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.
https://forum.videohelp.com/threads/391527-Testing-effects-of-CPU-multi-threading-on-x...ng#post2538537 -
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.
Similar Threads
-
Difference Between 1 pass & 2 pass encoding
By iqbal88 in forum Video ConversionReplies: 28Last Post: 29th Oct 2021, 05:19 -
Megui 1 pass vs 2 pass for 480p->720p anime ,difference
By zanzar in forum Newbie / General discussionsReplies: 1Last Post: 1st Dec 2016, 14:47 -
Difference: 2nd pass of 2pass vs 2nd pass of 3pass!
By kotuwa in forum Video ConversionReplies: 16Last Post: 8th Jun 2015, 12:11 -
How can determine the used coding method of an avi file? Single pass or two
By molngab in forum Newbie / General discussionsReplies: 1Last Post: 14th Feb 2015, 11:46 -
h264 encoding (single or double pass)
By glenpinn in forum Video ConversionReplies: 47Last Post: 11th Apr 2014, 19:18