From fd5784455c0469bf9a6eb1f7388ab0633ba18446 Mon Sep 17 00:00:00 2001 From: huangdarwin Date: Wed, 9 Aug 2023 18:24:22 +0000 Subject: [PATCH] Compositor: Add test for correct input timestamps. To ensure that for each output bitmap from the compostor, the right input timestamps were used. Only applied on a subset of tests to avoid needing to upload+maintain too many files/size in the test binary, especially when it would test duplicate behavior PiperOrigin-RevId: 555222530 --- .../input_grayscale_0s.png | Bin 0 -> 9143 bytes .../input_rotate180_1s.png | Bin 0 -> 8414 bytes .../CompositorTestTimestamps/output_0s_0s.png | Bin 0 -> 15183 bytes .../CompositorTestTimestamps/output_0s_1s.png | Bin 0 -> 14622 bytes .../CompositorTestTimestamps/output_1s_0s.png | Bin 0 -> 14500 bytes .../CompositorTestTimestamps/output_1s_1s.png | Bin 0 -> 13920 bytes .../CompositorTestTimestamps/output_2s_0s.png | Bin 0 -> 15138 bytes .../CompositorTestTimestamps/output_2s_1s.png | Bin 0 -> 14558 bytes .../CompositorTestTimestamps/output_2s_2s.png | Bin 0 -> 15099 bytes .../CompositorTestTimestamps/output_3s_0s.png | Bin 0 -> 15342 bytes .../CompositorTestTimestamps/output_3s_2s.png | Bin 0 -> 15304 bytes .../CompositorTestTimestamps/output_3s_3s.png | Bin 0 -> 15480 bytes .../CompositorTestTimestamps/output_4s_0s.png | Bin 0 -> 14840 bytes .../CompositorTestTimestamps/output_4s_4s.png | Bin 0 -> 14582 bytes .../grayscaleAndRotate180Composite.png | Bin 12311 -> 0 bytes .../grayscale_media3test.png | Bin 7240 -> 0 bytes .../rotate180_media3test.png | Bin 7593 -> 0 bytes .../DefaultVideoCompositorPixelTest.java | 261 ++++++++++++------ 18 files changed, 183 insertions(+), 78 deletions(-) create mode 100644 libraries/test_data/src/test/assets/media/bitmap/CompositorTestTimestamps/input_grayscale_0s.png create mode 100644 libraries/test_data/src/test/assets/media/bitmap/CompositorTestTimestamps/input_rotate180_1s.png create mode 100644 libraries/test_data/src/test/assets/media/bitmap/CompositorTestTimestamps/output_0s_0s.png create mode 100644 libraries/test_data/src/test/assets/media/bitmap/CompositorTestTimestamps/output_0s_1s.png create mode 100644 libraries/test_data/src/test/assets/media/bitmap/CompositorTestTimestamps/output_1s_0s.png create mode 100644 libraries/test_data/src/test/assets/media/bitmap/CompositorTestTimestamps/output_1s_1s.png create mode 100644 libraries/test_data/src/test/assets/media/bitmap/CompositorTestTimestamps/output_2s_0s.png create mode 100644 libraries/test_data/src/test/assets/media/bitmap/CompositorTestTimestamps/output_2s_1s.png create mode 100644 libraries/test_data/src/test/assets/media/bitmap/CompositorTestTimestamps/output_2s_2s.png create mode 100644 libraries/test_data/src/test/assets/media/bitmap/CompositorTestTimestamps/output_3s_0s.png create mode 100644 libraries/test_data/src/test/assets/media/bitmap/CompositorTestTimestamps/output_3s_2s.png create mode 100644 libraries/test_data/src/test/assets/media/bitmap/CompositorTestTimestamps/output_3s_3s.png create mode 100644 libraries/test_data/src/test/assets/media/bitmap/CompositorTestTimestamps/output_4s_0s.png create mode 100644 libraries/test_data/src/test/assets/media/bitmap/CompositorTestTimestamps/output_4s_4s.png delete mode 100644 libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/electrical_colors/grayscaleAndRotate180Composite.png delete mode 100644 libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/electrical_colors/grayscale_media3test.png delete mode 100644 libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/electrical_colors/rotate180_media3test.png diff --git a/libraries/test_data/src/test/assets/media/bitmap/CompositorTestTimestamps/input_grayscale_0s.png b/libraries/test_data/src/test/assets/media/bitmap/CompositorTestTimestamps/input_grayscale_0s.png new file mode 100644 index 0000000000000000000000000000000000000000..408a580f3567d4e43fc00b50084007b8e8525dc3 GIT binary patch literal 9143 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
*S3@$fO>2Po(p{Uak1 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 literal 0 HcmV?d00001 diff --git a/libraries/test_data/src/test/assets/media/bitmap/CompositorTestTimestamps/input_rotate180_1s.png b/libraries/test_data/src/test/assets/media/bitmap/CompositorTestTimestamps/input_rotate180_1s.png new file mode 100644 index 0000000000000000000000000000000000000000..239f8275d51390e21d96a8cba1c1d31b15b120b3 GIT binary patch literal 8414 zcmW++1ymbd7fgbCpm=d8?!}$p6u06|ad&rGppfE}QV8zFt%V|m0x9n9R-|Zf`Sbnn zY_glp*?aEJotgLUo{iViP{PBe#0CHWcq+>BIsgEW7kR9QiH`h6`|FH@+yT9Hlpug_ zqf~#9KTy3PDteg65rS#^0RW%_sL0Fe1>_!o4GbVwxEtu2nUcKTX7cYP97Sb_^hl(l zscVBu6GBN8^oUV`3LfFyQiq|OG>NV2n)0WXB!mjY24tj$JGgV8NIGDe3}jGH<2=2uat^J1mwsKL}R1F?$UZFtEgSOKCLvM7jnEz2x4K zWS^P2YB!76)t|N_F|=_m_l#|tjmz0%8IeNSKKEbTZ@aG&P=A$VJE1X8Dmhd9Ln7&- zT~t$1n>uF~Z)7d_h$*RmimT~JZuMFThQq<@-zDyOv9MA%X7+QxiQn0ic?y6~ojcrC~arcQI zX92zEB9e`j^+xqVYTAygZvCcvJEH^!W=H*lQEF(JR9!4Oa83kc|p-lUo zpEMhwg&w10{1zQ6MpgZf9Jv;+FFX?riAP;bIg+zut$=~admOHNbO}Lpgm5k3M<%U| zK3x(LSgL#_2(5s@)%uZ;Bt=Gsf`kwYCuQTq;0JjoPNq1b&%bz0^3fcfza2i|uy!0Gs6Pkm;$ylxLWVY2QTA)oSzdi4x(BkHF@% z)Qw&gv~GuKcqYeFQ23c$H{C?4V5P97SjF)+E7n+%#{qu{_;#tJqN=2>dx#ZNnj}@V zZFY#ZZpu$Qom0n>2?WF0r>9H2dn;b`^%G)xu{Hb-c;UbKkIFxAI~|E79Ch-&t(K)P zDVbK)#JI6*exBbH%Io&0IsfNx7SJ1W!l18t^lr0`f||M&dY0tqinD{{c#5vpYSs`^ z>J;9YtFnUFtn(^Wnw6`n+eD~l70x*)I_P~KxGa~{$eGpC8XG&3u-cCn1}efWH^Xz9 zz&oeX?325sk~ zh0ay*W%eb- zeTQEN@K6fsA;`Ryl{IF6k7lPB@moQPjWx$eYT~PbdWXdnX5UQ*;TH`&g6IU4I1b((Pp6p{fk&y%X@~V-@mDt zP&sk}Nr4v<2-IXZ;7Aglub38c<4?N;1Ssl1kImtC*d5JZa+G!)(8ok;V1+-Z-%j4l=bF1VizYn!XSFi*MLlkEDFB~7Q^vPpx+Y4*fcJ6H-}QwyD$;^cf9{Ty zDD{3VHke7Uu?VwBlRl_u_7-aq9=>-a>l|jeww_2f3ti;`;L>kDiiTzF#)8r?9ctcf zNM?rN?Aj-F>cIaTfa|sl*@PZjahpTT(&cYb_#Y6vQp*2I{ezPY%4{0`eG$BpQTRM_ zwQ;Vi2sv`w>T~ISmJ)cg3ToW4BWeA^T_v)Oy(*tG{oLfbH-nenO2GupYBy5pYSX-a zBK-pEbzHCo%5)63itD`#Onx3*0`#Yy51qTR5&C*=H4dM>$t+gK#d$q+za6`q1)@tJ zem`cgnfOTNIWak%p?^$V{}{mb@9X?j5pL(iAbwu!>7ra&^4m&(caBMLn}m5a$HvT~ zD&{So>cdY3VG{DmnHfB@zxSRfU-OBIYS60XXQ8f}#-r7`i$%A#khEx- zBlL`K4QgBHh|nx4;R#AoH!xdNrH>rJ!rX|z#CAtNx0V_8X9MDFc^TJ(F3w#H zDAfXsXg0j6@OS)}-}csm`{-uZt7c#;76em=pI?XJ`C(HZUv);nRuTuvg)hh}2XT+x z<8#C8*EXD*jjwQY0e)E#v;sP~T#7L_ktD%;?%spcHGGyBI!*?i{PX!VBW~&p3lyY~ zn#5^xZy2WBWnBAw=dLueyj>Xq#F-1Hh@T8p67H^idbZ`5N&TQWoq2VuPuYN#w=r~q zm-~_ZC<8Ra1jl}r#L!qWUd&sk)CdI}3r=_0iTgMS@;tgW5*%>Pj5- zJ0D57>vy#HDz_zc{GVSerdopm$@2l*7LOR|udXonzf*R~e&Mz6>4q!$zpbRAdB;RT zIe`{bwAn{Mv7G&usDSdvyI#RFN1%yCI;3ey`)rFqq;cOWUE+ejaBMd!CFggRqFy>f z=!Nlq0=BF?5RB%)V=nW2A|-3H|1IPExo<%d5G zfqWekX1Qn(Dw?Kba)SOzlrg8)+swi-|NM>0@UY0i^VGPGp@FNY`LA5I;4B>8mxk@9_MxBpE7=pu@nca46J%P;caV6cfCa!}Ey_Pr;&a-#h4$?+)mmi5_*`shB) zFL*gUD^a#?qqR4xx>IDA%o@lmzE&)h%spai-)h@t)QY4$H@ zrU;i_E{+s?7+qG7RZ^lqe}mD&PO(38r0$`PaC&C4&?$-)w$!t-AGcETE=@oz0&CeL zVSlMBn6KLh#?tJo^*!RPvFGM{T&}x|h=2H@*4C!Qb40AM`(6b>*JI@m)?7^9?bT=k z1Z~)bxK2thDJWvA;{JL*SZ4WcOJ7EHj`nYa7GnOXph~YbL3tXkFlZz)eQMO1=}a_t0k|H|5ZwO#)yb}EQs>mHDD9(` z?eSoV$Or&`fM6(6K;m%KiL*&%jHQ`Vx8{WgTt+t;(p?{jTJl>_be6gb<1#)iL<0vv zoGA0AGP0tw3Q2q3s*{b~&c<%}TLeh39PSa&CeWT8VflEVcHAd=xff`=0Q!0?%IE=K zXgZ{BL8~4SJRNe6Rz9^c)z5&}^*m{e|A804lBma8;gjFBH)hhEAd#Ruh2ph|0w^KA zn-_@|q+`RTkF<`A#U0_~#nRrW9$>*yDg2Ol(uoz^^1d@OBnCLnl37@t(?+e+AULys zJBIh+%|T=opD>K`XRyqijk+SW4_zIH+#q+-e^IyuG7M_Z9S+*KNq>a}K&#QlJ&4p? zKN9&Wppn;k3i3a7V&yEdcQq3fO?gDzkAO*tiN$C~a&K_64W>~_bi|*Ql=q=>gOdlq zj}hTv0k00UfN(H>j6-QRYx5Es)CxT(hRLB89<|lA&_L4t3T(LKQ9|(|Vt5Ew=Z;Tn z;4Yl&!0VjO%=gAndiF0Qk?_F1{VdofhxP&?2{yuR7-#6NELCg>gb#aA5z!b$ox69% z`5v~y7-+R*KxiJ{awFI2iy^LnNfy5Stf7cBD}J2@V^>@k7;f}luqLjlC1d%MdjmYU zQr=whiwW&pP9=qwsL~Ttrg5RD>=oXPSAqT#*2VU=85q+4Dg@DA1UAo0Xsjv~=H#=b z>(h({>v2fQ0Uy@*a3V70l!Gcv8xjgJGvJQ~LZ*fyoA%2X1A;HKo_6f(Xjc!Li5kTy z%E@I)Kt~!d7!_;Hd9JiGd-QbG_H6+c{W=GnOD`ViEX-QQ_Kti$US^AF!p`O7JcfA0 zq?r>MSmxkVKNs$P_z0iq1^pR$!GR`Q%$@J^QN8_N%}sd^pe)0Iya}RRpG*Wr%dIoA3!AUkN$$osL-(;1d}{dVZM%V z|7_Dsek2#iS|D&(v*f$}bRj0D^%5KhkN^dh5&YSDMH0CBS0V^T63pX6M@K|oZPxGL zgsCkGocw3NLeE+)an=kRrDR~!?dd7GtyO>7nN!yOXK${bvP)O^Z%;uinxB}GZt!0n zS3BEcwuzU(7;w3dnEdluI9SM<7%m)&cX-9+Hj900Z@x>L`AH~O7WSnPJ2MCSY(MNJ z5aPf4q1=?J4N~@|!|+#rmi*~BeN@gRUy$-X+Hb^B<~!JbE7Gh6+bzHuDJWVV?UD+s4`J=$P=vbr z%Uj^<4A30|9Z>#w-1-nF_=#R5rkIX_!?O&hs-cSAbO2AxH%b?+#%H2g2?s|Lmgh-i z>>A|Eud1qA=e8pDa5<%^K3Us&Wo&C}iwf(;^cAgQ!W1GAsRKL6+0a?uEN-q} z-v+1IP}sL#rygVaqV10Q?r=ke9o^_@R%<2PS_9{A8!v{phaOm)b1pioUgKVd-WS|Y zmT9Mj0!Z>}BMl8=em7ID5Rmi7%ewHRfM6n;kd3hG&B7ph%R`)W)!oh?qutDFYRXE{ z(WQMZJQaifk6_`xrs8Q^-dEb#$p8}j;U((2pD)l5`D4v*Z!b3{6h8(Q%8$?$tPC__ z11CK>>qxQT=<8MPf(j)iq|c8EF%edxG0>lsl9`>6gW@L`69+ITNO5IkJucX&uY{Kl z6#$%6{O&(pH7&C^lXZa>VcGckIRDYY(^5xFgs9rUzCJ;&=}-CV*t6*grHG>U0Q-0O z9}azZSM`C|2D=NvJOweQ)^XbI!yukZCnyoJtu)aHc2{d#zwcQV+QWYRi&n%iRDy0O zCISqab&zj0aZ}3QIax0yV=1_{B+(l=`st>E`+Ieajs&-&$Xk-Z`08MSfm(&oZ9JS7A^5fhgZNmmr?CjO%M+yFI*oFUQnV<4fEsGv$dC z0(6_q>I5UU@6i=2#v9D?y&b=znhyet5Otm@QINepo40-o|}hSWlva^+qC*xs`TG;TM{`kPYQ%g2Je%wHe9Hh6xh-AiApMRWqo}i^6wVA z+r-HU86tOR#k5RaPQ2ilRz?~`Xf(y#+>`(rVEnl?nepjDUQ@VWt5f2GGmGxy3H5IN zD;_^n1O=qq;a9=SOBV9qTo^CK4Ghk3>3L5cckGv1Mrw|3DaF9Or`$AXu^AZLL~*(3 zADD=gaDha<)1A~28E6Wux4@ajeK+nmR#F21Ujl0_LNb(Go{`lm`CAM%ljqxiQTpN^ zUUbo5M080U!ns+iQ~d4hQBdh{=j&|um88%gKiGGZ>)NHb@NjUoUG~~w$cg$C@)7MI zaM4V*7s)cc9jP}09cf9Lf=5~s?YY~p;^abI1(|%DO?37m02B3$iqm;Z=VSA4%Et2E z=REY{__&{)=?a#xXv8)9-$F3L)2B0Do;Ll(6EjhZnR_xvbj}>$<}uTu#%M<-jm20k z{~5>6#VGW9HZ?26m-|A(blS4%Z*jkx5j@)2PZ*^Uq7`prcu7rqt6U?yG8NdPw$#<#Qu($nFAE5n?^WnE{9lPV!%wqfb*31Q5>IP&d$N#6R>v=WCk@IDT z5(g1P#t?71lOgNG4J^eYM`w!gm?IS!o8UTvyPbuc9 z*(v5>fl{0h(58M|wlVsU5EcaRV}LE7^!AQXvoW=Yzyo1S!4;G#osn+X{z#Bk#KNZr zD=4Y)5IusFB*wW7cCH6$0K$K|y>#Zb!<|HGGOGF+(EGmD715QBmQL5cjw?>Gea9Y~{j>r=mDV-=ce#RhTV@Xg3ewq|90x?ji ztUmrArrdI@w{uS9jgFqf9^L@_`|7;%jId`PnXh8}jiDbe*d39ykEJg^CR7!rrOMIR z=x-jd{qxbR|Aa)f&B;kb$*4k%Jrq{7*Sz(LRGCno^=CD{3QJQr05*vpbolY$x!OcM zcTNMdOQVEA_N9i9#{z>hi3$-se4+WVm+|_zjAVzNmY+~ni@pBt#{7HzNoY8v)`k&K zj0Gx0jYt0uY5}4%ZB_;rag(bD2{N(ObsurdncPPTj?GEb)XZ$3uU}YJPNIvs8qECU z5!Q3_IdcftRa$p_wdQhj_i!YB#RjjskfryMCw|>T>6gA=7_C5-M9L>qlgS0MB*4~>cVlZhF)+F~S-;@5*+=e752aZz6e<0$I0Hg3b4l!C z$yS5By+?9d;hlkE0Vt_4H%0D)riH?G8Kg~%J|n<7e#6NPkxSmu(Dk$s^oV~)&R$u? zDtJ!ZT@Nu4a4MYJEvPh{-Cd=T>l4UspexX5hg#B4&ma(iDuDX1bl-A5B7U6z6QOf? zTBSr;yCJf_&7RGINe`27uU+oC-b);l$~%TjZoKs&yMEjDf~CS^YGo&QkLP>ax$U>D2s%2}Dd`xnOloeXt|-QNrbI`Bu6FZN8 zdS+(tU!PvX(_`mKv$zUxbBP?0)x>viFsp&`eu1C_)`zznz(c{*& zWXa&GZWp2Gy+Fen11hNya_`+?ta46QEB?>_tu%;9NP2d>tajk*Mizi&cs{Qch_$4= zyu4docqQiO$OU=PsRVR$)4JNQzPCui;-IFbg*07fIsEz2%}!fYmaRVq>xD$-nJSct z7$lb&0s4Y>rF;wwAc?VG4g%K8ZJspZcfGMVXG1LcmY4ezyp&1h)zvXGP6`kR$nEFt zyQBGfl+T|(tB)ErIS|fP8%0kPDaq9s6crYNIR97=exeUJ>AXH&bXFhGT+J-uN=;4m zI9-=j%a@{#kB_f2t^u34AVPPLVQ-MjEI!*o@VtuSDe=^pUr61oqX1-rzTdB8WpNsTk`$v+ zFz_w62U9*ICd&Ev2$X8(CtvK1F|x5?xpyKA(!6OxPGvo)-s@Kx&@(fmV_{+KuXRbc zxGte*+SPk(K-9hnjqEiv_1~X#LBk&J3Xm`mNZrsC78UV@KZSJJ20~Jq0)7}6AQ3{= z&VMzKWpi^AOh_1s3Er{%u=P{3_XAB*{6|`b5 z^L0Q1$xHBM&~=(V;=Z@*@oGuLYg<|Fj?5w?vae76;qfGVpw8-7POkToYpd14bcJDy zi;X&QzECB$EZTzhSxl5rnD;^zOEq?8Q0l+n{$VbA3T=ZP{P8})Qtc%a(ig9jF&tvazkY2$N@d#S0YvWQ zjg2WMCntHmchx!&vnC=TH@vH%*DK5hzuP>w>YV4k3GFmgcStKBs{)6^!7pA!o4B>3 ziTnS%G%?WD*4BFOxHp!Mp|!_YRo01&?@ieICntK~VoVzPGxUBF8vej&@XhqUr(Z}5 z`uI{9ABm`_dEib)Tn7mW30{6;LV|IJ>YFz}KnvZ?%|ZT&i1RF`#QjlY!ykJi(xIUt z-p>-!DJw67F3W?7i~k^gxUS|QO2-4Wh_myxRO{{jkPd$lCYUqz#zV6Dbj5!ya!W+w zv>OHQ776;ghX?@Rzv4@#qob44G5gI72j=)bBa!0uJIkdO*YUqT0lS~=wMA{ApLSbLO6A1@E)2ZulDOlqD~!o_TC? zbYXW$ab+d8-w$dWGHw^;qV%Y}z-o&w8UUDP)#vr^hldbAcTMZ+BACe2(aEA zi6YB(f|M^MakP2u^^!djhFGi@%>Q{$z~7Rr(}Swo&A(;&zth=tDVcFP{?i55B(p{? zCTw(WmfYg7W|i^~31^}+r(qpzD$%u|zg&Z6>b=)0PHDn>;S@OCQ zd46IRO?;TCdb{=erF&mT;6;bjnk~N-(xU>_BQZ`l6M3u`8tej|Zuj_*w85p3AZJd) zs_93xZ+-P&b=0y(+Axx-6YSe@o3;U9e@}~~xI{(U>5nVQ@_HAWol`!2ihxQ#k-PuA zWk!{i2?!7oNsjKf?!n>d7?;1=>`(N3M9eWFrT#_OT~R>+t+%%qHsiG6AyVhEz;A1B ze{Y)Ek}dA<7M&WfU+^9P+gPDy&%i!AI~yDx{!ar94Go_%GGd#W1bhx>@!0j(zsP5+ zG5=>`85tQ!s^F1sl&XKJ3ql+)2Zq+PW^lZ<-XAYeR#EA>LmX=B>!W4b5z^4$H!ghK z`IBWcQK+D-rq-8b5f)!r$qt5qkwt!!#f=u?j{TNKA<~SQjcur^Y2=IW{}J{clYBos ztR}Ch7zK_()`Cjh50|Iwfgj0|+0BlZZf!uM19c-?NkR$=tRE}MFIY6zlZ02hzxy6O zuqU=&Z-0~c_W=qW_(<`ZE`b3ZpX$TSO@K#k2ejkIUS9Aia++i0;=*%krtI(UpKo$} zK@)ak)p{FR(W)tRi%OY@8zBA63&_pAF&=!s=Mox6aA<8dBbIoUwBd$WqjUyqppaX-H|V6kJoF$ zD$cIJW*!7OfEJnPuX85@k^S(SQWw7U`PLN^+uVuMRO`EYDC)X{@G)ITD!eFQi9DPC`ss#9H_6Xu16b?yuC*MLFcV0U`gr z3*dukp$xNI`0mSrR8drZ*d5lpMhYt{D_L4*qncS5{H>OQ+WoaoEUY2?IZQ22f`X5a zZ`?t^^{yObhZLo3MlEbSd+j-yBUqZTY#qU6gN2gDQrpI@5{#F4$Tc+jae3#2l{;ZH nng6)ZLt+1jx}`BoTJJVonmi?i*e;I-nFl~cK|}r<#4_rC1(yqV literal 0 HcmV?d00001 diff --git a/libraries/test_data/src/test/assets/media/bitmap/CompositorTestTimestamps/output_0s_0s.png b/libraries/test_data/src/test/assets/media/bitmap/CompositorTestTimestamps/output_0s_0s.png new file mode 100644 index 0000000000000000000000000000000000000000..15592aae954cc7e175f10c9c1874f65a519931dc GIT binary patch literal 15183 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 PSU7oU6{#9Y)8PLBbvn?8 literal 0 HcmV?d00001 diff --git a/libraries/test_data/src/test/assets/media/bitmap/CompositorTestTimestamps/output_0s_1s.png b/libraries/test_data/src/test/assets/media/bitmap/CompositorTestTimestamps/output_0s_1s.png new file mode 100644 index 0000000000000000000000000000000000000000..2ab1eba553551ad4fa143ece5dc0787b92ba1816 GIT binary patch literal 14622 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 VGQ*P=aMKV%Mnd6Jg}6cB{{eSslBWOw literal 0 HcmV?d00001 diff --git a/libraries/test_data/src/test/assets/media/bitmap/CompositorTestTimestamps/output_1s_1s.png b/libraries/test_data/src/test/assets/media/bitmap/CompositorTestTimestamps/output_1s_1s.png new file mode 100644 index 0000000000000000000000000000000000000000..27dc4eacfebc128ed5ab875a0623fc54973bd67b GIT binary patch literal 13920 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ν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 literal 0 HcmV?d00001 diff --git a/libraries/test_data/src/test/assets/media/bitmap/CompositorTestTimestamps/output_3s_0s.png b/libraries/test_data/src/test/assets/media/bitmap/CompositorTestTimestamps/output_3s_0s.png new file mode 100644 index 0000000000000000000000000000000000000000..0b1370828af6ea5b0e510f6d5e6e9334664a543e GIT binary patch literal 15342 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 U{g|yD(2WZrBcUi>E^7Skf56`G%m4rY literal 0 HcmV?d00001 diff --git a/libraries/test_data/src/test/assets/media/bitmap/CompositorTestTimestamps/output_3s_3s.png b/libraries/test_data/src/test/assets/media/bitmap/CompositorTestTimestamps/output_3s_3s.png new file mode 100644 index 0000000000000000000000000000000000000000..3f8c6a7b71ff7e956eb2678ff6e7f5bfb59da578 GIT binary patch literal 15480 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 literal 0 HcmV?d00001 diff --git a/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/electrical_colors/grayscaleAndRotate180Composite.png b/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/electrical_colors/grayscaleAndRotate180Composite.png deleted file mode 100644 index 28916681b35f2e21537194301fc420415914722b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12311 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 qO$Bcf5D>pdUx}y&#@pKYGdvDgK)2*Lmesr diff --git a/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/electrical_colors/grayscale_media3test.png b/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/electrical_colors/grayscale_media3test.png deleted file mode 100644 index ec10f79f10275b55d2ba9e9facbfbc05a1fb12d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7240 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 primaryTimestamps = ImmutableList.of(0 * C.MICROS_PER_SECOND); @@ -183,11 +204,10 @@ public final class DefaultVideoCompositorPixelTest { assertThat(compositorTestRunner.inputBitmapReaders.get(1).getOutputTimestamps()) .containsExactlyElementsIn(secondaryTimestamps) .inOrder(); - assertThat(compositorTestRunner.compositedTimestamps) + assertThat(compositorTestRunner.getCompositedTimestamps()) .containsExactlyElementsIn(primaryTimestamps) .inOrder(); - compositorTestRunner.saveAndAssertFirstCompositedBitmapMatchesExpected( - GRAYSCALE_AND_ROTATE180_COMPOSITE_PNG_ASSET_PATH); + compositorTestRunner.saveAndAssertCompositedBitmapsMatchExpected(ImmutableList.of("0s_0s")); } @Test @@ -198,9 +218,9 @@ public final class DefaultVideoCompositorPixelTest { new VideoCompositorTestRunner(testId, useSharedExecutor, TWO_INPUT_COMPOSITOR_EFFECTS); compositorTestRunner.queueBitmapToInput( - /* inputId= */ 0, /* durationSec= */ 5, /* offsetToAddSec= */ 0L, /* frameRate= */ 1f); + /* inputId= */ 0, /* durationSec= */ 5, /* offsetToAddSec= */ 0, /* frameRate= */ 1f); compositorTestRunner.queueBitmapToInput( - /* inputId= */ 1, /* durationSec= */ 5, /* offsetToAddSec= */ 0L, /* frameRate= */ 0.2f); + /* inputId= */ 1, /* durationSec= */ 5, /* offsetToAddSec= */ 0, /* frameRate= */ 0.2f); compositorTestRunner.endCompositing(); ImmutableList primaryTimestamps = @@ -217,11 +237,11 @@ public final class DefaultVideoCompositorPixelTest { assertThat(compositorTestRunner.inputBitmapReaders.get(1).getOutputTimestamps()) .containsExactlyElementsIn(secondaryTimestamps) .inOrder(); - assertThat(compositorTestRunner.compositedTimestamps) + assertThat(compositorTestRunner.getCompositedTimestamps()) .containsExactlyElementsIn(primaryTimestamps) .inOrder(); - compositorTestRunner.saveAndAssertFirstCompositedBitmapMatchesExpected( - GRAYSCALE_AND_ROTATE180_COMPOSITE_PNG_ASSET_PATH); + compositorTestRunner.saveAndAssertCompositedBitmapsMatchExpected( + ImmutableList.of("0s_0s", "1s_0s", "2s_0s", "3s_0s", "4s_0s")); } @Test @@ -232,9 +252,9 @@ public final class DefaultVideoCompositorPixelTest { new VideoCompositorTestRunner(testId, useSharedExecutor, TWO_INPUT_COMPOSITOR_EFFECTS); compositorTestRunner.queueBitmapToInput( - /* inputId= */ 0, /* durationSec= */ 4, /* offsetToAddSec= */ 0L, /* frameRate= */ 1f); + /* inputId= */ 0, /* durationSec= */ 4, /* offsetToAddSec= */ 0, /* frameRate= */ 1f); compositorTestRunner.queueBitmapToInput( - /* inputId= */ 1, /* durationSec= */ 4, /* offsetToAddSec= */ 0L, /* frameRate= */ 0.5f); + /* inputId= */ 1, /* durationSec= */ 4, /* offsetToAddSec= */ 0, /* frameRate= */ 0.5f); compositorTestRunner.endCompositing(); ImmutableList primaryTimestamps = @@ -251,11 +271,11 @@ public final class DefaultVideoCompositorPixelTest { assertThat(compositorTestRunner.inputBitmapReaders.get(1).getOutputTimestamps()) .containsExactlyElementsIn(secondaryTimestamps) .inOrder(); - assertThat(compositorTestRunner.compositedTimestamps) + assertThat(compositorTestRunner.getCompositedTimestamps()) .containsExactlyElementsIn(primaryTimestamps) .inOrder(); - compositorTestRunner.saveAndAssertFirstCompositedBitmapMatchesExpected( - GRAYSCALE_AND_ROTATE180_COMPOSITE_PNG_ASSET_PATH); + compositorTestRunner.saveAndAssertCompositedBitmapsMatchExpected( + ImmutableList.of("0s_0s", "1s_0s", "2s_2s", "3s_2s")); } @Test @@ -265,9 +285,9 @@ public final class DefaultVideoCompositorPixelTest { new VideoCompositorTestRunner(testId, useSharedExecutor, TWO_INPUT_COMPOSITOR_EFFECTS); compositorTestRunner.queueBitmapToInput( - /* inputId= */ 0, /* durationSec= */ 4, /* offsetToAddSec= */ 0L, /* frameRate= */ 0.5f); + /* inputId= */ 0, /* durationSec= */ 4, /* offsetToAddSec= */ 0, /* frameRate= */ 0.5f); compositorTestRunner.queueBitmapToInput( - /* inputId= */ 1, /* durationSec= */ 4, /* offsetToAddSec= */ 0L, /* frameRate= */ 1f); + /* inputId= */ 1, /* durationSec= */ 4, /* offsetToAddSec= */ 0, /* frameRate= */ 1f); compositorTestRunner.endCompositing(); ImmutableList primaryTimestamps = @@ -284,26 +304,26 @@ public final class DefaultVideoCompositorPixelTest { assertThat(compositorTestRunner.inputBitmapReaders.get(1).getOutputTimestamps()) .containsExactlyElementsIn(secondaryTimestamps) .inOrder(); - assertThat(compositorTestRunner.compositedTimestamps) + assertThat(compositorTestRunner.getCompositedTimestamps()) .containsExactlyElementsIn(primaryTimestamps) .inOrder(); - compositorTestRunner.saveAndAssertFirstCompositedBitmapMatchesExpected( - GRAYSCALE_AND_ROTATE180_COMPOSITE_PNG_ASSET_PATH); + compositorTestRunner.saveAndAssertCompositedBitmapsMatchExpected( + ImmutableList.of("0s_0s", "2s_2s")); } @Test @RequiresNonNull("testId") - public void composite_primaryVariableFrameRateWithOffset_matchesExpectedTimestamps() + public void composite_primaryVariableFrameRateWithOffset_matchesExpectedTimestampsAndBitmaps() throws Exception { compositorTestRunner = new VideoCompositorTestRunner(testId, useSharedExecutor, TWO_INPUT_COMPOSITOR_EFFECTS); compositorTestRunner.queueBitmapToInput( - /* inputId= */ 0, /* durationSec= */ 2, /* offsetToAddSec= */ 1L, /* frameRate= */ 0.5f); + /* inputId= */ 0, /* durationSec= */ 2, /* offsetToAddSec= */ 1, /* frameRate= */ 0.5f); compositorTestRunner.queueBitmapToInput( - /* inputId= */ 0, /* durationSec= */ 2, /* offsetToAddSec= */ 3L, /* frameRate= */ 1f); + /* inputId= */ 0, /* durationSec= */ 2, /* offsetToAddSec= */ 3, /* frameRate= */ 1f); compositorTestRunner.queueBitmapToInput( - /* inputId= */ 1, /* durationSec= */ 5, /* offsetToAddSec= */ 0L, /* frameRate= */ 1f); + /* inputId= */ 1, /* durationSec= */ 5, /* offsetToAddSec= */ 0, /* frameRate= */ 1f); compositorTestRunner.endCompositing(); ImmutableList primaryTimestamps = @@ -321,26 +341,26 @@ public final class DefaultVideoCompositorPixelTest { assertThat(compositorTestRunner.inputBitmapReaders.get(1).getOutputTimestamps()) .containsExactlyElementsIn(secondaryTimestamps) .inOrder(); - assertThat(compositorTestRunner.compositedTimestamps) + assertThat(compositorTestRunner.getCompositedTimestamps()) .containsExactlyElementsIn(primaryTimestamps) .inOrder(); - compositorTestRunner.saveAndAssertFirstCompositedBitmapMatchesExpected( - GRAYSCALE_AND_ROTATE180_COMPOSITE_PNG_ASSET_PATH); + compositorTestRunner.saveAndAssertCompositedBitmapsMatchExpected( + ImmutableList.of("1s_1s", "3s_3s", "4s_4s")); } @Test @RequiresNonNull("testId") - public void composite_secondaryVariableFrameRateWithOffset_matchesExpectedTimestamps() + public void composite_secondaryVariableFrameRateWithOffset_matchesExpectedTimestampsAndBitmaps() throws Exception { compositorTestRunner = new VideoCompositorTestRunner(testId, useSharedExecutor, TWO_INPUT_COMPOSITOR_EFFECTS); compositorTestRunner.queueBitmapToInput( - /* inputId= */ 0, /* durationSec= */ 5, /* offsetToAddSec= */ 0L, /* frameRate= */ 1f); + /* inputId= */ 0, /* durationSec= */ 5, /* offsetToAddSec= */ 0, /* frameRate= */ 1f); compositorTestRunner.queueBitmapToInput( - /* inputId= */ 1, /* durationSec= */ 2, /* offsetToAddSec= */ 1L, /* frameRate= */ 0.5f); + /* inputId= */ 1, /* durationSec= */ 2, /* offsetToAddSec= */ 1, /* frameRate= */ 0.5f); compositorTestRunner.queueBitmapToInput( - /* inputId= */ 1, /* durationSec= */ 2, /* offsetToAddSec= */ 3L, /* frameRate= */ 1f); + /* inputId= */ 1, /* durationSec= */ 2, /* offsetToAddSec= */ 3, /* frameRate= */ 1f); compositorTestRunner.endCompositing(); ImmutableList primaryTimestamps = @@ -358,11 +378,11 @@ public final class DefaultVideoCompositorPixelTest { assertThat(compositorTestRunner.inputBitmapReaders.get(1).getOutputTimestamps()) .containsExactlyElementsIn(secondaryTimestamps) .inOrder(); - assertThat(compositorTestRunner.compositedTimestamps) + assertThat(compositorTestRunner.getCompositedTimestamps()) .containsExactlyElementsIn(primaryTimestamps) .inOrder(); - compositorTestRunner.saveAndAssertFirstCompositedBitmapMatchesExpected( - GRAYSCALE_AND_ROTATE180_COMPOSITE_PNG_ASSET_PATH); + compositorTestRunner.saveAndAssertCompositedBitmapsMatchExpected( + ImmutableList.of("0s_1s", "1s_1s", "2s_1s", "3s_3s", "4s_4s")); } @Test @@ -380,9 +400,7 @@ public final class DefaultVideoCompositorPixelTest { .hasSize(numberOfFramesToQueue); assertThat(compositorTestRunner.inputBitmapReaders.get(1).getOutputTimestamps()) .hasSize(numberOfFramesToQueue); - assertThat(compositorTestRunner.compositedTimestamps).hasSize(numberOfFramesToQueue); - compositorTestRunner.saveAndAssertFirstCompositedBitmapMatchesExpected( - GRAYSCALE_AND_ROTATE180_COMPOSITE_PNG_ASSET_PATH); + assertThat(compositorTestRunner.getCompositedTimestamps()).hasSize(numberOfFramesToQueue); } /** @@ -395,13 +413,12 @@ public final class DefaultVideoCompositorPixelTest { private static final int COMPOSITOR_TIMEOUT_MS = 2 * VIDEO_FRAME_PROCESSING_WAIT_MS; private static final int COMPOSITOR_INPUT_SIZE = 2; - public final List compositedTimestamps; public final List inputBitmapReaders; + private final LinkedHashMap outputTimestampsToBitmaps; private final List inputVideoFrameProcessorTestRunners; private final VideoCompositor videoCompositor; private final @Nullable ExecutorService sharedExecutorService; private final AtomicReference compositionException; - private final AtomicReference compositedFirstOutputBitmap; private final CountDownLatch compositorEnded; private final String testId; @@ -413,7 +430,8 @@ public final class DefaultVideoCompositorPixelTest { * VideoFrameProcessorTestRunner} and {@link VideoCompositor} instances. * @param inputEffects {@link Effect}s to apply for {@link VideoCompositor} input sources. The * size of this {@link List} is the amount of inputs. One {@link Effect} is used for each - * input. + * input. For each input, the frame timestamp and {@code inputId} are overlaid via {@link + * TextOverlay} prior to any {@code inputEffects} being applied. */ public VideoCompositorTestRunner( String testId, boolean useSharedExecutor, List inputEffects) @@ -427,8 +445,7 @@ public final class DefaultVideoCompositorPixelTest { /* sharedEglContext= */ useSharedExecutor ? null : sharedEglContext); compositionException = new AtomicReference<>(); - compositedFirstOutputBitmap = new AtomicReference<>(); - compositedTimestamps = new CopyOnWriteArrayList<>(); + outputTimestampsToBitmaps = new LinkedHashMap<>(); compositorEnded = new CountDownLatch(1); videoCompositor = new DefaultVideoCompositor( @@ -455,12 +472,10 @@ public final class DefaultVideoCompositorPixelTest { if (!useSharedExecutor) { GlUtil.awaitSyncObject(syncObject); } - if (compositedFirstOutputBitmap.get() == null) { - compositedFirstOutputBitmap.set( - BitmapPixelTestUtil.createArgb8888BitmapFromFocusedGlFramebuffer( - outputTexture.width, outputTexture.height)); - } - compositedTimestamps.add(presentationTimeUs); + outputTimestampsToBitmaps.put( + presentationTimeUs, + BitmapPixelTestUtil.createArgb8888BitmapFromFocusedGlFramebuffer( + outputTexture.width, outputTexture.height)); releaseOutputTextureCallback.release(presentationTimeUs); }, /* textureOutputCapacity= */ 1); @@ -477,7 +492,7 @@ public final class DefaultVideoCompositorPixelTest { videoCompositor, sharedExecutorService, glObjectsProvider) - .setEffects(inputEffects.get(i)) + .setEffects(createTimestampOverlayEffect(i), inputEffects.get(i)) .build(); inputVideoFrameProcessorTestRunners.add(vfpTestRunner); } @@ -531,13 +546,35 @@ public final class DefaultVideoCompositorPixelTest { assertThat(endCompositingException).isNull(); } - public void saveAndAssertFirstCompositedBitmapMatchesExpected(String expectedBitmapPath) + public Set getCompositedTimestamps() { + return outputTimestampsToBitmaps.keySet(); + } + + /** + * Saves bitmaps files with the {@code expectedBitmapLabels} and ensures that they match + * corresponding expected files. + * + * @param expectedBitmapLabels A list of strings, where each string corresponds to the expected + * timestamps, in seconds, used as input for a composited frame. Typically, this will be + * first the timestamp from the first input, delimited by an underscore, and followed by a + * timestamp from the next input. + */ + public void saveAndAssertCompositedBitmapsMatchExpected(List expectedBitmapLabels) throws IOException { - saveAndAssertBitmapMatchesExpected( - testId, - compositedFirstOutputBitmap.get(), - /* actualBitmapLabel= */ "compositedFirstOutputBitmap", - expectedBitmapPath); + assertThat(outputTimestampsToBitmaps).hasSize(expectedBitmapLabels.size()); + + int i = 0; + for (Long outputTimestamp : outputTimestampsToBitmaps.keySet()) { + String expectedBitmapLabel = expectedBitmapLabels.get(i); + + String expectedBitmapAssetPath = TEST_DIRECTORY + "output_" + expectedBitmapLabel + ".png"; + saveAndAssertBitmapMatchesExpected( + testId, + outputTimestampsToBitmaps.get(outputTimestamp), + expectedBitmapLabel, + expectedBitmapAssetPath); + i++; + } } public void release() { @@ -593,6 +630,73 @@ public final class DefaultVideoCompositorPixelTest { } } + /** + * Creates a timestamp overlay effect. + * + *

