From e60c946f9140fc93e77846c632885cb9bfbf3066 Mon Sep 17 00:00:00 2001 From: Mashopy Date: Thu, 16 Apr 2026 09:14:53 +0200 Subject: [PATCH] rosemary: Properly patch blobs related to Stagefright --- Android.bp | 13 ++++++------- ...android.hardware.media.c2@1.2-mediatek-64b | Bin 68993 -> 15616 bytes proprietary/vendor/lib64/hw/sensors.mt6785.so | Bin 235840 -> 314505 bytes .../vendor/lib64/libcodec2_mtk_c2store.so | Bin 81176 -> 152265 bytes .../vendor/lib64/libcodec2_mtk_vdec.so | Bin 1258216 -> 1338809 bytes .../vendor/lib64/libcodec2_mtk_venc.so | Bin 1268784 -> 1338689 bytes .../vendor/lib64/libcodec2_vpp_qt_plugin.so | Bin 19808 -> 67465 bytes .../vendor/lib64/libcodec2_vpp_rs_plugin.so | Bin 19816 -> 67497 bytes 8 files changed, 6 insertions(+), 7 deletions(-) diff --git a/Android.bp b/Android.bp index b4031c2..794e5fe 100644 --- a/Android.bp +++ b/Android.bp @@ -4999,7 +4999,7 @@ cc_prebuilt_library_shared { "libcutils", "libutils", "libhardware", - "libstagefright_foundation", + "libstagefright_foundation-v33", "libksensor", "libaedv", "libc++", @@ -19803,7 +19803,7 @@ cc_prebuilt_library_shared { "libcutils", "liblog", "libsfplugin_ccodec_utils", - "libstagefright_foundation", + "libstagefright_foundation-v33", "libbase", "libcodec2", "libcodec2_vndk", @@ -19849,7 +19849,7 @@ cc_prebuilt_library_shared { "libcutils", "liblog", "libsfplugin_ccodec_utils", - "libstagefright_foundation", + "libstagefright_foundation-v33", "libbase", "libcodec2", "libcodec2_vndk", @@ -19898,7 +19898,7 @@ cc_prebuilt_library_shared { "libcutils", "liblog", "libsfplugin_ccodec_utils", - "libstagefright_foundation", + "libstagefright_foundation-v33", "libbase", "libcodec2", "libcodec2_vndk", @@ -20105,7 +20105,7 @@ cc_prebuilt_library_shared { shared_libs: [ "libcodec2_soft_common", "libsfplugin_ccodec_utils", - "libstagefright_foundation", + "libstagefright_foundation-v33", "libcodec2", "libcodec2_vndk", "liblog", @@ -20138,7 +20138,7 @@ cc_prebuilt_library_shared { shared_libs: [ "libcodec2_soft_common", "libsfplugin_ccodec_utils", - "libstagefright_foundation", + "libstagefright_foundation-v33", "libcodec2", "libcodec2_vndk", "liblog", @@ -29835,7 +29835,6 @@ cc_prebuilt_binary { "proprietary/vendor/bin/hw/android.hardware.media.c2@1.2-mediatek-64b", ], shared_libs: [ - "libstagefright_foundation-v33", "libbase", "liblog", "libcodec2", diff --git a/proprietary/vendor/bin/hw/android.hardware.media.c2@1.2-mediatek-64b b/proprietary/vendor/bin/hw/android.hardware.media.c2@1.2-mediatek-64b index 6468e0e03e48fdbe398960406f93bf8fefec40bb..115f32d9eeb1ad1db41150326da845abdd367480 100755 GIT binary patch delta 544 zcmZpi&C*ac!GfKO!GS@NL42aUqOk!J0~o+)4hWZl8A!7LaRF2wiJttJQE_68$z%n_ z0wa(t8xR{900}I#0LUC5fYBTble-x0CcdzkxWQub2MZQmkR2URJJ4whuvP{J7|pWz z=l@t{A%2D*Di9eHMhHFm2J4FL8O)4V**1sr-d5UPz{RM+#C(8>Vft(yMp?lIkPCr; z3qmnmoqm#sar|Hck^BZ$Av$@ZrSN1AYo5smtOdA{Ts8T&wJG-ksB3}r zWN8~yO`tVk0HYWcphypS| zhCmHwfVm$=UxoSytbVeiweaKv<{ChgUz*pmg3J`#oNFP>H2HvyfF^ppAmRb68E&<} J=1MDeMgSP}ND%-4 delta 4028 zcmZpuYMjk7!GfKK!GS@NL2#nIqTm811~7op91~aCPhzr|e1g$p;){aG6BsSHnSlye zz={|rE) z>cRA6RSW)lkaH5aAhx2@3Lw`50gUE=a2cYg2kNP36j>&X+D}%nQBBi8hrbc&KAC)j zb;UqCd(?i?ew90ds}HVo=FWh z>Z%_Nf9i%Osiuix*Ra{a_yF@H3k^oG$(k1Stm43a5!1wt!jl^;G&seeog|LQA1%y5 z3M}hcL1F@%*IEiQEwW*pWG*mq86U7~B|16LN`A6~xd1m(_il2uxhXeNw{7xlbJL&z zXm<`qOF%njAd5j=H(19E)*Xxjih-0s`=<;U%#aQqjQ-9xd6BiACa(S-$XF1787r`P zqHsRX<^{qDR3RcbHy1F4F$-}q{7`{dWCC#>!{!FIt8BVCnMuVZiRr0nMVaXtCGlzb zrFkidC7Jnox@E@3dd2xbJy7)wSJ^ge8R#)F0|RDqw2`bJ%!6DIa~Zx*?ljuY$N&I~ CaQ|-r diff --git a/proprietary/vendor/lib64/hw/sensors.mt6785.so b/proprietary/vendor/lib64/hw/sensors.mt6785.so index e91c508c831a05b7fe9c1f8a7d0b165e07a4304c..f96d6c081c5b537ad7e3e579f51fcbe017fea74d 100644 GIT binary patch delta 62142 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 CjHS!~ diff --git a/proprietary/vendor/lib64/libcodec2_mtk_c2store.so b/proprietary/vendor/lib64/libcodec2_mtk_c2store.so index bb2c3c79f833155b459c3b87958a39c50ebe0ce1..e8e3993911d35dd657da897ceba9bcaefe38164b 100644 GIT binary patch delta 23150 zcmeI4O-x)>6vxkoqx+uC3YDx>ybO>P6g~?E( z3274x&SJ18!lIZiOliV`?phKTG@1?z7hTkXu3VUuG%koH#ry6#FA;X{zRQ{oG zi5Dw>aipOFm47H);>F5e9BHUPeq6j8FN?aO9>a ze=a#0pYoUC$W2lHTyio#G1@hN{9 zj@%UG&m|}0Q~oj>xhcw@OHRh8{ADfH%0k#$;tSXzYIriit^`@lkq8k8IIf(<1xkAtWcq!9X`mfVCa}z0Zyw*g6b^!P%qNT2Wnc z>J+JCSOhz70W?5acEhQ~-(%#@bhzs27(m=6mzVqVPL=FVzF`~i=j}pu6TM^9)v$-j zX{Yvnw>$a7QS{C`bzvRVe)4|Pf@Q@1wp_7Kq+ZbtPwdjCX~2Ka!I?^(4Bnh&GNF4J9?j-mIdQ}5KH8m#D95t6K{ z@Vlxf8o`Qgm!jI|RBs6r?^}<5mC$-KPHo$CHz7#A(T?*jIkk5c)nXi=sRq>zr* zt6*>ZK+mW=?yqQT&x)#FMQ@i?qp%g*?R}E6FQnZ$X{R>Ro(yPw{W^N*F}VS~7O%U$ z?ZCZ}ci#0XRB3=ZdPX}=?f(TmZCC`SUh?OSXIm@%uGXKUO3lHX-Ov7>9CYgTDyp|| zfO(>E-KoVJc)N^}A2*`+o>S{-*G-W(_6Dj?o!VW2rq9XyJME3SDxc&Kk?bXJ%L!a> zpH-tU@Dtv?N#2jD@#$xr+W#A>!LFOO-%I};TyiQr-0iKlG<bZ*4IQ86Glc}^aAR@7sg_jlc3P2y-2HgBV8fV?gEMS>a1 xOw#@3PY;fFHhnz$;l$+G3&ZEfM=y*_4xUeca`D{R$ndj)tXy(7t93*r~ZC*M#w$qi;CflTo1fhju5H17_3M3&% zX7S7*U1-cARB$oTMh99bM&qJ|3rhUU>**ehl39@}zlF z4b*kHX6Cb-z@4mqUJKj}e89Mp@#nL^6ToAqQk!c8UI9*KARA)!R0;4to9|-2hs)9% z0xt8IsU?2`bD%qH-l4EYp$m{%clO{4)FZ%4<-pd#4xK3KBFxLVEY`sm+`v1)`XcsT zl`1t{d~UDTOf9@?&XQ$5U5~wEz-?*ZECi|!0QUp829cW8EpPe8W)#-w;MBqVrBG*} zKG068KShZ0)O`boxKpjNJi7>Wod)v?sAZ|m@!}e~rCVVSZ59A?pfbL(3E<9;P=&FI z+H=+30b_;Le}Oqenv#94I&~lTC=HxMpcyVpS)RFf)(+-#*nGPR>JH#?ZpBenYnOmW zfLrq*d&KHJ?v_P`HR|D_wz0al3FqE{y6YY0=U9Euk9P3-%+xx+09&m%mJJ*OruQe+ zepwdv0rvy9@>gQj{D>cq8HMG2S7KA^#{RgV&OqHa5A)XuH17dE1`gSwp5@FBt?xVE z%zVv<`ERVgE4xL#4&A_o>zF@cJkA$70o=!#7clm5<|_&ZNQ=VUI@k?)1l5ZB64!WW zcLB04R@dU;qBy%2^8E5_VB3)j7uW_{mcQSg-mq<4Pd%v;PlY{cBcr%ll;jN;W38;a zIR;bh)gt3H3Zp`E|M!|3^-xs=;5wpWmD&!k=pJ*YM{zr-|^V8vHf<`ORq}{HX?i4S#-fnh1ZY z!C%9l-<&4GpK9>e@aH$DiSVZy{5Aaf&1oY1sRn-ye|~eC2!E=AbYVg!=K-rCc>X;@YnF?H>Zj4ryBe<{Q1pk zBK)Zae+_?rbD9W$s=;5wpWmD&!k=pJ*YM{zr-|^V8vHf<`ORq}{HX?i4S#-fnh1ZY z!C%9l-<&4GpK9>e@aH$DiSVZy{5Aaf&1s@be=zm6t?K+%)sZVASC?E-xw_?w$<-s* zF1dQ;ip$j}SHE1l<=P`xLat~#6U4et5r!BjG@pF|hePp%Wq z)>}WF_!TsZZr;fRuZ!-4lMPaye9HvWo|_4pp6+;Vtve%krCMi4-4hWf+p3Sb=bT{U zu$%1r`$WBgpsVN}?dv@0PCf!JI4M8K$um%qzIg`U%7{LLY)~)Cl#8C5%ymvKnb*(T zYfhQ7RAfLZn5!@k)2!g}c{H z_qXbnHg)%I`_Y8*^=(M+9nH6o+zy>Y_f_|)kvyU- zgh-g~n$GG1CHK&(CnQkWD4?c^dY==SznRZUJrl1R2iM0YV=og Oy~QiztA^rfuvB%p0 delta 878 zcmdmaJMhI*p9vQ1Tnr8jk__S#?G-r9soU}C2GWCg~8NlX@#PcT|cp1^1^@rA|2 z4HkwhKzR@@fT~2NEg%Lkz-X53KmQAxsxtCT*H;x0m*ivk@tzf|Bm%0?Qkj84h=Ff< zJXHEFs&p$fDUN)YMy5NU}UsD|f44VPB~J1yW5 zs_tq_=o{(~KKt~EM#AFLU+4&HFfvaU z)D^a8WS<@gqL`;o)CJ0{FcKCJg;@@x+g*XWC;y!*J$;2PSmQ-q;d)kPprGjXP(5L5 NCPwz{6AgsJ83CgYr~Ci_ diff --git a/proprietary/vendor/lib64/libcodec2_mtk_venc.so b/proprietary/vendor/lib64/libcodec2_mtk_venc.so index cfd91aa8f67cbb25a63778e7c493cf9cab7013c6..901e279e091bd378a85d5c798b010b5c55b7013a 100644 GIT binary patch delta 28965 zcmeI*v1?ON6bA77Ueh*tsoLZfk_cidSX-gBSj0ewcB+Gv>XODRDqSoh3Jop}5ga-= z*qY%@N(C1Op_(DpMO?(qMM~`=l{%ZzMfAMfmm?1xuHfYiekmvKH22*5CBJ{*Zf?!L z-MzS0>K{uit2(cZ_2qL9-BRPdQ(E7=)mU>%jS5xKDb*7+5SCIyop+`D z*fSsf*L~_)r5yUaue0{&eX}?8#_m(^&{^Rbd7W3MMhAAEMZHgTpWVQ!l~>)$spf|w z-`vW^B>Zitnx6@Ob1NH@@VB9AekT0Qt!zxf--fFBneaEavM~vN8>;4K!r$D=#w7f0 zsG6S%e{(Avlkm5pYJMjC&8=)q!rz9f`I+!Hx3Vz_e;caiXTsmy%El!8ZK#@`34e1d z8H1HQ;=TP`Fg-8Q`5q1uRKU0V_@E2j{ zQ1~;2NCSTnb`FI zH1HQ;=TP`Fg-8Q`5q1uRKU0V_@E2j{Q1~;2NCSTnb`FIhq`L*-KSP$j5(srsn;sghJFDvv5nH9&QM>LAr2 zs==09%WQvfC+1qa($Gh)twjdz2BqN2YTYL7L`$>HDU9|d5 w@7;{A9*$Ozj^$2z>e}mg?q|KKc3#ClZ+;w~m}|_h6uj}9soU}C2GWCg~8NlX@#PcT|cp1^1^@rA|2 z4HnZAqJ>#>S%8WPpi0qc3y28}Fq&oi&;P=ys*HTo<5fk(CHWX`Y-R;3iGV5;RAOKd zV&I$J50zevDt%1>BE26XZLk9(y@U~>-B%GJ{T`}&BdYEnP-%HJu-yimP<0zYrTrn& z9~PoYAA?HQLv?RJm6n1^uLnwN@iAoVLbdxoM4I8oPE_&D37RD=+drs@=(#mBm9#UJ zFaj|X5HkZY3lOscF&hxG12G2>a{@6J5OV`D4-oSLF&_}~1F^t%rV_zxkC-Z5x8DjA zn#ahzf{9^zb%chfeMaW#kzvC2jO^2A0x4T&s3c4gl*R5z-Up=0#pRT3=E855}lTSio$4!T8Jt(upD-M9qbT|FdAkq%svT-ef11b2Ao!a zS_q?I7Dmwo)YHUN;td_OpZKt%h01{re<3taF)%Pqp2#Xcc>ycicnUmDFl$lT4vT()LR!YrFNIn*&4T0rY>ZfNxhtFKw1`~YT1J zn`};Ws%M?Nz(a#kbn;0Ldq%OzoSycaqEKm$$rC-zK{B58tROLg&Awj085zYkd-{ko zPJZAn0JH~Q@lXEkZpw{Rk59JtFinIx2u4dVLyQ&!QXrii5H7IZhX8vZ1yTZSwlKgP z45Lk84FRZnj?Ic9kGMA*h+L)$;mkN$z>8(G4bv?qNiK#RDiB*jpuu$==qe!wuF3kW z;y~FOh7ef|XbA8E-3^kBXB8LXVo*?k$o_y(44V_!gjv*bGLwo+64O)DiZatPO5)S< VOY>3^OEUBGbjys5^@{T$iUC`S-gy83 delta 472 zcmeC|XL&G-ae@UqCxZinID_a!dqu7vj0|A#gK=V(+hhgCg2^WsEhbN3w3zt9V&Vpi z$rn6XbXkBZESMnbFldM{g9Vgk+5GeWQzk~f>Gzo!#U=R|7>pqj1yFk)1I-a);G53R z%qXtQ#~`5ykq&?wFV75?W>8Roi2s04K$2 z!DumAfzhI#1*iyw85kJBBswht6@}3dwGdToU^(piR3q*yj@a;Rf8w1C#>+|Vi&R)@1f`5DZRx|<8ix89uS)XqA2g@*>C z=;VtY_Kaea1wHM7>_AWP$tyg;qMr4vqCn*Wn?t>RGct;84)hUcoczLFKoC~J!)S@g z9~p%w%Xr8LV$|?pnHUclNtgp+v;i~3C1R5&dWcWX@Dz}QIT1!%!Ftm2Yf3_DC9jwygPa2^92R6-0~ljB*%wYV506d|$!&}Nnz(CI)~ g1_cF(_zwuhu(^Uwie)k@mn5HVnX$26aXwTW03re8xBvhE delta 408 zcmZ44&+=jx;{*$KP6h`CaR$+e_KI9T7#YCe2jj#nx5)~O1(Q!OT1=k6Xfg4H#l#I3 zhAco?5Vl}~sKcNk!VDHrnq~9P|9_bz`51PnKty(KJa&7nCoxInk+|b#jJ}05_6PCO7+-atA<-0@9NY`zUv O&)H$M>o