From aaceb42b612173b85b6d9dc0d1a71034c69a7799 Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Wed, 21 Mar 2007 05:18:17 +0000 Subject: [PATCH] ffmpeg upgrade to get packed-pixel YUYV422 support --- stepmania/Program/avcodec-51.dll | Bin 0 -> 1089493 bytes stepmania/Program/avformat-51.dll | Bin 0 -> 122664 bytes stepmania/Program/avutil-49.dll | Bin 0 -> 31711 bytes stepmania/src/ffmpeg/000 StepMania README.txt | 15 +- stepmania/src/ffmpeg/include/ffmpeg/avcodec.h | 1989 ++++++++++++----- .../src/ffmpeg/include/ffmpeg/avformat.h | 860 ++++--- stepmania/src/ffmpeg/include/ffmpeg/avio.h | 133 +- stepmania/src/ffmpeg/include/ffmpeg/avutil.h | 137 ++ stepmania/src/ffmpeg/include/ffmpeg/common.h | 1347 ++--------- stepmania/src/ffmpeg/include/ffmpeg/integer.h | 82 + .../include/ffmpeg/intfloat_readwrite.h | 39 + stepmania/src/ffmpeg/include/ffmpeg/log.h | 116 + .../src/ffmpeg/include/ffmpeg/mathematics.h | 51 + stepmania/src/ffmpeg/include/ffmpeg/mem.h | 65 + .../src/ffmpeg/include/ffmpeg/rational.h | 83 +- stepmania/src/ffmpeg/include/ffmpeg/rtp.h | 107 +- stepmania/src/ffmpeg/include/ffmpeg/rtsp.h | 46 +- .../src/ffmpeg/include/ffmpeg/rtspcodes.h | 47 +- stepmania/src/ffmpeg/lib/avcodec.lib | Bin 98126 -> 97486 bytes stepmania/src/ffmpeg/lib/avformat.lib | Bin 46200 -> 36664 bytes stepmania/src/ffmpeg/lib/avutil.lib | Bin 0 -> 13946 bytes 21 files changed, 2999 insertions(+), 2118 deletions(-) create mode 100644 stepmania/Program/avcodec-51.dll create mode 100644 stepmania/Program/avformat-51.dll create mode 100644 stepmania/Program/avutil-49.dll create mode 100644 stepmania/src/ffmpeg/include/ffmpeg/avutil.h create mode 100644 stepmania/src/ffmpeg/include/ffmpeg/integer.h create mode 100644 stepmania/src/ffmpeg/include/ffmpeg/intfloat_readwrite.h create mode 100644 stepmania/src/ffmpeg/include/ffmpeg/log.h create mode 100644 stepmania/src/ffmpeg/include/ffmpeg/mathematics.h create mode 100644 stepmania/src/ffmpeg/include/ffmpeg/mem.h create mode 100644 stepmania/src/ffmpeg/lib/avutil.lib diff --git a/stepmania/Program/avcodec-51.dll b/stepmania/Program/avcodec-51.dll new file mode 100644 index 0000000000000000000000000000000000000000..5870cd817275eb967c23404a56550de594e60095 GIT binary patch literal 1089493 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

-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

-Wf+l^(q&_fssomaOIOm~+M& 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�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�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ům=-15 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%0DL(6N2U zA&JIZ_M@3lR9@S-tUPmKM%ScMGOBCgYWTgTj@<=2^RKKyC5U;OwHFZk&LAhAAa(AR zwxqnd3eD5fRI{oICh`(Q1jBNOL}%2B8gXAJBPX+S%ad@WDjMpmYnFz^(3KgIE~#m0 zX4{%-$+0J*V`|ptWYjqPWsWj%z=vC2a z(Ip2hJw|&ldwJ^aL^4{pA7j@j#!#)%?ajQooLTUCX0cZ>_k58VqRGsykQvlEW-b3@ zUXbCN>pRYOx9=O@q^M<4*GGLDl^cCR^efThV%EjH6_X!(X>7FKzmHoG|9t#@3C|}i zNPIuBAt^ff^5o)_?J1|F=Jfi!*A;0;qz~);QSV#&tm}JFzp4F`27EiSR^`|#;U?0w{sN7a`dv-rgF)0Ui8abo2$Rdv;eFP*h)d`;}p z?;m~V@)K+4*7dD_t$t&}o{hgW{(Z&1OT(x;s z!s`0fFRY%l=7cqGteJ33>oE@>6LsvK$DVZT)?;@bJ8f0&Ruzt$=(E54n7q4$vf9(3x)?c{(iuKp8zkU7v>mObJ^!gXpzq~HoSu9p;epvVam!vC(6R}d$2_L1V%AhP@?FDsBdaIZ@x6xc4Xl!E<@-#&H?!8UgYR4U-pZOqhPjn>iwtu+ zD-ZMd{*iBk^#k~uHG~b+=m=)6rOe^Cb9SXk&6q`(`nEEI-OTsrd>hOljVOazq!G2j zcdu_N-}mutM9qrY!0o!(d~b+)F{(6XL)13Djp)Oin|_D$y&?LO=&gKz%C`}-B4z_O z?wa)dCm(Hhyt_}7`*C+_WnXvECtFsdm6J-TwFXKc7J7;xI}HFt8HbS zEoGfu;rL>QTKBUpdPnqz827t0dU5m?Zpx)a&x_t3wLK~$dMj<*5w#_1D`#8y+ZMIi zIos^~cKzNQwUKar>(~9>;2dv2w``7TjQC#6*~TdMdmg_VqulROem6w9-+q2KL}l>Z z7?sBFVtOHs_#O03Dc?JMe&;*G`A#ENG45|E>38^)>ki*`ayMwrcH$OCXGHs>Hqyd* zQJbSTM{gx$BP~|j8~H9JEF)$EXGXj~mh<@1_<7Fv_UJB@cTP)7Ld8Xe1^IcoIoVlR znZba6`t)g2r%ahVX`;4aVIP(;quFz2WCoki3?DXZ=+GfU1`i%IXyCvB1N!&x*RNmS zzJ2=i>D{|`dU`sW1=A;Vj<)_)hpFS7&3o08?CGnII#*llx*ztac0SrwF#HKKP56gZ zmad=Oahn(3Q!D>FVH>6!#)i3_IdnbmjQQUqmjXBMhdSi*;CJbU<~X|lBuvD(@bOAY@R0z@y;g51d9pxb2B0%7-y7Tlx{?EL*mRyhB2dn zd&D_$#(^B4&+#u=+`lE=deWI(H>H@cB7W0({v7n_#k=C*#gn6X4}fR*d_2oUI)kvu zd8V;F*ED_xH*iDkO!9gS+z39Si~u*YQo)6k{VX>)Ht8k@H#jby$o(*M;IAXO-vuto zFpRnU_UCs4H$+b4_+sMk;`j}2lq>>yBe*{UT0z}O(Z<$MhOr&ggR?=1_H17t&3l!G z@iy1J%J0Ap(ZH}L${Z@drCFA8UVJmd5t_xWBnjJKkbSwoiv#XD^WvM&VK z0bU1-=({cRQjHBftH1evt^qGz#XDHw{2ZV0dl$D)7IYEq4jgo|L*tCikR4bpDDaM&6@=Vg&1Y`Ni1Y-=?+?HUxx;nvF3{8$6 z5of$Q4t^aLXN)^D)_Aux*4TeWtZ^^DbF+EohcuN7dG@1?KF#EL!f~<2?-O~3dQ`0O zFu&u+@O;GBSYyjJudf+KDfQSJoZ;g+4|r%Bv^ahV&q9G`(_)Ox zpYY7rXY2_C4Gf;=x@SSG@x>(|ieTLzGHQiVYjJ;EgdHfFD9&4PG7H8bOjpv8^@C;w?SmQkU@U;Qa#$R4ZFm8C6 zXGp;|j*Iv`^0fq`^7RBG$nW$wc>0as%jOxzz3|)VV8mDWjg0mg2mN9i_kCv?Gva*4 zSAUqs)32Mxx{plbw0BM8nzu}&&nKo){=R8kajj`g-f9}J+-@5AH=D+zD6!gmO=Iu# zOvAd|G!iZ`jd2&6#`&8~`?2{X+ir;=QFj&j>$U3f|@T7JeJ+dG@3i?}0?~zC&D`vF*|rV>_~!@j$ZS&*gV< zsXldHQo2d_kJHJo->+bC74yNFHWPjByL5 z@EzcjL}Y~D>V0@#_yC?e+KcC3Ic^!rdpk1><0@ub<;A?0`ZoEXQ{Dv`Jg2!Cp4!as zubi7aPrsFS3QC26>^Vdow>*qYqi5_FxbOWOK1EN8F-pnP0Hx@q46qe!fLAigXeV{v zDzx){*a`6EPH4{Y;!&gprNn&;-Hq|2VLaJRKAV-_C%m%?wg$)xlnT^oJL&C{c%OlB zXZx>&kzeUpp4&!$?jY_&&L22C#<=Xf7~}a(F~&O=#TesHhZfXx1NCZzR`<-MA3z`Q z$h$U;(HF$AL}YZtxQL z3MBkO8K4*}1V@7t!6tAwcouvPEHL!fbR!=e44S~n;0karcmli(z6H@cDIZJ%A#eaV z3bcR|zKQLQn@z0+)eXz(2ri;Cm3&o^GUqAz(Df0sDf*pb=~U z=YgBS(_kBT3w#Q`12#yrpc|M7a=$DzrZ)Z;3<*5AOi%! z9^hcG6f}b4!A0OY@Fe&E`~c1Z%-X;8yT7_yFt#>509KiC_je6s!R2!A5X3co4h_ zJ_X-^ogg-;w=ooq2iaf-m;(+4Rp3}~4!8!~0iFVHg0Db3NKJ+hKq)u?ECt7av%p`$ zjo=~h0(cMn4o0Uycd$P=64ZfXz0{8&@3KDzuHim<7U^*xSM}Ru84xA1y0GESX!B+4bcpYp9KLQIRr1duX z0-Vno(?Jo~7aR=g!CG)KI2T+G9s{p{Pr&!U2EEgJ8)HExm;nv~m7oor0m9=X=#Jxm_m1fQK2i0*PgMQSe4>gC-MK?oF*Q3dt+KY( zU@v}debv=9)H~jZIA%$C%c}P)zz(X!YGHb$||d> z%Uf$(nj^#NmN;k5ea$j2Pxp*H>YG}O@`_BaNT&>)HEO)0W%D9bG=6LUN{AD?* ziN#xiQC?YzJEv7uwasM}wdHl(3v=qjE#sy2W$Xa0OPdYn+A?R;Xii!yYZ`EF(My0}M2rQ4j`on6~K-%a7mdx-JwANCOCWxu4grnb_%tw`?G z<#^G;qepFRLxoDK=5}0JL!(o&>tf5J0&(1ZEYpVnHBM6J?lVm<<6dx?*V48!1y?q- zvU#@h(;55adxzR1-f_7DN0dWaH^B<;0Oumy=K5&pp&XCv-HgJDz!8>?Ya;_Y%M6F&?y04w#cAIzS+vzuRy9Oq;b@k!s#R4L ztqx_q#BR7F0`7M3NO`zbVHR|F-Hq!p3g=zi3GWsKlh6^nxvr_Iwu)QmU8C`$Cq1}p z^TUDN8X6AYwV{rjFTtCSR9jhfU1z2gIlu=^FY ztV};KaIY7Af?*kL+XtUFr@65!#~j!mboh@^BbWVKnbr zK`&w#3WW8AnvtFL_G?G6Gc@A*A2j;|~3R`t1mG1h?biiq2q9HHNcUhSIL| zq}>e*Kh?n{VOJdPfEICHS%ng)YC^WvdtNHUUd4BuqUIw`MGd(NiU_JLUybtvqhd+p zYK?eCWmEaevZ~6ZRn10aGb3V6ty{6k6KBlaB|xOn!0rXQBTM+o*1AT7F#K3c*^=gJ zqgoHu)M&hlI1Fax8F*sUSl%&!<7cgw@w~ioH!*eP&C7Qa)!1Aa5re;~Dm5=$fJTja ztN`ykY+OK^h@h$!9VgDH5%z}UU9*zmm7z#EVsr3JP&1XSa?J)ORNfiuDYpzyJ2h)y zcYGC+rheB**#bkGjdusnei9 z@404F6D~L%2S`qzyF-^VQ0i$(CBtD^x$Izh9CA!UEK}szWf%tVB{lU`;o(rJu_6{M zsnvy*OP1GHdCXT?)0X1|O3WO-fV;7pNmo_ZS_`*SI?_jDoUq0<&A2v_p@bDs-c+&7 z32iEqA?rB%37@+REL&MQHHB5AYb`4T*R2d#3_jr)H%}+A7sV55vY^AoIZ-@I>HRv~ zS49A+&?)3uT~5U-9NL5r!xAj%=CG`$8J~$xN{PGFgRTl6JNY>$Jb@WLsj4Vn9Tw8+ zYQ_)AerBa3FOlbNYA=C9r;cbcb4npLObkUiI$ecx9MSXDOUvm`S1UN9qC+o7xjUK2 zer~PD&6y?*j!hpuS58?(Ul9f6Ylzhq2}yG}OX>@_8kfdJ0(<%n3jM<<-&n z$S`JDT~c`?hU;^xBi0>1T}wG^^mrFWKGf)ic|HKCjq@yEI3H$fj>pk5*F$5cj-*bR zSO88v!~GQ*B&`DSf)sxCD*+zd5$c5S$JU#Clc{p zgL?|5G>d}o=IEEHYJG3usANI7V+UTsV+)>55klr~7i=cDt ziCJA^c^N$3vdmj)P$nH=ovEsp2Et>cH>YwED!99C#B^8T?tEWrl0nsdwAiWRF0uF* z?=eMISx;7%awf(Zth-bs%hNQjws2F1l?nzPQ%XGo?Ny*7b$89^UFpsvd#b%Ic4K#6 zduPPiW!!f2m1=S(c&sDnB?Uce?u;=Vn#WD&FlgAfXS_F z@ao<4PL^AR=Ehpq@WMS=R;{_7bJkqfNE;b{T)ocFvrDjiA8I`64Ah9wsrT!g>z%NO zRO-1dO1=(vv$YW>iMxD5eVhYvoYvpG^RB0|SDZ-Jc{)s>?skscy9IJqF;oYFc}}as z7llLB&Rs(yEcz}nj#BEHyu-%tNGxZxT?NKbWx zQ-3M_-OVhV5y6X;(Ht@BP+UEWpp0#u^N5I9L67kfHhqur5jJ^G@sT!ukMaLO{*iN# zF4sF#i``e>iQawgPW0|8ujoIiyA%EAnRl)EZb{x5(Ivyqh%WW)i0E3w&WPP*)l;n; zQgk7ta&p3Z$jAxrp-K)>c9T!!oKF4d<=?eF;pIZIuXkr=my@t{5gA`r-C7$~DZ2za+N7p#RavDL zKV9~4Rz4k)HP!O=9Mcn#&O0b`0`W8dXWipW1zFBpq3XERR&tH zjF&&dM{aR4wRg>-Bf!gnfQ}qE4(Gs;n?u{KOc}^Aj)q|H7>hw2M}f}6VCP|$Q5$3- zt5#O1J3*?0$vXP1&Y8Y=Z0DYZ*}^#~??z82cu8jlb=auoOPg_!&V2{Ro3>GhN(lFW z?z7Rg%}!TDgsa3|V#-C{js+S`cic*OOTY@Lst>OK>x4zI6>1TsF|%=P=ZlVv+gvl!PWw?jjZ*AnQ z+wzsWwzczCi+k^dH*o73+OY6R*VpudHj-_jLC~Y>#=^FM6VU=Cdz1Bn6K;Dz7?UL>f(sd0Bkglamx<=jr>lzmOb5ysmB|U^q z|E+tvi+czg7!}>s!xFot+jDsLu)v7!VNdrE_F+c%bnAI(zH41-$94~kAJ;wXnI6Ip zn$SI+)k9d+r0(gW{oTV}>mh7)pnJLj!R}$bv%7~KmeW1#n;yaz7I#mV8tNYQa}Qz9 z?cF_H(>~q9X71ZP?BgE7{<>fHbYu7L9(LKh?qMI!?;f^SP4}>mn!1NATGKtOZf*Cl zi9?gR@z9w)g!LKTJ>BI!g!x8vPq(#)u>CT+r@OU>u#-o2PxtR0!VVbKJ>Bg+gpC>9 zJ>5Aygnc=td%A7oyN6vkp?lb%iQU82_7HZ^r0(fn>mlrj$=%bXPU#+YaSvgmrgl&F zSPx;xP3xX+&*|O6p6Vg&xIp)Gb`N1|gWc2p-b2`<#of~_4s{PJF6kcjcn@KRm3B|} zb`N3i&gh%7ZZ=3zUNW!4bgw)N%bQ9Ab1+Q3bupK!49C0+M|!!u8-QT zkLaL}*Cw^k`zY=IG&V=}D*Rcq0)g2xb43ewn|H%F!}E=EoaguRwz>A(cF&z9 zB+l`O&NMc-LUC!%aZMW!Sh6z=;m&gp?3?TzHyZ30LwIe&Ql%doJ`PWv*;Rx%_t97O zX6ra!qqG5?dr#_euE*OruWaR6u8>xJmR3|MU5Sp#Kj=&?c@J0T%`2LmSq)thv6C^~jcLV}P%`qJhny2l>jIYuEsKu#b(3_#Mt~ zLk;xsRaDi~LJOah%owNNWxVF-t6BxQ@cC5j-a_Iy$5*XKB8(EBOV|dVOUNc)m}sO~ z>8q=%(`qT7Rn9Tb>hf8wW6k+EUZZ1{QWd_|$I~56WXflquaT!u419gBXy(Za<6NIp zW#c^kQl|@iA|(4;`3`JeZ{>;K-L9+(nX5~vNF7q~PqJ@c5HQ*+MFxg_VhoZE8V&iO3o z`<$5El-xeKgK{V3=I55=-j};J@BX}h=Dk+*bJ67DJ&NZRA6i^dd~Wf`(BzOmG$S;z z#9wk&$%iErl%YM|k$wLY{-6B61)_rq!Svwp;P~KC!Rlah@S@-o!Ow%IW^T&7A@jq` zuQK~&P0l(n>*%a2vaV-y-3i&pXK&2DIQxa{VLAKcT$uAw&hXr-+|zO&%1zAMH?Jn| z;=IT6;`0y7zasyp{KxZO%l{?+kNklJfr83{!ooR)#}@vr@Rq_m3m-4sR`_n==Y>DA z!De#Nz@jll{-UCyy^9tUEiS4pT2*vn(Z-@ni>@oWvuJD4b470!eOUAr?J|lJi~AO* zhlYg4hNg$|LwkhghE58d8@eQPRp`FZ6CoPq*EnPtGyVJf7y09J7y#5<<4gZ5S$6jH zoKVh-dAH=C#x@JC>;;32`IgR6t5 zLy>EP4+mcheh~aR_+v0Vb6DoY%sny>&fJiBM&{j_Pv^gwpI=Z~u&H2kL1JNg;mX2w zg>M&rP&l_}QPBlOe=UkBPA=ZJcz&_5*!5R2KqDy~&Xy&HKWBE%`9=5BzSQE8>YEL& z&x;r6<6)t~&|#rtLu`k|E}wh~%R*~I7l!UoJ2$&wJ2TJA*^={g&ZjwqZE^E2$m4jM zONT>?KPt`+on2yVcl`xq_;+U3=8P(=WMk|{i#LYe4}BGC4<(cgDVbJMR5G{ZRn=jK zLq_8y|G)fYf%U;VgDF{kvR7qq%y}_qX?|<|vH8d6-_=#k=;B}SUbzFyb@!PelHnSW#_<&4UCC8uBRJGsGv!wZHN`U`UlXBEyZ zytwf4!W-z3bww%kZbtEx;`-wAiZ>NsU3^>di^VfS_lKSjy%YM3O}qz|{N(Vjscti3 z{G=w3WSah9Yao+g>DHw651B}Bs8id zvt)M3!jkHel_jT^Y$~~-}-}VOr6`qDzY2 zEy^e^gR)-~PYtaI-4)sy3Y8dJO=Ew``7nEAPG!ywIp5`EPT$!*BHE$^qig8a4l z59eF?MFm$u$8m+Vg?AMGRyd>R)S?%Q`WGKrd{yz6#nVD{p&LRksBgBh#}Gfs{<;2* z{@45i14jfl2i^~i4b}v24t^KR&Rm`Oa3%?Ob5-e{Do8Ipvhc>jorQZBT~zdO(a6y9 z&^@7;l7mV%mwcuC(tHlR^86?HU-Sozpf-0VxU-de1nzQ6{;$L8FDJdVy?lzUe0uiiZKJ)mTt+_Zc z!iG1D>qQUV9oBK2e=tsEqKv*iw(rSm%G!{1E;8^&*1y>bIhZ{&yDj^S>>JVdZ)bm* z{e5<7PDYMDXJ*d6Ifv$4kaIcwa%axNIWOnDOPhboiOx;U9h*Cy5otm0QMt=@?Oe&C-0NIZ}WEMMdhdD56B;xKRG`;za)R3{Dbn3 z%wL+nBLA5Dlk(5W-<1FN{G0Rd$$vEeSw^4t^S{XdA-_F8t{}Z&NWs{G=>_=(vkKh78V!oRXCrX zt14_LTwQoV;aTXcE8*I^3Lhzartp=*_XTtGcKyhKms9jgQ68=4- z_`>2VimxxeqxhlXr;1-Hey8}8;%|$07Dt6rLIXk?*Rw+X`>Xs7{?+~y z{Ac+u_Fw70(SMi!5&tv(SCER&{NMS1hXZ>B1_ee3rUr5YGmw*ofwDkNpgFKMa7y6Z zz+VGb2X1AIeJt>N;ElisfiD9;A=L@NKEYvFA%S3FaF5{J;Gw~aU|nz}`tXe4g~2P} z<2%rbPX%8Jz7zZ;_-$}!Fe)=8b3o?E%*mPAnI)O~WFC}xWaiS$6`99mo|JhG_RHTh zZ_d0Y^U=&_GhfSmKl6*sA2QoB3z<>=G(S*K-f%(^)1 z@~o>FN$$?tn)OuH3ydi5W_^_Pb=EJ8EJ@k@vPWc3%+Aa%&fY6~e)i$nRoM;MtFuqY zJ_~#3N@V1&>_@U+VWjvh`@8Jlvtx34uL)_nGVhxI!`^#`S5Usy z=`-OA;lIUwj^|lr{D`*vZHcy)u$IB@v|69FHnf&=KIwEh{myu2OJ{X|9e=f;H<%Fa z5*`tLomn$SlueA*>hUAZzRv!k^CRbGXS(yc>z1piyOjG)&)c5&JqtY>JX`d(Mfr;P z-u6xQeZWq#p4IlfZ@+I&kitpPJimlz&Dk5++u0NCjU7!L-MA;oj&Y8;Se@@V7dSt2 zZgjrmn(F$Hoo=J+3oMZXuG^mbp5orey|uk|Z$s~k-Zj1rzCFHuzF&QpcyRk8{x*RQ zti9oZ$${yCrGXWJ!l9y}N}+04RdJzap;jR++35EK>lACMZ3%Ph8{0A4DccRSd39GE z*K@AM?1w$ECdRvpc}jaM9;fF;Pcu(1Pk)b=63sJjHEoS$1N+he%VlPLerpkHHCt_4 z16w0zZVxo?I9sZHiTw-vH}+%9zZ>?u_BhsfTXx{V!4bhJ!5Kj;{OM#2f~4R z0kh4Mu-rciE)S*$x3Nc@3f|)t7Nx@F!q%`W+$bC$*3yi&_p=PLyv-_H$d0zf^0nm@ zmclLT-_~Nb(zaSQn{BIor~Rb;7yC_S{u=iNcTaK8(xdggw<*5H97`$e-8k!W)+Vgc zF4n)ScdXB1hYt&k3TPS8y8SW2{_Fay>jx&x6tcX0$vd&oN6U=ds zE6DtA>+0_s>>B7E=APu9=Kk2d%Kfc-hkHAASSGsr9%ZQCxC z7}7GMi5KyRJa2n%NAK@mF$MzyLj(1MotqU+e1_*?SwCi{{lTcQYl$|_qPS0`5; z-@Cpim_fPq{jfClcq`YJ*q!3txxDAe)zUr5GtINn^KIbKVC$e3E8eS#pXF-k(vl3B zwdmv9XyMAi8o|rqTVe6+zgT1*u@tjZM#D|EoU$!+EO$(E&T*a*Hg*cTTITTh1PoaZU8#rvGMtgoui=^Nvl>ifu7Q{PGI2b!@j zObaXsEXNMG7`PFr&3bJZyn;oUH&idwG}Iwv567XUr-c`Umxr~~-1;1GS{mRX&I&A~ z&7xG1U^v(qAMZV8$``?op?>K9uR}jzfqov|9{!Ozl3TayVlA~S^(?zA$1P_qzgV-Z z_pEhn0o(JoS8Z>jSNGVC+J3c7*vJM-xpFt59`yP~_EyQMq9J=Q(T z{Q)C&$o-4^4Nr<^u4l7nkLM^}*;n43-b+|v`F+!T3w%p_JRnUU>-zR)_Kx=H_7Ci< z?5FL&@roa-Bjjl0xaG)$My~H{=1g!lWcGEz8(rvH?ee-`!1@U3w#2KRDV{l=FFikE z5$8hh#$p%j$0~^S756>qyXPz7FYAwEZ|{IVn1x--1BY~dHr+Pgw#YVzYi_W2#}=Fz z*cjM`^_)LgGFXch+&!3#b!kC+zk%jn6dD{JjXpe#PQ4S>vWz-jvrJ)qjknIg0{+2z z+^*TP}D|pw#92*>4@jO~Nd$6mBH(LoG=TqweO4hYa zu%*~uaJIq|8SR|JTofAdl=C9C{~}jMtf{c40lKM$r=6!0K6ny4!t0*Pp5Hw;S#|e( zR20Lr82ORMS{e_xy4AvpkH<#rV;y3BogI0ub&++w^(*TRu6D+Hg;!zZw-vQjuvJ2z z*===gEo|LwAKRBY*K*ZAoYAi8toJCl7mKZ(XB}RG<}c)b%b)H)6#O}OGdMBC1Do_U zc-j)S{q7#eJwD-W9{8Aj?Gb(dI&FE!_KH31_|~!CQH5Q@=JLA2u3@gRu8G7rK5(tT zhW^U6$92f{lk1G@FINS3QD1^DuYbD#dSE4c*mt2HLv_P#@UU33agXS__%U{`j@BO5 zcD6SipE;^I+c;-At*-J|qtCgAyQjL(xGxc-c+6A76ZAZf9$)Kg==amwmel6O0@C8e zdxClHs>N@A!QPaeXs`2*>rc;JPhbBmf0aPzV5!hkL>=aaehoDXFT@`Z@2l6e=GJ}I zL>vD|7Vi<~y=?YgjwJ8fL_pSicX&^Dv%I-|2ZJ|)r77Dq)H5_18%;|w+I-HL+x3|1 z33iwTuI21(eZ3RBbMdZ!!IrEXcn&==EHIVbt4^>(a8htVa8IymsAK2@UPzM2d|QKV zFz#zC`v0n>5_j}%T2t2+ZyRenV2iPrvv0(sE#Q3L`I_sRt0`J)3mUnkr#tq-F6@O$ z-oxJ0#Au>@uVVKO_HX7MX8O?w#(#?qA)%xo0y9oAH2-d!O>H_MP@U@1O4< zfF&FXJ{#N?nu#THMBkGh;kog=n-F_)zGbbY9Q#ocp79#%E^7u}P6=BbTSx4_&uy>U zFS3`#vs#jzC!9T9qg-QL?=yCHU9Y(RaKFktyY79So#ip?^=|%&{`dSV>D69r^xysW z{lx-L2AqLs1FZsG10%4?=LJ3vd=c0kI2E|Ui^3iaT8PsOWM5uOzpn%z3E4skp=9i) zGNO$c;vJ{F2heiga@pF!_PEF9dDhd4)iw$H>r+o@zZFd~&_9DK?(<*vUkscHeHA`U z>_xnrR@1r(zc)*~cb)e<`iI~-WcV-n|L{i#iU-Pax5b<6#2T$} z?<(Xj&Ms4(dF(;6wRQKwJ74G?>Pba!{>vO?-P1|#&_3O)ZfJa zG&|{Qff@K6>G%)#f@MSY&6D|bZqy<^4u z(0PX{w!hud!ZO%0)skk}XUQTm`G>U-wt6jF95bzxZLsY_`*!x@57s}=VWqxDEJZA(EY)difapVO zyy3x?*DT{L?_nJ+w_M}}VQsAgt;L*LJkRSyzLRy2^?BQ9`*`fL@9d8{S~})APPwXi zlUcJ)yu(#kspnV|bBRIz9Iym`3>GG8!@9mh0-!Q?e zB^mvD%#vYw(wbl!X@Oa>KH>*ZkFRiR>T(ku*aPJoGYCbvCo^J zaR#whe5^-6YY>H=D+LjY1{LYqvU3b~`r|oaz)n)9J z?OuCbdlT%aUiLxE_^H@?%k69NO)~69vE8m=RaJM`9RbHnj@Ed@gB`Cq#yj3~2-|nN zBLgq^yyG+HcIPv$ajwr@#og81A7iI~64)CIW36@$e=p`%mUy2xQ_NBrizlDG0KV%h zSS!n%{amYD1w1o+p+Lc4-SAgJmgm)p`C7r+lt}vvL^6GlC z4E}6C=Mb#mna)p$AQyKDZ}<=9YKL5+uW>wQogWJ<70_g3tXZ}K_ThMDC+#0l_p7eit}U)i*BgFY zxHGm)Uf!HR$kR66b^^H)_J&x|?TLeF+IZjcPDjt| zWsRL7;+7Bl+U*PZ=J|H|4lvS>VQE+Phy5>b_At^v+W!&pGa8sE-X+6%zAr7PCFRxa zsX@+XU6~>iAvv$E*HbM$tXFLFTys1=z}TF@O_|#d^$UkM~FKAKqKu zSBXwcCkD93cgS}ykUO{<&-*m?VMSsF&k{o!9GXb{iq0mC*&yc!#CUc%uM^#R+*P0W zNI%zHVlrR3E^!{&+dI&!rSnX9?!ou?Ew_0gYnH1lo}bs<+1(4zZj`xar>e2sp-fn^u; z*TcGd%Rj|mG0=o4YadQFKENwJ%PC=Wuujkwj1P`t7o8j29{fIdE?6v7hI5)%LR~^y zMqY9_c>lF0gzwVcGu|`Vvy|x65hBZFh$;JtB=;kZ{Hb>%e&XNWM||ac4Sg^9dirMh z=KDVLog%uV`D+pre!)M~{~B@N?f&msx5WZw0uIhDy9ZuJD}EZN9~=-I9-JE79Q-DD zBA74qXs9wVr#7KM*zO-Ohc1M&LIsHB1ert0;kVcWjJe}tuj;||S7S9F<^{I-h*`%I ztsYLyY`JfT@4D}fubjUjr)GWpbNnA*tzY(E<7_8@P1}Vt(|0*B%?z9i5O% z#G2qqBFDMVB2Lby?lOC0^|>>cGnS>yoh%XU&C1K0iaC?i=S~mHOv^mtN$2q?3RykY zu(hnMD$%5_wm!C@wvf9Kp8R|6k2oW`jW1CiZz|r?)>Ajwm$=qM_RKB8L%cLGZ|Di4 z)A5{-&E|A$Z75Se!>bi`5WyNo1aS`6-mRZV=MzVxS`nhmb%-r@BJQ%pvcj^R)9JgG zV$9sR?ODp!AI-QB%j_%LW=@ivj{59-ogA;b4!Ul-@?md3jfFkl z^PXps=Z?3a?+Kzf9XZ+EiKp-`e%O-W>hOB8k6H5ZhGu?P+>F&7OBGgmg0(m6Y!PQ( zFEUymaQYHtP2aG0b=)RmVRMF@y@=>8B%*uF`Kz-i-rozZm+@kzxVE|WVHM_gJF&6) zx<|N|xIabHUT~N2Jc*8N<9XEU_9o&XuES?5%t=NPb5hKSSbt;xaQ|Ze4ZnsB73B1B z8z+uhTt0oSPsFF%WjREAvIH^R7S^AvkKom}V&&hp^}+(EL8SXfT2_=;N>k@pPWQic z?&T%AMTlCz=t_1?a_zzo&+jhbZb)3^E%yx0arSd^^B8M5-t(qss;9Acu=joMcC_dd zz88E$vHyE)W#Xo^FlGA=i;7)LsZaCP{myPSW~y4o(EYk=!DtiN@x)9g-u=@?cKs_xNu5D*5C6i~K9FI?seIg?fhv z;?L(3N9|f2i{H|hIk=qI?gi%HYwROGSZ`Qs+veHw6QSN|@9gNW+oPxO(aLio(9YT2 z`JQu$^RV+5X9?Gn?3}$^^U2gW#+g`YcO^~&JGp1FZ|=uBjq#L2+i2cu*rl&~KfyE3 z#hvU*%hVMiw3K{$T)rw^LvwmBbni`a7?!!J(!ZBIuXvVtR(SsQ z_`RFFap<9BVI>qXx{w8t9X7Te4;kO>g`@hP0Y;>S-pcLM64gBRWr{>KAub|xq1YQk{BO>u0_VG%r_pkAt z53(jM1bz$LTm*Qb; zwr?Z;ew29r74%7zqoAV%x~>{_d(iP5rzY*tdi@S20(4 zR~47l>tm`VLKhb0+m2yAnu7M^C<1IF4 zU3Pa5aKGvvr~A8$+$%YY_!__Wp!*d1?Hc}CUi3*>&(oed9xqXq7m2HM^z`-&@x0-g z;F-ZW(o!NUn?2h+dx;hQ;<@6v!3*9CdP{gKu#)WFptrTRledp|DBk-!cw7s-%kX-) z5P#c`H~%XUlG{Y#iug+71=Q4i))#y&d>wo}SRJE$<9#Weh===NWx?;?8j zZ(lxtQGYq?R*T<<&C$f)+TV$tcc?$v{|@&10{=4q8vhp7Tm~6GXZ*kUZ~AkQ&r~uH zixuw(gg8lQ7HA*n7Dx(=B&TT#cFICdqSg~p*hL=7$-w!*AA!4pJi(Y?nP8=0?Vu-E zmze&`!Ng!M_R`mbZ<7f#pZI>LsLGDe{?G~Hm06+N*o;NUps5(HiQN$wegVs)L%0WeZ&Y}EI0ZX) zad;J$>^JNjhls3P3||+ggX#Hrr=Exj6t$G&M8sn8VIedjy3)zg$1>ECOvb@X%K|j{ z8tjGbL_CgJ&RBl4+$7pk2pc?>ShK?#V&7>-CP+78dLzkjn1XG-(7FOUIGy<30pbkj zi74H*=CQ?K6N{L$hnTbQY7@!88f<%=lL`@${|H-klWnW*2ip_g@xtZ;*v?Pb ztJ-b$0RC3Iy{)~Ay&rb;82cpqYY-`Cl*3)D_#~%oQ;5T* zviI-Bgwhhw# z&o+0x;_5?md%WvC&Un&Xo0vt1v2-rE{&d~P8Y|{5@2=vuy8Z6@?w2@$?2N@Y%stvY zQ9ob%n7)1C{?5HmWZPkz_wo$#jPi^jGwegp*Lds4J&$-}yk*gw4auJw;2r6Glap5` zIxjanejD!aa^h4`oOQh$ObzY`mLSuu0jCc6Ie~r`zhQ?MAHGj0;)S1DHd%hQG_kg_ zzF}R$Nw=Tuh(4Sg9^>?HCXvpauC~}eWjz%co9{Vu_}f#*+mq~^{lsPJ;8`v7P4&+v zpJs)BgZ~@6sUyS&|KR+?N))a+x^onIb0JasBY{GkzQqQs2Oan}e{ueEGOY3az{a#8 zw`GxKCHZCzi6@O9YI)UK%61ydu_#t{HJ6Q(=`UQ{UB9`ixa|QSSyYvX^tU8hb0Js+ z>*5EZ&LQmO0{UF+Xqo3(Oho*W=Naz{_@j$Cmn`S2i}$yMxO#4XFaIF_JTh1B5nVq; zEH55iAYzz*2cIKG@J8r*=t=Tyc4Oxj(Bn1lTRK~Rwst2vw;hW+2|r~v`Bfh~?e3LW zD*MQ|p#zBp^q6!Ri^~#+e*Mf=(q0{X)eS%4nDZJV`J~H*wL6>n`y<(n4au&`a_8}s zWdD24+s0=Xv6Q3&`g~nu+id&Aw%Go(uQqYn0Q#zLP)jbLuf;LsQ>=GsT~x6?+T&Wcvd2r{<{0>24dWi)oy$ZNc&#?wspf z+}i1Q za+B>JVcCcrg+@dkPdfTICpbsDUUNSubX!^h-FLew0{rO(^z)bUSV@EN4?1!6()8kn zyPoHauamzg9&s~t(OBZO0Z!RAg})B#>o~*c`yZTqSF%;-RC^39ce1H< zHK}D5(9bKUb6RlBI>C07_)B32cP7i=%f0g$Gv|u2PcL9!&J~^-o-HE4tfhi_ zyzXgi(h1n0iR6WDwO+JVB@=LxZ4DOUeOo1aPhvC6?D-u<$^QJ7J1_-{EzP-&SWI-l3h#?Q85Cu~ZM*&)6?j|ry6Q>@wZ^>G?Zi{yebFg`V@C$GpS5$-c3HLgDAJdbIe0`Z}ph zZdyY$?-lDE+h^p?_d`lcEU3?ee)z>V?RCRVXw#1(_cN)W9$U=CSy&xQ2g^W9H|qjx z*w&Uf!boxPVLOSH!NY?4%+yXi{)durB#pQA8QXhL?qZ6=RZIP>+{i<77UGTmZ7t zoF&{(U_m>4eliW;47^X&X%{ijg8F(P51Dmm{Ckwhb4@F#ubrZ{>ckw+*kf4BYd9Bn z5}|*^^(~sQq`MJTb(Z&z*Tcz317cpCg-%H?C{pOP!Ipm3UG~GS1p4qA=biJ&%XE-^ z`HHs}C*8BWpLx^0C&}I@<&X7;$d>HNInN|c&9w~Ux(S^2cP86mnEf65e%DD?W%p&b z=KFzoULL*?u$m~r7yfTK5&an(`kKE?K+7zs#}RK?3)(7^7u~^j8xN^4dt+Jh{d`z@ zjqC%-2DwPS%2-DpyzMWEQ75@ybHB+BIL-Yov8gS180Xn{>Uf%R-W|<;SCYtkC2w`_ zv)-4yEyx#*Cw}}kdx4c`Sr|RpDA*;K6dZ!Z?G3f#%%^a;46(ARs9fciFk!|Q8zO)IO=4VGD z@gJUi!MVU#^w3Adp!Yf_xr^cDSiCQL_jyZUFSH0Hv*s2X=PKOMH12_j>Tb5|x7@N6 zv<5kkd5r94Lq|TewhV3rY*T?(>Y~Wj>G+ zrQPK?`>aF^tg$?TK4u5DatzBd*7ZI3sDv%tGv&6gYR-{NcUOXT}VlkoayV$-Gjw)!rkiLMh_ zkM&m~mKyJG!8etX{bR97)A+X1336i2_zMMM$kYg6mDc0LA&IQ8`DF6%31r~O-{reW zx%uXb1>3Ye-g_6ccuH_4k??f<_RGPn;C1qSWAW2l5TQ*Dr4bE36N(8J#}lu|sj`U0 zFD9cwOXA&|`WmsYGE(rZ(=A&$&$@1jwN_$1wBY<`EZ-Jc%UU>Njj=tsCQtat?xv}g-$@<(r!E7$%jByqxpD)f?56e8sIhb!uq;mST$C=^0>(pGiT{ZC> z+q)9Up_}AN!GcJ4ZRHy!S+46YG3&*QAH^LXOCEn3xjmWWQpI?R<2l6<1MY+GIM_2^ z&qv9?Ke|hFGdE{BVkRVV*SW_;V$!{riNcig#p>%M*_Y|jv~%7W)daY8psM<=Q}HvIMHcA&fQodA!|8N$s}K(P$-5NNPukKdZ9j{B=Vb6 zLwocS4lSIUD2D~DoyeJeN_ZwVmN@6QPJU-0jaSfWvE7|Sc4lEY$GR$UjuwyoJc>0pmdv*_ zv`r@ddW<{3YU@L8>0rJ=k&5TO2dnNbD=oLDCcdVF^Q%Np7k1+m&rEWx(}`DH_GFRC zQ;y7sO8UwZt89fg&AXN;SSIJPg*Z_w?hBB!Q4f7DV&RL)(l|i$LG$P4T+5={g^B1b zLt||r7QK}-rY!uOazwQ%aW)-~|1>I)Ogw8vAdT~;6P!4m!8eNu2FN<^!wxzapK)<8 zL)UDUkOM2PODF~XmK72wPx07bqd4^%ORiBG84#JmzDX&hP2#@9;QiENw@4y)XTBxX zve>eRUEu)dKpHuV4r`)*iaAr?4YI7)t+8mgQDj=Dk@Ii@omR*mLmVhh-vj0o{aH+Y zgXYNXu(1CovKOSF{nOF(S>(vXI)&aFh2C3%6@9{)Nv>;*tGFwU@8l(s$1L=bq5m{p zBRO=9B=nKcMnV_GqKV?sL&<2NG;~lVIUg}-pg4425_)d_KWZPxzv`b@v`;*`$J9JR z?-WAo2%RG|j?g!Y(KlMQu1VCjOgcIyD`;q!9NiMobxR*zvn-2@^~UfPeJ$)D%9p{n z{f>lBF#cz-X)f#Q<7W6Sc4Hy^EKt+;=|b$(#Vw_Y{>54aq7WX7pR= zyGtV8Tn|nMlZe)d-8h;2!?*P{Gt(wk!*ItaeFqjh>v?jZ#Q5LT*G6t zv_g7*XbQQ1Vn0i@F19WsQkaIu+ZeF|cIa#KfOU_qF^)vE^ZCduz3IP;7Repa$ocs0 zrIv2k9p`loblrP1vJ>R<8LOc*XS}h#N}TYCy}{x0MAk<`T~oCnYsAxl1!uItW6cA1-z)s~N(*%*Iu z-ChuPzG`Is8J0smPI(*av!OMfnplxNuq2Y%SLU#`(%4yc1P`DGFO#8=8%6I!?sG2lw*#(Lp~ti{&o#~x_N1Iz&}!?^D~ zSbL+;jFa^JN36jWtiRmW;?}C%l}u|*+eY-@R(-vlK^qR{-cG`v%EvAfi=JCd#?M-8 zh^_kmQkA`>Jv&JvyLpnni(Dt_m>cVk)G*%dkh|i1#)m=Oy0J0$aSjLp;4g#E$-bK0a7iK;JUyJvZXF7p-a}l&QdqZnH%9cZVHv_x3hVPZ8O<*2sT3k&!lD$q#n7AQ$ypG4T=8J( zU^${&m4a0xc7#XQr@}@QyWRPS6>*bTVi7%7^qbE`~n_N#Mc3;wdM>#?rv-oJMu;&QqRopRk!5;AO64($*>~ewqF>!oY^8~`C*0p2*F{H zWG+M2DI^~Qyd^@6Ha`wIrpS08?-iEo;cMr-J6k6GAiEVZ4st*tA3}th$Z7L>NCky# zg?Jv7WsX6HD1~Sq4d0$d`~zg`9vCEhg7<88QvElvDFP$h+A@JSe(rm)e#d3|h_%FT_9J&z2E$ zqYNa3;>@YX3TdX0hLA}LNrV(AE0-DqDWZ_E5UWC_LB?i}kEv~p)g&}P#}bdYWJz~YGA5+`Jf*B@ce(0oW$C(K^pW0mp_aBJP?xPiAG=z+( zP5dk8V``*cAVVYZ{zmZ}?9Mq_$sGA)Wc2pv#aHvsRC6@cO7-8HqhZL1tB*!1PXC?x zmpK|@M-xr|pZ1+(es7G1kXAotFXn@dUWi9L>rYKqbn7-zL1(VR5AlZ)gTyN24#ZME zG86uxU!qhI_M8Exi~w3i$lnUFLw;f-6!Xxy)-#Yh3TX#9R6(9~!y%qnnM{UcJZ%!= zVgCdB6tJ2^TzvsD3v324uC)Skm~SZMtb(nO`dG<1X zI3Ued$TDpprB=#h7-YLbWJEev8=a4R>YdbTwlgqWz?dEOylW1%8Y$@ zeTfC2h-jv^N#Qr*xBs{XP20v?DN*HU63R{bm}`(BjI6<4JQSa2;wvkV`A#p=B0c># zyZ1CQe{V5+DlT#ba{o)2+=4Xu$|UA!7&VJttbRyMn4=L(eg7wI^FNM8#KK=oJ%+aF zCEhsJZO{WoG%K(xLxSp!+9knbSr3ONet)K4yT88S#AJj_#jLm?#~ zDGI3qnXeEZByqQKcm8R0(^~BXWd1r5kr6;^3Hj-$OgcioIwq4rkQygsG7eJgq)g^O zuAY*~Cy@JRWwHhGOr9udmmwibt6V}RXCY(D$mAyE2V9Dry{SL}G$1O_Af`?*`p(Ek z)o-q8r}f^Me?2@8i!;Yn)$za4kg?`$iRwrtn7q=*)R5O;hTbq=v!YH{9ty9eJz@0X z-!!BhnQ(=OjDC%0AyuC;iP?9f9?|zjDEH!0YuL#m4r?4e{(q$pBfCQ?ZmYh&qF5jg ze9XR!`KR{XrgXjyy+|~Bf$TqhdLi>kWwWP3ViY8^icF?L{!++NNDU6G#oWlHnd4(z zON>t;X48|(<^J2_6EoBtpLpdu;y>p2{K$d^J*!UdtXxQca^@ z|F*ghBeUC-(Mz3yw7~f`R*HDFC@+oFepHAD60R-Fh?n`^$R?tqtJLG>iF-ypg4~15 zQ%E7a@OoBRhR3jL84BSc-CAjzEYlLQPa$0(0lO?S2=azP#z4MM$TY}Jg^)<2HFC)H ztcSd)kiC#o3ONlK;FL?~xuy^cq={QDRTuJ!LRvubdt{mJka-Fj z2|4GLWhO)V_+_#b@_Rrg8z7dTOm;y!gkDrAYUkCEaZYh=0YwhA z!c(9WQXKM^LMlT%jpTYfkT(?42=Z8CS*8P|!izE)0O{34CKDm+UXsZ?$aRIRg6xTx zWxj@d(o`k~AuqI$$z{j{h2$Y()Ul;36AKByEE7NERBM^Egsf>}l7#NO(;h8RtgT6e z2Iz;(6YUKm_7$F84H?}*mPvuc5ZKF^8_OVx3Q32gDddPKl_;0Wf=p0IKK9*Q9c7tV zNPC5NAO{r^4{6d#F4Y6_lR}aqp3bt2h^Wm_NE+n6LUusLb&*SDLJD@3$xX;Gg~Sk5 zx~Gt;kT<)@rNWSg-DUDJ&Y@13F$CJCX*n4M~KnpC6JR-Wtk0-865dU>9&nnaT$=I(`1>SA+@H<@^1-_XG5R$F5|}5;d<5~nFUzDu z4yDR6KSF+7D9c=d^!iAa5uu7c%Ve1{kUT47nOcy1t7H-fDY;rE%^@|?DA@D1THYmVCBe$3I~ zKR{L$kV|Dkt`wAIZb5!2EXx!ur)gClm1QbHNTxuHxxhul)gkB~Q?mu0R%8oVHrd==Ok8_A?1WMX5P1R&qPD3ex@ zJ1@y(0AzntnM{OKXd#o2AZ1$1kVTN$3fTlH*hMb257Jm6=ON!JMzTLAT1Tr60%PreIOSV@+PEDl3dSRNbCTadcGKpYcgnGYdfPLjz+NXyAG*$cU;kY6G5r^qt*AoZroq<9r<0EN_mG@CBV z)Pp-QJbSV^xXB zE2JvqqdBrnSdjN*@-k%UT$%KRtez*6v5<}PWik(PRv~L3o8FgYc0#5tkVz(F&IdBN z0a=(TlSixJ1t_Enq~tc?(kHBbj^vS+!Iq8zB8YmdRd7 zo#iq)2f49ACifxft7KBDI&*BbOzJ>(r^)0wNQ*TxNq{`QRwlzBr`O43I;8kUnXHDC z+bolvke9xY$yrFNbeY_TO#fOYWoz)P#BXKdfb`uelb0Zcx67mlq~Uimc@uJehfL-} zmhP0v2FQ$EGRc56+bxqzkkB5PCqG9wdB9Cb6}tM!;3Q646$A|NkTsk8aY<% ze8nUhpKZv@`b{PWA-^i*ETqg;LnfCfq}_ldM@Y0zqUzw4C^Cg19@1lT_S5o^#tNwp z`C1_!NW$-Osh1&V71A5h{!dwEG-T9GnM{T3Rml60%C}6Jgn?anwoF3jpRo=kQ?8vHGj{g5pR`599GzASSY^0`99gOD8f`#IxN0`i$cDne>U$ue~y zA7>MKA&!N$O1Vs#1d{#*`XHN#UW6%CCfbw{qzS~Ykgkw^5n|lsHz4a3G81xDDfJQL z@!WFF8zIjsWH%&LAtxa*kI1Edhcs14ZY!s*3MmCyuaN4Hg9;IEB0CfzMlTveVmMdG zO|Ol)+6v;%V_e;k=?&?fP0aiR<7A&wQAICBX=e;kF?f9b@A4B;9y3bk{B7nECk{1Q z7af(B=b>DYNX{F#J(8c$xBuXt{re?!RkPkk(2JB(kx`AxxrY3&amc)H%4i9Z_uFpD zCPFp^8D~ZL?kt8(vdCnUs3$^@%7|j+A-}bgi4`)TyG-gshV_?8C&-Rj1~Gau0y1f~ zEF*MX$<;EMg3RLzc@I)1LX3KrKn8v)m*Opi+E<%o!uQOzXO76^6l8Wb>EEqeZGbj- zf;>LgK%ZtBrHpGmYG)PX&8?4^LFz!BCp|w$x73FeE-I6jkc-7+(go7GtXxkrWLqzp z%z#YkBa@FHN&QS>t{r0@inY^#Gi;7+q|g6m?O2NbpEF})Uo+QEokz*zldhDL+cP?Q z?ey&1y>tJ5LwO0coZhp6UL;SJ$9WqhZmLWUKr;JBdaCp&=aScu5pP5iBX8V`!Vdgy zg;a#pQ-}?cF;Fg550WxiCLJJwC31U`Abt6&M9#G)LM9EB$pXk;g{+3$8fM5C`tV!G zz2P!B42d2olS`0Q3b_wy^QtVv`yjO3qhwMAvRWZQNRQWKnWm68UzbT&$bvUyG89rT zStiMl_Z0FDj+aa2bukkr z%A_o0P>M`yLmIp*lMv*IIWlPinWB&mLgqbLra$CEg(O1;&y{7SLH<<8Lde>AvdlV2 z!4GA!6Y|(cGC2V`vqC19AzN0;`yG6_RwD5x+6U4V(CPN^bH_7BJNa!n>%!YiUkR_1f>9WjP$b5xtg%tT(mN@{KsE{*|n+mxO z>H3XaDvt--<~x}@4vE<#lNyj288Q)XJ}$LSCeK59Dx@{!qC$E>{@yQ_dJR(YfJ~-B z+y`Z{5VH2DOx8j69h1pc$n@hfIRx31DU%D3X=i0}2jaUZlLB6%PYQV);<_ZuRE6wO zhzIigWm%>nWV1qAK~7$gWx7Jrev`>?$YF&{g#4|L_aL*c%B5C7zEH?lkTVL|3vp)2 zrA|RcD&%*_Ooc@Iuq6~y0^<7JsK?Nml_75{#07a*A}!OqK~!LM9s_XK%|j z?}2Q*V-Q30pM(s)E0dd$3isqvkNO$I?7iExe+)Z;T{Nl#Hbh&+TKK=Se`16KqkOV` zhe;8uAnNbZSPiO7#CO=9ZU2aG=ULUnZ%RBxFH)Dv)`fTu<}!sm4_T{_Hjpg}=?TeH z$S_FaGP&k)kW_`tfut*BDde(3){9b1Nii#pyOR!y{Y0*Lw~+Z*CWnNKLVkfHQbA5V zS0LI7xztTaImSCjrbvK(t&(M)h9oK^AY@j`GR=j|YMFF~3{}V=NUB2KfW)TBrBWct z3RwbKsF2Sgn-uarWV=F6LQX2=DkScHWQHrVG-n#!LZ-0xh_rj=4-(ytkX%|99(y31 zw78P;`g#(X+);9=nvlfDWf>17DVrqp9hxw-PiHMTn}{|%hfIn>nnThRk^o6n2+wKN z(iHM4BwlIZbV!F>atl9#w2hX@ddQPc$z%s)fkI9~PATMf$O|>(Qh7pH?=@vo3R0k! zOlm>4DkKh){G2S)6!N}8Izg_!Aj=GbB(9a`Pco!MBUxq|$cHByv2v ziTo_;wrVMfwJLG`@o*ub0UoNUTE6LQ>bsGCc7|OIJoUI;?49 zBIA?mU)D}(WU3A_#!zSzGIStKhsY!V$x!BM13}8jE2SkQOCjALDdl9DA)?fLnT&^| zb4ryH`pXTJWMoocofFK zgEEnMm_71QN#!1#h~_-ZzVA_M^XFW}_?P+Zp_NqxE|^i;opTP=>eW8U|F znJqqKs*IH9MkC1P*JaWg^8Of^^nn~7FOxSQ-%l`!xpIxGixCsKqLnoHV~$vI_K3;9 zHU4dW7cb7dJO9uNb2JDnncp?zIXSqxg9rBSld~wb>2Zw4q(}?@p`L^RNjCBPn&0JLB?$~M?;{wkkt`ljN!+SBMR9FDffBgT6#TOA>9?S z7c%ZES>`9m9fe$gbWWFL{(`KJ5aYgUb;W72+`>m8Uu2VnZru{Z7?t?OlritAF&g5Y z9x8-SskhVo%e<%AV;JQ!f0h07e{)aMx0?5~chp1QuZ;Kw;hcLqaA5y|34ANIXP=&3 z`*rSWEY`>AS8}8m(bV!!pGwI5WXk9QwIQzU@)(97=Xc1Y38cavb9_Xxj*zwr83<|i zgDGQZD-j$xcR5C5Uf|C=$iY&XYnfN~x2A9Gza$sWUQ-ISnmq{N%_ zBI9DD7yr;6A(n!SiwAxPU6)HQmkL>|kQI>Uub49CXc#q%(ZHG2N=2?|{P=H=Mq2i0 z#3bHs_H|t!<=Iyvq!ai|33Zuc9I9yY;&UC3(;n&A(4NYZBG6#X^EH} zk^2?(z~FE_v(1F(BNkETj-5J64oaj=?=bQ)2ju%c3lgu8R7i?KmP3r5qBs7br=s$2 zkXatNr@8d29fjP|Au?j!I(F>$urj$y zFS75TUde4p%8iIl_?OYhQx8v^2Pql4#q7ILO3apidD)kgCjCR-AFBI*Gs9C3nthK` zt|R_q_I+J;-;+8H9MpB7Ji~=t33`!X)+2yc5u)AypZgv_rkE+Cmud`Ip^#S~HKX!K zy0<@MpF)x$e<@@-VYVP8O_M{ ziE^98vwxaiWcK}v`UjbaJ;u>ZWX=ywvhx@U`M&EOCAB6Oi1h2BS!i4`NKfY%mB+9# zWR*e^AiJ}PIT}XIVl;Zt%?G>*^NA&_51~c=QLjcuBR+dHvIimiALb0-m)+AIHkac8 zXBp{%v@pwT;lK2BJTg^^%RT)N(xHS*wm?Rdl*vBGmygTjJmgL`F-OC=y69;``i#pg zeayKL_g@-~li8y&uw%dOILuuhSn~}uEv`(Y&HpkQrH~nE%IIya4cVlSXCYO2M4YPq zjG9GH+tChVk1#v?-|p$J**#6_*H@n2T+kf()F(s>|7DK-m*-*N5p%^c5A6>$h&Hrj z#9~j<7SSI5;2lCz6*3HxJri`9(Ga03^p&EM6d{u-*E1iId`c!OAn8iYUkaksvqO|3 z3YAmyVL{Hw_531A{UVcV5KSSEJV$%Z$udPDi3)iVlB^IXBwZoTL*g(AbK27iqFs<{ z?gmLdFOwlcMj_)N^DoLW(;{GIg1@h9pRcaS(uay+md%%vAv z{wPh%9b^71hr}sl3nW<~dm)a3@;IM{q?VBD`Ad+;WKys(q_9k41yO2t2=cfr69-9C z$V-q!H3Ym&BSp$jXd3rh5`Vx|^ zv~ZUoN(&D_GMmYzG9hsaxeQ5dD$Cp!q=`)OyhuGf_bKP5<1J-D@TcXTFNq0Ajt|z74;}&4MbDORzY5t z>p2dIRmdNr9)%QaqG^fQB%yoP!DxRiV{c@2E9;T^`Iu+@so6R_lDA_`%O*mu5;d30 zFxR^v0Z6(c^P(V4$@d;ej*o1?0=i_Csbo9QBy9p7E-g8Om;z{YRlvlq<{9+&GluBn3xHF zu!=(JU5@z6*&`nn$M20%G6l``^`FdyRGuyk=7qMo){^c&`Z${R=DWhNGDabH|gdnpO(iXBeLX1B4g7m0kj(kGD{yhhEC9~RM z5>fRiWZqWDG)NztDU&_Udd;Hm%kn(5nj+(zUesK1OzsDc10Eh{f*}ul%oP{MGaHR@ zUj2YXPLwz^dz|&Wr-#1RvW#A2@KAhRtN+6|oBc9mM86VPoODh4n3^Pp3|oEW{!=|> zF3o?SNwTv0rN$SQH%sxIVEq=h*e+i0^G=Vq+aC-hdCfBm<| zSv=v>m_O6aOJx5v$C+@rdBVc+NX&(fabppM{io-X!J>H|h~1KcNuc ze$`uL{`K(4$B2ope9V=b@gL0a>=BEyJX}x20x6a~@|}~041VB?oLu=Dy@-A3-}`R% z%a9TMQuBjEmiT|UawBcdpWmD_JSFk$Y~=1k=d=5Ij+Mj^!@Sqdo+xtUEw z=1fwj1h>}7oCy(P&-Wm)#$*%G+bYykS|L_QtU~;dstTzOv1AkdTEh}No(G9D?m^;c z_#m;zXA{w$m#De5LfSwQvk8NjFl_L!{z)nkuaHwnCrENO5jFRsp0^b;1d8g<8Ey-I}NF7MI7ILXZkWUoS4U*bY zmKg(C__9nEKu#-UGbFZ^EOQu=ppfg31q#XcGHbrIT&g@Ixs6P$kTPv$(g1Q^A*~?g z+sQILAg?H7BxH+1ra+3fmrE^zEL6w_$edSXnLUuXyq+ye>~Z3@GZN@Jh1`IYPLO2^ zwIbrIkcyDm3h_X$D5MEwc%ocS7sw5TjE1b~D9gMHsozN^DMJAV(C^7?LnZF4YsVKp}5Hep1MMNV&ms zsnw8n3fTsktB~W6qYC*0QhJD7Pr>$@)=?o(L8dDt0NJmQ7LfZ9VwfL&AQOigH5+6i zWV1pRLCOu2uf7)2ULo5cixqMh5;I&bbphg6$W6#w3W<4z?;(zmOI3w*e^n;WL;e~i zlirZH(K49`DK$nWDd1AI)bFl6$RUNaggo=ETu*PvDus-O zl$|5XybI~Ckd=^a3i%dN>OHyCQAkgPT!qY0NS;KpxD`?!a$O+~NQt>}&5a;!719av zzCuPo)+;0ha!VmgA>HT6HGc^?sE~t@hVx~a%aF|qiSEb~HQ$$I%0T)l#0p7QNJCL- zfm|v960eZakm8GFnT3$2mda!!#HWxSAbk~b2D0#DxzugQ5rxEb;vnl2S*9|iqCx_Y zmle_s^0h*GKx!_R>v#S7)9bp^(QR za}{ENoKnbh5c?Xr<_?hI3K;^~tdL2N0}5FLDfO9L&nCz?h3tb|Q^8Fr+kWHIqnQtMJzm!QPWU)f-K@KaV3^BBu z3UNbfe2f_gAY&AA7IIY~xw^4ieJz)&07+9w0Fvh$ zS*8u7wL*qMK2gXF$WeuS3dvH)UWoHsx#la7mlaa5JI}LHNHxewg**qjp^&Z+-&VQi zHzCUu@*$+;Hd*E?$OMJ_1i7n_JCNqvyrPh`klhN|1@Rt|>&b+yP{?193WsHxLcRI6yFw~L_AA5# zsdPjx)kKt1NEgUjg^YvrI4PG}0_lHRCYvDR6|xudxkAoBQh%09-GUraNRd9|i~J(X zJOznWhzHU_AumF{Qb;FA^)qrk!yxY}WD+FzSy|>oNNa_xhpbY_Zix1)Tq+aNOd)?l zMk}OXUo13*JPG+pA#TXH^K#8ELUt*nGo)8j{ zsE~7z8kc05dyp{-Db^3Ys*q|B%VoJ#7&1m7Eg|U&c@0wN54qH0$f@fxNr(KUkQ0z< zf66j9AulMTcz>c#3b8;wRY+sVE`{`f{H>6&ke+|Z*Gh#PP{bXHba&v`sRxk5?}q?AG&kY5z? z66Cf*dO;rhTdsK=q^d$vA3V2BE7iBVkY)Bq25WLlTC%30=Rrgi!ju-tYJN^L~HU`ka`Ddyj`^ zf1c~T-tV>E>+ffMKA*K_K@KwH-5|#s@+puJL%s#_T0`yuIp2^+KrT0A-!4|04OtBG zQ$v=6{Kb$}AbaD5?6{hGHppRyd>CYfAy?gII!A%6h*iXn79>Yau>59DD(mVrED zC!NCAfD9Tk3v!|%=YxzIas|j647ncUVneopeAbXZgWPP$UaL_v4Os}X$Id#1$ABDY z$PmafL)L+e8S);GcNlUd$VUvh3FM20{0d~NA-l}teOg1F39{3Cox&G^Jl&AfKn^ox z24saH=Yy;^ zAWcI)3G!A$t_S(3AwLKCiXndm`I#a6u0`81WC_SVyXZ8Z1o8qyCPAu(ybWZ=kV`?{ zX~?x8ml|>>$Tf!i9_0Im^t=|Q78>#|AbUJkr|@Wy0}ZKx{Hr1BKt>I@2;@zMTnX|q zL%s|0Eko`D*=ESj>u{%O$UlSZxvNg$VIa>nWCh4lL#9Cf&5*Z)tTyChAm|#v z{0L;LA%6h5-;gJ~4)1^O=2J-LpV9;9MS)-rTsasrr|#}$h`az~!jOLjd6OYEkTrYg zShFC<_GofG$mNFoC&<&Epk=-T^47gH`6bAmPtjzz*JJ$JN0Wmt8^wG~_st?;0`*a-SjZ0I4t3dM*RG#*phl zp80$&b1%pz4B73CSZVLoG6#Wl`!xA~AV2HZ z{s^+y3pLs2O&FUDIRfNvLtX{)`WNX~Gax@UR7)A`H>-ey#*!saxF6evi>AZ zP6m15$(l@q%wM6&#UQUaRguj`aeNd9Tsrl_0M% zqzm$OL*50l&5%!m{K=4SfIP9PHE#o1Xvkkcs)p?SR;&pd(g$*dA;*E-Wyl!F<5y~1 zZvuIVAs+ylF=R8y1%})T@&iMD1M;+**1X#}NV6dafPB=D7lVAskkdeJHDns(enU2Z z>^h`vT@G@XA=iVPWXR7z&Nk#Bkk1?Pl(%8#X-GfFe#6?<@gU0$83%ctA#Voxx*;C~ zdEAKB^F@%C8*&@S#fEGL`LrRsza4w;8*(7X&kR`x@~|N*L6+9F^>rYxGUQ^AOANUR z`%g8Zu?9|3v2A=iLhX~-QQ zTMhXg$dk^{n)iGs-ik5gAdvSPvJB*>hEzfRV8~jK$FI_wF9bQzkWC=V4EYYov?2F` zyvLAv=V9f|ko`dZY{;P?hcvbIlR#D)G68adA?JX6-H?xh>^7nGd zequ<^yKo<8$iX0cPHN4^fIQcb5s;${Sr2lyA(w!B$dJt-KR4tykOQW)t?eMAhU~rp zt9*tW2=Z$~mVxZs(t1{c3>&fzF?59D=*?DX%b35M(k za-|_lK<+kVImknXoB`6?*4EDgS!u`zLEdf1W{~R*xdr6UhTIRbPe*Is<$TPV3|Rp3 zAwv!ax!aHxAkXb;J(D0WGUObPR~qsWkd`4=gPd!~_d%{PWIM?B4SC$VF@j8M>j!`w zZpe#3CJZ?hWTPQ%klPG77i8Xy*8Fjhml?7JB4;eBE@=HVB2C`(W)^jPyn+^F2$VNl%0QsUJzXiF)klo*dcR>w#4#@tm)wY&` z3>tD8NYjum$R&oH2XeC^mx1iGPHX-e$Pz>D0$E|mA3!cLq~{{c`3-p<$o{X>nwNnL z8}b^EwT8@syxWlTL9Q_53XmHNxgO+ChHL}b_x0NPpFvJAWUq@cb{nz~OSL2F(I@-jo-1M*HoHi6t`$hSeBwqEPG2V}^QM?lsXvhRDbYGlY_kjo8O4)RSy zR)IY3joQ}PAkQ-7!yu!ETn%!WAwK~5l_9?cIrvRl^B(WR6K6vX1o@yLM}hppkk^3p zy;Sdb6C zL(7bSy!Kp8-U#x5A(w!3->GFbgZ#H4w}4EXr)7Qv@~|PhUV^v#-lb)p1#-v+O^yKh zt|6}kdG)_*nHI>yhP(r$alV$h6y#1rt_3;z-CE`jkS`eWJCJ8xpk;Rd0PP+uWTy)K z9R%`WLyiX7Y{&@6&4#=Q*=yiC^By*D>^+)TWVnm4_e0&UOF!hkYmI_EHYtK+W5v&G2vk z<=y_f`ERLcpOKlyNPWtDO?4=8vEeG0uX%|Y2B$!#{W+cYX^`DNugQfVJAFZu&w<=! z$n7B4Z`Lxu2l>tyHF?ZNtmJ%Ilf6OiHsnB%Yp>Qahl5=9O-+sm8M{T3l_1akv5;6^ zl6NYvR~>}$t)l<_Vddq%YkOfVi*T-@FN`XEeg)&<8#+$N^hT79`2uS_$aa^DvM;dS z4w-d7(RsfJx#Q=W{19Z6{1GLHxOydnP#a`G><%=19*G~_Uli|^Ai$AFyrOHED%dF!u)#BvuOQn^p< zQTBy(D2sW!R*HXr&v%-k1n2EjR1>~LJ|WZ%wX46Y9MzG5Ui?)yg_=-ZJ<-?O*IU^f z$?#NtbhK015(t@^MBZ2a+U0#-Vw}O7AagE0xuiE1WK4M<$j#67#D4)QddOo}o>sPN zYwwfM3qWhGX8t`M3pt&)K1sCi*{Z=~w5KDvsyd7QEqqvfC34X_?7!|LHCu?FSEdn9 zM!lPe)IF(o$EtnRz9p?dDAo@lv*2jwjd?`Uzh6V<`s0fplUU@9+x9H`+WjBpv5?bw zE2R)sBE84X3?9S&;Z>Z{9DF6he?=}fn7r@$5!`JV@WWpEUtm<5lyL_zR4bem1`2Tjns;xK5|N7DD@2gQOjSjl-`$B|V%tPfZ{CRJj zSM&xdl|J(81IWd8LivP4ppot&r2|L|==@Y#@~S?;!8nh8{idB13t9AyT~) zMGb%d=)8wC&+7>`{10F5mlyM{3f<>@eaNZL`#FJ-zPph31taBoCz;YtmHJb%zhw8H-+p>kt)3)6BAyBcZWlB3T>HXj)Kg&T`xn3&tmiK zJ?tsBG!T+G6|sKmVu`IYK(?KscYd1%*>1==AeB{G=0cDjLp}F z{`{OR_<7#;q}TL)<_2G%=j}gVso;e)OchxYL%h4|1{f3|&_TKsMl587dhm zonuMH5IV=Wr>SKoL6#fxdeURa+d(!OauLWTL#_bnnb4ZA2U#9SwKH6s97JsigtGf1 ziZ!WY-Al0yc^IViUM=&ak0W27(BxSlw;3`Ba*rX$fjnTyN|2t*w4N@=azoAn*=)!K zAX^Q&6y)Il(0Z-}Il_=@L5?%zMv#^vKLgoh$e%#A8?whI5bKlL);=IxKcmS3Aj_}P zq>p4iugOs)^94<4SM8Q1klAL)86evYSq;*=S?f8AWDL2GWWK0nHi9eXH+`46mBeo2#kL9Q`mA;_JEECbo^%R1IcAg?u~4)P^K zR)hT2khg(6`)aM{Lm&rTqsdhuhkQkon?S19YVr$^p)HzJK8f{~uWIr%kR!e(MCL*R zAgc{I5#*DG41w(Ob**PL$Z|v80rEaaMDs^Lwi>b-sH|SiP2J%@$CP6lTOUt|wWb3yz*#Pph8#Va^ z$Z0oeay7_1Z`R}%kg;1e`6b9rKhR|U73d-F(qsWhb(~Bq)j<_%@aMLtHU9);7OXi6yz<2oDA}!y|m0qkXIWr3-X?8buaohkas*q$NC`1 z_OEK0%^(9`)8qz_pT1DX`XR`5FV*A^APbN7q&wBZnU2^AA?Rt=aqwF|o=F8lGK(Pd z!$4SO0ApMrpZ^YbNp(ke9C0wL81f2`n_s78R)O68dQIL1@}f6rayiKT zhHL@(=z1-4J4o+0w10jN(lTVvPhmW04(}d2!?*FnTZzXb# zChrBg!H~~@oPVvB`5MSAU)AI`kWJU?T>KPd@SB?a3S|6iI@a$&_P!0^;VGEpQOnp zAg4ZAlh1+tb#F~>207pWO@0b8@7bFC8ss8F{s{7%=V%!^MS6CzCUj=>SufUPx6j}! zBtxDB(z{g4ya42NM{05m$g&%CdA$nclvik(2FTV4P2LRhg)=?zcUv-#qPwk+{&rsF zOER!gQ^TLX+iLCYSIDmd-JQeyfBfB6=&|Rx+uG#slIA^Q7+;5Y75uNi+xqn5!rj*N z=;)g1nZga%dytEsn{?hkN#tftt|qcolUqQR8*(p5WsUPj$sFFjjD? z{C|9T^*+UyR~JFM`e6RomsgJ;<1%^ocgNem>wGxxAX6_$kuR^^|H+pZ)|LxpMRKPh zr^~;m%c28vlOgATY&YZ+Agx<;tQ$ajZq?*gB0tjPCq(Yn#m2)7cTRyo5-yo|9ZJ5zXEyMr!{#H z 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 K=$4(E%l{AgtHcKY literal 0 HcmV?d00001 diff --git a/stepmania/Program/avformat-51.dll b/stepmania/Program/avformat-51.dll new file mode 100644 index 0000000000000000000000000000000000000000..cb97ae8ee4f911616900599d9715d63d508fb993 GIT binary patch literal 122664 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 q>6;k-_7q)aV=w(jGqI|Ti3&z@A+zmj44lgBFDV literal 0 HcmV?d00001 diff --git a/stepmania/Program/avutil-49.dll b/stepmania/Program/avutil-49.dll new file mode 100644 index 0000000000000000000000000000000000000000..edcb57911e46420494de670b14ab84e5a2c645ca GIT binary patch literal 31711 zcmeHw4O~=J-v1rA;Gm;35y46+>119KhyC}VYif@(A5SC;HXy!cM-#Pcr8(O<<&;RB5 z?EQQW_nhDPo!|R;x#ylc%wMui2p0rFMDltC;bq+EN@ah)`cEyYM@@Kjl<-p2TN7W_ zWWF^qXH9XXsl1|Wbwz%usUUydx-z?IWs#|(YMrTgohkjUY*T4jVbRo)BZo^0>8uPv z$kYrID(@8L3JU}wI!q9b3z654(1axm$w0aaNrz-mQWox1qB3wvZVeLM+4Um+qVU35 zf$1d(Cf=4BP#awARx1eKi9}(WAiPKfu5|4Xg!Hefzf!xeflsv;ZL|Z&oP<9l5b5eu z0(o2}L0B=hFyEe!d@YiYg#?|26e{?yR6%H(TEP*wkuz5y5v|*h0N&@W| zjz8s;8+z3ey&_JJ*$4nZik{+2z z0axk}4gr<_%>Iv9AXolyQC_y=w9dI%=kRLu^}hrgxmpsP%MH%?T6vkIm35LQ!VKtM zpb^gYW=m5;zkYjDL$iIU^J;{Vq2ZuC!+D(nx!#f60xw6eXzi#N;|y2HwF;`Q7BY2=wiUX@P- zq^ArNJ!6q;WkZyusmBJ0Yc~;A=;yvlQpg`VPRG1L?VTA~IR`e)ltfvSJineU2>Tp^ znlVi+yjkumKKxfz{7m5IaQw}L-x6TpTzJn}Eg799QjBw%6zjB0Cb=)F(|%1}cCP&S zBKep{hVpWYV~;_8xA%jk@}T??%-6!aJ`YWowWdp{Br%#U28nW%)2S?<2kzOrPm!&4 zdnQEf*FWA2kKZD99`HDhYb-4TN3*?lsoe3NFmQ}AYFd=%`4Q|e(CIiR3>A%5nc|cS)?7ztbh#)2TtjC9hDEjMVc;@SAcJ-e%CRLQF6tOfdJ{~7$PJU zp>v6nbhzt0;}CDKbVMW zNV5}gA>fCuTQ|8;xENBwS-Jxp$= zu5}Q$nGA!(6E+ZH6y#WxDIbf5@er_N!wnTA;A9B6X2V$I)}W>&4v;axZ~$B50J?C; zrtL%qm9dUJ^Dut4tc^fy#9l6WPJH3@qSw+80oh~FP$I(&^vHXWH_7jZ6rLiV|FS=hMf$&vWz*8?w+xljhU!YtfY4$vkADi891VIH^=R1*x&Wj^+a)td zfY24FFk5pn%M`=H+i$wRoS-=t{W9E}RGeGx8`JUB!aR(+x*OHlNrBunO5`-`)7LA39gEh> z6y68|^7>P8Eo0uL;aC0(1usqK7`V{OOiD82ZuYzs$La2s-@`bNT5-dMNQ?m~>&Fkl zd|1KklP~nrfSLk-rII(9Jh16gC>W^%fEcVJjPR{dzpDgT?*bQY23-CW&f)IY9B?JX z>7P5QfilZ9hh@xPe?nK&=p;xhf`|d*pa`uIoM-97&t*Q1DATS%;N*I zA?9q|D2fhmJ6dY|KoWQ0~snNgGIb!k7;R3 zHcAGRj9Cj24n|6z7qP&>AhxuHtr%(k%ameO`fSliV>%j21HI@Veeyd4J(||&cXAhj zlbJY~vpiEdrv%VWCQeL9m6_}w=vsKUkKuNeA)5i>yWys;6GtLy^94hEng~yBO z^hjbOAeMvoEbXe6#_Io&E{(1Ivu+h^7}JF{?P2%@_p#l~ow|mmnk2_*ZFj8XY4$Z< zyyPpJLRejISa;{kGvSaoXugPRw|E=f`kxMToO<457v%vOb}u6v1-YL`;DMSLl5^sGFc`$%VRvxe84)FV^6woCgk&93_^w$O=h`I zgMJu&q3!~Kywtd}7toNUg;piaNnwxs8TcgZz%B z+f^MQFonsWb$B3h?9n;)#4x`u1S73Wj3TRf*GH0wy>sL?OxA$xoz+*2fB)3AZVj(3HDqj%?Jb8j~EZ;I@U*g@W0CK(ZnMkR{2-r!fdCAaGn z%RUya2Fqa}N!=%o9skh-k@|W!lw zvKcm2zaYE~g`wNO-hEJea?xKk%ZwaLw@LPohAqnf4Z7248b-ivWn zOWKQ=%HltJ0R|VdFeoKc^88w2?(RC#74Z_|NqTp8{itGnmxs$#3SWr-NxN|om#|F7 zI3&u=?hD#ROdgHtQqVVHf~^kH_XYu}NXFEgq3;+bO${zQ4nvlMV6P#W&#DkCz@+~+@9 zA5jb2)Iw&hoI!JzPRav`VM>>o}lgT~^7_;m4LC0Xs28&z* zRnN0kXDjHDGM0n-pEh?K@5hq~tYB%vQbW5%TRqAOt5j$m`@B80?y0*ZVyr?aSPs@* z!T^M9GwK@JtM0e-WAc*(yGcI#M+|BL9&b)+4tNF*P5j8xeCMVKrpeSjg!q~9+ae>)cs?5L~RNdzqWT5APJKtnsi zONnkgykNwHf;zM^$Q|L!q!{a=%4q%WurzZUV%FWGovwSRw|A-BcCYWT1@y#L(1Al! zL6UCs*5^z!w5DcWI`Zn1t*Ke^FW)-Tnwq1zK4UeTOC6`_5iScRizj?AorjCuV8FqANu7PqP*4OT8iUk@u&qc6A_c&0cm=) zfl;B`oAVsav=ubjIUoCVTEKM?fIF9q&hmNaBt|3=E07qhMq*K`C5wQ%iLB%}8SWkw z^}Dw}czh*B5}L%Q#`ySggdCn)MR>|IVaxS&({C9icapI!eG>;QeZ4oalGZXfvCq=k zJAqJc-lCHSfuh5cQeUr5?jtJ?v_}nEI=#g0gdXH4%LsbN5fLsvtlym}Q9&1uhgcCa znj{}Z(J)N@q5}Y6)2vF1G*Qz^9A@bsNyQpMQzcmTp(a+-$zwZ4Gl<{@1X~Sqh7R1~ zdwz`l8^@jmHmqR?xchGSJqAG@>x^{fiTdZ7!`;WjWlYX8&^%duBF%9jyyo=c zC1Bh_&$;sZ*`8Ovgw%G)PAS{d#Y-ErJ%wyRv~j5~)~HWrBM7u>408lwt&r^*Z-T!t z7my$hEr2wz(ToID*cKnUeysDyRAcSha+9TB-jDlrF7cXfv9)twx3RT5{T(6Adgw^z zTf$LycWi6#iP?_56Rlk}?{s%E>tFz2lP`M|0k0ewKF9eAk&K{tscSaiuk{jQm>vj{ z^{zWnMu`F{2D(#lvXPDgjLN|MOz&dLa*Wa8C1{5g>V2O~Bo~2tvZk|JY?jY{Z=)HI z6j$cef=kzi$RJG-H7S~Qm*~du*sXE&Xpd+e9_{x~d$ea$uk~n^6)G=Qri<>*E>Ewi ztEuZk_i;WfMq@_fWAJC=1!3_Ltn<3SGPZkcFLir*zA_!LbjQ@;PTI|JygAYOg??*3 zd;yr2be)SRG)}~yn27+za`p9FvGDR*`mL8XFCZB$hsjRe>1Va1hzVn7ic1{rN`F&8 zHmAG(9qo6pmSwV&;72Tu7Scbb&Q0{XpYEgjxz(~2qJ1`c#HC#`dZyJi9F~u6EI!I%Y&xz!go9=6#NYZHfT$vCi z9lZ!Bn)dGcH>p1DNK~DhG`Ai)+Ea7<$Srkeh$HamaUn<3x1js!Wd8(g^zY? zx}WaSrePTW!BgDbZ1e%yWcja-R&93%<^>Rl?;h5*&wBRA)>Z-SyY_W99qrki1S$q> zKqkw~zh)vz!nlbCqDXX#Qd(!z5iJWg>seWpj=HPgp@Bd<7ZN2dY+1f2P8B!$!`50I^8{n2CqF& zZgY6Wfp+~9&DgiXN_3KbcjR2h8Bx=s>7uNrh5haFmo;6z`vH6XQ%ql$gFuiw2R_H{ zZ=2jCgxL1@^r z$}v-mJD-mm4%4Q6yM282-QH{w#@<=IO)#tx3Iv0rDK*RU@i>|?4Qq$zd76=3(tvd< zt*Y;NmS`|!noodBk09`$0W$Uc9H_XrI7f=W@}9sLX`nThK}{Y!8elv&wCp62=n-9f z)}NzB>L5r}mVGnN(C+(0N0TATb7(9ArP;Et;oxGsUTz=2hNwPO(<~ooO!LZZE!k`` z&>>W`yw!w;gH^*InRaRK@APjh@oGBb4rML$Oeb|*x|pSy-dlhz;uV!%|3;cOt{FW` z?8ycjJSb!I^-lL3fw-;VG?*=3+Oh~*Xgvi0$;~9hh>Nhe78}y%?2B!X@+TH$oP+4R zTNe&fTHEE>V#Tm2(Q%aFY@jT~8=}pW>$wj?EphDkTKlR~of*V5S5%o|?v52;18tN*_c^(hCwTyQkEo_GNJc}Z|j?(3Meut*mD2(+cdBOojh{ec} z_!|o&<7R@Pal=D?j64@lq!iLV|1gW<5fQ#+>xYKJ#M(YP*ITLez9+jI_AOpwpNfsY zQF5CzTZ?Y*=+nr?htNGt?w$$gEU}pVVw|EAA!#Jj_WsH_N85{?LuO}2pStekhL832 z7ZGugImTP1g{7o>8=B-6o4)=y2gk~L-JeWwRsWuFVi$Rum`Sh)f+48kW#Bk-b#f$drEMA26Uc1)dc?26|5Qx2+kTr4^ zIvOAM)V_HRT6-%+&uQEiFTu)IyR;`Bjd+hDdpb_jixgTWv-Jq#Bo#8#@;V)_@UU_U z*UE$8;cQ`yu@iVEG6ftIOAiAW4s?#eXcWbo2k`jT=IBM-yD+<0TWX>S8jv6k z>WMAR3`5)?YDPNd8_~s7Xqcl{bXAD*Fh{G{aJXhfcHSb-kFQ}7?-Ix3;mjpYz-kqO z>GZn|so0nb&s^{l9&6|kUha9~tIR@Cbsxfxj^R7?KzZl?!2T0Uje}YaH${ zTA#R&N4nAtj9oowa2~_{W*);h4>$`%HIDbO6EuQc0j5NXxDqq)_4C7m@#%0O6^qp` z=&u|r=^JQ`vp`>;9R?$jIeYG)9QFZV#CB2@#9Y`Sah%i#$QC|h4(WfVQS*wbzcy74 zZ`eorN9)n|b*?4h~(AACQGSZMstzkEnUA|xDpgF|8~md=hnIvx_FIu8qG zVhTYuDD*%00uK&~=4{i_RsWy{@eQ}SW{36CTR9!JEuocuw-(k(b!9%Rk+BC4IE)$N zstJ?3r^HJ$FmCIA*ktX-A|@h^qas?tfjZSB}Q>;4)tJl(##g-_{-#ABcQd4~J*o)eyrq??YBC#ZF zmod@TohQ7S{ja=FPWl^~+99IabRFWpW`C=rDGH6L{bR2o=M29b@97RRm~siw-a(jn zeZcwx#3pNNWrV-;BKE*O8gFSYZYq+8m1x?ylx4)~1ZP!_JRWWHasRkprufR6pM6_?sk%Ok&Xpl zX;ARd5(D<}M<05OFZw2s3oCf^;iiNQ<<#h-$|2E*{^yIn(ZM7FqK}jDM<2=*@M;8I zr$irdK=8BL1p(2=0BZE{w&T>c(Mt6B+xnvxFdlu#_@WQ%t*?oIfNrjOD;@;dlh~Z)|kozLhxn0WnKJD!-K^Hj}bf8_y|HXCZ*d&IZcGqxoM|m&Xc*Og8ynLotd>C)jBLp1f!~ks^hL!U1aGbZo z(~bi}C`M~BtWg|=>C1~%Yt3JL4?K0J>j7}SChfot3u*&Y7Tn$l*X@yxnXx~_W(8a3 zHAEu-+1z9KxN&QI0fpm7cmvs(8DH4AT~`Q8S?CoY8rMYDeL4>H8FgP?qGG${W9%4w zY{$$}A5Vy`trGE!bL)4@$Izu+Mi(&!HA}n8_!i|c;q7;y6fNx*H|eIunA}&O-`ysA z8eQZM&?Z)mbu>QI?10=kqlg5y&0eO#6@bMw$Kt+hB)_j1fjb*dTy|+qp6h9;1hQm% zegkI%EsK1O_E|4e)Dl6cKIX8MTg^trj)>6$>vnu`=!L7#(e1 z1&Lx&-|#uu;1t7?Am$SBb`q-gBb;>d!!&QXwo8Sm$-qi?c_@K35av9rs|kXWf3gK&Wd`qRoH+R?MBPTE^$hRes|Up zbJlUkm*F*iz2gDfE^P;4%-u&&$9bh4Pow(Y*^U;`dcOL#o++T`cujf^h=RWUNvMu6 z*J<>RbRdg!ycC59Y~6gEydhg*QxkiZq6M*tH#!y(cbv$yXmL-$U59%r>!{dpnCuxn zfE^5aGabiXZ0L9ANK^H@?b38-ESuc)yQ`(|I>pD?l-#179?PfcCJbdc(liTBI{lui zsL5m+ZCZ%dO<2wvojPT9WNit3iW~2eF}3Pg6POJvC%bfm#qFD$tEG4%f@n{dEO;u5 z@lCO;2?lblI?%C&0ZC`3(atBtjeN+%-Z|00MrMw5GcA9I5E6q3`Dn1_PWFbyqy&x} zYmhSyB3YF-U+{(tcN6Y9hubh;*5RoQukpOSb1C#JAEzD|w7$97N(CH{A&(#&T?sLk zeHd)8kP}B>aA`D-z-uyn&1pi*!1V5DF|dZ!otCD$JrsoM(wl7%4gUzP3NPr z^vMwFvB}w-GL!FgV%IiD|3-SE;P6aw4BoW?3(Z;sHYiiPh`=^)?@ajuy(>H!=}HO1 zhRMlr`*m{X6l{sifKHpEUE)=*U7v@V8djFjxsY4(nz%DXBtIA$0 z(uj)rQL6g_7MQhRtV?_bRD@S4Smgsx4V-s0>98AM+KfY^y;X9&gh%pK`rX6sL@yF= zckI==PinCRNDjh8Er06xB+_Y=@GRbev)Qw#PoRf2hNU?!Mao8L%OPw8Z*Q_3#IgM! zW6Y@9-*C9HIwz7~c=z z1?u*st{(oFl1#<*;kE_$+0yKijjf#r4t+q#*FIUnA}`%|(MjuRV^oyzHap ze&xKp7mHX_-C5O-9-5kp1N^VHqoXZd-hy4%nG&k7Ns)>^Mp-CvuJ?`L^Y)y+^E%T5 ztUi%(V#AI+l3>JCVoXQT_X9)ueGmK=hw?LWeh0zNw^hjF>y>RVwESVOk&8i(0oWPQ zY955LhPv}qTk(;9|CiY-Szdn5xm-uzS5ysRKMAjRHeYn+8e20u$wsXiNBHdny6GEf z*@_*#Mz+?>eY@cx&hX4{mycDYSv&O)y$T$7?$AKLoZIf2@1f&`GL3MYiZcT*Njsgn zozD43aGpEYBkz~zpY9#6_`|yV?e){;`JM9SBThm)B4>Ey+|$naA7Bq;q;iB`fk9}9 zyZNGgdU=cf^^CV2eb~`ztJ*SS`P=#@nygjr`p5Vd!w4{q>l?TEZ8@XemFuD1$N`d) zc#t$br8LyD&m2Xk#i+-KwFzwOHKU=8$LXKs7k zp)r3Y3NSsVev;7zPdT@<<4n&_A)hnDzs$W?4_5Ktd8Oc4e4?g)6KIvq>ffgC3;UjmiJdoR``sH3Yqcx*1&?j?HaAthK z4{x~T`Nv_B59GcMGR<-MJ^2t^(h6DxX5Kj7LEiYF<9$LvC8k0&=o}c3J35L^<5=M- z>mhmXhSA&=5SLt`uOEa#@8~(p%*y&A8;@{Uibfb?*XDkl;mXiUaJ$G!gr>hi!=8>DTq7GS_a89gqWIa%i_V{b(dmMXWmqxYu`>%JBeVbs| zwvDV$mv>TaNVzejyfLKwWJq~?NEx()=x+@v?+7VBA5#8RNcqK(a(zho>5%es!DTp; z>8aeA(*OMPzs3TXD1;Z|Z~#cr=r;IyRzhOZEy>nfXQa$Ti7r7C7A{6a4%0>rAE6sL zN^gk1YP9j{Yp#tM!|TV6i@k3A1k=RtTrW+!;k%RLZk!T-)6|>ImTA*N4HZu__&=}z zhb*Acgy9NTE-~ba_?j#7AH0VBU%mtl*IzY&PyGPBgH#NWR~vdo4ZVh6?i#_b>(hRy z+xc|sj5F2?m(r%5nuWli6mZqrP$1Y6ey_b#DdW~RYcc+Q)wS`tweRKqq1AJ^+$4SS zm)G69^wpo=xcB?FkDhCOUi0|eFFT*CE#5Vd?)>diulJ4jmdW3V-ge((_dogNBXc(W zY@+t1J628_-=F#)sZDn;x%Y+_T6gy>H{ASgwlO`d?$plCwl6yV>(pB(CcZoDmX`02 zeCOQ9#w8gMJ@5Zw@YypLyTZy=Kb(1^E6sYrTi1X8_rH_>OsOvU!!Of6dgHlY{PpOa zEAISbfB9?w`NrOwf1iBeyE{K>FrRrl;<`rB+WvOehff_oHCX+V2}OCo+LQjBxN}c< zZ=Cb<>$m^Xy5q5nE%z)f`r)5-KiGWkjQ7Cu`i8q|o-aFoD*lpjj^^2&(b@$M)?^PP zp1t+;KOTJV#z#9I>K&$wz9u4Slu;aExHfXQ{_5HgV=bLjX-YLsDqpU^jTi_uVWQSx zO06B2BnY$9=A>uLy?x#t-@7w&{(`%*?p~Oklbg3_@jXlOR~8f&ty;aNcu)opP&vu zO#t{=9H%kGVQrcy2>G|-(WU?&FyQwE3K5xyzJs3}cmO{qfRu`qh154u5DH=iq0J-+ zBPR&LJ7|AqvLM)TOivpx2v6YSvPrm?WJ1~r_)Oq80Y_MY1bR)V-w#`KAbm(SLAr!A+<{LJ zk>Zi2Bc&nTiIj&_gmgdBMkEK)BS=pm{T%6cNKHs@A)Q1zgLDx|SC22{kiLsF4e3^- zIY@UQ-HTL=WJmfJq{on+L;5Y!n@H~>9Y^X#8blHspcB$Kq&TE$NQ;pQkV=s@A~hgw zN7{+>OQe^O_8=WVI*#-SQa{p{NKp?7!qrF=DPcmmAPNyeq%cg-3Q@vvVT7O)Mhc?@ zJtp~R{B*}?!6;lUTq9g7#0X=AvBEeZR=7?WFH8_j!bBYIyIzolNx}`ncZJD9oN%Ks zMTi$}5~d0_3ueJ0OcSOH2|}WfB;10Z$FK^w3N!H27c=p*7PEv@VYZOJzRF%)a#MnJ zYGFwUO1AvMLfid3Q&LnheVVPR9KTLc#2`hLwt|XH<#x4Dysp@nuPlCmA+5}>EJ{kS z6&4lXS4s#`0TiuM0R> z;mVR}^dlgkN7>?aJX^e;>rk{lzoZJ%+e%6*2?watfJfO?#jDC}g%$b5>wKkE6-7*9 zR<*ilT~S4Gfvut_ztD%Fa%UJpH7JzOk8`M$RdX=R4Hd=Qf~!jGs*FBnU|LSih_)&x z%U9&DD=aJJRX(wy;WSVoXi3>>l&`$M z!p`y~50qIps@;J4`aiG#trm#)?POpc!I44iZd~zt8Fg()ZzCN+@*tfq+Z_!9Z9g+FzT1BE82*0To9fVY(*6n>&l2nk6;&C!;4%Sua$<%gE1E%&E5QkqgG%>4Maf1ULLJ&Bm$U)&xt z?=W95Z?l}69-h#j;7xeT`i}KeYrl2Ot>bTw~vmJ42dr%Z!{E8)j^uaZk#Ils8k%GjnI=&%AGD^~`^r`OM5+Gu<-} z&pbKvvzeOPq}!(4mU3IhZCB6gBAHX!a#6V5oMX0`H<}+aKV$xl`4w}Q`K0+{bGT)s zWxOTMl4e3@MxtLoW4q&Iru7 zYfO|4x>Vh<^jCB*&9|>9!k^-TN=1L0GF3MDBqS1e2olZ*K{5yuq3T6AcO%6{st{E# zPKRWE6k?%4!1ed&WkNfyR{#MetNs=o70D0bn%W^2Qgx?(%>7;gwac(H3U<5=^(%Z@ zpn&hx@I*C2)r%lBAifg>sR86{5QN5nG;|on?^v?XD!9N0QSHNdk<4F!D;=xwU*EQU z$ST}EMn4lJr`l&G%G^FwaY(84-+qYf3W)ht{o+T!8H*0ab*Hv3AlZW;y8#)g55#E( z+=)GlU~6#7WDPp+MEdxz zZ`W;oFwk z0S=0H%2tQSOU!E_C&dt1jv`nP9tA{;yC1RxkQcu~FY39pg3iD~z#qNzp4k=z`4b>T zL6B}h%6t%_LyxI5eGt`RoI6=;A0+#_*@4z)ARKV1s{#{XR~!M9Us5GAkR`%3!viSr ztQzw)`YWSEQR!u@dKTntnS^ z0E9kz3?3yochbTGI+q_MFr|F$I?AN9zU*2{=@-uehg*Yoj)t1!Mo3t$N_YipBm?IO z6$kY2(KH}G3xebT@8e?2Sve=W5@$xIQ zZ_8r4d={fUo1qr_IV3b-=bPzu1&jS2IOQr1v)G$}{2TVlgCl{{A-!GzC7=Xc>S*(A z>GcX|E2GT=mk9*nU9fLbCA^GYsxLSW$@~mL7Yo9G>)V!jk56X4y%*|@4gg0F8|3pzl?EuUW$It$w>3d+`@-l&djOq6jbWhr`Hu6GmCB;e>L zsd^D)Iv^%E1a490i&+GLFa3}^2m*_6h^=yE*+yWSko-8gz=^?o7K&A5aTVZ}uRy{C zH4?alWWz=b$Mit&zrLXjhYaiLbCUrQkSyUEEYU+Qb>#mqz`33IJA%Myv6beRPeZ-0 zH!&LJAbEW1mE&h+Qo>X-Fik3V*6Kl&3U5{|uUdoCAqmr9ahN#Z8fuNKfLfmQ&4aK3 z^987cUaB>G@@Qs@XrpxYz4VCB85Y7G``=ow_eMlZ1$us@y{l#&}KDqy+@>~OX z+7rHB9*#ru&^eZ1TYp>jQOB`bL<|K@IDJJOa;g5pt6SEqE<3jT9r5#3{u;u|_pDb7 zsaRwRYG3xz5%~XEkZvi2-)J2au0j&+C!-~A z6NHqI912M~;)f{Qv%V4cjYGIM`Y9{iQ$rz1=ll?b`-*SGea#T=w3-RFJO=e(NK%_0 zqHr(&M%){RaDUQISXjkfw>-LwO}+hC-6)L)&2P+rAO^ zT0b4GY2vm}UJ3I;AxZS%bujlG--vs)pN_(PYbdXT^iW9BML$Hb{EOd+JG~hRw)_r1 zWySA{Lm^4@8-l^QH+>`S^aLEt{rON{2`fS&N$LJpitg>-h1~t zGAohr(%0kM@|+q88oU6#%q77j^k2Hjx_reu2M~3o$02tqW}^~^+zZHLB@)5}wndD( zEY`bC3Qj3-vXmzU-fA--+kr>E;1GI8s9qfM1R$!+psXCDSrJ6}m(;1D?unFmO)4eukIAPF6S zs4Fzy>QRLb3BV!G20_?~A{)K&4%Fg56db=^Z3@J1)x#WO@Z)?$5T86Y^$-#Bph@9Q zZt-hDICQv(uM-G|yo_T>0$;bNt;VBOEr^o_T#G4ys6B;R@k39kK_0XMXGc(MWB{UG z)QTUE;`4>dD;GFTh-ZJSt_*5L?d^c5s{$@hEg$UPM+M z=Xt9)09g?v^IsHnZf82*N(Wc@IIqfl0yyg0nA14}NN{9|_$}(^eB2T9>k1XW1E|O| z8aQeR_EC;@wfn5fUUdPX)(0W%iD+dGf=mTu8)~@d*!^K=ZOemjW&p?EyNS*nfYke1 z5o9qSJAxpq04Wc$PdOkIcK$e&8HAv!UjGgV`BSkWKe{F~1?J%AX3Mz#ZhH2UZuBXk2o6PaJa&lNiU7z@)9W+2XJK(+$H<)Jzg;RHqIO+#AU zF$9ti$csUA?gzx*2Z{1yN-N6q_<0tP<38Pgjgl?Bq+~v}@#ZYd$+qWL*sID@Ez{74 zit!DIddkU$qlx|kUh64Gf7uaVdd;UE1rEsLa4#>hM3)|tEahDI2}Z%WOD}q&_A2o=v{}TWocF?hZg8EN|`%22Oa9>$HLv9N? z^G(&vW6C*xD*p|K-YFg{*A%bfp@$bx$|o0el$;{jP61lH4hEuEK^S!dq4st*1#L+y{O7gDR@{1SZA0o!3tFSD&KDO;IeVk@+l;beXgs6YXg7Zp!W zPO{-2)!K_oi{N5REBUAs0{6#nDk-kCQGsOz?%d z3v%w5pJB_&&d5!_%eF8h^R79z%saAkFwu|#=u_-d5eSI?@QRSZFhW%}TYAo23qvq{ zUy|5t#iivoHuV70UQ!v*u%vh;KPha>hvn!2!^Xa8u$AFxza3vz*b2%@OJQc>LSg5x zz))0Ffe#L-rZj(TSq1atrb>L)U|WyR8E`O=%Z8Jowv8nLOrZxL#g~EbIaLvu9muxX z@Xu!hF|TZ+j0NdIVy-F5FAo%-SwUH_;dIY$^Jh){7&c-YF$_i8oJ>S<$HcVP2MIj0@8tRCr1Vo7K7)s!P zL_;$F_y!{RPv$G!`3fQ=ws|b8$K?HT(kfV$^A=b`ja3!|fuYK6Xb&(G4M03>$rVgU zWjPF~sJkfUR|Xh9_$qj8SXQ*vUq+_azOw h6N@~*Tmdwdx*@!{JihM-zG^H{`-y4^MLl2J{{~kiG++P# literal 0 HcmV?d00001 diff --git a/stepmania/src/ffmpeg/000 StepMania README.txt b/stepmania/src/ffmpeg/000 StepMania README.txt index 7aa80ee8af..f364d91e77 100644 --- a/stepmania/src/ffmpeg/000 StepMania README.txt +++ b/stepmania/src/ffmpeg/000 StepMania README.txt @@ -1,14 +1,15 @@ This directory is only for Windows. For other OS's, install it yourself as usual. -I'm not adding this library source to CVS, because it's still in heavily -active development and there's not yet a stable release, so it's too much -work to keep a copy here, and because it's easier to create diffs to send -upstream if my copy is checked out of the original repository. Check it -out yourself if you want to recompile it. - Compile with MingW. Configured with ./configure --enable-shared --enable-mingw32 --enable-small --disable-debug -TODO: Don't compile encoders, audio decoders and unneeded video decoders. +svn co -r 8448 svn://svn.mplayerhq.hu/ffmpeg + +./configure --enable-shared --disable-static --disable-debug --disable-vhook --enable-memalign-hack --disable-network --enable-small \ + --disable-encoders --disable-ffmpeg --disable-ffserver --disable-ffplay --disable-muxers \ + --disable-demuxers --enable-demuxer=avi --enable-demuxer=h261 --enable-demuxer=h263 --enable-demuxer=h264 --enable-demuxer=m4v --enable-demuxer=mjpeg --enable-demuxer=mov --enable-demuxer=mpegps --enable-demuxer=mpegts --enable-demuxer=mpegvideo --enable-demuxer=ogg --enable-demuxer=rawvideo --enable-demuxer=yuv4mpegpipe \ + --disable-decoders --enable-decoder=h261 --enable-decoder=h263 --enable-decoder=h263i --enable-decoder=h264 --enable-decoder=huffyuv --enable-decoder=mjpeg --enable-decoder=mjpegb --enable-decoder=mpeg_xvmc --enable-decoder=mpeg1video --enable-decoder=mpeg2video --enable-decoder=mpeg4 --enable-decoder=mpegvideo --enable-decoder=msmpeg4v1 --enable-decoder=msmpeg4v2 --enable-decoder=msmpeg4v3 --enable-decoder=rawvideo --enable-decoder=theora \ + --disable-parsers --enable-parser=h261 --enable-parser=h263 --enable-parser=h264 --enable-parser=mjpeg --enable-parser=mpeg4video --enable-parser=mpegaudio --enable-parser=mpegvideo --enable-parser=ac3 \ + --target-os=mingw32 diff --git a/stepmania/src/ffmpeg/include/ffmpeg/avcodec.h b/stepmania/src/ffmpeg/include/ffmpeg/avcodec.h index 03269207ee..ead4dc8dfe 100644 --- a/stepmania/src/ffmpeg/include/ffmpeg/avcodec.h +++ b/stepmania/src/ffmpeg/include/ffmpeg/avcodec.h @@ -1,3 +1,23 @@ +/* + * copyright (c) 2001 Fabrice Bellard + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + #ifndef AVCODEC_H #define AVCODEC_H @@ -11,26 +31,24 @@ extern "C" { #endif -#include "common.h" -#include "rational.h" +#include "avutil.h" #include /* size_t */ -#define FFMPEG_VERSION_INT 0x000409 -#define FFMPEG_VERSION "0.4.9-pre1" -#define LIBAVCODEC_BUILD 4718 - -#define LIBAVCODEC_VERSION_INT FFMPEG_VERSION_INT -#define LIBAVCODEC_VERSION FFMPEG_VERSION - -#define AV_STRINGIFY(s) AV_TOSTRING(s) +#define AV_STRINGIFY(s) AV_TOSTRING(s) #define AV_TOSTRING(s) #s -#define LIBAVCODEC_IDENT "FFmpeg" LIBAVCODEC_VERSION "b" AV_STRINGIFY(LIBAVCODEC_BUILD) -#define AV_NOPTS_VALUE int64_t_C(0x8000000000000000) -#define AV_TIME_BASE 1000000 +#define LIBAVCODEC_VERSION_INT ((51<<16)+(40<<8)+0) +#define LIBAVCODEC_VERSION 51.40.0 +#define LIBAVCODEC_BUILD LIBAVCODEC_VERSION_INT + +#define LIBAVCODEC_IDENT "Lavc" AV_STRINGIFY(LIBAVCODEC_VERSION) + +#define AV_NOPTS_VALUE INT64_C(0x8000000000000000) +#define AV_TIME_BASE 1000000 +#define AV_TIME_BASE_Q (AVRational){1, AV_TIME_BASE} enum CodecID { - CODEC_ID_NONE, + CODEC_ID_NONE, CODEC_ID_MPEG1VIDEO, CODEC_ID_MPEG2VIDEO, /* prefered ID for MPEG Video 1 or 2 decoding */ CODEC_ID_MPEG2VIDEO_XVMC, @@ -38,14 +56,11 @@ enum CodecID { CODEC_ID_H263, CODEC_ID_RV10, CODEC_ID_RV20, - CODEC_ID_MP2, - CODEC_ID_MP3, /* prefered ID for MPEG Audio layer 1, 2 or3 decoding */ - CODEC_ID_VORBIS, - CODEC_ID_AC3, CODEC_ID_MJPEG, CODEC_ID_MJPEGB, CODEC_ID_LJPEG, CODEC_ID_SP5X, + CODEC_ID_JPEGLS, CODEC_ID_MPEG4, CODEC_ID_RAWVIDEO, CODEC_ID_MSMPEG4V1, @@ -59,19 +74,12 @@ enum CodecID { CODEC_ID_SVQ1, CODEC_ID_SVQ3, CODEC_ID_DVVIDEO, - CODEC_ID_DVAUDIO, - CODEC_ID_WMAV1, - CODEC_ID_WMAV2, - CODEC_ID_MACE3, - CODEC_ID_MACE6, CODEC_ID_HUFFYUV, CODEC_ID_CYUV, CODEC_ID_H264, CODEC_ID_INDEO3, CODEC_ID_VP3, CODEC_ID_THEORA, - CODEC_ID_AAC, - CODEC_ID_MPEG4AAC, CODEC_ID_ASV1, CODEC_ID_ASV2, CODEC_ID_FFV1, @@ -94,13 +102,59 @@ enum CodecID { CODEC_ID_FLIC, CODEC_ID_TRUEMOTION1, CODEC_ID_VMDVIDEO, - CODEC_ID_VMDAUDIO, CODEC_ID_MSZH, CODEC_ID_ZLIB, CODEC_ID_QTRLE, + CODEC_ID_SNOW, + CODEC_ID_TSCC, + CODEC_ID_ULTI, + CODEC_ID_QDRAW, + CODEC_ID_VIXL, + CODEC_ID_QPEG, + CODEC_ID_XVID, + CODEC_ID_PNG, + CODEC_ID_PPM, + CODEC_ID_PBM, + CODEC_ID_PGM, + CODEC_ID_PGMYUV, + CODEC_ID_PAM, + CODEC_ID_FFVHUFF, + CODEC_ID_RV30, + CODEC_ID_RV40, + CODEC_ID_VC1, + CODEC_ID_WMV3, + CODEC_ID_LOCO, + CODEC_ID_WNV1, + CODEC_ID_AASC, + CODEC_ID_INDEO2, + CODEC_ID_FRAPS, + CODEC_ID_TRUEMOTION2, + CODEC_ID_BMP, + CODEC_ID_CSCD, + CODEC_ID_MMVIDEO, + CODEC_ID_ZMBV, + CODEC_ID_AVS, + CODEC_ID_SMACKVIDEO, + CODEC_ID_NUV, + CODEC_ID_KMVC, + CODEC_ID_FLASHSV, + CODEC_ID_CAVS, + CODEC_ID_JPEG2000, + CODEC_ID_VMNC, + CODEC_ID_VP5, + CODEC_ID_VP6, + CODEC_ID_VP6F, + CODEC_ID_TARGA, + CODEC_ID_DSICINVIDEO, + CODEC_ID_TIERTEXSEQVIDEO, + CODEC_ID_TIFF, + CODEC_ID_GIF, + CODEC_ID_FFH264, + CODEC_ID_DXA, + CODEC_ID_DNXHD, /* various pcm "codecs" */ - CODEC_ID_PCM_S16LE, + CODEC_ID_PCM_S16LE= 0x10000, CODEC_ID_PCM_S16BE, CODEC_ID_PCM_U16LE, CODEC_ID_PCM_U16BE, @@ -108,9 +162,18 @@ enum CodecID { CODEC_ID_PCM_U8, CODEC_ID_PCM_MULAW, CODEC_ID_PCM_ALAW, + CODEC_ID_PCM_S32LE, + CODEC_ID_PCM_S32BE, + CODEC_ID_PCM_U32LE, + CODEC_ID_PCM_U32BE, + CODEC_ID_PCM_S24LE, + CODEC_ID_PCM_S24BE, + CODEC_ID_PCM_U24LE, + CODEC_ID_PCM_U24BE, + CODEC_ID_PCM_S24DAUD, /* various adpcm codecs */ - CODEC_ID_ADPCM_IMA_QT, + CODEC_ID_ADPCM_IMA_QT= 0x11000, CODEC_ID_ADPCM_IMA_WAV, CODEC_ID_ADPCM_IMA_DK3, CODEC_ID_ADPCM_IMA_DK4, @@ -122,95 +185,116 @@ enum CodecID { CODEC_ID_ADPCM_ADX, CODEC_ID_ADPCM_EA, CODEC_ID_ADPCM_G726, + CODEC_ID_ADPCM_CT, + CODEC_ID_ADPCM_SWF, + CODEC_ID_ADPCM_YAMAHA, + CODEC_ID_ADPCM_SBPRO_4, + CODEC_ID_ADPCM_SBPRO_3, + CODEC_ID_ADPCM_SBPRO_2, - /* AMR */ - CODEC_ID_AMR_NB, + /* AMR */ + CODEC_ID_AMR_NB= 0x12000, CODEC_ID_AMR_WB, /* RealAudio codecs*/ - CODEC_ID_RA_144, + CODEC_ID_RA_144= 0x13000, CODEC_ID_RA_288, /* various DPCM codecs */ - CODEC_ID_ROQ_DPCM, + CODEC_ID_ROQ_DPCM= 0x14000, CODEC_ID_INTERPLAY_DPCM, CODEC_ID_XAN_DPCM, - + CODEC_ID_SOL_DPCM, + + CODEC_ID_MP2= 0x15000, + CODEC_ID_MP3, /* prefered ID for MPEG Audio layer 1, 2 or3 decoding */ + CODEC_ID_AAC, +#if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0) + CODEC_ID_MPEG4AAC, +#endif + CODEC_ID_AC3, + CODEC_ID_DTS, + CODEC_ID_VORBIS, + CODEC_ID_DVAUDIO, + CODEC_ID_WMAV1, + CODEC_ID_WMAV2, + CODEC_ID_MACE3, + CODEC_ID_MACE6, + CODEC_ID_VMDAUDIO, + CODEC_ID_SONIC, + CODEC_ID_SONIC_LS, CODEC_ID_FLAC, - - CODEC_ID_MPEG2TS, /* _FAKE_ codec to indicate a raw MPEG2 transport + CODEC_ID_MP3ADU, + CODEC_ID_MP3ON4, + CODEC_ID_SHORTEN, + CODEC_ID_ALAC, + CODEC_ID_WESTWOOD_SND1, + CODEC_ID_GSM, /* As in Berlin toast format */ + CODEC_ID_QDM2, + CODEC_ID_COOK, + CODEC_ID_TRUESPEECH, + CODEC_ID_TTA, + CODEC_ID_SMACKAUDIO, + CODEC_ID_QCELP, + CODEC_ID_WAVPACK, + CODEC_ID_DSICINAUDIO, + CODEC_ID_IMC, + CODEC_ID_MUSEPACK7, + CODEC_ID_MLP, + CODEC_ID_GSM_MS, /* As found in WAV */ + + /* subtitle codecs */ + CODEC_ID_DVD_SUBTITLE= 0x17000, + CODEC_ID_DVB_SUBTITLE, + + CODEC_ID_MPEG2TS= 0x20000, /* _FAKE_ codec to indicate a raw MPEG2 transport stream (only used by libavformat) */ }; +#if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0) /* CODEC_ID_MP3LAME is absolete */ #define CODEC_ID_MP3LAME CODEC_ID_MP3 +#define CODEC_ID_MPEG4AAC CODEC_ID_AAC +#endif enum CodecType { CODEC_TYPE_UNKNOWN = -1, CODEC_TYPE_VIDEO, CODEC_TYPE_AUDIO, CODEC_TYPE_DATA, -}; - -/** - * Pixel format. Notes: - * - * PIX_FMT_RGBA32 is handled in an endian-specific manner. A RGBA - * color is put together as: - * (A << 24) | (R << 16) | (G << 8) | B - * This is stored as BGRA on little endian CPU architectures and ARGB on - * big endian CPUs. - * - * When the pixel format is palettized RGB (PIX_FMT_PAL8), the palettized - * image data is stored in AVFrame.data[0]. The palette is transported in - * AVFrame.data[1] and, is 1024 bytes long (256 4-byte entries) and is - * formatted the same as in PIX_FMT_RGBA32 described above (i.e., it is - * also endian-specific). Note also that the individual RGB palette - * components stored in AVFrame.data[1] should be in the range 0..255. - * This is important as many custom PAL8 video codecs that were designed - * to run on the IBM VGA graphics adapter use 6-bit palette components. - */ -enum PixelFormat { - PIX_FMT_YUV420P, ///< Planar YUV 4:2:0 (1 Cr & Cb sample per 2x2 Y samples) - PIX_FMT_YUV422, - PIX_FMT_RGB24, ///< Packed pixel, 3 bytes per pixel, RGBRGB... - PIX_FMT_BGR24, ///< Packed pixel, 3 bytes per pixel, BGRBGR... - PIX_FMT_YUV422P, ///< Planar YUV 4:2:2 (1 Cr & Cb sample per 2x1 Y samples) - PIX_FMT_YUV444P, ///< Planar YUV 4:4:4 (1 Cr & Cb sample per 1x1 Y samples) - PIX_FMT_RGBA32, ///< Packed pixel, 4 bytes per pixel, BGRABGRA..., stored in cpu endianness - PIX_FMT_YUV410P, ///< Planar YUV 4:1:0 (1 Cr & Cb sample per 4x4 Y samples) - PIX_FMT_YUV411P, ///< Planar YUV 4:1:1 (1 Cr & Cb sample per 4x1 Y samples) - PIX_FMT_RGB565, ///< always stored in cpu endianness - PIX_FMT_RGB555, ///< always stored in cpu endianness, most significant bit to 1 - PIX_FMT_GRAY8, - PIX_FMT_MONOWHITE, ///< 0 is white - PIX_FMT_MONOBLACK, ///< 0 is black - PIX_FMT_PAL8, ///< 8 bit with RGBA palette - PIX_FMT_YUVJ420P, ///< Planar YUV 4:2:0 full scale (jpeg) - PIX_FMT_YUVJ422P, ///< Planar YUV 4:2:2 full scale (jpeg) - PIX_FMT_YUVJ444P, ///< Planar YUV 4:4:4 full scale (jpeg) - PIX_FMT_XVMC_MPEG2_MC,///< XVideo Motion Acceleration via common packet passing(xvmc_render.h) - PIX_FMT_XVMC_MPEG2_IDCT, - PIX_FMT_NB, + CODEC_TYPE_SUBTITLE, + CODEC_TYPE_NB }; /* currently unused, may be used if 24/32 bits samples ever supported */ +/* all in native endian */ enum SampleFormat { - SAMPLE_FMT_S16 = 0, ///< signed 16 bits + SAMPLE_FMT_NONE = -1, + SAMPLE_FMT_U8, ///< unsigned 8 bits + SAMPLE_FMT_S16, ///< signed 16 bits + SAMPLE_FMT_S24, ///< signed 24 bits + SAMPLE_FMT_S32, ///< signed 32 bits + SAMPLE_FMT_FLT, ///< float }; /* in bytes */ -#define AVCODEC_MAX_AUDIO_FRAME_SIZE 131072 +#define AVCODEC_MAX_AUDIO_FRAME_SIZE 192000 // 1 second of 48khz 32bit audio /** * Required number of additionally allocated bytes at the end of the input bitstream for decoding. - * this is mainly needed because some optimized bitstream readers read + * this is mainly needed because some optimized bitstream readers read * 32 or 64 bit at once and could read over the end
* Note, if the first 23 bits of the additional bytes are not 0 then damaged * MPEG bitstreams could cause overread and segfault */ #define FF_INPUT_BUFFER_PADDING_SIZE 8 +/** + * minimum encoding buffer size. + * used to avoid some checks during header writing + */ +#define FF_MIN_BUFFER_SIZE 16384 + /* motion estimation type, EPZS by default */ enum Motion_Est_ID { ME_ZERO = 1, @@ -218,7 +302,20 @@ enum Motion_Est_ID { ME_LOG, ME_PHODS, ME_EPZS, - ME_X1 + ME_X1, + ME_HEX, + ME_UMH, + ME_ITER, +}; + +enum AVDiscard{ +//we leave some space between them for extensions (drop some keyframes for intra only or drop just some bidir frames) + AVDISCARD_NONE =-16, ///< discard nothing + AVDISCARD_DEFAULT= 0, ///< discard useless packets like 0 size packets in avi + AVDISCARD_NONREF = 8, ///< discard all non reference + AVDISCARD_BIDIR = 16, ///< discard all bidirectional frames + AVDISCARD_NONKEY = 32, ///< discard all frames except keyframes + AVDISCARD_ALL = 48, ///< discard all }; typedef struct RcOverride{ @@ -228,44 +325,43 @@ typedef struct RcOverride{ float quality_factor; } RcOverride; -/* only for ME compatiblity with old apps */ -extern int motion_estimation_method; - -#define FF_MAX_B_FRAMES 8 +#define FF_MAX_B_FRAMES 16 /* encoding support - these flags can be passed in AVCodecContext.flags before initing - Note: note not everything is supported yet + these flags can be passed in AVCodecContext.flags before initing + Note: not everything is supported yet. */ -#define CODEC_FLAG_QSCALE 0x0002 ///< use fixed qscale +#define CODEC_FLAG_QSCALE 0x0002 ///< use fixed qscale #define CODEC_FLAG_4MV 0x0004 ///< 4 MV per MB allowed / Advanced prediction for H263 -#define CODEC_FLAG_QPEL 0x0010 ///< use qpel MC -#define CODEC_FLAG_GMC 0x0020 ///< use GMC -#define CODEC_FLAG_MV0 0x0040 ///< always try a MB with MV=<0,0> -#define CODEC_FLAG_PART 0x0080 ///< use data partitioning -/* parent program gurantees that the input for b-frame containing streams is not written to +#define CODEC_FLAG_QPEL 0x0010 ///< use qpel MC +#define CODEC_FLAG_GMC 0x0020 ///< use GMC +#define CODEC_FLAG_MV0 0x0040 ///< always try a MB with MV=<0,0> +#define CODEC_FLAG_PART 0x0080 ///< use data partitioning +/* parent program guarantees that the input for b-frame containing streams is not written to for at least s->max_b_frames+1 frames, if this is not set than the input will be copied */ #define CODEC_FLAG_INPUT_PRESERVED 0x0100 -#define CODEC_FLAG_PASS1 0x0200 ///< use internal 2pass ratecontrol in first pass mode -#define CODEC_FLAG_PASS2 0x0400 ///< use internal 2pass ratecontrol in second pass mode -#define CODEC_FLAG_EXTERN_HUFF 0x1000 ///< use external huffman table (for mjpeg) -#define CODEC_FLAG_GRAY 0x2000 ///< only decode/encode grayscale -#define CODEC_FLAG_EMU_EDGE 0x4000///< dont draw edges -#define CODEC_FLAG_PSNR 0x8000 ///< error[?] variables will be set during encoding -#define CODEC_FLAG_TRUNCATED 0x00010000 /** input bitstream might be truncated at a random location instead +#define CODEC_FLAG_PASS1 0x0200 ///< use internal 2pass ratecontrol in first pass mode +#define CODEC_FLAG_PASS2 0x0400 ///< use internal 2pass ratecontrol in second pass mode +#define CODEC_FLAG_EXTERN_HUFF 0x1000 ///< use external huffman table (for mjpeg) +#define CODEC_FLAG_GRAY 0x2000 ///< only decode/encode grayscale +#define CODEC_FLAG_EMU_EDGE 0x4000///< don't draw edges +#define CODEC_FLAG_PSNR 0x8000 ///< error[?] variables will be set during encoding +#define CODEC_FLAG_TRUNCATED 0x00010000 /** input bitstream might be truncated at a random location instead of only at frame boundaries */ -#define CODEC_FLAG_NORMALIZE_AQP 0x00020000 ///< normalize adaptive quantization -#define CODEC_FLAG_INTERLACED_DCT 0x00040000 ///< use interlaced dct +#define CODEC_FLAG_NORMALIZE_AQP 0x00020000 ///< normalize adaptive quantization +#define CODEC_FLAG_INTERLACED_DCT 0x00040000 ///< use interlaced dct #define CODEC_FLAG_LOW_DELAY 0x00080000 ///< force low delay -#define CODEC_FLAG_ALT_SCAN 0x00100000 ///< use alternate scan -#define CODEC_FLAG_TRELLIS_QUANT 0x00200000 ///< use trellis quantization -#define CODEC_FLAG_GLOBAL_HEADER 0x00400000 ///< place global headers in extradata instead of every keyframe -#define CODEC_FLAG_BITEXACT 0x00800000 ///< use only bitexact stuff (except (i)dct) +#define CODEC_FLAG_ALT_SCAN 0x00100000 ///< use alternate scan +#define CODEC_FLAG_TRELLIS_QUANT 0x00200000 ///< use trellis quantization +#define CODEC_FLAG_GLOBAL_HEADER 0x00400000 ///< place global headers in extradata instead of every keyframe +#define CODEC_FLAG_BITEXACT 0x00800000 ///< use only bitexact stuff (except (i)dct) /* Fx : Flag for h263+ extra options */ +#if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0) #define CODEC_FLAG_H263P_AIC 0x01000000 ///< H263 Advanced intra coding / MPEG4 AC prediction (remove this) +#endif #define CODEC_FLAG_AC_PRED 0x01000000 ///< H263 Advanced intra coding / MPEG4 AC prediction -#define CODEC_FLAG_H263P_UMV 0x02000000 ///< Unlimited motion vector +#define CODEC_FLAG_H263P_UMV 0x02000000 ///< Unlimited motion vector #define CODEC_FLAG_CBP_RD 0x04000000 ///< use rate distortion optimization for cbp #define CODEC_FLAG_QP_RD 0x08000000 ///< use rate distortion optimization for qp selectioon #define CODEC_FLAG_H263P_AIV 0x00000008 ///< H263 Alternative inter vlc @@ -274,15 +370,33 @@ extern int motion_estimation_method; #define CODEC_FLAG_H263P_SLICE_STRUCT 0x10000000 #define CODEC_FLAG_INTERLACED_ME 0x20000000 ///< interlaced motion estimation #define CODEC_FLAG_SVCD_SCAN_OFFSET 0x40000000 ///< will reserve space for SVCD scan offset user data -#define CODEC_FLAG_CLOSED_GOP 0x80000000 +#define CODEC_FLAG_CLOSED_GOP ((int)0x80000000) +#define CODEC_FLAG2_FAST 0x00000001 ///< allow non spec compliant speedup tricks +#define CODEC_FLAG2_STRICT_GOP 0x00000002 ///< strictly enforce GOP size +#define CODEC_FLAG2_NO_OUTPUT 0x00000004 ///< skip bitstream encoding +#define CODEC_FLAG2_LOCAL_HEADER 0x00000008 ///< place global headers at every keyframe instead of in extradata +#define CODEC_FLAG2_BPYRAMID 0x00000010 ///< H.264 allow b-frames to be used as references +#define CODEC_FLAG2_WPRED 0x00000020 ///< H.264 weighted biprediction for b-frames +#define CODEC_FLAG2_MIXED_REFS 0x00000040 ///< H.264 one reference per partition, as opposed to one reference per macroblock +#define CODEC_FLAG2_8X8DCT 0x00000080 ///< H.264 high profile 8x8 transform +#define CODEC_FLAG2_FASTPSKIP 0x00000100 ///< H.264 fast pskip +#define CODEC_FLAG2_AUD 0x00000200 ///< H.264 access unit delimiters +#define CODEC_FLAG2_BRDO 0x00000400 ///< b-frame rate-distortion optimization +#define CODEC_FLAG2_INTRA_VLC 0x00000800 ///< use MPEG-2 intra VLC table +#define CODEC_FLAG2_MEMC_ONLY 0x00001000 ///< only do ME/MC (I frames -> ref, P frame -> ME+MC) +#define CODEC_FLAG2_DROP_FRAME_TIMECODE 0x00002000 ///< timecode is in drop frame format +#define CODEC_FLAG2_SKIP_RD 0x00004000 ///< RD optimal MB level residual skiping +#define CODEC_FLAG2_CHUNKS 0x00008000 ///< input bitstream might be truncated at a packet boundaries instead of only at frame boundaries +#define CODEC_FLAG2_NON_LINEAR_QUANT 0x00010000 ///< use MPEG-2 non linear quantizer + /* Unsupported options : - * Syntax Arithmetic coding (SAC) - * Reference Picture Selection - * Independant Segment Decoding */ + * Syntax Arithmetic coding (SAC) + * Reference Picture Selection + * Independent Segment Decoding */ /* /Fx */ /* codec capabilities */ -#define CODEC_CAP_DRAW_HORIZ_BAND 0x0001 ///< decoder can use draw_horiz_band callback +#define CODEC_CAP_DRAW_HORIZ_BAND 0x0001 ///< decoder can use draw_horiz_band callback /** * Codec uses get_buffer() for allocating buffers. * direct rendering method 1 @@ -294,10 +408,18 @@ extern int motion_estimation_method; #define CODEC_CAP_TRUNCATED 0x0008 /* codec can export data for HW decoding (XvMC) */ #define CODEC_CAP_HWACCEL 0x0010 -/** codec has a non zero delay and needs to be feeded with NULL at the end to get the delayed data */ +/** + * codec has a non zero delay and needs to be feeded with NULL at the end to get the delayed data. + * if this is not set, the codec is guaranteed to never be feeded with NULL data + */ #define CODEC_CAP_DELAY 0x0020 +/** + * Codec can be fed a final frame with a smaller size. + * This can be used to prevent truncation of the last audio samples. + */ +#define CODEC_CAP_SMALL_LAST_FRAME 0x0040 -//the following defines might change, so dont expect compatibility if u use them +//the following defines may change, don't expect compatibility if you use them #define MB_TYPE_INTRA4x4 0x0001 #define MB_TYPE_INTRA16x16 0x0002 //FIXME h264 specific #define MB_TYPE_INTRA_PCM 0x0004 //FIXME h264 specific @@ -360,7 +482,7 @@ typedef struct AVPanScan{ int linesize[4];\ /**\ * pointer to the first allocated byte of the picture. can be used in get_buffer/release_buffer\ - * this isnt used by lavc unless the default get/release_buffer() is used\ + * this isn't used by lavc unless the default get/release_buffer() is used\ * - encoding: \ * - decoding: \ */\ @@ -380,8 +502,8 @@ typedef struct AVPanScan{ int pict_type;\ \ /**\ - * presentation timestamp in AV_TIME_BASE (=micro seconds currently) (time when frame should be shown to user)\ - * if AV_NOPTS_VALUE then the frame_rate will be used as reference\ + * presentation timestamp in time_base units (time when frame should be shown to user)\ + * if AV_NOPTS_VALUE then frame_rate = 1/time_base will be assumed\ * - encoding: MUST be set by user\ * - decoding: set by lavc\ */\ @@ -444,7 +566,14 @@ typedef struct AVPanScan{ uint8_t *mbskip_table;\ \ /**\ - * Motion vector table\ + * Motion vector table.\ + * @code\ + * example:\ + * int mv_sample_log2= 4 - motion_subsample_log2;\ + * int mb_width= (width+15)>>4;\ + * int mv_stride= (mb_width << mv_sample_log2) + 1;\ + * motion_val[direction][x + y*mv_stride][0->mv_x, 1->mv_y];\ + * @endcode\ * - encoding: set by user\ * - decoding: set by lavc\ */\ @@ -459,7 +588,8 @@ typedef struct AVPanScan{ uint32_t *mb_type;\ \ /**\ - * Macroblock size: (0->16x16, 1->8x8, 2-> 4x4, 3-> 2x2)\ + * log2 of the size of the block which a single vector in motion_val represents: \ + * (4->16x16, 3->8x8, 2-> 4x4, 1-> 2x2)\ * - encoding: unused\ * - decoding: set by lavc\ */\ @@ -549,13 +679,14 @@ typedef struct AVPanScan{ */\ int8_t *ref_index[2]; -#define FF_QSCALE_TYPE_MPEG1 0 -#define FF_QSCALE_TYPE_MPEG2 1 +#define FF_QSCALE_TYPE_MPEG1 0 +#define FF_QSCALE_TYPE_MPEG2 1 +#define FF_QSCALE_TYPE_H264 2 #define FF_BUFFER_TYPE_INTERNAL 1 #define FF_BUFFER_TYPE_USER 2 ///< Direct rendering buffers (image is (de)allocated by user) -#define FF_BUFFER_TYPE_SHARED 4 ///< buffer from somewher else, dont dealloc image (data/base), all other tables are not shared -#define FF_BUFFER_TYPE_COPY 8 ///< just a (modified) copy of some other buffer, dont dealloc anything +#define FF_BUFFER_TYPE_SHARED 4 ///< buffer from somewhere else, don't dealloc image (data/base), all other tables are not shared +#define FF_BUFFER_TYPE_COPY 8 ///< just a (modified) copy of some other buffer, don't dealloc anything #define FF_I_TYPE 1 // Intra @@ -579,18 +710,6 @@ typedef struct AVFrame { #define DEFAULT_FRAME_RATE_BASE 1001000 -/** - * Used by av_log - */ -typedef struct AVCLASS AVClass; -struct AVCLASS { - const char* class_name; - const char* (*item_name)(void*); /* actually passing a pointer to an AVCodecContext - or AVFormatContext, which begin with an AVClass. - Needed because av_log is in libavcodec and has no visibility - of AVIn/OutputFormat */ -}; - /** * main external api structure. */ @@ -603,7 +722,7 @@ typedef struct AVCodecContext { /** * the average bitrate. * - encoding: set by user. unused for constant quantizer encoding - * - decoding: set by lavc. 0 or some bitrate if this info is available in the stream + * - decoding: set by lavc. 0 or some bitrate if this info is available in the stream */ int bit_rate; @@ -613,7 +732,7 @@ typedef struct AVCodecContext { * - encoding: set by user. unused for constant quantizer encoding * - decoding: unused */ - int bit_rate_tolerance; + int bit_rate_tolerance; /** * CODEC_FLAG_*. @@ -624,13 +743,15 @@ typedef struct AVCodecContext { /** * some codecs needs additionnal format info. It is stored here - * - encoding: set by user. + * - encoding: set by user. * - decoding: set by lavc. (FIXME is this ok?) */ int sub_id; /** * motion estimation algorithm used for video coding. + * 1 (zero), 2 (full), 3 (log), 4 (phods), 5 (epzs), 6 (x1), 7 (hex), + * 8 (umh), 9 (iter) [7, 8 are x264 specific, 9 is snow specific] * - encoding: MUST be set by user. * - decoding: unused */ @@ -641,29 +762,35 @@ typedef struct AVCodecContext { * mjpeg: huffman tables * rv10: additional flags * mpeg4: global headers (they can be in the bitstream or here) + * the allocated memory should be FF_INPUT_BUFFER_PADDING_SIZE bytes larger + * then extradata_size to avoid prolems if its read with the bitstream reader + * the bytewise contents of extradata must not depend on the architecture or cpu endianness * - encoding: set/allocated/freed by lavc. * - decoding: set/allocated/freed by user. */ - void *extradata; + uint8_t *extradata; int extradata_size; - + + /** + * this is the fundamental unit of time (in seconds) in terms + * of which frame timestamps are represented. for fixed-fps content, + * timebase should be 1/framerate and timestamp increments should be + * identically 1. + * - encoding: MUST be set by user + * - decoding: set by lavc. + */ + AVRational time_base; + /* video only */ /** - * frames per sec multiplied by frame_rate_base. - * for variable fps this is the precission, so if the timestamps - * can be specified in msec precssion then this is 1000*frame_rate_base - * - encoding: MUST be set by user - * - decoding: set by lavc. 0 or the frame_rate if available - */ - int frame_rate; - - /** - * width / height. - * - encoding: MUST be set by user. - * - decoding: set by user if known, codec should override / dynamically change if needed + * picture width / height. + * - encoding: MUST be set by user. + * - decoding: set by lavc. + * Note, for compatibility its possible to set this instead of + * coded_width/height before decoding */ int width, height; - + #define FF_ASPECT_EXTENDED 15 /** @@ -675,22 +802,19 @@ typedef struct AVCodecContext { /** * pixel format, see PIX_FMT_xxx. - * - encoding: FIXME: used by ffmpeg to decide whether an pix_fmt - * conversion is in order. This only works for - * codecs with one supported pix_fmt, we should - * do something for a generic case as well. + * - encoding: set by user. * - decoding: set by lavc. */ enum PixelFormat pix_fmt; - + /** - * Frame rate emulation. If not zero lower layer (i.e. format handler) + * Frame rate emulation. If not zero lower layer (i.e. format handler) * has to read frames at native frame rate. * - encoding: set by user. * - decoding: unused. */ int rate_emu; - + /** * if non NULL, 'draw_horiz_band' is called by the libavcodec * decoder to draw an horizontal band. It improve cache usage. Not @@ -708,27 +832,36 @@ typedef struct AVCodecContext { int y, int type, int height); /* audio only */ - int sample_rate; ///< samples per sec + int sample_rate; ///< samples per sec int channels; - int sample_fmt; ///< sample format, currenly unused + + /** + * audio sample format. + * - encoding: set by user. + * - decoding: set by lavc. + */ + enum SampleFormat sample_fmt; ///< sample format, currenly unused /* the following data should not be initialized */ - int frame_size; ///< in samples, initialized when calling 'init' - int frame_number; ///< audio or video frame number - int real_pict_num; ///< returns the real picture number of previous encoded frame - /** - * number of frames the decoded output will be delayed relative to + * samples per packet. initialized when calling 'init' + */ + int frame_size; + int frame_number; ///< audio or video frame number + int real_pict_num; ///< returns the real picture number of previous encoded frame + + /** + * number of frames the decoded output will be delayed relative to * the encoded input. * - encoding: set by lavc. * - decoding: unused */ int delay; - + /* - encoding parameters */ float qcompress; ///< amount of qscale change between easy & hard scenes (0.0-1.0) - float qblur; ///< amount of qscale smoothing over time (0.0-1.0) - + float qblur; ///< amount of qscale smoothing over time (0.0-1.0) + /** * minimum quantizer. * - encoding: set by user. @@ -744,7 +877,7 @@ typedef struct AVCodecContext { int qmax; /** - * maximum quantizer difference etween frames. + * maximum quantizer difference between frames. * - encoding: set by user. * - decoding: unused */ @@ -764,38 +897,45 @@ typedef struct AVCodecContext { * - decoding: unused */ float b_quant_factor; - + /** obsolete FIXME remove */ int rc_strategy; +#define FF_RC_STRATEGY_XVID 1 + int b_frame_strategy; /** * hurry up amount. * - encoding: unused * - decoding: set by user. 1-> skip b frames, 2-> skip idct/dequant too, 5-> skip everything except header + * @deprecated Deprecated in favor of skip_idct and skip_frame. */ int hurry_up; - + struct AVCodec *codec; - + void *priv_data; +#if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0) /* unused, FIXME remove*/ int rtp_mode; - - int rtp_payload_size; /* The size of the RTP payload, the coder will */ +#endif + + int rtp_payload_size; /* The size of the RTP payload: the coder will */ /* do it's best to deliver a chunk with size */ /* below rtp_payload_size, the chunk will start */ /* with a start code on some codecs like H.263 */ /* This doesn't take account of any particular */ /* headers inside the transmited RTP payload */ - - /* The RTP callcack: This function is called */ - /* every time the encoder as a packet to send */ - /* Depends on the encoder if the data starts */ - /* with a Start Code (it should) H.263 does */ - void (*rtp_callback)(struct AVCodecContext *avctx, void *data, int size, int packet_number); + + /* The RTP callback: This function is called */ + /* every time the encoder has a packet to send */ + /* Depends on the encoder if the data starts */ + /* with a Start Code (it should) H.263 does. */ + /* mb_nb contains the number of macroblocks */ + /* encoded in the RTP payload */ + void (*rtp_callback)(struct AVCodecContext *avctx, void *data, int size, int mb_nb); /* statistics, used for 2-pass encoding */ int mv_bits; @@ -806,7 +946,7 @@ typedef struct AVCodecContext { int p_count; int skip_count; int misc_bits; - + /** * number of bits used for the previously encoded frame. * - encoding: set by lavc @@ -824,7 +964,7 @@ typedef struct AVCodecContext { char codec_name[32]; enum CodecType codec_type; /* see CODEC_TYPE_xxx */ enum CodecID codec_id; /* see CODEC_ID_xxx */ - + /** * fourcc (LSB first, so "ABCD" -> ('D'<<24) + ('C'<<16) + ('B'<<8) + 'A'). * this is used to workaround some encoder bugs @@ -832,10 +972,10 @@ typedef struct AVCodecContext { * - decoding: set by user, will be converted to upper case by lavc during init */ unsigned int codec_tag; - + /** * workaround bugs in encoders which sometimes cannot be detected automatically. - * - encoding: unused + * - encoding: set by user * - decoding: set by user */ int workaround_bugs; @@ -853,29 +993,35 @@ typedef struct AVCodecContext { #define FF_BUG_EDGE 1024 #define FF_BUG_HPEL_CHROMA 2048 #define FF_BUG_DC_CLIP 4096 +#define FF_BUG_MS 8192 ///< workaround various bugs in microsofts broken decoders //#define FF_BUG_FAKE_SCALABILITY 16 //autodetection should work 100% - + /** * luma single coeff elimination threshold. * - encoding: set by user * - decoding: unused */ int luma_elim_threshold; - + /** * chroma single coeff elimination threshold. * - encoding: set by user * - decoding: unused */ int chroma_elim_threshold; - + /** * strictly follow the std (MPEG4, ...). * - encoding: set by user * - decoding: unused */ int strict_std_compliance; - +#define FF_COMPLIANCE_VERY_STRICT 2 ///< strictly conform to a older more strict version of the spec or reference software +#define FF_COMPLIANCE_STRICT 1 ///< strictly conform to all the things in the spec no matter what consequences +#define FF_COMPLIANCE_NORMAL 0 +#define FF_COMPLIANCE_INOFFICIAL -1 ///< allow inofficial extensions +#define FF_COMPLIANCE_EXPERIMENTAL -2 ///< allow non standarized experimental things + /** * qscale offset between ip and b frames. * if > 0 then the last p frame quantizer will be used (q= lastp_q*factor+offset) @@ -884,7 +1030,7 @@ typedef struct AVCodecContext { * - decoding: unused */ float b_quant_offset; - + /** * error resilience higher values will detect more errors but may missdetect * some more or less valid parts as errors. @@ -892,11 +1038,11 @@ typedef struct AVCodecContext { * - decoding: set by user */ int error_resilience; -#define FF_ER_CAREFULL 1 +#define FF_ER_CAREFUL 1 #define FF_ER_COMPLIANT 2 #define FF_ER_AGGRESSIVE 3 #define FF_ER_VERY_AGGRESSIVE 4 - + /** * called at the beginning of each frame to get a buffer for it. * if pic.reference is set then the frame will be read later by lavc @@ -906,7 +1052,7 @@ typedef struct AVCodecContext { * - decoding: set by lavc, user can override */ int (*get_buffer)(struct AVCodecContext *c, AVFrame *pic); - + /** * called to release buffers which where allocated with get_buffer. * a released buffer can be reused in get_buffer() @@ -922,27 +1068,31 @@ typedef struct AVCodecContext { * - decoding: set by lavc */ int has_b_frames; - - int block_align; ///< used by some WAV based audio codecs - + + /** + * number of bytes per packet if constant and known or 0 + * used by some WAV based audio codecs + */ + int block_align; + int parse_only; /* - decoding only: if true, only parsing is done (function avcodec_parse_frame()). The frame data is returned. Only MPEG codecs support this now. */ - + /** * 0-> h263 quant 1-> mpeg quant. * - encoding: set by user. * - decoding: unused */ int mpeg_quant; - + /** * pass1 encoding statistics output buffer. * - encoding: set by lavc * - decoding: unused */ char *stats_out; - + /** * pass2 encoding statistics input buffer. * concatenated stuff from stats_out of pass1 should be placed here @@ -950,7 +1100,7 @@ typedef struct AVCodecContext { * - decoding: unused */ char *stats_in; - + /** * ratecontrol qmin qmax limiting method. * 0-> clipping, 1-> use a nice continous function to limit qscale wthin qmin/qmax @@ -961,7 +1111,7 @@ typedef struct AVCodecContext { float rc_qmod_amp; int rc_qmod_freq; - + /** * ratecontrol override, see RcOverride. * - encoding: allocated/set/freed by user. @@ -969,28 +1119,28 @@ typedef struct AVCodecContext { */ RcOverride *rc_override; int rc_override_count; - + /** * rate control equation. * - encoding: set by user * - decoding: unused */ char *rc_eq; - + /** * maximum bitrate. * - encoding: set by user. * - decoding: unused */ int rc_max_rate; - + /** * minimum bitrate. * - encoding: set by user. * - decoding: unused */ int rc_min_rate; - + /** * decoder bitstream buffer size. * - encoding: set by user. @@ -1007,14 +1157,14 @@ typedef struct AVCodecContext { * - decoding: unused */ float i_quant_factor; - + /** * qscale offset between p and i frames. * - encoding: set by user. * - decoding: unused */ float i_quant_offset; - + /** * initial complexity for pass1 ratecontrol. * - encoding: set by user. @@ -1035,28 +1185,28 @@ typedef struct AVCodecContext { #define FF_DCT_MLIB 4 #define FF_DCT_ALTIVEC 5 #define FF_DCT_FAAN 6 - + /** * luminance masking (0-> disabled). * - encoding: set by user * - decoding: unused */ float lumi_masking; - + /** * temporary complexity masking (0-> disabled). * - encoding: set by user * - decoding: unused */ float temporal_cplx_masking; - + /** * spatial complexity masking (0-> disabled). * - encoding: set by user * - decoding: unused */ float spatial_cplx_masking; - + /** * p block masking (0-> disabled). * - encoding: set by user @@ -1070,11 +1220,11 @@ typedef struct AVCodecContext { * - decoding: unused */ float dark_masking; - - + + /* for binary compatibility */ int unused; - + /** * idct algorithm, see FF_IDCT_* below. * - encoding: set by user @@ -1092,6 +1242,13 @@ typedef struct AVCodecContext { #define FF_IDCT_ALTIVEC 8 #define FF_IDCT_SH4 9 #define FF_IDCT_SIMPLEARM 10 +#define FF_IDCT_H264 11 +#define FF_IDCT_VP3 12 +#define FF_IDCT_IPP 13 +#define FF_IDCT_XVIDMMX 14 +#define FF_IDCT_CAVS 15 +#define FF_IDCT_SIMPLEARMV5TE 16 +#define FF_IDCT_SIMPLEARMV6 17 /** * slice count. @@ -1124,15 +1281,19 @@ typedef struct AVCodecContext { * result into program crash) */ unsigned dsp_mask; -#define FF_MM_FORCE 0x80000000 /* force usage of selected flags (OR) */ +#define FF_MM_FORCE 0x80000000 /* force usage of selected flags (OR) */ /* lower 16 bits - CPU features */ #ifdef HAVE_MMX -#define FF_MM_MMX 0x0001 /* standard MMX */ -#define FF_MM_3DNOW 0x0004 /* AMD 3DNOW */ -#define FF_MM_MMXEXT 0x0002 /* SSE integer functions or AMD MMX ext */ -#define FF_MM_SSE 0x0008 /* SSE functions */ -#define FF_MM_SSE2 0x0010 /* PIV SSE2 functions */ +#define FF_MM_MMX 0x0001 /* standard MMX */ +#define FF_MM_3DNOW 0x0004 /* AMD 3DNOW */ +#define FF_MM_MMXEXT 0x0002 /* SSE integer functions or AMD MMX ext */ +#define FF_MM_SSE 0x0008 /* SSE functions */ +#define FF_MM_SSE2 0x0010 /* PIV SSE2 functions */ +#define FF_MM_3DNOWEXT 0x0020 /* AMD 3DNowExt */ #endif /* HAVE_MMX */ +#ifdef HAVE_IWMMXT +#define FF_MM_IWMMXT 0x0100 /* XScale IWMMXT */ +#endif /* HAVE_IWMMXT */ /** * bits per sample/pixel from the demuxer (needed for huffyuv). @@ -1140,7 +1301,7 @@ typedef struct AVCodecContext { * - decoding: set by user */ int bits_per_sample; - + /** * prediction method (needed for huffyuv). * - encoding: set by user @@ -1150,7 +1311,7 @@ typedef struct AVCodecContext { #define FF_PRED_LEFT 0 #define FF_PRED_PLANE 1 #define FF_PRED_MEDIAN 2 - + /** * sample aspect ratio (0 if unknown). * numerator and denominator must be relative prime and smaller then 256 for some video standards @@ -1187,7 +1348,7 @@ typedef struct AVCodecContext { #define FF_DEBUG_BUGS 0x00001000 #define FF_DEBUG_VIS_QP 0x00002000 #define FF_DEBUG_VIS_MB_TYPE 0x00004000 - + /** * debug. * - encoding: set by user. @@ -1204,21 +1365,21 @@ typedef struct AVCodecContext { * - decoding: unused */ uint64_t error[4]; - + /** * minimum MB quantizer. - * - encoding: set by user. + * - encoding: unused * - decoding: unused */ int mb_qmin; /** * maximum MB quantizer. - * - encoding: set by user. + * - encoding: unused * - decoding: unused */ int mb_qmax; - + /** * motion estimation compare function. * - encoding: set by user. @@ -1254,8 +1415,12 @@ typedef struct AVCodecContext { #define FF_CMP_VSAD 8 #define FF_CMP_VSSE 9 #define FF_CMP_NSSE 10 +#define FF_CMP_W53 11 +#define FF_CMP_W97 12 +#define FF_CMP_DCTMAX 13 +#define FF_CMP_DCT264 14 #define FF_CMP_CHROMA 256 - + /** * ME diamond size & shape. * - encoding: set by user. @@ -1313,9 +1478,9 @@ typedef struct AVCodecContext { * DTG active format information (additionnal aspect ratio * information only used in DVB MPEG2 transport streams). 0 if * not set. - * + * * - encoding: unused. - * - decoding: set by decoder + * - decoding: set by decoder */ int dtg_active_format; #define FF_DTG_AFD_SAME 8 @@ -1329,21 +1494,12 @@ typedef struct AVCodecContext { /** * Maximum motion estimation search range in subpel units. * if 0 then no limit - * + * * - encoding: set by user. * - decoding: unused. */ int me_range; - /** - * frame_rate_base. - * for variable fps this is 1 - * - encoding: set by user. - * - decoding: set by lavc. - * @todo move this after frame_rate - */ - - int frame_rate_base; /** * intra quantizer bias. * - encoding: set by user. @@ -1351,7 +1507,7 @@ typedef struct AVCodecContext { */ int intra_quant_bias; #define FF_DEFAULT_QUANT_BIAS 999999 - + /** * inter quantizer bias. * - encoding: set by user. @@ -1366,16 +1522,16 @@ typedef struct AVCodecContext { * table have to be stored somewhere FIXME */ int color_table_id; - + /** - * internal_buffer count. - * Dont touch, used by lavc default_get_buffer() + * internal_buffer count. + * Don't touch, used by lavc default_get_buffer() */ int internal_buffer_count; - + /** - * internal_buffers. - * Dont touch, used by lavc default_get_buffer() + * internal_buffers. + * Don't touch, used by lavc default_get_buffer() */ void *internal_buffer; @@ -1392,7 +1548,7 @@ typedef struct AVCodecContext { * - decoding: unused */ int global_quality; - + #define FF_CODER_TYPE_VLC 0 #define FF_CODER_TYPE_AC 1 /** @@ -1408,7 +1564,15 @@ typedef struct AVCodecContext { * - decoding: unused */ int context_model; - +#if 0 + /** + * + * - encoding: unused + * - decoding: set by user. + */ + uint8_t * (*realloc)(struct AVCodecContext *s, uint8_t *buf, int buf_size); +#endif + /** * slice flags * - encoding: unused @@ -1425,7 +1589,7 @@ typedef struct AVCodecContext { * - decoding: set by decoder */ int xvmc_acceleration; - + /** * macroblock decision mode * - encoding: set by user. @@ -1449,7 +1613,7 @@ typedef struct AVCodecContext { * - decoding: set by lavc */ uint16_t *inter_matrix; - + /** * fourcc from the AVI stream header (LSB first, so "ABCD" -> ('D'<<24) + ('C'<<16) + ('B'<<8) + 'A'). * this is used to workaround some encoder bugs @@ -1493,7 +1657,7 @@ typedef struct AVCodecContext { * - decoding: unused */ int noise_reduction; - + /** * called at the beginning of a frame to get cr buffer for it. * buffer type (size, hints) must be the same. lavc won't check it. @@ -1532,7 +1696,7 @@ typedef struct AVCodecContext { * - decoding: unused. */ int error_rate; - + /** * MP3 antialias algorithm, see FF_AA_* below. * - encoding: unused @@ -1552,14 +1716,14 @@ typedef struct AVCodecContext { /** * Thread count. - * is used to decide how many independant tasks should be passed to execute() + * is used to decide how many independent tasks should be passed to execute() * - encoding: set by user * - decoding: set by user */ int thread_count; - + /** - * the codec may call this to execute several independant things. it will return only after + * the codec may call this to execute several independent things. it will return only after * finishing all tasks, the user may replace this with some multithreaded implementation, the * default implementation will execute the parts serially * @param count the number of things to execute @@ -1567,7 +1731,7 @@ typedef struct AVCodecContext { * - decoding: set by lavc, user can override */ int (*execute)(struct AVCodecContext *c, int (*func)(struct AVCodecContext *c2, void *arg), void **arg2, int *ret, int count); - + /** * Thread opaque. * can be used by execute() to store some per AVCodecContext stuff. @@ -1577,9 +1741,9 @@ typedef struct AVCodecContext { void *thread_opaque; /** - * Motion estimation threshold. under which no motion estimation is + * Motion estimation threshold. under which no motion estimation is * performed, but instead the user specified motion vectors are used - * + * * - encoding: set by user * - decoding: unused */ @@ -1607,64 +1771,321 @@ typedef struct AVCodecContext { int nsse_weight; /** - * number of macroblock rows at the top which are skiped. + * number of macroblock rows at the top which are skipped. * - encoding: unused * - decoding: set by user */ int skip_top; /** - * number of macroblock rows at the bottom which are skiped. + * number of macroblock rows at the bottom which are skipped. * - encoding: unused * - decoding: set by user */ int skip_bottom; -} AVCodecContext; - -/** - * AVOption. - */ -typedef struct AVOption { - /** options' name */ - const char *name; /* if name is NULL, it indicates a link to next */ - /** short English text help or const struct AVOption* subpointer */ - const char *help; // const struct AVOption* sub; - /** offset to context structure where the parsed value should be stored */ - int offset; - /** options' type */ - int type; -#define FF_OPT_TYPE_BOOL 1 ///< boolean - true,1,on (or simply presence) -#define FF_OPT_TYPE_DOUBLE 2 ///< double -#define FF_OPT_TYPE_INT 3 ///< integer -#define FF_OPT_TYPE_STRING 4 ///< string (finished with \0) -#define FF_OPT_TYPE_MASK 0x1f ///< mask for types - upper bits are various flags -//#define FF_OPT_TYPE_EXPERT 0x20 // flag for expert option -#define FF_OPT_TYPE_FLAG (FF_OPT_TYPE_BOOL | 0x40) -#define FF_OPT_TYPE_RCOVERRIDE (FF_OPT_TYPE_STRING | 0x80) - /** min value (min == max -> no limits) */ - double min; - /** maximum value for double/int */ - double max; - /** default boo [0,1]l/double/int value */ - double defval; /** - * default string value (with optional semicolon delimited extra option-list - * i.e. option1;option2;option3 - * defval might select other then first argument as default + * profile + * - encoding: set by user + * - decoding: set by lavc */ - const char *defstr; -#define FF_OPT_MAX_DEPTH 10 -} AVOption; + int profile; +#define FF_PROFILE_UNKNOWN -99 -/** - * Parse option(s) and sets fields in passed structure - * @param strct structure where the parsed results will be written - * @param list list with AVOptions - * @param opts string with options for parsing - */ -int avoption_parse(void* strct, const AVOption* list, const char* opts); + /** + * level + * - encoding: set by user + * - decoding: set by lavc + */ + int level; +#define FF_LEVEL_UNKNOWN -99 + /** + * low resolution decoding. 1-> 1/2 size, 2->1/4 size + * - encoding: unused + * - decoding: set by user + */ + int lowres; + + /** + * bitsream width / height. may be different from width/height if lowres + * or other things are used + * - encoding: unused + * - decoding: set by user before init if known, codec should override / dynamically change if needed + */ + int coded_width, coded_height; + + /** + * frame skip threshold + * - encoding: set by user + * - decoding: unused + */ + int frame_skip_threshold; + + /** + * frame skip factor + * - encoding: set by user + * - decoding: unused + */ + int frame_skip_factor; + + /** + * frame skip exponent + * - encoding: set by user + * - decoding: unused + */ + int frame_skip_exp; + + /** + * frame skip comparission function + * - encoding: set by user. + * - decoding: unused + */ + int frame_skip_cmp; + + /** + * border processing masking. raises the quantizer for mbs on the borders + * of the picture. + * - encoding: set by user + * - decoding: unused + */ + float border_masking; + + /** + * minimum MB lagrange multipler. + * - encoding: set by user. + * - decoding: unused + */ + int mb_lmin; + + /** + * maximum MB lagrange multipler. + * - encoding: set by user. + * - decoding: unused + */ + int mb_lmax; + + /** + * + * - encoding: set by user. + * - decoding: unused + */ + int me_penalty_compensation; + + /** + * + * - encoding: unused + * - decoding: set by user. + */ + enum AVDiscard skip_loop_filter; + + /** + * + * - encoding: unused + * - decoding: set by user. + */ + enum AVDiscard skip_idct; + + /** + * + * - encoding: unused + * - decoding: set by user. + */ + enum AVDiscard skip_frame; + + /** + * + * - encoding: set by user. + * - decoding: unused + */ + int bidir_refine; + + /** + * + * - encoding: set by user. + * - decoding: unused + */ + int brd_scale; + + /** + * constant rate factor - quality-based VBR - values ~correspond to qps + * - encoding: set by user. + * - decoding: unused + */ + float crf; + + /** + * constant quantization parameter rate control method + * - encoding: set by user. + * - decoding: unused + */ + int cqp; + + /** + * minimum gop size + * - encoding: set by user. + * - decoding: unused + */ + int keyint_min; + + /** + * number of reference frames + * - encoding: set by user. + * - decoding: unused + */ + int refs; + + /** + * chroma qp offset from luma + * - encoding: set by user. + * - decoding: unused + */ + int chromaoffset; + + /** + * influences how often b-frames are used + * - encoding: set by user. + * - decoding: unused + */ + int bframebias; + + /** + * trellis RD quantization + * - encoding: set by user. + * - decoding: unused + */ + int trellis; + + /** + * reduce fluctuations in qp (before curve compression) + * - encoding: set by user. + * - decoding: unused + */ + float complexityblur; + + /** + * in-loop deblocking filter alphac0 parameter + * alpha is in the range -6...6 + * - encoding: set by user. + * - decoding: unused + */ + int deblockalpha; + + /** + * in-loop deblocking filter beta parameter + * beta is in the range -6...6 + * - encoding: set by user. + * - decoding: unused + */ + int deblockbeta; + + /** + * macroblock subpartition sizes to consider - p8x8, p4x4, b8x8, i8x8, i4x4 + * - encoding: set by user. + * - decoding: unused + */ + int partitions; +#define X264_PART_I4X4 0x001 /* Analyse i4x4 */ +#define X264_PART_I8X8 0x002 /* Analyse i8x8 (requires 8x8 transform) */ +#define X264_PART_P8X8 0x010 /* Analyse p16x8, p8x16 and p8x8 */ +#define X264_PART_P4X4 0x020 /* Analyse p8x4, p4x8, p4x4 */ +#define X264_PART_B8X8 0x100 /* Analyse b16x8, b8x16 and b8x8 */ + + /** + * direct mv prediction mode - 0 (none), 1 (spatial), 2 (temporal) + * - encoding: set by user. + * - decoding: unused + */ + int directpred; + + /** + * audio cutoff bandwidth (0 means "automatic") . Currently used only by FAAC + * - encoding: set by user. + * - decoding: unused + */ + int cutoff; + + /** + * multiplied by qscale for each frame and added to scene_change_score + * - encoding: set by user. + * - decoding: unused + */ + int scenechange_factor; + + /** + * + * note: value depends upon the compare functin used for fullpel ME + * - encoding: set by user. + * - decoding: unused + */ + int mv0_threshold; + + /** + * adjusts sensitivity of b_frame_strategy 1 + * - encoding: set by user. + * - decoding: unused + */ + int b_sensitivity; + + /** + * - encoding: set by user. + * - decoding: unused + */ + int compression_level; +#define FF_COMPRESSION_DEFAULT -1 + + /** + * sets whether to use LPC mode - used by FLAC encoder + * - encoding: set by user. + * - decoding: unused. + */ + int use_lpc; + + /** + * LPC coefficient precision - used by FLAC encoder + * - encoding: set by user. + * - decoding: unused. + */ + int lpc_coeff_precision; + + /** + * - encoding: set by user. + * - decoding: unused. + */ + int min_prediction_order; + + /** + * - encoding: set by user. + * - decoding: unused. + */ + int max_prediction_order; + + /** + * search method for selecting prediction order + * - encoding: set by user. + * - decoding: unused. + */ + int prediction_order_method; + + /** + * - encoding: set by user. + * - decoding: unused. + */ + int min_partition_order; + + /** + * - encoding: set by user. + * - decoding: unused. + */ + int max_partition_order; + + /** + * GOP timecode frame start number, in non drop frame format + * - encoding: set by user. + * - decoding: unused. + */ + int64_t timecode_frame_start; +} AVCodecContext; /** * AVCodec. @@ -1672,7 +2093,7 @@ int avoption_parse(void* strct, const AVOption* list, const char* opts); typedef struct AVCodec { const char *name; enum CodecType type; - int id; + enum CodecID id; int priv_data_size; int (*init)(AVCodecContext *); int (*encode)(AVCodecContext *, uint8_t *buf, int buf_size, void *data); @@ -1680,7 +2101,6 @@ typedef struct AVCodec { int (*decode)(AVCodecContext *, void *outdata, int *outdata_size, uint8_t *buf, int buf_size); int capabilities; - const AVOption *options; struct AVCodec *next; void (*flush)(AVCodecContext *); const AVRational *supported_framerates; ///array of supported framerates, or NULL if any, array is terminated by {0,0} @@ -1700,6 +2120,7 @@ typedef struct AVPicture { * AVPaletteControl * This structure defines a method for communicating palette changes * between and demuxer and a decoder. + * this is totally broken, palette changes should be sent as AVPackets */ #define AVPALETTE_SIZE 1024 #define AVPALETTE_COUNT 256 @@ -1715,149 +2136,275 @@ typedef struct AVPaletteControl { * data is probably 6 bits in size and needs to be scaled */ unsigned int palette[AVPALETTE_COUNT]; -} AVPaletteControl; +} AVPaletteControl attribute_deprecated; + +typedef struct AVSubtitleRect { + uint16_t x; + uint16_t y; + uint16_t w; + uint16_t h; + uint16_t nb_colors; + int linesize; + uint32_t *rgba_palette; + uint8_t *bitmap; +} AVSubtitleRect; + +typedef struct AVSubtitle { + uint16_t format; /* 0 = graphics */ + uint32_t start_display_time; /* relative to packet pts, in ms */ + uint32_t end_display_time; /* relative to packet pts, in ms */ + uint32_t num_rects; + AVSubtitleRect *rects; +} AVSubtitle; extern AVCodec ac3_encoder; -extern AVCodec mp2_encoder; -extern AVCodec mp3lame_encoder; -extern AVCodec oggvorbis_encoder; +extern AVCodec amr_nb_encoder; +extern AVCodec amr_wb_encoder; +extern AVCodec asv1_encoder; +extern AVCodec asv2_encoder; +extern AVCodec bmp_encoder; +extern AVCodec dvvideo_encoder; extern AVCodec faac_encoder; -extern AVCodec mpeg1video_encoder; -extern AVCodec mpeg2video_encoder; +extern AVCodec ffv1_encoder; +extern AVCodec ffvhuff_encoder; +extern AVCodec flac_encoder; +extern AVCodec flashsv_encoder; +extern AVCodec flv_encoder; +extern AVCodec gif_encoder; +extern AVCodec h261_encoder; extern AVCodec h263_encoder; extern AVCodec h263p_encoder; -extern AVCodec flv_encoder; -extern AVCodec rv10_encoder; -extern AVCodec rv20_encoder; -extern AVCodec dvvideo_encoder; -extern AVCodec mjpeg_encoder; +extern AVCodec h264_encoder; +extern AVCodec huffyuv_encoder; +extern AVCodec jpegls_encoder; +extern AVCodec libgsm_encoder; +extern AVCodec libgsm_ms_encoder; +extern AVCodec libtheora_encoder; extern AVCodec ljpeg_encoder; +extern AVCodec mdec_encoder; +extern AVCodec mjpeg_encoder; +extern AVCodec mp2_encoder; +extern AVCodec mp3lame_encoder; +extern AVCodec mpeg1video_encoder; +extern AVCodec mpeg2video_encoder; extern AVCodec mpeg4_encoder; extern AVCodec msmpeg4v1_encoder; extern AVCodec msmpeg4v2_encoder; extern AVCodec msmpeg4v3_encoder; +extern AVCodec oggvorbis_encoder; +extern AVCodec pam_encoder; +extern AVCodec pbm_encoder; +extern AVCodec pgm_encoder; +extern AVCodec pgmyuv_encoder; +extern AVCodec png_encoder; +extern AVCodec ppm_encoder; +extern AVCodec rv10_encoder; +extern AVCodec rv20_encoder; +extern AVCodec snow_encoder; +extern AVCodec sonic_encoder; +extern AVCodec sonic_ls_encoder; +extern AVCodec svq1_encoder; +extern AVCodec targa_encoder; +extern AVCodec vcr1_encoder; +extern AVCodec vorbis_encoder; +extern AVCodec wmav1_encoder; +extern AVCodec wmav2_encoder; extern AVCodec wmv1_encoder; extern AVCodec wmv2_encoder; -extern AVCodec huffyuv_encoder; -extern AVCodec h264_encoder; -extern AVCodec asv1_encoder; -extern AVCodec asv2_encoder; -extern AVCodec vcr1_encoder; -extern AVCodec ffv1_encoder; -extern AVCodec mdec_encoder; +extern AVCodec x264_encoder; +extern AVCodec xvid_encoder; extern AVCodec zlib_encoder; -extern AVCodec svq1_encoder; +extern AVCodec zmbv_encoder; -extern AVCodec h263_decoder; +extern AVCodec aac_decoder; +extern AVCodec aasc_decoder; +extern AVCodec alac_decoder; +extern AVCodec amr_nb_decoder; +extern AVCodec amr_wb_decoder; +extern AVCodec asv1_decoder; +extern AVCodec asv2_decoder; +extern AVCodec avs_decoder; +extern AVCodec bmp_decoder; +extern AVCodec cavs_decoder; +extern AVCodec cinepak_decoder; +extern AVCodec cljr_decoder; +extern AVCodec cook_decoder; +extern AVCodec cscd_decoder; +extern AVCodec cyuv_decoder; +extern AVCodec dca_decoder; +extern AVCodec dnxhd_decoder; +extern AVCodec dsicinaudio_decoder; +extern AVCodec dsicinvideo_decoder; +extern AVCodec dvvideo_decoder; +extern AVCodec dxa_decoder; +extern AVCodec eightbps_decoder; +extern AVCodec ffv1_decoder; +extern AVCodec ffvhuff_decoder; +extern AVCodec flac_decoder; +extern AVCodec flashsv_decoder; +extern AVCodec flic_decoder; +extern AVCodec flv_decoder; +extern AVCodec fourxm_decoder; +extern AVCodec fraps_decoder; +extern AVCodec gif_decoder; extern AVCodec h261_decoder; +extern AVCodec h263_decoder; +extern AVCodec h263i_decoder; +extern AVCodec h264_decoder; +extern AVCodec huffyuv_decoder; +extern AVCodec idcin_decoder; +extern AVCodec imc_decoder; +extern AVCodec indeo2_decoder; +extern AVCodec indeo3_decoder; +extern AVCodec interplay_dpcm_decoder; +extern AVCodec interplay_video_decoder; +extern AVCodec kmvc_decoder; +extern AVCodec libgsm_decoder; +extern AVCodec libgsm_ms_decoder; +extern AVCodec loco_decoder; +extern AVCodec mace3_decoder; +extern AVCodec mace6_decoder; +extern AVCodec mdec_decoder; +extern AVCodec mjpeg_decoder; +extern AVCodec mjpegb_decoder; +extern AVCodec mmvideo_decoder; +extern AVCodec mp2_decoder; +extern AVCodec mp3_decoder; +extern AVCodec mp3adu_decoder; +extern AVCodec mp3on4_decoder; +extern AVCodec mpc7_decoder; +extern AVCodec mpeg1video_decoder; +extern AVCodec mpeg2video_decoder; extern AVCodec mpeg4_decoder; +extern AVCodec mpeg4aac_decoder; +extern AVCodec mpeg_xvmc_decoder; +extern AVCodec mpegvideo_decoder; extern AVCodec msmpeg4v1_decoder; extern AVCodec msmpeg4v2_decoder; extern AVCodec msmpeg4v3_decoder; -extern AVCodec wmv1_decoder; -extern AVCodec wmv2_decoder; -extern AVCodec mpeg1video_decoder; -extern AVCodec mpeg2video_decoder; -extern AVCodec mpegvideo_decoder; -extern AVCodec mpeg_xvmc_decoder; -extern AVCodec h263i_decoder; -extern AVCodec flv_decoder; -extern AVCodec rv10_decoder; -extern AVCodec rv20_decoder; -extern AVCodec svq1_decoder; -extern AVCodec svq3_decoder; -extern AVCodec dvvideo_decoder; -extern AVCodec wmav1_decoder; -extern AVCodec wmav2_decoder; -extern AVCodec mjpeg_decoder; -extern AVCodec mjpegb_decoder; -extern AVCodec sp5x_decoder; -extern AVCodec mp2_decoder; -extern AVCodec mp3_decoder; -extern AVCodec mace3_decoder; -extern AVCodec mace6_decoder; -extern AVCodec huffyuv_decoder; -extern AVCodec oggvorbis_decoder; -extern AVCodec cyuv_decoder; -extern AVCodec h264_decoder; -extern AVCodec indeo3_decoder; -extern AVCodec vp3_decoder; -extern AVCodec theora_decoder; -extern AVCodec amr_nb_decoder; -extern AVCodec amr_nb_encoder; -extern AVCodec amr_wb_encoder; -extern AVCodec amr_wb_decoder; -extern AVCodec aac_decoder; -extern AVCodec mpeg4aac_decoder; -extern AVCodec asv1_decoder; -extern AVCodec asv2_decoder; -extern AVCodec vcr1_decoder; -extern AVCodec cljr_decoder; -extern AVCodec ffv1_decoder; -extern AVCodec fourxm_decoder; -extern AVCodec mdec_decoder; -extern AVCodec roq_decoder; -extern AVCodec interplay_video_decoder; -extern AVCodec xan_wc3_decoder; -extern AVCodec rpza_decoder; -extern AVCodec cinepak_decoder; extern AVCodec msrle_decoder; extern AVCodec msvideo1_decoder; -extern AVCodec vqa_decoder; -extern AVCodec idcin_decoder; -extern AVCodec eightbps_decoder; -extern AVCodec smc_decoder; -extern AVCodec flic_decoder; -extern AVCodec vmdvideo_decoder; -extern AVCodec vmdaudio_decoder; -extern AVCodec truemotion1_decoder; extern AVCodec mszh_decoder; -extern AVCodec zlib_decoder; +extern AVCodec nuv_decoder; +extern AVCodec oggvorbis_decoder; +extern AVCodec png_decoder; +extern AVCodec qdm2_decoder; +extern AVCodec qdraw_decoder; +extern AVCodec qpeg_decoder; +extern AVCodec qtrle_decoder; extern AVCodec ra_144_decoder; extern AVCodec ra_288_decoder; +extern AVCodec roq_decoder; extern AVCodec roq_dpcm_decoder; -extern AVCodec interplay_dpcm_decoder; +extern AVCodec rpza_decoder; +extern AVCodec rv10_decoder; +extern AVCodec rv20_decoder; +extern AVCodec rv30_decoder; +extern AVCodec rv40_decoder; +extern AVCodec shorten_decoder; +extern AVCodec smackaud_decoder; +extern AVCodec smacker_decoder; +extern AVCodec smc_decoder; +extern AVCodec snow_decoder; +extern AVCodec sol_dpcm_decoder; +extern AVCodec sonic_decoder; +extern AVCodec sp5x_decoder; +extern AVCodec svq1_decoder; +extern AVCodec svq3_decoder; +extern AVCodec targa_decoder; +extern AVCodec theora_decoder; +extern AVCodec tiertexseqvideo_decoder; +extern AVCodec tiff_decoder; +extern AVCodec truemotion1_decoder; +extern AVCodec truemotion2_decoder; +extern AVCodec truespeech_decoder; +extern AVCodec tscc_decoder; +extern AVCodec tta_decoder; +extern AVCodec ulti_decoder; +extern AVCodec vc1_decoder; +extern AVCodec vcr1_decoder; +extern AVCodec vmdaudio_decoder; +extern AVCodec vmdvideo_decoder; +extern AVCodec vmnc_decoder; +extern AVCodec vorbis_decoder; +extern AVCodec vp3_decoder; +extern AVCodec vp5_decoder; +extern AVCodec vp6_decoder; +extern AVCodec vp6f_decoder; +extern AVCodec vqa_decoder; +extern AVCodec wavpack_decoder; +extern AVCodec wmav1_decoder; +extern AVCodec wmav2_decoder; +extern AVCodec wmv1_decoder; +extern AVCodec wmv2_decoder; +extern AVCodec wmv3_decoder; +extern AVCodec wnv1_decoder; +extern AVCodec ws_snd1_decoder; extern AVCodec xan_dpcm_decoder; -extern AVCodec qtrle_decoder; -extern AVCodec flac_decoder; +extern AVCodec xan_wc3_decoder; +extern AVCodec xl_decoder; +extern AVCodec zlib_decoder; +extern AVCodec zmbv_decoder; /* pcm codecs */ #define PCM_CODEC(id, name) \ extern AVCodec name ## _decoder; \ extern AVCodec name ## _encoder -PCM_CODEC(CODEC_ID_PCM_S16LE, pcm_s16le); -PCM_CODEC(CODEC_ID_PCM_S16BE, pcm_s16be); -PCM_CODEC(CODEC_ID_PCM_U16LE, pcm_u16le); -PCM_CODEC(CODEC_ID_PCM_U16BE, pcm_u16be); -PCM_CODEC(CODEC_ID_PCM_S8, pcm_s8); -PCM_CODEC(CODEC_ID_PCM_U8, pcm_u8); -PCM_CODEC(CODEC_ID_PCM_ALAW, pcm_alaw); -PCM_CODEC(CODEC_ID_PCM_MULAW, pcm_mulaw); +PCM_CODEC(CODEC_ID_PCM_ALAW, pcm_alaw); +PCM_CODEC(CODEC_ID_PCM_MULAW, pcm_mulaw); +PCM_CODEC(CODEC_ID_PCM_S8, pcm_s8); +PCM_CODEC(CODEC_ID_PCM_S16BE, pcm_s16be); +PCM_CODEC(CODEC_ID_PCM_S16LE, pcm_s16le); +PCM_CODEC(CODEC_ID_PCM_S24BE, pcm_s24be); +PCM_CODEC(CODEC_ID_PCM_S24DAUD, pcm_s24daud); +PCM_CODEC(CODEC_ID_PCM_S24LE, pcm_s24le); +PCM_CODEC(CODEC_ID_PCM_S32BE, pcm_s32be); +PCM_CODEC(CODEC_ID_PCM_S32LE, pcm_s32le); +PCM_CODEC(CODEC_ID_PCM_U8, pcm_u8); +PCM_CODEC(CODEC_ID_PCM_U16BE, pcm_u16be); +PCM_CODEC(CODEC_ID_PCM_U16LE, pcm_u16le); +PCM_CODEC(CODEC_ID_PCM_U24BE, pcm_u24be); +PCM_CODEC(CODEC_ID_PCM_U24LE, pcm_u24le); +PCM_CODEC(CODEC_ID_PCM_U32BE, pcm_u32be); +PCM_CODEC(CODEC_ID_PCM_U32LE, pcm_u32le); /* adpcm codecs */ -PCM_CODEC(CODEC_ID_ADPCM_IMA_QT, adpcm_ima_qt); -PCM_CODEC(CODEC_ID_ADPCM_IMA_WAV, adpcm_ima_wav); +PCM_CODEC(CODEC_ID_ADPCM_4XM, adpcm_4xm); +PCM_CODEC(CODEC_ID_ADPCM_ADX, adpcm_adx); +PCM_CODEC(CODEC_ID_ADPCM_CT, adpcm_ct); +PCM_CODEC(CODEC_ID_ADPCM_EA, adpcm_ea); +PCM_CODEC(CODEC_ID_ADPCM_G726, adpcm_g726); PCM_CODEC(CODEC_ID_ADPCM_IMA_DK3, adpcm_ima_dk3); PCM_CODEC(CODEC_ID_ADPCM_IMA_DK4, adpcm_ima_dk4); -PCM_CODEC(CODEC_ID_ADPCM_IMA_WS, adpcm_ima_ws); -PCM_CODEC(CODEC_ID_ADPCM_SMJPEG, adpcm_ima_smjpeg); -PCM_CODEC(CODEC_ID_ADPCM_MS, adpcm_ms); -PCM_CODEC(CODEC_ID_ADPCM_4XM, adpcm_4xm); -PCM_CODEC(CODEC_ID_ADPCM_XA, adpcm_xa); -PCM_CODEC(CODEC_ID_ADPCM_ADX, adpcm_adx); -PCM_CODEC(CODEC_ID_ADPCM_EA, adpcm_ea); -PCM_CODEC(CODEC_ID_ADPCM_G726, adpcm_g726); +PCM_CODEC(CODEC_ID_ADPCM_IMA_QT, adpcm_ima_qt); +PCM_CODEC(CODEC_ID_ADPCM_IMA_WAV, adpcm_ima_wav); +PCM_CODEC(CODEC_ID_ADPCM_IMA_WS, adpcm_ima_ws); +PCM_CODEC(CODEC_ID_ADPCM_MS, adpcm_ms); +PCM_CODEC(CODEC_ID_ADPCM_SBPRO_2, adpcm_sbpro_2); +PCM_CODEC(CODEC_ID_ADPCM_SBPRO_3, adpcm_sbpro_3); +PCM_CODEC(CODEC_ID_ADPCM_SBPRO_4, adpcm_sbpro_4); +PCM_CODEC(CODEC_ID_ADPCM_SMJPEG, adpcm_ima_smjpeg); +PCM_CODEC(CODEC_ID_ADPCM_SWF, adpcm_swf); +PCM_CODEC(CODEC_ID_ADPCM_XA, adpcm_xa); +PCM_CODEC(CODEC_ID_ADPCM_YAMAHA, adpcm_yamaha); #undef PCM_CODEC /* dummy raw video codec */ -extern AVCodec rawvideo_encoder; extern AVCodec rawvideo_decoder; +extern AVCodec rawvideo_encoder; /* the following codecs use external GPL libs */ -extern AVCodec ac3_decoder; +extern AVCodec dts_decoder; +extern AVCodec liba52_decoder; + +/* subtitles */ +extern AVCodec dvbsub_decoder; +extern AVCodec dvbsub_encoder; +extern AVCodec dvdsub_decoder; +extern AVCodec dvdsub_encoder; /* resample.c */ @@ -1866,26 +2413,27 @@ struct AVResampleContext; typedef struct ReSampleContext ReSampleContext; -ReSampleContext *audio_resample_init(int output_channels, int input_channels, +ReSampleContext *audio_resample_init(int output_channels, int input_channels, int output_rate, int input_rate); int audio_resample(ReSampleContext *s, short *output, short *input, int nb_samples); void audio_resample_close(ReSampleContext *s); -struct AVResampleContext *av_resample_init(int out_rate, int in_rate); +struct AVResampleContext *av_resample_init(int out_rate, int in_rate, int filter_length, int log2_phase_count, int linear, double cutoff); int av_resample(struct AVResampleContext *c, short *dst, short *src, int *consumed, int src_size, int dst_size, int update_ctx); void av_resample_compensate(struct AVResampleContext *c, int sample_delta, int compensation_distance); void av_resample_close(struct AVResampleContext *c); +#if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0) /* YUV420 format is assumed ! */ -struct ImgReSampleContext; +struct ImgReSampleContext attribute_deprecated; -typedef struct ImgReSampleContext ImgReSampleContext; +typedef struct ImgReSampleContext ImgReSampleContext attribute_deprecated; -ImgReSampleContext *img_resample_init(int output_width, int output_height, +attribute_deprecated ImgReSampleContext *img_resample_init(int output_width, int output_height, int input_width, int input_height); -ImgReSampleContext *img_resample_full_init(int owidth, int oheight, +attribute_deprecated ImgReSampleContext *img_resample_full_init(int owidth, int oheight, int iwidth, int iheight, int topBand, int bottomBand, int leftBand, int rightBand, @@ -1893,10 +2441,12 @@ ImgReSampleContext *img_resample_full_init(int owidth, int oheight, int padleft, int padright); -void img_resample(ImgReSampleContext *s, +attribute_deprecated void img_resample(ImgReSampleContext *s, AVPicture *output, const AVPicture *input); -void img_resample_close(ImgReSampleContext *s); +attribute_deprecated void img_resample_close(ImgReSampleContext *s); + +#endif /** * Allocate memory for a picture. Call avpicture_free to free it. @@ -1905,45 +2455,125 @@ void img_resample_close(ImgReSampleContext *s); * @param pix_fmt the format of the picture. * @param width the width of the picture. * @param height the height of the picture. - * @return 0 if successful, -1 if not. + * @return Zero if successful, a negative value if not. */ int avpicture_alloc(AVPicture *picture, int pix_fmt, int width, int height); -/* Free a picture previously allocated by avpicture_alloc. */ +/** + * Free a picture previously allocated by avpicture_alloc(). + * + * @param picture The AVPicture to be freed. + */ void avpicture_free(AVPicture *picture); +/** + * Fill in AVPicture's fields. + * The fields of the given AVPicture are filled in by using the 'ptr' address + * which points to the image data buffer. Depending on the specified picture + * format, one or multiple image data pointers and line sizes will be set. + * If a planar format is specified, several pointers will be set pointing to + * the different picture planes and the line sizes of the different planes + * will be stored in the lines_sizes array. + * + * @param picture AVPicture who's fields are to be filled in + * @param ptr Buffer which will contain or contains the actual image data + * @param pix_fmt The format in which the picture data is stored + * @param width The width of the image in pixels + * @param height The height of the image in pixels + * @return Size of the image data in bytes. + */ int avpicture_fill(AVPicture *picture, uint8_t *ptr, int pix_fmt, int width, int height); int avpicture_layout(const AVPicture* src, int pix_fmt, int width, int height, unsigned char *dest, int dest_size); + +/** + * Calculate the size in bytes that a picture of the given width and height + * would occupy if stored in the given picture format. + * + * @param pix_fmt The given picture format + * @param width The width of the image + * @param height The height of the image + * @return Image data size in bytes + */ int avpicture_get_size(int pix_fmt, int width, int height); void avcodec_get_chroma_sub_sample(int pix_fmt, int *h_shift, int *v_shift); const char *avcodec_get_pix_fmt_name(int pix_fmt); +void avcodec_set_dimensions(AVCodecContext *s, int width, int height); enum PixelFormat avcodec_get_pix_fmt(const char* name); +unsigned int avcodec_pix_fmt_to_codec_tag(enum PixelFormat p); -#define FF_LOSS_RESOLUTION 0x0001 /* loss due to resolution change */ -#define FF_LOSS_DEPTH 0x0002 /* loss due to color depth change */ -#define FF_LOSS_COLORSPACE 0x0004 /* loss due to color space conversion */ -#define FF_LOSS_ALPHA 0x0008 /* loss of alpha bits */ -#define FF_LOSS_COLORQUANT 0x0010 /* loss due to color quantization */ -#define FF_LOSS_CHROMA 0x0020 /* loss of chroma (e.g. rgb to gray conversion) */ +#define FF_LOSS_RESOLUTION 0x0001 /**< loss due to resolution change */ +#define FF_LOSS_DEPTH 0x0002 /**< loss due to color depth change */ +#define FF_LOSS_COLORSPACE 0x0004 /**< loss due to color space conversion */ +#define FF_LOSS_ALPHA 0x0008 /**< loss of alpha bits */ +#define FF_LOSS_COLORQUANT 0x0010 /**< loss due to color quantization */ +#define FF_LOSS_CHROMA 0x0020 /**< loss of chroma (e.g. RGB to gray conversion) */ +/** + * Computes what kind of losses will occur when converting from one specific + * pixel format to another. + * When converting from one pixel format to another, information loss may occur. + * For example, when converting from RGB24 to GRAY, the color information will + * be lost. Similarly, other losses occur when converting from some formats to + * other formats. These losses can involve loss of chroma, but also loss of + * resolution, loss of color depth, loss due to the color space conversion, loss + * of the alpha bits or loss due to color quantization. + * avcodec_get_fix_fmt_loss() informs you on the various types of losses which + * will occur when converting from one pixel format to another. + * + * @param[in] dst_pix_fmt Destination pixel format. + * @param[in] src_pix_fmt Source pixel format. + * @param[in] has_alpha Whether the source pixel format alpha channel is used. + * @return Combination of flags informing you what kind of losses will occur. + */ int avcodec_get_pix_fmt_loss(int dst_pix_fmt, int src_pix_fmt, int has_alpha); + +/** + * Finds the best pixel format to convert to given a certain source pixel + * format. When converting from one pixel format to another, information loss + * may occur. For example, when converting from RGB24 to GRAY, the color + * information will be lost. Similarly, other losses occur when converting from + * some formats to other formats. avcodec_find_best_pix_fmt() searches which of + * the given pixel formats should be used to undergo the least amount of losses. + * The pixel formats from which it choses one, are determined by the + * \p pix_fmt_mask parameter. + * + * @code + * src_pix_fmt = PIX_FMT_YUV420P; + * pix_fmt_mask = (1 << PIX_FMT_YUV422P) || (1 << PIX_FMT_RGB24); + * dst_pix_fmt = avcodec_find_best_pix_fmt(pix_fmt_mask, src_pix_fmt, alpha, &loss); + * @endcode + * + * @param[in] pix_fmt_mask Bitmask determining which pixel format to choose from. + * @param[in] src_pix_fmt Source pixel format. + * @param[in] has_alpha Whether the source pixel format alpha channel is used. + * @param[out] loss_ptr Combination of flags informing you what kind of losses will occur. + * @return The best pixel format to convert to or -1 if none was found. + */ int avcodec_find_best_pix_fmt(int pix_fmt_mask, int src_pix_fmt, int has_alpha, int *loss_ptr); #define FF_ALPHA_TRANSP 0x0001 /* image has some totally transparent pixels */ #define FF_ALPHA_SEMI_TRANSP 0x0002 /* image has some transparent pixels */ -int img_get_alpha_info(const AVPicture *src, - int pix_fmt, int width, int height); +/** + * Tell if an image really has transparent alpha values. + * @return ored mask of FF_ALPHA_xxx constants + */ +int img_get_alpha_info(const AVPicture *src, + int pix_fmt, int width, int height); + +#if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0) /* convert among pixel formats */ -int img_convert(AVPicture *dst, int dst_pix_fmt, - const AVPicture *src, int pix_fmt, +attribute_deprecated int img_convert(AVPicture *dst, int dst_pix_fmt, + const AVPicture *src, int pix_fmt, int width, int height); +#endif /* deinterlace a picture */ +/* deinterlace - if not supported return -1 */ int avpicture_deinterlace(AVPicture *dst, const AVPicture *src, int pix_fmt, int width, int height); @@ -1955,24 +2585,104 @@ extern AVCodec *first_avcodec; unsigned avcodec_version(void); /* returns LIBAVCODEC_BUILD constant */ unsigned avcodec_build(void); + +/** + * Initializes libavcodec. + * + * @warning This function \e must be called before any other libavcodec + * function. + */ void avcodec_init(void); void register_avcodec(AVCodec *format); + +/** + * Finds an encoder with a matching codec ID. + * + * @param id CodecID of the requested encoder. + * @return An encoder if one was found, NULL otherwise. + */ AVCodec *avcodec_find_encoder(enum CodecID id); + +/** + * Finds an encoder with the specified name. + * + * @param name Name of the requested encoder. + * @return An encoder if one was found, NULL otherwise. + */ AVCodec *avcodec_find_encoder_by_name(const char *name); + +/** + * Finds a decoder with a matching codec ID. + * + * @param id CodecID of the requested decoder. + * @return A decoder if one was found, NULL otherwise. + */ AVCodec *avcodec_find_decoder(enum CodecID id); + +/** + * Finds an decoder with the specified name. + * + * @param name Name of the requested decoder. + * @return A decoder if one was found, NULL otherwise. + */ AVCodec *avcodec_find_decoder_by_name(const char *name); void avcodec_string(char *buf, int buf_size, AVCodecContext *enc, int encode); +/** + * Sets the fields of the given AVCodecContext to default values. + * + * @param s The AVCodecContext of which the fields should be set to default values. + */ void avcodec_get_context_defaults(AVCodecContext *s); + +/** THIS FUNCTION IS NOT YET PART OF THE PUBLIC API! + * we WILL change its arguments and name a few times! */ +void avcodec_get_context_defaults2(AVCodecContext *s, enum CodecType); + +/** + * Allocates an AVCodecContext and sets its fields to default values. The + * resulting struct can be deallocated by simply calling av_free(). + * + * @return An AVCodecContext filled with default values or NULL on failure. + * @see avcodec_get_context_defaults + */ AVCodecContext *avcodec_alloc_context(void); + +/** THIS FUNCTION IS NOT YET PART OF THE PUBLIC API! + * we WILL change its arguments and name a few times! */ +AVCodecContext *avcodec_alloc_context2(enum CodecType); + +/** + * Sets the fields of the given AVFrame to default values. + * + * @param pic The AVFrame of which the fields should be set to default values. + */ void avcodec_get_frame_defaults(AVFrame *pic); + +/** + * Allocates an AVFrame and sets its fields to default values. The resulting + * struct can be deallocated by simply calling av_free(). + * + * @return An AVFrame filled with default values or NULL on failure. + * @see avcodec_get_frame_defaults + */ AVFrame *avcodec_alloc_frame(void); int avcodec_default_get_buffer(AVCodecContext *s, AVFrame *pic); void avcodec_default_release_buffer(AVCodecContext *s, AVFrame *pic); int avcodec_default_reget_buffer(AVCodecContext *s, AVFrame *pic); void avcodec_align_dimensions(AVCodecContext *s, int *width, int *height); + +/** + * Checks if the given dimension of a picture is valid, meaning that all + * bytes of the picture can be addressed with a signed int. + * + * @param[in] w Width of the picture. + * @param[in] h Height of the picture. + * @return Zero if valid, a negative value if invalid. + */ +int avcodec_check_dimensions(void *av_log_ctx, unsigned int w, unsigned int h); enum PixelFormat avcodec_default_get_format(struct AVCodecContext *s, const enum PixelFormat * fmt); int avcodec_thread_init(AVCodecContext *s, int thread_count); @@ -1982,135 +2692,199 @@ int avcodec_default_execute(AVCodecContext *c, int (*func)(AVCodecContext *c2, v //FIXME func typedef /** - * opens / inits the AVCodecContext. - * not thread save! + * Initializes the AVCodecContext to use the given AVCodec. Prior to using this + * function the context has to be allocated. + * + * The functions avcodec_find_decoder_by_name(), avcodec_find_encoder_by_name(), + * avcodec_find_decoder() and avcodec_find_encoder() provide an easy way for + * retrieving a codec. + * + * @warning This function is not thread save! + * + * @code + * codec = avcodec_find_decoder(CODEC_ID_H264); + * if (!codec) + * exit(1); + * + * context = avcodec_alloc_context(); + * + * if (avcodec_open(context, codec) < 0) + * exit(1); + * @endcode + * + * @param avctx The context which will be setup to use the given codec. + * @param codec The codec to use within the context. + * @return Zero on success, a negative value on error. + * @see avcodec_alloc_context, avcodec_find_decoder, avcodec_find_encoder */ int avcodec_open(AVCodecContext *avctx, AVCodec *codec); -int avcodec_decode_audio(AVCodecContext *avctx, int16_t *samples, +/** + * @deprecated Use avcodec_decode_audio2() instead. + */ +attribute_deprecated int avcodec_decode_audio(AVCodecContext *avctx, int16_t *samples, int *frame_size_ptr, uint8_t *buf, int buf_size); -int avcodec_decode_video(AVCodecContext *avctx, AVFrame *picture, + +/** + * Decodes an audio frame from \p buf into \p samples. + * The avcodec_decode_audio2() function decodes a frame of audio from the input + * buffer \p buf of size \p buf_size. To decode it, it makes use of the + * audiocodec which was coupled with \p avctx using avcodec_open(). The + * resulting decoded frame is stored in output buffer \p samples. If no frame + * could be decompressed, \p frame_size_ptr is zero. Otherwise, it is the + * decompressed frame size in \e bytes. + * + * @warning You \e must set \p frame_size_ptr to the allocated size of the + * output buffer before calling avcodec_decode_audio2(). + * + * @warning The input buffer must be \c FF_INPUT_BUFFER_PADDING_SIZE larger than + * the actual read bytes because some optimized bitstream readers read 32 or 64 + * bits at once and could read over the end. + * + * @warning The end of the input buffer \p buf should be set to 0 to ensure that + * no overreading happens for damaged MPEG streams. + * + * @note You might have to align the input buffer \p buf and output buffer \p + * samples. The alignment requirements depend on the CPU: on some CPUs it isn't + * necessary at all, on others it won't work at all if not aligned and on others + * it will work but it will have an impact on performance. In practice, the + * bitstream should have 4 byte alignment at minimum and all sample data should + * be 16 byte aligned unless the CPU doesn't need it (AltiVec and SSE do). If + * the linesize is not a multiple of 16 then there's no sense in aligning the + * start of the buffer to 16. + * + * @param avctx The codec context. + * @param[out] samples The output buffer. + * @param[in,out] frame_size_ptr The output buffer size in bytes. + * @param[in] buf The input buffer. + * @param[in] buf_size The input buffer size in bytes. + * @return On error a negative value is returned, otherwise the number of bytes + * used or zero if no frame could be decompressed. + */ +int avcodec_decode_audio2(AVCodecContext *avctx, int16_t *samples, + int *frame_size_ptr, + uint8_t *buf, int buf_size); + +/** + * Decodes a video frame from \p buf into \p picture. + * The avcodec_decode_video() function decodes a frame of video from the input + * buffer \p buf of size \p buf_size. To decode it, it makes use of the + * videocodec which was coupled with \p avctx using avcodec_open(). The + * resulting decoded frame is stored in \p picture. + * + * @warning The input buffer must be \c FF_INPUT_BUFFER_PADDING_SIZE larger than + * the actual read bytes because some optimized bitstream readers read 32 or 64 + * bits at once and could read over the end. + * + * @warning The end of the input buffer \p buf should be set to 0 to ensure that + * no overreading happens for damaged MPEG streams. + * + * @note You might have to align the input buffer \p buf and output buffer \p + * samples. The alignment requirements depend on the CPU: on some CPUs it isn't + * necessary at all, on others it won't work at all if not aligned and on others + * it will work but it will have an impact on performance. In practice, the + * bitstream should have 4 byte alignment at minimum and all sample data should + * be 16 byte aligned unless the CPU doesn't need it (AltiVec and SSE do). If + * the linesize is not a multiple of 16 then there's no sense in aligning the + * start of the buffer to 16. + * + * @param avctx The codec context. + * @param[out] picture The AVFrame in which the decoded video frame will be stored. + * @param[in] buf The input buffer. + * @param[in] buf_size The size of the input buffer in bytes. + * @param[in,out] got_picture_ptr Zero if no frame could be decompressed, otherwise, it is non zero. + * @return On error a negative value is returned, otherwise the number of bytes + * used or zero if no frame could be decompressed. + */ +int avcodec_decode_video(AVCodecContext *avctx, AVFrame *picture, int *got_picture_ptr, uint8_t *buf, int buf_size); -int avcodec_parse_frame(AVCodecContext *avctx, uint8_t **pdata, + +/* decode a subtitle message. return -1 if error, otherwise return the + *number of bytes used. If no subtitle could be decompressed, + *got_sub_ptr is zero. Otherwise, the subtitle is stored in *sub. */ +int avcodec_decode_subtitle(AVCodecContext *avctx, AVSubtitle *sub, + int *got_sub_ptr, + const uint8_t *buf, int buf_size); +int avcodec_parse_frame(AVCodecContext *avctx, uint8_t **pdata, int *data_size_ptr, uint8_t *buf, int buf_size); -int avcodec_encode_audio(AVCodecContext *avctx, uint8_t *buf, int buf_size, + +/** + * Encodes an audio frame from \p samples into \p buf. + * The avcodec_encode_audio() function encodes a frame of audio from the input + * buffer \p samples. To encode it, it makes use of the audiocodec which was + * coupled with \p avctx using avcodec_open(). The resulting encoded frame is + * stored in output buffer \p buf. + * + * @note The output buffer should be at least \c FF_MIN_BUFFER_SIZE bytes large. + * + * @param avctx The codec context. + * @param[out] buf The output buffer. + * @param[in] buf_size The output buffer size. + * @param[in] samples The input buffer containing the samples. + * @return On error a negative value is returned, on succes zero or the number + * of bytes used from the input buffer. + */ +int avcodec_encode_audio(AVCodecContext *avctx, uint8_t *buf, int buf_size, const short *samples); -int avcodec_encode_video(AVCodecContext *avctx, uint8_t *buf, int buf_size, + +/** + * Encodes a video frame from \p pict into \p buf. + * The avcodec_encode_video() function encodes a frame of video from the input + * \p pict. To encode it, it makes use of the videocodec which was coupled with + * \p avctx using avcodec_open(). The resulting encoded bytes representing the + * frame are stored in the output buffer \p buf. The input picture should be + * stored using a specific format, namely \c avctx.pix_fmt. + * + * @param avctx The codec context. + * @param[out] buf The output buffer for the bitstream of encoded frame. + * @param[in] buf_size The size of the outputbuffer in bytes. + * @param[in] pict The input picture to encode. + * @return On error a negative value is returned, on success zero or the number + * of bytes used from the input buffer. + */ +int avcodec_encode_video(AVCodecContext *avctx, uint8_t *buf, int buf_size, const AVFrame *pict); +int avcodec_encode_subtitle(AVCodecContext *avctx, uint8_t *buf, int buf_size, + const AVSubtitle *sub); int avcodec_close(AVCodecContext *avctx); void avcodec_register_all(void); +/** + * Flush buffers, should be called when seeking or when switching to a different stream. + */ void avcodec_flush_buffers(AVCodecContext *avctx); -/* misc usefull functions */ +void avcodec_default_free_buffers(AVCodecContext *s); + +/* misc useful functions */ /** - * returns a single letter to describe the picture type + * Returns a single letter to describe the given picture type \p pict_type. + * + * @param[in] pict_type The picture type. + * @return A single character representing the picture type. */ char av_get_pict_type_char(int pict_type); /** - * reduce a fraction. - * this is usefull for framerate calculations - * @param max the maximum allowed for dst_nom & dst_den - * @return 1 if exact, 0 otherwise - */ -int av_reduce(int *dst_nom, int *dst_den, int64_t nom, int64_t den, int64_t max); - -/** - * rescale a 64bit integer. - * a simple a*b/c isnt possible as it can overflow - */ -int64_t av_rescale(int64_t a, int64_t b, int64_t c); - - -/** - * Interface for 0.5.0 version + * Returns codec bits per sample. * - * do not even think about it's usage for this moment + * @param[in] codec_id The codec. + * @return Number of bits per sample or zero if unknown for the given codec. */ - -typedef struct { - /// compressed size used from given memory buffer - int size; - /// I/P/B frame type - int frame_type; -} avc_enc_result_t; - -/** - * Commands - * order can't be changed - once it was defined - */ -typedef enum { - // general commands - AVC_OPEN_BY_NAME = 0xACA000, - AVC_OPEN_BY_CODEC_ID, - AVC_OPEN_BY_FOURCC, - AVC_CLOSE, - - AVC_FLUSH, - // pin - struct { uint8_t* src, uint_t src_size } - // pout - struct { AVPicture* img, consumed_bytes, - AVC_DECODE, - // pin - struct { AVPicture* img, uint8_t* dest, uint_t dest_size } - // pout - uint_t used_from_dest_size - AVC_ENCODE, - - // query/get video commands - AVC_GET_VERSION = 0xACB000, - AVC_GET_WIDTH, - AVC_GET_HEIGHT, - AVC_GET_DELAY, - AVC_GET_QUANT_TABLE, - // ... - - // query/get audio commands - AVC_GET_FRAME_SIZE = 0xABC000, - - // maybe define some simple structure which - // might be passed to the user - but they can't - // contain any codec specific parts and these - // calls are usualy necessary only few times - - // set video commands - AVC_SET_WIDTH = 0xACD000, - AVC_SET_HEIGHT, - - // set video encoding commands - AVC_SET_FRAME_RATE = 0xACD800, - AVC_SET_QUALITY, - AVC_SET_HURRY_UP, - - // set audio commands - AVC_SET_SAMPLE_RATE = 0xACE000, - AVC_SET_CHANNELS, - -} avc_cmd_t; - -/** - * \param handle allocated private structure by libavcodec - * for initialization pass NULL - will be returned pout - * user is supposed to know nothing about its structure - * \param cmd type of operation to be performed - * \param pint input parameter - * \param pout output parameter - * - * \returns command status - eventually for query command it might return - * integer resulting value - */ -int avcodec(void* handle, avc_cmd_t cmd, void* pin, void* pout); +int av_get_bits_per_sample(enum CodecID codec_id); /* frame parsing */ typedef struct AVCodecParserContext { void *priv_data; struct AVCodecParser *parser; int64_t frame_offset; /* offset of the current frame */ - int64_t cur_offset; /* current offset + int64_t cur_offset; /* current offset (incremented by each av_parser_parse()) */ int64_t last_frame_offset; /* offset of the last frame */ /* video info */ @@ -2129,17 +2903,21 @@ typedef struct AVCodecParserContext { int64_t cur_frame_offset[AV_PARSER_PTS_NB]; int64_t cur_frame_pts[AV_PARSER_PTS_NB]; int64_t cur_frame_dts[AV_PARSER_PTS_NB]; + + int flags; +#define PARSER_FLAG_COMPLETE_FRAMES 0x0001 } AVCodecParserContext; typedef struct AVCodecParser { - int codec_ids[3]; /* several codec IDs are permitted */ + int codec_ids[5]; /* several codec IDs are permitted */ int priv_data_size; int (*parser_init)(AVCodecParserContext *s); - int (*parser_parse)(AVCodecParserContext *s, + int (*parser_parse)(AVCodecParserContext *s, AVCodecContext *avctx, - uint8_t **poutbuf, int *poutbuf_size, + uint8_t **poutbuf, int *poutbuf_size, const uint8_t *buf, int buf_size); void (*parser_close)(AVCodecParserContext *s); + int (*split)(AVCodecContext *avctx, const uint8_t *buf, int buf_size); struct AVCodecParser *next; } AVCodecParser; @@ -2147,73 +2925,146 @@ extern AVCodecParser *av_first_parser; void av_register_codec_parser(AVCodecParser *parser); AVCodecParserContext *av_parser_init(int codec_id); -int av_parser_parse(AVCodecParserContext *s, +int av_parser_parse(AVCodecParserContext *s, AVCodecContext *avctx, - uint8_t **poutbuf, int *poutbuf_size, + uint8_t **poutbuf, int *poutbuf_size, const uint8_t *buf, int buf_size, int64_t pts, int64_t dts); +int av_parser_change(AVCodecParserContext *s, + AVCodecContext *avctx, + uint8_t **poutbuf, int *poutbuf_size, + const uint8_t *buf, int buf_size, int keyframe); void av_parser_close(AVCodecParserContext *s); -extern AVCodecParser mpegvideo_parser; -extern AVCodecParser mpeg4video_parser; +extern AVCodecParser aac_parser; +extern AVCodecParser ac3_parser; +extern AVCodecParser cavsvideo_parser; +extern AVCodecParser dca_parser; +extern AVCodecParser dvbsub_parser; +extern AVCodecParser dvdsub_parser; extern AVCodecParser h261_parser; extern AVCodecParser h263_parser; extern AVCodecParser h264_parser; +extern AVCodecParser mjpeg_parser; +extern AVCodecParser mpeg4video_parser; extern AVCodecParser mpegaudio_parser; -extern AVCodecParser ac3_parser; +extern AVCodecParser mpegvideo_parser; +extern AVCodecParser pnm_parser; +extern AVCodecParser vc1_parser; + + +typedef struct AVBitStreamFilterContext { + void *priv_data; + struct AVBitStreamFilter *filter; + AVCodecParserContext *parser; + struct AVBitStreamFilterContext *next; +} AVBitStreamFilterContext; + + +typedef struct AVBitStreamFilter { + const char *name; + int priv_data_size; + int (*filter)(AVBitStreamFilterContext *bsfc, + AVCodecContext *avctx, const char *args, + uint8_t **poutbuf, int *poutbuf_size, + const uint8_t *buf, int buf_size, int keyframe); + struct AVBitStreamFilter *next; +} AVBitStreamFilter; + +extern AVBitStreamFilter *av_first_bitstream_filter; + +void av_register_bitstream_filter(AVBitStreamFilter *bsf); +AVBitStreamFilterContext *av_bitstream_filter_init(const char *name); +int av_bitstream_filter_filter(AVBitStreamFilterContext *bsfc, + AVCodecContext *avctx, const char *args, + uint8_t **poutbuf, int *poutbuf_size, + const uint8_t *buf, int buf_size, int keyframe); +void av_bitstream_filter_close(AVBitStreamFilterContext *bsf); + +extern AVBitStreamFilter dump_extradata_bsf; +extern AVBitStreamFilter remove_extradata_bsf; +extern AVBitStreamFilter noise_bsf; +extern AVBitStreamFilter mp3_header_compress_bsf; +extern AVBitStreamFilter mp3_header_decompress_bsf; +extern AVBitStreamFilter mjpega_dump_header_bsf; +extern AVBitStreamFilter imx_dump_header_bsf; + /* memory */ -void *av_malloc(unsigned int size); -void *av_mallocz(unsigned int size); -void *av_realloc(void *ptr, unsigned int size); -void av_free(void *ptr); -char *av_strdup(const char *s); -void av_freep(void *ptr); + +/** + * Reallocates the given block if it is not large enough, otherwise it + * does nothing. + * + * @see av_realloc + */ void *av_fast_realloc(void *ptr, unsigned int *size, unsigned int min_size); + /* for static data only */ -/* call av_free_static to release all staticaly allocated tables */ -void av_free_static(void); -void *av_mallocz_static(unsigned int size); -/* add by bero : in adx.c */ -int is_adx(const unsigned char *buf,size_t bufsize); +/** + * Frees all static arrays and reset their pointers to 0. + * Call this function to release all statically allocated tables. + */ +attribute_deprecated void av_free_static(void); -void img_copy(AVPicture *dst, const AVPicture *src, +/** + * Allocation of static arrays. + * + * @warning Do not use for normal allocation. + * + * @param[in] size The amount of memory you need in bytes. + * @return Block of memory of the requested size. + */ +attribute_deprecated void *av_mallocz_static(unsigned int size); + +/** + * Copy image 'src' to 'dst'. + */ +void av_picture_copy(AVPicture *dst, const AVPicture *src, int pix_fmt, int width, int height); -/* av_log API */ +/** + * Crop image top and left side + */ +int av_picture_crop(AVPicture *dst, const AVPicture *src, + int pix_fmt, int top_band, int left_band); -#include +/** + * Pad image + */ +int av_picture_pad(AVPicture *dst, const AVPicture *src, int height, int width, int pix_fmt, + int padtop, int padbottom, int padleft, int padright, int *color); -#define AV_LOG_QUIET -1 -#define AV_LOG_ERROR 0 -#define AV_LOG_INFO 1 -#define AV_LOG_DEBUG 2 +#if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0) +attribute_deprecated void img_copy(AVPicture *dst, const AVPicture *src, + int pix_fmt, int width, int height); -#ifdef __GNUC__ -extern void av_log(void*, int level, const char *fmt, ...) __attribute__ ((__format__ (__printf__, 3, 4))); +attribute_deprecated int img_crop(AVPicture *dst, const AVPicture *src, + int pix_fmt, int top_band, int left_band); + +attribute_deprecated int img_pad(AVPicture *dst, const AVPicture *src, int height, int width, int pix_fmt, + int padtop, int padbottom, int padleft, int padright, int *color); +#endif + +extern unsigned int av_xiphlacing(unsigned char *s, unsigned int v); + +/* error handling */ +#if EINVAL > 0 +#define AVERROR(e) (-(e)) /**< returns a negative error code from a POSIX error code, to return from library functions. */ +#define AVUNERROR(e) (-(e)) /**< returns a POSIX error code from a library function error return value. */ #else -extern void av_log(void*, int level, const char *fmt, ...); -#endif - -extern void av_vlog(void*, int level, const char *fmt, va_list); -extern int av_log_get_level(void); -extern void av_log_set_level(int); -extern void av_log_set_callback(void (*)(void*, int, const char*, va_list)); - -/* endian macros */ -#if !defined(BE_16) || !defined(BE_32) || !defined(LE_16) || !defined(LE_32) -#define BE_16(x) ((((uint8_t*)(x))[0] << 8) | ((uint8_t*)(x))[1]) -#define BE_32(x) ((((uint8_t*)(x))[0] << 24) | \ - (((uint8_t*)(x))[1] << 16) | \ - (((uint8_t*)(x))[2] << 8) | \ - ((uint8_t*)(x))[3]) -#define LE_16(x) ((((uint8_t*)(x))[1] << 8) | ((uint8_t*)(x))[0]) -#define LE_32(x) ((((uint8_t*)(x))[3] << 24) | \ - (((uint8_t*)(x))[2] << 16) | \ - (((uint8_t*)(x))[1] << 8) | \ - ((uint8_t*)(x))[0]) +/* some platforms have E* and errno already negated. */ +#define AVERROR(e) (e) +#define AVUNERROR(e) (e) #endif +#define AVERROR_UNKNOWN AVERROR(EINVAL) /**< unknown error */ +#define AVERROR_IO AVERROR(EIO) /**< i/o error */ +#define AVERROR_NUMEXPECTED AVERROR(EDOM) /**< number syntax expected in filename */ +#define AVERROR_INVALIDDATA AVERROR(EINVAL) /**< invalid data found */ +#define AVERROR_NOMEM AVERROR(ENOMEM) /**< not enough memory */ +#define AVERROR_NOFMT AVERROR(EILSEQ) /**< unknown format */ +#define AVERROR_NOTSUPP AVERROR(ENOSYS) /**< operation not supported */ #ifdef __cplusplus } diff --git a/stepmania/src/ffmpeg/include/ffmpeg/avformat.h b/stepmania/src/ffmpeg/include/ffmpeg/avformat.h index 578028606c..eb8c4e1534 100644 --- a/stepmania/src/ffmpeg/include/ffmpeg/avformat.h +++ b/stepmania/src/ffmpeg/include/ffmpeg/avformat.h @@ -1,3 +1,23 @@ +/* + * copyright (c) 2001 Fabrice Bellard + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + #ifndef AVFORMAT_H #define AVFORMAT_H @@ -5,11 +25,11 @@ extern "C" { #endif -#define LIBAVFORMAT_BUILD 4616 +#define LIBAVFORMAT_VERSION_INT ((51<<16)+(11<<8)+0) +#define LIBAVFORMAT_VERSION 51.11.0 +#define LIBAVFORMAT_BUILD LIBAVFORMAT_VERSION_INT -#define LIBAVFORMAT_VERSION_INT FFMPEG_VERSION_INT -#define LIBAVFORMAT_VERSION FFMPEG_VERSION -#define LIBAVFORMAT_IDENT "FFmpeg" FFMPEG_VERSION "b" AV_STRINGIFY(LIBAVFORMAT_BUILD) +#define LIBAVFORMAT_IDENT "Lavf" AV_STRINGIFY(LIBAVFORMAT_VERSION) #include #include /* FILE */ @@ -19,40 +39,61 @@ extern "C" { /* packet functions */ -#ifndef MAXINT64 -#define MAXINT64 int64_t_C(0x7fffffffffffffff) -#endif - -#ifndef MININT64 -#define MININT64 int64_t_C(0x8000000000000000) -#endif - typedef struct AVPacket { - int64_t pts; /* presentation time stamp in AV_TIME_BASE units (or - pts_den units in muxers or demuxers) */ - int64_t dts; /* decompression time stamp in AV_TIME_BASE units (or - pts_den units in muxers or demuxers) */ + int64_t pts; ///< presentation time stamp in time_base units + int64_t dts; ///< decompression time stamp in time_base units uint8_t *data; int size; int stream_index; int flags; - int duration; /* presentation duration (0 if not available) */ + int duration; ///< presentation duration in time_base units (0 if not available) void (*destruct)(struct AVPacket *); void *priv; -} AVPacket; + int64_t pos; ///< byte position in stream, -1 if unknown +} AVPacket; #define PKT_FLAG_KEY 0x0001 +void av_destruct_packet_nofree(AVPacket *pkt); + +/** + * Default packet destructor. + */ +void av_destruct_packet(AVPacket *pkt); + /* initialize optional fields of a packet */ static inline void av_init_packet(AVPacket *pkt) { pkt->pts = AV_NOPTS_VALUE; pkt->dts = AV_NOPTS_VALUE; + pkt->pos = -1; pkt->duration = 0; pkt->flags = 0; pkt->stream_index = 0; + pkt->destruct= av_destruct_packet_nofree; } +/** + * Allocate the payload of a packet and intialized its fields to default values. + * + * @param pkt packet + * @param size wanted payload size + * @return 0 if OK. AVERROR_xxx otherwise. + */ int av_new_packet(AVPacket *pkt, int size); + +/** + * Allocate and read the payload of a packet and intialized its fields to default values. + * + * @param pkt packet + * @param size wanted payload size + * @return >0 (read size) if OK. AVERROR_xxx otherwise. + */ +int av_get_packet(ByteIOContext *s, AVPacket *pkt, int size); + +/** + * @warning This is a hack - the packet memory allocation stuff is broken. The + * packet is allocated if it was not really allocated + */ int av_dup_packet(AVPacket *pkt); /** @@ -63,7 +104,7 @@ int av_dup_packet(AVPacket *pkt); static inline void av_free_packet(AVPacket *pkt) { if (pkt && pkt->destruct) { - pkt->destruct(pkt); + pkt->destruct(pkt); } } @@ -73,70 +114,83 @@ static inline void av_free_packet(AVPacket *pkt) /* the exact value of the fractional number is: 'val + num / den'. num is assumed to be such as 0 <= num < den */ typedef struct AVFrac { - int64_t val, num, den; -} AVFrac; - -void av_frac_init(AVFrac *f, int64_t val, int64_t num, int64_t den); -void av_frac_add(AVFrac *f, int64_t incr); -void av_frac_set(AVFrac *f, int64_t val); + int64_t val, num, den; +} AVFrac attribute_deprecated; /*************************************************/ /* input/output formats */ +struct AVCodecTag; + struct AVFormatContext; -/* this structure contains the data a format has to probe a file */ +/** this structure contains the data a format has to probe a file */ typedef struct AVProbeData { const char *filename; unsigned char *buf; int buf_size; } AVProbeData; -#define AVPROBE_SCORE_MAX 100 +#define AVPROBE_SCORE_MAX 100 ///< max score, half of that is used for file extension based detection typedef struct AVFormatParameters { - int frame_rate; - int frame_rate_base; + AVRational time_base; int sample_rate; int channels; int width; int height; enum PixelFormat pix_fmt; - struct AVImageFormat *image_format; - int channel; /* used to select dv channel */ - const char *device; /* video4linux, audio or DV device */ - const char *standard; /* tv standard, NTSC, PAL, SECAM */ - int mpeg2ts_raw:1; /* force raw MPEG2 transport stream output, if possible */ - int mpeg2ts_compute_pcr:1; /* compute exact PCR for each transport + int channel; /**< used to select dv channel */ +#if LIBAVFORMAT_VERSION_INT < (52<<16) + const char *device; /**< video, audio or DV device */ +#endif + const char *standard; /**< tv standard, NTSC, PAL, SECAM */ + int mpeg2ts_raw:1; /**< force raw MPEG2 transport stream output, if possible */ + int mpeg2ts_compute_pcr:1; /**< compute exact PCR for each transport stream packet (only meaningful if mpeg2ts_raw is TRUE */ - int initial_pause:1; /* do not begin to play the stream + int initial_pause:1; /**< do not begin to play the stream immediately (RTSP only) */ + int prealloced_context:1; + enum CodecID video_codec_id; + enum CodecID audio_codec_id; } AVFormatParameters; -#define AVFMT_NOFILE 0x0001 /* no file should be opened */ -#define AVFMT_NEEDNUMBER 0x0002 /* needs '%d' in filename */ -#define AVFMT_SHOW_IDS 0x0008 /* show format stream IDs numbers */ -#define AVFMT_RAWPICTURE 0x0020 /* format wants AVPicture structure for +//! demuxer will use url_fopen, no opened file should be provided by the caller +#define AVFMT_NOFILE 0x0001 +#define AVFMT_NEEDNUMBER 0x0002 /**< needs '%d' in filename */ +#define AVFMT_SHOW_IDS 0x0008 /**< show format stream IDs numbers */ +#define AVFMT_RAWPICTURE 0x0020 /**< format wants AVPicture structure for raw picture data */ +#define AVFMT_GLOBALHEADER 0x0040 /**< format wants global header */ +#define AVFMT_NOTIMESTAMPS 0x0080 /**< format doesnt need / has any timestamps */ +#define AVFMT_GENERIC_INDEX 0x0100 /**< use generic index building code */ typedef struct AVOutputFormat { const char *name; const char *long_name; const char *mime_type; - const char *extensions; /* comma separated extensions */ - /* size of private data so that it can be allocated in the wrapper */ + const char *extensions; /**< comma separated filename extensions */ + /** size of private data so that it can be allocated in the wrapper */ int priv_data_size; /* output support */ - enum CodecID audio_codec; /* default audio codec */ - enum CodecID video_codec; /* default video codec */ + enum CodecID audio_codec; /**< default audio codec */ + enum CodecID video_codec; /**< default video codec */ int (*write_header)(struct AVFormatContext *); int (*write_packet)(struct AVFormatContext *, AVPacket *pkt); int (*write_trailer)(struct AVFormatContext *); - /* can use flags: AVFMT_NOFILE, AVFMT_NEEDNUMBER */ + /** can use flags: AVFMT_NOFILE, AVFMT_NEEDNUMBER, AVFMT_GLOBALHEADER */ int flags; - /* currently only used to set pixel format if not YUV420P */ + /** currently only used to set pixel format if not YUV420P */ int (*set_parameters)(struct AVFormatContext *, AVFormatParameters *); + int (*interleave_packet)(struct AVFormatContext *, AVPacket *out, AVPacket *in, int flush); + + /** + * list of supported codec_id-codec_tag pairs, ordered by "better choice first" + * the arrays are all CODEC_ID_NONE terminated + */ + const struct AVCodecTag **codec_tag; + /* private fields */ struct AVOutputFormat *next; } AVOutputFormat; @@ -144,49 +198,56 @@ typedef struct AVOutputFormat { typedef struct AVInputFormat { const char *name; const char *long_name; - /* size of private data so that it can be allocated in the wrapper */ + /** size of private data so that it can be allocated in the wrapper */ int priv_data_size; - /* tell if a given file has a chance of being parsing by this format */ + /** tell if a given file has a chance of being parsing by this format */ int (*read_probe)(AVProbeData *); - /* read the format header and initialize the AVFormatContext + /** read the format header and initialize the AVFormatContext structure. Return 0 if OK. 'ap' if non NULL contains additionnal paramters. Only used in raw format right now. 'av_new_stream' should be called to create new streams. */ int (*read_header)(struct AVFormatContext *, AVFormatParameters *ap); - /* read one packet and put it in 'pkt'. pts and flags are also + /** read one packet and put it in 'pkt'. pts and flags are also set. 'av_new_stream' can be called only if the flag AVFMTCTX_NOHEADER is used. */ int (*read_packet)(struct AVFormatContext *, AVPacket *pkt); - /* close the stream. The AVFormatContext and AVStreams are not + /** close the stream. The AVFormatContext and AVStreams are not freed by this function */ int (*read_close)(struct AVFormatContext *); - /* seek at or before a given timestamp (given in AV_TIME_BASE - units) relative to the frames in stream component stream_index */ - int (*read_seek)(struct AVFormatContext *, - int stream_index, int64_t timestamp); + /** + * seek to a given timestamp relative to the frames in + * stream component stream_index + * @param stream_index must not be -1 + * @param flags selects which direction should be preferred if no exact + * match is available + */ + int (*read_seek)(struct AVFormatContext *, + int stream_index, int64_t timestamp, int flags); /** * gets the next timestamp in AV_TIME_BASE units. */ int64_t (*read_timestamp)(struct AVFormatContext *s, int stream_index, int64_t *pos, int64_t pos_limit); - /* can use flags: AVFMT_NOFILE, AVFMT_NEEDNUMBER */ + /** can use flags: AVFMT_NOFILE, AVFMT_NEEDNUMBER */ int flags; - /* if extensions are defined, then no probe is done. You should + /** if extensions are defined, then no probe is done. You should usually not use extension format guessing because it is not reliable enough */ const char *extensions; - /* general purpose read only value that the format can use */ + /** general purpose read only value that the format can use */ int value; - /* start/resume playing - only meaningful if using a network based format + /** start/resume playing - only meaningful if using a network based format (RTSP) */ int (*read_play)(struct AVFormatContext *); - /* pause playing - only meaningful if using a network based format + /** pause playing - only meaningful if using a network based format (RTSP) */ int (*read_pause)(struct AVFormatContext *); + const struct AVCodecTag **codec_tag; + /* private fields */ struct AVInputFormat *next; } AVInputFormat; @@ -195,67 +256,92 @@ typedef struct AVIndexEntry { int64_t pos; int64_t timestamp; #define AVINDEX_KEYFRAME 0x0001 -/* the following 2 flags indicate that the next/prev keyframe is known, and scaning for it isnt needed */ - int flags; - int min_distance; /* min distance between this and the previous keyframe, used to avoid unneeded searching */ + int flags:2; + int size:30; //yeah trying to keep the size of this small to reduce memory requirements (its 24 vs 32 byte due to possible 8byte align) + int min_distance; /**< min distance between this and the previous keyframe, used to avoid unneeded searching */ } AVIndexEntry; typedef struct AVStream { - int index; /* stream index in AVFormatContext */ - int id; /* format specific stream id */ - AVCodecContext codec; /* codec context */ - int r_frame_rate; /* real frame rate of the stream */ - int r_frame_rate_base;/* real frame rate base of the stream */ + int index; /**< stream index in AVFormatContext */ + int id; /**< format specific stream id */ + AVCodecContext *codec; /**< codec context */ + /** + * real base frame rate of the stream. + * this is the lowest framerate with which all timestamps can be + * represented accurately (its the least common multiple of all + * framerates in the stream), Note, this value is just a guess! + * for example if the timebase is 1/90000 and all frames have either + * approximately 3600 or 1800 timer ticks then r_frame_rate will be 50/1 + */ + AVRational r_frame_rate; void *priv_data; +#if LIBAVFORMAT_VERSION_INT < (52<<16) /* internal data used in av_find_stream_info() */ - int64_t codec_info_duration; + int64_t codec_info_duration; int codec_info_nb_frames; - /* encoding: PTS generation when outputing stream */ +#endif + /** encoding: PTS generation when outputing stream */ AVFrac pts; + + /** + * this is the fundamental unit of time (in seconds) in terms + * of which frame timestamps are represented. for fixed-fps content, + * timebase should be 1/framerate and timestamp increments should be + * identically 1. + */ AVRational time_base; - int pts_wrap_bits; /* number of bits in pts (used for wrapping control) */ + int pts_wrap_bits; /**< number of bits in pts (used for wrapping control) */ /* ffmpeg.c private use */ - int stream_copy; /* if TRUE, just copy stream */ - /* quality, as it has been removed from AVCodecContext and put in AVVideoFrame + int stream_copy; /**< if set, just copy stream */ + enum AVDiscard discard; ///< selects which packets can be discarded at will and dont need to be demuxed + //FIXME move stuff to a flags field? + /** quality, as it has been removed from AVCodecContext and put in AVVideoFrame * MN:dunno if thats the right place, for it */ - float quality; - /* decoding: position of the first frame of the component, in + float quality; + /** decoding: position of the first frame of the component, in AV_TIME_BASE fractional seconds. */ - int64_t start_time; - /* decoding: duration of the stream, in AV_TIME_BASE fractional + int64_t start_time; + /** decoding: duration of the stream, in AV_TIME_BASE fractional seconds. */ int64_t duration; + char language[4]; /** ISO 639 3-letter language code (empty string if undefined) */ + /* av_read_frame() support */ - int need_parsing; + int need_parsing; ///< 1->full parsing needed, 2->only parse headers dont repack struct AVCodecParserContext *parser; int64_t cur_dts; int last_IP_duration; int64_t last_IP_pts; /* av_seek_frame() support */ - AVIndexEntry *index_entries; /* only used if the format does not + AVIndexEntry *index_entries; /**< only used if the format does not support seeking natively */ int nb_index_entries; - int index_entries_allocated_size; + unsigned int index_entries_allocated_size; + + int64_t nb_frames; ///< number of frames in this stream if known or 0 + +#define MAX_REORDER_DELAY 4 + int64_t pts_buffer[MAX_REORDER_DELAY+1]; } AVStream; -#define AVFMTCTX_NOHEADER 0x0001 /* signal that no header is present +#define AVFMTCTX_NOHEADER 0x0001 /**< signal that no header is present (streams are added dynamically) */ #define MAX_STREAMS 20 /* format I/O context */ typedef struct AVFormatContext { - AVClass *av_class; /* set by av_alloc_format_context */ + const AVClass *av_class; /**< set by av_alloc_format_context */ /* can only be iformat or oformat, not both at the same time */ struct AVInputFormat *iformat; struct AVOutputFormat *oformat; void *priv_data; ByteIOContext pb; - int nb_streams; + unsigned int nb_streams; AVStream *streams[MAX_STREAMS]; - char filename[1024]; /* input or output filename */ + char filename[1024]; /**< input or output filename */ /* stream info */ int64_t timestamp; char title[512]; @@ -263,28 +349,28 @@ typedef struct AVFormatContext { char copyright[512]; char comment[512]; char album[512]; - int year; /* ID3 year, 0 if none */ - int track; /* track number, 0 if none */ - char genre[32]; /* ID3 genre */ + int year; /**< ID3 year, 0 if none */ + int track; /**< track number, 0 if none */ + char genre[32]; /**< ID3 genre */ - int ctx_flags; /* format specific flags, see AVFMTCTX_xx */ + int ctx_flags; /**< format specific flags, see AVFMTCTX_xx */ /* private data for pts handling (do not modify directly) */ - /* This buffer is only needed when packets were already buffered but + /** This buffer is only needed when packets were already buffered but not decoded, for example to get the codec parameters in mpeg streams */ struct AVPacketList *packet_buffer; - /* decoding: position of the first frame of the component, in + /** decoding: position of the first frame of the component, in AV_TIME_BASE fractional seconds. NEVER set this value directly: it is deduced from the AVStream values. */ - int64_t start_time; - /* decoding: duration of the stream, in AV_TIME_BASE fractional + int64_t start_time; + /** decoding: duration of the stream, in AV_TIME_BASE fractional seconds. NEVER set this value directly: it is deduced from the AVStream values. */ int64_t duration; - /* decoding: total file size. 0 if unknown */ + /** decoding: total file size. 0 if unknown */ int64_t file_size; - /* decoding: total stream bitrate in bit/s, 0 if not + /** decoding: total stream bitrate in bit/s, 0 if not available. Never set it directly if the file_size and the duration are known as ffmpeg can compute it automatically. */ int bit_rate; @@ -296,8 +382,34 @@ typedef struct AVFormatContext { AVPacket cur_pkt; /* av_seek_frame() support */ - int64_t data_offset; /* offset of the first packet */ + int64_t data_offset; /** offset of the first packet */ int index_built; + + int mux_rate; + int packet_size; + int preload; + int max_delay; + +#define AVFMT_NOOUTPUTLOOP -1 +#define AVFMT_INFINITEOUTPUTLOOP 0 + /** number of times to loop output in formats that support it */ + int loop_output; + + int flags; +#define AVFMT_FLAG_GENPTS 0x0001 ///< generate pts if missing even if it requires parsing future frames +#define AVFMT_FLAG_IGNIDX 0x0002 ///< ignore index + + int loop_input; + /** decoding: size of data to probe; encoding unused */ + unsigned int probesize; + + /** + * maximum duration in AV_TIME_BASE units over which the input should be analyzed in av_find_stream_info() + */ + int max_analyze_duration; + + const uint8_t *key; + int keylen; } AVFormatContext; typedef struct AVPacketList { @@ -308,265 +420,372 @@ typedef struct AVPacketList { extern AVInputFormat *first_iformat; extern AVOutputFormat *first_oformat; -/* still image support */ -struct AVInputImageContext; -typedef struct AVInputImageContext AVInputImageContext; - -typedef struct AVImageInfo { - enum PixelFormat pix_fmt; /* requested pixel format */ - int width; /* requested width */ - int height; /* requested height */ - int interleaved; /* image is interleaved (e.g. interleaved GIF) */ - AVPicture pict; /* returned allocated image */ -} AVImageInfo; - -/* AVImageFormat.flags field constants */ -#define AVIMAGE_INTERLEAVED 0x0001 /* image format support interleaved output */ - -typedef struct AVImageFormat { - const char *name; - const char *extensions; - /* tell if a given file has a chance of being parsing by this format */ - int (*img_probe)(AVProbeData *); - /* read a whole image. 'alloc_cb' is called when the image size is - known so that the caller can allocate the image. If 'allo_cb' - returns non zero, then the parsing is aborted. Return '0' if - OK. */ - int (*img_read)(ByteIOContext *, - int (*alloc_cb)(void *, AVImageInfo *info), void *); - /* write the image */ - int supported_pixel_formats; /* mask of supported formats for output */ - int (*img_write)(ByteIOContext *, AVImageInfo *); - int flags; - struct AVImageFormat *next; -} AVImageFormat; - -void av_register_image_format(AVImageFormat *img_fmt); -AVImageFormat *av_probe_image_format(AVProbeData *pd); -AVImageFormat *guess_image_format(const char *filename); -int av_read_image(ByteIOContext *pb, const char *filename, - AVImageFormat *fmt, - int (*alloc_cb)(void *, AVImageInfo *info), void *opaque); -int av_write_image(ByteIOContext *pb, AVImageFormat *fmt, AVImageInfo *img); - -extern AVImageFormat *first_image_format; - -extern AVImageFormat pnm_image_format; -extern AVImageFormat pbm_image_format; -extern AVImageFormat pgm_image_format; -extern AVImageFormat ppm_image_format; -extern AVImageFormat pam_image_format; -extern AVImageFormat pgmyuv_image_format; -extern AVImageFormat yuv_image_format; -#ifdef CONFIG_ZLIB -extern AVImageFormat png_image_format; -#endif -extern AVImageFormat jpeg_image_format; -extern AVImageFormat gif_image_format; -extern AVImageFormat sgi_image_format; +enum CodecID av_guess_image2_codec(const char *filename); /* XXX: use automatic init with either ELF sections or C file parser */ /* modules */ -/* mpeg.c */ -extern AVInputFormat mpegps_demux; -int mpegps_init(void); - -/* mpegts.c */ -extern AVInputFormat mpegts_demux; -int mpegts_init(void); - -/* rm.c */ -int rm_init(void); - -/* crc.c */ -int crc_init(void); - -/* img.c */ -int img_init(void); - -/* asf.c */ -int asf_init(void); - -/* avienc.c */ -int avienc_init(void); - -/* avidec.c */ -int avidec_init(void); - -/* swf.c */ -int swf_init(void); - -/* mov.c */ -int mov_init(void); - -/* movenc.c */ -int movenc_init(void); - -/* flvenc.c */ -int flvenc_init(void); - -/* flvdec.c */ -int flvdec_init(void); - -/* jpeg.c */ -int jpeg_init(void); - -/* gif.c */ -int gif_init(void); - -/* au.c */ -int au_init(void); - -/* amr.c */ -int amr_init(void); - -/* wav.c */ -int ff_wav_init(void); - -/* raw.c */ -int pcm_read_seek(AVFormatContext *s, - int stream_index, int64_t timestamp); -int raw_init(void); - -/* mp3.c */ -int mp3_init(void); - -/* yuv4mpeg.c */ -int yuv4mpeg_init(void); - -/* ogg.c */ -int ogg_init(void); - -/* dv.c */ -int ff_dv_init(void); - -/* ffm.c */ -int ffm_init(void); - -/* rtsp.c */ -extern AVInputFormat redir_demux; -int redir_open(AVFormatContext **ic_ptr, ByteIOContext *f); - -/* 4xm.c */ -int fourxm_init(void); - -/* psxstr.c */ -int str_init(void); - -/* idroq.c */ -int roq_init(void); - -/* ipmovie.c */ -int ipmovie_init(void); - -/* nut.c */ -int nut_init(void); - -/* wc3movie.c */ -int wc3_init(void); - -/* westwood.c */ -int westwood_init(void); - -/* segafilm.c */ -int film_init(void); - -/* idcin.c */ -int idcin_init(void); - -/* flic.c */ -int flic_init(void); - -/* sierravmd.c */ -int vmd_init(void); - -/* matroska.c */ -int matroska_init(void); - #include "rtp.h" #include "rtsp.h" -/* yuv4mpeg.c */ -extern AVOutputFormat yuv4mpegpipe_oformat; - /* utils.c */ void av_register_input_format(AVInputFormat *format); void av_register_output_format(AVOutputFormat *format); -AVOutputFormat *guess_stream_format(const char *short_name, +AVOutputFormat *guess_stream_format(const char *short_name, const char *filename, const char *mime_type); -AVOutputFormat *guess_format(const char *short_name, +AVOutputFormat *guess_format(const char *short_name, const char *filename, const char *mime_type); +/** + * Guesses the codec id based upon muxer and filename. + */ +enum CodecID av_guess_codec(AVOutputFormat *fmt, const char *short_name, + const char *filename, const char *mime_type, enum CodecType type); + +/** + * Send a nice hexadecimal dump of a buffer to the specified file stream. + * + * @param f The file stream pointer where the dump should be sent to. + * @param buf buffer + * @param size buffer size + * + * @see av_hex_dump_log, av_pkt_dump, av_pkt_dump_log + */ void av_hex_dump(FILE *f, uint8_t *buf, int size); + +/** + * Send a nice hexadecimal dump of a buffer to the log. + * + * @param avcl A pointer to an arbitrary struct of which the first field is a + * pointer to an AVClass struct. + * @param level The importance level of the message, lower values signifying + * higher importance. + * @param buf buffer + * @param size buffer size + * + * @see av_hex_dump, av_pkt_dump, av_pkt_dump_log + */ +void av_hex_dump_log(void *avcl, int level, uint8_t *buf, int size); + +/** + * Send a nice dump of a packet to the specified file stream. + * + * @param f The file stream pointer where the dump should be sent to. + * @param pkt packet to dump + * @param dump_payload true if the payload must be displayed too + */ void av_pkt_dump(FILE *f, AVPacket *pkt, int dump_payload); +/** + * Send a nice dump of a packet to the log. + * + * @param avcl A pointer to an arbitrary struct of which the first field is a + * pointer to an AVClass struct. + * @param level The importance level of the message, lower values signifying + * higher importance. + * @param pkt packet to dump + * @param dump_payload true if the payload must be displayed too + */ +void av_pkt_dump_log(void *avcl, int level, AVPacket *pkt, int dump_payload); + void av_register_all(void); -typedef struct FifoBuffer { - uint8_t *buffer; - uint8_t *rptr, *wptr, *end; -} FifoBuffer; - -int fifo_init(FifoBuffer *f, int size); -void fifo_free(FifoBuffer *f); -int fifo_size(FifoBuffer *f, uint8_t *rptr); -int fifo_read(FifoBuffer *f, uint8_t *buf, int buf_size, uint8_t **rptr_ptr); -void fifo_write(FifoBuffer *f, uint8_t *buf, int size, uint8_t **wptr_ptr); +/** codec tag <-> codec id */ +enum CodecID av_codec_get_id(const struct AVCodecTag **tags, unsigned int tag); +unsigned int av_codec_get_tag(const struct AVCodecTag **tags, enum CodecID id); /* media file input */ + +/** + * finds AVInputFormat based on input format's short name. + */ AVInputFormat *av_find_input_format(const char *short_name); + +/** + * Guess file format. + * + * @param is_opened whether the file is already opened, determines whether + * demuxers with or without AVFMT_NOFILE are probed + */ AVInputFormat *av_probe_input_format(AVProbeData *pd, int is_opened); -int av_open_input_stream(AVFormatContext **ic_ptr, - ByteIOContext *pb, const char *filename, + +/** + * Allocates all the structures needed to read an input stream. + * This does not open the needed codecs for decoding the stream[s]. + */ +int av_open_input_stream(AVFormatContext **ic_ptr, + ByteIOContext *pb, const char *filename, AVInputFormat *fmt, AVFormatParameters *ap); -int av_open_input_file(AVFormatContext **ic_ptr, const char *filename, + +/** + * Open a media file as input. The codec are not opened. Only the file + * header (if present) is read. + * + * @param ic_ptr the opened media file handle is put here + * @param filename filename to open. + * @param fmt if non NULL, force the file format to use + * @param buf_size optional buffer size (zero if default is OK) + * @param ap additionnal parameters needed when opening the file (NULL if default) + * @return 0 if OK. AVERROR_xxx otherwise. + */ +int av_open_input_file(AVFormatContext **ic_ptr, const char *filename, AVInputFormat *fmt, int buf_size, AVFormatParameters *ap); -/* no av_open for output, so applications will need this: */ +/** no av_open for output, so applications will need this: */ AVFormatContext *av_alloc_format_context(void); -#define AVERROR_UNKNOWN (-1) /* unknown error */ -#define AVERROR_IO (-2) /* i/o error */ -#define AVERROR_NUMEXPECTED (-3) /* number syntax expected in filename */ -#define AVERROR_INVALIDDATA (-4) /* invalid data found */ -#define AVERROR_NOMEM (-5) /* not enough memory */ -#define AVERROR_NOFMT (-6) /* unknown format */ -#define AVERROR_NOTSUPP (-7) /* operation not supported */ - +/** + * Read packets of a media file to get stream information. This + * is useful for file formats with no headers such as MPEG. This + * function also computes the real frame rate in case of mpeg2 repeat + * frame mode. + * The logical file position is not changed by this function; + * examined packets may be buffered for later processing. + * + * @param ic media file handle + * @return >=0 if OK. AVERROR_xxx if error. + * @todo let user decide somehow what information is needed so we dont waste time geting stuff the user doesnt need + */ int av_find_stream_info(AVFormatContext *ic); + +/** + * Read a transport packet from a media file. + * + * This function is absolete and should never be used. + * Use av_read_frame() instead. + * + * @param s media file handle + * @param pkt is filled + * @return 0 if OK. AVERROR_xxx if error. + */ int av_read_packet(AVFormatContext *s, AVPacket *pkt); + +/** + * Return the next frame of a stream. + * + * The returned packet is valid + * until the next av_read_frame() or until av_close_input_file() and + * must be freed with av_free_packet. For video, the packet contains + * exactly one frame. For audio, it contains an integer number of + * frames if each frame has a known fixed size (e.g. PCM or ADPCM + * data). If the audio frames have a variable size (e.g. MPEG audio), + * then it contains one frame. + * + * pkt->pts, pkt->dts and pkt->duration are always set to correct + * values in AVStream.timebase units (and guessed if the format cannot + * provided them). pkt->pts can be AV_NOPTS_VALUE if the video format + * has B frames, so it is better to rely on pkt->dts if you do not + * decompress the payload. + * + * @return 0 if OK, < 0 if error or end of file. + */ int av_read_frame(AVFormatContext *s, AVPacket *pkt); -int av_seek_frame(AVFormatContext *s, int stream_index, int64_t timestamp); + +/** + * Seek to the key frame at timestamp. + * 'timestamp' in 'stream_index'. + * @param stream_index If stream_index is (-1), a default + * stream is selected, and timestamp is automatically converted + * from AV_TIME_BASE units to the stream specific time_base. + * @param timestamp timestamp in AVStream.time_base units + * or if there is no stream specified then in AV_TIME_BASE units + * @param flags flags which select direction and seeking mode + * @return >= 0 on success + */ +int av_seek_frame(AVFormatContext *s, int stream_index, int64_t timestamp, int flags); + +/** + * start playing a network based stream (e.g. RTSP stream) at the + * current position + */ int av_read_play(AVFormatContext *s); + +/** + * Pause a network based stream (e.g. RTSP stream). + * + * Use av_read_play() to resume it. + */ int av_read_pause(AVFormatContext *s); + +/** + * Close a media file (but not its codecs). + * + * @param s media file handle + */ void av_close_input_file(AVFormatContext *s); + +/** + * Add a new stream to a media file. + * + * Can only be called in the read_header() function. If the flag + * AVFMTCTX_NOHEADER is in the format context, then new streams + * can be added in read_packet too. + * + * @param s media file handle + * @param id file format dependent stream id + */ AVStream *av_new_stream(AVFormatContext *s, int id); + +/** + * Set the pts for a given stream. + * + * @param s stream + * @param pts_wrap_bits number of bits effectively used by the pts + * (used for wrap control, 33 is the value for MPEG) + * @param pts_num numerator to convert to seconds (MPEG: 1) + * @param pts_den denominator to convert to seconds (MPEG: 90000) + */ void av_set_pts_info(AVStream *s, int pts_wrap_bits, int pts_num, int pts_den); -int av_find_default_stream_index(AVFormatContext *s); -int av_index_search_timestamp(AVStream *st, int timestamp); -int av_add_index_entry(AVStream *st, - int64_t pos, int64_t timestamp, int distance, int flags); -int av_seek_frame_binary(AVFormatContext *s, int stream_index, int64_t target_ts); +#define AVSEEK_FLAG_BACKWARD 1 ///< seek backward +#define AVSEEK_FLAG_BYTE 2 ///< seeking based on position in bytes +#define AVSEEK_FLAG_ANY 4 ///< seek to any frame, even non keyframes -/* media file output */ +int av_find_default_stream_index(AVFormatContext *s); + +/** + * Gets the index for a specific timestamp. + * @param flags if AVSEEK_FLAG_BACKWARD then the returned index will correspond to + * the timestamp which is <= the requested one, if backward is 0 + * then it will be >= + * if AVSEEK_FLAG_ANY seek to any frame, only keyframes otherwise + * @return < 0 if no such timestamp could be found + */ +int av_index_search_timestamp(AVStream *st, int64_t timestamp, int flags); + +/** + * Add a index entry into a sorted list updateing if it is already there. + * + * @param timestamp timestamp in the timebase of the given stream + */ +int av_add_index_entry(AVStream *st, + int64_t pos, int64_t timestamp, int size, int distance, int flags); + +/** + * Does a binary search using av_index_search_timestamp() and AVCodec.read_timestamp(). + * this isnt supposed to be called directly by a user application, but by demuxers + * @param target_ts target timestamp in the time base of the given stream + * @param stream_index stream number + */ +int av_seek_frame_binary(AVFormatContext *s, int stream_index, int64_t target_ts, int flags); + +/** + * Updates cur_dts of all streams based on given timestamp and AVStream. + * + * Stream ref_st unchanged, others set cur_dts in their native timebase + * only needed for timestamp wrapping or if (dts not set and pts!=dts) + * @param timestamp new dts expressed in time_base of param ref_st + * @param ref_st reference stream giving time_base of param timestamp + */ +void av_update_cur_dts(AVFormatContext *s, AVStream *ref_st, int64_t timestamp); + +/** + * Does a binary search using read_timestamp(). + * this isnt supposed to be called directly by a user application, but by demuxers + * @param target_ts target timestamp in the time base of the given stream + * @param stream_index stream number + */ +int64_t av_gen_search(AVFormatContext *s, int stream_index, int64_t target_ts, int64_t pos_min, int64_t pos_max, int64_t pos_limit, int64_t ts_min, int64_t ts_max, int flags, int64_t *ts_ret, int64_t (*read_timestamp)(struct AVFormatContext *, int , int64_t *, int64_t )); + +/** media file output */ int av_set_parameters(AVFormatContext *s, AVFormatParameters *ap); + +/** + * allocate the stream private data and write the stream header to an + * output media file + * + * @param s media file handle + * @return 0 if OK. AVERROR_xxx if error. + */ int av_write_header(AVFormatContext *s); + +/** + * Write a packet to an output media file. + * + * The packet shall contain one audio or video frame. + * The packet must be correctly interleaved according to the container specification, + * if not then av_interleaved_write_frame must be used + * + * @param s media file handle + * @param pkt the packet, which contains the stream_index, buf/buf_size, dts/pts, ... + * @return < 0 if error, = 0 if OK, 1 if end of stream wanted. + */ int av_write_frame(AVFormatContext *s, AVPacket *pkt); + +/** + * Writes a packet to an output media file ensuring correct interleaving. + * + * The packet must contain one audio or video frame. + * If the packets are already correctly interleaved the application should + * call av_write_frame() instead as its slightly faster, its also important + * to keep in mind that completly non interleaved input will need huge amounts + * of memory to interleave with this, so its prefereable to interleave at the + * demuxer level + * + * @param s media file handle + * @param pkt the packet, which contains the stream_index, buf/buf_size, dts/pts, ... + * @return < 0 if error, = 0 if OK, 1 if end of stream wanted. + */ int av_interleaved_write_frame(AVFormatContext *s, AVPacket *pkt); +/** + * Interleave a packet per DTS in an output media file. + * + * Packets with pkt->destruct == av_destruct_packet will be freed inside this function, + * so they cannot be used after it, note calling av_free_packet() on them is still safe. + * + * @param s media file handle + * @param out the interleaved packet will be output here + * @param in the input packet + * @param flush 1 if no further packets are available as input and all + * remaining packets should be output + * @return 1 if a packet was output, 0 if no packet could be output, + * < 0 if an error occured + */ +int av_interleave_packet_per_dts(AVFormatContext *s, AVPacket *out, AVPacket *pkt, int flush); + +/** + * @brief Write the stream trailer to an output media file and + * free the file private data. + * + * @param s media file handle + * @return 0 if OK. AVERROR_xxx if error. + */ int av_write_trailer(AVFormatContext *s); void dump_format(AVFormatContext *ic, - int index, + int index, const char *url, int is_output); + +/** + * parses width and height out of string str. + */ int parse_image_size(int *width_ptr, int *height_ptr, const char *str); + +/** + * Converts frame rate from string to a fraction. + */ int parse_frame_rate(int *frame_rate, int *frame_rate_base, const char *arg); + +/** + * Converts date string to number of seconds since Jan 1st, 1970. + * + * @code + * Syntax: + * - If not a duration: + * [{YYYY-MM-DD|YYYYMMDD}]{T| }{HH[:MM[:SS[.m...]]][Z]|HH[MM[SS[.m...]]][Z]} + * Time is localtime unless Z is suffixed to the end. In this case GMT + * Return the date in micro seconds since 1970 + * + * - If a duration: + * HH[:MM[:SS[.m...]]] + * S+[.m...] + * @endcode + */ int64_t parse_date(const char *datestr, int duration); int64_t av_gettime(void); @@ -577,11 +796,36 @@ offset_t ffm_read_write_index(int fd); void ffm_write_write_index(int fd, offset_t pos); void ffm_set_write_index(AVFormatContext *s, offset_t pos, offset_t file_size); +/** + * Attempts to find a specific tag in a URL. + * + * syntax: '?tag1=val1&tag2=val2...'. Little URL decoding is done. + * Return 1 if found. + */ int find_info_tag(char *arg, int arg_size, const char *tag1, const char *info); -int get_frame_filename(char *buf, int buf_size, - const char *path, int number); -int filename_number_test(const char *filename); +/** + * Returns in 'buf' the path with '%d' replaced by number. + + * Also handles the '%0nd' format where 'n' is the total number + * of digits and '%%'. + * + * @param buf destination buffer + * @param buf_size destination buffer size + * @param path numbered sequence string + * @number frame number + * @return 0 if OK, -1 if format error. + */ +int av_get_frame_filename(char *buf, int buf_size, + const char *path, int number); + +/** + * Check whether filename actually is a numbered sequence generator. + * + * @param filename possible numbered sequence string + * @return 1 if a valid numbered sequence string, 0 otherwise. + */ +int av_filename_number_test(const char *filename); /* grab specific */ int video_grab_init(void); @@ -589,6 +833,7 @@ int audio_init(void); /* DV1394 */ int dv1394_init(void); +int dc1394_init(void); #ifdef HAVE_AV_CONFIG_H @@ -617,13 +862,15 @@ do {\ #endif time_t mktimegm(struct tm *tm); -const char *small_strptime(const char *p, const char *fmt, +struct tm *brktimegm(time_t secs, struct tm *tm); +const char *small_strptime(const char *p, const char *fmt, struct tm *dt); struct in_addr; int resolve_host(struct in_addr *sin_addr, const char *hostname); void url_split(char *proto, int proto_size, + char *authorization, int authorization_size, char *hostname, int hostname_size, int *port_ptr, char *path, int path_size, @@ -638,3 +885,4 @@ int match_ext(const char *filename, const char *extensions); #endif #endif /* AVFORMAT_H */ + diff --git a/stepmania/src/ffmpeg/include/ffmpeg/avio.h b/stepmania/src/ffmpeg/include/ffmpeg/avio.h index 53ed22a3a1..be78c9a7b4 100644 --- a/stepmania/src/ffmpeg/include/ffmpeg/avio.h +++ b/stepmania/src/ffmpeg/include/ffmpeg/avio.h @@ -1,3 +1,23 @@ +/* + * unbuffered io for ffmpeg system + * copyright (c) 2001 Fabrice Bellard + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ #ifndef AVIO_H #define AVIO_H @@ -9,11 +29,15 @@ typedef int64_t offset_t; struct URLContext { struct URLProtocol *prot; - int flags; - int is_streamed; /* true if streamed (no seek possible), default = false */ - int max_packet_size; /* if non zero, the stream is packetized with this max packet size */ + int flags; + int is_streamed; /**< true if streamed (no seek possible), default = false */ + int max_packet_size; /**< if non zero, the stream is packetized with this max packet size */ void *priv_data; - char filename[1]; /* specified filename */ +#if LIBAVFORMAT_VERSION_INT >= (52<<16) + char *filename; /**< specified filename */ +#else + char filename[1]; /**< specified filename */ +#endif }; typedef struct URLContext URLContext; @@ -37,18 +61,36 @@ offset_t url_seek(URLContext *h, offset_t pos, int whence); int url_close(URLContext *h); int url_exist(const char *filename); offset_t url_filesize(URLContext *h); + +/** + * Return the maximum packet size associated to packetized file + * handle. If the file is not packetized (stream like http or file on + * disk), then 0 is returned. + * + * @param h file handle + * @return maximum packet size in bytes + */ int url_get_max_packet_size(URLContext *h); void url_get_filename(URLContext *h, char *buf, int buf_size); -/* the callback is called in blocking functions to test regulary if - asynchronous interruption is needed. -EINTR is returned in this - case by the interrupted function. 'NULL' means no interrupt - callback is given. */ +/** + * the callback is called in blocking functions to test regulary if + * asynchronous interruption is needed. AVERROR(EINTR) is returned + * in this case by the interrupted function. 'NULL' means no interrupt + * callback is given. i + */ void url_set_interrupt_cb(URLInterruptCB *interrupt_cb); /* not implemented */ int url_poll(URLPollEntry *poll_table, int n, int timeout); +/** + * passing this as the "whence" parameter to a seek function causes it to + * return the filesize without seeking anywhere, supporting this is optional + * if its not supprted then the seek function will return <0 + */ +#define AVSEEK_SIZE 0x10000 + typedef struct URLProtocol { const char *name; int (*url_open)(URLContext *h, const char *filename, int flags); @@ -70,17 +112,18 @@ typedef struct { unsigned char *buf_ptr, *buf_end; void *opaque; int (*read_packet)(void *opaque, uint8_t *buf, int buf_size); - void (*write_packet)(void *opaque, uint8_t *buf, int buf_size); - int (*seek)(void *opaque, offset_t offset, int whence); - offset_t pos; /* position in the file of the current buffer */ - int must_flush; /* true if the next seek should flush */ - int eof_reached; /* true if eof reached */ - int write_flag; /* true if open for writing */ + int (*write_packet)(void *opaque, uint8_t *buf, int buf_size); + offset_t (*seek)(void *opaque, offset_t offset, int whence); + offset_t pos; /**< position in the file of the current buffer */ + int must_flush; /**< true if the next seek should flush */ + int eof_reached; /**< true if eof reached */ + int write_flag; /**< true if open for writing */ int is_streamed; int max_packet_size; unsigned long checksum; unsigned char *checksum_ptr; unsigned long (*update_checksum)(unsigned long checksum, const uint8_t *buf, unsigned int size); + int error; ///< contains the error code or 0 if no error happened } ByteIOContext; int init_put_byte(ByteIOContext *s, @@ -89,8 +132,8 @@ int init_put_byte(ByteIOContext *s, int write_flag, void *opaque, int (*read_packet)(void *opaque, uint8_t *buf, int buf_size), - void (*write_packet)(void *opaque, uint8_t *buf, int buf_size), - int (*seek)(void *opaque, offset_t offset, int whence)); + int (*write_packet)(void *opaque, uint8_t *buf, int buf_size), + offset_t (*seek)(void *opaque, offset_t offset, int whence)); void put_byte(ByteIOContext *s, int b); void put_buffer(ByteIOContext *s, const unsigned char *buf, int size); @@ -98,39 +141,52 @@ void put_le64(ByteIOContext *s, uint64_t val); void put_be64(ByteIOContext *s, uint64_t val); void put_le32(ByteIOContext *s, unsigned int val); void put_be32(ByteIOContext *s, unsigned int val); +void put_le24(ByteIOContext *s, unsigned int val); +void put_be24(ByteIOContext *s, unsigned int val); void put_le16(ByteIOContext *s, unsigned int val); void put_be16(ByteIOContext *s, unsigned int val); void put_tag(ByteIOContext *s, const char *tag); -void put_be64_double(ByteIOContext *s, double val); void put_strz(ByteIOContext *s, const char *buf); offset_t url_fseek(ByteIOContext *s, offset_t offset, int whence); void url_fskip(ByteIOContext *s, offset_t offset); offset_t url_ftell(ByteIOContext *s); +offset_t url_fsize(ByteIOContext *s); int url_feof(ByteIOContext *s); +int url_ferror(ByteIOContext *s); #define URL_EOF (-1) +/** @note return URL_EOF (-1) if EOF */ int url_fgetc(ByteIOContext *s); + +/** @warning currently size is limited */ #ifdef __GNUC__ int url_fprintf(ByteIOContext *s, const char *fmt, ...) __attribute__ ((__format__ (__printf__, 2, 3))); #else int url_fprintf(ByteIOContext *s, const char *fmt, ...); #endif + +/** @note unlike fgets, the EOL character is not returned and a whole + line is parsed. return NULL if first char read was EOF */ char *url_fgets(ByteIOContext *s, char *buf, int buf_size); void put_flush_packet(ByteIOContext *s); int get_buffer(ByteIOContext *s, unsigned char *buf, int size); int get_partial_buffer(ByteIOContext *s, unsigned char *buf, int size); + +/** @note return 0 if EOF, so you cannot use it if EOF handling is + necessary */ int get_byte(ByteIOContext *s); +unsigned int get_le24(ByteIOContext *s); unsigned int get_le32(ByteIOContext *s); uint64_t get_le64(ByteIOContext *s); unsigned int get_le16(ByteIOContext *s); -double get_be64_double(ByteIOContext *s); char *get_strz(ByteIOContext *s, char *buf, int maxlen); unsigned int get_be16(ByteIOContext *s); +unsigned int get_be24(ByteIOContext *s); unsigned int get_be32(ByteIOContext *s); uint64_t get_be64(ByteIOContext *s); @@ -140,22 +196,61 @@ static inline int url_is_streamed(ByteIOContext *s) } int url_fdopen(ByteIOContext *s, URLContext *h); + +/** @warning must be called before any I/O */ int url_setbufsize(ByteIOContext *s, int buf_size); + +/** @note when opened as read/write, the buffers are only used for + reading */ int url_fopen(ByteIOContext *s, const char *filename, int flags); int url_fclose(ByteIOContext *s); URLContext *url_fileno(ByteIOContext *s); + +/** + * Return the maximum packet size associated to packetized buffered file + * handle. If the file is not packetized (stream like http or file on + * disk), then 0 is returned. + * + * @param h buffered file handle + * @return maximum packet size in bytes + */ int url_fget_max_packet_size(ByteIOContext *s); int url_open_buf(ByteIOContext *s, uint8_t *buf, int buf_size, int flags); + +/** return the written or read size */ int url_close_buf(ByteIOContext *s); +/** + * Open a write only memory stream. + * + * @param s new IO context + * @return zero if no error. + */ int url_open_dyn_buf(ByteIOContext *s); + +/** + * Open a write only packetized memory stream with a maximum packet + * size of 'max_packet_size'. The stream is stored in a memory buffer + * with a big endian 4 byte header giving the packet size in bytes. + * + * @param s new IO context + * @param max_packet_size maximum packet size (must be > 0) + * @return zero if no error. + */ int url_open_dyn_packet_buf(ByteIOContext *s, int max_packet_size); + +/** + * Return the written size and a pointer to the buffer. The buffer + * must be freed with av_free(). + * @param s IO context + * @param pointer to a byte buffer + * @return the length of the byte buffer + */ int url_close_dyn_buf(ByteIOContext *s, uint8_t **pbuffer); unsigned long get_checksum(ByteIOContext *s); void init_checksum(ByteIOContext *s, unsigned long (*update_checksum)(unsigned long c, const uint8_t *p, unsigned int len), unsigned long checksum); -unsigned long update_adler32(unsigned long adler, const uint8_t *buf, unsigned int len); /* file.c */ extern URLProtocol file_protocol; diff --git a/stepmania/src/ffmpeg/include/ffmpeg/avutil.h b/stepmania/src/ffmpeg/include/ffmpeg/avutil.h new file mode 100644 index 0000000000..32bc40bfbf --- /dev/null +++ b/stepmania/src/ffmpeg/include/ffmpeg/avutil.h @@ -0,0 +1,137 @@ +/* + * copyright (c) 2006 Michael Niedermayer + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVUTIL_H +#define AVUTIL_H + +/** + * @file avutil.h + * external api header. + */ + + +#ifdef __cplusplus +extern "C" { +#endif + +#define AV_STRINGIFY(s) AV_TOSTRING(s) +#define AV_TOSTRING(s) #s + +#define LIBAVUTIL_VERSION_INT ((49<<16)+(4<<8)+0) +#define LIBAVUTIL_VERSION 49.4.0 +#define LIBAVUTIL_BUILD LIBAVUTIL_VERSION_INT + +#define LIBAVUTIL_IDENT "Lavu" AV_STRINGIFY(LIBAVUTIL_VERSION) + + +#include "common.h" +#include "mathematics.h" +#include "rational.h" +#include "integer.h" +#include "intfloat_readwrite.h" +#include "log.h" + +/** + * Pixel format. Notes: + * + * PIX_FMT_RGB32 is handled in an endian-specific manner. A RGBA + * color is put together as: + * (A << 24) | (R << 16) | (G << 8) | B + * This is stored as BGRA on little endian CPU architectures and ARGB on + * big endian CPUs. + * + * When the pixel format is palettized RGB (PIX_FMT_PAL8), the palettized + * image data is stored in AVFrame.data[0]. The palette is transported in + * AVFrame.data[1] and, is 1024 bytes long (256 4-byte entries) and is + * formatted the same as in PIX_FMT_RGB32 described above (i.e., it is + * also endian-specific). Note also that the individual RGB palette + * components stored in AVFrame.data[1] should be in the range 0..255. + * This is important as many custom PAL8 video codecs that were designed + * to run on the IBM VGA graphics adapter use 6-bit palette components. + */ +enum PixelFormat { + PIX_FMT_NONE= -1, + PIX_FMT_YUV420P, ///< Planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y samples) + PIX_FMT_YUYV422, ///< Packed YUV 4:2:2, 16bpp, Y0 Cb Y1 Cr + PIX_FMT_RGB24, ///< Packed RGB 8:8:8, 24bpp, RGBRGB... + PIX_FMT_BGR24, ///< Packed RGB 8:8:8, 24bpp, BGRBGR... + PIX_FMT_YUV422P, ///< Planar YUV 4:2:2, 16bpp, (1 Cr & Cb sample per 2x1 Y samples) + PIX_FMT_YUV444P, ///< Planar YUV 4:4:4, 24bpp, (1 Cr & Cb sample per 1x1 Y samples) + PIX_FMT_RGB32, ///< Packed RGB 8:8:8, 32bpp, (msb)8A 8R 8G 8B(lsb), in cpu endianness + PIX_FMT_YUV410P, ///< Planar YUV 4:1:0, 9bpp, (1 Cr & Cb sample per 4x4 Y samples) + PIX_FMT_YUV411P, ///< Planar YUV 4:1:1, 12bpp, (1 Cr & Cb sample per 4x1 Y samples) + PIX_FMT_RGB565, ///< Packed RGB 5:6:5, 16bpp, (msb) 5R 6G 5B(lsb), in cpu endianness + PIX_FMT_RGB555, ///< Packed RGB 5:5:5, 16bpp, (msb)1A 5R 5G 5B(lsb), in cpu endianness most significant bit to 0 + PIX_FMT_GRAY8, ///< Y , 8bpp + PIX_FMT_MONOWHITE, ///< Y , 1bpp, 1 is white + PIX_FMT_MONOBLACK, ///< Y , 1bpp, 0 is black + PIX_FMT_PAL8, ///< 8 bit with PIX_FMT_RGB32 palette + PIX_FMT_YUVJ420P, ///< Planar YUV 4:2:0, 12bpp, full scale (jpeg) + PIX_FMT_YUVJ422P, ///< Planar YUV 4:2:2, 16bpp, full scale (jpeg) + PIX_FMT_YUVJ444P, ///< Planar YUV 4:4:4, 24bpp, full scale (jpeg) + PIX_FMT_XVMC_MPEG2_MC,///< XVideo Motion Acceleration via common packet passing(xvmc_render.h) + PIX_FMT_XVMC_MPEG2_IDCT, + PIX_FMT_UYVY422, ///< Packed YUV 4:2:2, 16bpp, Cb Y0 Cr Y1 + PIX_FMT_UYYVYY411, ///< Packed YUV 4:1:1, 12bpp, Cb Y0 Y1 Cr Y2 Y3 + PIX_FMT_BGR32, ///< Packed RGB 8:8:8, 32bpp, (msb)8A 8B 8G 8R(lsb), in cpu endianness + PIX_FMT_BGR565, ///< Packed RGB 5:6:5, 16bpp, (msb) 5B 6G 5R(lsb), in cpu endianness + PIX_FMT_BGR555, ///< Packed RGB 5:5:5, 16bpp, (msb)1A 5B 5G 5R(lsb), in cpu endianness most significant bit to 1 + PIX_FMT_BGR8, ///< Packed RGB 3:3:2, 8bpp, (msb)2B 3G 3R(lsb) + PIX_FMT_BGR4, ///< Packed RGB 1:2:1, 4bpp, (msb)1B 2G 1R(lsb) + PIX_FMT_BGR4_BYTE, ///< Packed RGB 1:2:1, 8bpp, (msb)1B 2G 1R(lsb) + PIX_FMT_RGB8, ///< Packed RGB 3:3:2, 8bpp, (msb)2R 3G 3B(lsb) + PIX_FMT_RGB4, ///< Packed RGB 1:2:1, 4bpp, (msb)2R 3G 3B(lsb) + PIX_FMT_RGB4_BYTE, ///< Packed RGB 1:2:1, 8bpp, (msb)2R 3G 3B(lsb) + PIX_FMT_NV12, ///< Planar YUV 4:2:0, 12bpp, 1 plane for Y and 1 for UV + PIX_FMT_NV21, ///< as above, but U and V bytes are swapped + + PIX_FMT_RGB32_1, ///< Packed RGB 8:8:8, 32bpp, (msb)8R 8G 8B 8A(lsb), in cpu endianness + PIX_FMT_BGR32_1, ///< Packed RGB 8:8:8, 32bpp, (msb)8B 8G 8R 8A(lsb), in cpu endianness + + PIX_FMT_GRAY16BE, ///< Y , 16bpp, big-endian + PIX_FMT_GRAY16LE, ///< Y , 16bpp, little-endian + PIX_FMT_NB, ///< number of pixel formats, DO NOT USE THIS if you want to link with shared libav* because the number of formats might differ between versions +}; + +#ifdef WORDS_BIGENDIAN +#define PIX_FMT_RGBA PIX_FMT_RGB32_1 +#define PIX_FMT_BGRA PIX_FMT_BGR32_1 +#define PIX_FMT_ARGB PIX_FMT_RGB32 +#define PIX_FMT_ABGR PIX_FMT_BGR32 +#define PIX_FMT_GRAY16 PIX_FMT_GRAY16BE +#else +#define PIX_FMT_RGBA PIX_FMT_BGR32 +#define PIX_FMT_BGRA PIX_FMT_RGB32 +#define PIX_FMT_ARGB PIX_FMT_BGR32_1 +#define PIX_FMT_ABGR PIX_FMT_RGB32_1 +#define PIX_FMT_GRAY16 PIX_FMT_GRAY16LE +#endif + +#if LIBAVUTIL_VERSION_INT < (50<<16) +#define PIX_FMT_UYVY411 PIX_FMT_UYYVYY411 +#define PIX_FMT_RGBA32 PIX_FMT_RGB32 +#define PIX_FMT_YUV422 PIX_FMT_YUYV422 +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* AVUTIL_H */ diff --git a/stepmania/src/ffmpeg/include/ffmpeg/common.h b/stepmania/src/ffmpeg/include/ffmpeg/common.h index d1cde53c68..08c0afdd4f 100644 --- a/stepmania/src/ffmpeg/include/ffmpeg/common.h +++ b/stepmania/src/ffmpeg/include/ffmpeg/common.h @@ -1,26 +1,36 @@ +/* + * copyright (c) 2006 Michael Niedermayer + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + /** * @file common.h - * common internal api header. + * common internal and external api header. */ #ifndef COMMON_H #define COMMON_H -#if defined(WIN32) && !defined(__MINGW32__) && !defined(__CYGWIN__) -# define CONFIG_WIN32 -# define EMULATE_INTTYPES -#endif - -//#define ALT_BITSTREAM_WRITER -//#define ALIGNED_BITSTREAM_WRITER - -#define ALT_BITSTREAM_READER -//#define LIBMPEG2_BITSTREAM_READER -//#define A32_BITSTREAM_READER -#define LIBMPEG2_BITSTREAM_READER_HACK //add BERO - -#ifndef M_PI -#define M_PI 3.14159265358979323846 +#if 0 +#include +#else +/* Why does ffmpeg need C99 features? */ +#define INT64_C(i) i##i64 #endif #ifdef HAVE_AV_CONFIG_H @@ -32,1078 +42,45 @@ # include # include # include -# ifndef __BEOS__ -# include -# else -# include "berrno.h" -# endif +# include # include - -# ifndef ENODATA -# define ENODATA 61 -# endif - -#include -#ifndef offsetof -# define offsetof(T,F) ((unsigned int)((char *)&((T *)0)->F)) -#endif - -#define AVOPTION_CODEC_BOOL(name, help, field) \ - { name, help, offsetof(AVCodecContext, field), FF_OPT_TYPE_BOOL } -#define AVOPTION_CODEC_DOUBLE(name, help, field, minv, maxv, defval) \ - { name, help, offsetof(AVCodecContext, field), FF_OPT_TYPE_DOUBLE, minv, maxv, defval } -#define AVOPTION_CODEC_FLAG(name, help, field, flag, defval) \ - { name, help, offsetof(AVCodecContext, field), FF_OPT_TYPE_FLAG, flag, 0, defval } -#define AVOPTION_CODEC_INT(name, help, field, minv, maxv, defval) \ - { name, help, offsetof(AVCodecContext, field), FF_OPT_TYPE_INT, minv, maxv, defval } -#define AVOPTION_CODEC_STRING(name, help, field, str, val) \ - { name, help, offsetof(AVCodecContext, field), FF_OPT_TYPE_STRING, .defval = val, .defstr = str } -#define AVOPTION_CODEC_RCOVERRIDE(name, help, field) \ - { name, help, offsetof(AVCodecContext, field), FF_OPT_TYPE_RCOVERRIDE, .defval = 0, .defstr = NULL } -#define AVOPTION_SUB(ptr) { .name = NULL, .help = (const char*)ptr } -#define AVOPTION_END() AVOPTION_SUB(NULL) - -struct AVOption; -#ifdef HAVE_MMX -extern const struct AVOption avoptions_common[3 + 5]; -#else -extern const struct AVOption avoptions_common[3]; -#endif -extern const struct AVOption avoptions_workaround_bug[11]; - #endif /* HAVE_AV_CONFIG_H */ -/* Suppress restrict if it was not defined in config.h. */ -#ifndef restrict -# define restrict -#endif - -#ifndef always_inline +#ifndef av_always_inline #if defined(__GNUC__) && (__GNUC__ > 3 || __GNUC__ == 3 && __GNUC_MINOR__ > 0) -# define always_inline __attribute__((always_inline)) inline +# define av_always_inline __attribute__((always_inline)) inline +# define av_noinline __attribute__((noinline)) #else -# define always_inline inline +# define av_always_inline inline +# define av_noinline #endif #endif -#ifndef attribute_used -#if defined(__GNUC__) && (__GNUC__ > 3 || __GNUC__ == 3 && __GNUC_MINOR__ > 0) -# define attribute_used __attribute__((used)) -#else -# define attribute_used -#endif -#endif - -#ifndef EMULATE_INTTYPES -# include -#else - typedef signed char int8_t; - typedef signed short int16_t; - typedef signed int int32_t; - typedef unsigned char uint8_t; - typedef unsigned short uint16_t; - typedef unsigned int uint32_t; - -# ifdef CONFIG_WIN32 - typedef signed __int64 int64_t; - typedef unsigned __int64 uint64_t; -# else /* other OS */ - typedef signed long long int64_t; - typedef unsigned long long uint64_t; -# endif /* other OS */ -#endif /* HAVE_INTTYPES_H */ - -#ifndef INT64_MAX -#define INT64_MAX int64_t_C(9223372036854775807) -#endif - -#ifndef UINT64_MAX -#define UINT64_MAX uint64_t_C(0xFFFFFFFFFFFFFFFF) -#endif - -#ifdef EMULATE_FAST_INT -/* note that we don't emulate 64bit ints */ -typedef signed char int_fast8_t; -typedef signed int int_fast16_t; -typedef signed int int_fast32_t; -typedef unsigned char uint_fast8_t; -typedef unsigned int uint_fast16_t; -typedef unsigned int uint_fast32_t; -#endif - -#ifndef INT_BIT -# if INT_MAX != 2147483647 -# define INT_BIT 64 -# else -# define INT_BIT 32 -# endif -#endif - -#if defined(CONFIG_OS2) || defined(CONFIG_SUNOS) -static inline float floorf(float f) { - return floor(f); -} -#endif - -#ifdef CONFIG_WIN32 - -/* windows */ - -# if !defined(__MINGW32__) && !defined(__CYGWIN__) -# define int64_t_C(c) (c ## i64) -# define uint64_t_C(c) (c ## i64) - -# ifdef HAVE_AV_CONFIG_H -# define inline __inline -# endif - -# else -# define int64_t_C(c) (c ## LL) -# define uint64_t_C(c) (c ## ULL) -# endif /* __MINGW32__ */ - -# ifdef HAVE_AV_CONFIG_H -# ifdef _DEBUG -# define DEBUG -# endif - -# define snprintf _snprintf -# define vsnprintf _vsnprintf -# endif - -/* CONFIG_WIN32 end */ -#elif defined (CONFIG_OS2) -/* OS/2 EMX */ - -#ifndef int64_t_C -#define int64_t_C(c) (c ## LL) -#define uint64_t_C(c) (c ## ULL) -#endif - #ifdef HAVE_AV_CONFIG_H - -#ifdef USE_FASTMEMCPY -#include "fastmemcpy.h" -#endif - -#include - +# include "internal.h" #endif /* HAVE_AV_CONFIG_H */ -/* CONFIG_OS2 end */ +#ifndef attribute_deprecated +#if defined(__GNUC__) && (__GNUC__ > 3 || __GNUC__ == 3 && __GNUC_MINOR__ > 0) +# define attribute_deprecated __attribute__((deprecated)) #else - -/* unix */ - -#ifndef int64_t_C -#define int64_t_C(c) (c ## LL) -#define uint64_t_C(c) (c ## ULL) +# define attribute_deprecated +#endif #endif -#ifdef HAVE_AV_CONFIG_H - -# ifdef USE_FASTMEMCPY -# include "fastmemcpy.h" -# endif -# endif /* HAVE_AV_CONFIG_H */ - -#endif /* !CONFIG_WIN32 && !CONFIG_OS2 */ - -#ifdef HAVE_AV_CONFIG_H - -# include "bswap.h" - -# if defined(__MINGW32__) || defined(__CYGWIN__) || \ - defined(__OS2__) || (defined (__OpenBSD__) && !defined(__ELF__)) -# define MANGLE(a) "_" #a -# else -# define MANGLE(a) #a -# endif - -/* debug stuff */ - -# ifndef DEBUG -# define NDEBUG -# endif -# include - -/* dprintf macros */ -# if defined(CONFIG_WIN32) && !defined(__MINGW32__) && !defined(__CYGWIN__) - -inline void dprintf(const char* fmt,...) {} - -# else - -# ifdef DEBUG -# define dprintf(fmt,...) av_log(NULL, AV_LOG_DEBUG, fmt, __VA_ARGS__) -# else -# define dprintf(fmt,...) -# endif - -# endif /* !CONFIG_WIN32 */ - -# define av_abort() do { av_log(NULL, AV_LOG_ERROR, "Abort at %s:%d\n", __FILE__, __LINE__); abort(); } while (0) +#include "mem.h" //rounded divison & shift #define RSHIFT(a,b) ((a) > 0 ? ((a) + ((1<<(b))>>1))>>(b) : ((a) + ((1<<(b))>>1)-1)>>(b)) /* assume b>0 */ #define ROUNDED_DIV(a,b) (((a)>0 ? (a) + ((b)>>1) : (a) - ((b)>>1))/(b)) -#define ABS(a) ((a) >= 0 ? (a) : (-(a))) +#define FFABS(a) ((a) >= 0 ? (a) : (-(a))) +#define FFSIGN(a) ((a) > 0 ? 1 : -1) #define FFMAX(a,b) ((a) > (b) ? (a) : (b)) #define FFMIN(a,b) ((a) > (b) ? (b) : (a)) -extern const uint32_t inverse[256]; - -#ifdef ARCH_X86 -# define FASTDIV(a,b) \ - ({\ - int ret,dmy;\ - asm volatile(\ - "mull %3"\ - :"=d"(ret),"=a"(dmy)\ - :"1"(a),"g"(inverse[b])\ - );\ - ret;\ - }) -#elif defined(CONFIG_FASTDIV) -# define FASTDIV(a,b) ((uint32_t)((((uint64_t)a)*inverse[b])>>32)) -#else -# define FASTDIV(a,b) ((a)/(b)) -#endif - -#ifdef ARCH_X86 -// avoid +32 for shift optimization (gcc should do that ...) -static inline int32_t NEG_SSR32( int32_t a, int8_t s){ - asm ("sarl %1, %0\n\t" - : "+r" (a) - : "ic" ((uint8_t)(-s)) - ); - return a; -} -static inline uint32_t NEG_USR32(uint32_t a, int8_t s){ - asm ("shrl %1, %0\n\t" - : "+r" (a) - : "ic" ((uint8_t)(-s)) - ); - return a; -} -#else -# define NEG_SSR32(a,s) ((( int32_t)(a))>>(32-(s))) -# define NEG_USR32(a,s) (((uint32_t)(a))>>(32-(s))) -#endif - -/* bit output */ - -/* buf and buf_end must be present and used by every alternative writer. */ -typedef struct PutBitContext { -#ifdef ALT_BITSTREAM_WRITER - uint8_t *buf, *buf_end; - int index; -#else - uint32_t bit_buf; - int bit_left; - uint8_t *buf, *buf_ptr, *buf_end; -#endif -} PutBitContext; - -static inline void init_put_bits(PutBitContext *s, uint8_t *buffer, int buffer_size) -{ - s->buf = buffer; - s->buf_end = s->buf + buffer_size; -#ifdef ALT_BITSTREAM_WRITER - s->index=0; - ((uint32_t*)(s->buf))[0]=0; -// memset(buffer, 0, buffer_size); -#else - s->buf_ptr = s->buf; - s->bit_left=32; - s->bit_buf=0; -#endif -} - -/* return the number of bits output */ -static inline int put_bits_count(PutBitContext *s) -{ -#ifdef ALT_BITSTREAM_WRITER - return s->index; -#else - return (s->buf_ptr - s->buf) * 8 + 32 - s->bit_left; -#endif -} - -/* pad the end of the output stream with zeros */ -static inline void flush_put_bits(PutBitContext *s) -{ -#ifdef ALT_BITSTREAM_WRITER - align_put_bits(s); -#else - s->bit_buf<<= s->bit_left; - while (s->bit_left < 32) { - /* XXX: should test end of buffer */ - *s->buf_ptr++=s->bit_buf >> 24; - s->bit_buf<<=8; - s->bit_left+=8; - } - s->bit_left=32; - s->bit_buf=0; -#endif -} - -void align_put_bits(PutBitContext *s); -void put_string(PutBitContext * pbc, char *s, int put_zero); - -/* bit input */ -/* buffer, buffer_end and size_in_bits must be present and used by every reader */ -typedef struct GetBitContext { - const uint8_t *buffer, *buffer_end; -#ifdef ALT_BITSTREAM_READER - int index; -#elif defined LIBMPEG2_BITSTREAM_READER - uint8_t *buffer_ptr; - uint32_t cache; - int bit_count; -#elif defined A32_BITSTREAM_READER - uint32_t *buffer_ptr; - uint32_t cache0; - uint32_t cache1; - int bit_count; -#endif - int size_in_bits; -} GetBitContext; - -#define VLC_TYPE int16_t - -typedef struct VLC { - int bits; - VLC_TYPE (*table)[2]; ///< code, bits - int table_size, table_allocated; -} VLC; - -typedef struct RL_VLC_ELEM { - int16_t level; - int8_t len; - uint8_t run; -} RL_VLC_ELEM; - -#ifdef ARCH_SPARC -#define UNALIGNED_STORES_ARE_BAD -#endif - -/* used to avoid missaligned exceptions on some archs (alpha, ...) */ -#ifdef ARCH_X86 -# define unaligned32(a) (*(uint32_t*)(a)) -#else -# ifdef __GNUC__ -static inline uint32_t unaligned32(const void *v) { - struct Unaligned { - uint32_t i; - } __attribute__((packed)); - - return ((const struct Unaligned *) v)->i; -} -# elif defined(__DECC) -static inline uint32_t unaligned32(const void *v) { - return *(const __unaligned uint32_t *) v; -} -# else -static inline uint32_t unaligned32(const void *v) { - return *(const uint32_t *) v; -} -# endif -#endif //!ARCH_X86 - -#ifndef ALT_BITSTREAM_WRITER -static inline void put_bits(PutBitContext *s, int n, unsigned int value) -{ - unsigned int bit_buf; - int bit_left; - -#ifdef STATS - st_out_bit_counts[st_current_index] += n; -#endif - // printf("put_bits=%d %x\n", n, value); - assert(n == 32 || value < (1U << n)); - - bit_buf = s->bit_buf; - bit_left = s->bit_left; - - // printf("n=%d value=%x cnt=%d buf=%x\n", n, value, bit_cnt, bit_buf); - /* XXX: optimize */ - if (n < bit_left) { - bit_buf = (bit_buf<> (n - bit_left); -#ifdef UNALIGNED_STORES_ARE_BAD - if (3 & (intptr_t) s->buf_ptr) { - s->buf_ptr[0] = bit_buf >> 24; - s->buf_ptr[1] = bit_buf >> 16; - s->buf_ptr[2] = bit_buf >> 8; - s->buf_ptr[3] = bit_buf ; - } else -#endif - *(uint32_t *)s->buf_ptr = be2me_32(bit_buf); - //printf("bitbuf = %08x\n", bit_buf); - s->buf_ptr+=4; - bit_left+=32 - n; - bit_buf = value; - } - - s->bit_buf = bit_buf; - s->bit_left = bit_left; -} -#endif - - -#ifdef ALT_BITSTREAM_WRITER -static inline void put_bits(PutBitContext *s, int n, unsigned int value) -{ -# ifdef ALIGNED_BITSTREAM_WRITER -# ifdef ARCH_X86 - asm volatile( - "movl %0, %%ecx \n\t" - "xorl %%eax, %%eax \n\t" - "shrdl %%cl, %1, %%eax \n\t" - "shrl %%cl, %1 \n\t" - "movl %0, %%ecx \n\t" - "shrl $3, %%ecx \n\t" - "andl $0xFFFFFFFC, %%ecx \n\t" - "bswapl %1 \n\t" - "orl %1, (%2, %%ecx) \n\t" - "bswapl %%eax \n\t" - "addl %3, %0 \n\t" - "movl %%eax, 4(%2, %%ecx) \n\t" - : "=&r" (s->index), "=&r" (value) - : "r" (s->buf), "r" (n), "0" (s->index), "1" (value<<(-n)) - : "%eax", "%ecx" - ); -# else - int index= s->index; - uint32_t *ptr= ((uint32_t *)s->buf)+(index>>5); - - value<<= 32-n; - - ptr[0] |= be2me_32(value>>(index&31)); - ptr[1] = be2me_32(value<<(32-(index&31))); -//if(n>24) printf("%d %d\n", n, value); - index+= n; - s->index= index; -# endif -# else //ALIGNED_BITSTREAM_WRITER -# ifdef ARCH_X86 - asm volatile( - "movl $7, %%ecx \n\t" - "andl %0, %%ecx \n\t" - "addl %3, %%ecx \n\t" - "negl %%ecx \n\t" - "shll %%cl, %1 \n\t" - "bswapl %1 \n\t" - "movl %0, %%ecx \n\t" - "shrl $3, %%ecx \n\t" - "orl %1, (%%ecx, %2) \n\t" - "addl %3, %0 \n\t" - "movl $0, 4(%%ecx, %2) \n\t" - : "=&r" (s->index), "=&r" (value) - : "r" (s->buf), "r" (n), "0" (s->index), "1" (value) - : "%ecx" - ); -# else - int index= s->index; - uint32_t *ptr= (uint32_t*)(((uint8_t *)s->buf)+(index>>3)); - - ptr[0] |= be2me_32(value<<(32-n-(index&7) )); - ptr[1] = 0; -//if(n>24) printf("%d %d\n", n, value); - index+= n; - s->index= index; -# endif -# endif //!ALIGNED_BITSTREAM_WRITER -} -#endif - - -static inline uint8_t* pbBufPtr(PutBitContext *s) -{ -#ifdef ALT_BITSTREAM_WRITER - return s->buf + (s->index>>3); -#else - return s->buf_ptr; -#endif -} - -/** - * - * PutBitContext must be flushed & aligned to a byte boundary before calling this. - */ -static inline void skip_put_bytes(PutBitContext *s, int n){ - assert((put_bits_count(s)&7)==0); -#ifdef ALT_BITSTREAM_WRITER - FIXME may need some cleaning of the buffer - s->index += n<<3; -#else - assert(s->bit_left==32); - s->buf_ptr += n; -#endif -} - -/** - * Changes the end of the buffer. - */ -static inline void set_put_bits_buffer_size(PutBitContext *s, int size){ - s->buf_end= s->buf + size; -} - -/* Bitstream reader API docs: -name - abritary name which is used as prefix for the internal variables - -gb - getbitcontext - -OPEN_READER(name, gb) - loads gb into local variables - -CLOSE_READER(name, gb) - stores local vars in gb - -UPDATE_CACHE(name, gb) - refills the internal cache from the bitstream - after this call at least MIN_CACHE_BITS will be available, - -GET_CACHE(name, gb) - will output the contents of the internal cache, next bit is MSB of 32 or 64 bit (FIXME 64bit) - -SHOW_UBITS(name, gb, num) - will return the nest num bits - -SHOW_SBITS(name, gb, num) - will return the nest num bits and do sign extension - -SKIP_BITS(name, gb, num) - will skip over the next num bits - note, this is equinvalent to SKIP_CACHE; SKIP_COUNTER - -SKIP_CACHE(name, gb, num) - will remove the next num bits from the cache (note SKIP_COUNTER MUST be called before UPDATE_CACHE / CLOSE_READER) - -SKIP_COUNTER(name, gb, num) - will increment the internal bit counter (see SKIP_CACHE & SKIP_BITS) - -LAST_SKIP_CACHE(name, gb, num) - will remove the next num bits from the cache if it is needed for UPDATE_CACHE otherwise it will do nothing - -LAST_SKIP_BITS(name, gb, num) - is equinvalent to SKIP_LAST_CACHE; SKIP_COUNTER - -for examples see get_bits, show_bits, skip_bits, get_vlc -*/ - -static inline int unaligned32_be(const void *v) -{ -#ifdef CONFIG_ALIGN - const uint8_t *p=v; - return (((p[0]<<8) | p[1])<<16) | (p[2]<<8) | (p[3]); -#else - return be2me_32( unaligned32(v)); //original -#endif -} - -#ifdef ALT_BITSTREAM_READER -# define MIN_CACHE_BITS 25 - -# define OPEN_READER(name, gb)\ - int name##_index= (gb)->index;\ - int name##_cache= 0;\ - -# define CLOSE_READER(name, gb)\ - (gb)->index= name##_index;\ - -# define UPDATE_CACHE(name, gb)\ - name##_cache= unaligned32_be( ((uint8_t *)(gb)->buffer)+(name##_index>>3) ) << (name##_index&0x07);\ - -# define SKIP_CACHE(name, gb, num)\ - name##_cache <<= (num);\ - -// FIXME name? -# define SKIP_COUNTER(name, gb, num)\ - name##_index += (num);\ - -# define SKIP_BITS(name, gb, num)\ - {\ - SKIP_CACHE(name, gb, num)\ - SKIP_COUNTER(name, gb, num)\ - }\ - -# define LAST_SKIP_BITS(name, gb, num) SKIP_COUNTER(name, gb, num) -# define LAST_SKIP_CACHE(name, gb, num) ; - -# define SHOW_UBITS(name, gb, num)\ - NEG_USR32(name##_cache, num) - -# define SHOW_SBITS(name, gb, num)\ - NEG_SSR32(name##_cache, num) - -# define GET_CACHE(name, gb)\ - ((uint32_t)name##_cache) - -static inline int get_bits_count(GetBitContext *s){ - return s->index; -} -#elif defined LIBMPEG2_BITSTREAM_READER -//libmpeg2 like reader - -# define MIN_CACHE_BITS 17 - -# define OPEN_READER(name, gb)\ - int name##_bit_count=(gb)->bit_count;\ - int name##_cache= (gb)->cache;\ - uint8_t * name##_buffer_ptr=(gb)->buffer_ptr;\ - -# define CLOSE_READER(name, gb)\ - (gb)->bit_count= name##_bit_count;\ - (gb)->cache= name##_cache;\ - (gb)->buffer_ptr= name##_buffer_ptr;\ - -#ifdef LIBMPEG2_BITSTREAM_READER_HACK - -# define UPDATE_CACHE(name, gb)\ - if(name##_bit_count >= 0){\ - name##_cache+= (int)be2me_16(*(uint16_t*)name##_buffer_ptr) << name##_bit_count;\ - ((uint16_t*)name##_buffer_ptr)++;\ - name##_bit_count-= 16;\ - }\ - -#else - -# define UPDATE_CACHE(name, gb)\ - if(name##_bit_count >= 0){\ - name##_cache+= ((name##_buffer_ptr[0]<<8) + name##_buffer_ptr[1]) << name##_bit_count;\ - name##_buffer_ptr+=2;\ - name##_bit_count-= 16;\ - }\ - -#endif - -# define SKIP_CACHE(name, gb, num)\ - name##_cache <<= (num);\ - -# define SKIP_COUNTER(name, gb, num)\ - name##_bit_count += (num);\ - -# define SKIP_BITS(name, gb, num)\ - {\ - SKIP_CACHE(name, gb, num)\ - SKIP_COUNTER(name, gb, num)\ - }\ - -# define LAST_SKIP_BITS(name, gb, num) SKIP_BITS(name, gb, num) -# define LAST_SKIP_CACHE(name, gb, num) SKIP_CACHE(name, gb, num) - -# define SHOW_UBITS(name, gb, num)\ - NEG_USR32(name##_cache, num) - -# define SHOW_SBITS(name, gb, num)\ - NEG_SSR32(name##_cache, num) - -# define GET_CACHE(name, gb)\ - ((uint32_t)name##_cache) - -static inline int get_bits_count(GetBitContext *s){ - return (s->buffer_ptr - s->buffer)*8 - 16 + s->bit_count; -} - -#elif defined A32_BITSTREAM_READER - -# define MIN_CACHE_BITS 32 - -# define OPEN_READER(name, gb)\ - int name##_bit_count=(gb)->bit_count;\ - uint32_t name##_cache0= (gb)->cache0;\ - uint32_t name##_cache1= (gb)->cache1;\ - uint32_t * name##_buffer_ptr=(gb)->buffer_ptr;\ - -# define CLOSE_READER(name, gb)\ - (gb)->bit_count= name##_bit_count;\ - (gb)->cache0= name##_cache0;\ - (gb)->cache1= name##_cache1;\ - (gb)->buffer_ptr= name##_buffer_ptr;\ - -# define UPDATE_CACHE(name, gb)\ - if(name##_bit_count > 0){\ - const uint32_t next= be2me_32( *name##_buffer_ptr );\ - name##_cache0 |= NEG_USR32(next,name##_bit_count);\ - name##_cache1 |= next<buffer_ptr - s->buffer)*8 - 32 + s->bit_count; -} - -#endif - -/** - * read mpeg1 dc style vlc (sign bit + mantisse with no MSB). - * if MSB not set it is negative - * @param n length in bits - * @author BERO - */ -static inline int get_xbits(GetBitContext *s, int n){ - register int tmp; - register int32_t cache; - OPEN_READER(re, s) - UPDATE_CACHE(re, s) - cache = GET_CACHE(re,s); - if ((int32_t)cache<0) { //MSB=1 - tmp = NEG_USR32(cache,n); - } else { - // tmp = (-1<index+=n for the ALT_READER :)) - OPEN_READER(re, s) - UPDATE_CACHE(re, s) - LAST_SKIP_BITS(re, s, n) - CLOSE_READER(re, s) -} - -static inline unsigned int get_bits1(GetBitContext *s){ -#ifdef ALT_BITSTREAM_READER - int index= s->index; - uint8_t result= s->buffer[ index>>3 ]; - result<<= (index&0x07); - result>>= 8 - 1; - index++; - s->index= index; - - return result; -#else - return get_bits(s, 1); -#endif -} - -static inline unsigned int show_bits1(GetBitContext *s){ - return show_bits(s, 1); -} - -static inline void skip_bits1(GetBitContext *s){ - skip_bits(s, 1); -} - -/** - * init GetBitContext. - * @param buffer bitstream buffer, must be FF_INPUT_BUFFER_PADDING_SIZE bytes larger then the actual read bits - * because some optimized bitstream readers read 32 or 64 bit at once and could read over the end - * @param bit_size the size of the buffer in bits - */ -static inline void init_get_bits(GetBitContext *s, - const uint8_t *buffer, int bit_size) -{ - const int buffer_size= (bit_size+7)>>3; - - s->buffer= buffer; - s->size_in_bits= bit_size; - s->buffer_end= buffer + buffer_size; -#ifdef ALT_BITSTREAM_READER - s->index=0; -#elif defined LIBMPEG2_BITSTREAM_READER -#ifdef LIBMPEG2_BITSTREAM_READER_HACK - if ((int)buffer&1) { - /* word alignment */ - s->cache = (*buffer++)<<24; - s->buffer_ptr = buffer; - s->bit_count = 16-8; - } else -#endif - { - s->buffer_ptr = buffer; - s->bit_count = 16; - s->cache = 0; - } -#elif defined A32_BITSTREAM_READER - s->buffer_ptr = (uint32_t*)buffer; - s->bit_count = 32; - s->cache0 = 0; - s->cache1 = 0; -#endif - { - OPEN_READER(re, s) - UPDATE_CACHE(re, s) - UPDATE_CACHE(re, s) - CLOSE_READER(re, s) - } -#ifdef A32_BITSTREAM_READER - s->cache1 = 0; -#endif -} - -int check_marker(GetBitContext *s, const char *msg); -void align_get_bits(GetBitContext *s); -int init_vlc(VLC *vlc, int nb_bits, int nb_codes, - const void *bits, int bits_wrap, int bits_size, - const void *codes, int codes_wrap, int codes_size); -void free_vlc(VLC *vlc); - -/** - * - * if the vlc code is invalid and max_depth=1 than no bits will be removed - * if the vlc code is invalid and max_depth>1 than the number of bits removed - * is undefined - */ -#define GET_VLC(code, name, gb, table, bits, max_depth)\ -{\ - int n, index, nb_bits;\ -\ - index= SHOW_UBITS(name, gb, bits);\ - code = table[index][0];\ - n = table[index][1];\ -\ - if(max_depth > 1 && n < 0){\ - LAST_SKIP_BITS(name, gb, bits)\ - UPDATE_CACHE(name, gb)\ -\ - nb_bits = -n;\ -\ - index= SHOW_UBITS(name, gb, nb_bits) + code;\ - code = table[index][0];\ - n = table[index][1];\ - if(max_depth > 2 && n < 0){\ - LAST_SKIP_BITS(name, gb, nb_bits)\ - UPDATE_CACHE(name, gb)\ -\ - nb_bits = -n;\ -\ - index= SHOW_UBITS(name, gb, nb_bits) + code;\ - code = table[index][0];\ - n = table[index][1];\ - }\ - }\ - SKIP_BITS(name, gb, n)\ -} - -#define GET_RL_VLC(level, run, name, gb, table, bits, max_depth)\ -{\ - int n, index, nb_bits;\ -\ - index= SHOW_UBITS(name, gb, bits);\ - level = table[index].level;\ - n = table[index].len;\ -\ - if(max_depth > 1 && n < 0){\ - LAST_SKIP_BITS(name, gb, bits)\ - UPDATE_CACHE(name, gb)\ -\ - nb_bits = -n;\ -\ - index= SHOW_UBITS(name, gb, nb_bits) + level;\ - level = table[index].level;\ - n = table[index].len;\ - }\ - run= table[index].run;\ - SKIP_BITS(name, gb, n)\ -} - -// deprecated, dont use get_vlc for new code, use get_vlc2 instead or use GET_VLC directly -static inline int get_vlc(GetBitContext *s, VLC *vlc) -{ - int code; - VLC_TYPE (*table)[2]= vlc->table; - - OPEN_READER(re, s) - UPDATE_CACHE(re, s) - - GET_VLC(code, re, s, table, vlc->bits, 3) - - CLOSE_READER(re, s) - return code; -} - -/** - * parses a vlc code, faster then get_vlc() - * @param bits is the number of bits which will be read at once, must be - * identical to nb_bits in init_vlc() - * @param max_depth is the number of times bits bits must be readed to completly - * read the longest vlc code - * = (max_vlc_length + bits - 1) / bits - */ -static always_inline int get_vlc2(GetBitContext *s, VLC_TYPE (*table)[2], - int bits, int max_depth) -{ - int code; - - OPEN_READER(re, s) - UPDATE_CACHE(re, s) - - GET_VLC(code, re, s, table, bits, max_depth) - - CLOSE_READER(re, s) - return code; -} - -//#define TRACE - -#ifdef TRACE - -static inline void print_bin(int bits, int n){ - int i; - - for(i=n-1; i>=0; i--){ - printf("%d", (bits>>i)&1); - } - for(i=n; i<24; i++) - printf(" "); -} - -static inline int get_bits_trace(GetBitContext *s, int n, char *file, char *func, int line){ - int r= get_bits(s, n); - - print_bin(r, n); - printf("%5d %2d %3d bit @%5d in %s %s:%d\n", r, n, r, get_bits_count(s)-n, file, func, line); - return r; -} -static inline int get_vlc_trace(GetBitContext *s, VLC_TYPE (*table)[2], int bits, int max_depth, char *file, char *func, int line){ - int show= show_bits(s, 24); - int pos= get_bits_count(s); - int r= get_vlc2(s, table, bits, max_depth); - int len= get_bits_count(s) - pos; - int bits2= show>>(24-len); - - print_bin(bits2, len); - - printf("%5d %2d %3d vlc @%5d in %s %s:%d\n", bits2, len, r, pos, file, func, line); - return r; -} -static inline int get_xbits_trace(GetBitContext *s, int n, char *file, char *func, int line){ - int show= show_bits(s, n); - int r= get_xbits(s, n); - - print_bin(show, n); - printf("%5d %2d %3d xbt @%5d in %s %s:%d\n", show, n, r, get_bits_count(s)-n, file, func, line); - return r; -} - -#define get_bits(s, n) get_bits_trace(s, n, __FILE__, __PRETTY_FUNCTION__, __LINE__) -#define get_bits1(s) get_bits_trace(s, 1, __FILE__, __PRETTY_FUNCTION__, __LINE__) -#define get_xbits(s, n) get_xbits_trace(s, n, __FILE__, __PRETTY_FUNCTION__, __LINE__) -#define get_vlc(s, vlc) get_vlc_trace(s, (vlc)->table, (vlc)->bits, 3, __FILE__, __PRETTY_FUNCTION__, __LINE__) -#define get_vlc2(s, tab, bits, max) get_vlc_trace(s, tab, bits, max, __FILE__, __PRETTY_FUNCTION__, __LINE__) - -#define tprintf(...) av_log(NULL, AV_LOG_DEBUG, __VA_ARGS__) - -#else //TRACE -#define tprintf(...) {} -#endif - -/* define it to include statistics code (useful only for optimizing - codec efficiency */ -//#define STATS - -#ifdef STATS - -enum { - ST_UNKNOWN, - ST_DC, - ST_INTRA_AC, - ST_INTER_AC, - ST_INTRA_MB, - ST_INTER_MB, - ST_MV, - ST_NB, -}; - -extern int st_current_index; -extern unsigned int st_bit_counts[ST_NB]; -extern unsigned int st_out_bit_counts[ST_NB]; - -void print_stats(void); -#endif +#define FFSWAP(type,a,b) do{type SWAP_tmp= b; b= a; a= SWAP_tmp;}while(0) /* misc math functions */ extern const uint8_t ff_log2_tab[256]; @@ -1143,7 +120,21 @@ static inline int av_log2_16bit(unsigned int v) /* median of 3 */ static inline int mid_pred(int a, int b, int c) { -#if 0 +#ifdef HAVE_CMOV + int i=b; + asm volatile( + "cmp %2, %1 \n\t" + "cmovg %1, %0 \n\t" + "cmovg %2, %1 \n\t" + "cmp %3, %1 \n\t" + "cmovl %3, %1 \n\t" + "cmp %1, %0 \n\t" + "cmovg %1, %0 \n\t" + :"+&r"(i), "+&r"(a) + :"r"(b), "r"(c) + ); + return i; +#elif 0 int t= (a-b)&((a-b)>>31); a-=t; b+=t; @@ -1167,50 +158,41 @@ static inline int mid_pred(int a, int b, int c) #endif } -static inline int clip(int a, int amin, int amax) +/** + * clip a signed integer value into the amin-amax range + * @param a value to clip + * @param amin minimum value of the clip range + * @param amax maximum value of the clip range + * @return clipped value + */ +static inline int av_clip(int a, int amin, int amax) { - if (a < amin) - return amin; - else if (a > amax) - return amax; - else - return a; + if (a < amin) return amin; + else if (a > amax) return amax; + else return a; } -static inline int clip_uint8(int a) +/** + * clip a signed integer value into the 0-255 range + * @param a value to clip + * @return clipped value + */ +static inline uint8_t av_clip_uint8(int a) { if (a&(~255)) return (-a)>>31; else return a; } /* math */ -extern const uint8_t ff_sqrt_tab[128]; - int64_t ff_gcd(int64_t a, int64_t b); -static inline int ff_sqrt(int a) -{ - int ret=0; - int s; - int ret_sq=0; - - if(a<128) return ff_sqrt_tab[a]; - - for(s=15; s>=0; s--){ - int b= ret_sq + (1<<(s*2)) + (ret<>ones;\ + while(--ones > 0){\ + int tmp= GET_BYTE - 128;\ + if(tmp>>6)\ + ERROR\ + val= (val<<6) + tmp;\ + }\ + } -#ifdef ARCH_X86 -#define MASK_ABS(mask, level)\ - asm volatile(\ - "cdq \n\t"\ - "xorl %1, %0 \n\t"\ - "subl %1, %0 \n\t"\ - : "+a" (level), "=&d" (mask)\ - ); -#else -#define MASK_ABS(mask, level)\ - mask= level>>31;\ - level= (level^mask)-mask; -#endif +/*! + * \def PUT_UTF8(val, tmp, PUT_BYTE) + * converts a 32-bit unicode character to its utf-8 encoded form (up to 4 bytes long). + * \param val is an input only argument and should be of type uint32_t. It holds + * a ucs4 encoded unicode character that is to be converted to utf-8. If + * val is given as a function it's executed only once. + * \param tmp is a temporary variable and should be of type uint8_t. It + * represents an intermediate value during conversion that is to be + * outputted by PUT_BYTE. + * \param PUT_BYTE writes the converted utf-8 bytes to any proper destination. + * It could be a function or a statement, and uses tmp as the input byte. + * For example, PUT_BYTE could be "*output++ = tmp;" PUT_BYTE will be + * executed up to 4 times for values in the valid utf-8 range and up to + * 7 times in the general case, depending on the length of the converted + * unicode character. + */ +#define PUT_UTF8(val, tmp, PUT_BYTE)\ + {\ + int bytes, shift;\ + uint32_t in = val;\ + if (in < 0x80) {\ + tmp = in;\ + PUT_BYTE\ + } else {\ + bytes = (av_log2(in) + 4) / 5;\ + shift = (bytes - 1) * 6;\ + tmp = (256 - (256 >> bytes)) | (in >> shift);\ + PUT_BYTE\ + while (shift >= 6) {\ + shift -= 6;\ + tmp = 0x80 | ((in >> shift) & 0x3f);\ + PUT_BYTE\ + }\ + }\ + } - -#if __CPU__ >= 686 && !defined(RUNTIME_CPUDETECT) -#define COPY3_IF_LT(x,y,a,b,c,d)\ -asm volatile (\ - "cmpl %0, %3 \n\t"\ - "cmovl %3, %0 \n\t"\ - "cmovl %4, %1 \n\t"\ - "cmovl %5, %2 \n\t"\ - : "+r" (x), "+r" (a), "+r" (c)\ - : "r" (y), "r" (b), "r" (d)\ -); -#else -#define COPY3_IF_LT(x,y,a,b,c,d)\ -if((y)<(x)){\ - (x)=(y);\ - (a)=(b);\ - (c)=(d);\ -} -#endif - -#ifdef ARCH_X86 -static inline long long rdtsc() +#if defined(ARCH_X86) || defined(ARCH_POWERPC) +#if defined(ARCH_X86_64) +static inline uint64_t read_time(void) { - long long l; - asm volatile( "rdtsc\n\t" - : "=A" (l) - ); - return l; + uint64_t a, d; + asm volatile( "rdtsc\n\t" + : "=a" (a), "=d" (d) + ); + return (d << 32) | (a & 0xffffffff); } +#elif defined(ARCH_X86_32) +static inline long long read_time(void) +{ + long long l; + asm volatile( "rdtsc\n\t" + : "=A" (l) + ); + return l; +} +#else //FIXME check ppc64 +static inline uint64_t read_time(void) +{ + uint32_t tbu, tbl, temp; + + /* from section 2.2.1 of the 32-bit PowerPC PEM */ + __asm__ __volatile__( + "1:\n" + "mftbu %2\n" + "mftb %0\n" + "mftbu %1\n" + "cmpw %2,%1\n" + "bne 1b\n" + : "=r"(tbl), "=r"(tbu), "=r"(temp) + : + : "cc"); + + return (((uint64_t)tbu)<<32) | (uint64_t)tbl; +} +#endif #define START_TIMER \ uint64_t tend;\ -uint64_t tstart= rdtsc();\ +uint64_t tstart= read_time();\ #define STOP_TIMER(id) \ -tend= rdtsc();\ +tend= read_time();\ {\ static uint64_t tsum=0;\ static int tcount=0;\ static int tskip_count=0;\ - if(tcount<2 || tend - tstart < 8*tsum/tcount){\ + if(tcount<2 || tend - tstart < FFMAX(8*tsum/tcount, 2000)){\ tsum+= tend - tstart;\ tcount++;\ }else\ tskip_count++;\ - if(256*256*256*64%(tcount+tskip_count)==0){\ - av_log(NULL, AV_LOG_DEBUG, "%Ld dezicycles in %s, %d runs, %d skips\n", tsum*10/tcount, id, tcount, tskip_count);\ + if(((tcount+tskip_count)&(tcount+tskip_count-1))==0){\ + av_log(NULL, AV_LOG_DEBUG, "%"PRIu64" dezicycles in %s, %d runs, %d skips\n", tsum*10/tcount, id, tcount, tskip_count);\ }\ } +#else +#define START_TIMER +#define STOP_TIMER(id) {} #endif -#define CLAMP_TO_8BIT(d) ((d > 0xff) ? 0xff : (d < 0) ? 0 : d) - -/* avoid usage of various functions */ -#define malloc please_use_av_malloc -#define free please_use_av_free -#define realloc please_use_av_realloc -#define time time_is_forbidden_due_to_security_issues -#define rand rand_is_forbidden_due_to_state_trashing -#define srand srand_is_forbidden_due_to_state_trashing -#if !(defined(LIBAVFORMAT_BUILD) || defined(_FRAMEHOOK_H)) -#define printf please_use_av_log -#define fprintf please_use_av_log -#endif - -#define CHECKED_ALLOCZ(p, size)\ -{\ - p= av_mallocz(size);\ - if(p==NULL && (size)!=0){\ - perror("malloc");\ - goto fail;\ - }\ -} - -#endif /* HAVE_AV_CONFIG_H */ - #endif /* COMMON_H */ diff --git a/stepmania/src/ffmpeg/include/ffmpeg/integer.h b/stepmania/src/ffmpeg/include/ffmpeg/integer.h new file mode 100644 index 0000000000..2a4d703166 --- /dev/null +++ b/stepmania/src/ffmpeg/include/ffmpeg/integer.h @@ -0,0 +1,82 @@ +/* + * arbitrary precision integers + * Copyright (c) 2004 Michael Niedermayer + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + */ + +/** + * @file integer.h + * arbitrary precision integers + * @author Michael Niedermayer + */ + +#ifndef INTEGER_H +#define INTEGER_H + +#define AV_INTEGER_SIZE 8 + +typedef struct AVInteger{ + uint16_t v[AV_INTEGER_SIZE]; +} AVInteger; + +AVInteger av_add_i(AVInteger a, AVInteger b); +AVInteger av_sub_i(AVInteger a, AVInteger b); + +/** + * returns the rounded down value of the logarithm of base 2 of the given AVInteger. + * this is simply the index of the most significant bit which is 1. Or 0 of all bits are 0 + */ +int av_log2_i(AVInteger a); +AVInteger av_mul_i(AVInteger a, AVInteger b); + +/** + * returns 0 if a==b, 1 if a>b and -1 if a + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef INTFLOAT_READWRITE_H +#define INTFLOAT_READWRITE_H + +#include "common.h" + +/* IEEE 80 bits extended float */ +typedef struct AVExtFloat { + uint8_t exponent[2]; + uint8_t mantissa[8]; +} AVExtFloat; + +double av_int2dbl(int64_t v); +float av_int2flt(int32_t v); +double av_ext2dbl(const AVExtFloat ext); +int64_t av_dbl2int(double d); +int32_t av_flt2int(float d); +AVExtFloat av_dbl2ext(double d); + +#endif /* INTFLOAT_READWRITE_H */ diff --git a/stepmania/src/ffmpeg/include/ffmpeg/log.h b/stepmania/src/ffmpeg/include/ffmpeg/log.h new file mode 100644 index 0000000000..fa88f5fb25 --- /dev/null +++ b/stepmania/src/ffmpeg/include/ffmpeg/log.h @@ -0,0 +1,116 @@ +/* + * copyright (c) 2006 Michael Niedermayer + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef LOG_H +#define LOG_H + +#include + +/** + * Used by av_log + */ +typedef struct AVCLASS AVClass; +struct AVCLASS { + const char* class_name; + const char* (*item_name)(void*); /* actually passing a pointer to an AVCodecContext + or AVFormatContext, which begin with an AVClass. + Needed because av_log is in libavcodec and has no visibility + of AVIn/OutputFormat */ + const struct AVOption *option; +}; + +/* av_log API */ + +#if LIBAVUTIL_VERSION_INT < (50<<16) +#define AV_LOG_QUIET -1 +#define AV_LOG_FATAL 0 +#define AV_LOG_ERROR 0 +#define AV_LOG_WARNING 1 +#define AV_LOG_INFO 1 +#define AV_LOG_VERBOSE 1 +#define AV_LOG_DEBUG 2 +#else +#define AV_LOG_QUIET -8 + +/** + * something went really wrong and we will crash now + */ +#define AV_LOG_PANIC 0 + +/** + * something went wrong and recovery is not possible + * like no header in a format which depends on it or a combination + * of parameters which are not allowed + */ +#define AV_LOG_FATAL 8 + +/** + * something went wrong and cannot losslessly be recovered + * but not all future data is affected + */ +#define AV_LOG_ERROR 16 + +/** + * something somehow does not look correct / something which may or may not + * lead to some problems like use of -vstrict -2 + */ +#define AV_LOG_WARNING 24 + +#define AV_LOG_INFO 32 +#define AV_LOG_VERBOSE 40 + +/** + * stuff which is only useful for libav* developers + */ +#define AV_LOG_DEBUG 48 +#endif +extern int av_log_level; + +/** + * Send the specified message to the log if the level is less than or equal to + * the current av_log_level. By default, all logging messages are sent to + * stderr. This behavior can be altered by setting a different av_vlog callback + * function. + * + * @param avcl A pointer to an arbitrary struct of which the first field is a + * pointer to an AVClass struct. + * @param level The importance level of the message, lower values signifying + * higher importance. + * @param fmt The format string (printf-compatible) that specifies how + * subsequent arguments are converted to output. + * @see av_vlog + */ +#ifdef __GNUC__ +extern void av_log(void*, int level, const char *fmt, ...) __attribute__ ((__format__ (__printf__, 3, 4))); +#else +extern void av_log(void*, int level, const char *fmt, ...); +#endif + +#if LIBAVUTIL_VERSION_INT < (50<<16) +extern void av_vlog(void*, int level, const char *fmt, va_list); +extern int av_log_get_level(void); +extern void av_log_set_level(int); +extern void av_log_set_callback(void (*)(void*, int, const char*, va_list)); +extern void av_log_default_callback(void* ptr, int level, const char* fmt, va_list vl); +#else +extern void (*av_vlog)(void*, int, const char*, va_list); +#endif + +#endif /* LOG_H */ diff --git a/stepmania/src/ffmpeg/include/ffmpeg/mathematics.h b/stepmania/src/ffmpeg/include/ffmpeg/mathematics.h new file mode 100644 index 0000000000..0b74b254b9 --- /dev/null +++ b/stepmania/src/ffmpeg/include/ffmpeg/mathematics.h @@ -0,0 +1,51 @@ +/* + * copyright (c) 2005 Michael Niedermayer + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef MATHEMATICS_H +#define MATHEMATICS_H + +#include "rational.h" + +enum AVRounding { + AV_ROUND_ZERO = 0, ///< round toward zero + AV_ROUND_INF = 1, ///< round away from zero + AV_ROUND_DOWN = 2, ///< round toward -infinity + AV_ROUND_UP = 3, ///< round toward +infinity + AV_ROUND_NEAR_INF = 5, ///< round to nearest and halfway cases away from zero +}; + +/** + * rescale a 64bit integer with rounding to nearest. + * a simple a*b/c isn't possible as it can overflow + */ +int64_t av_rescale(int64_t a, int64_t b, int64_t c); + +/** + * rescale a 64bit integer with specified rounding. + * a simple a*b/c isn't possible as it can overflow + */ +int64_t av_rescale_rnd(int64_t a, int64_t b, int64_t c, enum AVRounding); + +/** + * rescale a 64bit integer by 2 rational numbers. + */ +int64_t av_rescale_q(int64_t a, AVRational bq, AVRational cq); + +#endif /* MATHEMATICS_H */ diff --git a/stepmania/src/ffmpeg/include/ffmpeg/mem.h b/stepmania/src/ffmpeg/include/ffmpeg/mem.h new file mode 100644 index 0000000000..4ebdad8f57 --- /dev/null +++ b/stepmania/src/ffmpeg/include/ffmpeg/mem.h @@ -0,0 +1,65 @@ +/* + * copyright (c) 2006 Michael Niedermayer + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/** + * @file mem.h + * Memory handling functions. + */ + +#ifndef AV_MEM_H +#define AV_MEM_H + +#ifdef __GNUC__ + #define DECLARE_ALIGNED(n,t,v) t v __attribute__ ((aligned (n))) +#else + #define DECLARE_ALIGNED(n,t,v) __declspec(align(n)) t v +#endif + +/** + * Memory allocation of size byte with alignment suitable for all + * memory accesses (including vectors if available on the + * CPU). av_malloc(0) must return a non NULL pointer. + */ +void *av_malloc(unsigned int size); + +/** + * av_realloc semantics (same as glibc): if ptr is NULL and size > 0, + * identical to malloc(size). If size is zero, it is identical to + * free(ptr) and NULL is returned. + */ +void *av_realloc(void *ptr, unsigned int size); + +/** + * Free memory which has been allocated with av_malloc(z)() or av_realloc(). + * NOTE: ptr = NULL is explicetly allowed + * Note2: it is recommended that you use av_freep() instead + */ +void av_free(void *ptr); + +void *av_mallocz(unsigned int size); +char *av_strdup(const char *s); + +/** + * Frees memory and sets the pointer to NULL. + * @param ptr pointer to the pointer which should be freed + */ +void av_freep(void *ptr); + +#endif /* AV_MEM_H */ diff --git a/stepmania/src/ffmpeg/include/ffmpeg/rational.h b/stepmania/src/ffmpeg/include/ffmpeg/rational.h index d5fc77f1a6..63c0b150f2 100644 --- a/stepmania/src/ffmpeg/include/ffmpeg/rational.h +++ b/stepmania/src/ffmpeg/include/ffmpeg/rational.h @@ -2,22 +2,24 @@ * Rational numbers * Copyright (c) 2003 Michael Niedermayer * - * This library is free software; you can redistribute it and/or + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. + * version 2.1 of the License, or (at your option) any later version. * - * This library is distributed in the hope that it will be useful, + * FFmpeg is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * */ - + /** * @file rational.h * Rational numbers. @@ -27,27 +29,86 @@ #ifndef RATIONAL_H #define RATIONAL_H +/** + * Rational number num/den. + */ typedef struct AVRational{ - int num; - int den; + int num; ///< numerator + int den; ///< denominator } AVRational; +/** + * Compare two rationals. + * @param a first rational + * @param b second rational + * @return 0 if a==b, 1 if a>b and -1 if a>63)|1; + else return 0; } +/** + * Rational to double conversion. + * @param a rational to convert + * @return (double) a + */ static inline double av_q2d(AVRational a){ return a.num / (double) a.den; } +/** + * Reduce a fraction. + * This is useful for framerate calculations. + * @param dst_nom destination numerator + * @param dst_den destination denominator + * @param nom source numerator + * @param den source denominator + * @param max the maximum allowed for dst_nom & dst_den + * @return 1 if exact, 0 otherwise + */ +int av_reduce(int *dst_nom, int *dst_den, int64_t nom, int64_t den, int64_t max); + +/** + * Multiplies two rationals. + * @param b first rational. + * @param c second rational. + * @return b*c. + */ AVRational av_mul_q(AVRational b, AVRational c); + +/** + * Divides one rational by another. + * @param b first rational. + * @param c second rational. + * @return b/c. + */ AVRational av_div_q(AVRational b, AVRational c); + +/** + * Adds two rationals. + * @param b first rational. + * @param c second rational. + * @return b+c. + */ AVRational av_add_q(AVRational b, AVRational c); + +/** + * Subtracts one rational from another. + * @param b first rational. + * @param c second rational. + * returns b-c. + */ AVRational av_sub_q(AVRational b, AVRational c); + +/** + * Converts a double precision floating point number to a rational. + * @param d double to convert + * @param max the maximum allowed numerator and denominator + * @return (AVRational) d. + */ AVRational av_d2q(double d, int max); #endif // RATIONAL_H diff --git a/stepmania/src/ffmpeg/include/ffmpeg/rtp.h b/stepmania/src/ffmpeg/include/ffmpeg/rtp.h index 0c0ae35ac0..fec7630517 100644 --- a/stepmania/src/ffmpeg/include/ffmpeg/rtp.h +++ b/stepmania/src/ffmpeg/include/ffmpeg/rtp.h @@ -2,19 +2,21 @@ * RTP definitions * Copyright (c) 2002 Fabrice Bellard. * - * This library is free software; you can redistribute it and/or + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. + * version 2.1 of the License, or (at your option) any later version. * - * This library is distributed in the hope that it will be useful, + * FFmpeg is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef RTP_H #define RTP_H @@ -24,17 +26,102 @@ int rtp_init(void); int rtp_get_codec_info(AVCodecContext *codec, int payload_type); -int rtp_get_payload_type(AVCodecContext *codec); -int rtp_parse_packet(AVFormatContext *s1, AVPacket *pkt, - const unsigned char *buf, int len); -extern AVOutputFormat rtp_mux; -extern AVInputFormat rtp_demux; +/** return < 0 if unknown payload type */ +int rtp_get_payload_type(AVCodecContext *codec); + +typedef struct RTPDemuxContext RTPDemuxContext; +typedef struct rtp_payload_data_s rtp_payload_data_s; +RTPDemuxContext *rtp_parse_open(AVFormatContext *s1, AVStream *st, URLContext *rtpc, int payload_type, rtp_payload_data_s *rtp_payload_data); +int rtp_parse_packet(RTPDemuxContext *s, AVPacket *pkt, + const uint8_t *buf, int len); +void rtp_parse_close(RTPDemuxContext *s); + +extern AVOutputFormat rtp_muxer; +extern AVInputFormat rtp_demuxer; int rtp_get_local_port(URLContext *h); int rtp_set_remote_url(URLContext *h, const char *uri); void rtp_get_file_handles(URLContext *h, int *prtp_fd, int *prtcp_fd); +/** + * some rtp servers assume client is dead if they don't hear from them... + * so we send a Receiver Report to the provided ByteIO context + * (we don't have access to the rtcp handle from here) + */ +int rtp_check_and_send_back_rr(RTPDemuxContext *s, int count); + extern URLProtocol rtp_protocol; +#define RTP_PT_PRIVATE 96 +#define RTP_VERSION 2 +#define RTP_MAX_SDES 256 /**< maximum text length for SDES */ + +/* RTCP paquets use 0.5 % of the bandwidth */ +#define RTCP_TX_RATIO_NUM 5 +#define RTCP_TX_RATIO_DEN 1000 + +/** Structure listing useful vars to parse RTP packet payload*/ +typedef struct rtp_payload_data_s +{ + int sizelength; + int indexlength; + int indexdeltalength; + int profile_level_id; + int streamtype; + int objecttype; + char *mode; + + /** mpeg 4 AU headers */ + struct AUHeaders { + int size; + int index; + int cts_flag; + int cts; + int dts_flag; + int dts; + int rap_flag; + int streamstate; + } *au_headers; + int nb_au_headers; + int au_headers_length_bytes; + int cur_au_index; +} rtp_payload_data_t; + +typedef struct AVRtpPayloadType_s +{ + int pt; + const char enc_name[50]; /* XXX: why 50 ? */ + enum CodecType codec_type; + enum CodecID codec_id; + int clock_rate; + int audio_channels; +} AVRtpPayloadType_t; + +#if 0 +typedef enum { + RTCP_SR = 200, + RTCP_RR = 201, + RTCP_SDES = 202, + RTCP_BYE = 203, + RTCP_APP = 204 +} rtcp_type_t; + +typedef enum { + RTCP_SDES_END = 0, + RTCP_SDES_CNAME = 1, + RTCP_SDES_NAME = 2, + RTCP_SDES_EMAIL = 3, + RTCP_SDES_PHONE = 4, + RTCP_SDES_LOC = 5, + RTCP_SDES_TOOL = 6, + RTCP_SDES_NOTE = 7, + RTCP_SDES_PRIV = 8, + RTCP_SDES_IMG = 9, + RTCP_SDES_DOOR = 10, + RTCP_SDES_SOURCE = 11 +} rtcp_sdes_type_t; +#endif + +extern AVRtpPayloadType_t AVRtpPayloadTypes[]; #endif /* RTP_H */ diff --git a/stepmania/src/ffmpeg/include/ffmpeg/rtsp.h b/stepmania/src/ffmpeg/include/ffmpeg/rtsp.h index 83d88633b5..481e2ba499 100644 --- a/stepmania/src/ffmpeg/include/ffmpeg/rtsp.h +++ b/stepmania/src/ffmpeg/include/ffmpeg/rtsp.h @@ -2,29 +2,26 @@ * RTSP definitions * Copyright (c) 2002 Fabrice Bellard. * - * This library is free software; you can redistribute it and/or + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. + * version 2.1 of the License, or (at your option) any later version. * - * This library is distributed in the hope that it will be useful, + * FFmpeg is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef RTSP_H #define RTSP_H -/* RTSP handling */ -enum RTSPStatusCode { -#define DEF(n, c, s) c = n, #include "rtspcodes.h" -#undef DEF -}; enum RTSPProtocol { RTSP_PROTOCOL_RTP_UDP = 0, @@ -35,27 +32,33 @@ enum RTSPProtocol { #define RTSP_DEFAULT_PORT 554 #define RTSP_MAX_TRANSPORTS 8 #define RTSP_TCP_MAX_PACKET_SIZE 1472 +#define RTSP_DEFAULT_NB_AUDIO_CHANNELS 2 +#define RTSP_DEFAULT_AUDIO_SAMPLERATE 44100 +#define RTSP_RTP_PORT_MIN 5000 +#define RTSP_RTP_PORT_MAX 10000 typedef struct RTSPTransportField { - int interleaved_min, interleaved_max; /* interleave ids, if TCP transport */ - int port_min, port_max; /* RTP ports */ - int client_port_min, client_port_max; /* RTP ports */ - int server_port_min, server_port_max; /* RTP ports */ - int ttl; /* ttl value */ - uint32_t destination; /* destination IP address */ + int interleaved_min, interleaved_max; /**< interleave ids, if TCP transport */ + int port_min, port_max; /**< RTP ports */ + int client_port_min, client_port_max; /**< RTP ports */ + int server_port_min, server_port_max; /**< RTP ports */ + int ttl; /**< ttl value */ + uint32_t destination; /**< destination IP address */ enum RTSPProtocol protocol; } RTSPTransportField; typedef struct RTSPHeader { int content_length; - enum RTSPStatusCode status_code; /* response code from server */ + enum RTSPStatusCode status_code; /**< response code from server */ int nb_transports; + /** in AV_TIME_BASE unit, AV_NOPTS_VALUE if not used */ + int64_t range_start, range_end; RTSPTransportField transports[RTSP_MAX_TRANSPORTS]; - int seq; /* sequence number */ + int seq; /**< sequence number */ char session_id[512]; } RTSPHeader; -/* the callback can be used to extend the connection setup/teardown step */ +/** the callback can be used to extend the connection setup/teardown step */ enum RTSPCallbackAction { RTSP_ACTION_SERVER_SETUP, RTSP_ACTION_SERVER_TEARDOWN, @@ -68,11 +71,12 @@ typedef struct RTSPActionServerSetup { char transport_option[512]; } RTSPActionServerSetup; -typedef int FFRTSPCallback(enum RTSPCallbackAction action, +typedef int FFRTSPCallback(enum RTSPCallbackAction action, const char *session_id, char *buf, int buf_size, void *arg); +/** useful for modules: set RTSP callback function */ void rtsp_set_callback(FFRTSPCallback *rtsp_cb); int rtsp_init(void); @@ -82,7 +86,7 @@ extern int rtsp_default_protocols; extern int rtsp_rtp_port_min; extern int rtsp_rtp_port_max; extern FFRTSPCallback *ff_rtsp_callback; -extern AVInputFormat rtsp_demux; +extern AVInputFormat rtsp_demuxer; int rtsp_pause(AVFormatContext *s); int rtsp_resume(AVFormatContext *s); diff --git a/stepmania/src/ffmpeg/include/ffmpeg/rtspcodes.h b/stepmania/src/ffmpeg/include/ffmpeg/rtspcodes.h index b967cb932a..74cfb5d5b9 100644 --- a/stepmania/src/ffmpeg/include/ffmpeg/rtspcodes.h +++ b/stepmania/src/ffmpeg/include/ffmpeg/rtspcodes.h @@ -1,11 +1,36 @@ -DEF(200, RTSP_STATUS_OK, "OK") -DEF(405, RTSP_STATUS_METHOD, "Method Not Allowed") -DEF(453, RTSP_STATUS_BANDWIDTH, "Not Enough Bandwidth") -DEF(454, RTSP_STATUS_SESSION, "Session Not Found") -DEF(455, RTSP_STATUS_STATE, "Method Not Valid in This State") -DEF(459, RTSP_STATUS_AGGREGATE, "Aggregate operation not allowed") -DEF(460, RTSP_STATUS_ONLY_AGGREGATE, "Only aggregate operation allowed") -DEF(461, RTSP_STATUS_TRANSPORT, "Unsupported transport") -DEF(500, RTSP_STATUS_INTERNAL, "Internal Server Error") -DEF(503, RTSP_STATUS_SERVICE, "Service Unavailable") -DEF(505, RTSP_STATUS_VERSION, "RTSP Version not supported") +/* + * RTSP definitions + * copyright (c) 2002 Fabrice Bellard + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/** RTSP handling */ +enum RTSPStatusCode { +RTSP_STATUS_OK =200, /**< OK */ +RTSP_STATUS_METHOD =405, /**< Method Not Allowed */ +RTSP_STATUS_BANDWIDTH =453, /**< Not Enough Bandwidth */ +RTSP_STATUS_SESSION =454, /**< Session Not Found */ +RTSP_STATUS_STATE =455, /**< Method Not Valid in This State */ +RTSP_STATUS_AGGREGATE =459, /**< Aggregate operation not allowed */ +RTSP_STATUS_ONLY_AGGREGATE =460, /**< Only aggregate operation allowed */ +RTSP_STATUS_TRANSPORT =461, /**< Unsupported transport */ +RTSP_STATUS_INTERNAL =500, /**< Internal Server Error */ +RTSP_STATUS_SERVICE =503, /**< Service Unavailable */ +RTSP_STATUS_VERSION =505, /**< RTSP Version not supported */ +}; + diff --git a/stepmania/src/ffmpeg/lib/avcodec.lib b/stepmania/src/ffmpeg/lib/avcodec.lib index 93e0d9b58d6995b52ff24b5eb47df1a213c9b1c0..ec51531a818c767d9b95d63fec36853695ec8832 100644 GIT binary patch literal 97486 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 diff --git a/stepmania/src/ffmpeg/lib/avutil.lib b/stepmania/src/ffmpeg/lib/avutil.lib new file mode 100644 index 0000000000000000000000000000000000000000..520a1e183ae8faa3e38b4b5cb8cd023c9a3c2de3 GIT binary patch literal 13946 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