All input timestamps for this effect must have second values. + */ + private static OverlayEffect createTimestampOverlayEffect(int inputId) { + return new OverlayEffect( + ImmutableList.of( + new TextOverlay() { + @Override + public SpannableString getText(long presentationTimeUs) { + assertThat(presentationTimeUs % C.MICROS_PER_SECOND).isEqualTo(0); + String secondsString = String.valueOf(presentationTimeUs / C.MICROS_PER_SECOND); + String timeString = secondsString + "s"; + SpannableString text = new SpannableString("In " + inputId + ", " + timeString); + + // Following font styles are applied for consistent text rendering between devices. + text.setSpan( + new ForegroundColorSpan(Color.BLACK), + /* start= */ 0, + text.length(), + Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); + text.setSpan( + new AbsoluteSizeSpan(/* size= */ 20), + /* start= */ 0, + text.length(), + Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); + text.setSpan( + new TypefaceSpan(/* family= */ "sans-serif"), + /* start= */ 0, + text.length(), + Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); + + // Following font styles increase pixel difference for the text it's applied on when + // this text changes, but also may be implemented differently on different devices + // or emulators, providing extraneous pixel differences. Only apply these styles to + // the values we expect to change in the event of a failing test. Namely, only apply + // these styles to the timestamp. + int timestampStart = text.length() - timeString.length(); + int timestampEnd = timestampStart + secondsString.length(); + text.setSpan( + new BackgroundColorSpan(Color.WHITE), + timestampStart, + timestampEnd, + Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); + text.setSpan( + new StyleSpan(Typeface.BOLD), + timestampStart, + timestampEnd, + Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); + text.setSpan( + new AbsoluteSizeSpan(/* size= */ 42), + timestampStart, + timestampEnd, + Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); + return text; + } + + @Override + public OverlaySettings getOverlaySettings(long presentationTimeUs) { + return new OverlaySettings.Builder() + .setVideoFrameAnchor(/* x= */ 0f, /* y= */ 0.5f) + .build(); + } + })); + } + private static void saveAndAssertBitmapMatchesExpected( String testId, Bitmap actualBitmap, String actualBitmapLabel, String expectedBitmapAssetPath) throws IOException { @@ -600,7 +704,8 @@ public final class DefaultVideoCompositorPixelTest { float averagePixelAbsoluteDifference = BitmapPixelTestUtil.getBitmapAveragePixelAbsoluteDifferenceArgb8888( readBitmap(expectedBitmapAssetPath), actualBitmap, testId); - assertThat(averagePixelAbsoluteDifference) - .isAtMost(MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE_DIFFERENT_DEVICE); + assertWithMessage("Pixel difference for bitmapLabel = " + actualBitmapLabel) + .that(averagePixelAbsoluteDifference) + .isAtMost(MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE_WITH_OVERLAY); } }