From 32d2301103a4ef54ca25d94a80c3e482753a7746 Mon Sep 17 00:00:00 2001 From: John Andrews Date: Mon, 22 Apr 2024 08:44:47 +1200 Subject: [PATCH] fixing hevc 8bit --- FileFlows.Plugin.dll | Bin 134656 -> 135168 bytes FileFlows.Plugin.pdb | Bin 32716 -> 32720 bytes .../FfmpegBuilderVideoEncode.cs | 16 +++++++++------- .../Video/FfmpegBuilderVideoEncode/h26x.cs | 2 +- 4 files changed, 10 insertions(+), 8 deletions(-) diff --git a/FileFlows.Plugin.dll b/FileFlows.Plugin.dll index ebb00c68631a39375b218b4cc8aae33f599db5e3..cd2aca8657d89f8f06babe78db79e01fdb22ed9f 100644 GIT binary patch delta 3738 zcmY+H4^&iD9>;&*$9pg^ym5xH89)$_kYQ#B7!a(s+&!6QnX)aqx&1|fGCK`DbN8Ip z&QOZA*|yPJ#S}L)@ehingN+K6;wA~Cx!a$uwvyW2YTGi`<1w>6XMgX#%P_rj?)%-( z@Av)Pdw=)d8JLz1TgztK(~nP@{pruQlXy{p#Lo@fBvQyZLiC^OKxjW=mujN5 z(&=76F_x3c%3rRX*Kmck+XRH6W z`wnrEeQ77Z-HJ=mhn~-mDB&H9p72h7yDadAyAoknBJ8%Ho6TgF?_nE$kzej)SF-OV zD>&v%VaZ<0xsOfhGAX!3^8S7t5sEx{nORF?5hGXTHGe%;>R2JE+vC+KTz@Vj*B>yv zqW)Q%kNWY|E5lV68p+>ftbE; zXPJ7OLq3;rNl81Yf5V=U1kdNXzbjWgpWwNq*LBtSQ+9GzHt%I=cCzM*gPN>O7=@tZ z^(Sei`u?ux195rKmO;KxInOVTrJ2spEawFMkzIE??=S{=jy={Oi}ka+4mp;Mj$F#q zMD&BZ`_ZPa=nj@`ojeaw#&5H+Frx9@JCGchmy3I{$BSg^hR&r6O-^| zbo}1jBwUJydTQnD)UMH+3u*Zf>#gextwirQ@GI0rFB~Y7usB-WI|m5szwWEWW6^=W z#}vG%&+QN3oW8t&XI79uorUv$L9;_3CtsPune%2%XM20}nxi8*k;6xfyS0waga-I7 zy(8#J_b*l8tf2DocdIg-{g(3d_yI~mgP=>517w5is1>tK8lY5MF6g_0VM@aaLCu#9 zP&y6^>Z+VeDmo&sTZ!{M_o@ywAG2t>t66oSl~=^qJ=5m{W#DO(*3pduqks< zL54CL`%JQymV>?oWe&beQ0C$oAKYjWc{pKGTjmu$O3OpiFikM0H>SvgbJ&{Dm?9s+ zVg2P1U!=-(uA|$FSE@zmG0DoG4Evi#!YXrvCc|x#u_lEkBiAC^RaJFVj3PlZtDH<% z2-=mCB>PY;Xn&49&4+1%UgKB^W<~_Q$-xrT3UXA`!;f196;!m!e$-pU(?6jGuqIB= zsAV`5rwwW)zKqirwFZt8MiIucyVR>OHBS4~X;^r|JfGFJI;gM)fyfub{BE9OPDo&rNx8VCY{ac*}-&>=~ z|Eddc8xzlOY|SP0PU!KV;%LBIadJAAApg{8Vvb`e9*R?mV+DreRO48U;9m^oBSfX& zr?z3YNvmxa1B3Qw&?Cqe%%^AYia`-``WX%#C#@haMxnL%KuF=e*|83v3L59Vh3P9n zbBgAp9p?nyTBJ}rez1r~xz({A8GkjGZ65CiWD7EmcLNGdimbNnD5=Lr1Vr#qNvpgO zRe}QkdUW6?f~NUf$MQoRH z=3^^#5lqij_>XgkplKQP=)_h*^DL1XqkaK%YhUP7ToHsj9jLqL#mW%r>fu2d+BYemfXH1%MHAY+Ce z%#ACV1`&_T2$&>^g`$oA#LI_iZk==?+{Q-`2eIo5}*f{t^n z58Z-V3hL+;>=(4AAmU_vRbW5r=v5pOGz2HpNkLUo9leJ41YILJnNACG`v>iZ@r9r~ ze?A??S&Mi_K}T@$M@jI2mC~OaLwG~v8KVsI?~##c^A}f*OZ_IN9{1A+ zWsTA3h4~l#?mH--mQo`<#5PP1@SD^o?%huf?A3@;n`kjpW32crE+#pHwV|Q!zu7eV zk*BVHwCSc4Tde#%`s7r})$(jc%PEH=cK#wBwEGs;G=>@)%Ij;UR!qIJv8kr%$|;Qt zYZ}U{7d1>-RJkZr(OBOwrMjXb_LL%3qvHLhxBf-Axz_lHcs93M{#8|*VvzNKjhkCB zw+@bVw4YCw3Z0uP<@IaV-#h2=M?(v~UViS5c3+A#EhM}T*o4;@yshWX;SWEE*jL@x zwDBwPlg$`fnaq>qw-tDBq5Y*4>CRYwy7Xtn95!iE(%gkq!+Q|oooJwPs%M%?72K|5 xZxd4!_oi^)&>4zqTEun=zbmXvAzg2ot)-K6 z{(XApif1lgc>~g5l>dxm1j;v&7}cD_B=$^YO&~q>^%3<=0--v=DCD^dgueHYDBE|> ziwO+USzCzw(~1GK{0s1}-ZR;7j|{SJDQKGxH!Xl-I)?{a0u z5oW`U24%{&i9#grQc5`}&#TRZUfxhUGD*)|;bz0l@gX{!Aw;))A*;P^HVU?p-Z@Aq z^0IxF$;?C{hE$?oL8NXOI|DK)DxN;;>;Xz61$J}LcEjTY&y8e^ny)EF!MsKz)y$?$>F zQJlYI);#XNcE^Wj>Q%sE-lv4a*G3>+17T z2bD}T+urnOUrB#x2t;2gXb5aVM5>RJAm6FqljgPCjG<(`#p+UZkIU5LZ7mrjpJ-SV z{41rCT9(l|Ss*7IZZf?x)N?u;W~F@Za62mG!$)ixTbQ8iysXAZX@?r4q*^sbOLa;t zt0U5-X8A}Bvf=1D9CL3v>Jf0moqr<62LtZKrwVk@KQg0sDIu)xVSeorLW+@l8(%=0 zJNa~mfCcWk%`*X~e4wQOtKAP<*6XoPcD1MBuH4XmC@P*^(h)_oX<`;Am|d9>Q;MeL zvsmDMt)t)K+S;bvttuMG>STARj?*UdToGvFlo_^2)S-`4Usxv@kkhW!4Q6+e5&fKu ziJjz!Z#jLJ&`bV!wnKBSc%qX6v6WMO_H!hn)OAi1=Y+p3nlSOaM)@Ht#1Is*84*=R zTCJc^EK;e8rpNw93`OyU$C??XDxIgRu@z*-Sx(PntQEs>yz8+u9E~bz&Tuq$xfJm{ zDb@(|4zot#>M&~*sQa-q8gHqjP0fN$TvLX(;KDFx464|{4J{%LH7ae39Azc{IDFDW zPpZQ!g>mRpMQt+ic+?~RyWi^4^(ysM^kQL7ZBdmVyWu$BRr%K|Cju-GNkC zIVIRDbg8gw#D?D>reVI9wu>3q;H8~nHcoqKub79MUaA+z!FWlX4D02jI00Fg)bpt{ z7P3`L!dOi-zRXrJ36s25Pe4A3yrieec!@ie)lb1vPRi=1U z?D5iVaTdD0^o3Z2@4WP1aURkxlQOI2mfBHx*;Imx4{p@ELpWyqOg zT7z9)$}?5skxFk8rT^f!4Qu|YI*s3_bq8$6I!;DgJZ;BjgDy~(1;E3lIeZqdPz@vFmV{|#dKb` zKckTLVHT$&8NrO^YveKxTIOIsoLmfy(bImEa+(n8Kpj?bDhjR8)nTnhZ1|<71E}$m zp6YRE7&YM3FglD@jnu1t1f85*%4QtFWv|r}a1{Ms(&>-mKDR1&_9O;5DOdI+bXSLN zf}Y$kX`~Ku3gMiT5l$h_>s)U75cVN*vD5Zo+z>Kq#4m@@X%q~jCd}8!crUh)n&IU1 zAU2p$DW@|`Yr!f`T}*4iT25sNh4c|BIBiUD1vC63$95Fb8B}rVK`^6QPB}s$wc;SB zp9{f^j&m}nb_bkABd563csh$Vjo2}P+R*hAx~ft+U8i5qGqqvkHDwdEFWq)jtE7GP zx1(02a#~AkOzk*0OzXgLt_@JNZwK!GM0<2izJ52~_2u7(&WF8V@U2SabdDV8hT$KI zR?c2%@0hw_QK=s**lWBSFaAr>`tf?WjnS(rX%p^t? z*?C#T_AyIXGB?lea5xt`b3NU9As6=juXmivHO{*3xD}jeRZ)xm@tZGbz^vzbv|KWd{qn`I&n`}f5&l* z|J6{s?nYg%Sm-hN3yD6@g|hF}Iz@&=T&x_Yq`}fQFvRpKH3vv5(cm>)9`<7#!uw{ diff --git a/FileFlows.Plugin.pdb b/FileFlows.Plugin.pdb index d8c218884f27caec63557a695b9bf7a505996916..e9f196c65e188d131ce49d850577753607c215da 100644 GIT binary patch delta 2868 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 x.Contains(" ") ? "\"" + x + "\"" : x))); stream.EncodingParameters.AddRange(encodingParameters); @@ -280,7 +277,8 @@ public partial class FfmpegBuilderVideoEncode:FfmpegBuilderNode return parameters; } - private static IEnumerable H265(FfmpegVideoStream stream, NodeParameters args, bool tenBit, int quality, string encoder, float fps, string speed) + private static IEnumerable H265(FfmpegVideoStream stream, NodeParameters args, bool tenBit, int quality, + string encoder, float fps, string speed, bool forceBitSetting = false) { // hevc_qsv -load_plugin hevc_hw -pix_fmt p010le -profile:v main10 -global_quality 21 -g 24 -look_ahead 1 -look_ahead_depth 60 List parameters = new List(); @@ -342,6 +340,10 @@ public partial class FfmpegBuilderVideoEncode:FfmpegBuilderNode } else if(non10BitFilters?.Any() == true) parameters.AddRange(non10BitFilters); + else if (forceBitSetting) + { + parameters.AddRange(new[] { "-pix_fmt:v:{index}", "yuv420p" }); + } return parameters; } diff --git a/VideoNodes/FfmpegBuilderNodes/Video/FfmpegBuilderVideoEncode/h26x.cs b/VideoNodes/FfmpegBuilderNodes/Video/FfmpegBuilderVideoEncode/h26x.cs index 4a69079b..541bdb41 100644 --- a/VideoNodes/FfmpegBuilderNodes/Video/FfmpegBuilderVideoEncode/h26x.cs +++ b/VideoNodes/FfmpegBuilderNodes/Video/FfmpegBuilderVideoEncode/h26x.cs @@ -23,7 +23,7 @@ public partial class FfmpegBuilderVideoEncode { if (h265 == false) non10BitFilters = new[] { "-pix_fmt:v:{index}", "yuv420p" }; - else + else non10BitFilters = null; return new []