History

avcodec/codec_internal: Add FFCodec, hide internal part of AVCodec

Up until now, codec.h contains both public and private parts of AVCodec. This exposes the internals of AVCodec to users and leads them into the temptation of actually using them and forces us to forward-declare structures and types that users can't use at all. This commit changes this by adding a new structure FFCodec to codec_internal.h that extends AVCodec, i.e. contains the public AVCodec as first member; the private fields of AVCodec are moved to this structure, leaving codec.h clean.

Andreas Rheinhardt committed 4 years ago

Commit 20f97271 parent a688f3c513 files · +5330 −5260Browse files

Unified · Split

513 files
  1. configure +3 −3
  2. libavcodec/012v.c +6 −6
  3. libavcodec/4xm.c +6 −6
  4. libavcodec/8bps.c +6 −6
  5. libavcodec/8svx.c +14 −14
  6. libavcodec/a64multienc.c +14 −14
  7. libavcodec/aacdec.c +21 −21
  8. libavcodec/aacdec_fixed.c +10 −10
  9. libavcodec/aacenc.c +9 −9
  10. libavcodec/aasc.c +6 −6
  11. libavcodec/ac3dec_fixed.c +8 −8
  12. libavcodec/ac3dec_float.c +16 −16
  13. libavcodec/ac3enc_fixed.c +11 −11
  14. libavcodec/ac3enc_float.c +11 −11
  15. libavcodec/adpcm.c +7 −7
  16. libavcodec/adpcmenc.c +9 −9
  17. libavcodec/adxdec.c +7 −7
  18. libavcodec/adxenc.c +7 −7
  19. libavcodec/agm.c +6 −6
  20. libavcodec/aic.c +6 −6
  21. libavcodec/alac.c +7 −7
  22. libavcodec/alacenc.c +10 −10
  23. libavcodec/aliaspixdec.c +7 −6
  24. libavcodec/aliaspixenc.c +7 −6
  25. libavcodec/allcodecs.c +798 −797
  26. libavcodec/alsdec.c +6 −6
  27. libavcodec/amfenc_h264.c +9 −9
  28. libavcodec/amfenc_hevc.c +9 −9
  29. libavcodec/amrnbdec.c +7 −7
  30. libavcodec/amrwbdec.c +7 −7
  31. libavcodec/anm.c +6 −6
  32. libavcodec/ansi.c +6 −6
  33. libavcodec/apedec.c +8 −8
  34. libavcodec/aptxdec.c +18 −18
  35. libavcodec/aptxenc.c +20 −20
  36. libavcodec/arbc.c +6 −6
  37. libavcodec/argo.c +6 −6
  38. libavcodec/assdec.c +10 −10
  39. libavcodec/assenc.c +10 −10
  40. libavcodec/asvdec.c +12 −12
  41. libavcodec/asvenc.c +12 −12
  42. libavcodec/atrac1.c +7 −7
  43. libavcodec/atrac3.c +14 −14
  44. libavcodec/atrac3plusdec.c +12 −12
  45. libavcodec/atrac9dec.c +6 −6
  46. libavcodec/audiotoolboxdec.c +8 −8
  47. libavcodec/audiotoolboxenc.c +12 −12
  48. libavcodec/aura.c +6 −6
  49. libavcodec/av1dec.c +8 −8
  50. libavcodec/avcodec.c +19 −17
  51. libavcodec/avrndec.c +6 −6
  52. libavcodec/avs.c +6 −6
  53. libavcodec/avuidec.c +6 −6
  54. libavcodec/avuienc.c +7 −7
  55. libavcodec/bethsoftvideo.c +6 −6
  56. libavcodec/bfi.c +6 −6
  57. libavcodec/bink.c +6 −6
  58. libavcodec/binkaudio.c +12 −12
  59. libavcodec/bintext.c +18 −18
  60. libavcodec/bitpacked_dec.c +6 −6
  61. libavcodec/bitpacked_enc.c +7 −7
  62. libavcodec/bmp.c +7 −6
  63. libavcodec/bmpenc.c +7 −7
  64. libavcodec/bmvaudio.c +6 −6
  65. libavcodec/bmvvideo.c +6 −6
  66. libavcodec/brenderpix.c +7 −6
  67. libavcodec/c93.c +6 −6
  68. libavcodec/cavsdec.c +6 −6
  69. libavcodec/ccaption_dec.c +7 −7
  70. libavcodec/cdgraphics.c +6 −6
  71. libavcodec/cdtoons.c +6 −6
  72. libavcodec/cdxl.c +6 −6
  73. libavcodec/cfhd.c +6 −6
  74. libavcodec/cfhdenc.c +8 −8
  75. libavcodec/cinepak.c +6 −6
  76. libavcodec/cinepakenc.c +7 −7
  77. libavcodec/clearvideo.c +6 −6
  78. libavcodec/cljrdec.c +6 −6
  79. libavcodec/cljrenc.c +9 −8
  80. libavcodec/cllc.c +6 −6
  81. libavcodec/cngdec.c +7 −7
  82. libavcodec/cngenc.c +8 −8
  83. libavcodec/codec.h +0 −121
  84. libavcodec/codec_internal.h +131 −3
  85. libavcodec/cook.c +7 −7
  86. libavcodec/cpia.c +6 −6
  87. libavcodec/cri.c +6 −6
  88. libavcodec/crystalhd.c +9 −9
  89. libavcodec/cscd.c +6 −6
  90. libavcodec/cuviddec.c +10 −10
  91. libavcodec/cyuv.c +12 −12
  92. libavcodec/dcadec.c +9 −9
  93. libavcodec/dcaenc.c +11 −11
  94. libavcodec/dds.c +6 −6
  95. libavcodec/decode.c +20 −17
  96. libavcodec/decode.h +1 −1
  97. libavcodec/dfa.c +6 −6
  98. libavcodec/dfpwmdec.c +6 −6
  99. libavcodec/dfpwmenc.c +7 −7
  100. libavcodec/diracdec.c +6 −6
  101. libavcodec/dnxhddec.c +7 −7
  102. libavcodec/dnxhdenc.c +9 −9
  103. libavcodec/dolby_e.c +8 −8
  104. libavcodec/dpcm.c +6 −6
  105. libavcodec/dpx.c +7 −6
  106. libavcodec/dpxenc.c +7 −7
  107. libavcodec/dsddec.c +7 −7
  108. libavcodec/dsicinaudio.c +6 −6
  109. libavcodec/dsicinvideo.c +6 −6
  110. libavcodec/dss_sp.c +6 −6
  111. libavcodec/dstdec.c +7 −7
  112. libavcodec/dvaudiodec.c +6 −6
  113. libavcodec/dvbsubdec.c +6 −6
  114. libavcodec/dvbsubenc.c +6 −5
  115. libavcodec/dvdec.c +7 −7
  116. libavcodec/dvdsubdec.c +6 −6
  117. libavcodec/dvdsubenc.c +6 −6
  118. libavcodec/dvenc.c +8 −8
  119. libavcodec/dxa.c +6 −6
  120. libavcodec/dxtory.c +7 −6
  121. libavcodec/dxv.c +6 −6
  122. libavcodec/eac3enc.c +11 −11
  123. libavcodec/eacmv.c +6 −6
  124. libavcodec/eamad.c +6 −6
  125. libavcodec/eatgq.c +6 −6
  126. libavcodec/eatgv.c +6 −6
  127. libavcodec/eatqi.c +6 −6
  128. libavcodec/encode.c +7 −5
  129. libavcodec/encode.h +2 −2
  130. libavcodec/escape124.c +6 −6
  131. libavcodec/escape130.c +6 −6
  132. libavcodec/evrcdec.c +7 −7
  133. libavcodec/exr.c +7 −7
  134. libavcodec/exrenc.c +8 −8
  135. libavcodec/fastaudio.c +7 −7
  136. libavcodec/ffv1dec.c +6 −6
  137. libavcodec/ffv1enc.c +8 −8
  138. libavcodec/ffwavesynth.c +6 −6
  139. libavcodec/fic.c +7 −7
  140. libavcodec/fitsdec.c +8 −7
  141. libavcodec/fitsenc.c +8 −7
  142. libavcodec/flacdec.c +8 −8
  143. libavcodec/flacenc.c +8 −8
  144. libavcodec/flashsv.c +14 −14
  145. libavcodec/flashsv2enc.c +6 −6
  146. libavcodec/flashsvenc.c +6 −6
  147. libavcodec/flicvideo.c +6 −6
  148. libavcodec/flvdec.c +8 −8
  149. libavcodec/flvenc.c +7 −7
  150. libavcodec/fmvc.c +6 −6
  151. libavcodec/frame_thread_encoder.c +2 −1
  152. libavcodec/fraps.c +6 −6
  153. libavcodec/frwu.c +7 −7
  154. libavcodec/g2meet.c +6 −6
  155. libavcodec/g722dec.c +7 −7
  156. libavcodec/g722enc.c +9 −9
  157. libavcodec/g723_1dec.c +7 −7
  158. libavcodec/g723_1enc.c +8 −8
  159. libavcodec/g726.c +28 −28
  160. libavcodec/g729dec.c +12 −12
  161. libavcodec/gdv.c +6 −6
  162. libavcodec/gemdec.c +7 −6
  163. libavcodec/gif.c +7 −7
  164. libavcodec/gifdec.c +7 −7
  165. libavcodec/gsmdec.c +12 −12
  166. libavcodec/h261dec.c +7 −7
  167. libavcodec/h261enc.c +7 −7
  168. libavcodec/h263dec.c +16 −16
  169. libavcodec/h264dec.c +8 −8
  170. libavcodec/hapdec.c +6 −6
  171. libavcodec/hapenc.c +7 −7
  172. libavcodec/hcadec.c +7 −7
  173. libavcodec/hcom.c +6 −6
  174. libavcodec/hevcdec.c +8 −8
  175. libavcodec/hnm4video.c +6 −6
  176. libavcodec/hq_hqa.c +6 −6
  177. libavcodec/hqx.c +6 −6
  178. libavcodec/huffyuvdec.c +18 −18
  179. libavcodec/huffyuvenc.c +16 −16
  180. libavcodec/idcinvideo.c +6 −6
  181. libavcodec/iff.c +6 −6
  182. libavcodec/ilbcdec.c +6 −6
  183. libavcodec/imc.c +14 −14
  184. libavcodec/imm4.c +6 −6
  185. libavcodec/imm5.c +5 −5
  186. libavcodec/imx.c +6 −6
  187. libavcodec/indeo2.c +6 −6
  188. libavcodec/indeo3.c +6 −6
  189. libavcodec/indeo4.c +6 −6
  190. libavcodec/indeo5.c +6 −6
  191. libavcodec/intelh263dec.c +7 −7
  192. libavcodec/internal.h +1 −1
  193. libavcodec/interplayacm.c +6 −6
  194. libavcodec/interplayvideo.c +6 −6
  195. libavcodec/ituh263enc.c +15 −15
  196. libavcodec/j2kenc.c +7 −7
  197. libavcodec/jacosubdec.c +5 −5
  198. libavcodec/jpeg2000dec.c +9 −9
  199. libavcodec/jpeglsdec.c +6 −6
  200. libavcodec/jpeglsenc.c +8 −8
  201. libavcodec/jvdec.c +6 −6
  202. libavcodec/kgv1dec.c +6 −6
  203. libavcodec/kmvc.c +6 −6
  204. libavcodec/lagarith.c +6 −6
  205. libavcodec/lcldec.c +12 −12
  206. libavcodec/lclenc.c +7 −7
  207. libavcodec/libaomdec.c +8 −8
  208. libavcodec/libaomenc.c +15 −15
  209. libavcodec/libaribb24.c +8 −7
  210. libavcodec/libcelt_dec.c +8 −7
  211. libavcodec/libcodec2.c +22 −21
  212. libavcodec/libdav1d.c +8 −8
  213. libavcodec/libdavs2.c +8 −8
  214. libavcodec/libfdk-aacdec.c +8 −8
  215. libavcodec/libfdk-aacenc.c +13 −13
  216. libavcodec/libgsmdec.c +15 −14
  217. libavcodec/libgsmenc.c +20 −20
  218. libavcodec/libilbc.c +15 −15
  219. libavcodec/libkvazaar.c +9 −9
  220. libavcodec/libmp3lame.c +12 −12
  221. libavcodec/libopencore-amr.c +22 −21
  222. libavcodec/libopenh264dec.c +7 −7
  223. libavcodec/libopenh264enc.c +9 −9
  224. libavcodec/libopenjpegdec.c +10 −9
  225. libavcodec/libopenjpegenc.c +10 −10
  226. libavcodec/libopusdec.c +9 −9
  227. libavcodec/libopusenc.c +10 −10
  228. libavcodec/librav1e.c +9 −9
  229. libavcodec/librsvgdec.c +9 −8
  230. libavcodec/libshine.c +12 −12
  231. libavcodec/libspeexdec.c +8 −7
  232. libavcodec/libspeexenc.c +12 −12
  233. libavcodec/libsvtav1.c +9 −9
  234. libavcodec/libtheoraenc.c +9 −9
  235. libavcodec/libtwolame.c +12 −12
  236. libavcodec/libuavs3d.c +8 −8
  237. libavcodec/libvo-amrwbenc.c +9 −8
  238. libavcodec/libvorbisdec.c +7 −6
  239. libavcodec/libvorbisenc.c +9 −9
  240. libavcodec/libvpx.c +4 −4
  241. libavcodec/libvpx.h +2 −2
  242. libavcodec/libvpxdec.c +15 −15
  243. libavcodec/libvpxenc.c +18 −18
  244. libavcodec/libwebpenc.c +10 −9
  245. libavcodec/libwebpenc_animencoder.c +10 −9
  246. libavcodec/libwebpenc_common.h +0 −1
  247. libavcodec/libx264.c +31 −31
  248. libavcodec/libx265.c +12 −12
  249. libavcodec/libxavs.c +9 −9
  250. libavcodec/libxavs2.c +9 −9
  251. libavcodec/libxvid.c +8 −8
  252. libavcodec/libzvbi-teletextdec.c +9 −8
  253. libavcodec/ljpegenc.c +8 −8
  254. libavcodec/loco.c +6 −6
  255. libavcodec/lscrdec.c +6 −6
  256. libavcodec/m101.c +6 −6
  257. libavcodec/mace.c +14 −14
  258. libavcodec/magicyuv.c +6 −6
  259. libavcodec/magicyuvenc.c +8 −8
  260. libavcodec/mdec.c +6 −6
  261. libavcodec/mediacodecdec.c +8 −8
  262. libavcodec/metasound.c +7 −7
  263. libavcodec/mfenc.c +9 −9
  264. libavcodec/microdvddec.c +5 −5
  265. libavcodec/midivid.c +6 −6
  266. libavcodec/mimic.c +6 −6
  267. libavcodec/mjpegbdec.c +7 −7
  268. libavcodec/mjpegdec.c +22 −22
  269. libavcodec/mjpegenc.c +16 −16
  270. libavcodec/mlpdec.c +14 −14
  271. libavcodec/mlpenc.c +20 −20
  272. libavcodec/mmaldec.c +9 −9
  273. libavcodec/mmvideo.c +6 −6
  274. libavcodec/mobiclip.c +6 −6
  275. libavcodec/motionpixels.c +6 −6
  276. libavcodec/movtextdec.c +6 −6
  277. libavcodec/movtextenc.c +6 −6
  278. libavcodec/mpc7.c +7 −7
  279. libavcodec/mpc8.c +7 −7
  280. libavcodec/mpeg12dec.c +28 −28
  281. libavcodec/mpeg12enc.c +18 −18
  282. libavcodec/mpeg4videodec.c +10 −10
  283. libavcodec/mpeg4videoenc.c +8 −8
  284. libavcodec/mpegaudiodec_fixed.c +35 −35
  285. libavcodec/mpegaudiodec_float.c +35 −35
  286. libavcodec/mpegaudioenc_fixed.c +9 −9
  287. libavcodec/mpegaudioenc_float.c +9 −9
  288. libavcodec/mpl2dec.c +5 −5
  289. libavcodec/mscc.c +12 −12
  290. libavcodec/msmpeg4dec.c +32 −32
  291. libavcodec/msmpeg4enc.c +21 −21
  292. libavcodec/msp2dec.c +7 −6
  293. libavcodec/msrle.c +6 −6
  294. libavcodec/mss1.c +6 −6
  295. libavcodec/mss2.c +6 −6
  296. libavcodec/mss3.c +6 −6
  297. libavcodec/mss4.c +6 −6
  298. libavcodec/msvideo1.c +6 −6
  299. libavcodec/msvideo1enc.c +6 −6
  300. libavcodec/mv30.c +6 −6
  301. libavcodec/mvcdec.c +12 −12
  302. libavcodec/mvha.c +6 −6
  303. libavcodec/mwsc.c +6 −6
  304. libavcodec/mxpegdec.c +7 −7
  305. libavcodec/nellymoserdec.c +7 −7
  306. libavcodec/nellymoserenc.c +8 −8
  307. libavcodec/notchlc.c +6 −6
  308. libavcodec/nuv.c +6 −6
  309. libavcodec/nvenc_h264.c +9 −9
  310. libavcodec/nvenc_hevc.c +9 −9
  311. libavcodec/omx.c +16 −16
  312. libavcodec/on2avc.c +7 −7
  313. libavcodec/options.c +9 −6
  314. libavcodec/opusdec.c +7 −7
  315. libavcodec/opusenc.c +11 −11
  316. libavcodec/pafaudio.c +6 −6
  317. libavcodec/pafvideo.c +6 −6
  318. libavcodec/pamenc.c +7 −7
  319. libavcodec/pcm-bluray.c +8 −7
  320. libavcodec/pcm-blurayenc.c +10 −10
  321. libavcodec/pcm-dvd.c +7 −7
  322. libavcodec/pcm-dvdenc.c +10 −10
  323. libavcodec/pcm.c +14 −14
  324. libavcodec/pcx.c +7 −6
  325. libavcodec/pcxenc.c +6 −6
  326. libavcodec/pgssubdec.c +6 −6
  327. libavcodec/pgxdec.c +7 −6
  328. libavcodec/photocd.c +7 −7
  329. libavcodec/pictordec.c +7 −6
  330. libavcodec/pixlet.c +6 −6
  331. libavcodec/pngdec.c +12 −12
  332. libavcodec/pngenc.c +16 −16
  333. libavcodec/pnmdec.c +37 −36
  334. libavcodec/pnmenc.c +35 −35
  335. libavcodec/proresdec2.c +7 −7
  336. libavcodec/proresenc_anatoliy.c +18 −18
  337. libavcodec/proresenc_kostya.c +9 −9
  338. libavcodec/prosumer.c +6 −6
  339. libavcodec/psd.c +7 −6
  340. libavcodec/pthread.c +1 −1
  341. libavcodec/pthread_frame.c +21 −20
  342. libavcodec/pthread_slice.c +1 −1
  343. libavcodec/ptx.c +7 −6
  344. libavcodec/qcelpdec.c +6 −6
  345. libavcodec/qdm2.c +6 −6
  346. libavcodec/qdmc.c +6 −6
  347. libavcodec/qdrw.c +7 −6
  348. libavcodec/qpeg.c +6 −6
  349. libavcodec/qsvdec.c +10 −9
  350. libavcodec/qsvenc_h264.c +9 −9
  351. libavcodec/qsvenc_hevc.c +9 −9
  352. libavcodec/qsvenc_jpeg.c +9 −9
  353. libavcodec/qsvenc_mpeg2.c +9 −9
  354. libavcodec/qsvenc_vp9.c +9 −9
  355. libavcodec/qtrle.c +6 −6
  356. libavcodec/qtrleenc.c +6 −6
  357. libavcodec/r210dec.c +18 −18
  358. libavcodec/r210enc.c +21 −21
  359. libavcodec/ra144dec.c +6 −6
  360. libavcodec/ra144enc.c +10 −10
  361. libavcodec/ra288.c +6 −6
  362. libavcodec/ralf.c +7 −7
  363. libavcodec/rasc.c +7 −7
  364. libavcodec/rawdec.c +7 −7
  365. libavcodec/rawenc.c +6 −6
  366. libavcodec/realtextdec.c +5 −5
  367. libavcodec/rkmppdec.c +10 −10
  368. libavcodec/rl2.c +6 −6
  369. libavcodec/roqaudioenc.c +7 −7
  370. libavcodec/roqvideodec.c +6 −6
  371. libavcodec/roqvideoenc.c +7 −7
  372. libavcodec/rpza.c +6 −6
  373. libavcodec/rpzaenc.c +7 −7
  374. libavcodec/rscc.c +6 −6
  375. libavcodec/rv10.c +16 −16
  376. libavcodec/rv10enc.c +7 −7
  377. libavcodec/rv20enc.c +7 −7
  378. libavcodec/rv30.c +7 −7
  379. libavcodec/rv40.c +7 −7
  380. libavcodec/s302m.c +8 −7
  381. libavcodec/s302menc.c +9 −9
  382. libavcodec/samidec.c +5 −5
  383. libavcodec/sanm.c +6 −6
  384. libavcodec/sbcdec.c +10 −10
  385. libavcodec/sbcenc.c +12 −12
  386. libavcodec/scpr.c +6 −6
  387. libavcodec/screenpresso.c +6 −6
  388. libavcodec/sga.c +6 −6
  389. libavcodec/sgidec.c +6 −6
  390. libavcodec/sgienc.c +7 −7
  391. libavcodec/sgirledec.c +6 −6
  392. libavcodec/sheervideo.c +7 −6
  393. libavcodec/shorten.c +7 −7
  394. libavcodec/sipr.c +6 −6
  395. libavcodec/siren.c +12 −12
  396. libavcodec/smacker.c +12 −12
  397. libavcodec/smc.c +6 −6
  398. libavcodec/smcenc.c +6 −6
  399. libavcodec/snowdec.c +6 −6
  400. libavcodec/snowenc.c +7 −7
  401. libavcodec/sonic.c +20 −20
  402. libavcodec/sp5xdec.c +14 −14
  403. libavcodec/speedhq.c +6 −6
  404. libavcodec/speedhqenc.c +7 −7
  405. libavcodec/speexdec.c +6 −6
  406. libavcodec/srtdec.c +10 −10
  407. libavcodec/srtenc.c +15 −15
  408. libavcodec/subviewerdec.c +5 −5
  409. libavcodec/sunrast.c +7 −6
  410. libavcodec/sunrastenc.c +7 −7
  411. libavcodec/svq1dec.c +7 −7
  412. libavcodec/svq1enc.c +7 −7
  413. libavcodec/svq3.c +7 −7
  414. libavcodec/takdec.c +7 −7
  415. libavcodec/targa.c +7 −6
  416. libavcodec/targa_y216dec.c +6 −6
  417. libavcodec/targaenc.c +7 −7
  418. libavcodec/tdsc.c +6 −6
  419. libavcodec/tests/avcodec.c +18 −17
  420. libavcodec/textdec.c +30 −30
  421. libavcodec/thread.h +2 −2
  422. libavcodec/tiertexseqv.c +6 −6
  423. libavcodec/tiff.c +7 −7
  424. libavcodec/tiffenc.c +8 −8
  425. libavcodec/tmv.c +6 −6
  426. libavcodec/truemotion1.c +6 −6
  427. libavcodec/truemotion2.c +6 −6
  428. libavcodec/truemotion2rt.c +6 −6
  429. libavcodec/truespeech.c +6 −6
  430. libavcodec/tscc.c +6 −6
  431. libavcodec/tscc2.c +6 −6
  432. libavcodec/tta.c +7 −7
  433. libavcodec/ttaenc.c +7 −7
  434. libavcodec/ttmlenc.c +5 −5
  435. libavcodec/twinvqdec.c +7 −7
  436. libavcodec/txd.c +7 −6
  437. libavcodec/ulti.c +6 −6
  438. libavcodec/utils.c +7 −4
  439. libavcodec/utvideodec.c +6 −6
  440. libavcodec/utvideoenc.c +8 −8
  441. libavcodec/v210dec.c +7 −7
  442. libavcodec/v210enc.c +7 −7
  443. libavcodec/v210x.c +6 −6
  444. libavcodec/v308dec.c +6 −6
  445. libavcodec/v308enc.c +7 −7
  446. libavcodec/v408dec.c +12 −12
  447. libavcodec/v408enc.c +14 −14
  448. libavcodec/v410dec.c +6 −6
  449. libavcodec/v410enc.c +7 −7
  450. libavcodec/v4l2_m2m_dec.c +8 −8
  451. libavcodec/v4l2_m2m_enc.c +8 −8
  452. libavcodec/vaapi_encode_h264.c +9 −9
  453. libavcodec/vaapi_encode_h265.c +9 −9
  454. libavcodec/vaapi_encode_mjpeg.c +9 −9
  455. libavcodec/vaapi_encode_mpeg2.c +9 −9
  456. libavcodec/vaapi_encode_vp8.c +9 −9
  457. libavcodec/vaapi_encode_vp9.c +9 −9
  458. libavcodec/vb.c +6 −6
  459. libavcodec/vble.c +6 −6
  460. libavcodec/vc1dec.c +30 −30
  461. libavcodec/vc2enc.c +8 −8
  462. libavcodec/vcr1.c +6 −6
  463. libavcodec/videotoolboxenc.c +26 −26
  464. libavcodec/vima.c +6 −6
  465. libavcodec/vmdaudio.c +6 −6
  466. libavcodec/vmdvideo.c +6 −6
  467. libavcodec/vmnc.c +6 −6
  468. libavcodec/vorbisdec.c +9 −9
  469. libavcodec/vorbisenc.c +7 −7
  470. libavcodec/vp3.c +18 −18
  471. libavcodec/vp5.c +6 −6
  472. libavcodec/vp6.c +18 −18
  473. libavcodec/vp8.c +13 −13
  474. libavcodec/vp9.c +7 −7
  475. libavcodec/vqavideo.c +6 −6
  476. libavcodec/wavpack.c +6 −6
  477. libavcodec/wavpackenc.c +8 −8
  478. libavcodec/wcmv.c +6 −6
  479. libavcodec/webp.c +6 −6
  480. libavcodec/webvttdec.c +5 −5
  481. libavcodec/webvttenc.c +5 −5
  482. libavcodec/wmadec.c +14 −14
  483. libavcodec/wmaenc.c +12 −12
  484. libavcodec/wmalosslessdec.c +7 −7
  485. libavcodec/wmaprodec.c +21 −21
  486. libavcodec/wmavoice.c +6 −6
  487. libavcodec/wmv2dec.c +7 −7
  488. libavcodec/wmv2enc.c +7 −7
  489. libavcodec/wnv1.c +6 −6
  490. libavcodec/wrapped_avframe.c +10 −10
  491. libavcodec/ws-snd1.c +6 −6
  492. libavcodec/xan.c +6 −6
  493. libavcodec/xbmdec.c +7 −6
  494. libavcodec/xbmenc.c +7 −6
  495. libavcodec/xfacedec.c +6 −6
  496. libavcodec/xfaceenc.c +8 −7
  497. libavcodec/xl.c +6 −6
  498. libavcodec/xpmdec.c +7 −6
  499. libavcodec/xsubdec.c +5 −5
  500. libavcodec/xsubenc.c +5 −5
  501. libavcodec/xwddec.c +7 −6
  502. libavcodec/xwdenc.c +8 −7
  503. libavcodec/xxan.c +6 −6
  504. libavcodec/y41pdec.c +6 −6
  505. libavcodec/y41penc.c +7 −7
  506. libavcodec/ylc.c +6 −6
  507. libavcodec/yop.c +5 −5
  508. libavcodec/yuv4dec.c +6 −6
  509. libavcodec/yuv4enc.c +8 −7
  510. libavcodec/zerocodec.c +6 −6
  511. libavcodec/zmbv.c +6 −6
  512. libavcodec/zmbvenc.c +7 −7
  513. tools/target_dec_fuzzer.c +14 −13
configure+3−3
@@ -3985,8 +3985,8 @@ OUTDEV_LIST=$(find_things_extern muxer AVOutputFormat libavdevice/alldevices.c o · 3984 unmodified lines
3985INDEV_LIST=$(find_things_extern demuxer AVInputFormat libavdevice/alldevices.c indev)3985INDEV_LIST=$(find_things_extern demuxer AVInputFormat libavdevice/alldevices.c indev)
3986MUXER_LIST=$(find_things_extern muxer AVOutputFormat libavformat/allformats.c)3986MUXER_LIST=$(find_things_extern muxer AVOutputFormat libavformat/allformats.c)
3987DEMUXER_LIST=$(find_things_extern demuxer AVInputFormat libavformat/allformats.c)3987DEMUXER_LIST=$(find_things_extern demuxer AVInputFormat libavformat/allformats.c)
3988ENCODER_LIST=$(find_things_extern encoder AVCodec libavcodec/allcodecs.c)3988ENCODER_LIST=$(find_things_extern encoder FFCodec libavcodec/allcodecs.c)
3989DECODER_LIST=$(find_things_extern decoder AVCodec libavcodec/allcodecs.c)3989DECODER_LIST=$(find_things_extern decoder FFCodec libavcodec/allcodecs.c)
3990CODEC_LIST="3990CODEC_LIST="
3991 $ENCODER_LIST3991 $ENCODER_LIST
3992 $DECODER_LIST3992 $DECODER_LIST
@@ -7867,7 +7867,7 @@ print_enabled_components(){ · 3874 unmodified lines
7867}7867}
7868 7868
7869print_enabled_components libavfilter/filter_list.c AVFilter filter_list $FILTER_LIST7869print_enabled_components libavfilter/filter_list.c AVFilter filter_list $FILTER_LIST
7870print_enabled_components libavcodec/codec_list.c AVCodec codec_list $CODEC_LIST7870print_enabled_components libavcodec/codec_list.c FFCodec codec_list $CODEC_LIST
7871print_enabled_components libavcodec/parser_list.c AVCodecParser parser_list $PARSER_LIST7871print_enabled_components libavcodec/parser_list.c AVCodecParser parser_list $PARSER_LIST
7872print_enabled_components libavcodec/bsf_list.c AVBitStreamFilter bitstream_filters $BSF_LIST7872print_enabled_components libavcodec/bsf_list.c AVBitStreamFilter bitstream_filters $BSF_LIST
7873print_enabled_components libavformat/demuxer_list.c AVInputFormat demuxer_list $DEMUXER_LIST7873print_enabled_components libavformat/demuxer_list.c AVInputFormat demuxer_list $DEMUXER_LIST
libavcodec/012v.c+6−6
@@ -145,13 +145,13 @@ static int zero12v_decode_frame(AVCodecContext *avctx, void *data, · 144 unmodified lines
145 return avpkt->size;145 return avpkt->size;
146}146}
147 147
148const AVCodec ff_zero12v_decoder = {148const FFCodec ff_zero12v_decoder = {
149 .name = "012v",149 .p.name = "012v",
150 .long_name = NULL_IF_CONFIG_SMALL("Uncompressed 4:2:2 10-bit"),150 .p.long_name = NULL_IF_CONFIG_SMALL("Uncompressed 4:2:2 10-bit"),
151 .type = AVMEDIA_TYPE_VIDEO,151 .p.type = AVMEDIA_TYPE_VIDEO,
152 .id = AV_CODEC_ID_012V,152 .p.id = AV_CODEC_ID_012V,
153 .init = zero12v_decode_init,153 .init = zero12v_decode_init,
154 .decode = zero12v_decode_frame,154 .decode = zero12v_decode_frame,
155 .capabilities = AV_CODEC_CAP_DR1,155 .p.capabilities = AV_CODEC_CAP_DR1,
156 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,156 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
157};157};
libavcodec/4xm.c+6−6
@@ -1027,15 +1027,15 @@ static av_cold int decode_init(AVCodecContext *avctx) · 1026 unmodified lines
1027 return 0;1027 return 0;
1028}1028}
1029 1029
1030const AVCodec ff_fourxm_decoder = {1030const FFCodec ff_fourxm_decoder = {
1031 .name = "4xm",1031 .p.name = "4xm",
1032 .long_name = NULL_IF_CONFIG_SMALL("4X Movie"),1032 .p.long_name = NULL_IF_CONFIG_SMALL("4X Movie"),
1033 .type = AVMEDIA_TYPE_VIDEO,1033 .p.type = AVMEDIA_TYPE_VIDEO,
1034 .id = AV_CODEC_ID_4XM,1034 .p.id = AV_CODEC_ID_4XM,
1035 .priv_data_size = sizeof(FourXContext),1035 .priv_data_size = sizeof(FourXContext),
1036 .init = decode_init,1036 .init = decode_init,
1037 .close = decode_end,1037 .close = decode_end,
1038 .decode = decode_frame,1038 .decode = decode_frame,
1039 .capabilities = AV_CODEC_CAP_DR1,1039 .p.capabilities = AV_CODEC_CAP_DR1,
1040 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,1040 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
1041};1041};
libavcodec/8bps.c+6−6
@@ -174,14 +174,14 @@ static av_cold int decode_init(AVCodecContext *avctx) · 173 unmodified lines
174 return 0;174 return 0;
175}175}
176 176
177const AVCodec ff_eightbps_decoder = {177const FFCodec ff_eightbps_decoder = {
178 .name = "8bps",178 .p.name = "8bps",
179 .long_name = NULL_IF_CONFIG_SMALL("QuickTime 8BPS video"),179 .p.long_name = NULL_IF_CONFIG_SMALL("QuickTime 8BPS video"),
180 .type = AVMEDIA_TYPE_VIDEO,180 .p.type = AVMEDIA_TYPE_VIDEO,
181 .id = AV_CODEC_ID_8BPS,181 .p.id = AV_CODEC_ID_8BPS,
182 .priv_data_size = sizeof(EightBpsContext),182 .priv_data_size = sizeof(EightBpsContext),
183 .init = decode_init,183 .init = decode_init,
184 .decode = decode_frame,184 .decode = decode_frame,
185 .capabilities = AV_CODEC_CAP_DR1,185 .p.capabilities = AV_CODEC_CAP_DR1,
186 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,186 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
187};187};
libavcodec/8svx.c+14−14
@@ -188,33 +188,33 @@ static av_cold int eightsvx_decode_close(AVCodecContext *avctx) · 187 unmodified lines
188}188}
189 189
190#if CONFIG_EIGHTSVX_FIB_DECODER190#if CONFIG_EIGHTSVX_FIB_DECODER
191const AVCodec ff_eightsvx_fib_decoder = {191const FFCodec ff_eightsvx_fib_decoder = {
192 .name = "8svx_fib",192 .p.name = "8svx_fib",
193 .long_name = NULL_IF_CONFIG_SMALL("8SVX fibonacci"),193 .p.long_name = NULL_IF_CONFIG_SMALL("8SVX fibonacci"),
194 .type = AVMEDIA_TYPE_AUDIO,194 .p.type = AVMEDIA_TYPE_AUDIO,
195 .id = AV_CODEC_ID_8SVX_FIB,195 .p.id = AV_CODEC_ID_8SVX_FIB,
196 .priv_data_size = sizeof (EightSvxContext),196 .priv_data_size = sizeof (EightSvxContext),
197 .init = eightsvx_decode_init,197 .init = eightsvx_decode_init,
198 .decode = eightsvx_decode_frame,198 .decode = eightsvx_decode_frame,
199 .close = eightsvx_decode_close,199 .close = eightsvx_decode_close,
200 .capabilities = AV_CODEC_CAP_DR1,200 .p.capabilities = AV_CODEC_CAP_DR1,
201 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_U8P,201 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_U8P,
202 AV_SAMPLE_FMT_NONE },202 AV_SAMPLE_FMT_NONE },
203 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,203 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
204};204};
205#endif205#endif
206#if CONFIG_EIGHTSVX_EXP_DECODER206#if CONFIG_EIGHTSVX_EXP_DECODER
207const AVCodec ff_eightsvx_exp_decoder = {207const FFCodec ff_eightsvx_exp_decoder = {
208 .name = "8svx_exp",208 .p.name = "8svx_exp",
209 .long_name = NULL_IF_CONFIG_SMALL("8SVX exponential"),209 .p.long_name = NULL_IF_CONFIG_SMALL("8SVX exponential"),
210 .type = AVMEDIA_TYPE_AUDIO,210 .p.type = AVMEDIA_TYPE_AUDIO,
211 .id = AV_CODEC_ID_8SVX_EXP,211 .p.id = AV_CODEC_ID_8SVX_EXP,
212 .priv_data_size = sizeof (EightSvxContext),212 .priv_data_size = sizeof (EightSvxContext),
213 .init = eightsvx_decode_init,213 .init = eightsvx_decode_init,
214 .decode = eightsvx_decode_frame,214 .decode = eightsvx_decode_frame,
215 .close = eightsvx_decode_close,215 .close = eightsvx_decode_close,
216 .capabilities = AV_CODEC_CAP_DR1,216 .p.capabilities = AV_CODEC_CAP_DR1,
217 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_U8P,217 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_U8P,
218 AV_SAMPLE_FMT_NONE },218 AV_SAMPLE_FMT_NONE },
219 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,219 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
220};220};
libavcodec/a64multienc.c+14−14
@@ -393,32 +393,32 @@ static int a64multi_encode_frame(AVCodecContext *avctx, AVPacket *pkt, · 392 unmodified lines
393}393}
394 394
395#if CONFIG_A64MULTI_ENCODER395#if CONFIG_A64MULTI_ENCODER
396const AVCodec ff_a64multi_encoder = {396const FFCodec ff_a64multi_encoder = {
397 .name = "a64multi",397 .p.name = "a64multi",
398 .long_name = NULL_IF_CONFIG_SMALL("Multicolor charset for Commodore 64"),398 .p.long_name = NULL_IF_CONFIG_SMALL("Multicolor charset for Commodore 64"),
399 .type = AVMEDIA_TYPE_VIDEO,399 .p.type = AVMEDIA_TYPE_VIDEO,
400 .id = AV_CODEC_ID_A64_MULTI,400 .p.id = AV_CODEC_ID_A64_MULTI,
401 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,401 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,
402 .priv_data_size = sizeof(A64Context),402 .priv_data_size = sizeof(A64Context),
403 .init = a64multi_encode_init,403 .init = a64multi_encode_init,
404 .encode2 = a64multi_encode_frame,404 .encode2 = a64multi_encode_frame,
405 .close = a64multi_close_encoder,405 .close = a64multi_close_encoder,
406 .pix_fmts = (const enum AVPixelFormat[]) {AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE},406 .p.pix_fmts = (const enum AVPixelFormat[]) {AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE},
407 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_INIT_THREADSAFE,407 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_INIT_THREADSAFE,
408};408};
409#endif409#endif
410#if CONFIG_A64MULTI5_ENCODER410#if CONFIG_A64MULTI5_ENCODER
411const AVCodec ff_a64multi5_encoder = {411const FFCodec ff_a64multi5_encoder = {
412 .name = "a64multi5",412 .p.name = "a64multi5",
413 .long_name = NULL_IF_CONFIG_SMALL("Multicolor charset for Commodore 64, extended with 5th color (colram)"),413 .p.long_name = NULL_IF_CONFIG_SMALL("Multicolor charset for Commodore 64, extended with 5th color (colram)"),
414 .type = AVMEDIA_TYPE_VIDEO,414 .p.type = AVMEDIA_TYPE_VIDEO,
415 .id = AV_CODEC_ID_A64_MULTI5,415 .p.id = AV_CODEC_ID_A64_MULTI5,
416 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,416 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,
417 .priv_data_size = sizeof(A64Context),417 .priv_data_size = sizeof(A64Context),
418 .init = a64multi_encode_init,418 .init = a64multi_encode_init,
419 .encode2 = a64multi_encode_frame,419 .encode2 = a64multi_encode_frame,
420 .close = a64multi_close_encoder,420 .close = a64multi_close_encoder,
421 .pix_fmts = (const enum AVPixelFormat[]) {AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE},421 .p.pix_fmts = (const enum AVPixelFormat[]) {AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE},
422 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_INIT_THREADSAFE,422 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_INIT_THREADSAFE,
423};423};
424#endif424#endif
libavcodec/aacdec.c+21−21
@@ -552,27 +552,27 @@ static av_cold int latm_decode_init(AVCodecContext *avctx) · 551 unmodified lines
552 return ret;552 return ret;
553}553}
554 554
555const AVCodec ff_aac_decoder = {555const FFCodec ff_aac_decoder = {
556 .name = "aac",556 .p.name = "aac",
557 .long_name = NULL_IF_CONFIG_SMALL("AAC (Advanced Audio Coding)"),557 .p.long_name = NULL_IF_CONFIG_SMALL("AAC (Advanced Audio Coding)"),
558 .type = AVMEDIA_TYPE_AUDIO,558 .p.type = AVMEDIA_TYPE_AUDIO,
559 .id = AV_CODEC_ID_AAC,559 .p.id = AV_CODEC_ID_AAC,
560 .priv_data_size = sizeof(AACContext),560 .priv_data_size = sizeof(AACContext),
561 .init = aac_decode_init,561 .init = aac_decode_init,
562 .close = aac_decode_close,562 .close = aac_decode_close,
563 .decode = aac_decode_frame,563 .decode = aac_decode_frame,
564 .sample_fmts = (const enum AVSampleFormat[]) {564 .p.sample_fmts = (const enum AVSampleFormat[]) {
565 AV_SAMPLE_FMT_FLTP, AV_SAMPLE_FMT_NONE565 AV_SAMPLE_FMT_FLTP, AV_SAMPLE_FMT_NONE
566 },566 },
567 .capabilities = AV_CODEC_CAP_CHANNEL_CONF | AV_CODEC_CAP_DR1,567 .p.capabilities = AV_CODEC_CAP_CHANNEL_CONF | AV_CODEC_CAP_DR1,
568 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,568 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
569#if FF_API_OLD_CHANNEL_LAYOUT569#if FF_API_OLD_CHANNEL_LAYOUT
570 .channel_layouts = aac_channel_layout,570 .p.channel_layouts = aac_channel_layout,
571#endif571#endif
572 .ch_layouts = aac_ch_layout,572 .p.ch_layouts = aac_ch_layout,
573 .flush = flush,573 .flush = flush,
574 .priv_class = &aac_decoder_class,574 .p.priv_class = &aac_decoder_class,
575 .profiles = NULL_IF_CONFIG_SMALL(ff_aac_profiles),575 .p.profiles = NULL_IF_CONFIG_SMALL(ff_aac_profiles),
576};576};
577 577
578/*578/*
@@ -580,24 +580,24 @@ const AVCodec ff_aac_decoder = { · 1 unmodified line
580 in MPEG transport streams which only contain one program.580 in MPEG transport streams which only contain one program.
581 To do a more complex LATM demuxing a separate LATM demuxer should be used.581 To do a more complex LATM demuxing a separate LATM demuxer should be used.
582*/582*/
583const AVCodec ff_aac_latm_decoder = {583const FFCodec ff_aac_latm_decoder = {
584 .name = "aac_latm",584 .p.name = "aac_latm",
585 .long_name = NULL_IF_CONFIG_SMALL("AAC LATM (Advanced Audio Coding LATM syntax)"),585 .p.long_name = NULL_IF_CONFIG_SMALL("AAC LATM (Advanced Audio Coding LATM syntax)"),
586 .type = AVMEDIA_TYPE_AUDIO,586 .p.type = AVMEDIA_TYPE_AUDIO,
587 .id = AV_CODEC_ID_AAC_LATM,587 .p.id = AV_CODEC_ID_AAC_LATM,
588 .priv_data_size = sizeof(struct LATMContext),588 .priv_data_size = sizeof(struct LATMContext),
589 .init = latm_decode_init,589 .init = latm_decode_init,
590 .close = aac_decode_close,590 .close = aac_decode_close,
591 .decode = latm_decode_frame,591 .decode = latm_decode_frame,
592 .sample_fmts = (const enum AVSampleFormat[]) {592 .p.sample_fmts = (const enum AVSampleFormat[]) {
593 AV_SAMPLE_FMT_FLTP, AV_SAMPLE_FMT_NONE593 AV_SAMPLE_FMT_FLTP, AV_SAMPLE_FMT_NONE
594 },594 },
595 .capabilities = AV_CODEC_CAP_CHANNEL_CONF | AV_CODEC_CAP_DR1,595 .p.capabilities = AV_CODEC_CAP_CHANNEL_CONF | AV_CODEC_CAP_DR1,
596 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,596 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
597#if FF_API_OLD_CHANNEL_LAYOUT597#if FF_API_OLD_CHANNEL_LAYOUT
598 .channel_layouts = aac_channel_layout,598 .p.channel_layouts = aac_channel_layout,
599#endif599#endif
600 .ch_layouts = aac_ch_layout,600 .p.ch_layouts = aac_ch_layout,
601 .flush = flush,601 .flush = flush,
602 .profiles = NULL_IF_CONFIG_SMALL(ff_aac_profiles),602 .p.profiles = NULL_IF_CONFIG_SMALL(ff_aac_profiles),
603};603};
libavcodec/aacdec_fixed.c+10−10
@@ -450,24 +450,24 @@ static void apply_independent_coupling_fixed(AACContext *ac, · 449 unmodified lines
450 450
451#include "aacdec_template.c"451#include "aacdec_template.c"
452 452
453const AVCodec ff_aac_fixed_decoder = {453const FFCodec ff_aac_fixed_decoder = {
454 .name = "aac_fixed",454 .p.name = "aac_fixed",
455 .long_name = NULL_IF_CONFIG_SMALL("AAC (Advanced Audio Coding)"),455 .p.long_name = NULL_IF_CONFIG_SMALL("AAC (Advanced Audio Coding)"),
456 .type = AVMEDIA_TYPE_AUDIO,456 .p.type = AVMEDIA_TYPE_AUDIO,
457 .id = AV_CODEC_ID_AAC,457 .p.id = AV_CODEC_ID_AAC,
458 .priv_data_size = sizeof(AACContext),458 .priv_data_size = sizeof(AACContext),
459 .init = aac_decode_init,459 .init = aac_decode_init,
460 .close = aac_decode_close,460 .close = aac_decode_close,
461 .decode = aac_decode_frame,461 .decode = aac_decode_frame,
462 .sample_fmts = (const enum AVSampleFormat[]) {462 .p.sample_fmts = (const enum AVSampleFormat[]) {
463 AV_SAMPLE_FMT_S32P, AV_SAMPLE_FMT_NONE463 AV_SAMPLE_FMT_S32P, AV_SAMPLE_FMT_NONE
464 },464 },
465 .capabilities = AV_CODEC_CAP_CHANNEL_CONF | AV_CODEC_CAP_DR1,465 .p.capabilities = AV_CODEC_CAP_CHANNEL_CONF | AV_CODEC_CAP_DR1,
466 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,466 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
467#if FF_API_OLD_CHANNEL_LAYOUT467#if FF_API_OLD_CHANNEL_LAYOUT
468 .channel_layouts = aac_channel_layout,468 .p.channel_layouts = aac_channel_layout,
469#endif469#endif
470 .ch_layouts = aac_ch_layout,470 .p.ch_layouts = aac_ch_layout,
471 .profiles = NULL_IF_CONFIG_SMALL(ff_aac_profiles),471 .p.profiles = NULL_IF_CONFIG_SMALL(ff_aac_profiles),
472 .flush = flush,472 .flush = flush,
473};473};
libavcodec/aacenc.c+9−9
@@ -1137,20 +1137,20 @@ static const AVCodecDefault aac_encode_defaults[] = { · 1136 unmodified lines
1137 { NULL }1137 { NULL }
1138};1138};
1139 1139
1140const AVCodec ff_aac_encoder = {1140const FFCodec ff_aac_encoder = {
1141 .name = "aac",1141 .p.name = "aac",
1142 .long_name = NULL_IF_CONFIG_SMALL("AAC (Advanced Audio Coding)"),1142 .p.long_name = NULL_IF_CONFIG_SMALL("AAC (Advanced Audio Coding)"),
1143 .type = AVMEDIA_TYPE_AUDIO,1143 .p.type = AVMEDIA_TYPE_AUDIO,
1144 .id = AV_CODEC_ID_AAC,1144 .p.id = AV_CODEC_ID_AAC,
1145 .priv_data_size = sizeof(AACEncContext),1145 .priv_data_size = sizeof(AACEncContext),
1146 .init = aac_encode_init,1146 .init = aac_encode_init,
1147 .encode2 = aac_encode_frame,1147 .encode2 = aac_encode_frame,
1148 .close = aac_encode_end,1148 .close = aac_encode_end,
1149 .defaults = aac_encode_defaults,1149 .defaults = aac_encode_defaults,
1150 .supported_samplerates = ff_mpeg4audio_sample_rates,1150 .p.supported_samplerates = ff_mpeg4audio_sample_rates,
1151 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,1151 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
1152 .capabilities = AV_CODEC_CAP_SMALL_LAST_FRAME | AV_CODEC_CAP_DELAY,1152 .p.capabilities = AV_CODEC_CAP_SMALL_LAST_FRAME | AV_CODEC_CAP_DELAY,
1153 .sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_FLTP,1153 .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_FLTP,
1154 AV_SAMPLE_FMT_NONE },1154 AV_SAMPLE_FMT_NONE },
1155 .priv_class = &aacenc_class,1155 .p.priv_class = &aacenc_class,
1156};1156};
libavcodec/aasc.c+6−6
@@ -150,15 +150,15 @@ static av_cold int aasc_decode_end(AVCodecContext *avctx) · 149 unmodified lines
150 return 0;150 return 0;
151}151}
152 152
153const AVCodec ff_aasc_decoder = {153const FFCodec ff_aasc_decoder = {
154 .name = "aasc",154 .p.name = "aasc",
155 .long_name = NULL_IF_CONFIG_SMALL("Autodesk RLE"),155 .p.long_name = NULL_IF_CONFIG_SMALL("Autodesk RLE"),
156 .type = AVMEDIA_TYPE_VIDEO,156 .p.type = AVMEDIA_TYPE_VIDEO,
157 .id = AV_CODEC_ID_AASC,157 .p.id = AV_CODEC_ID_AASC,
158 .priv_data_size = sizeof(AascContext),158 .priv_data_size = sizeof(AascContext),
159 .init = aasc_decode_init,159 .init = aasc_decode_init,
160 .close = aasc_decode_end,160 .close = aasc_decode_end,
161 .decode = aasc_decode_frame,161 .decode = aasc_decode_frame,
162 .capabilities = AV_CODEC_CAP_DR1,162 .p.capabilities = AV_CODEC_CAP_DR1,
163 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,163 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
164};164};
libavcodec/ac3dec_fixed.c+8−8
@@ -169,19 +169,19 @@ static const AVClass ac3_decoder_class = { · 168 unmodified lines
169 .version = LIBAVUTIL_VERSION_INT,169 .version = LIBAVUTIL_VERSION_INT,
170};170};
171 171
172const AVCodec ff_ac3_fixed_decoder = {172const FFCodec ff_ac3_fixed_decoder = {
173 .name = "ac3_fixed",173 .p.name = "ac3_fixed",
174 .type = AVMEDIA_TYPE_AUDIO,174 .p.long_name = NULL_IF_CONFIG_SMALL("ATSC A/52A (AC-3)"),
175 .id = AV_CODEC_ID_AC3,175 .p.type = AVMEDIA_TYPE_AUDIO,
176 .p.id = AV_CODEC_ID_AC3,
177 .p.priv_class = &ac3_decoder_class,
176 .priv_data_size = sizeof (AC3DecodeContext),178 .priv_data_size = sizeof (AC3DecodeContext),
177 .init = ac3_decode_init,179 .init = ac3_decode_init,
178 .close = ac3_decode_end,180 .close = ac3_decode_end,
179 .decode = ac3_decode_frame,181 .decode = ac3_decode_frame,
180 .capabilities = AV_CODEC_CAP_CHANNEL_CONF |182 .p.capabilities = AV_CODEC_CAP_CHANNEL_CONF |
181 AV_CODEC_CAP_DR1,183 AV_CODEC_CAP_DR1,
182 .long_name = NULL_IF_CONFIG_SMALL("ATSC A/52A (AC-3)"),184 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16P,
183 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16P,
184 AV_SAMPLE_FMT_NONE },185 AV_SAMPLE_FMT_NONE },
185 .priv_class = &ac3_decoder_class,
186 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,186 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
187};187};
libavcodec/ac3dec_float.c+16−16
@@ -59,38 +59,38 @@ static const AVClass ac3_eac3_decoder_class = { · 58 unmodified lines
59 .version = LIBAVUTIL_VERSION_INT,59 .version = LIBAVUTIL_VERSION_INT,
60};60};
61 61
62const AVCodec ff_ac3_decoder = {62const FFCodec ff_ac3_decoder = {
63 .name = "ac3",63 .p.name = "ac3",
64 .type = AVMEDIA_TYPE_AUDIO,64 .p.type = AVMEDIA_TYPE_AUDIO,
65 .id = AV_CODEC_ID_AC3,65 .p.id = AV_CODEC_ID_AC3,
66 .priv_data_size = sizeof (AC3DecodeContext),66 .priv_data_size = sizeof (AC3DecodeContext),
67 .init = ac3_decode_init,67 .init = ac3_decode_init,
68 .close = ac3_decode_end,68 .close = ac3_decode_end,
69 .decode = ac3_decode_frame,69 .decode = ac3_decode_frame,
70 .capabilities = AV_CODEC_CAP_CHANNEL_CONF |70 .p.capabilities = AV_CODEC_CAP_CHANNEL_CONF |
71 AV_CODEC_CAP_DR1,71 AV_CODEC_CAP_DR1,
72 .long_name = NULL_IF_CONFIG_SMALL("ATSC A/52A (AC-3)"),72 .p.long_name = NULL_IF_CONFIG_SMALL("ATSC A/52A (AC-3)"),
73 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,73 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
74 AV_SAMPLE_FMT_NONE },74 AV_SAMPLE_FMT_NONE },
75 .priv_class = &ac3_eac3_decoder_class,75 .p.priv_class = &ac3_eac3_decoder_class,
76 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,76 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
77};77};
78 78
79#if CONFIG_EAC3_DECODER79#if CONFIG_EAC3_DECODER
80const AVCodec ff_eac3_decoder = {80const FFCodec ff_eac3_decoder = {
81 .name = "eac3",81 .p.name = "eac3",
82 .type = AVMEDIA_TYPE_AUDIO,82 .p.type = AVMEDIA_TYPE_AUDIO,
83 .id = AV_CODEC_ID_EAC3,83 .p.id = AV_CODEC_ID_EAC3,
84 .priv_data_size = sizeof (AC3DecodeContext),84 .priv_data_size = sizeof (AC3DecodeContext),
85 .init = ac3_decode_init,85 .init = ac3_decode_init,
86 .close = ac3_decode_end,86 .close = ac3_decode_end,
87 .decode = ac3_decode_frame,87 .decode = ac3_decode_frame,
88 .capabilities = AV_CODEC_CAP_CHANNEL_CONF |88 .p.capabilities = AV_CODEC_CAP_CHANNEL_CONF |
89 AV_CODEC_CAP_DR1,89 AV_CODEC_CAP_DR1,
90 .long_name = NULL_IF_CONFIG_SMALL("ATSC A/52B (AC-3, E-AC-3)"),90 .p.long_name = NULL_IF_CONFIG_SMALL("ATSC A/52B (AC-3, E-AC-3)"),
91 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,91 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
92 AV_SAMPLE_FMT_NONE },92 AV_SAMPLE_FMT_NONE },
93 .priv_class = &ac3_eac3_decoder_class,93 .p.priv_class = &ac3_eac3_decoder_class,
94 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,94 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
95};95};
96#endif96#endif
libavcodec/ac3enc_fixed.c+11−11
@@ -120,25 +120,25 @@ static av_cold int ac3_fixed_encode_init(AVCodecContext *avctx) · 119 unmodified lines
120 120
121 121
122FF_DISABLE_DEPRECATION_WARNINGS122FF_DISABLE_DEPRECATION_WARNINGS
123const AVCodec ff_ac3_fixed_encoder = {123const FFCodec ff_ac3_fixed_encoder = {
124 .name = "ac3_fixed",124 .p.name = "ac3_fixed",
125 .long_name = NULL_IF_CONFIG_SMALL("ATSC A/52A (AC-3)"),125 .p.long_name = NULL_IF_CONFIG_SMALL("ATSC A/52A (AC-3)"),
126 .type = AVMEDIA_TYPE_AUDIO,126 .p.type = AVMEDIA_TYPE_AUDIO,
127 .id = AV_CODEC_ID_AC3,127 .p.id = AV_CODEC_ID_AC3,
128 .capabilities = AV_CODEC_CAP_DR1,128 .p.capabilities = AV_CODEC_CAP_DR1,
129 .priv_data_size = sizeof(AC3EncodeContext),129 .priv_data_size = sizeof(AC3EncodeContext),
130 .init = ac3_fixed_encode_init,130 .init = ac3_fixed_encode_init,
131 .encode2 = ff_ac3_fixed_encode_frame,131 .encode2 = ff_ac3_fixed_encode_frame,
132 .close = ff_ac3_encode_close,132 .close = ff_ac3_encode_close,
133 .sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S32P,133 .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S32P,
134 AV_SAMPLE_FMT_NONE },134 AV_SAMPLE_FMT_NONE },
135 .priv_class = &ff_ac3enc_class,135 .p.priv_class = &ff_ac3enc_class,
136 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,136 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
137 .supported_samplerates = ff_ac3_sample_rate_tab,137 .p.supported_samplerates = ff_ac3_sample_rate_tab,
138#if FF_API_OLD_CHANNEL_LAYOUT138#if FF_API_OLD_CHANNEL_LAYOUT
139 .channel_layouts = ff_ac3_channel_layouts,139 .p.channel_layouts = ff_ac3_channel_layouts,
140#endif140#endif
141 .ch_layouts = ff_ac3_ch_layouts,141 .p.ch_layouts = ff_ac3_ch_layouts,
142 .defaults = ff_ac3_enc_defaults,142 .defaults = ff_ac3_enc_defaults,
143};143};
144FF_ENABLE_DEPRECATION_WARNINGS144FF_ENABLE_DEPRECATION_WARNINGS
libavcodec/ac3enc_float.c+11−11
@@ -124,24 +124,24 @@ av_cold int ff_ac3_float_encode_init(AVCodecContext *avctx) · 123 unmodified lines
124}124}
125 125
126FF_DISABLE_DEPRECATION_WARNINGS126FF_DISABLE_DEPRECATION_WARNINGS
127const AVCodec ff_ac3_encoder = {127const FFCodec ff_ac3_encoder = {
128 .name = "ac3",128 .p.name = "ac3",
129 .long_name = NULL_IF_CONFIG_SMALL("ATSC A/52A (AC-3)"),129 .p.long_name = NULL_IF_CONFIG_SMALL("ATSC A/52A (AC-3)"),
130 .type = AVMEDIA_TYPE_AUDIO,130 .p.type = AVMEDIA_TYPE_AUDIO,
131 .id = AV_CODEC_ID_AC3,131 .p.id = AV_CODEC_ID_AC3,
132 .capabilities = AV_CODEC_CAP_DR1,132 .p.capabilities = AV_CODEC_CAP_DR1,
133 .priv_data_size = sizeof(AC3EncodeContext),133 .priv_data_size = sizeof(AC3EncodeContext),
134 .init = ff_ac3_float_encode_init,134 .init = ff_ac3_float_encode_init,
135 .encode2 = ff_ac3_float_encode_frame,135 .encode2 = ff_ac3_float_encode_frame,
136 .close = ff_ac3_encode_close,136 .close = ff_ac3_encode_close,
137 .sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_FLTP,137 .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_FLTP,
138 AV_SAMPLE_FMT_NONE },138 AV_SAMPLE_FMT_NONE },
139 .priv_class = &ff_ac3enc_class,139 .p.priv_class = &ff_ac3enc_class,
140 .supported_samplerates = ff_ac3_sample_rate_tab,140 .p.supported_samplerates = ff_ac3_sample_rate_tab,
141#if FF_API_OLD_CHANNEL_LAYOUT141#if FF_API_OLD_CHANNEL_LAYOUT
142 .channel_layouts = ff_ac3_channel_layouts,142 .p.channel_layouts = ff_ac3_channel_layouts,
143#endif143#endif
144 .ch_layouts = ff_ac3_ch_layouts,144 .p.ch_layouts = ff_ac3_ch_layouts,
145 .defaults = ff_ac3_enc_defaults,145 .defaults = ff_ac3_enc_defaults,
146 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,146 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
147};147};
libavcodec/adpcm.c+7−7
@@ -2286,17 +2286,17 @@ static const enum AVSampleFormat sample_fmts_both[] = { AV_SAMPLE_FMT_S16, · 2285 unmodified lines
2286 2286
2287#define ADPCM_DECODER_0(id_, sample_fmts_, name_, long_name_)2287#define ADPCM_DECODER_0(id_, sample_fmts_, name_, long_name_)
2288#define ADPCM_DECODER_1(id_, sample_fmts_, name_, long_name_) \2288#define ADPCM_DECODER_1(id_, sample_fmts_, name_, long_name_) \
2289const AVCodec ff_ ## name_ ## _decoder = { \2289const FFCodec ff_ ## name_ ## _decoder = { \
2290 .name = #name_, \2290 .p.name = #name_, \
2291 .long_name = NULL_IF_CONFIG_SMALL(long_name_), \2291 .p.long_name = NULL_IF_CONFIG_SMALL(long_name_), \
2292 .type = AVMEDIA_TYPE_AUDIO, \2292 .p.type = AVMEDIA_TYPE_AUDIO, \
2293 .id = id_, \2293 .p.id = id_, \
2294 .p.capabilities = AV_CODEC_CAP_DR1, \
2295 .p.sample_fmts = sample_fmts_, \
2294 .priv_data_size = sizeof(ADPCMDecodeContext), \2296 .priv_data_size = sizeof(ADPCMDecodeContext), \
2295 .init = adpcm_decode_init, \2297 .init = adpcm_decode_init, \
2296 .decode = adpcm_decode_frame, \2298 .decode = adpcm_decode_frame, \
2297 .flush = adpcm_flush, \2299 .flush = adpcm_flush, \
2298 .capabilities = AV_CODEC_CAP_DR1, \
2299 .sample_fmts = sample_fmts_, \
2300 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE, \2300 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE, \
2301};2301};
2302#define ADPCM_DECODER_2(enabled, codec_id, name, sample_fmts, long_name) \2302#define ADPCM_DECODER_2(enabled, codec_id, name, sample_fmts, long_name) \
libavcodec/adpcmenc.c+9−9
@@ -996,20 +996,20 @@ static const AVClass adpcm_encoder_class = { · 995 unmodified lines
996 996
997#define ADPCM_ENCODER_0(id_, name_, sample_fmts_, capabilities_, long_name_)997#define ADPCM_ENCODER_0(id_, name_, sample_fmts_, capabilities_, long_name_)
998#define ADPCM_ENCODER_1(id_, name_, sample_fmts_, capabilities_, long_name_) \998#define ADPCM_ENCODER_1(id_, name_, sample_fmts_, capabilities_, long_name_) \
999const AVCodec ff_ ## name_ ## _encoder = { \999const FFCodec ff_ ## name_ ## _encoder = { \
1000 .name = #name_, \1000 .p.name = #name_, \
1001 .long_name = NULL_IF_CONFIG_SMALL(long_name_), \1001 .p.long_name = NULL_IF_CONFIG_SMALL(long_name_), \
1002 .type = AVMEDIA_TYPE_AUDIO, \1002 .p.type = AVMEDIA_TYPE_AUDIO, \
1003 .id = id_, \1003 .p.id = id_, \
1004 .p.sample_fmts = sample_fmts_, \
1005 .p.ch_layouts = ch_layouts, \
1006 .p.capabilities = capabilities_ | AV_CODEC_CAP_DR1, \
1007 .p.priv_class = &adpcm_encoder_class, \
1004 .priv_data_size = sizeof(ADPCMEncodeContext), \1008 .priv_data_size = sizeof(ADPCMEncodeContext), \
1005 .init = adpcm_encode_init, \1009 .init = adpcm_encode_init, \
1006 .encode2 = adpcm_encode_frame, \1010 .encode2 = adpcm_encode_frame, \
1007 .close = adpcm_encode_close, \1011 .close = adpcm_encode_close, \
1008 .sample_fmts = sample_fmts_, \
1009 .ch_layouts = ch_layouts, \
1010 .capabilities = capabilities_ | AV_CODEC_CAP_DR1, \
1011 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_INIT_THREADSAFE, \1012 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_INIT_THREADSAFE, \
1012 .priv_class = &adpcm_encoder_class, \
1013};1013};
1014#define ADPCM_ENCODER_2(enabled, codec_id, name, sample_fmts, capabilities, long_name) \1014#define ADPCM_ENCODER_2(enabled, codec_id, name, sample_fmts, capabilities, long_name) \
1015 ADPCM_ENCODER_ ## enabled(codec_id, name, sample_fmts, capabilities, long_name)1015 ADPCM_ENCODER_ ## enabled(codec_id, name, sample_fmts, capabilities, long_name)
libavcodec/adxdec.c+7−7
@@ -191,18 +191,18 @@ static void adx_decode_flush(AVCodecContext *avctx) · 190 unmodified lines
191 c->eof = 0;191 c->eof = 0;
192}192}
193 193
194const AVCodec ff_adpcm_adx_decoder = {194const FFCodec ff_adpcm_adx_decoder = {
195 .name = "adpcm_adx",195 .p.name = "adpcm_adx",
196 .long_name = NULL_IF_CONFIG_SMALL("SEGA CRI ADX ADPCM"),196 .p.long_name = NULL_IF_CONFIG_SMALL("SEGA CRI ADX ADPCM"),
197 .type = AVMEDIA_TYPE_AUDIO,197 .p.type = AVMEDIA_TYPE_AUDIO,
198 .id = AV_CODEC_ID_ADPCM_ADX,198 .p.id = AV_CODEC_ID_ADPCM_ADX,
199 .priv_data_size = sizeof(ADXContext),199 .priv_data_size = sizeof(ADXContext),
200 .init = adx_decode_init,200 .init = adx_decode_init,
201 .decode = adx_decode_frame,201 .decode = adx_decode_frame,
202 .flush = adx_decode_flush,202 .flush = adx_decode_flush,
203 .capabilities = AV_CODEC_CAP_CHANNEL_CONF |203 .p.capabilities = AV_CODEC_CAP_CHANNEL_CONF |
204 AV_CODEC_CAP_DR1,204 AV_CODEC_CAP_DR1,
205 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16P,205 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16P,
206 AV_SAMPLE_FMT_NONE },206 AV_SAMPLE_FMT_NONE },
207 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,207 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
208};208};
libavcodec/adxenc.c+7−7
@@ -189,16 +189,16 @@ static int adx_encode_frame(AVCodecContext *avctx, AVPacket *avpkt, · 188 unmodified lines
189 return 0;189 return 0;
190}190}
191 191
192const AVCodec ff_adpcm_adx_encoder = {192const FFCodec ff_adpcm_adx_encoder = {
193 .name = "adpcm_adx",193 .p.name = "adpcm_adx",
194 .long_name = NULL_IF_CONFIG_SMALL("SEGA CRI ADX ADPCM"),194 .p.long_name = NULL_IF_CONFIG_SMALL("SEGA CRI ADX ADPCM"),
195 .type = AVMEDIA_TYPE_AUDIO,195 .p.type = AVMEDIA_TYPE_AUDIO,
196 .id = AV_CODEC_ID_ADPCM_ADX,196 .p.id = AV_CODEC_ID_ADPCM_ADX,
197 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,197 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,
198 .priv_data_size = sizeof(ADXContext),198 .priv_data_size = sizeof(ADXContext),
199 .init = adx_encode_init,199 .init = adx_encode_init,
200 .encode2 = adx_encode_frame,200 .encode2 = adx_encode_frame,
201 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16,201 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16,
202 AV_SAMPLE_FMT_NONE },202 AV_SAMPLE_FMT_NONE },
203 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,203 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
204};204};
libavcodec/agm.c+6−6
@@ -1286,17 +1286,17 @@ static av_cold int decode_close(AVCodecContext *avctx) · 1285 unmodified lines
1286 return 0;1286 return 0;
1287}1287}
1288 1288
1289const AVCodec ff_agm_decoder = {1289const FFCodec ff_agm_decoder = {
1290 .name = "agm",1290 .p.name = "agm",
1291 .long_name = NULL_IF_CONFIG_SMALL("Amuse Graphics Movie"),1291 .p.long_name = NULL_IF_CONFIG_SMALL("Amuse Graphics Movie"),
1292 .type = AVMEDIA_TYPE_VIDEO,1292 .p.type = AVMEDIA_TYPE_VIDEO,
1293 .id = AV_CODEC_ID_AGM,1293 .p.id = AV_CODEC_ID_AGM,
1294 .p.capabilities = AV_CODEC_CAP_DR1,
1294 .priv_data_size = sizeof(AGMContext),1295 .priv_data_size = sizeof(AGMContext),
1295 .init = decode_init,1296 .init = decode_init,
1296 .close = decode_close,1297 .close = decode_close,
1297 .decode = decode_frame,1298 .decode = decode_frame,
1298 .flush = decode_flush,1299 .flush = decode_flush,
1299 .capabilities = AV_CODEC_CAP_DR1,
1300 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |1300 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |
1301 FF_CODEC_CAP_INIT_CLEANUP |1301 FF_CODEC_CAP_INIT_CLEANUP |
1302 FF_CODEC_CAP_EXPORTS_CROPPING,1302 FF_CODEC_CAP_EXPORTS_CROPPING,
libavcodec/aic.c+6−6
@@ -495,15 +495,15 @@ static av_cold int aic_decode_close(AVCodecContext *avctx) · 494 unmodified lines
495 return 0;495 return 0;
496}496}
497 497
498const AVCodec ff_aic_decoder = {498const FFCodec ff_aic_decoder = {
499 .name = "aic",499 .p.name = "aic",
500 .long_name = NULL_IF_CONFIG_SMALL("Apple Intermediate Codec"),500 .p.long_name = NULL_IF_CONFIG_SMALL("Apple Intermediate Codec"),
501 .type = AVMEDIA_TYPE_VIDEO,501 .p.type = AVMEDIA_TYPE_VIDEO,
502 .id = AV_CODEC_ID_AIC,502 .p.id = AV_CODEC_ID_AIC,
503 .priv_data_size = sizeof(AICContext),503 .priv_data_size = sizeof(AICContext),
504 .init = aic_decode_init,504 .init = aic_decode_init,
505 .close = aic_decode_close,505 .close = aic_decode_close,
506 .decode = aic_decode_frame,506 .decode = aic_decode_frame,
507 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,507 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
508 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,508 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
509};509};
libavcodec/alac.c+7−7
@@ -611,16 +611,16 @@ static const AVClass alac_class = { · 610 unmodified lines
611 .version = LIBAVUTIL_VERSION_INT,611 .version = LIBAVUTIL_VERSION_INT,
612};612};
613 613
614const AVCodec ff_alac_decoder = {614const FFCodec ff_alac_decoder = {
615 .name = "alac",615 .p.name = "alac",
616 .long_name = NULL_IF_CONFIG_SMALL("ALAC (Apple Lossless Audio Codec)"),616 .p.long_name = NULL_IF_CONFIG_SMALL("ALAC (Apple Lossless Audio Codec)"),
617 .type = AVMEDIA_TYPE_AUDIO,617 .p.type = AVMEDIA_TYPE_AUDIO,
618 .id = AV_CODEC_ID_ALAC,618 .p.id = AV_CODEC_ID_ALAC,
619 .priv_data_size = sizeof(ALACContext),619 .priv_data_size = sizeof(ALACContext),
620 .init = alac_decode_init,620 .init = alac_decode_init,
621 .close = alac_decode_close,621 .close = alac_decode_close,
622 .decode = alac_decode_frame,622 .decode = alac_decode_frame,
623 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_CHANNEL_CONF,623 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_CHANNEL_CONF,
624 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,624 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
625 .priv_class = &alac_class625 .p.priv_class = &alac_class
626};626};
libavcodec/alacenc.c+10−10
@@ -649,22 +649,22 @@ static const AVClass alacenc_class = { · 648 unmodified lines
649};649};
650 650
651FF_DISABLE_DEPRECATION_WARNINGS651FF_DISABLE_DEPRECATION_WARNINGS
652const AVCodec ff_alac_encoder = {652const FFCodec ff_alac_encoder = {
653 .name = "alac",653 .p.name = "alac",
654 .long_name = NULL_IF_CONFIG_SMALL("ALAC (Apple Lossless Audio Codec)"),654 .p.long_name = NULL_IF_CONFIG_SMALL("ALAC (Apple Lossless Audio Codec)"),
655 .type = AVMEDIA_TYPE_AUDIO,655 .p.type = AVMEDIA_TYPE_AUDIO,
656 .id = AV_CODEC_ID_ALAC,656 .p.id = AV_CODEC_ID_ALAC,
657 .priv_data_size = sizeof(AlacEncodeContext),657 .priv_data_size = sizeof(AlacEncodeContext),
658 .priv_class = &alacenc_class,658 .p.priv_class = &alacenc_class,
659 .init = alac_encode_init,659 .init = alac_encode_init,
660 .encode2 = alac_encode_frame,660 .encode2 = alac_encode_frame,
661 .close = alac_encode_close,661 .close = alac_encode_close,
662 .capabilities = AV_CODEC_CAP_SMALL_LAST_FRAME,662 .p.capabilities = AV_CODEC_CAP_SMALL_LAST_FRAME,
663#if FF_API_OLD_CHANNEL_LAYOUT663#if FF_API_OLD_CHANNEL_LAYOUT
664 .channel_layouts = alac_channel_layouts,664 .p.channel_layouts = alac_channel_layouts,
665#endif665#endif
666 .ch_layouts = ff_alac_ch_layouts,666 .p.ch_layouts = ff_alac_ch_layouts,
667 .sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S32P,667 .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S32P,
668 AV_SAMPLE_FMT_S16P,668 AV_SAMPLE_FMT_S16P,
669 AV_SAMPLE_FMT_NONE },669 AV_SAMPLE_FMT_NONE },
670 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,670 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
libavcodec/aliaspixdec.c+7−6
@@ -23,6 +23,7 @@ · 22 unmodified lines
23 23
24#include "avcodec.h"24#include "avcodec.h"
25#include "bytestream.h"25#include "bytestream.h"
26#include "codec_internal.h"
26#include "internal.h"27#include "internal.h"
27 28
28#define ALIAS_HEADER_SIZE 1029#define ALIAS_HEADER_SIZE 10
@@ -121,11 +122,11 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *got_frame, · 92 unmodified lines
121 return avpkt->size;122 return avpkt->size;
122}123}
123 124
124const AVCodec ff_alias_pix_decoder = {125const FFCodec ff_alias_pix_decoder = {
125 .name = "alias_pix",126 .p.name = "alias_pix",
126 .long_name = NULL_IF_CONFIG_SMALL("Alias/Wavefront PIX image"),127 .p.long_name = NULL_IF_CONFIG_SMALL("Alias/Wavefront PIX image"),
127 .type = AVMEDIA_TYPE_VIDEO,128 .p.type = AVMEDIA_TYPE_VIDEO,
128 .id = AV_CODEC_ID_ALIAS_PIX,129 .p.id = AV_CODEC_ID_ALIAS_PIX,
130 .p.capabilities = AV_CODEC_CAP_DR1,
129 .decode = decode_frame,131 .decode = decode_frame,
130 .capabilities = AV_CODEC_CAP_DR1,
131};132};
libavcodec/aliaspixenc.c+7−6
@@ -23,6 +23,7 @@ · 22 unmodified lines
23 23
24#include "avcodec.h"24#include "avcodec.h"
25#include "bytestream.h"25#include "bytestream.h"
26#include "codec_internal.h"
26#include "encode.h"27#include "encode.h"
27 28
28#define ALIAS_HEADER_SIZE 1029#define ALIAS_HEADER_SIZE 10
@@ -100,13 +101,13 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt, · 71 unmodified lines
100 return 0;101 return 0;
101}102}
102 103
103const AVCodec ff_alias_pix_encoder = {104const FFCodec ff_alias_pix_encoder = {
104 .name = "alias_pix",105 .p.name = "alias_pix",
105 .long_name = NULL_IF_CONFIG_SMALL("Alias/Wavefront PIX image"),106 .p.long_name = NULL_IF_CONFIG_SMALL("Alias/Wavefront PIX image"),
106 .type = AVMEDIA_TYPE_VIDEO,107 .p.type = AVMEDIA_TYPE_VIDEO,
107 .id = AV_CODEC_ID_ALIAS_PIX,108 .p.id = AV_CODEC_ID_ALIAS_PIX,
108 .encode2 = encode_frame,109 .encode2 = encode_frame,
109 .pix_fmts = (const enum AVPixelFormat[]) {110 .p.pix_fmts = (const enum AVPixelFormat[]) {
110 AV_PIX_FMT_BGR24, AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE111 AV_PIX_FMT_BGR24, AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE
111 },112 },
112};113};
libavcodec/allcodecs.c+798−797
@@ -32,750 +32,751 @@ · 31 unmodified lines
32#include "libavutil/thread.h"32#include "libavutil/thread.h"
33#include "codec.h"33#include "codec.h"
34#include "codec_id.h"34#include "codec_id.h"
35#include "codec_internal.h"
35 36
36extern const AVCodec ff_a64multi_encoder;37extern const FFCodec ff_a64multi_encoder;
37extern const AVCodec ff_a64multi5_encoder;38extern const FFCodec ff_a64multi5_encoder;
38extern const AVCodec ff_aasc_decoder;39extern const FFCodec ff_aasc_decoder;
39extern const AVCodec ff_aic_decoder;40extern const FFCodec ff_aic_decoder;
40extern const AVCodec ff_alias_pix_encoder;41extern const FFCodec ff_alias_pix_encoder;
41extern const AVCodec ff_alias_pix_decoder;42extern const FFCodec ff_alias_pix_decoder;
42extern const AVCodec ff_agm_decoder;43extern const FFCodec ff_agm_decoder;
43extern const AVCodec ff_amv_encoder;44extern const FFCodec ff_amv_encoder;
44extern const AVCodec ff_amv_decoder;45extern const FFCodec ff_amv_decoder;
45extern const AVCodec ff_anm_decoder;46extern const FFCodec ff_anm_decoder;
46extern const AVCodec ff_ansi_decoder;47extern const FFCodec ff_ansi_decoder;
47extern const AVCodec ff_apng_encoder;48extern const FFCodec ff_apng_encoder;
48extern const AVCodec ff_apng_decoder;49extern const FFCodec ff_apng_decoder;
49extern const AVCodec ff_arbc_decoder;50extern const FFCodec ff_arbc_decoder;
50extern const AVCodec ff_argo_decoder;51extern const FFCodec ff_argo_decoder;
51extern const AVCodec ff_asv1_encoder;52extern const FFCodec ff_asv1_encoder;
52extern const AVCodec ff_asv1_decoder;53extern const FFCodec ff_asv1_decoder;
53extern const AVCodec ff_asv2_encoder;54extern const FFCodec ff_asv2_encoder;
54extern const AVCodec ff_asv2_decoder;55extern const FFCodec ff_asv2_decoder;
55extern const AVCodec ff_aura_decoder;56extern const FFCodec ff_aura_decoder;
56extern const AVCodec ff_aura2_decoder;57extern const FFCodec ff_aura2_decoder;
57extern const AVCodec ff_avrp_encoder;58extern const FFCodec ff_avrp_encoder;
58extern const AVCodec ff_avrp_decoder;59extern const FFCodec ff_avrp_decoder;
59extern const AVCodec ff_avrn_decoder;60extern const FFCodec ff_avrn_decoder;
60extern const AVCodec ff_avs_decoder;61extern const FFCodec ff_avs_decoder;
61extern const AVCodec ff_avui_encoder;62extern const FFCodec ff_avui_encoder;
62extern const AVCodec ff_avui_decoder;63extern const FFCodec ff_avui_decoder;
63extern const AVCodec ff_ayuv_encoder;64extern const FFCodec ff_ayuv_encoder;
64extern const AVCodec ff_ayuv_decoder;65extern const FFCodec ff_ayuv_decoder;
65extern const AVCodec ff_bethsoftvid_decoder;66extern const FFCodec ff_bethsoftvid_decoder;
66extern const AVCodec ff_bfi_decoder;67extern const FFCodec ff_bfi_decoder;
67extern const AVCodec ff_bink_decoder;68extern const FFCodec ff_bink_decoder;
68extern const AVCodec ff_bitpacked_decoder;69extern const FFCodec ff_bitpacked_decoder;
69extern const AVCodec ff_bitpacked_encoder;70extern const FFCodec ff_bitpacked_encoder;
70extern const AVCodec ff_bmp_encoder;71extern const FFCodec ff_bmp_encoder;
71extern const AVCodec ff_bmp_decoder;72extern const FFCodec ff_bmp_decoder;
72extern const AVCodec ff_bmv_video_decoder;73extern const FFCodec ff_bmv_video_decoder;
73extern const AVCodec ff_brender_pix_decoder;74extern const FFCodec ff_brender_pix_decoder;
74extern const AVCodec ff_c93_decoder;75extern const FFCodec ff_c93_decoder;
75extern const AVCodec ff_cavs_decoder;76extern const FFCodec ff_cavs_decoder;
76extern const AVCodec ff_cdgraphics_decoder;77extern const FFCodec ff_cdgraphics_decoder;
77extern const AVCodec ff_cdtoons_decoder;78extern const FFCodec ff_cdtoons_decoder;
78extern const AVCodec ff_cdxl_decoder;79extern const FFCodec ff_cdxl_decoder;
79extern const AVCodec ff_cfhd_encoder;80extern const FFCodec ff_cfhd_encoder;
80extern const AVCodec ff_cfhd_decoder;81extern const FFCodec ff_cfhd_decoder;
81extern const AVCodec ff_cinepak_encoder;82extern const FFCodec ff_cinepak_encoder;
82extern const AVCodec ff_cinepak_decoder;83extern const FFCodec ff_cinepak_decoder;
83extern const AVCodec ff_clearvideo_decoder;84extern const FFCodec ff_clearvideo_decoder;
84extern const AVCodec ff_cljr_encoder;85extern const FFCodec ff_cljr_encoder;
85extern const AVCodec ff_cljr_decoder;86extern const FFCodec ff_cljr_decoder;
86extern const AVCodec ff_cllc_decoder;87extern const FFCodec ff_cllc_decoder;
87extern const AVCodec ff_comfortnoise_encoder;88extern const FFCodec ff_comfortnoise_encoder;
88extern const AVCodec ff_comfortnoise_decoder;89extern const FFCodec ff_comfortnoise_decoder;
89extern const AVCodec ff_cpia_decoder;90extern const FFCodec ff_cpia_decoder;
90extern const AVCodec ff_cri_decoder;91extern const FFCodec ff_cri_decoder;
91extern const AVCodec ff_cscd_decoder;92extern const FFCodec ff_cscd_decoder;
92extern const AVCodec ff_cyuv_decoder;93extern const FFCodec ff_cyuv_decoder;
93extern const AVCodec ff_dds_decoder;94extern const FFCodec ff_dds_decoder;
94extern const AVCodec ff_dfa_decoder;95extern const FFCodec ff_dfa_decoder;
95extern const AVCodec ff_dirac_decoder;96extern const FFCodec ff_dirac_decoder;
96extern const AVCodec ff_dnxhd_encoder;97extern const FFCodec ff_dnxhd_encoder;
97extern const AVCodec ff_dnxhd_decoder;98extern const FFCodec ff_dnxhd_decoder;
98extern const AVCodec ff_dpx_encoder;99extern const FFCodec ff_dpx_encoder;
99extern const AVCodec ff_dpx_decoder;100extern const FFCodec ff_dpx_decoder;
100extern const AVCodec ff_dsicinvideo_decoder;101extern const FFCodec ff_dsicinvideo_decoder;
101extern const AVCodec ff_dvaudio_decoder;102extern const FFCodec ff_dvaudio_decoder;
102extern const AVCodec ff_dvvideo_encoder;103extern const FFCodec ff_dvvideo_encoder;
103extern const AVCodec ff_dvvideo_decoder;104extern const FFCodec ff_dvvideo_decoder;
104extern const AVCodec ff_dxa_decoder;105extern const FFCodec ff_dxa_decoder;
105extern const AVCodec ff_dxtory_decoder;106extern const FFCodec ff_dxtory_decoder;
106extern const AVCodec ff_dxv_decoder;107extern const FFCodec ff_dxv_decoder;
107extern const AVCodec ff_eacmv_decoder;108extern const FFCodec ff_eacmv_decoder;
108extern const AVCodec ff_eamad_decoder;109extern const FFCodec ff_eamad_decoder;
109extern const AVCodec ff_eatgq_decoder;110extern const FFCodec ff_eatgq_decoder;
110extern const AVCodec ff_eatgv_decoder;111extern const FFCodec ff_eatgv_decoder;
111extern const AVCodec ff_eatqi_decoder;112extern const FFCodec ff_eatqi_decoder;
112extern const AVCodec ff_eightbps_decoder;113extern const FFCodec ff_eightbps_decoder;
113extern const AVCodec ff_eightsvx_exp_decoder;114extern const FFCodec ff_eightsvx_exp_decoder;
114extern const AVCodec ff_eightsvx_fib_decoder;115extern const FFCodec ff_eightsvx_fib_decoder;
115extern const AVCodec ff_escape124_decoder;116extern const FFCodec ff_escape124_decoder;
116extern const AVCodec ff_escape130_decoder;117extern const FFCodec ff_escape130_decoder;
117extern const AVCodec ff_exr_encoder;118extern const FFCodec ff_exr_encoder;
118extern const AVCodec ff_exr_decoder;119extern const FFCodec ff_exr_decoder;
119extern const AVCodec ff_ffv1_encoder;120extern const FFCodec ff_ffv1_encoder;
120extern const AVCodec ff_ffv1_decoder;121extern const FFCodec ff_ffv1_decoder;
121extern const AVCodec ff_ffvhuff_encoder;122extern const FFCodec ff_ffvhuff_encoder;
122extern const AVCodec ff_ffvhuff_decoder;123extern const FFCodec ff_ffvhuff_decoder;
123extern const AVCodec ff_fic_decoder;124extern const FFCodec ff_fic_decoder;
124extern const AVCodec ff_fits_encoder;125extern const FFCodec ff_fits_encoder;
125extern const AVCodec ff_fits_decoder;126extern const FFCodec ff_fits_decoder;
126extern const AVCodec ff_flashsv_encoder;127extern const FFCodec ff_flashsv_encoder;
127extern const AVCodec ff_flashsv_decoder;128extern const FFCodec ff_flashsv_decoder;
128extern const AVCodec ff_flashsv2_encoder;129extern const FFCodec ff_flashsv2_encoder;
129extern const AVCodec ff_flashsv2_decoder;130extern const FFCodec ff_flashsv2_decoder;
130extern const AVCodec ff_flic_decoder;131extern const FFCodec ff_flic_decoder;
131extern const AVCodec ff_flv_encoder;132extern const FFCodec ff_flv_encoder;
132extern const AVCodec ff_flv_decoder;133extern const FFCodec ff_flv_decoder;
133extern const AVCodec ff_fmvc_decoder;134extern const FFCodec ff_fmvc_decoder;
134extern const AVCodec ff_fourxm_decoder;135extern const FFCodec ff_fourxm_decoder;
135extern const AVCodec ff_fraps_decoder;136extern const FFCodec ff_fraps_decoder;
136extern const AVCodec ff_frwu_decoder;137extern const FFCodec ff_frwu_decoder;
137extern const AVCodec ff_g2m_decoder;138extern const FFCodec ff_g2m_decoder;
138extern const AVCodec ff_gdv_decoder;139extern const FFCodec ff_gdv_decoder;
139extern const AVCodec ff_gem_decoder;140extern const FFCodec ff_gem_decoder;
140extern const AVCodec ff_gif_encoder;141extern const FFCodec ff_gif_encoder;
141extern const AVCodec ff_gif_decoder;142extern const FFCodec ff_gif_decoder;
142extern const AVCodec ff_h261_encoder;143extern const FFCodec ff_h261_encoder;
143extern const AVCodec ff_h261_decoder;144extern const FFCodec ff_h261_decoder;
144extern const AVCodec ff_h263_encoder;145extern const FFCodec ff_h263_encoder;
145extern const AVCodec ff_h263_decoder;146extern const FFCodec ff_h263_decoder;
146extern const AVCodec ff_h263i_decoder;147extern const FFCodec ff_h263i_decoder;
147extern const AVCodec ff_h263p_encoder;148extern const FFCodec ff_h263p_encoder;
148extern const AVCodec ff_h263p_decoder;149extern const FFCodec ff_h263p_decoder;
149extern const AVCodec ff_h263_v4l2m2m_decoder;150extern const FFCodec ff_h263_v4l2m2m_decoder;
150extern const AVCodec ff_h264_decoder;151extern const FFCodec ff_h264_decoder;
151extern const AVCodec ff_h264_crystalhd_decoder;152extern const FFCodec ff_h264_crystalhd_decoder;
152extern const AVCodec ff_h264_v4l2m2m_decoder;153extern const FFCodec ff_h264_v4l2m2m_decoder;
153extern const AVCodec ff_h264_mediacodec_decoder;154extern const FFCodec ff_h264_mediacodec_decoder;
154extern const AVCodec ff_h264_mmal_decoder;155extern const FFCodec ff_h264_mmal_decoder;
155extern const AVCodec ff_h264_qsv_decoder;156extern const FFCodec ff_h264_qsv_decoder;
156extern const AVCodec ff_h264_rkmpp_decoder;157extern const FFCodec ff_h264_rkmpp_decoder;
157extern const AVCodec ff_hap_encoder;158extern const FFCodec ff_hap_encoder;
158extern const AVCodec ff_hap_decoder;159extern const FFCodec ff_hap_decoder;
159extern const AVCodec ff_hevc_decoder;160extern const FFCodec ff_hevc_decoder;
160extern const AVCodec ff_hevc_qsv_decoder;161extern const FFCodec ff_hevc_qsv_decoder;
161extern const AVCodec ff_hevc_rkmpp_decoder;162extern const FFCodec ff_hevc_rkmpp_decoder;
162extern const AVCodec ff_hevc_v4l2m2m_decoder;163extern const FFCodec ff_hevc_v4l2m2m_decoder;
163extern const AVCodec ff_hnm4_video_decoder;164extern const FFCodec ff_hnm4_video_decoder;
164extern const AVCodec ff_hq_hqa_decoder;165extern const FFCodec ff_hq_hqa_decoder;
165extern const AVCodec ff_hqx_decoder;166extern const FFCodec ff_hqx_decoder;
166extern const AVCodec ff_huffyuv_encoder;167extern const FFCodec ff_huffyuv_encoder;
167extern const AVCodec ff_huffyuv_decoder;168extern const FFCodec ff_huffyuv_decoder;
168extern const AVCodec ff_hymt_decoder;169extern const FFCodec ff_hymt_decoder;
169extern const AVCodec ff_idcin_decoder;170extern const FFCodec ff_idcin_decoder;
170extern const AVCodec ff_iff_ilbm_decoder;171extern const FFCodec ff_iff_ilbm_decoder;
171extern const AVCodec ff_imm4_decoder;172extern const FFCodec ff_imm4_decoder;
172extern const AVCodec ff_imm5_decoder;173extern const FFCodec ff_imm5_decoder;
173extern const AVCodec ff_indeo2_decoder;174extern const FFCodec ff_indeo2_decoder;
174extern const AVCodec ff_indeo3_decoder;175extern const FFCodec ff_indeo3_decoder;
175extern const AVCodec ff_indeo4_decoder;176extern const FFCodec ff_indeo4_decoder;
176extern const AVCodec ff_indeo5_decoder;177extern const FFCodec ff_indeo5_decoder;
177extern const AVCodec ff_interplay_video_decoder;178extern const FFCodec ff_interplay_video_decoder;
178extern const AVCodec ff_ipu_decoder;179extern const FFCodec ff_ipu_decoder;
179extern const AVCodec ff_jpeg2000_encoder;180extern const FFCodec ff_jpeg2000_encoder;
180extern const AVCodec ff_jpeg2000_decoder;181extern const FFCodec ff_jpeg2000_decoder;
181extern const AVCodec ff_jpegls_encoder;182extern const FFCodec ff_jpegls_encoder;
182extern const AVCodec ff_jpegls_decoder;183extern const FFCodec ff_jpegls_decoder;
183extern const AVCodec ff_jv_decoder;184extern const FFCodec ff_jv_decoder;
184extern const AVCodec ff_kgv1_decoder;185extern const FFCodec ff_kgv1_decoder;
185extern const AVCodec ff_kmvc_decoder;186extern const FFCodec ff_kmvc_decoder;
186extern const AVCodec ff_lagarith_decoder;187extern const FFCodec ff_lagarith_decoder;
187extern const AVCodec ff_ljpeg_encoder;188extern const FFCodec ff_ljpeg_encoder;
188extern const AVCodec ff_loco_decoder;189extern const FFCodec ff_loco_decoder;
189extern const AVCodec ff_lscr_decoder;190extern const FFCodec ff_lscr_decoder;
190extern const AVCodec ff_m101_decoder;191extern const FFCodec ff_m101_decoder;
191extern const AVCodec ff_magicyuv_encoder;192extern const FFCodec ff_magicyuv_encoder;
192extern const AVCodec ff_magicyuv_decoder;193extern const FFCodec ff_magicyuv_decoder;
193extern const AVCodec ff_mdec_decoder;194extern const FFCodec ff_mdec_decoder;
194extern const AVCodec ff_mimic_decoder;195extern const FFCodec ff_mimic_decoder;
195extern const AVCodec ff_mjpeg_encoder;196extern const FFCodec ff_mjpeg_encoder;
196extern const AVCodec ff_mjpeg_decoder;197extern const FFCodec ff_mjpeg_decoder;
197extern const AVCodec ff_mjpegb_decoder;198extern const FFCodec ff_mjpegb_decoder;
198extern const AVCodec ff_mmvideo_decoder;199extern const FFCodec ff_mmvideo_decoder;
199extern const AVCodec ff_mobiclip_decoder;200extern const FFCodec ff_mobiclip_decoder;
200extern const AVCodec ff_motionpixels_decoder;201extern const FFCodec ff_motionpixels_decoder;
201extern const AVCodec ff_mpeg1video_encoder;202extern const FFCodec ff_mpeg1video_encoder;
202extern const AVCodec ff_mpeg1video_decoder;203extern const FFCodec ff_mpeg1video_decoder;
203extern const AVCodec ff_mpeg2video_encoder;204extern const FFCodec ff_mpeg2video_encoder;
204extern const AVCodec ff_mpeg2video_decoder;205extern const FFCodec ff_mpeg2video_decoder;
205extern const AVCodec ff_mpeg4_encoder;206extern const FFCodec ff_mpeg4_encoder;
206extern const AVCodec ff_mpeg4_decoder;207extern const FFCodec ff_mpeg4_decoder;
207extern const AVCodec ff_mpeg4_crystalhd_decoder;208extern const FFCodec ff_mpeg4_crystalhd_decoder;
208extern const AVCodec ff_mpeg4_v4l2m2m_decoder;209extern const FFCodec ff_mpeg4_v4l2m2m_decoder;
209extern const AVCodec ff_mpeg4_mmal_decoder;210extern const FFCodec ff_mpeg4_mmal_decoder;
210extern const AVCodec ff_mpegvideo_decoder;211extern const FFCodec ff_mpegvideo_decoder;
211extern const AVCodec ff_mpeg1_v4l2m2m_decoder;212extern const FFCodec ff_mpeg1_v4l2m2m_decoder;
212extern const AVCodec ff_mpeg2_mmal_decoder;213extern const FFCodec ff_mpeg2_mmal_decoder;
213extern const AVCodec ff_mpeg2_crystalhd_decoder;214extern const FFCodec ff_mpeg2_crystalhd_decoder;
214extern const AVCodec ff_mpeg2_v4l2m2m_decoder;215extern const FFCodec ff_mpeg2_v4l2m2m_decoder;
215extern const AVCodec ff_mpeg2_qsv_decoder;216extern const FFCodec ff_mpeg2_qsv_decoder;
216extern const AVCodec ff_mpeg2_mediacodec_decoder;217extern const FFCodec ff_mpeg2_mediacodec_decoder;
217extern const AVCodec ff_msa1_decoder;218extern const FFCodec ff_msa1_decoder;
218extern const AVCodec ff_mscc_decoder;219extern const FFCodec ff_mscc_decoder;
219extern const AVCodec ff_msmpeg4v1_decoder;220extern const FFCodec ff_msmpeg4v1_decoder;
220extern const AVCodec ff_msmpeg4v2_encoder;221extern const FFCodec ff_msmpeg4v2_encoder;
221extern const AVCodec ff_msmpeg4v2_decoder;222extern const FFCodec ff_msmpeg4v2_decoder;
222extern const AVCodec ff_msmpeg4v3_encoder;223extern const FFCodec ff_msmpeg4v3_encoder;
223extern const AVCodec ff_msmpeg4v3_decoder;224extern const FFCodec ff_msmpeg4v3_decoder;
224extern const AVCodec ff_msmpeg4_crystalhd_decoder;225extern const FFCodec ff_msmpeg4_crystalhd_decoder;
225extern const AVCodec ff_msp2_decoder;226extern const FFCodec ff_msp2_decoder;
226extern const AVCodec ff_msrle_decoder;227extern const FFCodec ff_msrle_decoder;
227extern const AVCodec ff_mss1_decoder;228extern const FFCodec ff_mss1_decoder;
228extern const AVCodec ff_mss2_decoder;229extern const FFCodec ff_mss2_decoder;
229extern const AVCodec ff_msvideo1_encoder;230extern const FFCodec ff_msvideo1_encoder;
230extern const AVCodec ff_msvideo1_decoder;231extern const FFCodec ff_msvideo1_decoder;
231extern const AVCodec ff_mszh_decoder;232extern const FFCodec ff_mszh_decoder;
232extern const AVCodec ff_mts2_decoder;233extern const FFCodec ff_mts2_decoder;
233extern const AVCodec ff_mv30_decoder;234extern const FFCodec ff_mv30_decoder;
234extern const AVCodec ff_mvc1_decoder;235extern const FFCodec ff_mvc1_decoder;
235extern const AVCodec ff_mvc2_decoder;236extern const FFCodec ff_mvc2_decoder;
236extern const AVCodec ff_mvdv_decoder;237extern const FFCodec ff_mvdv_decoder;
237extern const AVCodec ff_mvha_decoder;238extern const FFCodec ff_mvha_decoder;
238extern const AVCodec ff_mwsc_decoder;239extern const FFCodec ff_mwsc_decoder;
239extern const AVCodec ff_mxpeg_decoder;240extern const FFCodec ff_mxpeg_decoder;
240extern const AVCodec ff_notchlc_decoder;241extern const FFCodec ff_notchlc_decoder;
241extern const AVCodec ff_nuv_decoder;242extern const FFCodec ff_nuv_decoder;
242extern const AVCodec ff_paf_video_decoder;243extern const FFCodec ff_paf_video_decoder;
243extern const AVCodec ff_pam_encoder;244extern const FFCodec ff_pam_encoder;
244extern const AVCodec ff_pam_decoder;245extern const FFCodec ff_pam_decoder;
245extern const AVCodec ff_pbm_encoder;246extern const FFCodec ff_pbm_encoder;
246extern const AVCodec ff_pbm_decoder;247extern const FFCodec ff_pbm_decoder;
247extern const AVCodec ff_pcx_encoder;248extern const FFCodec ff_pcx_encoder;
248extern const AVCodec ff_pcx_decoder;249extern const FFCodec ff_pcx_decoder;
249extern const AVCodec ff_pfm_encoder;250extern const FFCodec ff_pfm_encoder;
250extern const AVCodec ff_pfm_decoder;251extern const FFCodec ff_pfm_decoder;
251extern const AVCodec ff_pgm_encoder;252extern const FFCodec ff_pgm_encoder;
252extern const AVCodec ff_pgm_decoder;253extern const FFCodec ff_pgm_decoder;
253extern const AVCodec ff_pgmyuv_encoder;254extern const FFCodec ff_pgmyuv_encoder;
254extern const AVCodec ff_pgmyuv_decoder;255extern const FFCodec ff_pgmyuv_decoder;
255extern const AVCodec ff_pgx_decoder;256extern const FFCodec ff_pgx_decoder;
256extern const AVCodec ff_photocd_decoder;257extern const FFCodec ff_photocd_decoder;
257extern const AVCodec ff_pictor_decoder;258extern const FFCodec ff_pictor_decoder;
258extern const AVCodec ff_pixlet_decoder;259extern const FFCodec ff_pixlet_decoder;
259extern const AVCodec ff_png_encoder;260extern const FFCodec ff_png_encoder;
260extern const AVCodec ff_png_decoder;261extern const FFCodec ff_png_decoder;
261extern const AVCodec ff_ppm_encoder;262extern const FFCodec ff_ppm_encoder;
262extern const AVCodec ff_ppm_decoder;263extern const FFCodec ff_ppm_decoder;
263extern const AVCodec ff_prores_encoder;264extern const FFCodec ff_prores_encoder;
264extern const AVCodec ff_prores_decoder;265extern const FFCodec ff_prores_decoder;
265extern const AVCodec ff_prores_aw_encoder;266extern const FFCodec ff_prores_aw_encoder;
266extern const AVCodec ff_prores_ks_encoder;267extern const FFCodec ff_prores_ks_encoder;
267extern const AVCodec ff_prosumer_decoder;268extern const FFCodec ff_prosumer_decoder;
268extern const AVCodec ff_psd_decoder;269extern const FFCodec ff_psd_decoder;
269extern const AVCodec ff_ptx_decoder;270extern const FFCodec ff_ptx_decoder;
270extern const AVCodec ff_qdraw_decoder;271extern const FFCodec ff_qdraw_decoder;
271extern const AVCodec ff_qpeg_decoder;272extern const FFCodec ff_qpeg_decoder;
272extern const AVCodec ff_qtrle_encoder;273extern const FFCodec ff_qtrle_encoder;
273extern const AVCodec ff_qtrle_decoder;274extern const FFCodec ff_qtrle_decoder;
274extern const AVCodec ff_r10k_encoder;275extern const FFCodec ff_r10k_encoder;
275extern const AVCodec ff_r10k_decoder;276extern const FFCodec ff_r10k_decoder;
276extern const AVCodec ff_r210_encoder;277extern const FFCodec ff_r210_encoder;
277extern const AVCodec ff_r210_decoder;278extern const FFCodec ff_r210_decoder;
278extern const AVCodec ff_rasc_decoder;279extern const FFCodec ff_rasc_decoder;
279extern const AVCodec ff_rawvideo_encoder;280extern const FFCodec ff_rawvideo_encoder;
280extern const AVCodec ff_rawvideo_decoder;281extern const FFCodec ff_rawvideo_decoder;
281extern const AVCodec ff_rl2_decoder;282extern const FFCodec ff_rl2_decoder;
282extern const AVCodec ff_roq_encoder;283extern const FFCodec ff_roq_encoder;
283extern const AVCodec ff_roq_decoder;284extern const FFCodec ff_roq_decoder;
284extern const AVCodec ff_rpza_encoder;285extern const FFCodec ff_rpza_encoder;
285extern const AVCodec ff_rpza_decoder;286extern const FFCodec ff_rpza_decoder;
286extern const AVCodec ff_rscc_decoder;287extern const FFCodec ff_rscc_decoder;
287extern const AVCodec ff_rv10_encoder;288extern const FFCodec ff_rv10_encoder;
288extern const AVCodec ff_rv10_decoder;289extern const FFCodec ff_rv10_decoder;
289extern const AVCodec ff_rv20_encoder;290extern const FFCodec ff_rv20_encoder;
290extern const AVCodec ff_rv20_decoder;291extern const FFCodec ff_rv20_decoder;
291extern const AVCodec ff_rv30_decoder;292extern const FFCodec ff_rv30_decoder;
292extern const AVCodec ff_rv40_decoder;293extern const FFCodec ff_rv40_decoder;
293extern const AVCodec ff_s302m_encoder;294extern const FFCodec ff_s302m_encoder;
294extern const AVCodec ff_s302m_decoder;295extern const FFCodec ff_s302m_decoder;
295extern const AVCodec ff_sanm_decoder;296extern const FFCodec ff_sanm_decoder;
296extern const AVCodec ff_scpr_decoder;297extern const FFCodec ff_scpr_decoder;
297extern const AVCodec ff_screenpresso_decoder;298extern const FFCodec ff_screenpresso_decoder;
298extern const AVCodec ff_sga_decoder;299extern const FFCodec ff_sga_decoder;
299extern const AVCodec ff_sgi_encoder;300extern const FFCodec ff_sgi_encoder;
300extern const AVCodec ff_sgi_decoder;301extern const FFCodec ff_sgi_decoder;
301extern const AVCodec ff_sgirle_decoder;302extern const FFCodec ff_sgirle_decoder;
302extern const AVCodec ff_sheervideo_decoder;303extern const FFCodec ff_sheervideo_decoder;
303extern const AVCodec ff_simbiosis_imx_decoder;304extern const FFCodec ff_simbiosis_imx_decoder;
304extern const AVCodec ff_smacker_decoder;305extern const FFCodec ff_smacker_decoder;
305extern const AVCodec ff_smc_encoder;306extern const FFCodec ff_smc_encoder;
306extern const AVCodec ff_smc_decoder;307extern const FFCodec ff_smc_decoder;
307extern const AVCodec ff_smvjpeg_decoder;308extern const FFCodec ff_smvjpeg_decoder;
308extern const AVCodec ff_snow_encoder;309extern const FFCodec ff_snow_encoder;
309extern const AVCodec ff_snow_decoder;310extern const FFCodec ff_snow_decoder;
310extern const AVCodec ff_sp5x_decoder;311extern const FFCodec ff_sp5x_decoder;
311extern const AVCodec ff_speedhq_decoder;312extern const FFCodec ff_speedhq_decoder;
312extern const AVCodec ff_speedhq_encoder;313extern const FFCodec ff_speedhq_encoder;
313extern const AVCodec ff_speex_decoder;314extern const FFCodec ff_speex_decoder;
314extern const AVCodec ff_srgc_decoder;315extern const FFCodec ff_srgc_decoder;
315extern const AVCodec ff_sunrast_encoder;316extern const FFCodec ff_sunrast_encoder;
316extern const AVCodec ff_sunrast_decoder;317extern const FFCodec ff_sunrast_decoder;
317extern const AVCodec ff_svq1_encoder;318extern const FFCodec ff_svq1_encoder;
318extern const AVCodec ff_svq1_decoder;319extern const FFCodec ff_svq1_decoder;
319extern const AVCodec ff_svq3_decoder;320extern const FFCodec ff_svq3_decoder;
320extern const AVCodec ff_targa_encoder;321extern const FFCodec ff_targa_encoder;
321extern const AVCodec ff_targa_decoder;322extern const FFCodec ff_targa_decoder;
322extern const AVCodec ff_targa_y216_decoder;323extern const FFCodec ff_targa_y216_decoder;
323extern const AVCodec ff_tdsc_decoder;324extern const FFCodec ff_tdsc_decoder;
324extern const AVCodec ff_theora_decoder;325extern const FFCodec ff_theora_decoder;
325extern const AVCodec ff_thp_decoder;326extern const FFCodec ff_thp_decoder;
326extern const AVCodec ff_tiertexseqvideo_decoder;327extern const FFCodec ff_tiertexseqvideo_decoder;
327extern const AVCodec ff_tiff_encoder;328extern const FFCodec ff_tiff_encoder;
328extern const AVCodec ff_tiff_decoder;329extern const FFCodec ff_tiff_decoder;
329extern const AVCodec ff_tmv_decoder;330extern const FFCodec ff_tmv_decoder;
330extern const AVCodec ff_truemotion1_decoder;331extern const FFCodec ff_truemotion1_decoder;
331extern const AVCodec ff_truemotion2_decoder;332extern const FFCodec ff_truemotion2_decoder;
332extern const AVCodec ff_truemotion2rt_decoder;333extern const FFCodec ff_truemotion2rt_decoder;
333extern const AVCodec ff_tscc_decoder;334extern const FFCodec ff_tscc_decoder;
334extern const AVCodec ff_tscc2_decoder;335extern const FFCodec ff_tscc2_decoder;
335extern const AVCodec ff_txd_decoder;336extern const FFCodec ff_txd_decoder;
336extern const AVCodec ff_ulti_decoder;337extern const FFCodec ff_ulti_decoder;
337extern const AVCodec ff_utvideo_encoder;338extern const FFCodec ff_utvideo_encoder;
338extern const AVCodec ff_utvideo_decoder;339extern const FFCodec ff_utvideo_decoder;
339extern const AVCodec ff_v210_encoder;340extern const FFCodec ff_v210_encoder;
340extern const AVCodec ff_v210_decoder;341extern const FFCodec ff_v210_decoder;
341extern const AVCodec ff_v210x_decoder;342extern const FFCodec ff_v210x_decoder;
342extern const AVCodec ff_v308_encoder;343extern const FFCodec ff_v308_encoder;
343extern const AVCodec ff_v308_decoder;344extern const FFCodec ff_v308_decoder;
344extern const AVCodec ff_v408_encoder;345extern const FFCodec ff_v408_encoder;
345extern const AVCodec ff_v408_decoder;346extern const FFCodec ff_v408_decoder;
346extern const AVCodec ff_v410_encoder;347extern const FFCodec ff_v410_encoder;
347extern const AVCodec ff_v410_decoder;348extern const FFCodec ff_v410_decoder;
348extern const AVCodec ff_vb_decoder;349extern const FFCodec ff_vb_decoder;
349extern const AVCodec ff_vble_decoder;350extern const FFCodec ff_vble_decoder;
350extern const AVCodec ff_vc1_decoder;351extern const FFCodec ff_vc1_decoder;
351extern const AVCodec ff_vc1_crystalhd_decoder;352extern const FFCodec ff_vc1_crystalhd_decoder;
352extern const AVCodec ff_vc1image_decoder;353extern const FFCodec ff_vc1image_decoder;
353extern const AVCodec ff_vc1_mmal_decoder;354extern const FFCodec ff_vc1_mmal_decoder;
354extern const AVCodec ff_vc1_qsv_decoder;355extern const FFCodec ff_vc1_qsv_decoder;
355extern const AVCodec ff_vc1_v4l2m2m_decoder;356extern const FFCodec ff_vc1_v4l2m2m_decoder;
356extern const AVCodec ff_vc2_encoder;357extern const FFCodec ff_vc2_encoder;
357extern const AVCodec ff_vcr1_decoder;358extern const FFCodec ff_vcr1_decoder;
358extern const AVCodec ff_vmdvideo_decoder;359extern const FFCodec ff_vmdvideo_decoder;
359extern const AVCodec ff_vmnc_decoder;360extern const FFCodec ff_vmnc_decoder;
360extern const AVCodec ff_vp3_decoder;361extern const FFCodec ff_vp3_decoder;
361extern const AVCodec ff_vp4_decoder;362extern const FFCodec ff_vp4_decoder;
362extern const AVCodec ff_vp5_decoder;363extern const FFCodec ff_vp5_decoder;
363extern const AVCodec ff_vp6_decoder;364extern const FFCodec ff_vp6_decoder;
364extern const AVCodec ff_vp6a_decoder;365extern const FFCodec ff_vp6a_decoder;
365extern const AVCodec ff_vp6f_decoder;366extern const FFCodec ff_vp6f_decoder;
366extern const AVCodec ff_vp7_decoder;367extern const FFCodec ff_vp7_decoder;
367extern const AVCodec ff_vp8_decoder;368extern const FFCodec ff_vp8_decoder;
368extern const AVCodec ff_vp8_rkmpp_decoder;369extern const FFCodec ff_vp8_rkmpp_decoder;
369extern const AVCodec ff_vp8_v4l2m2m_decoder;370extern const FFCodec ff_vp8_v4l2m2m_decoder;
370extern const AVCodec ff_vp9_decoder;371extern const FFCodec ff_vp9_decoder;
371extern const AVCodec ff_vp9_rkmpp_decoder;372extern const FFCodec ff_vp9_rkmpp_decoder;
372extern const AVCodec ff_vp9_v4l2m2m_decoder;373extern const FFCodec ff_vp9_v4l2m2m_decoder;
373extern const AVCodec ff_vqa_decoder;374extern const FFCodec ff_vqa_decoder;
374extern const AVCodec ff_webp_decoder;375extern const FFCodec ff_webp_decoder;
375extern const AVCodec ff_wcmv_decoder;376extern const FFCodec ff_wcmv_decoder;
376extern const AVCodec ff_wrapped_avframe_encoder;377extern const FFCodec ff_wrapped_avframe_encoder;
377extern const AVCodec ff_wrapped_avframe_decoder;378extern const FFCodec ff_wrapped_avframe_decoder;
378extern const AVCodec ff_wmv1_encoder;379extern const FFCodec ff_wmv1_encoder;
379extern const AVCodec ff_wmv1_decoder;380extern const FFCodec ff_wmv1_decoder;
380extern const AVCodec ff_wmv2_encoder;381extern const FFCodec ff_wmv2_encoder;
381extern const AVCodec ff_wmv2_decoder;382extern const FFCodec ff_wmv2_decoder;
382extern const AVCodec ff_wmv3_decoder;383extern const FFCodec ff_wmv3_decoder;
383extern const AVCodec ff_wmv3_crystalhd_decoder;384extern const FFCodec ff_wmv3_crystalhd_decoder;
384extern const AVCodec ff_wmv3image_decoder;385extern const FFCodec ff_wmv3image_decoder;
385extern const AVCodec ff_wnv1_decoder;386extern const FFCodec ff_wnv1_decoder;
386extern const AVCodec ff_xan_wc3_decoder;387extern const FFCodec ff_xan_wc3_decoder;
387extern const AVCodec ff_xan_wc4_decoder;388extern const FFCodec ff_xan_wc4_decoder;
388extern const AVCodec ff_xbm_encoder;389extern const FFCodec ff_xbm_encoder;
389extern const AVCodec ff_xbm_decoder;390extern const FFCodec ff_xbm_decoder;
390extern const AVCodec ff_xface_encoder;391extern const FFCodec ff_xface_encoder;
391extern const AVCodec ff_xface_decoder;392extern const FFCodec ff_xface_decoder;
392extern const AVCodec ff_xl_decoder;393extern const FFCodec ff_xl_decoder;
393extern const AVCodec ff_xpm_decoder;394extern const FFCodec ff_xpm_decoder;
394extern const AVCodec ff_xwd_encoder;395extern const FFCodec ff_xwd_encoder;
395extern const AVCodec ff_xwd_decoder;396extern const FFCodec ff_xwd_decoder;
396extern const AVCodec ff_y41p_encoder;397extern const FFCodec ff_y41p_encoder;
397extern const AVCodec ff_y41p_decoder;398extern const FFCodec ff_y41p_decoder;
398extern const AVCodec ff_ylc_decoder;399extern const FFCodec ff_ylc_decoder;
399extern const AVCodec ff_yop_decoder;400extern const FFCodec ff_yop_decoder;
400extern const AVCodec ff_yuv4_encoder;401extern const FFCodec ff_yuv4_encoder;
401extern const AVCodec ff_yuv4_decoder;402extern const FFCodec ff_yuv4_decoder;
402extern const AVCodec ff_zero12v_decoder;403extern const FFCodec ff_zero12v_decoder;
403extern const AVCodec ff_zerocodec_decoder;404extern const FFCodec ff_zerocodec_decoder;
404extern const AVCodec ff_zlib_encoder;405extern const FFCodec ff_zlib_encoder;
405extern const AVCodec ff_zlib_decoder;406extern const FFCodec ff_zlib_decoder;
406extern const AVCodec ff_zmbv_encoder;407extern const FFCodec ff_zmbv_encoder;
407extern const AVCodec ff_zmbv_decoder;408extern const FFCodec ff_zmbv_decoder;
408 409
409/* audio codecs */410/* audio codecs */
410extern const AVCodec ff_aac_encoder;411extern const FFCodec ff_aac_encoder;
411extern const AVCodec ff_aac_decoder;412extern const FFCodec ff_aac_decoder;
412extern const AVCodec ff_aac_fixed_decoder;413extern const FFCodec ff_aac_fixed_decoder;
413extern const AVCodec ff_aac_latm_decoder;414extern const FFCodec ff_aac_latm_decoder;
414extern const AVCodec ff_ac3_encoder;415extern const FFCodec ff_ac3_encoder;
415extern const AVCodec ff_ac3_decoder;416extern const FFCodec ff_ac3_decoder;
416extern const AVCodec ff_ac3_fixed_encoder;417extern const FFCodec ff_ac3_fixed_encoder;
417extern const AVCodec ff_ac3_fixed_decoder;418extern const FFCodec ff_ac3_fixed_decoder;
418extern const AVCodec ff_acelp_kelvin_decoder;419extern const FFCodec ff_acelp_kelvin_decoder;
419extern const AVCodec ff_alac_encoder;420extern const FFCodec ff_alac_encoder;
420extern const AVCodec ff_alac_decoder;421extern const FFCodec ff_alac_decoder;
421extern const AVCodec ff_als_decoder;422extern const FFCodec ff_als_decoder;
422extern const AVCodec ff_amrnb_decoder;423extern const FFCodec ff_amrnb_decoder;
423extern const AVCodec ff_amrwb_decoder;424extern const FFCodec ff_amrwb_decoder;
424extern const AVCodec ff_ape_decoder;425extern const FFCodec ff_ape_decoder;
425extern const AVCodec ff_aptx_encoder;426extern const FFCodec ff_aptx_encoder;
426extern const AVCodec ff_aptx_decoder;427extern const FFCodec ff_aptx_decoder;
427extern const AVCodec ff_aptx_hd_encoder;428extern const FFCodec ff_aptx_hd_encoder;
428extern const AVCodec ff_aptx_hd_decoder;429extern const FFCodec ff_aptx_hd_decoder;
429extern const AVCodec ff_atrac1_decoder;430extern const FFCodec ff_atrac1_decoder;
430extern const AVCodec ff_atrac3_decoder;431extern const FFCodec ff_atrac3_decoder;
431extern const AVCodec ff_atrac3al_decoder;432extern const FFCodec ff_atrac3al_decoder;
432extern const AVCodec ff_atrac3p_decoder;433extern const FFCodec ff_atrac3p_decoder;
433extern const AVCodec ff_atrac3pal_decoder;434extern const FFCodec ff_atrac3pal_decoder;
434extern const AVCodec ff_atrac9_decoder;435extern const FFCodec ff_atrac9_decoder;
435extern const AVCodec ff_binkaudio_dct_decoder;436extern const FFCodec ff_binkaudio_dct_decoder;
436extern const AVCodec ff_binkaudio_rdft_decoder;437extern const FFCodec ff_binkaudio_rdft_decoder;
437extern const AVCodec ff_bmv_audio_decoder;438extern const FFCodec ff_bmv_audio_decoder;
438extern const AVCodec ff_cook_decoder;439extern const FFCodec ff_cook_decoder;
439extern const AVCodec ff_dca_encoder;440extern const FFCodec ff_dca_encoder;
440extern const AVCodec ff_dca_decoder;441extern const FFCodec ff_dca_decoder;
441extern const AVCodec ff_dfpwm_encoder;442extern const FFCodec ff_dfpwm_encoder;
442extern const AVCodec ff_dfpwm_decoder;443extern const FFCodec ff_dfpwm_decoder;
443extern const AVCodec ff_dolby_e_decoder;444extern const FFCodec ff_dolby_e_decoder;
444extern const AVCodec ff_dsd_lsbf_decoder;445extern const FFCodec ff_dsd_lsbf_decoder;
445extern const AVCodec ff_dsd_msbf_decoder;446extern const FFCodec ff_dsd_msbf_decoder;
446extern const AVCodec ff_dsd_lsbf_planar_decoder;447extern const FFCodec ff_dsd_lsbf_planar_decoder;
447extern const AVCodec ff_dsd_msbf_planar_decoder;448extern const FFCodec ff_dsd_msbf_planar_decoder;
448extern const AVCodec ff_dsicinaudio_decoder;449extern const FFCodec ff_dsicinaudio_decoder;
449extern const AVCodec ff_dss_sp_decoder;450extern const FFCodec ff_dss_sp_decoder;
450extern const AVCodec ff_dst_decoder;451extern const FFCodec ff_dst_decoder;
451extern const AVCodec ff_eac3_encoder;452extern const FFCodec ff_eac3_encoder;
452extern const AVCodec ff_eac3_decoder;453extern const FFCodec ff_eac3_decoder;
453extern const AVCodec ff_evrc_decoder;454extern const FFCodec ff_evrc_decoder;
454extern const AVCodec ff_fastaudio_decoder;455extern const FFCodec ff_fastaudio_decoder;
455extern const AVCodec ff_ffwavesynth_decoder;456extern const FFCodec ff_ffwavesynth_decoder;
456extern const AVCodec ff_flac_encoder;457extern const FFCodec ff_flac_encoder;
457extern const AVCodec ff_flac_decoder;458extern const FFCodec ff_flac_decoder;
458extern const AVCodec ff_g723_1_encoder;459extern const FFCodec ff_g723_1_encoder;
459extern const AVCodec ff_g723_1_decoder;460extern const FFCodec ff_g723_1_decoder;
460extern const AVCodec ff_g729_decoder;461extern const FFCodec ff_g729_decoder;
461extern const AVCodec ff_gsm_decoder;462extern const FFCodec ff_gsm_decoder;
462extern const AVCodec ff_gsm_ms_decoder;463extern const FFCodec ff_gsm_ms_decoder;
463extern const AVCodec ff_hca_decoder;464extern const FFCodec ff_hca_decoder;
464extern const AVCodec ff_hcom_decoder;465extern const FFCodec ff_hcom_decoder;
465extern const AVCodec ff_iac_decoder;466extern const FFCodec ff_iac_decoder;
466extern const AVCodec ff_ilbc_decoder;467extern const FFCodec ff_ilbc_decoder;
467extern const AVCodec ff_imc_decoder;468extern const FFCodec ff_imc_decoder;
468extern const AVCodec ff_interplay_acm_decoder;469extern const FFCodec ff_interplay_acm_decoder;
469extern const AVCodec ff_mace3_decoder;470extern const FFCodec ff_mace3_decoder;
470extern const AVCodec ff_mace6_decoder;471extern const FFCodec ff_mace6_decoder;
471extern const AVCodec ff_metasound_decoder;472extern const FFCodec ff_metasound_decoder;
472extern const AVCodec ff_mlp_encoder;473extern const FFCodec ff_mlp_encoder;
473extern const AVCodec ff_mlp_decoder;474extern const FFCodec ff_mlp_decoder;
474extern const AVCodec ff_mp1_decoder;475extern const FFCodec ff_mp1_decoder;
475extern const AVCodec ff_mp1float_decoder;476extern const FFCodec ff_mp1float_decoder;
476extern const AVCodec ff_mp2_encoder;477extern const FFCodec ff_mp2_encoder;
477extern const AVCodec ff_mp2_decoder;478extern const FFCodec ff_mp2_decoder;
478extern const AVCodec ff_mp2float_decoder;479extern const FFCodec ff_mp2float_decoder;
479extern const AVCodec ff_mp2fixed_encoder;480extern const FFCodec ff_mp2fixed_encoder;
480extern const AVCodec ff_mp3float_decoder;481extern const FFCodec ff_mp3float_decoder;
481extern const AVCodec ff_mp3_decoder;482extern const FFCodec ff_mp3_decoder;
482extern const AVCodec ff_mp3adufloat_decoder;483extern const FFCodec ff_mp3adufloat_decoder;
483extern const AVCodec ff_mp3adu_decoder;484extern const FFCodec ff_mp3adu_decoder;
484extern const AVCodec ff_mp3on4float_decoder;485extern const FFCodec ff_mp3on4float_decoder;
485extern const AVCodec ff_mp3on4_decoder;486extern const FFCodec ff_mp3on4_decoder;
486extern const AVCodec ff_mpc7_decoder;487extern const FFCodec ff_mpc7_decoder;
487extern const AVCodec ff_mpc8_decoder;488extern const FFCodec ff_mpc8_decoder;
488extern const AVCodec ff_msnsiren_decoder;489extern const FFCodec ff_msnsiren_decoder;
489extern const AVCodec ff_nellymoser_encoder;490extern const FFCodec ff_nellymoser_encoder;
490extern const AVCodec ff_nellymoser_decoder;491extern const FFCodec ff_nellymoser_decoder;
491extern const AVCodec ff_on2avc_decoder;492extern const FFCodec ff_on2avc_decoder;
492extern const AVCodec ff_opus_encoder;493extern const FFCodec ff_opus_encoder;
493extern const AVCodec ff_opus_decoder;494extern const FFCodec ff_opus_decoder;
494extern const AVCodec ff_paf_audio_decoder;495extern const FFCodec ff_paf_audio_decoder;
495extern const AVCodec ff_qcelp_decoder;496extern const FFCodec ff_qcelp_decoder;
496extern const AVCodec ff_qdm2_decoder;497extern const FFCodec ff_qdm2_decoder;
497extern const AVCodec ff_qdmc_decoder;498extern const FFCodec ff_qdmc_decoder;
498extern const AVCodec ff_ra_144_encoder;499extern const FFCodec ff_ra_144_encoder;
499extern const AVCodec ff_ra_144_decoder;500extern const FFCodec ff_ra_144_decoder;
500extern const AVCodec ff_ra_288_decoder;501extern const FFCodec ff_ra_288_decoder;
501extern const AVCodec ff_ralf_decoder;502extern const FFCodec ff_ralf_decoder;
502extern const AVCodec ff_sbc_encoder;503extern const FFCodec ff_sbc_encoder;
503extern const AVCodec ff_sbc_decoder;504extern const FFCodec ff_sbc_decoder;
504extern const AVCodec ff_shorten_decoder;505extern const FFCodec ff_shorten_decoder;
505extern const AVCodec ff_sipr_decoder;506extern const FFCodec ff_sipr_decoder;
506extern const AVCodec ff_siren_decoder;507extern const FFCodec ff_siren_decoder;
507extern const AVCodec ff_smackaud_decoder;508extern const FFCodec ff_smackaud_decoder;
508extern const AVCodec ff_sonic_encoder;509extern const FFCodec ff_sonic_encoder;
509extern const AVCodec ff_sonic_decoder;510extern const FFCodec ff_sonic_decoder;
510extern const AVCodec ff_sonic_ls_encoder;511extern const FFCodec ff_sonic_ls_encoder;
511extern const AVCodec ff_tak_decoder;512extern const FFCodec ff_tak_decoder;
512extern const AVCodec ff_truehd_encoder;513extern const FFCodec ff_truehd_encoder;
513extern const AVCodec ff_truehd_decoder;514extern const FFCodec ff_truehd_decoder;
514extern const AVCodec ff_truespeech_decoder;515extern const FFCodec ff_truespeech_decoder;
515extern const AVCodec ff_tta_encoder;516extern const FFCodec ff_tta_encoder;
516extern const AVCodec ff_tta_decoder;517extern const FFCodec ff_tta_decoder;
517extern const AVCodec ff_twinvq_decoder;518extern const FFCodec ff_twinvq_decoder;
518extern const AVCodec ff_vmdaudio_decoder;519extern const FFCodec ff_vmdaudio_decoder;
519extern const AVCodec ff_vorbis_encoder;520extern const FFCodec ff_vorbis_encoder;
520extern const AVCodec ff_vorbis_decoder;521extern const FFCodec ff_vorbis_decoder;
521extern const AVCodec ff_wavpack_encoder;522extern const FFCodec ff_wavpack_encoder;
522extern const AVCodec ff_wavpack_decoder;523extern const FFCodec ff_wavpack_decoder;
523extern const AVCodec ff_wmalossless_decoder;524extern const FFCodec ff_wmalossless_decoder;
524extern const AVCodec ff_wmapro_decoder;525extern const FFCodec ff_wmapro_decoder;
525extern const AVCodec ff_wmav1_encoder;526extern const FFCodec ff_wmav1_encoder;
526extern const AVCodec ff_wmav1_decoder;527extern const FFCodec ff_wmav1_decoder;
527extern const AVCodec ff_wmav2_encoder;528extern const FFCodec ff_wmav2_encoder;
528extern const AVCodec ff_wmav2_decoder;529extern const FFCodec ff_wmav2_decoder;
529extern const AVCodec ff_wmavoice_decoder;530extern const FFCodec ff_wmavoice_decoder;
530extern const AVCodec ff_ws_snd1_decoder;531extern const FFCodec ff_ws_snd1_decoder;
531extern const AVCodec ff_xma1_decoder;532extern const FFCodec ff_xma1_decoder;
532extern const AVCodec ff_xma2_decoder;533extern const FFCodec ff_xma2_decoder;
533 534
534/* PCM codecs */535/* PCM codecs */
535extern const AVCodec ff_pcm_alaw_encoder;536extern const FFCodec ff_pcm_alaw_encoder;
536extern const AVCodec ff_pcm_alaw_decoder;537extern const FFCodec ff_pcm_alaw_decoder;
537extern const AVCodec ff_pcm_bluray_encoder;538extern const FFCodec ff_pcm_bluray_encoder;
538extern const AVCodec ff_pcm_bluray_decoder;539extern const FFCodec ff_pcm_bluray_decoder;
539extern const AVCodec ff_pcm_dvd_encoder;540extern const FFCodec ff_pcm_dvd_encoder;
540extern const AVCodec ff_pcm_dvd_decoder;541extern const FFCodec ff_pcm_dvd_decoder;
541extern const AVCodec ff_pcm_f16le_decoder;542extern const FFCodec ff_pcm_f16le_decoder;
542extern const AVCodec ff_pcm_f24le_decoder;543extern const FFCodec ff_pcm_f24le_decoder;
543extern const AVCodec ff_pcm_f32be_encoder;544extern const FFCodec ff_pcm_f32be_encoder;
544extern const AVCodec ff_pcm_f32be_decoder;545extern const FFCodec ff_pcm_f32be_decoder;
545extern const AVCodec ff_pcm_f32le_encoder;546extern const FFCodec ff_pcm_f32le_encoder;
546extern const AVCodec ff_pcm_f32le_decoder;547extern const FFCodec ff_pcm_f32le_decoder;
547extern const AVCodec ff_pcm_f64be_encoder;548extern const FFCodec ff_pcm_f64be_encoder;
548extern const AVCodec ff_pcm_f64be_decoder;549extern const FFCodec ff_pcm_f64be_decoder;
549extern const AVCodec ff_pcm_f64le_encoder;550extern const FFCodec ff_pcm_f64le_encoder;
550extern const AVCodec ff_pcm_f64le_decoder;551extern const FFCodec ff_pcm_f64le_decoder;
551extern const AVCodec ff_pcm_lxf_decoder;552extern const FFCodec ff_pcm_lxf_decoder;
552extern const AVCodec ff_pcm_mulaw_encoder;553extern const FFCodec ff_pcm_mulaw_encoder;
553extern const AVCodec ff_pcm_mulaw_decoder;554extern const FFCodec ff_pcm_mulaw_decoder;
554extern const AVCodec ff_pcm_s8_encoder;555extern const FFCodec ff_pcm_s8_encoder;
555extern const AVCodec ff_pcm_s8_decoder;556extern const FFCodec ff_pcm_s8_decoder;
556extern const AVCodec ff_pcm_s8_planar_encoder;557extern const FFCodec ff_pcm_s8_planar_encoder;
557extern const AVCodec ff_pcm_s8_planar_decoder;558extern const FFCodec ff_pcm_s8_planar_decoder;
558extern const AVCodec ff_pcm_s16be_encoder;559extern const FFCodec ff_pcm_s16be_encoder;
559extern const AVCodec ff_pcm_s16be_decoder;560extern const FFCodec ff_pcm_s16be_decoder;
560extern const AVCodec ff_pcm_s16be_planar_encoder;561extern const FFCodec ff_pcm_s16be_planar_encoder;
561extern const AVCodec ff_pcm_s16be_planar_decoder;562extern const FFCodec ff_pcm_s16be_planar_decoder;
562extern const AVCodec ff_pcm_s16le_encoder;563extern const FFCodec ff_pcm_s16le_encoder;
563extern const AVCodec ff_pcm_s16le_decoder;564extern const FFCodec ff_pcm_s16le_decoder;
564extern const AVCodec ff_pcm_s16le_planar_encoder;565extern const FFCodec ff_pcm_s16le_planar_encoder;
565extern const AVCodec ff_pcm_s16le_planar_decoder;566extern const FFCodec ff_pcm_s16le_planar_decoder;
566extern const AVCodec ff_pcm_s24be_encoder;567extern const FFCodec ff_pcm_s24be_encoder;
567extern const AVCodec ff_pcm_s24be_decoder;568extern const FFCodec ff_pcm_s24be_decoder;
568extern const AVCodec ff_pcm_s24daud_encoder;569extern const FFCodec ff_pcm_s24daud_encoder;
569extern const AVCodec ff_pcm_s24daud_decoder;570extern const FFCodec ff_pcm_s24daud_decoder;
570extern const AVCodec ff_pcm_s24le_encoder;571extern const FFCodec ff_pcm_s24le_encoder;
571extern const AVCodec ff_pcm_s24le_decoder;572extern const FFCodec ff_pcm_s24le_decoder;
572extern const AVCodec ff_pcm_s24le_planar_encoder;573extern const FFCodec ff_pcm_s24le_planar_encoder;
573extern const AVCodec ff_pcm_s24le_planar_decoder;574extern const FFCodec ff_pcm_s24le_planar_decoder;
574extern const AVCodec ff_pcm_s32be_encoder;575extern const FFCodec ff_pcm_s32be_encoder;
575extern const AVCodec ff_pcm_s32be_decoder;576extern const FFCodec ff_pcm_s32be_decoder;
576extern const AVCodec ff_pcm_s32le_encoder;577extern const FFCodec ff_pcm_s32le_encoder;
577extern const AVCodec ff_pcm_s32le_decoder;578extern const FFCodec ff_pcm_s32le_decoder;
578extern const AVCodec ff_pcm_s32le_planar_encoder;579extern const FFCodec ff_pcm_s32le_planar_encoder;
579extern const AVCodec ff_pcm_s32le_planar_decoder;580extern const FFCodec ff_pcm_s32le_planar_decoder;
580extern const AVCodec ff_pcm_s64be_encoder;581extern const FFCodec ff_pcm_s64be_encoder;
581extern const AVCodec ff_pcm_s64be_decoder;582extern const FFCodec ff_pcm_s64be_decoder;
582extern const AVCodec ff_pcm_s64le_encoder;583extern const FFCodec ff_pcm_s64le_encoder;
583extern const AVCodec ff_pcm_s64le_decoder;584extern const FFCodec ff_pcm_s64le_decoder;
584extern const AVCodec ff_pcm_sga_decoder;585extern const FFCodec ff_pcm_sga_decoder;
585extern const AVCodec ff_pcm_u8_encoder;586extern const FFCodec ff_pcm_u8_encoder;
586extern const AVCodec ff_pcm_u8_decoder;587extern const FFCodec ff_pcm_u8_decoder;
587extern const AVCodec ff_pcm_u16be_encoder;588extern const FFCodec ff_pcm_u16be_encoder;
588extern const AVCodec ff_pcm_u16be_decoder;589extern const FFCodec ff_pcm_u16be_decoder;
589extern const AVCodec ff_pcm_u16le_encoder;590extern const FFCodec ff_pcm_u16le_encoder;
590extern const AVCodec ff_pcm_u16le_decoder;591extern const FFCodec ff_pcm_u16le_decoder;
591extern const AVCodec ff_pcm_u24be_encoder;592extern const FFCodec ff_pcm_u24be_encoder;
592extern const AVCodec ff_pcm_u24be_decoder;593extern const FFCodec ff_pcm_u24be_decoder;
593extern const AVCodec ff_pcm_u24le_encoder;594extern const FFCodec ff_pcm_u24le_encoder;
594extern const AVCodec ff_pcm_u24le_decoder;595extern const FFCodec ff_pcm_u24le_decoder;
595extern const AVCodec ff_pcm_u32be_encoder;596extern const FFCodec ff_pcm_u32be_encoder;
596extern const AVCodec ff_pcm_u32be_decoder;597extern const FFCodec ff_pcm_u32be_decoder;
597extern const AVCodec ff_pcm_u32le_encoder;598extern const FFCodec ff_pcm_u32le_encoder;
598extern const AVCodec ff_pcm_u32le_decoder;599extern const FFCodec ff_pcm_u32le_decoder;
599extern const AVCodec ff_pcm_vidc_encoder;600extern const FFCodec ff_pcm_vidc_encoder;
600extern const AVCodec ff_pcm_vidc_decoder;601extern const FFCodec ff_pcm_vidc_decoder;
601 602
602/* DPCM codecs */603/* DPCM codecs */
603extern const AVCodec ff_derf_dpcm_decoder;604extern const FFCodec ff_derf_dpcm_decoder;
604extern const AVCodec ff_gremlin_dpcm_decoder;605extern const FFCodec ff_gremlin_dpcm_decoder;
605extern const AVCodec ff_interplay_dpcm_decoder;606extern const FFCodec ff_interplay_dpcm_decoder;
606extern const AVCodec ff_roq_dpcm_encoder;607extern const FFCodec ff_roq_dpcm_encoder;
607extern const AVCodec ff_roq_dpcm_decoder;608extern const FFCodec ff_roq_dpcm_decoder;
608extern const AVCodec ff_sdx2_dpcm_decoder;609extern const FFCodec ff_sdx2_dpcm_decoder;
609extern const AVCodec ff_sol_dpcm_decoder;610extern const FFCodec ff_sol_dpcm_decoder;
610extern const AVCodec ff_xan_dpcm_decoder;611extern const FFCodec ff_xan_dpcm_decoder;
611 612
612/* ADPCM codecs */613/* ADPCM codecs */
613extern const AVCodec ff_adpcm_4xm_decoder;614extern const FFCodec ff_adpcm_4xm_decoder;
614extern const AVCodec ff_adpcm_adx_encoder;615extern const FFCodec ff_adpcm_adx_encoder;
615extern const AVCodec ff_adpcm_adx_decoder;616extern const FFCodec ff_adpcm_adx_decoder;
616extern const AVCodec ff_adpcm_afc_decoder;617extern const FFCodec ff_adpcm_afc_decoder;
617extern const AVCodec ff_adpcm_agm_decoder;618extern const FFCodec ff_adpcm_agm_decoder;
618extern const AVCodec ff_adpcm_aica_decoder;619extern const FFCodec ff_adpcm_aica_decoder;
619extern const AVCodec ff_adpcm_argo_decoder;620extern const FFCodec ff_adpcm_argo_decoder;
620extern const AVCodec ff_adpcm_argo_encoder;621extern const FFCodec ff_adpcm_argo_encoder;
621extern const AVCodec ff_adpcm_ct_decoder;622extern const FFCodec ff_adpcm_ct_decoder;
622extern const AVCodec ff_adpcm_dtk_decoder;623extern const FFCodec ff_adpcm_dtk_decoder;
623extern const AVCodec ff_adpcm_ea_decoder;624extern const FFCodec ff_adpcm_ea_decoder;
624extern const AVCodec ff_adpcm_ea_maxis_xa_decoder;625extern const FFCodec ff_adpcm_ea_maxis_xa_decoder;
625extern const AVCodec ff_adpcm_ea_r1_decoder;626extern const FFCodec ff_adpcm_ea_r1_decoder;
626extern const AVCodec ff_adpcm_ea_r2_decoder;627extern const FFCodec ff_adpcm_ea_r2_decoder;
627extern const AVCodec ff_adpcm_ea_r3_decoder;628extern const FFCodec ff_adpcm_ea_r3_decoder;
628extern const AVCodec ff_adpcm_ea_xas_decoder;629extern const FFCodec ff_adpcm_ea_xas_decoder;
629extern const AVCodec ff_adpcm_g722_encoder;630extern const FFCodec ff_adpcm_g722_encoder;
630extern const AVCodec ff_adpcm_g722_decoder;631extern const FFCodec ff_adpcm_g722_decoder;
631extern const AVCodec ff_adpcm_g726_encoder;632extern const FFCodec ff_adpcm_g726_encoder;
632extern const AVCodec ff_adpcm_g726_decoder;633extern const FFCodec ff_adpcm_g726_decoder;
633extern const AVCodec ff_adpcm_g726le_encoder;634extern const FFCodec ff_adpcm_g726le_encoder;
634extern const AVCodec ff_adpcm_g726le_decoder;635extern const FFCodec ff_adpcm_g726le_decoder;
635extern const AVCodec ff_adpcm_ima_acorn_decoder;636extern const FFCodec ff_adpcm_ima_acorn_decoder;
636extern const AVCodec ff_adpcm_ima_amv_decoder;637extern const FFCodec ff_adpcm_ima_amv_decoder;
637extern const AVCodec ff_adpcm_ima_amv_encoder;638extern const FFCodec ff_adpcm_ima_amv_encoder;
638extern const AVCodec ff_adpcm_ima_alp_decoder;639extern const FFCodec ff_adpcm_ima_alp_decoder;
639extern const AVCodec ff_adpcm_ima_alp_encoder;640extern const FFCodec ff_adpcm_ima_alp_encoder;
640extern const AVCodec ff_adpcm_ima_apc_decoder;641extern const FFCodec ff_adpcm_ima_apc_decoder;
641extern const AVCodec ff_adpcm_ima_apm_decoder;642extern const FFCodec ff_adpcm_ima_apm_decoder;
642extern const AVCodec ff_adpcm_ima_apm_encoder;643extern const FFCodec ff_adpcm_ima_apm_encoder;
643extern const AVCodec ff_adpcm_ima_cunning_decoder;644extern const FFCodec ff_adpcm_ima_cunning_decoder;
644extern const AVCodec ff_adpcm_ima_dat4_decoder;645extern const FFCodec ff_adpcm_ima_dat4_decoder;
645extern const AVCodec ff_adpcm_ima_dk3_decoder;646extern const FFCodec ff_adpcm_ima_dk3_decoder;
646extern const AVCodec ff_adpcm_ima_dk4_decoder;647extern const FFCodec ff_adpcm_ima_dk4_decoder;
647extern const AVCodec ff_adpcm_ima_ea_eacs_decoder;648extern const FFCodec ff_adpcm_ima_ea_eacs_decoder;
648extern const AVCodec ff_adpcm_ima_ea_sead_decoder;649extern const FFCodec ff_adpcm_ima_ea_sead_decoder;
649extern const AVCodec ff_adpcm_ima_iss_decoder;650extern const FFCodec ff_adpcm_ima_iss_decoder;
650extern const AVCodec ff_adpcm_ima_moflex_decoder;651extern const FFCodec ff_adpcm_ima_moflex_decoder;
651extern const AVCodec ff_adpcm_ima_mtf_decoder;652extern const FFCodec ff_adpcm_ima_mtf_decoder;
652extern const AVCodec ff_adpcm_ima_oki_decoder;653extern const FFCodec ff_adpcm_ima_oki_decoder;
653extern const AVCodec ff_adpcm_ima_qt_encoder;654extern const FFCodec ff_adpcm_ima_qt_encoder;
654extern const AVCodec ff_adpcm_ima_qt_decoder;655extern const FFCodec ff_adpcm_ima_qt_decoder;
655extern const AVCodec ff_adpcm_ima_rad_decoder;656extern const FFCodec ff_adpcm_ima_rad_decoder;
656extern const AVCodec ff_adpcm_ima_ssi_decoder;657extern const FFCodec ff_adpcm_ima_ssi_decoder;
657extern const AVCodec ff_adpcm_ima_ssi_encoder;658extern const FFCodec ff_adpcm_ima_ssi_encoder;
658extern const AVCodec ff_adpcm_ima_smjpeg_decoder;659extern const FFCodec ff_adpcm_ima_smjpeg_decoder;
659extern const AVCodec ff_adpcm_ima_wav_encoder;660extern const FFCodec ff_adpcm_ima_wav_encoder;
660extern const AVCodec ff_adpcm_ima_wav_decoder;661extern const FFCodec ff_adpcm_ima_wav_decoder;
661extern const AVCodec ff_adpcm_ima_ws_encoder;662extern const FFCodec ff_adpcm_ima_ws_encoder;
662extern const AVCodec ff_adpcm_ima_ws_decoder;663extern const FFCodec ff_adpcm_ima_ws_decoder;
663extern const AVCodec ff_adpcm_ms_encoder;664extern const FFCodec ff_adpcm_ms_encoder;
664extern const AVCodec ff_adpcm_ms_decoder;665extern const FFCodec ff_adpcm_ms_decoder;
665extern const AVCodec ff_adpcm_mtaf_decoder;666extern const FFCodec ff_adpcm_mtaf_decoder;
666extern const AVCodec ff_adpcm_psx_decoder;667extern const FFCodec ff_adpcm_psx_decoder;
667extern const AVCodec ff_adpcm_sbpro_2_decoder;668extern const FFCodec ff_adpcm_sbpro_2_decoder;
668extern const AVCodec ff_adpcm_sbpro_3_decoder;669extern const FFCodec ff_adpcm_sbpro_3_decoder;
669extern const AVCodec ff_adpcm_sbpro_4_decoder;670extern const FFCodec ff_adpcm_sbpro_4_decoder;
670extern const AVCodec ff_adpcm_swf_encoder;671extern const FFCodec ff_adpcm_swf_encoder;
671extern const AVCodec ff_adpcm_swf_decoder;672extern const FFCodec ff_adpcm_swf_decoder;
672extern const AVCodec ff_adpcm_thp_decoder;673extern const FFCodec ff_adpcm_thp_decoder;
673extern const AVCodec ff_adpcm_thp_le_decoder;674extern const FFCodec ff_adpcm_thp_le_decoder;
674extern const AVCodec ff_adpcm_vima_decoder;675extern const FFCodec ff_adpcm_vima_decoder;
675extern const AVCodec ff_adpcm_xa_decoder;676extern const FFCodec ff_adpcm_xa_decoder;
676extern const AVCodec ff_adpcm_yamaha_encoder;677extern const FFCodec ff_adpcm_yamaha_encoder;
677extern const AVCodec ff_adpcm_yamaha_decoder;678extern const FFCodec ff_adpcm_yamaha_decoder;
678extern const AVCodec ff_adpcm_zork_decoder;679extern const FFCodec ff_adpcm_zork_decoder;
679 680
680/* subtitles */681/* subtitles */
681extern const AVCodec ff_ssa_encoder;682extern const FFCodec ff_ssa_encoder;
682extern const AVCodec ff_ssa_decoder;683extern const FFCodec ff_ssa_decoder;
683extern const AVCodec ff_ass_encoder;684extern const FFCodec ff_ass_encoder;
684extern const AVCodec ff_ass_decoder;685extern const FFCodec ff_ass_decoder;
685extern const AVCodec ff_ccaption_decoder;686extern const FFCodec ff_ccaption_decoder;
686extern const AVCodec ff_dvbsub_encoder;687extern const FFCodec ff_dvbsub_encoder;
687extern const AVCodec ff_dvbsub_decoder;688extern const FFCodec ff_dvbsub_decoder;
688extern const AVCodec ff_dvdsub_encoder;689extern const FFCodec ff_dvdsub_encoder;
689extern const AVCodec ff_dvdsub_decoder;690extern const FFCodec ff_dvdsub_decoder;
690extern const AVCodec ff_jacosub_decoder;691extern const FFCodec ff_jacosub_decoder;
691extern const AVCodec ff_microdvd_decoder;692extern const FFCodec ff_microdvd_decoder;
692extern const AVCodec ff_movtext_encoder;693extern const FFCodec ff_movtext_encoder;
693extern const AVCodec ff_movtext_decoder;694extern const FFCodec ff_movtext_decoder;
694extern const AVCodec ff_mpl2_decoder;695extern const FFCodec ff_mpl2_decoder;
695extern const AVCodec ff_pgssub_decoder;696extern const FFCodec ff_pgssub_decoder;
696extern const AVCodec ff_pjs_decoder;697extern const FFCodec ff_pjs_decoder;
697extern const AVCodec ff_realtext_decoder;698extern const FFCodec ff_realtext_decoder;
698extern const AVCodec ff_sami_decoder;699extern const FFCodec ff_sami_decoder;
699extern const AVCodec ff_srt_encoder;700extern const FFCodec ff_srt_encoder;
700extern const AVCodec ff_srt_decoder;701extern const FFCodec ff_srt_decoder;
701extern const AVCodec ff_stl_decoder;702extern const FFCodec ff_stl_decoder;
702extern const AVCodec ff_subrip_encoder;703extern const FFCodec ff_subrip_encoder;
703extern const AVCodec ff_subrip_decoder;704extern const FFCodec ff_subrip_decoder;
704extern const AVCodec ff_subviewer_decoder;705extern const FFCodec ff_subviewer_decoder;
705extern const AVCodec ff_subviewer1_decoder;706extern const FFCodec ff_subviewer1_decoder;
706extern const AVCodec ff_text_encoder;707extern const FFCodec ff_text_encoder;
707extern const AVCodec ff_text_decoder;708extern const FFCodec ff_text_decoder;
708extern const AVCodec ff_ttml_encoder;709extern const FFCodec ff_ttml_encoder;
709extern const AVCodec ff_vplayer_decoder;710extern const FFCodec ff_vplayer_decoder;
710extern const AVCodec ff_webvtt_encoder;711extern const FFCodec ff_webvtt_encoder;
711extern const AVCodec ff_webvtt_decoder;712extern const FFCodec ff_webvtt_decoder;
712extern const AVCodec ff_xsub_encoder;713extern const FFCodec ff_xsub_encoder;
713extern const AVCodec ff_xsub_decoder;714extern const FFCodec ff_xsub_decoder;
714 715
715/* external libraries */716/* external libraries */
716extern const AVCodec ff_aac_at_encoder;717extern const FFCodec ff_aac_at_encoder;
717extern const AVCodec ff_aac_at_decoder;718extern const FFCodec ff_aac_at_decoder;
718extern const AVCodec ff_ac3_at_decoder;719extern const FFCodec ff_ac3_at_decoder;
719extern const AVCodec ff_adpcm_ima_qt_at_decoder;720extern const FFCodec ff_adpcm_ima_qt_at_decoder;
720extern const AVCodec ff_alac_at_encoder;721extern const FFCodec ff_alac_at_encoder;
721extern const AVCodec ff_alac_at_decoder;722extern const FFCodec ff_alac_at_decoder;
722extern const AVCodec ff_amr_nb_at_decoder;723extern const FFCodec ff_amr_nb_at_decoder;
723extern const AVCodec ff_eac3_at_decoder;724extern const FFCodec ff_eac3_at_decoder;
724extern const AVCodec ff_gsm_ms_at_decoder;725extern const FFCodec ff_gsm_ms_at_decoder;
725extern const AVCodec ff_ilbc_at_encoder;726extern const FFCodec ff_ilbc_at_encoder;
726extern const AVCodec ff_ilbc_at_decoder;727extern const FFCodec ff_ilbc_at_decoder;
727extern const AVCodec ff_mp1_at_decoder;728extern const FFCodec ff_mp1_at_decoder;
728extern const AVCodec ff_mp2_at_decoder;729extern const FFCodec ff_mp2_at_decoder;
729extern const AVCodec ff_mp3_at_decoder;730extern const FFCodec ff_mp3_at_decoder;
730extern const AVCodec ff_pcm_alaw_at_encoder;731extern const FFCodec ff_pcm_alaw_at_encoder;
731extern const AVCodec ff_pcm_alaw_at_decoder;732extern const FFCodec ff_pcm_alaw_at_decoder;
732extern const AVCodec ff_pcm_mulaw_at_encoder;733extern const FFCodec ff_pcm_mulaw_at_encoder;
733extern const AVCodec ff_pcm_mulaw_at_decoder;734extern const FFCodec ff_pcm_mulaw_at_decoder;
734extern const AVCodec ff_qdmc_at_decoder;735extern const FFCodec ff_qdmc_at_decoder;
735extern const AVCodec ff_qdm2_at_decoder;736extern const FFCodec ff_qdm2_at_decoder;
736extern AVCodec ff_libaom_av1_encoder;737extern FFCodec ff_libaom_av1_encoder;
737extern const AVCodec ff_libaribb24_decoder;738extern const FFCodec ff_libaribb24_decoder;
738extern const AVCodec ff_libcelt_decoder;739extern const FFCodec ff_libcelt_decoder;
739extern const AVCodec ff_libcodec2_encoder;740extern const FFCodec ff_libcodec2_encoder;
740extern const AVCodec ff_libcodec2_decoder;741extern const FFCodec ff_libcodec2_decoder;
741extern const AVCodec ff_libdav1d_decoder;742extern const FFCodec ff_libdav1d_decoder;
742extern const AVCodec ff_libdavs2_decoder;743extern const FFCodec ff_libdavs2_decoder;
743extern const AVCodec ff_libfdk_aac_encoder;744extern const FFCodec ff_libfdk_aac_encoder;
744extern const AVCodec ff_libfdk_aac_decoder;745extern const FFCodec ff_libfdk_aac_decoder;
745extern const AVCodec ff_libgsm_encoder;746extern const FFCodec ff_libgsm_encoder;
746extern const AVCodec ff_libgsm_decoder;747extern const FFCodec ff_libgsm_decoder;
747extern const AVCodec ff_libgsm_ms_encoder;748extern const FFCodec ff_libgsm_ms_encoder;
748extern const AVCodec ff_libgsm_ms_decoder;749extern const FFCodec ff_libgsm_ms_decoder;
749extern const AVCodec ff_libilbc_encoder;750extern const FFCodec ff_libilbc_encoder;
750extern const AVCodec ff_libilbc_decoder;751extern const FFCodec ff_libilbc_decoder;
751extern const AVCodec ff_libmp3lame_encoder;752extern const FFCodec ff_libmp3lame_encoder;
752extern const AVCodec ff_libopencore_amrnb_encoder;753extern const FFCodec ff_libopencore_amrnb_encoder;
753extern const AVCodec ff_libopencore_amrnb_decoder;754extern const FFCodec ff_libopencore_amrnb_decoder;
754extern const AVCodec ff_libopencore_amrwb_decoder;755extern const FFCodec ff_libopencore_amrwb_decoder;
755extern const AVCodec ff_libopenjpeg_encoder;756extern const FFCodec ff_libopenjpeg_encoder;
756extern const AVCodec ff_libopenjpeg_decoder;757extern const FFCodec ff_libopenjpeg_decoder;
757extern const AVCodec ff_libopus_encoder;758extern const FFCodec ff_libopus_encoder;
758extern const AVCodec ff_libopus_decoder;759extern const FFCodec ff_libopus_decoder;
759extern const AVCodec ff_librav1e_encoder;760extern const FFCodec ff_librav1e_encoder;
760extern const AVCodec ff_librsvg_decoder;761extern const FFCodec ff_librsvg_decoder;
761extern const AVCodec ff_libshine_encoder;762extern const FFCodec ff_libshine_encoder;
762extern const AVCodec ff_libspeex_encoder;763extern const FFCodec ff_libspeex_encoder;
763extern const AVCodec ff_libspeex_decoder;764extern const FFCodec ff_libspeex_decoder;
764extern const AVCodec ff_libsvtav1_encoder;765extern const FFCodec ff_libsvtav1_encoder;
765extern const AVCodec ff_libtheora_encoder;766extern const FFCodec ff_libtheora_encoder;
766extern const AVCodec ff_libtwolame_encoder;767extern const FFCodec ff_libtwolame_encoder;
767extern const AVCodec ff_libuavs3d_decoder;768extern const FFCodec ff_libuavs3d_decoder;
768extern const AVCodec ff_libvo_amrwbenc_encoder;769extern const FFCodec ff_libvo_amrwbenc_encoder;
769extern const AVCodec ff_libvorbis_encoder;770extern const FFCodec ff_libvorbis_encoder;
770extern const AVCodec ff_libvorbis_decoder;771extern const FFCodec ff_libvorbis_decoder;
771extern const AVCodec ff_libvpx_vp8_encoder;772extern const FFCodec ff_libvpx_vp8_encoder;
772extern const AVCodec ff_libvpx_vp8_decoder;773extern const FFCodec ff_libvpx_vp8_decoder;
773extern AVCodec ff_libvpx_vp9_encoder;774extern FFCodec ff_libvpx_vp9_encoder;
774extern AVCodec ff_libvpx_vp9_decoder;775extern FFCodec ff_libvpx_vp9_decoder;
775/* preferred over libwebp */776/* preferred over libwebp */
776extern const AVCodec ff_libwebp_anim_encoder;777extern const FFCodec ff_libwebp_anim_encoder;
777extern const AVCodec ff_libwebp_encoder;778extern const FFCodec ff_libwebp_encoder;
778extern const AVCodec ff_libx262_encoder;779extern const FFCodec ff_libx262_encoder;
779#if CONFIG_LIBX264_ENCODER780#if CONFIG_LIBX264_ENCODER
780#include <x264.h>781#include <x264.h>
781#if X264_BUILD < 153782#if X264_BUILD < 153
@@ -783,80 +784,80 @@ extern const AVCodec ff_libx262_encoder; · 1 unmodified line
783#else784#else
784#define LIBX264_CONST const785#define LIBX264_CONST const
785#endif786#endif
786extern LIBX264_CONST AVCodec ff_libx264_encoder;787extern LIBX264_CONST FFCodec ff_libx264_encoder;
787#endif788#endif
788extern const AVCodec ff_libx264rgb_encoder;789extern const FFCodec ff_libx264rgb_encoder;
789extern AVCodec ff_libx265_encoder;790extern FFCodec ff_libx265_encoder;
790extern const AVCodec ff_libxavs_encoder;791extern const FFCodec ff_libxavs_encoder;
791extern const AVCodec ff_libxavs2_encoder;792extern const FFCodec ff_libxavs2_encoder;
792extern const AVCodec ff_libxvid_encoder;793extern const FFCodec ff_libxvid_encoder;
793extern const AVCodec ff_libzvbi_teletext_decoder;794extern const FFCodec ff_libzvbi_teletext_decoder;
794 795
795/* text */796/* text */
796extern const AVCodec ff_bintext_decoder;797extern const FFCodec ff_bintext_decoder;
797extern const AVCodec ff_xbin_decoder;798extern const FFCodec ff_xbin_decoder;
798extern const AVCodec ff_idf_decoder;799extern const FFCodec ff_idf_decoder;
799 800
800/* external libraries, that shouldn't be used by default if one of the801/* external libraries, that shouldn't be used by default if one of the
801 * above is available */802 * above is available */
802extern const AVCodec ff_aac_mf_encoder;803extern const FFCodec ff_aac_mf_encoder;
803extern const AVCodec ff_ac3_mf_encoder;804extern const FFCodec ff_ac3_mf_encoder;
804extern const AVCodec ff_h263_v4l2m2m_encoder;805extern const FFCodec ff_h263_v4l2m2m_encoder;
805extern const AVCodec ff_libaom_av1_decoder;806extern const FFCodec ff_libaom_av1_decoder;
806/* hwaccel hooks only, so prefer external decoders */807/* hwaccel hooks only, so prefer external decoders */
807extern const AVCodec ff_av1_decoder;808extern const FFCodec ff_av1_decoder;
808extern const AVCodec ff_av1_cuvid_decoder;809extern const FFCodec ff_av1_cuvid_decoder;
809extern const AVCodec ff_av1_qsv_decoder;810extern const FFCodec ff_av1_qsv_decoder;
810extern const AVCodec ff_libopenh264_encoder;811extern const FFCodec ff_libopenh264_encoder;
811extern const AVCodec ff_libopenh264_decoder;812extern const FFCodec ff_libopenh264_decoder;
812extern const AVCodec ff_h264_amf_encoder;813extern const FFCodec ff_h264_amf_encoder;
813extern const AVCodec ff_h264_cuvid_decoder;814extern const FFCodec ff_h264_cuvid_decoder;
814extern const AVCodec ff_h264_mf_encoder;815extern const FFCodec ff_h264_mf_encoder;
815extern const AVCodec ff_h264_nvenc_encoder;816extern const FFCodec ff_h264_nvenc_encoder;
816extern const AVCodec ff_h264_omx_encoder;817extern const FFCodec ff_h264_omx_encoder;
817extern const AVCodec ff_h264_qsv_encoder;818extern const FFCodec ff_h264_qsv_encoder;
818extern const AVCodec ff_h264_v4l2m2m_encoder;819extern const FFCodec ff_h264_v4l2m2m_encoder;
819extern const AVCodec ff_h264_vaapi_encoder;820extern const FFCodec ff_h264_vaapi_encoder;
820extern const AVCodec ff_h264_videotoolbox_encoder;821extern const FFCodec ff_h264_videotoolbox_encoder;
821extern const AVCodec ff_hevc_amf_encoder;822extern const FFCodec ff_hevc_amf_encoder;
822extern const AVCodec ff_hevc_cuvid_decoder;823extern const FFCodec ff_hevc_cuvid_decoder;
823extern const AVCodec ff_hevc_mediacodec_decoder;824extern const FFCodec ff_hevc_mediacodec_decoder;
824extern const AVCodec ff_hevc_mf_encoder;825extern const FFCodec ff_hevc_mf_encoder;
825extern const AVCodec ff_hevc_nvenc_encoder;826extern const FFCodec ff_hevc_nvenc_encoder;
826extern const AVCodec ff_hevc_qsv_encoder;827extern const FFCodec ff_hevc_qsv_encoder;
827extern const AVCodec ff_hevc_v4l2m2m_encoder;828extern const FFCodec ff_hevc_v4l2m2m_encoder;
828extern const AVCodec ff_hevc_vaapi_encoder;829extern const FFCodec ff_hevc_vaapi_encoder;
829extern const AVCodec ff_hevc_videotoolbox_encoder;830extern const FFCodec ff_hevc_videotoolbox_encoder;
830extern const AVCodec ff_libkvazaar_encoder;831extern const FFCodec ff_libkvazaar_encoder;
831extern const AVCodec ff_mjpeg_cuvid_decoder;832extern const FFCodec ff_mjpeg_cuvid_decoder;
832extern const AVCodec ff_mjpeg_qsv_encoder;833extern const FFCodec ff_mjpeg_qsv_encoder;
833extern const AVCodec ff_mjpeg_qsv_decoder;834extern const FFCodec ff_mjpeg_qsv_decoder;
834extern const AVCodec ff_mjpeg_vaapi_encoder;835extern const FFCodec ff_mjpeg_vaapi_encoder;
835extern const AVCodec ff_mp3_mf_encoder;836extern const FFCodec ff_mp3_mf_encoder;
836extern const AVCodec ff_mpeg1_cuvid_decoder;837extern const FFCodec ff_mpeg1_cuvid_decoder;
837extern const AVCodec ff_mpeg2_cuvid_decoder;838extern const FFCodec ff_mpeg2_cuvid_decoder;
838extern const AVCodec ff_mpeg2_qsv_encoder;839extern const FFCodec ff_mpeg2_qsv_encoder;
839extern const AVCodec ff_mpeg2_vaapi_encoder;840extern const FFCodec ff_mpeg2_vaapi_encoder;
840extern const AVCodec ff_mpeg4_cuvid_decoder;841extern const FFCodec ff_mpeg4_cuvid_decoder;
841extern const AVCodec ff_mpeg4_mediacodec_decoder;842extern const FFCodec ff_mpeg4_mediacodec_decoder;
842extern const AVCodec ff_mpeg4_omx_encoder;843extern const FFCodec ff_mpeg4_omx_encoder;
843extern const AVCodec ff_mpeg4_v4l2m2m_encoder;844extern const FFCodec ff_mpeg4_v4l2m2m_encoder;
844extern const AVCodec ff_prores_videotoolbox_encoder;845extern const FFCodec ff_prores_videotoolbox_encoder;
845extern const AVCodec ff_vc1_cuvid_decoder;846extern const FFCodec ff_vc1_cuvid_decoder;
846extern const AVCodec ff_vp8_cuvid_decoder;847extern const FFCodec ff_vp8_cuvid_decoder;
847extern const AVCodec ff_vp8_mediacodec_decoder;848extern const FFCodec ff_vp8_mediacodec_decoder;
848extern const AVCodec ff_vp8_qsv_decoder;849extern const FFCodec ff_vp8_qsv_decoder;
849extern const AVCodec ff_vp8_v4l2m2m_encoder;850extern const FFCodec ff_vp8_v4l2m2m_encoder;
850extern const AVCodec ff_vp8_vaapi_encoder;851extern const FFCodec ff_vp8_vaapi_encoder;
851extern const AVCodec ff_vp9_cuvid_decoder;852extern const FFCodec ff_vp9_cuvid_decoder;
852extern const AVCodec ff_vp9_mediacodec_decoder;853extern const FFCodec ff_vp9_mediacodec_decoder;
853extern const AVCodec ff_vp9_qsv_decoder;854extern const FFCodec ff_vp9_qsv_decoder;
854extern const AVCodec ff_vp9_vaapi_encoder;855extern const FFCodec ff_vp9_vaapi_encoder;
855extern const AVCodec ff_vp9_qsv_encoder;856extern const FFCodec ff_vp9_qsv_encoder;
856 857
857// The iterate API is not usable with ossfuzz due to the excessive size of binaries created858// The iterate API is not usable with ossfuzz due to the excessive size of binaries created
858#if CONFIG_OSSFUZZ859#if CONFIG_OSSFUZZ
859const AVCodec * codec_list[] = {860const FFCodec * codec_list[] = {
860 NULL,861 NULL,
861 NULL,862 NULL,
862 NULL863 NULL
@@ -870,21 +871,21 @@ static void av_codec_init_static(void) · 7 unmodified lines
870{871{
871 for (int i = 0; codec_list[i]; i++) {872 for (int i = 0; codec_list[i]; i++) {
872 if (codec_list[i]->init_static_data)873 if (codec_list[i]->init_static_data)
873 codec_list[i]->init_static_data((AVCodec*)codec_list[i]);874 codec_list[i]->init_static_data((FFCodec*)codec_list[i]);
874 }875 }
875}876}
876 877
877const AVCodec *av_codec_iterate(void **opaque)878const AVCodec *av_codec_iterate(void **opaque)
878{879{
879 uintptr_t i = (uintptr_t)*opaque;880 uintptr_t i = (uintptr_t)*opaque;
880 const AVCodec *c = codec_list[i];881 const FFCodec *c = codec_list[i];
881 882
882 ff_thread_once(&av_codec_static_init, av_codec_init_static);883 ff_thread_once(&av_codec_static_init, av_codec_init_static);
883 884
884 if (c)885 if (c)
885 *opaque = (void*)(i + 1);886 *opaque = (void*)(i + 1);
886 887
887 return c;888 return &c->p;
888}889}
889 890
890static enum AVCodecID remap_deprecated_codec_id(enum AVCodecID id)891static enum AVCodecID remap_deprecated_codec_id(enum AVCodecID id)
libavcodec/alsdec.c+6−6
@@ -2176,16 +2176,16 @@ static av_cold void flush(AVCodecContext *avctx) · 2175 unmodified lines
2176}2176}
2177 2177
2178 2178
2179const AVCodec ff_als_decoder = {2179const FFCodec ff_als_decoder = {
2180 .name = "als",2180 .p.name = "als",
2181 .long_name = NULL_IF_CONFIG_SMALL("MPEG-4 Audio Lossless Coding (ALS)"),2181 .p.long_name = NULL_IF_CONFIG_SMALL("MPEG-4 Audio Lossless Coding (ALS)"),
2182 .type = AVMEDIA_TYPE_AUDIO,2182 .p.type = AVMEDIA_TYPE_AUDIO,
2183 .id = AV_CODEC_ID_MP4ALS,2183 .p.id = AV_CODEC_ID_MP4ALS,
2184 .priv_data_size = sizeof(ALSDecContext),2184 .priv_data_size = sizeof(ALSDecContext),
2185 .init = decode_init,2185 .init = decode_init,
2186 .close = decode_end,2186 .close = decode_end,
2187 .decode = decode_frame,2187 .decode = decode_frame,
2188 .flush = flush,2188 .flush = flush,
2189 .capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,2189 .p.capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
2190 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,2190 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
2191};2191};
libavcodec/amfenc_h264.c+9−9
@@ -378,21 +378,21 @@ static const AVClass h264_amf_class = { · 377 unmodified lines
378 .version = LIBAVUTIL_VERSION_INT,378 .version = LIBAVUTIL_VERSION_INT,
379};379};
380 380
381const AVCodec ff_h264_amf_encoder = {381const FFCodec ff_h264_amf_encoder = {
382 .name = "h264_amf",382 .p.name = "h264_amf",
383 .long_name = NULL_IF_CONFIG_SMALL("AMD AMF H.264 Encoder"),383 .p.long_name = NULL_IF_CONFIG_SMALL("AMD AMF H.264 Encoder"),
384 .type = AVMEDIA_TYPE_VIDEO,384 .p.type = AVMEDIA_TYPE_VIDEO,
385 .id = AV_CODEC_ID_H264,385 .p.id = AV_CODEC_ID_H264,
386 .init = amf_encode_init_h264,386 .init = amf_encode_init_h264,
387 .receive_packet = ff_amf_receive_packet,387 .receive_packet = ff_amf_receive_packet,
388 .close = ff_amf_encode_close,388 .close = ff_amf_encode_close,
389 .priv_data_size = sizeof(AmfContext),389 .priv_data_size = sizeof(AmfContext),
390 .priv_class = &h264_amf_class,390 .p.priv_class = &h264_amf_class,
391 .defaults = defaults,391 .defaults = defaults,
392 .capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_HARDWARE |392 .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_HARDWARE |
393 AV_CODEC_CAP_DR1,393 AV_CODEC_CAP_DR1,
394 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,394 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
395 .pix_fmts = ff_amf_pix_fmts,395 .p.pix_fmts = ff_amf_pix_fmts,
396 .wrapper_name = "amf",396 .p.wrapper_name = "amf",
397 .hw_configs = ff_amfenc_hw_configs,397 .hw_configs = ff_amfenc_hw_configs,
398};398};
libavcodec/amfenc_hevc.c+9−9
@@ -310,21 +310,21 @@ static const AVClass hevc_amf_class = { · 309 unmodified lines
310 .version = LIBAVUTIL_VERSION_INT,310 .version = LIBAVUTIL_VERSION_INT,
311};311};
312 312
313const AVCodec ff_hevc_amf_encoder = {313const FFCodec ff_hevc_amf_encoder = {
314 .name = "hevc_amf",314 .p.name = "hevc_amf",
315 .long_name = NULL_IF_CONFIG_SMALL("AMD AMF HEVC encoder"),315 .p.long_name = NULL_IF_CONFIG_SMALL("AMD AMF HEVC encoder"),
316 .type = AVMEDIA_TYPE_VIDEO,316 .p.type = AVMEDIA_TYPE_VIDEO,
317 .id = AV_CODEC_ID_HEVC,317 .p.id = AV_CODEC_ID_HEVC,
318 .init = amf_encode_init_hevc,318 .init = amf_encode_init_hevc,
319 .receive_packet = ff_amf_receive_packet,319 .receive_packet = ff_amf_receive_packet,
320 .close = ff_amf_encode_close,320 .close = ff_amf_encode_close,
321 .priv_data_size = sizeof(AmfContext),321 .priv_data_size = sizeof(AmfContext),
322 .priv_class = &hevc_amf_class,322 .p.priv_class = &hevc_amf_class,
323 .defaults = defaults,323 .defaults = defaults,
324 .capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_HARDWARE |324 .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_HARDWARE |
325 AV_CODEC_CAP_DR1,325 AV_CODEC_CAP_DR1,
326 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,326 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
327 .pix_fmts = ff_amf_pix_fmts,327 .p.pix_fmts = ff_amf_pix_fmts,
328 .wrapper_name = "amf",328 .p.wrapper_name = "amf",
329 .hw_configs = ff_amfenc_hw_configs,329 .hw_configs = ff_amfenc_hw_configs,
330};330};
libavcodec/amrnbdec.c+7−7
@@ -1097,16 +1097,16 @@ static int amrnb_decode_frame(AVCodecContext *avctx, void *data, · 1096 unmodified lines
1097}1097}
1098 1098
1099 1099
1100const AVCodec ff_amrnb_decoder = {1100const FFCodec ff_amrnb_decoder = {
1101 .name = "amrnb",1101 .p.name = "amrnb",
1102 .long_name = NULL_IF_CONFIG_SMALL("AMR-NB (Adaptive Multi-Rate NarrowBand)"),1102 .p.long_name = NULL_IF_CONFIG_SMALL("AMR-NB (Adaptive Multi-Rate NarrowBand)"),
1103 .type = AVMEDIA_TYPE_AUDIO,1103 .p.type = AVMEDIA_TYPE_AUDIO,
1104 .id = AV_CODEC_ID_AMR_NB,1104 .p.id = AV_CODEC_ID_AMR_NB,
1105 .priv_data_size = sizeof(AMRChannelsContext),1105 .priv_data_size = sizeof(AMRChannelsContext),
1106 .init = amrnb_decode_init,1106 .init = amrnb_decode_init,
1107 .decode = amrnb_decode_frame,1107 .decode = amrnb_decode_frame,
1108 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,1108 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
1109 .sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_FLTP,1109 .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_FLTP,
1110 AV_SAMPLE_FMT_NONE },1110 AV_SAMPLE_FMT_NONE },
1111 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,1111 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
1112};1112};
libavcodec/amrwbdec.c+7−7
@@ -1293,16 +1293,16 @@ static int amrwb_decode_frame(AVCodecContext *avctx, void *data, · 1292 unmodified lines
1293 return avpkt->size;1293 return avpkt->size;
1294}1294}
1295 1295
1296const AVCodec ff_amrwb_decoder = {1296const FFCodec ff_amrwb_decoder = {
1297 .name = "amrwb",1297 .p.name = "amrwb",
1298 .long_name = NULL_IF_CONFIG_SMALL("AMR-WB (Adaptive Multi-Rate WideBand)"),1298 .p.long_name = NULL_IF_CONFIG_SMALL("AMR-WB (Adaptive Multi-Rate WideBand)"),
1299 .type = AVMEDIA_TYPE_AUDIO,1299 .p.type = AVMEDIA_TYPE_AUDIO,
1300 .id = AV_CODEC_ID_AMR_WB,1300 .p.id = AV_CODEC_ID_AMR_WB,
1301 .priv_data_size = sizeof(AMRWBChannelsContext),1301 .priv_data_size = sizeof(AMRWBChannelsContext),
1302 .init = amrwb_decode_init,1302 .init = amrwb_decode_init,
1303 .decode = amrwb_decode_frame,1303 .decode = amrwb_decode_frame,
1304 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,1304 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
1305 .sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_FLT,1305 .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_FLT,
1306 AV_SAMPLE_FMT_NONE },1306 AV_SAMPLE_FMT_NONE },
1307 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,1307 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
1308};1308};
libavcodec/anm.c+6−6
@@ -190,15 +190,15 @@ static av_cold int decode_end(AVCodecContext *avctx) · 189 unmodified lines
190 return 0;190 return 0;
191}191}
192 192
193const AVCodec ff_anm_decoder = {193const FFCodec ff_anm_decoder = {
194 .name = "anm",194 .p.name = "anm",
195 .long_name = NULL_IF_CONFIG_SMALL("Deluxe Paint Animation"),195 .p.long_name = NULL_IF_CONFIG_SMALL("Deluxe Paint Animation"),
196 .type = AVMEDIA_TYPE_VIDEO,196 .p.type = AVMEDIA_TYPE_VIDEO,
197 .id = AV_CODEC_ID_ANM,197 .p.id = AV_CODEC_ID_ANM,
198 .priv_data_size = sizeof(AnmContext),198 .priv_data_size = sizeof(AnmContext),
199 .init = decode_init,199 .init = decode_init,
200 .close = decode_end,200 .close = decode_end,
201 .decode = decode_frame,201 .decode = decode_frame,
202 .capabilities = AV_CODEC_CAP_DR1,202 .p.capabilities = AV_CODEC_CAP_DR1,
203 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,203 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
204};204};
libavcodec/ansi.c+6−6
@@ -481,16 +481,16 @@ static const AVCodecDefault ansi_defaults[] = { · 480 unmodified lines
481 { NULL },481 { NULL },
482};482};
483 483
484const AVCodec ff_ansi_decoder = {484const FFCodec ff_ansi_decoder = {
485 .name = "ansi",485 .p.name = "ansi",
486 .long_name = NULL_IF_CONFIG_SMALL("ASCII/ANSI art"),486 .p.long_name = NULL_IF_CONFIG_SMALL("ASCII/ANSI art"),
487 .type = AVMEDIA_TYPE_VIDEO,487 .p.type = AVMEDIA_TYPE_VIDEO,
488 .id = AV_CODEC_ID_ANSI,488 .p.id = AV_CODEC_ID_ANSI,
489 .priv_data_size = sizeof(AnsiContext),489 .priv_data_size = sizeof(AnsiContext),
490 .init = decode_init,490 .init = decode_init,
491 .close = decode_close,491 .close = decode_close,
492 .decode = decode_frame,492 .decode = decode_frame,
493 .capabilities = AV_CODEC_CAP_DR1,493 .p.capabilities = AV_CODEC_CAP_DR1,
494 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,494 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
495 .defaults = ansi_defaults,495 .defaults = ansi_defaults,
496};496};
libavcodec/apedec.c+8−8
@@ -1659,22 +1659,22 @@ static const AVClass ape_decoder_class = { · 1658 unmodified lines
1659 .version = LIBAVUTIL_VERSION_INT,1659 .version = LIBAVUTIL_VERSION_INT,
1660};1660};
1661 1661
1662const AVCodec ff_ape_decoder = {1662const FFCodec ff_ape_decoder = {
1663 .name = "ape",1663 .p.name = "ape",
1664 .long_name = NULL_IF_CONFIG_SMALL("Monkey's Audio"),1664 .p.long_name = NULL_IF_CONFIG_SMALL("Monkey's Audio"),
1665 .type = AVMEDIA_TYPE_AUDIO,1665 .p.type = AVMEDIA_TYPE_AUDIO,
1666 .id = AV_CODEC_ID_APE,1666 .p.id = AV_CODEC_ID_APE,
1667 .priv_data_size = sizeof(APEContext),1667 .priv_data_size = sizeof(APEContext),
1668 .init = ape_decode_init,1668 .init = ape_decode_init,
1669 .close = ape_decode_close,1669 .close = ape_decode_close,
1670 .decode = ape_decode_frame,1670 .decode = ape_decode_frame,
1671 .capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DELAY |1671 .p.capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DELAY |
1672 AV_CODEC_CAP_DR1,1672 AV_CODEC_CAP_DR1,
1673 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,1673 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
1674 .flush = ape_flush,1674 .flush = ape_flush,
1675 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_U8P,1675 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_U8P,
1676 AV_SAMPLE_FMT_S16P,1676 AV_SAMPLE_FMT_S16P,
1677 AV_SAMPLE_FMT_S32P,1677 AV_SAMPLE_FMT_S32P,
1678 AV_SAMPLE_FMT_NONE },1678 AV_SAMPLE_FMT_NONE },
1679 .priv_class = &ape_decoder_class,1679 .p.priv_class = &ape_decoder_class,
1680};1680};
libavcodec/aptxdec.c+18−18
@@ -175,41 +175,41 @@ static int aptx_decode_frame(AVCodecContext *avctx, void *data, · 174 unmodified lines
175}175}
176 176
177#if CONFIG_APTX_DECODER177#if CONFIG_APTX_DECODER
178const AVCodec ff_aptx_decoder = {178const FFCodec ff_aptx_decoder = {
179 .name = "aptx",179 .p.name = "aptx",
180 .long_name = NULL_IF_CONFIG_SMALL("aptX (Audio Processing Technology for Bluetooth)"),180 .p.long_name = NULL_IF_CONFIG_SMALL("aptX (Audio Processing Technology for Bluetooth)"),
181 .type = AVMEDIA_TYPE_AUDIO,181 .p.type = AVMEDIA_TYPE_AUDIO,
182 .id = AV_CODEC_ID_APTX,182 .p.id = AV_CODEC_ID_APTX,
183 .priv_data_size = sizeof(AptXContext),183 .priv_data_size = sizeof(AptXContext),
184 .init = ff_aptx_init,184 .init = ff_aptx_init,
185 .decode = aptx_decode_frame,185 .decode = aptx_decode_frame,
186 .capabilities = AV_CODEC_CAP_DR1,186 .p.capabilities = AV_CODEC_CAP_DR1,
187 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,187 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
188#if FF_API_OLD_CHANNEL_LAYOUT188#if FF_API_OLD_CHANNEL_LAYOUT
189 .channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_STEREO, 0},189 .p.channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_STEREO, 0},
190#endif190#endif
191 .ch_layouts = (const AVChannelLayout[]) { AV_CHANNEL_LAYOUT_STEREO, { 0 } },191 .p.ch_layouts = (const AVChannelLayout[]) { AV_CHANNEL_LAYOUT_STEREO, { 0 } },
192 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S32P,192 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S32P,
193 AV_SAMPLE_FMT_NONE },193 AV_SAMPLE_FMT_NONE },
194};194};
195#endif195#endif
196 196
197#if CONFIG_APTX_HD_DECODER197#if CONFIG_APTX_HD_DECODER
198const AVCodec ff_aptx_hd_decoder = {198const FFCodec ff_aptx_hd_decoder = {
199 .name = "aptx_hd",199 .p.name = "aptx_hd",
200 .long_name = NULL_IF_CONFIG_SMALL("aptX HD (Audio Processing Technology for Bluetooth)"),200 .p.long_name = NULL_IF_CONFIG_SMALL("aptX HD (Audio Processing Technology for Bluetooth)"),
201 .type = AVMEDIA_TYPE_AUDIO,201 .p.type = AVMEDIA_TYPE_AUDIO,
202 .id = AV_CODEC_ID_APTX_HD,202 .p.id = AV_CODEC_ID_APTX_HD,
203 .priv_data_size = sizeof(AptXContext),203 .priv_data_size = sizeof(AptXContext),
204 .init = ff_aptx_init,204 .init = ff_aptx_init,
205 .decode = aptx_decode_frame,205 .decode = aptx_decode_frame,
206 .capabilities = AV_CODEC_CAP_DR1,206 .p.capabilities = AV_CODEC_CAP_DR1,
207 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,207 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
208#if FF_API_OLD_CHANNEL_LAYOUT208#if FF_API_OLD_CHANNEL_LAYOUT
209 .channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_STEREO, 0},209 .p.channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_STEREO, 0},
210#endif210#endif
211 .ch_layouts = (const AVChannelLayout[]) { AV_CHANNEL_LAYOUT_STEREO, { 0 } },211 .p.ch_layouts = (const AVChannelLayout[]) { AV_CHANNEL_LAYOUT_STEREO, { 0 } },
212 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S32P,212 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S32P,
213 AV_SAMPLE_FMT_NONE },213 AV_SAMPLE_FMT_NONE },
214};214};
215#endif215#endif
libavcodec/aptxenc.c+20−20
@@ -245,45 +245,45 @@ static av_cold int aptx_close(AVCodecContext *avctx) · 244 unmodified lines
245}245}
246 246
247#if CONFIG_APTX_ENCODER247#if CONFIG_APTX_ENCODER
248const AVCodec ff_aptx_encoder = {248const FFCodec ff_aptx_encoder = {
249 .name = "aptx",249 .p.name = "aptx",
250 .long_name = NULL_IF_CONFIG_SMALL("aptX (Audio Processing Technology for Bluetooth)"),250 .p.long_name = NULL_IF_CONFIG_SMALL("aptX (Audio Processing Technology for Bluetooth)"),
251 .type = AVMEDIA_TYPE_AUDIO,251 .p.type = AVMEDIA_TYPE_AUDIO,
252 .id = AV_CODEC_ID_APTX,252 .p.id = AV_CODEC_ID_APTX,
253 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SMALL_LAST_FRAME,253 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SMALL_LAST_FRAME,
254 .priv_data_size = sizeof(AptXContext),254 .priv_data_size = sizeof(AptXContext),
255 .init = ff_aptx_init,255 .init = ff_aptx_init,
256 .encode2 = aptx_encode_frame,256 .encode2 = aptx_encode_frame,
257 .close = aptx_close,257 .close = aptx_close,
258 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,258 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
259#if FF_API_OLD_CHANNEL_LAYOUT259#if FF_API_OLD_CHANNEL_LAYOUT
260 .channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_STEREO, 0},260 .p.channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_STEREO, 0},
261#endif261#endif
262 .ch_layouts = (const AVChannelLayout[]) { AV_CHANNEL_LAYOUT_STEREO, { 0 } },262 .p.ch_layouts = (const AVChannelLayout[]) { AV_CHANNEL_LAYOUT_STEREO, { 0 } },
263 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S32P,263 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S32P,
264 AV_SAMPLE_FMT_NONE },264 AV_SAMPLE_FMT_NONE },
265 .supported_samplerates = (const int[]) {8000, 16000, 24000, 32000, 44100, 48000, 0},265 .p.supported_samplerates = (const int[]) {8000, 16000, 24000, 32000, 44100, 48000, 0},
266};266};
267#endif267#endif
268 268
269#if CONFIG_APTX_HD_ENCODER269#if CONFIG_APTX_HD_ENCODER
270const AVCodec ff_aptx_hd_encoder = {270const FFCodec ff_aptx_hd_encoder = {
271 .name = "aptx_hd",271 .p.name = "aptx_hd",
272 .long_name = NULL_IF_CONFIG_SMALL("aptX HD (Audio Processing Technology for Bluetooth)"),272 .p.long_name = NULL_IF_CONFIG_SMALL("aptX HD (Audio Processing Technology for Bluetooth)"),
273 .type = AVMEDIA_TYPE_AUDIO,273 .p.type = AVMEDIA_TYPE_AUDIO,
274 .id = AV_CODEC_ID_APTX_HD,274 .p.id = AV_CODEC_ID_APTX_HD,
275 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SMALL_LAST_FRAME,275 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SMALL_LAST_FRAME,
276 .priv_data_size = sizeof(AptXContext),276 .priv_data_size = sizeof(AptXContext),
277 .init = ff_aptx_init,277 .init = ff_aptx_init,
278 .encode2 = aptx_encode_frame,278 .encode2 = aptx_encode_frame,
279 .close = aptx_close,279 .close = aptx_close,
280 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,280 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
281#if FF_API_OLD_CHANNEL_LAYOUT281#if FF_API_OLD_CHANNEL_LAYOUT
282 .channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_STEREO, 0},282 .p.channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_STEREO, 0},
283#endif283#endif
284 .ch_layouts = (const AVChannelLayout[]) { AV_CHANNEL_LAYOUT_STEREO, { 0 } },284 .p.ch_layouts = (const AVChannelLayout[]) { AV_CHANNEL_LAYOUT_STEREO, { 0 } },
285 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S32P,285 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S32P,
286 AV_SAMPLE_FMT_NONE },286 AV_SAMPLE_FMT_NONE },
287 .supported_samplerates = (const int[]) {8000, 16000, 24000, 32000, 44100, 48000, 0},287 .p.supported_samplerates = (const int[]) {8000, 16000, 24000, 32000, 44100, 48000, 0},
288};288};
289#endif289#endif
libavcodec/arbc.c+6−6
@@ -212,16 +212,16 @@ static av_cold int decode_close(AVCodecContext *avctx) · 211 unmodified lines
212 return 0;212 return 0;
213}213}
214 214
215const AVCodec ff_arbc_decoder = {215const FFCodec ff_arbc_decoder = {
216 .name = "arbc",216 .p.name = "arbc",
217 .long_name = NULL_IF_CONFIG_SMALL("Gryphon's Anim Compressor"),217 .p.long_name = NULL_IF_CONFIG_SMALL("Gryphon's Anim Compressor"),
218 .type = AVMEDIA_TYPE_VIDEO,218 .p.type = AVMEDIA_TYPE_VIDEO,
219 .id = AV_CODEC_ID_ARBC,219 .p.id = AV_CODEC_ID_ARBC,
220 .priv_data_size = sizeof(ARBCContext),220 .priv_data_size = sizeof(ARBCContext),
221 .init = decode_init,221 .init = decode_init,
222 .decode = decode_frame,222 .decode = decode_frame,
223 .flush = decode_flush,223 .flush = decode_flush,
224 .close = decode_close,224 .close = decode_close,
225 .capabilities = AV_CODEC_CAP_DR1,225 .p.capabilities = AV_CODEC_CAP_DR1,
226 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,226 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
227};227};
libavcodec/argo.c+6−6
@@ -733,16 +733,16 @@ static av_cold int decode_close(AVCodecContext *avctx) · 732 unmodified lines
733 return 0;733 return 0;
734}734}
735 735
736const AVCodec ff_argo_decoder = {736const FFCodec ff_argo_decoder = {
737 .name = "argo",737 .p.name = "argo",
738 .long_name = NULL_IF_CONFIG_SMALL("Argonaut Games Video"),738 .p.long_name = NULL_IF_CONFIG_SMALL("Argonaut Games Video"),
739 .type = AVMEDIA_TYPE_VIDEO,739 .p.type = AVMEDIA_TYPE_VIDEO,
740 .id = AV_CODEC_ID_ARGO,740 .p.id = AV_CODEC_ID_ARGO,
741 .priv_data_size = sizeof(ArgoContext),741 .priv_data_size = sizeof(ArgoContext),
742 .init = decode_init,742 .init = decode_init,
743 .decode = decode_frame,743 .decode = decode_frame,
744 .flush = decode_flush,744 .flush = decode_flush,
745 .close = decode_close,745 .close = decode_close,
746 .capabilities = AV_CODEC_CAP_DR1,746 .p.capabilities = AV_CODEC_CAP_DR1,
747 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,747 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
748};748};
libavcodec/assdec.c+10−10
@@ -64,11 +64,11 @@ static int ass_decode_frame(AVCodecContext *avctx, void *data, int *got_sub_ptr, · 63 unmodified lines
64}64}
65 65
66#if CONFIG_SSA_DECODER66#if CONFIG_SSA_DECODER
67const AVCodec ff_ssa_decoder = {67const FFCodec ff_ssa_decoder = {
68 .name = "ssa",68 .p.name = "ssa",
69 .long_name = NULL_IF_CONFIG_SMALL("ASS (Advanced SubStation Alpha) subtitle"),69 .p.long_name = NULL_IF_CONFIG_SMALL("ASS (Advanced SubStation Alpha) subtitle"),
70 .type = AVMEDIA_TYPE_SUBTITLE,70 .p.type = AVMEDIA_TYPE_SUBTITLE,
71 .id = AV_CODEC_ID_ASS,71 .p.id = AV_CODEC_ID_ASS,
72 .init = ass_decode_init,72 .init = ass_decode_init,
73 .decode = ass_decode_frame,73 .decode = ass_decode_frame,
74 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,74 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
@@ -76,11 +76,11 @@ const AVCodec ff_ssa_decoder = { · 1 unmodified line
76#endif76#endif
77 77
78#if CONFIG_ASS_DECODER78#if CONFIG_ASS_DECODER
79const AVCodec ff_ass_decoder = {79const FFCodec ff_ass_decoder = {
80 .name = "ass",80 .p.name = "ass",
81 .long_name = NULL_IF_CONFIG_SMALL("ASS (Advanced SubStation Alpha) subtitle"),81 .p.long_name = NULL_IF_CONFIG_SMALL("ASS (Advanced SubStation Alpha) subtitle"),
82 .type = AVMEDIA_TYPE_SUBTITLE,82 .p.type = AVMEDIA_TYPE_SUBTITLE,
83 .id = AV_CODEC_ID_ASS,83 .p.id = AV_CODEC_ID_ASS,
84 .init = ass_decode_init,84 .init = ass_decode_init,
85 .decode = ass_decode_frame,85 .decode = ass_decode_frame,
86 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,86 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
libavcodec/assenc.c+10−10
@@ -69,11 +69,11 @@ static int ass_encode_frame(AVCodecContext *avctx, · 68 unmodified lines
69}69}
70 70
71#if CONFIG_SSA_ENCODER71#if CONFIG_SSA_ENCODER
72const AVCodec ff_ssa_encoder = {72const FFCodec ff_ssa_encoder = {
73 .name = "ssa",73 .p.name = "ssa",
74 .long_name = NULL_IF_CONFIG_SMALL("ASS (Advanced SubStation Alpha) subtitle"),74 .p.long_name = NULL_IF_CONFIG_SMALL("ASS (Advanced SubStation Alpha) subtitle"),
75 .type = AVMEDIA_TYPE_SUBTITLE,75 .p.type = AVMEDIA_TYPE_SUBTITLE,
76 .id = AV_CODEC_ID_ASS,76 .p.id = AV_CODEC_ID_ASS,
77 .init = ass_encode_init,77 .init = ass_encode_init,
78 .encode_sub = ass_encode_frame,78 .encode_sub = ass_encode_frame,
79 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,79 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
@@ -81,11 +81,11 @@ const AVCodec ff_ssa_encoder = { · 1 unmodified line
81#endif81#endif
82 82
83#if CONFIG_ASS_ENCODER83#if CONFIG_ASS_ENCODER
84const AVCodec ff_ass_encoder = {84const FFCodec ff_ass_encoder = {
85 .name = "ass",85 .p.name = "ass",
86 .long_name = NULL_IF_CONFIG_SMALL("ASS (Advanced SubStation Alpha) subtitle"),86 .p.long_name = NULL_IF_CONFIG_SMALL("ASS (Advanced SubStation Alpha) subtitle"),
87 .type = AVMEDIA_TYPE_SUBTITLE,87 .p.type = AVMEDIA_TYPE_SUBTITLE,
88 .id = AV_CODEC_ID_ASS,88 .p.id = AV_CODEC_ID_ASS,
89 .init = ass_encode_init,89 .init = ass_encode_init,
90 .encode_sub = ass_encode_frame,90 .encode_sub = ass_encode_frame,
91 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,91 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
libavcodec/asvdec.c+12−12
@@ -329,30 +329,30 @@ static av_cold int decode_end(AVCodecContext *avctx) · 328 unmodified lines
329}329}
330 330
331#if CONFIG_ASV1_DECODER331#if CONFIG_ASV1_DECODER
332const AVCodec ff_asv1_decoder = {332const FFCodec ff_asv1_decoder = {
333 .name = "asv1",333 .p.name = "asv1",
334 .long_name = NULL_IF_CONFIG_SMALL("ASUS V1"),334 .p.long_name = NULL_IF_CONFIG_SMALL("ASUS V1"),
335 .type = AVMEDIA_TYPE_VIDEO,335 .p.type = AVMEDIA_TYPE_VIDEO,
336 .id = AV_CODEC_ID_ASV1,336 .p.id = AV_CODEC_ID_ASV1,
337 .priv_data_size = sizeof(ASV1Context),337 .priv_data_size = sizeof(ASV1Context),
338 .init = decode_init,338 .init = decode_init,
339 .close = decode_end,339 .close = decode_end,
340 .decode = decode_frame,340 .decode = decode_frame,
341 .capabilities = AV_CODEC_CAP_DR1,341 .p.capabilities = AV_CODEC_CAP_DR1,
342 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,342 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
343};343};
344#endif344#endif
345 345
346#if CONFIG_ASV2_DECODER346#if CONFIG_ASV2_DECODER
347const AVCodec ff_asv2_decoder = {347const FFCodec ff_asv2_decoder = {
348 .name = "asv2",348 .p.name = "asv2",
349 .long_name = NULL_IF_CONFIG_SMALL("ASUS V2"),349 .p.long_name = NULL_IF_CONFIG_SMALL("ASUS V2"),
350 .type = AVMEDIA_TYPE_VIDEO,350 .p.type = AVMEDIA_TYPE_VIDEO,
351 .id = AV_CODEC_ID_ASV2,351 .p.id = AV_CODEC_ID_ASV2,
352 .priv_data_size = sizeof(ASV1Context),352 .priv_data_size = sizeof(ASV1Context),
353 .init = decode_init,353 .init = decode_init,
354 .decode = decode_frame,354 .decode = decode_frame,
355 .capabilities = AV_CODEC_CAP_DR1,355 .p.capabilities = AV_CODEC_CAP_DR1,
356 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,356 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
357};357};
358#endif358#endif
libavcodec/asvenc.c+12−12
@@ -343,30 +343,30 @@ static av_cold int encode_init(AVCodecContext *avctx) · 342 unmodified lines
343}343}
344 344
345#if CONFIG_ASV1_ENCODER345#if CONFIG_ASV1_ENCODER
346const AVCodec ff_asv1_encoder = {346const FFCodec ff_asv1_encoder = {
347 .name = "asv1",347 .p.name = "asv1",
348 .long_name = NULL_IF_CONFIG_SMALL("ASUS V1"),348 .p.long_name = NULL_IF_CONFIG_SMALL("ASUS V1"),
349 .type = AVMEDIA_TYPE_VIDEO,349 .p.type = AVMEDIA_TYPE_VIDEO,
350 .id = AV_CODEC_ID_ASV1,350 .p.id = AV_CODEC_ID_ASV1,
351 .priv_data_size = sizeof(ASV1Context),351 .priv_data_size = sizeof(ASV1Context),
352 .init = encode_init,352 .init = encode_init,
353 .encode2 = encode_frame,353 .encode2 = encode_frame,
354 .pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P,354 .p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P,
355 AV_PIX_FMT_NONE },355 AV_PIX_FMT_NONE },
356 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,356 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
357};357};
358#endif358#endif
359 359
360#if CONFIG_ASV2_ENCODER360#if CONFIG_ASV2_ENCODER
361const AVCodec ff_asv2_encoder = {361const FFCodec ff_asv2_encoder = {
362 .name = "asv2",362 .p.name = "asv2",
363 .long_name = NULL_IF_CONFIG_SMALL("ASUS V2"),363 .p.long_name = NULL_IF_CONFIG_SMALL("ASUS V2"),
364 .type = AVMEDIA_TYPE_VIDEO,364 .p.type = AVMEDIA_TYPE_VIDEO,
365 .id = AV_CODEC_ID_ASV2,365 .p.id = AV_CODEC_ID_ASV2,
366 .priv_data_size = sizeof(ASV1Context),366 .priv_data_size = sizeof(ASV1Context),
367 .init = encode_init,367 .init = encode_init,
368 .encode2 = encode_frame,368 .encode2 = encode_frame,
369 .pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P,369 .p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P,
370 AV_PIX_FMT_NONE },370 AV_PIX_FMT_NONE },
371 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,371 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
372};372};
libavcodec/atrac1.c+7−7
@@ -385,17 +385,17 @@ static av_cold int atrac1_decode_init(AVCodecContext *avctx) · 384 unmodified lines
385}385}
386 386
387 387
388const AVCodec ff_atrac1_decoder = {388const FFCodec ff_atrac1_decoder = {
389 .name = "atrac1",389 .p.name = "atrac1",
390 .long_name = NULL_IF_CONFIG_SMALL("ATRAC1 (Adaptive TRansform Acoustic Coding)"),390 .p.long_name = NULL_IF_CONFIG_SMALL("ATRAC1 (Adaptive TRansform Acoustic Coding)"),
391 .type = AVMEDIA_TYPE_AUDIO,391 .p.type = AVMEDIA_TYPE_AUDIO,
392 .id = AV_CODEC_ID_ATRAC1,392 .p.id = AV_CODEC_ID_ATRAC1,
393 .priv_data_size = sizeof(AT1Ctx),393 .priv_data_size = sizeof(AT1Ctx),
394 .init = atrac1_decode_init,394 .init = atrac1_decode_init,
395 .close = atrac1_decode_end,395 .close = atrac1_decode_end,
396 .decode = atrac1_decode_frame,396 .decode = atrac1_decode_frame,
397 .capabilities = AV_CODEC_CAP_DR1,397 .p.capabilities = AV_CODEC_CAP_DR1,
398 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,398 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
399 AV_SAMPLE_FMT_NONE },399 AV_SAMPLE_FMT_NONE },
400 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,400 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
401};401};
libavcodec/atrac3.c+14−14
@@ -1017,32 +1017,32 @@ static av_cold int atrac3_decode_init(AVCodecContext *avctx) · 1016 unmodified lines
1017 return 0;1017 return 0;
1018}1018}
1019 1019
1020const AVCodec ff_atrac3_decoder = {1020const FFCodec ff_atrac3_decoder = {
1021 .name = "atrac3",1021 .p.name = "atrac3",
1022 .long_name = NULL_IF_CONFIG_SMALL("ATRAC3 (Adaptive TRansform Acoustic Coding 3)"),1022 .p.long_name = NULL_IF_CONFIG_SMALL("ATRAC3 (Adaptive TRansform Acoustic Coding 3)"),
1023 .type = AVMEDIA_TYPE_AUDIO,1023 .p.type = AVMEDIA_TYPE_AUDIO,
1024 .id = AV_CODEC_ID_ATRAC3,1024 .p.id = AV_CODEC_ID_ATRAC3,
1025 .priv_data_size = sizeof(ATRAC3Context),1025 .priv_data_size = sizeof(ATRAC3Context),
1026 .init = atrac3_decode_init,1026 .init = atrac3_decode_init,
1027 .close = atrac3_decode_close,1027 .close = atrac3_decode_close,
1028 .decode = atrac3_decode_frame,1028 .decode = atrac3_decode_frame,
1029 .capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1,1029 .p.capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1,
1030 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,1030 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
1031 AV_SAMPLE_FMT_NONE },1031 AV_SAMPLE_FMT_NONE },
1032 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,1032 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
1033};1033};
1034 1034
1035const AVCodec ff_atrac3al_decoder = {1035const FFCodec ff_atrac3al_decoder = {
1036 .name = "atrac3al",1036 .p.name = "atrac3al",
1037 .long_name = NULL_IF_CONFIG_SMALL("ATRAC3 AL (Adaptive TRansform Acoustic Coding 3 Advanced Lossless)"),1037 .p.long_name = NULL_IF_CONFIG_SMALL("ATRAC3 AL (Adaptive TRansform Acoustic Coding 3 Advanced Lossless)"),
1038 .type = AVMEDIA_TYPE_AUDIO,1038 .p.type = AVMEDIA_TYPE_AUDIO,
1039 .id = AV_CODEC_ID_ATRAC3AL,1039 .p.id = AV_CODEC_ID_ATRAC3AL,
1040 .priv_data_size = sizeof(ATRAC3Context),1040 .priv_data_size = sizeof(ATRAC3Context),
1041 .init = atrac3_decode_init,1041 .init = atrac3_decode_init,
1042 .close = atrac3_decode_close,1042 .close = atrac3_decode_close,
1043 .decode = atrac3al_decode_frame,1043 .decode = atrac3al_decode_frame,
1044 .capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1,1044 .p.capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1,
1045 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,1045 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
1046 AV_SAMPLE_FMT_NONE },1046 AV_SAMPLE_FMT_NONE },
1047 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,1047 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
1048};1048};
libavcodec/atrac3plusdec.c+12−12
@@ -391,12 +391,12 @@ static int atrac3p_decode_frame(AVCodecContext *avctx, void *data, · 390 unmodified lines
391 return avctx->codec_id == AV_CODEC_ID_ATRAC3P ? FFMIN(avctx->block_align, avpkt->size) : avpkt->size;391 return avctx->codec_id == AV_CODEC_ID_ATRAC3P ? FFMIN(avctx->block_align, avpkt->size) : avpkt->size;
392}392}
393 393
394const AVCodec ff_atrac3p_decoder = {394const FFCodec ff_atrac3p_decoder = {
395 .name = "atrac3plus",395 .p.name = "atrac3plus",
396 .long_name = NULL_IF_CONFIG_SMALL("ATRAC3+ (Adaptive TRansform Acoustic Coding 3+)"),396 .p.long_name = NULL_IF_CONFIG_SMALL("ATRAC3+ (Adaptive TRansform Acoustic Coding 3+)"),
397 .type = AVMEDIA_TYPE_AUDIO,397 .p.type = AVMEDIA_TYPE_AUDIO,
398 .id = AV_CODEC_ID_ATRAC3P,398 .p.id = AV_CODEC_ID_ATRAC3P,
399 .capabilities = AV_CODEC_CAP_DR1,399 .p.capabilities = AV_CODEC_CAP_DR1,
400 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,400 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
401 .priv_data_size = sizeof(ATRAC3PContext),401 .priv_data_size = sizeof(ATRAC3PContext),
402 .init = atrac3p_decode_init,402 .init = atrac3p_decode_init,
@@ -404,12 +404,12 @@ const AVCodec ff_atrac3p_decoder = { · 1 unmodified line
404 .decode = atrac3p_decode_frame,404 .decode = atrac3p_decode_frame,
405};405};
406 406
407const AVCodec ff_atrac3pal_decoder = {407const FFCodec ff_atrac3pal_decoder = {
408 .name = "atrac3plusal",408 .p.name = "atrac3plusal",
409 .long_name = NULL_IF_CONFIG_SMALL("ATRAC3+ AL (Adaptive TRansform Acoustic Coding 3+ Advanced Lossless)"),409 .p.long_name = NULL_IF_CONFIG_SMALL("ATRAC3+ AL (Adaptive TRansform Acoustic Coding 3+ Advanced Lossless)"),
410 .type = AVMEDIA_TYPE_AUDIO,410 .p.type = AVMEDIA_TYPE_AUDIO,
411 .id = AV_CODEC_ID_ATRAC3PAL,411 .p.id = AV_CODEC_ID_ATRAC3PAL,
412 .capabilities = AV_CODEC_CAP_DR1,412 .p.capabilities = AV_CODEC_CAP_DR1,
413 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,413 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
414 .priv_data_size = sizeof(ATRAC3PContext),414 .priv_data_size = sizeof(ATRAC3PContext),
415 .init = atrac3p_decode_init,415 .init = atrac3p_decode_init,
libavcodec/atrac9dec.c+6−6
@@ -988,16 +988,16 @@ static av_cold int atrac9_decode_init(AVCodecContext *avctx) · 987 unmodified lines
988 return 0;988 return 0;
989}989}
990 990
991const AVCodec ff_atrac9_decoder = {991const FFCodec ff_atrac9_decoder = {
992 .name = "atrac9",992 .p.name = "atrac9",
993 .long_name = NULL_IF_CONFIG_SMALL("ATRAC9 (Adaptive TRansform Acoustic Coding 9)"),993 .p.long_name = NULL_IF_CONFIG_SMALL("ATRAC9 (Adaptive TRansform Acoustic Coding 9)"),
994 .type = AVMEDIA_TYPE_AUDIO,994 .p.type = AVMEDIA_TYPE_AUDIO,
995 .id = AV_CODEC_ID_ATRAC9,995 .p.id = AV_CODEC_ID_ATRAC9,
996 .priv_data_size = sizeof(ATRAC9Context),996 .priv_data_size = sizeof(ATRAC9Context),
997 .init = atrac9_decode_init,997 .init = atrac9_decode_init,
998 .close = atrac9_decode_close,998 .close = atrac9_decode_close,
999 .decode = atrac9_decode_frame,999 .decode = atrac9_decode_frame,
1000 .flush = atrac9_decode_flush,1000 .flush = atrac9_decode_flush,
1001 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,1001 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
1002 .capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,1002 .p.capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
1003};1003};
libavcodec/audiotoolboxdec.c+8−8
@@ -585,21 +585,21 @@ static av_cold int ffat_close_decoder(AVCodecContext *avctx) · 584 unmodified lines
585 585
586#define FFAT_DEC(NAME, ID, bsf_name) \586#define FFAT_DEC(NAME, ID, bsf_name) \
587 FFAT_DEC_CLASS(NAME) \587 FFAT_DEC_CLASS(NAME) \
588 const AVCodec ff_##NAME##_at_decoder = { \588 const FFCodec ff_##NAME##_at_decoder = { \
589 .name = #NAME "_at", \589 .p.name = #NAME "_at", \
590 .long_name = NULL_IF_CONFIG_SMALL(#NAME " (AudioToolbox)"), \590 .p.long_name = NULL_IF_CONFIG_SMALL(#NAME " (AudioToolbox)"), \
591 .type = AVMEDIA_TYPE_AUDIO, \591 .p.type = AVMEDIA_TYPE_AUDIO, \
592 .id = ID, \592 .p.id = ID, \
593 .priv_data_size = sizeof(ATDecodeContext), \593 .priv_data_size = sizeof(ATDecodeContext), \
594 .init = ffat_init_decoder, \594 .init = ffat_init_decoder, \
595 .close = ffat_close_decoder, \595 .close = ffat_close_decoder, \
596 .decode = ffat_decode, \596 .decode = ffat_decode, \
597 .flush = ffat_decode_flush, \597 .flush = ffat_decode_flush, \
598 .priv_class = &ffat_##NAME##_dec_class, \598 .p.priv_class = &ffat_##NAME##_dec_class, \
599 .bsfs = bsf_name, \599 .bsfs = bsf_name, \
600 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY | AV_CODEC_CAP_CHANNEL_CONF, \600 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY | AV_CODEC_CAP_CHANNEL_CONF, \
601 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP, \601 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP, \
602 .wrapper_name = "at", \602 .p.wrapper_name = "at", \
603 };603 };
604 604
605FFAT_DEC(aac, AV_CODEC_ID_AAC, "aac_adtstoasc")605FFAT_DEC(aac, AV_CODEC_ID_AAC, "aac_adtstoasc")
libavcodec/audiotoolboxenc.c+12−12
@@ -613,28 +613,28 @@ static const AVOption options[] = { · 612 unmodified lines
613 613
614#define FFAT_ENC(NAME, ID, PROFILES, CAPS, CHANNEL_LAYOUTS, CH_LAYOUTS) \614#define FFAT_ENC(NAME, ID, PROFILES, CAPS, CHANNEL_LAYOUTS, CH_LAYOUTS) \
615 FFAT_ENC_CLASS(NAME) \615 FFAT_ENC_CLASS(NAME) \
616 const AVCodec ff_##NAME##_at_encoder = { \616 const FFCodec ff_##NAME##_at_encoder = { \
617 .name = #NAME "_at", \617 .p.name = #NAME "_at", \
618 .long_name = NULL_IF_CONFIG_SMALL(#NAME " (AudioToolbox)"), \618 .p.long_name = NULL_IF_CONFIG_SMALL(#NAME " (AudioToolbox)"), \
619 .type = AVMEDIA_TYPE_AUDIO, \619 .p.type = AVMEDIA_TYPE_AUDIO, \
620 .id = ID, \620 .p.id = ID, \
621 .priv_data_size = sizeof(ATDecodeContext), \621 .priv_data_size = sizeof(ATDecodeContext), \
622 .init = ffat_init_encoder, \622 .init = ffat_init_encoder, \
623 .close = ffat_close_encoder, \623 .close = ffat_close_encoder, \
624 .encode2 = ffat_encode, \624 .encode2 = ffat_encode, \
625 .flush = ffat_encode_flush, \625 .flush = ffat_encode_flush, \
626 .priv_class = &ffat_##NAME##_enc_class, \626 .p.priv_class = &ffat_##NAME##_enc_class, \
627 .capabilities = AV_CODEC_CAP_DELAY | \627 .p.capabilities = AV_CODEC_CAP_DELAY | \
628 AV_CODEC_CAP_ENCODER_FLUSH CAPS, \628 AV_CODEC_CAP_ENCODER_FLUSH CAPS, \
629 .channel_layouts= CHANNEL_LAYOUTS, \629 .p.channel_layouts = CHANNEL_LAYOUTS, \
630 .ch_layouts = CH_LAYOUTS, \630 .p.ch_layouts = CH_LAYOUTS, \
631 .sample_fmts = (const enum AVSampleFormat[]) { \631 .p.sample_fmts = (const enum AVSampleFormat[]) { \
632 AV_SAMPLE_FMT_S16, \632 AV_SAMPLE_FMT_S16, \
633 AV_SAMPLE_FMT_U8, AV_SAMPLE_FMT_NONE \633 AV_SAMPLE_FMT_U8, AV_SAMPLE_FMT_NONE \
634 }, \634 }, \
635 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE, \635 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE, \
636 .profiles = PROFILES, \636 .p.profiles = PROFILES, \
637 .wrapper_name = "at", \637 .p.wrapper_name = "at", \
638 };638 };
639 639
640static const AVChannelLayout aac_at_ch_layouts[] = {640static const AVChannelLayout aac_at_ch_layouts[] = {
libavcodec/aura.c+6−6
@@ -98,13 +98,13 @@ static int aura_decode_frame(AVCodecContext *avctx, · 97 unmodified lines
98 return pkt->size;98 return pkt->size;
99}99}
100 100
101const AVCodec ff_aura2_decoder = {101const FFCodec ff_aura2_decoder = {
102 .name = "aura2",102 .p.name = "aura2",
103 .long_name = NULL_IF_CONFIG_SMALL("Auravision Aura 2"),103 .p.long_name = NULL_IF_CONFIG_SMALL("Auravision Aura 2"),
104 .type = AVMEDIA_TYPE_VIDEO,104 .p.type = AVMEDIA_TYPE_VIDEO,
105 .id = AV_CODEC_ID_AURA2,105 .p.id = AV_CODEC_ID_AURA2,
106 .init = aura_decode_init,106 .init = aura_decode_init,
107 .decode = aura_decode_frame,107 .decode = aura_decode_frame,
108 .capabilities = AV_CODEC_CAP_DR1,108 .p.capabilities = AV_CODEC_CAP_DR1,
109 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,109 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
110};110};
libavcodec/av1dec.c+8−8
@@ -1238,22 +1238,22 @@ static const AVClass av1_class = { · 1237 unmodified lines
1238 .version = LIBAVUTIL_VERSION_INT,1238 .version = LIBAVUTIL_VERSION_INT,
1239};1239};
1240 1240
1241const AVCodec ff_av1_decoder = {1241const FFCodec ff_av1_decoder = {
1242 .name = "av1",1242 .p.name = "av1",
1243 .long_name = NULL_IF_CONFIG_SMALL("Alliance for Open Media AV1"),1243 .p.long_name = NULL_IF_CONFIG_SMALL("Alliance for Open Media AV1"),
1244 .type = AVMEDIA_TYPE_VIDEO,1244 .p.type = AVMEDIA_TYPE_VIDEO,
1245 .id = AV_CODEC_ID_AV1,1245 .p.id = AV_CODEC_ID_AV1,
1246 .priv_data_size = sizeof(AV1DecContext),1246 .priv_data_size = sizeof(AV1DecContext),
1247 .init = av1_decode_init,1247 .init = av1_decode_init,
1248 .close = av1_decode_free,1248 .close = av1_decode_free,
1249 .decode = av1_decode_frame,1249 .decode = av1_decode_frame,
1250 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_AVOID_PROBING,1250 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_AVOID_PROBING,
1251 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |1251 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |
1252 FF_CODEC_CAP_INIT_CLEANUP |1252 FF_CODEC_CAP_INIT_CLEANUP |
1253 FF_CODEC_CAP_SETS_PKT_DTS,1253 FF_CODEC_CAP_SETS_PKT_DTS,
1254 .flush = av1_decode_flush,1254 .flush = av1_decode_flush,
1255 .profiles = NULL_IF_CONFIG_SMALL(ff_av1_profiles),1255 .p.profiles = NULL_IF_CONFIG_SMALL(ff_av1_profiles),
1256 .priv_class = &av1_class,1256 .p.priv_class = &av1_class,
1257 .bsfs = "av1_frame_split",1257 .bsfs = "av1_frame_split",
1258 .hw_configs = (const AVCodecHWConfigInternal *const []) {1258 .hw_configs = (const AVCodecHWConfigInternal *const []) {
1259#if CONFIG_AV1_DXVA2_HWACCEL1259#if CONFIG_AV1_DXVA2_HWACCEL
libavcodec/avcodec.c+19−17
@@ -94,13 +94,13 @@ int avcodec_default_execute2(AVCodecContext *c, int (*func)(AVCodecContext *c2, · 93 unmodified lines
94 94
95static AVMutex codec_mutex = AV_MUTEX_INITIALIZER;95static AVMutex codec_mutex = AV_MUTEX_INITIALIZER;
96 96
97static void lock_avcodec(const AVCodec *codec)97static void lock_avcodec(const FFCodec *codec)
98{98{
99 if (!(codec->caps_internal & FF_CODEC_CAP_INIT_THREADSAFE) && codec->init)99 if (!(codec->caps_internal & FF_CODEC_CAP_INIT_THREADSAFE) && codec->init)
100 ff_mutex_lock(&codec_mutex);100 ff_mutex_lock(&codec_mutex);
101}101}
102 102
103static void unlock_avcodec(const AVCodec *codec)103static void unlock_avcodec(const FFCodec *codec)
104{104{
105 if (!(codec->caps_internal & FF_CODEC_CAP_INIT_THREADSAFE) && codec->init)105 if (!(codec->caps_internal & FF_CODEC_CAP_INIT_THREADSAFE) && codec->init)
106 ff_mutex_unlock(&codec_mutex);106 ff_mutex_unlock(&codec_mutex);
@@ -140,6 +140,7 @@ int attribute_align_arg avcodec_open2(AVCodecContext *avctx, const AVCodec *code · 33 unmodified lines
140{140{
141 int ret = 0;141 int ret = 0;
142 AVCodecInternal *avci;142 AVCodecInternal *avci;
143 const FFCodec *codec2;
143 144
144 if (avcodec_is_open(avctx))145 if (avcodec_is_open(avctx))
145 return 0;146 return 0;
@@ -155,6 +156,7 @@ int attribute_align_arg avcodec_open2(AVCodecContext *avctx, const AVCodec *code · 9 unmodified lines
155 }156 }
156 if (!codec)157 if (!codec)
157 codec = avctx->codec;158 codec = avctx->codec;
159 codec2 = ffcodec(codec);
158 160
159 if ((avctx->codec_type == AVMEDIA_TYPE_UNKNOWN || avctx->codec_type == codec->type) &&161 if ((avctx->codec_type == AVMEDIA_TYPE_UNKNOWN || avctx->codec_type == codec->type) &&
160 avctx->codec_id == AV_CODEC_ID_NONE) {162 avctx->codec_id == AV_CODEC_ID_NONE) {
@@ -194,9 +196,9 @@ int attribute_align_arg avcodec_open2(AVCodecContext *avctx, const AVCodec *code · 33 unmodified lines
194 196
195 avci->skip_samples_multiplier = 1;197 avci->skip_samples_multiplier = 1;
196 198
197 if (codec->priv_data_size > 0) {199 if (codec2->priv_data_size > 0) {
198 if (!avctx->priv_data) {200 if (!avctx->priv_data) {
199 avctx->priv_data = av_mallocz(codec->priv_data_size);201 avctx->priv_data = av_mallocz(codec2->priv_data_size);
200 if (!avctx->priv_data) {202 if (!avctx->priv_data) {
201 ret = AVERROR(ENOMEM);203 ret = AVERROR(ENOMEM);
202 goto free_and_end;204 goto free_and_end;
@@ -327,25 +329,25 @@ FF_ENABLE_DEPRECATION_WARNINGS · 124 unmodified lines
327 329
328 if (HAVE_THREADS330 if (HAVE_THREADS
329 && !(avci->frame_thread_encoder && (avctx->active_thread_type&FF_THREAD_FRAME))) {331 && !(avci->frame_thread_encoder && (avctx->active_thread_type&FF_THREAD_FRAME))) {
330 /* Frame-threaded decoders call AVCodec.init for their child contexts. */332 /* Frame-threaded decoders call FFCodec.init for their child contexts. */
331 lock_avcodec(codec);333 lock_avcodec(codec2);
332 ret = ff_thread_init(avctx);334 ret = ff_thread_init(avctx);
333 unlock_avcodec(codec);335 unlock_avcodec(codec2);
334 if (ret < 0) {336 if (ret < 0) {
335 goto free_and_end;337 goto free_and_end;
336 }338 }
337 }339 }
338 if (!HAVE_THREADS && !(codec->caps_internal & FF_CODEC_CAP_AUTO_THREADS))340 if (!HAVE_THREADS && !(codec2->caps_internal & FF_CODEC_CAP_AUTO_THREADS))
339 avctx->thread_count = 1;341 avctx->thread_count = 1;
340 342
341 if (!(avctx->active_thread_type & FF_THREAD_FRAME) ||343 if (!(avctx->active_thread_type & FF_THREAD_FRAME) ||
342 avci->frame_thread_encoder) {344 avci->frame_thread_encoder) {
343 if (avctx->codec->init) {345 if (codec2->init) {
344 lock_avcodec(codec);346 lock_avcodec(codec2);
345 ret = avctx->codec->init(avctx);347 ret = codec2->init(avctx);
346 unlock_avcodec(codec);348 unlock_avcodec(codec2);
347 if (ret < 0) {349 if (ret < 0) {
348 avci->needs_close = avctx->codec->caps_internal & FF_CODEC_CAP_INIT_CLEANUP;350 avci->needs_close = codec2->caps_internal & FF_CODEC_CAP_INIT_CLEANUP;
349 goto free_and_end;351 goto free_and_end;
350 }352 }
351 }353 }
@@ -439,8 +441,8 @@ void avcodec_flush_buffers(AVCodecContext *avctx) · 87 unmodified lines
439 441
440 if (HAVE_THREADS && avctx->active_thread_type & FF_THREAD_FRAME)442 if (HAVE_THREADS && avctx->active_thread_type & FF_THREAD_FRAME)
441 ff_thread_flush(avctx);443 ff_thread_flush(avctx);
442 else if (avctx->codec->flush)444 else if (ffcodec(avctx->codec)->flush)
443 avctx->codec->flush(avctx);445 ffcodec(avctx->codec)->flush(avctx);
444 446
445 avctx->pts_correction_last_pts =447 avctx->pts_correction_last_pts =
446 avctx->pts_correction_last_dts = INT64_MIN;448 avctx->pts_correction_last_dts = INT64_MIN;
@@ -484,8 +486,8 @@ av_cold int avcodec_close(AVCodecContext *avctx) · 37 unmodified lines
484 }486 }
485 if (HAVE_THREADS && avci->thread_ctx)487 if (HAVE_THREADS && avci->thread_ctx)
486 ff_thread_free(avctx);488 ff_thread_free(avctx);
487 if (avci->needs_close && avctx->codec->close)489 if (avci->needs_close && ffcodec(avctx->codec)->close)
488 avctx->codec->close(avctx);490 ffcodec(avctx->codec)->close(avctx);
489 avci->byte_buffer_size = 0;491 avci->byte_buffer_size = 0;
490 av_freep(&avci->byte_buffer);492 av_freep(&avci->byte_buffer);
491 av_frame_free(&avci->buffer_frame);493 av_frame_free(&avci->buffer_frame);
libavcodec/avrndec.c+6−6
@@ -90,14 +90,14 @@ static int decode_frame(AVCodecContext *avctx, void *data, · 89 unmodified lines
90 return buf_size;90 return buf_size;
91}91}
92 92
93const AVCodec ff_avrn_decoder = {93const FFCodec ff_avrn_decoder = {
94 .name = "avrn",94 .p.name = "avrn",
95 .long_name = NULL_IF_CONFIG_SMALL("Avid AVI Codec"),95 .p.long_name = NULL_IF_CONFIG_SMALL("Avid AVI Codec"),
96 .type = AVMEDIA_TYPE_VIDEO,96 .p.type = AVMEDIA_TYPE_VIDEO,
97 .id = AV_CODEC_ID_AVRN,97 .p.id = AV_CODEC_ID_AVRN,
98 .priv_data_size = sizeof(AVRnContext),98 .priv_data_size = sizeof(AVRnContext),
99 .init = init,99 .init = init,
100 .decode = decode_frame,100 .decode = decode_frame,
101 .capabilities = AV_CODEC_CAP_DR1,101 .p.capabilities = AV_CODEC_CAP_DR1,
102 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,102 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
103};103};
libavcodec/avs.c+6−6
@@ -177,15 +177,15 @@ static av_cold int avs_decode_end(AVCodecContext *avctx) · 176 unmodified lines
177}177}
178 178
179 179
180const AVCodec ff_avs_decoder = {180const FFCodec ff_avs_decoder = {
181 .name = "avs",181 .p.name = "avs",
182 .long_name = NULL_IF_CONFIG_SMALL("AVS (Audio Video Standard) video"),182 .p.long_name = NULL_IF_CONFIG_SMALL("AVS (Audio Video Standard) video"),
183 .type = AVMEDIA_TYPE_VIDEO,183 .p.type = AVMEDIA_TYPE_VIDEO,
184 .id = AV_CODEC_ID_AVS,184 .p.id = AV_CODEC_ID_AVS,
185 .priv_data_size = sizeof(AvsContext),185 .priv_data_size = sizeof(AvsContext),
186 .init = avs_decode_init,186 .init = avs_decode_init,
187 .decode = avs_decode_frame,187 .decode = avs_decode_frame,
188 .close = avs_decode_end,188 .close = avs_decode_end,
189 .capabilities = AV_CODEC_CAP_DR1,189 .p.capabilities = AV_CODEC_CAP_DR1,
190 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,190 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
191};191};
libavcodec/avuidec.c+6−6
@@ -120,13 +120,13 @@ static int avui_decode_frame(AVCodecContext *avctx, void *data, · 119 unmodified lines
120 return avpkt->size;120 return avpkt->size;
121}121}
122 122
123const AVCodec ff_avui_decoder = {123const FFCodec ff_avui_decoder = {
124 .name = "avui",124 .p.name = "avui",
125 .long_name = NULL_IF_CONFIG_SMALL("Avid Meridien Uncompressed"),125 .p.long_name = NULL_IF_CONFIG_SMALL("Avid Meridien Uncompressed"),
126 .type = AVMEDIA_TYPE_VIDEO,126 .p.type = AVMEDIA_TYPE_VIDEO,
127 .id = AV_CODEC_ID_AVUI,127 .p.id = AV_CODEC_ID_AVUI,
128 .p.capabilities = AV_CODEC_CAP_DR1,
128 .init = avui_decode_init,129 .init = avui_decode_init,
129 .decode = avui_decode_frame,130 .decode = avui_decode_frame,
130 .capabilities = AV_CODEC_CAP_DR1,
131 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,131 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
132};132};
libavcodec/avuienc.c+7−7
@@ -91,14 +91,14 @@ static int avui_encode_frame(AVCodecContext *avctx, AVPacket *pkt, · 90 unmodified lines
91 return 0;91 return 0;
92}92}
93 93
94const AVCodec ff_avui_encoder = {94const FFCodec ff_avui_encoder = {
95 .name = "avui",95 .p.name = "avui",
96 .long_name = NULL_IF_CONFIG_SMALL("Avid Meridien Uncompressed"),96 .p.long_name = NULL_IF_CONFIG_SMALL("Avid Meridien Uncompressed"),
97 .type = AVMEDIA_TYPE_VIDEO,97 .p.type = AVMEDIA_TYPE_VIDEO,
98 .id = AV_CODEC_ID_AVUI,98 .p.id = AV_CODEC_ID_AVUI,
99 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_EXPERIMENTAL,
100 .p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_UYVY422, AV_PIX_FMT_NONE },
99 .init = avui_encode_init,101 .init = avui_encode_init,
100 .encode2 = avui_encode_frame,102 .encode2 = avui_encode_frame,
101 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_EXPERIMENTAL,
102 .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_UYVY422, AV_PIX_FMT_NONE },
103 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,103 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
104};104};
libavcodec/bethsoftvideo.c+6−6
@@ -159,15 +159,15 @@ static av_cold int bethsoftvid_decode_end(AVCodecContext *avctx) · 158 unmodified lines
159 return 0;159 return 0;
160}160}
161 161
162const AVCodec ff_bethsoftvid_decoder = {162const FFCodec ff_bethsoftvid_decoder = {
163 .name = "bethsoftvid",163 .p.name = "bethsoftvid",
164 .long_name = NULL_IF_CONFIG_SMALL("Bethesda VID video"),164 .p.long_name = NULL_IF_CONFIG_SMALL("Bethesda VID video"),
165 .type = AVMEDIA_TYPE_VIDEO,165 .p.type = AVMEDIA_TYPE_VIDEO,
166 .id = AV_CODEC_ID_BETHSOFTVID,166 .p.id = AV_CODEC_ID_BETHSOFTVID,
167 .priv_data_size = sizeof(BethsoftvidContext),167 .priv_data_size = sizeof(BethsoftvidContext),
168 .init = bethsoftvid_decode_init,168 .init = bethsoftvid_decode_init,
169 .close = bethsoftvid_decode_end,169 .close = bethsoftvid_decode_end,
170 .decode = bethsoftvid_decode_frame,170 .decode = bethsoftvid_decode_frame,
171 .capabilities = AV_CODEC_CAP_DR1,171 .p.capabilities = AV_CODEC_CAP_DR1,
172 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,172 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
173};173};
libavcodec/bfi.c+6−6
@@ -176,15 +176,15 @@ static av_cold int bfi_decode_close(AVCodecContext *avctx) · 175 unmodified lines
176 return 0;176 return 0;
177}177}
178 178
179const AVCodec ff_bfi_decoder = {179const FFCodec ff_bfi_decoder = {
180 .name = "bfi",180 .p.name = "bfi",
181 .long_name = NULL_IF_CONFIG_SMALL("Brute Force & Ignorance"),181 .p.long_name = NULL_IF_CONFIG_SMALL("Brute Force & Ignorance"),
182 .type = AVMEDIA_TYPE_VIDEO,182 .p.type = AVMEDIA_TYPE_VIDEO,
183 .id = AV_CODEC_ID_BFI,183 .p.id = AV_CODEC_ID_BFI,
184 .priv_data_size = sizeof(BFIContext),184 .priv_data_size = sizeof(BFIContext),
185 .init = bfi_decode_init,185 .init = bfi_decode_init,
186 .close = bfi_decode_close,186 .close = bfi_decode_close,
187 .decode = bfi_decode_frame,187 .decode = bfi_decode_frame,
188 .capabilities = AV_CODEC_CAP_DR1,188 .p.capabilities = AV_CODEC_CAP_DR1,
189 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,189 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
190};190};
libavcodec/bink.c+6−6
@@ -1419,16 +1419,16 @@ static void flush(AVCodecContext *avctx) · 1418 unmodified lines
1419 c->frame_num = 0;1419 c->frame_num = 0;
1420}1420}
1421 1421
1422const AVCodec ff_bink_decoder = {1422const FFCodec ff_bink_decoder = {
1423 .name = "binkvideo",1423 .p.name = "binkvideo",
1424 .long_name = NULL_IF_CONFIG_SMALL("Bink video"),1424 .p.long_name = NULL_IF_CONFIG_SMALL("Bink video"),
1425 .type = AVMEDIA_TYPE_VIDEO,1425 .p.type = AVMEDIA_TYPE_VIDEO,
1426 .id = AV_CODEC_ID_BINKVIDEO,1426 .p.id = AV_CODEC_ID_BINKVIDEO,
1427 .priv_data_size = sizeof(BinkContext),1427 .priv_data_size = sizeof(BinkContext),
1428 .init = decode_init,1428 .init = decode_init,
1429 .close = decode_end,1429 .close = decode_end,
1430 .decode = decode_frame,1430 .decode = decode_frame,
1431 .flush = flush,1431 .flush = flush,
1432 .capabilities = AV_CODEC_CAP_DR1,1432 .p.capabilities = AV_CODEC_CAP_DR1,
1433 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,1433 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
1434};1434};
libavcodec/binkaudio.c+12−12
@@ -346,30 +346,30 @@ static void decode_flush(AVCodecContext *avctx) · 345 unmodified lines
346 s->first = 1;346 s->first = 1;
347}347}
348 348
349const AVCodec ff_binkaudio_rdft_decoder = {349const FFCodec ff_binkaudio_rdft_decoder = {
350 .name = "binkaudio_rdft",350 .p.name = "binkaudio_rdft",
351 .long_name = NULL_IF_CONFIG_SMALL("Bink Audio (RDFT)"),351 .p.long_name = NULL_IF_CONFIG_SMALL("Bink Audio (RDFT)"),
352 .type = AVMEDIA_TYPE_AUDIO,352 .p.type = AVMEDIA_TYPE_AUDIO,
353 .id = AV_CODEC_ID_BINKAUDIO_RDFT,353 .p.id = AV_CODEC_ID_BINKAUDIO_RDFT,
354 .priv_data_size = sizeof(BinkAudioContext),354 .priv_data_size = sizeof(BinkAudioContext),
355 .init = decode_init,355 .init = decode_init,
356 .flush = decode_flush,356 .flush = decode_flush,
357 .close = decode_end,357 .close = decode_end,
358 .receive_frame = binkaudio_receive_frame,358 .receive_frame = binkaudio_receive_frame,
359 .capabilities = AV_CODEC_CAP_DR1,359 .p.capabilities = AV_CODEC_CAP_DR1,
360 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,360 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
361};361};
362 362
363const AVCodec ff_binkaudio_dct_decoder = {363const FFCodec ff_binkaudio_dct_decoder = {
364 .name = "binkaudio_dct",364 .p.name = "binkaudio_dct",
365 .long_name = NULL_IF_CONFIG_SMALL("Bink Audio (DCT)"),365 .p.long_name = NULL_IF_CONFIG_SMALL("Bink Audio (DCT)"),
366 .type = AVMEDIA_TYPE_AUDIO,366 .p.type = AVMEDIA_TYPE_AUDIO,
367 .id = AV_CODEC_ID_BINKAUDIO_DCT,367 .p.id = AV_CODEC_ID_BINKAUDIO_DCT,
368 .priv_data_size = sizeof(BinkAudioContext),368 .priv_data_size = sizeof(BinkAudioContext),
369 .init = decode_init,369 .init = decode_init,
370 .flush = decode_flush,370 .flush = decode_flush,
371 .close = decode_end,371 .close = decode_end,
372 .receive_frame = binkaudio_receive_frame,372 .receive_frame = binkaudio_receive_frame,
373 .capabilities = AV_CODEC_CAP_DR1,373 .p.capabilities = AV_CODEC_CAP_DR1,
374 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,374 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
375};375};
libavcodec/bintext.c+18−18
@@ -218,41 +218,41 @@ static int decode_frame(AVCodecContext *avctx, · 217 unmodified lines
218}218}
219 219
220#if CONFIG_BINTEXT_DECODER220#if CONFIG_BINTEXT_DECODER
221const AVCodec ff_bintext_decoder = {221const FFCodec ff_bintext_decoder = {
222 .name = "bintext",222 .p.name = "bintext",
223 .long_name = NULL_IF_CONFIG_SMALL("Binary text"),223 .p.long_name = NULL_IF_CONFIG_SMALL("Binary text"),
224 .type = AVMEDIA_TYPE_VIDEO,224 .p.type = AVMEDIA_TYPE_VIDEO,
225 .id = AV_CODEC_ID_BINTEXT,225 .p.id = AV_CODEC_ID_BINTEXT,
226 .priv_data_size = sizeof(XbinContext),226 .priv_data_size = sizeof(XbinContext),
227 .init = decode_init,227 .init = decode_init,
228 .decode = decode_frame,228 .decode = decode_frame,
229 .capabilities = AV_CODEC_CAP_DR1,229 .p.capabilities = AV_CODEC_CAP_DR1,
230 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,230 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
231};231};
232#endif232#endif
233#if CONFIG_XBIN_DECODER233#if CONFIG_XBIN_DECODER
234const AVCodec ff_xbin_decoder = {234const FFCodec ff_xbin_decoder = {
235 .name = "xbin",235 .p.name = "xbin",
236 .long_name = NULL_IF_CONFIG_SMALL("eXtended BINary text"),236 .p.long_name = NULL_IF_CONFIG_SMALL("eXtended BINary text"),
237 .type = AVMEDIA_TYPE_VIDEO,237 .p.type = AVMEDIA_TYPE_VIDEO,
238 .id = AV_CODEC_ID_XBIN,238 .p.id = AV_CODEC_ID_XBIN,
239 .priv_data_size = sizeof(XbinContext),239 .priv_data_size = sizeof(XbinContext),
240 .init = decode_init,240 .init = decode_init,
241 .decode = decode_frame,241 .decode = decode_frame,
242 .capabilities = AV_CODEC_CAP_DR1,242 .p.capabilities = AV_CODEC_CAP_DR1,
243 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,243 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
244};244};
245#endif245#endif
246#if CONFIG_IDF_DECODER246#if CONFIG_IDF_DECODER
247const AVCodec ff_idf_decoder = {247const FFCodec ff_idf_decoder = {
248 .name = "idf",248 .p.name = "idf",
249 .long_name = NULL_IF_CONFIG_SMALL("iCEDraw text"),249 .p.long_name = NULL_IF_CONFIG_SMALL("iCEDraw text"),
250 .type = AVMEDIA_TYPE_VIDEO,250 .p.type = AVMEDIA_TYPE_VIDEO,
251 .id = AV_CODEC_ID_IDF,251 .p.id = AV_CODEC_ID_IDF,
252 .priv_data_size = sizeof(XbinContext),252 .priv_data_size = sizeof(XbinContext),
253 .init = decode_init,253 .init = decode_init,
254 .decode = decode_frame,254 .decode = decode_frame,
255 .capabilities = AV_CODEC_CAP_DR1,255 .p.capabilities = AV_CODEC_CAP_DR1,
256 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,256 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
257};257};
258#endif258#endif
libavcodec/bitpacked_dec.c+6−6
@@ -142,15 +142,15 @@ static int bitpacked_decode(AVCodecContext *avctx, void *data, int *got_frame, · 141 unmodified lines
142 142
143}143}
144 144
145const AVCodec ff_bitpacked_decoder = {145const FFCodec ff_bitpacked_decoder = {
146 .name = "bitpacked",146 .p.name = "bitpacked",
147 .long_name = NULL_IF_CONFIG_SMALL("Bitpacked"),147 .p.long_name = NULL_IF_CONFIG_SMALL("Bitpacked"),
148 .type = AVMEDIA_TYPE_VIDEO,148 .p.type = AVMEDIA_TYPE_VIDEO,
149 .id = AV_CODEC_ID_BITPACKED,149 .p.id = AV_CODEC_ID_BITPACKED,
150 .p.capabilities = AV_CODEC_CAP_FRAME_THREADS,
150 .priv_data_size = sizeof(struct BitpackedContext),151 .priv_data_size = sizeof(struct BitpackedContext),
151 .init = bitpacked_init_decoder,152 .init = bitpacked_init_decoder,
152 .decode = bitpacked_decode,153 .decode = bitpacked_decode,
153 .capabilities = AV_CODEC_CAP_FRAME_THREADS,
154 .codec_tags = (const uint32_t []){154 .codec_tags = (const uint32_t []){
155 MKTAG('U', 'Y', 'V', 'Y'),155 MKTAG('U', 'Y', 'V', 'Y'),
156 FF_CODEC_TAGS_END,156 FF_CODEC_TAGS_END,
libavcodec/bitpacked_enc.c+7−7
@@ -104,16 +104,16 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt, · 103 unmodified lines
104 return 0;104 return 0;
105}105}
106 106
107const AVCodec ff_bitpacked_encoder = {107const FFCodec ff_bitpacked_encoder = {
108 .name = "bitpacked",108 .p.name = "bitpacked",
109 .long_name = NULL_IF_CONFIG_SMALL("Bitpacked"),109 .p.long_name = NULL_IF_CONFIG_SMALL("Bitpacked"),
110 .type = AVMEDIA_TYPE_VIDEO,110 .p.type = AVMEDIA_TYPE_VIDEO,
111 .id = AV_CODEC_ID_BITPACKED,111 .p.id = AV_CODEC_ID_BITPACKED,
112 .priv_data_size = sizeof(struct BitpackedContext),112 .priv_data_size = sizeof(struct BitpackedContext),
113 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,113 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
114 .init = encode_init,114 .init = encode_init,
115 .encode2 = encode_frame,115 .encode2 = encode_frame,
116 .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV422P10,116 .p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV422P10,
117 AV_PIX_FMT_NONE },117 AV_PIX_FMT_NONE },
118 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,118 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
119};119};
libavcodec/bmp.c+7−6
@@ -24,6 +24,7 @@ · 23 unmodified lines
24#include "avcodec.h"24#include "avcodec.h"
25#include "bytestream.h"25#include "bytestream.h"
26#include "bmp.h"26#include "bmp.h"
27#include "codec_internal.h"
27#include "internal.h"28#include "internal.h"
28#include "msrledec.h"29#include "msrledec.h"
29 30
@@ -365,11 +366,11 @@ static int bmp_decode_frame(AVCodecContext *avctx, · 335 unmodified lines
365 return buf_size;366 return buf_size;
366}367}
367 368
368const AVCodec ff_bmp_decoder = {369const FFCodec ff_bmp_decoder = {
369 .name = "bmp",370 .p.name = "bmp",
370 .long_name = NULL_IF_CONFIG_SMALL("BMP (Windows and OS/2 bitmap)"),371 .p.long_name = NULL_IF_CONFIG_SMALL("BMP (Windows and OS/2 bitmap)"),
371 .type = AVMEDIA_TYPE_VIDEO,372 .p.type = AVMEDIA_TYPE_VIDEO,
372 .id = AV_CODEC_ID_BMP,373 .p.id = AV_CODEC_ID_BMP,
374 .p.capabilities = AV_CODEC_CAP_DR1,
373 .decode = bmp_decode_frame,375 .decode = bmp_decode_frame,
374 .capabilities = AV_CODEC_CAP_DR1,
375};376};
libavcodec/bmpenc.c+7−7
@@ -155,15 +155,15 @@ static int bmp_encode_frame(AVCodecContext *avctx, AVPacket *pkt, · 154 unmodified lines
155 return 0;155 return 0;
156}156}
157 157
158const AVCodec ff_bmp_encoder = {158const FFCodec ff_bmp_encoder = {
159 .name = "bmp",159 .p.name = "bmp",
160 .long_name = NULL_IF_CONFIG_SMALL("BMP (Windows and OS/2 bitmap)"),160 .p.long_name = NULL_IF_CONFIG_SMALL("BMP (Windows and OS/2 bitmap)"),
161 .type = AVMEDIA_TYPE_VIDEO,161 .p.type = AVMEDIA_TYPE_VIDEO,
162 .id = AV_CODEC_ID_BMP,162 .p.id = AV_CODEC_ID_BMP,
163 .capabilities = AV_CODEC_CAP_DR1,163 .p.capabilities = AV_CODEC_CAP_DR1,
164 .init = bmp_encode_init,164 .init = bmp_encode_init,
165 .encode2 = bmp_encode_frame,165 .encode2 = bmp_encode_frame,
166 .pix_fmts = (const enum AVPixelFormat[]){166 .p.pix_fmts = (const enum AVPixelFormat[]){
167 AV_PIX_FMT_BGRA, AV_PIX_FMT_BGR24,167 AV_PIX_FMT_BGRA, AV_PIX_FMT_BGR24,
168 AV_PIX_FMT_RGB565, AV_PIX_FMT_RGB555, AV_PIX_FMT_RGB444,168 AV_PIX_FMT_RGB565, AV_PIX_FMT_RGB555, AV_PIX_FMT_RGB444,
169 AV_PIX_FMT_RGB8, AV_PIX_FMT_BGR8, AV_PIX_FMT_RGB4_BYTE, AV_PIX_FMT_BGR4_BYTE, AV_PIX_FMT_GRAY8, AV_PIX_FMT_PAL8,169 AV_PIX_FMT_RGB8, AV_PIX_FMT_BGR8, AV_PIX_FMT_RGB4_BYTE, AV_PIX_FMT_BGR4_BYTE, AV_PIX_FMT_GRAY8, AV_PIX_FMT_PAL8,
libavcodec/bmvaudio.c+6−6
@@ -79,13 +79,13 @@ static int bmv_aud_decode_frame(AVCodecContext *avctx, void *data, · 78 unmodified lines
79 return buf_size;79 return buf_size;
80}80}
81 81
82const AVCodec ff_bmv_audio_decoder = {82const FFCodec ff_bmv_audio_decoder = {
83 .name = "bmv_audio",83 .p.name = "bmv_audio",
84 .long_name = NULL_IF_CONFIG_SMALL("Discworld II BMV audio"),84 .p.long_name = NULL_IF_CONFIG_SMALL("Discworld II BMV audio"),
85 .type = AVMEDIA_TYPE_AUDIO,85 .p.type = AVMEDIA_TYPE_AUDIO,
86 .id = AV_CODEC_ID_BMV_AUDIO,86 .p.id = AV_CODEC_ID_BMV_AUDIO,
87 .init = bmv_aud_decode_init,87 .init = bmv_aud_decode_init,
88 .decode = bmv_aud_decode_frame,88 .decode = bmv_aud_decode_frame,
89 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,89 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
90 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,90 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
91};91};
libavcodec/bmvvideo.c+6−6
@@ -286,14 +286,14 @@ static av_cold int decode_init(AVCodecContext *avctx) · 285 unmodified lines
286 return 0;286 return 0;
287}287}
288 288
289const AVCodec ff_bmv_video_decoder = {289const FFCodec ff_bmv_video_decoder = {
290 .name = "bmv_video",290 .p.name = "bmv_video",
291 .long_name = NULL_IF_CONFIG_SMALL("Discworld II BMV video"),291 .p.long_name = NULL_IF_CONFIG_SMALL("Discworld II BMV video"),
292 .type = AVMEDIA_TYPE_VIDEO,292 .p.type = AVMEDIA_TYPE_VIDEO,
293 .id = AV_CODEC_ID_BMV_VIDEO,293 .p.id = AV_CODEC_ID_BMV_VIDEO,
294 .priv_data_size = sizeof(BMVDecContext),294 .priv_data_size = sizeof(BMVDecContext),
295 .init = decode_init,295 .init = decode_init,
296 .decode = decode_frame,296 .decode = decode_frame,
297 .capabilities = AV_CODEC_CAP_DR1,297 .p.capabilities = AV_CODEC_CAP_DR1,
298 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,298 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
299};299};
libavcodec/brenderpix.c+7−6
@@ -25,6 +25,7 @@ · 24 unmodified lines
25 25
26#include "avcodec.h"26#include "avcodec.h"
27#include "bytestream.h"27#include "bytestream.h"
28#include "codec_internal.h"
28#include "internal.h"29#include "internal.h"
29 30
30#define HEADER1_CHUNK 0x0331#define HEADER1_CHUNK 0x03
@@ -285,11 +286,11 @@ static int pix_decode_frame(AVCodecContext *avctx, void *data, int *got_frame, · 254 unmodified lines
285 return avpkt->size;286 return avpkt->size;
286}287}
287 288
288const AVCodec ff_brender_pix_decoder = {289const FFCodec ff_brender_pix_decoder = {
289 .name = "brender_pix",290 .p.name = "brender_pix",
290 .long_name = NULL_IF_CONFIG_SMALL("BRender PIX image"),291 .p.long_name = NULL_IF_CONFIG_SMALL("BRender PIX image"),
291 .type = AVMEDIA_TYPE_VIDEO,292 .p.type = AVMEDIA_TYPE_VIDEO,
292 .id = AV_CODEC_ID_BRENDER_PIX,293 .p.id = AV_CODEC_ID_BRENDER_PIX,
294 .p.capabilities = AV_CODEC_CAP_DR1,
293 .decode = pix_decode_frame,295 .decode = pix_decode_frame,
294 .capabilities = AV_CODEC_CAP_DR1,
295};296};
libavcodec/c93.c+6−6
@@ -258,15 +258,15 @@ static int decode_frame(AVCodecContext *avctx, void *data, · 257 unmodified lines
258 return buf_size;258 return buf_size;
259}259}
260 260
261const AVCodec ff_c93_decoder = {261const FFCodec ff_c93_decoder = {
262 .name = "c93",262 .p.name = "c93",
263 .long_name = NULL_IF_CONFIG_SMALL("Interplay C93"),263 .p.long_name = NULL_IF_CONFIG_SMALL("Interplay C93"),
264 .type = AVMEDIA_TYPE_VIDEO,264 .p.type = AVMEDIA_TYPE_VIDEO,
265 .id = AV_CODEC_ID_C93,265 .p.id = AV_CODEC_ID_C93,
266 .priv_data_size = sizeof(C93DecoderContext),266 .priv_data_size = sizeof(C93DecoderContext),
267 .init = decode_init,267 .init = decode_init,
268 .close = decode_end,268 .close = decode_end,
269 .decode = decode_frame,269 .decode = decode_frame,
270 .capabilities = AV_CODEC_CAP_DR1,270 .p.capabilities = AV_CODEC_CAP_DR1,
271 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,271 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
272};272};
libavcodec/cavsdec.c+6−6
@@ -1309,16 +1309,16 @@ static int cavs_decode_frame(AVCodecContext *avctx, void *data, int *got_frame, · 1308 unmodified lines
1309 }1309 }
1310}1310}
1311 1311
1312const AVCodec ff_cavs_decoder = {1312const FFCodec ff_cavs_decoder = {
1313 .name = "cavs",1313 .p.name = "cavs",
1314 .long_name = NULL_IF_CONFIG_SMALL("Chinese AVS (Audio Video Standard) (AVS1-P2, JiZhun profile)"),1314 .p.long_name = NULL_IF_CONFIG_SMALL("Chinese AVS (Audio Video Standard) (AVS1-P2, JiZhun profile)"),
1315 .type = AVMEDIA_TYPE_VIDEO,1315 .p.type = AVMEDIA_TYPE_VIDEO,
1316 .id = AV_CODEC_ID_CAVS,1316 .p.id = AV_CODEC_ID_CAVS,
1317 .priv_data_size = sizeof(AVSContext),1317 .priv_data_size = sizeof(AVSContext),
1318 .init = ff_cavs_init,1318 .init = ff_cavs_init,
1319 .close = ff_cavs_end,1319 .close = ff_cavs_end,
1320 .decode = cavs_decode_frame,1320 .decode = cavs_decode_frame,
1321 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,1321 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,
1322 .flush = cavs_flush,1322 .flush = cavs_flush,
1323 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,1323 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
1324};1324};
libavcodec/ccaption_dec.c+7−7
@@ -944,17 +944,17 @@ static const AVClass ccaption_dec_class = { · 943 unmodified lines
944 .version = LIBAVUTIL_VERSION_INT,944 .version = LIBAVUTIL_VERSION_INT,
945};945};
946 946
947const AVCodec ff_ccaption_decoder = {947const FFCodec ff_ccaption_decoder = {
948 .name = "cc_dec",948 .p.name = "cc_dec",
949 .long_name = NULL_IF_CONFIG_SMALL("Closed Caption (EIA-608 / CEA-708)"),949 .p.long_name = NULL_IF_CONFIG_SMALL("Closed Caption (EIA-608 / CEA-708)"),
950 .type = AVMEDIA_TYPE_SUBTITLE,950 .p.type = AVMEDIA_TYPE_SUBTITLE,
951 .id = AV_CODEC_ID_EIA_608,951 .p.id = AV_CODEC_ID_EIA_608,
952 .p.priv_class = &ccaption_dec_class,
953 .p.capabilities = AV_CODEC_CAP_DELAY,
952 .priv_data_size = sizeof(CCaptionSubContext),954 .priv_data_size = sizeof(CCaptionSubContext),
953 .init = init_decoder,955 .init = init_decoder,
954 .close = close_decoder,956 .close = close_decoder,
955 .flush = flush_decoder,957 .flush = flush_decoder,
956 .decode = decode,958 .decode = decode,
957 .priv_class = &ccaption_dec_class,
958 .capabilities = AV_CODEC_CAP_DELAY,
959 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,959 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
960};960};
libavcodec/cdgraphics.c+6−6
@@ -388,16 +388,16 @@ static av_cold int cdg_decode_end(AVCodecContext *avctx) · 387 unmodified lines
388 return 0;388 return 0;
389}389}
390 390
391const AVCodec ff_cdgraphics_decoder = {391const FFCodec ff_cdgraphics_decoder = {
392 .name = "cdgraphics",392 .p.name = "cdgraphics",
393 .long_name = NULL_IF_CONFIG_SMALL("CD Graphics video"),393 .p.long_name = NULL_IF_CONFIG_SMALL("CD Graphics video"),
394 .type = AVMEDIA_TYPE_VIDEO,394 .p.type = AVMEDIA_TYPE_VIDEO,
395 .id = AV_CODEC_ID_CDGRAPHICS,395 .p.id = AV_CODEC_ID_CDGRAPHICS,
396 .priv_data_size = sizeof(CDGraphicsContext),396 .priv_data_size = sizeof(CDGraphicsContext),
397 .init = cdg_decode_init,397 .init = cdg_decode_init,
398 .close = cdg_decode_end,398 .close = cdg_decode_end,
399 .decode = cdg_decode_frame,399 .decode = cdg_decode_frame,
400 .flush = cdg_decode_flush,400 .flush = cdg_decode_flush,
401 .capabilities = AV_CODEC_CAP_DR1,401 .p.capabilities = AV_CODEC_CAP_DR1,
402 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,402 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
403};403};
libavcodec/cdtoons.c+6−6
@@ -443,16 +443,16 @@ static av_cold int cdtoons_decode_end(AVCodecContext *avctx) · 442 unmodified lines
443 return 0;443 return 0;
444}444}
445 445
446const AVCodec ff_cdtoons_decoder = {446const FFCodec ff_cdtoons_decoder = {
447 .name = "cdtoons",447 .p.name = "cdtoons",
448 .long_name = NULL_IF_CONFIG_SMALL("CDToons video"),448 .p.long_name = NULL_IF_CONFIG_SMALL("CDToons video"),
449 .type = AVMEDIA_TYPE_VIDEO,449 .p.type = AVMEDIA_TYPE_VIDEO,
450 .id = AV_CODEC_ID_CDTOONS,450 .p.id = AV_CODEC_ID_CDTOONS,
451 .priv_data_size = sizeof(CDToonsContext),451 .priv_data_size = sizeof(CDToonsContext),
452 .init = cdtoons_decode_init,452 .init = cdtoons_decode_init,
453 .close = cdtoons_decode_end,453 .close = cdtoons_decode_end,
454 .decode = cdtoons_decode_frame,454 .decode = cdtoons_decode_frame,
455 .capabilities = AV_CODEC_CAP_DR1,455 .p.capabilities = AV_CODEC_CAP_DR1,
456 .flush = cdtoons_flush,456 .flush = cdtoons_flush,
457 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,457 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
458};458};
libavcodec/cdxl.c+6−6
@@ -337,15 +337,15 @@ static av_cold int cdxl_decode_end(AVCodecContext *avctx) · 336 unmodified lines
337 return 0;337 return 0;
338}338}
339 339
340const AVCodec ff_cdxl_decoder = {340const FFCodec ff_cdxl_decoder = {
341 .name = "cdxl",341 .p.name = "cdxl",
342 .long_name = NULL_IF_CONFIG_SMALL("Commodore CDXL video"),342 .p.long_name = NULL_IF_CONFIG_SMALL("Commodore CDXL video"),
343 .type = AVMEDIA_TYPE_VIDEO,343 .p.type = AVMEDIA_TYPE_VIDEO,
344 .id = AV_CODEC_ID_CDXL,344 .p.id = AV_CODEC_ID_CDXL,
345 .priv_data_size = sizeof(CDXLVideoContext),345 .priv_data_size = sizeof(CDXLVideoContext),
346 .init = cdxl_decode_init,346 .init = cdxl_decode_init,
347 .close = cdxl_decode_end,347 .close = cdxl_decode_end,
348 .decode = cdxl_decode_frame,348 .decode = cdxl_decode_frame,
349 .capabilities = AV_CODEC_CAP_DR1,349 .p.capabilities = AV_CODEC_CAP_DR1,
350 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,350 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
351};351};
libavcodec/cfhd.c+6−6
@@ -1456,16 +1456,16 @@ static int update_thread_context(AVCodecContext *dst, const AVCodecContext *src) · 1455 unmodified lines
1456}1456}
1457#endif1457#endif
1458 1458
1459const AVCodec ff_cfhd_decoder = {1459const FFCodec ff_cfhd_decoder = {
1460 .name = "cfhd",1460 .p.name = "cfhd",
1461 .long_name = NULL_IF_CONFIG_SMALL("GoPro CineForm HD"),1461 .p.long_name = NULL_IF_CONFIG_SMALL("GoPro CineForm HD"),
1462 .type = AVMEDIA_TYPE_VIDEO,1462 .p.type = AVMEDIA_TYPE_VIDEO,
1463 .id = AV_CODEC_ID_CFHD,1463 .p.id = AV_CODEC_ID_CFHD,
1464 .priv_data_size = sizeof(CFHDContext),1464 .priv_data_size = sizeof(CFHDContext),
1465 .init = cfhd_init,1465 .init = cfhd_init,
1466 .close = cfhd_close,1466 .close = cfhd_close,
1467 .decode = cfhd_decode,1467 .decode = cfhd_decode,
1468 .update_thread_context = ONLY_IF_THREADS_ENABLED(update_thread_context),1468 .update_thread_context = ONLY_IF_THREADS_ENABLED(update_thread_context),
1469 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,1469 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
1470 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,1470 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
1471};1471};
libavcodec/cfhdenc.c+8−8
@@ -845,18 +845,18 @@ static const AVClass cfhd_class = { · 844 unmodified lines
845 .version = LIBAVUTIL_VERSION_INT,845 .version = LIBAVUTIL_VERSION_INT,
846};846};
847 847
848const AVCodec ff_cfhd_encoder = {848const FFCodec ff_cfhd_encoder = {
849 .name = "cfhd",849 .p.name = "cfhd",
850 .long_name = NULL_IF_CONFIG_SMALL("GoPro CineForm HD"),850 .p.long_name = NULL_IF_CONFIG_SMALL("GoPro CineForm HD"),
851 .type = AVMEDIA_TYPE_VIDEO,851 .p.type = AVMEDIA_TYPE_VIDEO,
852 .id = AV_CODEC_ID_CFHD,852 .p.id = AV_CODEC_ID_CFHD,
853 .priv_data_size = sizeof(CFHDEncContext),853 .priv_data_size = sizeof(CFHDEncContext),
854 .priv_class = &cfhd_class,854 .p.priv_class = &cfhd_class,
855 .init = cfhd_encode_init,855 .init = cfhd_encode_init,
856 .close = cfhd_encode_close,856 .close = cfhd_encode_close,
857 .encode2 = cfhd_encode_frame,857 .encode2 = cfhd_encode_frame,
858 .capabilities = AV_CODEC_CAP_FRAME_THREADS,858 .p.capabilities = AV_CODEC_CAP_FRAME_THREADS,
859 .pix_fmts = (const enum AVPixelFormat[]) {859 .p.pix_fmts = (const enum AVPixelFormat[]) {
860 AV_PIX_FMT_YUV422P10,860 AV_PIX_FMT_YUV422P10,
861 AV_PIX_FMT_GBRP12,861 AV_PIX_FMT_GBRP12,
862 AV_PIX_FMT_GBRAP12,862 AV_PIX_FMT_GBRAP12,
libavcodec/cinepak.c+6−6
@@ -507,15 +507,15 @@ static av_cold int cinepak_decode_end(AVCodecContext *avctx) · 506 unmodified lines
507 return 0;507 return 0;
508}508}
509 509
510const AVCodec ff_cinepak_decoder = {510const FFCodec ff_cinepak_decoder = {
511 .name = "cinepak",511 .p.name = "cinepak",
512 .long_name = NULL_IF_CONFIG_SMALL("Cinepak"),512 .p.long_name = NULL_IF_CONFIG_SMALL("Cinepak"),
513 .type = AVMEDIA_TYPE_VIDEO,513 .p.type = AVMEDIA_TYPE_VIDEO,
514 .id = AV_CODEC_ID_CINEPAK,514 .p.id = AV_CODEC_ID_CINEPAK,
515 .priv_data_size = sizeof(CinepakContext),515 .priv_data_size = sizeof(CinepakContext),
516 .init = cinepak_decode_init,516 .init = cinepak_decode_init,
517 .close = cinepak_decode_end,517 .close = cinepak_decode_end,
518 .decode = cinepak_decode_frame,518 .decode = cinepak_decode_frame,
519 .capabilities = AV_CODEC_CAP_DR1,519 .p.capabilities = AV_CODEC_CAP_DR1,
520 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,520 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
521};521};
libavcodec/cinepakenc.c+7−7
@@ -1194,16 +1194,16 @@ static av_cold int cinepak_encode_end(AVCodecContext *avctx) · 1193 unmodified lines
1194 return 0;1194 return 0;
1195}1195}
1196 1196
1197const AVCodec ff_cinepak_encoder = {1197const FFCodec ff_cinepak_encoder = {
1198 .name = "cinepak",1198 .p.name = "cinepak",
1199 .long_name = NULL_IF_CONFIG_SMALL("Cinepak"),1199 .p.long_name = NULL_IF_CONFIG_SMALL("Cinepak"),
1200 .type = AVMEDIA_TYPE_VIDEO,1200 .p.type = AVMEDIA_TYPE_VIDEO,
1201 .id = AV_CODEC_ID_CINEPAK,1201 .p.id = AV_CODEC_ID_CINEPAK,
1202 .priv_data_size = sizeof(CinepakEncContext),1202 .priv_data_size = sizeof(CinepakEncContext),
1203 .init = cinepak_encode_init,1203 .init = cinepak_encode_init,
1204 .encode2 = cinepak_encode_frame,1204 .encode2 = cinepak_encode_frame,
1205 .close = cinepak_encode_end,1205 .close = cinepak_encode_end,
1206 .pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_RGB24, AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE },1206 .p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_RGB24, AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE },
1207 .priv_class = &cinepak_class,1207 .p.priv_class = &cinepak_class,
1208 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,1208 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
1209};1209};
libavcodec/clearvideo.c+6−6
@@ -767,15 +767,15 @@ static av_cold int clv_decode_end(AVCodecContext *avctx) · 766 unmodified lines
767 return 0;767 return 0;
768}768}
769 769
770const AVCodec ff_clearvideo_decoder = {770const FFCodec ff_clearvideo_decoder = {
771 .name = "clearvideo",771 .p.name = "clearvideo",
772 .long_name = NULL_IF_CONFIG_SMALL("Iterated Systems ClearVideo"),772 .p.long_name = NULL_IF_CONFIG_SMALL("Iterated Systems ClearVideo"),
773 .type = AVMEDIA_TYPE_VIDEO,773 .p.type = AVMEDIA_TYPE_VIDEO,
774 .id = AV_CODEC_ID_CLEARVIDEO,774 .p.id = AV_CODEC_ID_CLEARVIDEO,
775 .priv_data_size = sizeof(CLVContext),775 .priv_data_size = sizeof(CLVContext),
776 .init = clv_decode_init,776 .init = clv_decode_init,
777 .close = clv_decode_end,777 .close = clv_decode_end,
778 .decode = clv_decode_frame,778 .decode = clv_decode_frame,
779 .capabilities = AV_CODEC_CAP_DR1,779 .p.capabilities = AV_CODEC_CAP_DR1,
780 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,780 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
781};781};
libavcodec/cljrdec.c+6−6
@@ -83,14 +83,14 @@ static av_cold int decode_init(AVCodecContext *avctx) · 82 unmodified lines
83 return 0;83 return 0;
84}84}
85 85
86const AVCodec ff_cljr_decoder = {86const FFCodec ff_cljr_decoder = {
87 .name = "cljr",87 .p.name = "cljr",
88 .long_name = NULL_IF_CONFIG_SMALL("Cirrus Logic AccuPak"),88 .p.long_name = NULL_IF_CONFIG_SMALL("Cirrus Logic AccuPak"),
89 .type = AVMEDIA_TYPE_VIDEO,89 .p.type = AVMEDIA_TYPE_VIDEO,
90 .id = AV_CODEC_ID_CLJR,90 .p.id = AV_CODEC_ID_CLJR,
91 .init = decode_init,91 .init = decode_init,
92 .decode = decode_frame,92 .decode = decode_frame,
93 .capabilities = AV_CODEC_CAP_DR1,93 .p.capabilities = AV_CODEC_CAP_DR1,
94 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,94 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
95};95};
96 96
libavcodec/cljrenc.c+9−8
@@ -27,6 +27,7 @@ · 26 unmodified lines
27#include "libavutil/opt.h"27#include "libavutil/opt.h"
28 28
29#include "avcodec.h"29#include "avcodec.h"
30#include "codec_internal.h"
30#include "encode.h"31#include "encode.h"
31#include "put_bits.h"32#include "put_bits.h"
32 33
@@ -107,15 +108,15 @@ static const AVClass cljr_class = { · 74 unmodified lines
107 .version = LIBAVUTIL_VERSION_INT,108 .version = LIBAVUTIL_VERSION_INT,
108};109};
109 110
110const AVCodec ff_cljr_encoder = {111const FFCodec ff_cljr_encoder = {
111 .name = "cljr",112 .p.name = "cljr",
112 .long_name = NULL_IF_CONFIG_SMALL("Cirrus Logic AccuPak"),113 .p.long_name = NULL_IF_CONFIG_SMALL("Cirrus Logic AccuPak"),
113 .type = AVMEDIA_TYPE_VIDEO,114 .p.type = AVMEDIA_TYPE_VIDEO,
114 .id = AV_CODEC_ID_CLJR,115 .p.id = AV_CODEC_ID_CLJR,
115 .capabilities = AV_CODEC_CAP_DR1,116 .p.capabilities = AV_CODEC_CAP_DR1,
116 .priv_data_size = sizeof(CLJRContext),117 .priv_data_size = sizeof(CLJRContext),
117 .encode2 = encode_frame,118 .encode2 = encode_frame,
118 .pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV411P,119 .p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV411P,
119 AV_PIX_FMT_NONE },120 AV_PIX_FMT_NONE },
120 .priv_class = &cljr_class,121 .p.priv_class = &cljr_class,
121};122};
libavcodec/cllc.c+6−6
@@ -492,15 +492,15 @@ static av_cold int cllc_decode_init(AVCodecContext *avctx) · 491 unmodified lines
492 return 0;492 return 0;
493}493}
494 494
495const AVCodec ff_cllc_decoder = {495const FFCodec ff_cllc_decoder = {
496 .name = "cllc",496 .p.name = "cllc",
497 .long_name = NULL_IF_CONFIG_SMALL("Canopus Lossless Codec"),497 .p.long_name = NULL_IF_CONFIG_SMALL("Canopus Lossless Codec"),
498 .type = AVMEDIA_TYPE_VIDEO,498 .p.type = AVMEDIA_TYPE_VIDEO,
499 .id = AV_CODEC_ID_CLLC,499 .p.id = AV_CODEC_ID_CLLC,
500 .priv_data_size = sizeof(CLLCContext),500 .priv_data_size = sizeof(CLLCContext),
501 .init = cllc_decode_init,501 .init = cllc_decode_init,
502 .decode = cllc_decode_frame,502 .decode = cllc_decode_frame,
503 .close = cllc_decode_close,503 .close = cllc_decode_close,
504 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,504 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
505 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,505 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
506};506};
libavcodec/cngdec.c+7−7
@@ -163,19 +163,19 @@ static int cng_decode_frame(AVCodecContext *avctx, void *data, · 162 unmodified lines
163 return buf_size;163 return buf_size;
164}164}
165 165
166const AVCodec ff_comfortnoise_decoder = {166const FFCodec ff_comfortnoise_decoder = {
167 .name = "comfortnoise",167 .p.name = "comfortnoise",
168 .long_name = NULL_IF_CONFIG_SMALL("RFC 3389 comfort noise generator"),168 .p.long_name = NULL_IF_CONFIG_SMALL("RFC 3389 comfort noise generator"),
169 .type = AVMEDIA_TYPE_AUDIO,169 .p.type = AVMEDIA_TYPE_AUDIO,
170 .id = AV_CODEC_ID_COMFORT_NOISE,170 .p.id = AV_CODEC_ID_COMFORT_NOISE,
171 .priv_data_size = sizeof(CNGContext),171 .priv_data_size = sizeof(CNGContext),
172 .init = cng_decode_init,172 .init = cng_decode_init,
173 .decode = cng_decode_frame,173 .decode = cng_decode_frame,
174 .flush = cng_decode_flush,174 .flush = cng_decode_flush,
175 .close = cng_decode_close,175 .close = cng_decode_close,
176 .sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16,176 .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16,
177 AV_SAMPLE_FMT_NONE },177 AV_SAMPLE_FMT_NONE },
178 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,178 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
179 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |179 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |
180 FF_CODEC_CAP_INIT_CLEANUP,180 FF_CODEC_CAP_INIT_CLEANUP,
181};181};
libavcodec/cngenc.c+8−8
@@ -96,18 +96,18 @@ static int cng_encode_frame(AVCodecContext *avctx, AVPacket *avpkt, · 95 unmodified lines
96 return 0;96 return 0;
97}97}
98 98
99const AVCodec ff_comfortnoise_encoder = {99const FFCodec ff_comfortnoise_encoder = {
100 .name = "comfortnoise",100 .p.name = "comfortnoise",
101 .long_name = NULL_IF_CONFIG_SMALL("RFC 3389 comfort noise generator"),101 .p.long_name = NULL_IF_CONFIG_SMALL("RFC 3389 comfort noise generator"),
102 .type = AVMEDIA_TYPE_AUDIO,102 .p.type = AVMEDIA_TYPE_AUDIO,
103 .id = AV_CODEC_ID_COMFORT_NOISE,103 .p.id = AV_CODEC_ID_COMFORT_NOISE,
104 .capabilities = AV_CODEC_CAP_DR1,104 .p.capabilities = AV_CODEC_CAP_DR1,
105 .priv_data_size = sizeof(CNGContext),105 .priv_data_size = sizeof(CNGContext),
106 .init = cng_encode_init,106 .init = cng_encode_init,
107 .encode2 = cng_encode_frame,107 .encode2 = cng_encode_frame,
108 .close = cng_encode_close,108 .close = cng_encode_close,
109 .sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16,109 .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16,
110 AV_SAMPLE_FMT_NONE },110 AV_SAMPLE_FMT_NONE },
111 .ch_layouts = (const AVChannelLayout[]){ AV_CHANNEL_LAYOUT_MONO, { 0 } },111 .p.ch_layouts = (const AVChannelLayout[]){ AV_CHANNEL_LAYOUT_MONO, { 0 } },
112 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,112 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
113};113};
libavcodec/codec.h+0−121
@@ -190,12 +190,6 @@ typedef struct AVProfile { · 189 unmodified lines
190 const char *name; ///< short name for the profile190 const char *name; ///< short name for the profile
191} AVProfile;191} AVProfile;
192 192
193typedef struct AVCodecDefault AVCodecDefault;
194
195struct AVCodecContext;
196struct AVSubtitle;
197struct AVPacket;
198
199/**193/**
200 * AVCodec.194 * AVCodec.
201 */195 */
@@ -250,121 +244,6 @@ typedef struct AVCodec { · 48 unmodified lines
250 * Array of supported channel layouts, terminated with a zeroed layout.244 * Array of supported channel layouts, terminated with a zeroed layout.
251 */245 */
252 const AVChannelLayout *ch_layouts;246 const AVChannelLayout *ch_layouts;
253
254 /*****************************************************************
255 * No fields below this line are part of the public API. They
256 * may not be used outside of libavcodec and can be changed and
257 * removed at will.
258 * New public fields should be added right above.
259 *****************************************************************
260 */
261 /**
262 * Internal codec capabilities.
263 * See FF_CODEC_CAP_* in internal.h
264 */
265 int caps_internal;
266
267 int priv_data_size;
268 /**
269 * @name Frame-level threading support functions
270 * @{
271 */
272 /**
273 * Copy necessary context variables from a previous thread context to the current one.
274 * If not defined, the next thread will start automatically; otherwise, the codec
275 * must call ff_thread_finish_setup().
276 *
277 * dst and src will (rarely) point to the same context, in which case memcpy should be skipped.
278 */
279 int (*update_thread_context)(struct AVCodecContext *dst, const struct AVCodecContext *src);
280
281 /**
282 * Copy variables back to the user-facing context
283 */
284 int (*update_thread_context_for_user)(struct AVCodecContext *dst, const struct AVCodecContext *src);
285 /** @} */
286
287 /**
288 * Private codec-specific defaults.
289 */
290 const AVCodecDefault *defaults;
291
292 /**
293 * Initialize codec static data, called from av_codec_iterate().
294 *
295 * This is not intended for time consuming operations as it is
296 * run for every codec regardless of that codec being used.
297 */
298 void (*init_static_data)(struct AVCodec *codec);
299
300 int (*init)(struct AVCodecContext *);
301 int (*encode_sub)(struct AVCodecContext *, uint8_t *buf, int buf_size,
302 const struct AVSubtitle *sub);
303 /**
304 * Encode data to an AVPacket.
305 *
306 * @param avctx codec context
307 * @param avpkt output AVPacket
308 * @param[in] frame AVFrame containing the raw data to be encoded
309 * @param[out] got_packet_ptr encoder sets to 0 or 1 to indicate that a
310 * non-empty packet was returned in avpkt.
311 * @return 0 on success, negative error code on failure
312 */
313 int (*encode2)(struct AVCodecContext *avctx, struct AVPacket *avpkt,
314 const struct AVFrame *frame, int *got_packet_ptr);
315 /**
316 * Decode picture or subtitle data.
317 *
318 * @param avctx codec context
319 * @param outdata codec type dependent output struct
320 * @param[out] got_frame_ptr decoder sets to 0 or 1 to indicate that a
321 * non-empty frame or subtitle was returned in
322 * outdata.
323 * @param[in] avpkt AVPacket containing the data to be decoded
324 * @return amount of bytes read from the packet on success, negative error
325 * code on failure
326 */
327 int (*decode)(struct AVCodecContext *avctx, void *outdata,
328 int *got_frame_ptr, struct AVPacket *avpkt);
329 int (*close)(struct AVCodecContext *);
330 /**
331 * Encode API with decoupled frame/packet dataflow. This function is called
332 * to get one output packet. It should call ff_encode_get_frame() to obtain
333 * input data.
334 */
335 int (*receive_packet)(struct AVCodecContext *avctx, struct AVPacket *avpkt);
336
337 /**
338 * Decode API with decoupled packet/frame dataflow. This function is called
339 * to get one output frame. It should call ff_decode_get_packet() to obtain
340 * input data.
341 */
342 int (*receive_frame)(struct AVCodecContext *avctx, struct AVFrame *frame);
343 /**
344 * Flush buffers.
345 * Will be called when seeking
346 */
347 void (*flush)(struct AVCodecContext *);
348
349 /**
350 * Decoding only, a comma-separated list of bitstream filters to apply to
351 * packets before decoding.
352 */
353 const char *bsfs;
354
355 /**
356 * Array of pointers to hardware configurations supported by the codec,
357 * or NULL if no hardware supported. The array is terminated by a NULL
358 * pointer.
359 *
360 * The user can only access this field via avcodec_get_hw_config().
361 */
362 const struct AVCodecHWConfigInternal *const *hw_configs;
363
364 /**
365 * List of supported codec_tags, terminated by FF_CODEC_TAGS_END.
366 */
367 const uint32_t *codec_tags;
368} AVCodec;247} AVCodec;
369 248
370/**249/**
libavcodec/codec_internal.h+131−3
@@ -19,6 +19,11 @@ · 18 unmodified lines
19#ifndef AVCODEC_CODEC_INTERNAL_H19#ifndef AVCODEC_CODEC_INTERNAL_H
20#define AVCODEC_CODEC_INTERNAL_H20#define AVCODEC_CODEC_INTERNAL_H
21 21
22#include <stdint.h>
23
24#include "libavutil/attributes.h"
25#include "codec.h"
26
22/**27/**
23 * The codec does not modify any global variables in the init function,28 * The codec does not modify any global variables in the init function,
24 * allowing to call the init function without locking any global mutexes.29 * allowing to call the init function without locking any global mutexes.
@@ -70,13 +75,136 @@ · 45 unmodified lines
70#define FF_CODEC_CAP_SETS_FRAME_PROPS (1 << 8)75#define FF_CODEC_CAP_SETS_FRAME_PROPS (1 << 8)
71 76
72/**77/**
73 * AVCodec.codec_tags termination value78 * FFCodec.codec_tags termination value
74 */79 */
75#define FF_CODEC_TAGS_END -180#define FF_CODEC_TAGS_END -1
76 81
77struct AVCodecDefault {82typedef struct AVCodecDefault {
78 const char *key;83 const char *key;
79 const char *value;84 const char *value;
80};85} AVCodecDefault;
86
87struct AVCodecContext;
88struct AVSubtitle;
89struct AVPacket;
90
91typedef struct FFCodec {
92 /**
93 * The public AVCodec. See codec.h for it.
94 */
95 AVCodec p;
96
97 /**
98 * Internal codec capabilities FF_CODEC_CAP_*.
99 */
100 int caps_internal;
101
102 int priv_data_size;
103 /**
104 * @name Frame-level threading support functions
105 * @{
106 */
107 /**
108 * Copy necessary context variables from a previous thread context to the current one.
109 * If not defined, the next thread will start automatically; otherwise, the codec
110 * must call ff_thread_finish_setup().
111 *
112 * dst and src will (rarely) point to the same context, in which case memcpy should be skipped.
113 */
114 int (*update_thread_context)(struct AVCodecContext *dst, const struct AVCodecContext *src);
115
116 /**
117 * Copy variables back to the user-facing context
118 */
119 int (*update_thread_context_for_user)(struct AVCodecContext *dst, const struct AVCodecContext *src);
120 /** @} */
121
122 /**
123 * Private codec-specific defaults.
124 */
125 const AVCodecDefault *defaults;
126
127 /**
128 * Initialize codec static data, called from av_codec_iterate().
129 *
130 * This is not intended for time consuming operations as it is
131 * run for every codec regardless of that codec being used.
132 */
133 void (*init_static_data)(struct FFCodec *codec);
134
135 int (*init)(struct AVCodecContext *);
136 int (*encode_sub)(struct AVCodecContext *, uint8_t *buf, int buf_size,
137 const struct AVSubtitle *sub);
138 /**
139 * Encode data to an AVPacket.
140 *
141 * @param avctx codec context
142 * @param avpkt output AVPacket
143 * @param[in] frame AVFrame containing the raw data to be encoded
144 * @param[out] got_packet_ptr encoder sets to 0 or 1 to indicate that a
145 * non-empty packet was returned in avpkt.
146 * @return 0 on success, negative error code on failure
147 */
148 int (*encode2)(struct AVCodecContext *avctx, struct AVPacket *avpkt,
149 const struct AVFrame *frame, int *got_packet_ptr);
150 /**
151 * Decode picture or subtitle data.
152 *
153 * @param avctx codec context
154 * @param outdata codec type dependent output struct
155 * @param[out] got_frame_ptr decoder sets to 0 or 1 to indicate that a
156 * non-empty frame or subtitle was returned in
157 * outdata.
158 * @param[in] avpkt AVPacket containing the data to be decoded
159 * @return amount of bytes read from the packet on success, negative error
160 * code on failure
161 */
162 int (*decode)(struct AVCodecContext *avctx, void *outdata,
163 int *got_frame_ptr, struct AVPacket *avpkt);
164 int (*close)(struct AVCodecContext *);
165 /**
166 * Encode API with decoupled frame/packet dataflow. This function is called
167 * to get one output packet. It should call ff_encode_get_frame() to obtain
168 * input data.
169 */
170 int (*receive_packet)(struct AVCodecContext *avctx, struct AVPacket *avpkt);
171
172 /**
173 * Decode API with decoupled packet/frame dataflow. This function is called
174 * to get one output frame. It should call ff_decode_get_packet() to obtain
175 * input data.
176 */
177 int (*receive_frame)(struct AVCodecContext *avctx, struct AVFrame *frame);
178 /**
179 * Flush buffers.
180 * Will be called when seeking
181 */
182 void (*flush)(struct AVCodecContext *);
183
184 /**
185 * Decoding only, a comma-separated list of bitstream filters to apply to
186 * packets before decoding.
187 */
188 const char *bsfs;
189
190 /**
191 * Array of pointers to hardware configurations supported by the codec,
192 * or NULL if no hardware supported. The array is terminated by a NULL
193 * pointer.
194 *
195 * The user can only access this field via avcodec_get_hw_config().
196 */
197 const struct AVCodecHWConfigInternal *const *hw_configs;
198
199 /**
200 * List of supported codec_tags, terminated by FF_CODEC_TAGS_END.
201 */
202 const uint32_t *codec_tags;
203} FFCodec;
204
205static av_always_inline const FFCodec *ffcodec(const AVCodec *codec)
206{
207 return (const FFCodec*)codec;
208}
81 209
82#endif /* AVCODEC_CODEC_INTERNAL_H */210#endif /* AVCODEC_CODEC_INTERNAL_H */
libavcodec/cook.c+7−7
@@ -1297,17 +1297,17 @@ static av_cold int cook_decode_init(AVCodecContext *avctx) · 1296 unmodified lines
1297 return 0;1297 return 0;
1298}1298}
1299 1299
1300const AVCodec ff_cook_decoder = {1300const FFCodec ff_cook_decoder = {
1301 .name = "cook",1301 .p.name = "cook",
1302 .long_name = NULL_IF_CONFIG_SMALL("Cook / Cooker / Gecko (RealAudio G2)"),1302 .p.long_name = NULL_IF_CONFIG_SMALL("Cook / Cooker / Gecko (RealAudio G2)"),
1303 .type = AVMEDIA_TYPE_AUDIO,1303 .p.type = AVMEDIA_TYPE_AUDIO,
1304 .id = AV_CODEC_ID_COOK,1304 .p.id = AV_CODEC_ID_COOK,
1305 .priv_data_size = sizeof(COOKContext),1305 .priv_data_size = sizeof(COOKContext),
1306 .init = cook_decode_init,1306 .init = cook_decode_init,
1307 .close = cook_decode_close,1307 .close = cook_decode_close,
1308 .decode = cook_decode_frame,1308 .decode = cook_decode_frame,
1309 .capabilities = AV_CODEC_CAP_DR1,1309 .p.capabilities = AV_CODEC_CAP_DR1,
1310 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,1310 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
1311 AV_SAMPLE_FMT_NONE },1311 AV_SAMPLE_FMT_NONE },
1312 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,1312 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
1313};1313};
libavcodec/cpia.c+6−6
@@ -222,15 +222,15 @@ static av_cold int cpia_decode_end(AVCodecContext *avctx) · 221 unmodified lines
222 return 0;222 return 0;
223}223}
224 224
225const AVCodec ff_cpia_decoder = {225const FFCodec ff_cpia_decoder = {
226 .name = "cpia",226 .p.name = "cpia",
227 .long_name = NULL_IF_CONFIG_SMALL("CPiA video format"),227 .p.long_name = NULL_IF_CONFIG_SMALL("CPiA video format"),
228 .type = AVMEDIA_TYPE_VIDEO,228 .p.type = AVMEDIA_TYPE_VIDEO,
229 .id = AV_CODEC_ID_CPIA,229 .p.id = AV_CODEC_ID_CPIA,
230 .priv_data_size = sizeof(CpiaContext),230 .priv_data_size = sizeof(CpiaContext),
231 .init = cpia_decode_init,231 .init = cpia_decode_init,
232 .close = cpia_decode_end,232 .close = cpia_decode_end,
233 .decode = cpia_decode_frame,233 .decode = cpia_decode_frame,
234 .capabilities = AV_CODEC_CAP_DR1,234 .p.capabilities = AV_CODEC_CAP_DR1,
235 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,235 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
236};236};
libavcodec/cri.c+6−6
@@ -424,15 +424,15 @@ static av_cold int cri_decode_close(AVCodecContext *avctx) · 423 unmodified lines
424 return 0;424 return 0;
425}425}
426 426
427const AVCodec ff_cri_decoder = {427const FFCodec ff_cri_decoder = {
428 .name = "cri",428 .p.name = "cri",
429 .type = AVMEDIA_TYPE_VIDEO,429 .p.type = AVMEDIA_TYPE_VIDEO,
430 .id = AV_CODEC_ID_CRI,430 .p.id = AV_CODEC_ID_CRI,
431 .priv_data_size = sizeof(CRIContext),431 .priv_data_size = sizeof(CRIContext),
432 .init = cri_decode_init,432 .init = cri_decode_init,
433 .decode = cri_decode_frame,433 .decode = cri_decode_frame,
434 .close = cri_decode_close,434 .close = cri_decode_close,
435 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,435 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
436 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,436 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
437 .long_name = NULL_IF_CONFIG_SMALL("Cintel RAW"),437 .p.long_name = NULL_IF_CONFIG_SMALL("Cintel RAW"),
438};438};
libavcodec/crystalhd.c+9−9
@@ -774,22 +774,22 @@ static int crystalhd_receive_frame(AVCodecContext *avctx, AVFrame *frame) · 773 unmodified lines
774 .option = options, \774 .option = options, \
775 .version = LIBAVUTIL_VERSION_INT, \775 .version = LIBAVUTIL_VERSION_INT, \
776 }; \776 }; \
777 const AVCodec ff_##x##_crystalhd_decoder = { \777 const FFCodec ff_##x##_crystalhd_decoder = { \
778 .name = #x "_crystalhd", \778 .p.name = #x "_crystalhd", \
779 .long_name = NULL_IF_CONFIG_SMALL("CrystalHD " #X " decoder"), \779 .p.long_name = NULL_IF_CONFIG_SMALL("CrystalHD " #X " decoder"), \
780 .type = AVMEDIA_TYPE_VIDEO, \780 .p.type = AVMEDIA_TYPE_VIDEO, \
781 .id = AV_CODEC_ID_##X, \781 .p.id = AV_CODEC_ID_##X, \
782 .priv_data_size = sizeof(CHDContext), \782 .priv_data_size = sizeof(CHDContext), \
783 .priv_class = &x##_crystalhd_class, \783 .p.priv_class = &x##_crystalhd_class, \
784 .init = init, \784 .init = init, \
785 .close = uninit, \785 .close = uninit, \
786 .receive_frame = crystalhd_receive_frame, \786 .receive_frame = crystalhd_receive_frame, \
787 .flush = flush, \787 .flush = flush, \
788 .bsfs = bsf_name, \788 .bsfs = bsf_name, \
789 .capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_AVOID_PROBING | AV_CODEC_CAP_HARDWARE, \789 .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_AVOID_PROBING | AV_CODEC_CAP_HARDWARE, \
790 .caps_internal = FF_CODEC_CAP_SETS_FRAME_PROPS, \790 .caps_internal = FF_CODEC_CAP_SETS_FRAME_PROPS, \
791 .pix_fmts = (const enum AVPixelFormat[]){AV_PIX_FMT_YUYV422, AV_PIX_FMT_NONE}, \791 .p.pix_fmts = (const enum AVPixelFormat[]){AV_PIX_FMT_YUYV422, AV_PIX_FMT_NONE}, \
792 .wrapper_name = "crystalhd", \792 .p.wrapper_name = "crystalhd", \
793 };793 };
794 794
795#if CONFIG_H264_CRYSTALHD_DECODER795#if CONFIG_H264_CRYSTALHD_DECODER
libavcodec/cscd.c+6−6
@@ -167,15 +167,15 @@ static av_cold int decode_end(AVCodecContext *avctx) · 166 unmodified lines
167 return 0;167 return 0;
168}168}
169 169
170const AVCodec ff_cscd_decoder = {170const FFCodec ff_cscd_decoder = {
171 .name = "camstudio",171 .p.name = "camstudio",
172 .long_name = NULL_IF_CONFIG_SMALL("CamStudio"),172 .p.long_name = NULL_IF_CONFIG_SMALL("CamStudio"),
173 .type = AVMEDIA_TYPE_VIDEO,173 .p.type = AVMEDIA_TYPE_VIDEO,
174 .id = AV_CODEC_ID_CSCD,174 .p.id = AV_CODEC_ID_CSCD,
175 .priv_data_size = sizeof(CamStudioContext),175 .priv_data_size = sizeof(CamStudioContext),
176 .init = decode_init,176 .init = decode_init,
177 .close = decode_end,177 .close = decode_end,
178 .decode = decode_frame,178 .decode = decode_frame,
179 .capabilities = AV_CODEC_CAP_DR1,179 .p.capabilities = AV_CODEC_CAP_DR1,
180 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,180 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
181};181};
libavcodec/cuviddec.c+10−10
@@ -943,7 +943,7 @@ static av_cold int cuvid_decode_init(AVCodecContext *avctx) · 942 unmodified lines
943 return AVERROR_BUG;943 return AVERROR_BUG;
944 }944 }
945 945
946 if (avctx->codec->bsfs) {946 if (ffcodec(avctx->codec)->bsfs) {
947 const AVCodecParameters *par = avctx->internal->bsf->par_out;947 const AVCodecParameters *par = avctx->internal->bsf->par_out;
948 extradata = par->extradata;948 extradata = par->extradata;
949 extradata_size = par->extradata_size;949 extradata_size = par->extradata_size;
@@ -1103,27 +1103,27 @@ static const AVCodecHWConfigInternal *const cuvid_hw_configs[] = { · 153 unmodified lines
1103 .option = options, \1103 .option = options, \
1104 .version = LIBAVUTIL_VERSION_INT, \1104 .version = LIBAVUTIL_VERSION_INT, \
1105 }; \1105 }; \
1106 const AVCodec ff_##x##_cuvid_decoder = { \1106 const FFCodec ff_##x##_cuvid_decoder = { \
1107 .name = #x "_cuvid", \1107 .p.name = #x "_cuvid", \
1108 .long_name = NULL_IF_CONFIG_SMALL("Nvidia CUVID " #X " decoder"), \1108 .p.long_name = NULL_IF_CONFIG_SMALL("Nvidia CUVID " #X " decoder"), \
1109 .type = AVMEDIA_TYPE_VIDEO, \1109 .p.type = AVMEDIA_TYPE_VIDEO, \
1110 .id = AV_CODEC_ID_##X, \1110 .p.id = AV_CODEC_ID_##X, \
1111 .priv_data_size = sizeof(CuvidContext), \1111 .priv_data_size = sizeof(CuvidContext), \
1112 .priv_class = &x##_cuvid_class, \1112 .p.priv_class = &x##_cuvid_class, \
1113 .init = cuvid_decode_init, \1113 .init = cuvid_decode_init, \
1114 .close = cuvid_decode_end, \1114 .close = cuvid_decode_end, \
1115 .receive_frame = cuvid_output_frame, \1115 .receive_frame = cuvid_output_frame, \
1116 .flush = cuvid_flush, \1116 .flush = cuvid_flush, \
1117 .bsfs = bsf_name, \1117 .bsfs = bsf_name, \
1118 .capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_AVOID_PROBING | AV_CODEC_CAP_HARDWARE, \1118 .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_AVOID_PROBING | AV_CODEC_CAP_HARDWARE, \
1119 .caps_internal = FF_CODEC_CAP_SETS_FRAME_PROPS, \1119 .caps_internal = FF_CODEC_CAP_SETS_FRAME_PROPS, \
1120 .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_CUDA, \1120 .p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_CUDA, \
1121 AV_PIX_FMT_NV12, \1121 AV_PIX_FMT_NV12, \
1122 AV_PIX_FMT_P010, \1122 AV_PIX_FMT_P010, \
1123 AV_PIX_FMT_P016, \1123 AV_PIX_FMT_P016, \
1124 AV_PIX_FMT_NONE }, \1124 AV_PIX_FMT_NONE }, \
1125 .hw_configs = cuvid_hw_configs, \1125 .hw_configs = cuvid_hw_configs, \
1126 .wrapper_name = "cuvid", \1126 .p.wrapper_name = "cuvid", \
1127 };1127 };
1128 1128
1129#if CONFIG_AV1_CUVID_DECODER && defined(CUVID_HAS_AV1_SUPPORT)1129#if CONFIG_AV1_CUVID_DECODER && defined(CUVID_HAS_AV1_SUPPORT)
libavcodec/cyuv.c+12−12
@@ -179,29 +179,29 @@ static int cyuv_decode_frame(AVCodecContext *avctx, · 178 unmodified lines
179}179}
180 180
181#if CONFIG_AURA_DECODER181#if CONFIG_AURA_DECODER
182const AVCodec ff_aura_decoder = {182const FFCodec ff_aura_decoder = {
183 .name = "aura",183 .p.name = "aura",
184 .long_name = NULL_IF_CONFIG_SMALL("Auravision AURA"),184 .p.long_name = NULL_IF_CONFIG_SMALL("Auravision AURA"),
185 .type = AVMEDIA_TYPE_VIDEO,185 .p.type = AVMEDIA_TYPE_VIDEO,
186 .id = AV_CODEC_ID_AURA,186 .p.id = AV_CODEC_ID_AURA,
187 .priv_data_size = sizeof(CyuvDecodeContext),187 .priv_data_size = sizeof(CyuvDecodeContext),
188 .init = cyuv_decode_init,188 .init = cyuv_decode_init,
189 .decode = cyuv_decode_frame,189 .decode = cyuv_decode_frame,
190 .capabilities = AV_CODEC_CAP_DR1,190 .p.capabilities = AV_CODEC_CAP_DR1,
191 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,191 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
192};192};
193#endif193#endif
194 194
195#if CONFIG_CYUV_DECODER195#if CONFIG_CYUV_DECODER
196const AVCodec ff_cyuv_decoder = {196const FFCodec ff_cyuv_decoder = {
197 .name = "cyuv",197 .p.name = "cyuv",
198 .long_name = NULL_IF_CONFIG_SMALL("Creative YUV (CYUV)"),198 .p.long_name = NULL_IF_CONFIG_SMALL("Creative YUV (CYUV)"),
199 .type = AVMEDIA_TYPE_VIDEO,199 .p.type = AVMEDIA_TYPE_VIDEO,
200 .id = AV_CODEC_ID_CYUV,200 .p.id = AV_CODEC_ID_CYUV,
201 .priv_data_size = sizeof(CyuvDecodeContext),201 .priv_data_size = sizeof(CyuvDecodeContext),
202 .init = cyuv_decode_init,202 .init = cyuv_decode_init,
203 .decode = cyuv_decode_frame,203 .decode = cyuv_decode_frame,
204 .capabilities = AV_CODEC_CAP_DR1,204 .p.capabilities = AV_CODEC_CAP_DR1,
205 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,205 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
206};206};
207#endif207#endif
libavcodec/dcadec.c+9−9
@@ -411,20 +411,20 @@ static const AVClass dcadec_class = { · 410 unmodified lines
411 .category = AV_CLASS_CATEGORY_DECODER,411 .category = AV_CLASS_CATEGORY_DECODER,
412};412};
413 413
414const AVCodec ff_dca_decoder = {414const FFCodec ff_dca_decoder = {
415 .name = "dca",415 .p.name = "dca",
416 .long_name = NULL_IF_CONFIG_SMALL("DCA (DTS Coherent Acoustics)"),416 .p.long_name = NULL_IF_CONFIG_SMALL("DCA (DTS Coherent Acoustics)"),
417 .type = AVMEDIA_TYPE_AUDIO,417 .p.type = AVMEDIA_TYPE_AUDIO,
418 .id = AV_CODEC_ID_DTS,418 .p.id = AV_CODEC_ID_DTS,
419 .priv_data_size = sizeof(DCAContext),419 .priv_data_size = sizeof(DCAContext),
420 .init = dcadec_init,420 .init = dcadec_init,
421 .decode = dcadec_decode_frame,421 .decode = dcadec_decode_frame,
422 .close = dcadec_close,422 .close = dcadec_close,
423 .flush = dcadec_flush,423 .flush = dcadec_flush,
424 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,424 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
425 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16P, AV_SAMPLE_FMT_S32P,425 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16P, AV_SAMPLE_FMT_S32P,
426 AV_SAMPLE_FMT_FLTP, AV_SAMPLE_FMT_NONE },426 AV_SAMPLE_FMT_FLTP, AV_SAMPLE_FMT_NONE },
427 .priv_class = &dcadec_class,427 .p.priv_class = &dcadec_class,
428 .profiles = NULL_IF_CONFIG_SMALL(ff_dca_profiles),428 .p.profiles = NULL_IF_CONFIG_SMALL(ff_dca_profiles),
429 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,429 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
430};430};
libavcodec/dcaenc.c+11−11
@@ -1240,29 +1240,29 @@ static const AVCodecDefault defaults[] = { · 1239 unmodified lines
1240 { NULL },1240 { NULL },
1241};1241};
1242 1242
1243const AVCodec ff_dca_encoder = {1243const FFCodec ff_dca_encoder = {
1244 .name = "dca",1244 .p.name = "dca",
1245 .long_name = NULL_IF_CONFIG_SMALL("DCA (DTS Coherent Acoustics)"),1245 .p.long_name = NULL_IF_CONFIG_SMALL("DCA (DTS Coherent Acoustics)"),
1246 .type = AVMEDIA_TYPE_AUDIO,1246 .p.type = AVMEDIA_TYPE_AUDIO,
1247 .id = AV_CODEC_ID_DTS,1247 .p.id = AV_CODEC_ID_DTS,
1248 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_EXPERIMENTAL,1248 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_EXPERIMENTAL,
1249 .priv_data_size = sizeof(DCAEncContext),1249 .priv_data_size = sizeof(DCAEncContext),
1250 .init = encode_init,1250 .init = encode_init,
1251 .close = encode_close,1251 .close = encode_close,
1252 .encode2 = encode_frame,1252 .encode2 = encode_frame,
1253 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,1253 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
1254 .sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S32,1254 .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S32,
1255 AV_SAMPLE_FMT_NONE },1255 AV_SAMPLE_FMT_NONE },
1256 .supported_samplerates = sample_rates,1256 .p.supported_samplerates = sample_rates,
1257#if FF_API_OLD_CHANNEL_LAYOUT1257#if FF_API_OLD_CHANNEL_LAYOUT
1258 .channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_MONO,1258 .p.channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_MONO,
1259 AV_CH_LAYOUT_STEREO,1259 AV_CH_LAYOUT_STEREO,
1260 AV_CH_LAYOUT_2_2,1260 AV_CH_LAYOUT_2_2,
1261 AV_CH_LAYOUT_5POINT0,1261 AV_CH_LAYOUT_5POINT0,
1262 AV_CH_LAYOUT_5POINT1,1262 AV_CH_LAYOUT_5POINT1,
1263 0 },1263 0 },
1264#endif1264#endif
1265 .ch_layouts = (const AVChannelLayout[]){1265 .p.ch_layouts = (const AVChannelLayout[]){
1266 AV_CHANNEL_LAYOUT_MONO,1266 AV_CHANNEL_LAYOUT_MONO,
1267 AV_CHANNEL_LAYOUT_STEREO,1267 AV_CHANNEL_LAYOUT_STEREO,
1268 AV_CHANNEL_LAYOUT_2_2,1268 AV_CHANNEL_LAYOUT_2_2,
@@ -1271,5 +1271,5 @@ const AVCodec ff_dca_encoder = { · 2 unmodified lines
1271 { 0 },1271 { 0 },
1272 },1272 },
1273 .defaults = defaults,1273 .defaults = defaults,
1274 .priv_class = &dcaenc_class,1274 .p.priv_class = &dcaenc_class,
1275};1275};
libavcodec/dds.c+6−6
@@ -749,13 +749,13 @@ static int dds_decode(AVCodecContext *avctx, void *data, · 748 unmodified lines
749 return avpkt->size;749 return avpkt->size;
750}750}
751 751
752const AVCodec ff_dds_decoder = {752const FFCodec ff_dds_decoder = {
753 .name = "dds",753 .p.name = "dds",
754 .long_name = NULL_IF_CONFIG_SMALL("DirectDraw Surface image decoder"),754 .p.long_name = NULL_IF_CONFIG_SMALL("DirectDraw Surface image decoder"),
755 .type = AVMEDIA_TYPE_VIDEO,755 .p.type = AVMEDIA_TYPE_VIDEO,
756 .id = AV_CODEC_ID_DDS,756 .p.id = AV_CODEC_ID_DDS,
757 .decode = dds_decode,757 .decode = dds_decode,
758 .priv_data_size = sizeof(DDSContext),758 .priv_data_size = sizeof(DDSContext),
759 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SLICE_THREADS,759 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SLICE_THREADS,
760 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE760 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE
761};761};
libavcodec/decode.c+20−17
@@ -188,14 +188,15 @@ static int extract_packet_props(AVCodecInternal *avci, const AVPacket *pkt) · 187 unmodified lines
188static int decode_bsfs_init(AVCodecContext *avctx)188static int decode_bsfs_init(AVCodecContext *avctx)
189{189{
190 AVCodecInternal *avci = avctx->internal;190 AVCodecInternal *avci = avctx->internal;
191 const FFCodec *const codec = ffcodec(avctx->codec);
191 int ret;192 int ret;
192 193
193 if (avci->bsf)194 if (avci->bsf)
194 return 0;195 return 0;
195 196
196 ret = av_bsf_list_parse_str(avctx->codec->bsfs, &avci->bsf);197 ret = av_bsf_list_parse_str(codec->bsfs, &avci->bsf);
197 if (ret < 0) {198 if (ret < 0) {
198 av_log(avctx, AV_LOG_ERROR, "Error parsing decoder bitstream filters '%s': %s\n", avctx->codec->bsfs, av_err2str(ret));199 av_log(avctx, AV_LOG_ERROR, "Error parsing decoder bitstream filters '%s': %s\n", codec->bsfs, av_err2str(ret));
199 if (ret != AVERROR(ENOMEM))200 if (ret != AVERROR(ENOMEM))
200 ret = AVERROR_BUG;201 ret = AVERROR_BUG;
201 goto fail;202 goto fail;
@@ -233,7 +234,7 @@ int ff_decode_get_packet(AVCodecContext *avctx, AVPacket *pkt) · 31 unmodified lines
233 if (ret < 0)234 if (ret < 0)
234 return ret;235 return ret;
235 236
236 if (!(avctx->codec->caps_internal & FF_CODEC_CAP_SETS_FRAME_PROPS)) {237 if (!(ffcodec(avctx->codec)->caps_internal & FF_CODEC_CAP_SETS_FRAME_PROPS)) {
237 ret = extract_packet_props(avctx->internal, pkt);238 ret = extract_packet_props(avctx->internal, pkt);
238 if (ret < 0)239 if (ret < 0)
239 goto finish;240 goto finish;
@@ -295,6 +296,7 @@ static inline int decode_simple_internal(AVCodecContext *avctx, AVFrame *frame, · 55 unmodified lines
295{296{
296 AVCodecInternal *avci = avctx->internal;297 AVCodecInternal *avci = avctx->internal;
297 AVPacket *const pkt = avci->in_pkt;298 AVPacket *const pkt = avci->in_pkt;
299 const FFCodec *const codec = ffcodec(avctx->codec);
298 int got_frame, actual_got_frame;300 int got_frame, actual_got_frame;
299 int ret;301 int ret;
300 302
@@ -320,9 +322,9 @@ static inline int decode_simple_internal(AVCodecContext *avctx, AVFrame *frame, · 19 unmodified lines
320 if (HAVE_THREADS && avctx->active_thread_type & FF_THREAD_FRAME) {322 if (HAVE_THREADS && avctx->active_thread_type & FF_THREAD_FRAME) {
321 ret = ff_thread_decode_frame(avctx, frame, &got_frame, pkt);323 ret = ff_thread_decode_frame(avctx, frame, &got_frame, pkt);
322 } else {324 } else {
323 ret = avctx->codec->decode(avctx, frame, &got_frame, pkt);325 ret = codec->decode(avctx, frame, &got_frame, pkt);
324 326
325 if (!(avctx->codec->caps_internal & FF_CODEC_CAP_SETS_PKT_DTS))327 if (!(codec->caps_internal & FF_CODEC_CAP_SETS_PKT_DTS))
326 frame->pkt_dts = pkt->dts;328 frame->pkt_dts = pkt->dts;
327 if (avctx->codec->type == AVMEDIA_TYPE_VIDEO) {329 if (avctx->codec->type == AVMEDIA_TYPE_VIDEO) {
328 if(!avctx->has_b_frames)330 if(!avctx->has_b_frames)
@@ -507,7 +509,7 @@ FF_ENABLE_DEPRECATION_WARNINGS · 178 unmodified lines
507 pkt->size -= consumed;509 pkt->size -= consumed;
508 pkt->pts = AV_NOPTS_VALUE;510 pkt->pts = AV_NOPTS_VALUE;
509 pkt->dts = AV_NOPTS_VALUE;511 pkt->dts = AV_NOPTS_VALUE;
510 if (!(avctx->codec->caps_internal & FF_CODEC_CAP_SETS_FRAME_PROPS)) {512 if (!(codec->caps_internal & FF_CODEC_CAP_SETS_FRAME_PROPS)) {
511 avci->last_pkt_props->size -= consumed; // See extract_packet_props() comment.513 avci->last_pkt_props->size -= consumed; // See extract_packet_props() comment.
512 avci->last_pkt_props->pts = AV_NOPTS_VALUE;514 avci->last_pkt_props->pts = AV_NOPTS_VALUE;
513 avci->last_pkt_props->dts = AV_NOPTS_VALUE;515 avci->last_pkt_props->dts = AV_NOPTS_VALUE;
@@ -539,12 +541,13 @@ static int decode_simple_receive_frame(AVCodecContext *avctx, AVFrame *frame) · 25 unmodified lines
539static int decode_receive_frame_internal(AVCodecContext *avctx, AVFrame *frame)541static int decode_receive_frame_internal(AVCodecContext *avctx, AVFrame *frame)
540{542{
541 AVCodecInternal *avci = avctx->internal;543 AVCodecInternal *avci = avctx->internal;
544 const FFCodec *const codec = ffcodec(avctx->codec);
542 int ret;545 int ret;
543 546
544 av_assert0(!frame->buf[0]);547 av_assert0(!frame->buf[0]);
545 548
546 if (avctx->codec->receive_frame) {549 if (codec->receive_frame) {
547 ret = avctx->codec->receive_frame(avctx, frame);550 ret = codec->receive_frame(avctx, frame);
548 if (ret != AVERROR(EAGAIN))551 if (ret != AVERROR(EAGAIN))
549 av_packet_unref(avci->last_pkt_props);552 av_packet_unref(avci->last_pkt_props);
550 } else553 } else
@@ -553,7 +556,7 @@ static int decode_receive_frame_internal(AVCodecContext *avctx, AVFrame *frame) · 2 unmodified lines
553 if (ret == AVERROR_EOF)556 if (ret == AVERROR_EOF)
554 avci->draining_done = 1;557 avci->draining_done = 1;
555 558
556 if (!(avctx->codec->caps_internal & FF_CODEC_CAP_SETS_FRAME_PROPS) &&559 if (!(codec->caps_internal & FF_CODEC_CAP_SETS_FRAME_PROPS) &&
557 IS_EMPTY(avci->last_pkt_props)) {560 IS_EMPTY(avci->last_pkt_props)) {
558 // May fail if the FIFO is empty.561 // May fail if the FIFO is empty.
559 av_fifo_read(avci->pkt_props, avci->last_pkt_props, 1);562 av_fifo_read(avci->pkt_props, avci->last_pkt_props, 1);
@@ -859,7 +862,7 @@ int avcodec_decode_subtitle2(AVCodecContext *avctx, AVSubtitle *sub, · 299 unmodified lines
859 if (avctx->pkt_timebase.num && avpkt->pts != AV_NOPTS_VALUE)862 if (avctx->pkt_timebase.num && avpkt->pts != AV_NOPTS_VALUE)
860 sub->pts = av_rescale_q(avpkt->pts,863 sub->pts = av_rescale_q(avpkt->pts,
861 avctx->pkt_timebase, AV_TIME_BASE_Q);864 avctx->pkt_timebase, AV_TIME_BASE_Q);
862 ret = avctx->codec->decode(avctx, sub, got_sub_ptr, pkt);865 ret = ffcodec(avctx->codec)->decode(avctx, sub, got_sub_ptr, pkt);
863 if (pkt == avci->buffer_pkt) // did we recode?866 if (pkt == avci->buffer_pkt) // did we recode?
864 av_packet_unref(avci->buffer_pkt);867 av_packet_unref(avci->buffer_pkt);
865 if (ret < 0) {868 if (ret < 0) {
@@ -909,11 +912,11 @@ enum AVPixelFormat avcodec_default_get_format(struct AVCodecContext *avctx, · 43 unmodified lines
909 912
910 // If a device was supplied when the codec was opened, assume that the913 // If a device was supplied when the codec was opened, assume that the
911 // user wants to use it.914 // user wants to use it.
912 if (avctx->hw_device_ctx && avctx->codec->hw_configs) {915 if (avctx->hw_device_ctx && ffcodec(avctx->codec)->hw_configs) {
913 AVHWDeviceContext *device_ctx =916 AVHWDeviceContext *device_ctx =
914 (AVHWDeviceContext*)avctx->hw_device_ctx->data;917 (AVHWDeviceContext*)avctx->hw_device_ctx->data;
915 for (i = 0;; i++) {918 for (i = 0;; i++) {
916 config = &avctx->codec->hw_configs[i]->public;919 config = &ffcodec(avctx->codec)->hw_configs[i]->public;
917 if (!config)920 if (!config)
918 break;921 break;
919 if (!(config->methods &922 if (!(config->methods &
@@ -1025,7 +1028,7 @@ int avcodec_get_hw_frames_parameters(AVCodecContext *avctx, · 105 unmodified lines
1025 int i, ret;1028 int i, ret;
1026 1029
1027 for (i = 0;; i++) {1030 for (i = 0;; i++) {
1028 hw_config = avctx->codec->hw_configs[i];1031 hw_config = ffcodec(avctx->codec)->hw_configs[i];
1029 if (!hw_config)1032 if (!hw_config)
1030 return AVERROR(ENOENT);1033 return AVERROR(ENOENT);
1031 if (hw_config->public.pix_fmt == hw_pix_fmt)1034 if (hw_config->public.pix_fmt == hw_pix_fmt)
@@ -1169,9 +1172,9 @@ int ff_get_format(AVCodecContext *avctx, const enum AVPixelFormat *fmt) · 137 unmodified lines
1169 break;1172 break;
1170 }1173 }
1171 1174
1172 if (avctx->codec->hw_configs) {1175 if (ffcodec(avctx->codec)->hw_configs) {
1173 for (i = 0;; i++) {1176 for (i = 0;; i++) {
1174 hw_config = avctx->codec->hw_configs[i];1177 hw_config = ffcodec(avctx->codec)->hw_configs[i];
1175 if (!hw_config)1178 if (!hw_config)
1176 break;1179 break;
1177 if (hw_config->public.pix_fmt == user_choice)1180 if (hw_config->public.pix_fmt == user_choice)
@@ -1538,7 +1541,7 @@ int ff_decode_frame_props(AVCodecContext *avctx, AVFrame *frame) · 360 unmodified lines
1538 { AV_PKT_DATA_DYNAMIC_HDR10_PLUS, AV_FRAME_DATA_DYNAMIC_HDR_PLUS },1541 { AV_PKT_DATA_DYNAMIC_HDR10_PLUS, AV_FRAME_DATA_DYNAMIC_HDR_PLUS },
1539 };1542 };
1540 1543
1541 if (!(avctx->codec->caps_internal & FF_CODEC_CAP_SETS_FRAME_PROPS)) {1544 if (!(ffcodec(avctx->codec)->caps_internal & FF_CODEC_CAP_SETS_FRAME_PROPS)) {
1542 frame->pts = pkt->pts;1545 frame->pts = pkt->pts;
1543 frame->pkt_pos = pkt->pos;1546 frame->pkt_pos = pkt->pos;
1544 frame->pkt_duration = pkt->duration;1547 frame->pkt_duration = pkt->duration;
@@ -1739,7 +1742,7 @@ FF_ENABLE_DEPRECATION_WARNINGS · 194 unmodified lines
1739 1742
1740end:1743end:
1741 if (avctx->codec_type == AVMEDIA_TYPE_VIDEO && !override_dimensions &&1744 if (avctx->codec_type == AVMEDIA_TYPE_VIDEO && !override_dimensions &&
1742 !(avctx->codec->caps_internal & FF_CODEC_CAP_EXPORTS_CROPPING)) {1745 !(ffcodec(avctx->codec)->caps_internal & FF_CODEC_CAP_EXPORTS_CROPPING)) {
1743 frame->width = avctx->width;1746 frame->width = avctx->width;
1744 frame->height = avctx->height;1747 frame->height = avctx->height;
1745 }1748 }
libavcodec/decode.h+1−1
@@ -90,7 +90,7 @@ int ff_copy_palette(void *dst, const AVPacket *src, void *logctx); · 89 unmodified lines
90 90
91/**91/**
92 * Perform decoder initialization and validation.92 * Perform decoder initialization and validation.
93 * Called when opening the decoder, before the AVCodec.init() call.93 * Called when opening the decoder, before the FFCodec.init() call.
94 */94 */
95int ff_decode_preinit(AVCodecContext *avctx);95int ff_decode_preinit(AVCodecContext *avctx);
96 96
libavcodec/dfa.c+6−6
@@ -423,15 +423,15 @@ static av_cold int dfa_decode_end(AVCodecContext *avctx) · 422 unmodified lines
423 return 0;423 return 0;
424}424}
425 425
426const AVCodec ff_dfa_decoder = {426const FFCodec ff_dfa_decoder = {
427 .name = "dfa",427 .p.name = "dfa",
428 .long_name = NULL_IF_CONFIG_SMALL("Chronomaster DFA"),428 .p.long_name = NULL_IF_CONFIG_SMALL("Chronomaster DFA"),
429 .type = AVMEDIA_TYPE_VIDEO,429 .p.type = AVMEDIA_TYPE_VIDEO,
430 .id = AV_CODEC_ID_DFA,430 .p.id = AV_CODEC_ID_DFA,
431 .priv_data_size = sizeof(DfaContext),431 .priv_data_size = sizeof(DfaContext),
432 .init = dfa_decode_init,432 .init = dfa_decode_init,
433 .close = dfa_decode_end,433 .close = dfa_decode_end,
434 .decode = dfa_decode_frame,434 .decode = dfa_decode_frame,
435 .capabilities = AV_CODEC_CAP_DR1,435 .p.capabilities = AV_CODEC_CAP_DR1,
436 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,436 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
437};437};
libavcodec/dfpwmdec.c+6−6
@@ -125,14 +125,14 @@ static int dfpwm_dec_frame(struct AVCodecContext *ctx, void *data, · 124 unmodified lines
125 return packet->size;125 return packet->size;
126}126}
127 127
128const AVCodec ff_dfpwm_decoder = {128const FFCodec ff_dfpwm_decoder = {
129 .name = "dfpwm",129 .p.name = "dfpwm",
130 .long_name = NULL_IF_CONFIG_SMALL("DFPWM1a audio"),130 .p.long_name = NULL_IF_CONFIG_SMALL("DFPWM1a audio"),
131 .type = AVMEDIA_TYPE_AUDIO,131 .p.type = AVMEDIA_TYPE_AUDIO,
132 .id = AV_CODEC_ID_DFPWM,132 .p.id = AV_CODEC_ID_DFPWM,
133 .priv_data_size = sizeof(DFPWMState),133 .priv_data_size = sizeof(DFPWMState),
134 .init = dfpwm_dec_init,134 .init = dfpwm_dec_init,
135 .decode = dfpwm_dec_frame,135 .decode = dfpwm_dec_frame,
136 .capabilities = AV_CODEC_CAP_DR1,136 .p.capabilities = AV_CODEC_CAP_DR1,
137 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,137 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
138};138};
libavcodec/dfpwmenc.c+7−7
@@ -107,15 +107,15 @@ static int dfpwm_enc_frame(struct AVCodecContext *ctx, struct AVPacket *packet, · 106 unmodified lines
107 return 0;107 return 0;
108}108}
109 109
110const AVCodec ff_dfpwm_encoder = {110const FFCodec ff_dfpwm_encoder = {
111 .name = "dfpwm",111 .p.name = "dfpwm",
112 .long_name = NULL_IF_CONFIG_SMALL("DFPWM1a audio"),112 .p.long_name = NULL_IF_CONFIG_SMALL("DFPWM1a audio"),
113 .type = AVMEDIA_TYPE_AUDIO,113 .p.type = AVMEDIA_TYPE_AUDIO,
114 .id = AV_CODEC_ID_DFPWM,114 .p.id = AV_CODEC_ID_DFPWM,
115 .priv_data_size = sizeof(DFPWMState),115 .priv_data_size = sizeof(DFPWMState),
116 .init = dfpwm_enc_init,116 .init = dfpwm_enc_init,
117 .encode2 = dfpwm_enc_frame,117 .encode2 = dfpwm_enc_frame,
118 .sample_fmts = (const enum AVSampleFormat[]){AV_SAMPLE_FMT_U8, AV_SAMPLE_FMT_NONE},118 .p.sample_fmts = (const enum AVSampleFormat[]){AV_SAMPLE_FMT_U8, AV_SAMPLE_FMT_NONE},
119 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_VARIABLE_FRAME_SIZE,119 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_VARIABLE_FRAME_SIZE,
120 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,120 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
121};121};
libavcodec/diracdec.c+6−6
@@ -2356,16 +2356,16 @@ static int dirac_decode_frame(AVCodecContext *avctx, void *data, int *got_frame, · 2355 unmodified lines
2356 return buf_idx;2356 return buf_idx;
2357}2357}
2358 2358
2359const AVCodec ff_dirac_decoder = {2359const FFCodec ff_dirac_decoder = {
2360 .name = "dirac",2360 .p.name = "dirac",
2361 .long_name = NULL_IF_CONFIG_SMALL("BBC Dirac VC-2"),2361 .p.long_name = NULL_IF_CONFIG_SMALL("BBC Dirac VC-2"),
2362 .type = AVMEDIA_TYPE_VIDEO,2362 .p.type = AVMEDIA_TYPE_VIDEO,
2363 .id = AV_CODEC_ID_DIRAC,2363 .p.id = AV_CODEC_ID_DIRAC,
2364 .priv_data_size = sizeof(DiracContext),2364 .priv_data_size = sizeof(DiracContext),
2365 .init = dirac_decode_init,2365 .init = dirac_decode_init,
2366 .close = dirac_decode_end,2366 .close = dirac_decode_end,
2367 .decode = dirac_decode_frame,2367 .decode = dirac_decode_frame,
2368 .capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_SLICE_THREADS | AV_CODEC_CAP_DR1,2368 .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_SLICE_THREADS | AV_CODEC_CAP_DR1,
2369 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,2369 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
2370 .flush = dirac_decode_flush,2370 .flush = dirac_decode_flush,
2371};2371};
libavcodec/dnxhddec.c+7−7
@@ -725,17 +725,17 @@ static av_cold int dnxhd_decode_close(AVCodecContext *avctx) · 724 unmodified lines
725 return 0;725 return 0;
726}726}
727 727
728const AVCodec ff_dnxhd_decoder = {728const FFCodec ff_dnxhd_decoder = {
729 .name = "dnxhd",729 .p.name = "dnxhd",
730 .long_name = NULL_IF_CONFIG_SMALL("VC3/DNxHD"),730 .p.long_name = NULL_IF_CONFIG_SMALL("VC3/DNxHD"),
731 .type = AVMEDIA_TYPE_VIDEO,731 .p.type = AVMEDIA_TYPE_VIDEO,
732 .id = AV_CODEC_ID_DNXHD,732 .p.id = AV_CODEC_ID_DNXHD,
733 .priv_data_size = sizeof(DNXHDContext),733 .priv_data_size = sizeof(DNXHDContext),
734 .init = dnxhd_decode_init,734 .init = dnxhd_decode_init,
735 .close = dnxhd_decode_close,735 .close = dnxhd_decode_close,
736 .decode = dnxhd_decode_frame,736 .decode = dnxhd_decode_frame,
737 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS |737 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS |
738 AV_CODEC_CAP_SLICE_THREADS,738 AV_CODEC_CAP_SLICE_THREADS,
739 .profiles = NULL_IF_CONFIG_SMALL(ff_dnxhd_profiles),739 .p.profiles = NULL_IF_CONFIG_SMALL(ff_dnxhd_profiles),
740 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,740 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
741};741};
libavcodec/dnxhdenc.c+9−9
@@ -1352,26 +1352,26 @@ static const AVCodecDefault dnxhd_defaults[] = { · 1351 unmodified lines
1352 { NULL },1352 { NULL },
1353};1353};
1354 1354
1355const AVCodec ff_dnxhd_encoder = {1355const FFCodec ff_dnxhd_encoder = {
1356 .name = "dnxhd",1356 .p.name = "dnxhd",
1357 .long_name = NULL_IF_CONFIG_SMALL("VC3/DNxHD"),1357 .p.long_name = NULL_IF_CONFIG_SMALL("VC3/DNxHD"),
1358 .type = AVMEDIA_TYPE_VIDEO,1358 .p.type = AVMEDIA_TYPE_VIDEO,
1359 .id = AV_CODEC_ID_DNXHD,1359 .p.id = AV_CODEC_ID_DNXHD,
1360 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS |1360 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS |
1361 AV_CODEC_CAP_SLICE_THREADS,1361 AV_CODEC_CAP_SLICE_THREADS,
1362 .priv_data_size = sizeof(DNXHDEncContext),1362 .priv_data_size = sizeof(DNXHDEncContext),
1363 .init = dnxhd_encode_init,1363 .init = dnxhd_encode_init,
1364 .encode2 = dnxhd_encode_picture,1364 .encode2 = dnxhd_encode_picture,
1365 .close = dnxhd_encode_end,1365 .close = dnxhd_encode_end,
1366 .pix_fmts = (const enum AVPixelFormat[]) {1366 .p.pix_fmts = (const enum AVPixelFormat[]) {
1367 AV_PIX_FMT_YUV422P,1367 AV_PIX_FMT_YUV422P,
1368 AV_PIX_FMT_YUV422P10,1368 AV_PIX_FMT_YUV422P10,
1369 AV_PIX_FMT_YUV444P10,1369 AV_PIX_FMT_YUV444P10,
1370 AV_PIX_FMT_GBRP10,1370 AV_PIX_FMT_GBRP10,
1371 AV_PIX_FMT_NONE1371 AV_PIX_FMT_NONE
1372 },1372 },
1373 .priv_class = &dnxhd_class,1373 .p.priv_class = &dnxhd_class,
1374 .defaults = dnxhd_defaults,1374 .defaults = dnxhd_defaults,
1375 .profiles = NULL_IF_CONFIG_SMALL(ff_dnxhd_profiles),1375 .p.profiles = NULL_IF_CONFIG_SMALL(ff_dnxhd_profiles),
1376 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,1376 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
1377};1377};
libavcodec/dolby_e.c+8−8
@@ -1297,18 +1297,18 @@ static const AVClass dolby_e_decoder_class = { · 1296 unmodified lines
1297 .version = LIBAVUTIL_VERSION_INT,1297 .version = LIBAVUTIL_VERSION_INT,
1298};1298};
1299 1299
1300const AVCodec ff_dolby_e_decoder = {1300const FFCodec ff_dolby_e_decoder = {
1301 .name = "dolby_e",1301 .p.name = "dolby_e",
1302 .long_name = NULL_IF_CONFIG_SMALL("Dolby E"),1302 .p.long_name = NULL_IF_CONFIG_SMALL("Dolby E"),
1303 .type = AVMEDIA_TYPE_AUDIO,1303 .p.type = AVMEDIA_TYPE_AUDIO,
1304 .id = AV_CODEC_ID_DOLBY_E,1304 .p.id = AV_CODEC_ID_DOLBY_E,
1305 .priv_data_size = sizeof(DBEDecodeContext),1305 .priv_data_size = sizeof(DBEDecodeContext),
1306 .priv_class = &dolby_e_decoder_class,1306 .p.priv_class = &dolby_e_decoder_class,
1307 .init = dolby_e_init,1307 .init = dolby_e_init,
1308 .decode = dolby_e_decode_frame,1308 .decode = dolby_e_decode_frame,
1309 .close = dolby_e_close,1309 .close = dolby_e_close,
1310 .flush = dolby_e_flush,1310 .flush = dolby_e_flush,
1311 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,1311 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
1312 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP, AV_SAMPLE_FMT_NONE },1312 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP, AV_SAMPLE_FMT_NONE },
1313 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,1313 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
1314};1314};
libavcodec/dpcm.c+6−6
@@ -411,15 +411,15 @@ static int dpcm_decode_frame(AVCodecContext *avctx, void *data, · 410 unmodified lines
411}411}
412 412
413#define DPCM_DECODER(id_, name_, long_name_) \413#define DPCM_DECODER(id_, name_, long_name_) \
414const AVCodec ff_ ## name_ ## _decoder = { \414const FFCodec ff_ ## name_ ## _decoder = { \
415 .name = #name_, \415 .p.name = #name_, \
416 .long_name = NULL_IF_CONFIG_SMALL(long_name_), \416 .p.long_name = NULL_IF_CONFIG_SMALL(long_name_), \
417 .type = AVMEDIA_TYPE_AUDIO, \417 .p.type = AVMEDIA_TYPE_AUDIO, \
418 .id = id_, \418 .p.id = id_, \
419 .p.capabilities = AV_CODEC_CAP_DR1, \
419 .priv_data_size = sizeof(DPCMContext), \420 .priv_data_size = sizeof(DPCMContext), \
420 .init = dpcm_decode_init, \421 .init = dpcm_decode_init, \
421 .decode = dpcm_decode_frame, \422 .decode = dpcm_decode_frame, \
422 .capabilities = AV_CODEC_CAP_DR1, \
423 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE, \423 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE, \
424}424}
425 425
libavcodec/dpx.c+7−6
@@ -26,6 +26,7 @@ · 25 unmodified lines
26#include "libavutil/timecode.h"26#include "libavutil/timecode.h"
27#include "bytestream.h"27#include "bytestream.h"
28#include "avcodec.h"28#include "avcodec.h"
29#include "codec_internal.h"
29#include "internal.h"30#include "internal.h"
30 31
31enum DPX_TRC {32enum DPX_TRC {
@@ -762,11 +763,11 @@ static int decode_frame(AVCodecContext *avctx, · 730 unmodified lines
762 return buf_size;763 return buf_size;
763}764}
764 765
765const AVCodec ff_dpx_decoder = {766const FFCodec ff_dpx_decoder = {
766 .name = "dpx",767 .p.name = "dpx",
767 .long_name = NULL_IF_CONFIG_SMALL("DPX (Digital Picture Exchange) image"),768 .p.long_name = NULL_IF_CONFIG_SMALL("DPX (Digital Picture Exchange) image"),
768 .type = AVMEDIA_TYPE_VIDEO,769 .p.type = AVMEDIA_TYPE_VIDEO,
769 .id = AV_CODEC_ID_DPX,770 .p.id = AV_CODEC_ID_DPX,
770 .decode = decode_frame,771 .decode = decode_frame,
771 .capabilities = AV_CODEC_CAP_DR1,772 .p.capabilities = AV_CODEC_CAP_DR1,
772};773};
libavcodec/dpxenc.c+7−7
@@ -274,16 +274,16 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt, · 273 unmodified lines
274 return 0;274 return 0;
275}275}
276 276
277const AVCodec ff_dpx_encoder = {277const FFCodec ff_dpx_encoder = {
278 .name = "dpx",278 .p.name = "dpx",
279 .long_name = NULL_IF_CONFIG_SMALL("DPX (Digital Picture Exchange) image"),279 .p.long_name = NULL_IF_CONFIG_SMALL("DPX (Digital Picture Exchange) image"),
280 .type = AVMEDIA_TYPE_VIDEO,280 .p.type = AVMEDIA_TYPE_VIDEO,
281 .id = AV_CODEC_ID_DPX,281 .p.id = AV_CODEC_ID_DPX,
282 .capabilities = AV_CODEC_CAP_DR1,282 .p.capabilities = AV_CODEC_CAP_DR1,
283 .priv_data_size = sizeof(DPXContext),283 .priv_data_size = sizeof(DPXContext),
284 .init = encode_init,284 .init = encode_init,
285 .encode2 = encode_frame,285 .encode2 = encode_frame,
286 .pix_fmts = (const enum AVPixelFormat[]){286 .p.pix_fmts = (const enum AVPixelFormat[]){
287 AV_PIX_FMT_GRAY8,287 AV_PIX_FMT_GRAY8,
288 AV_PIX_FMT_RGB24, AV_PIX_FMT_RGBA, AV_PIX_FMT_ABGR,288 AV_PIX_FMT_RGB24, AV_PIX_FMT_RGBA, AV_PIX_FMT_ABGR,
289 AV_PIX_FMT_GRAY16LE, AV_PIX_FMT_GRAY16BE,289 AV_PIX_FMT_GRAY16LE, AV_PIX_FMT_GRAY16BE,
libavcodec/dsddec.c+7−7
@@ -116,15 +116,15 @@ static int decode_frame(AVCodecContext *avctx, void *data, · 115 unmodified lines
116}116}
117 117
118#define DSD_DECODER(id_, name_, long_name_) \118#define DSD_DECODER(id_, name_, long_name_) \
119const AVCodec ff_ ## name_ ## _decoder = { \119const FFCodec ff_ ## name_ ## _decoder = { \
120 .name = #name_, \120 .p.name = #name_, \
121 .long_name = NULL_IF_CONFIG_SMALL(long_name_), \121 .p.long_name = NULL_IF_CONFIG_SMALL(long_name_), \
122 .type = AVMEDIA_TYPE_AUDIO, \122 .p.type = AVMEDIA_TYPE_AUDIO, \
123 .id = AV_CODEC_ID_##id_, \123 .p.id = AV_CODEC_ID_##id_, \
124 .init = decode_init, \124 .init = decode_init, \
125 .decode = decode_frame, \125 .decode = decode_frame, \
126 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SLICE_THREADS, \126 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SLICE_THREADS, \
127 .sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_FLTP, \127 .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_FLTP, \
128 AV_SAMPLE_FMT_NONE }, \128 AV_SAMPLE_FMT_NONE }, \
129 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE, \129 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE, \
130};130};
libavcodec/dsicinaudio.c+6−6
@@ -122,14 +122,14 @@ static int cinaudio_decode_frame(AVCodecContext *avctx, void *data, · 121 unmodified lines
122 return avpkt->size;122 return avpkt->size;
123}123}
124 124
125const AVCodec ff_dsicinaudio_decoder = {125const FFCodec ff_dsicinaudio_decoder = {
126 .name = "dsicinaudio",126 .p.name = "dsicinaudio",
127 .long_name = NULL_IF_CONFIG_SMALL("Delphine Software International CIN audio"),127 .p.long_name = NULL_IF_CONFIG_SMALL("Delphine Software International CIN audio"),
128 .type = AVMEDIA_TYPE_AUDIO,128 .p.type = AVMEDIA_TYPE_AUDIO,
129 .id = AV_CODEC_ID_DSICINAUDIO,129 .p.id = AV_CODEC_ID_DSICINAUDIO,
130 .priv_data_size = sizeof(CinAudioContext),130 .priv_data_size = sizeof(CinAudioContext),
131 .init = cinaudio_decode_init,131 .init = cinaudio_decode_init,
132 .decode = cinaudio_decode_frame,132 .decode = cinaudio_decode_frame,
133 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,133 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
134 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,134 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
135};135};
libavcodec/dsicinvideo.c+6−6
@@ -322,15 +322,15 @@ static av_cold int cinvideo_decode_end(AVCodecContext *avctx) · 321 unmodified lines
322 return 0;322 return 0;
323}323}
324 324
325const AVCodec ff_dsicinvideo_decoder = {325const FFCodec ff_dsicinvideo_decoder = {
326 .name = "dsicinvideo",326 .p.name = "dsicinvideo",
327 .long_name = NULL_IF_CONFIG_SMALL("Delphine Software International CIN video"),327 .p.long_name = NULL_IF_CONFIG_SMALL("Delphine Software International CIN video"),
328 .type = AVMEDIA_TYPE_VIDEO,328 .p.type = AVMEDIA_TYPE_VIDEO,
329 .id = AV_CODEC_ID_DSICINVIDEO,329 .p.id = AV_CODEC_ID_DSICINVIDEO,
330 .priv_data_size = sizeof(CinVideoContext),330 .priv_data_size = sizeof(CinVideoContext),
331 .init = cinvideo_decode_init,331 .init = cinvideo_decode_init,
332 .close = cinvideo_decode_end,332 .close = cinvideo_decode_end,
333 .decode = cinvideo_decode_frame,333 .decode = cinvideo_decode_frame,
334 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,334 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
335 .capabilities = AV_CODEC_CAP_DR1,335 .p.capabilities = AV_CODEC_CAP_DR1,
336};336};
libavcodec/dss_sp.c+6−6
@@ -773,14 +773,14 @@ static int dss_sp_decode_frame(AVCodecContext *avctx, void *data, · 772 unmodified lines
773 return DSS_SP_FRAME_SIZE;773 return DSS_SP_FRAME_SIZE;
774}774}
775 775
776const AVCodec ff_dss_sp_decoder = {776const FFCodec ff_dss_sp_decoder = {
777 .name = "dss_sp",777 .p.name = "dss_sp",
778 .long_name = NULL_IF_CONFIG_SMALL("Digital Speech Standard - Standard Play mode (DSS SP)"),778 .p.long_name = NULL_IF_CONFIG_SMALL("Digital Speech Standard - Standard Play mode (DSS SP)"),
779 .type = AVMEDIA_TYPE_AUDIO,779 .p.type = AVMEDIA_TYPE_AUDIO,
780 .id = AV_CODEC_ID_DSS_SP,780 .p.id = AV_CODEC_ID_DSS_SP,
781 .priv_data_size = sizeof(DssSpContext),781 .priv_data_size = sizeof(DssSpContext),
782 .init = dss_sp_decode_init,782 .init = dss_sp_decode_init,
783 .decode = dss_sp_decode_frame,783 .decode = dss_sp_decode_frame,
784 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,784 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
785 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,785 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
786};786};
libavcodec/dstdec.c+7−7
@@ -379,16 +379,16 @@ dsd: · 378 unmodified lines
379 return avpkt->size;379 return avpkt->size;
380}380}
381 381
382const AVCodec ff_dst_decoder = {382const FFCodec ff_dst_decoder = {
383 .name = "dst",383 .p.name = "dst",
384 .long_name = NULL_IF_CONFIG_SMALL("DST (Digital Stream Transfer)"),384 .p.long_name = NULL_IF_CONFIG_SMALL("DST (Digital Stream Transfer)"),
385 .type = AVMEDIA_TYPE_AUDIO,385 .p.type = AVMEDIA_TYPE_AUDIO,
386 .id = AV_CODEC_ID_DST,386 .p.id = AV_CODEC_ID_DST,
387 .priv_data_size = sizeof(DSTContext),387 .priv_data_size = sizeof(DSTContext),
388 .init = decode_init,388 .init = decode_init,
389 .decode = decode_frame,389 .decode = decode_frame,
390 .capabilities = AV_CODEC_CAP_DR1,390 .p.capabilities = AV_CODEC_CAP_DR1,
391 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLT,391 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLT,
392 AV_SAMPLE_FMT_NONE },392 AV_SAMPLE_FMT_NONE },
393 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,393 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
394};394};
libavcodec/dvaudiodec.c+6−6
@@ -119,14 +119,14 @@ static int decode_frame(AVCodecContext *avctx, void *data, · 118 unmodified lines
119 return s->block_size;119 return s->block_size;
120}120}
121 121
122const AVCodec ff_dvaudio_decoder = {122const FFCodec ff_dvaudio_decoder = {
123 .name = "dvaudio",123 .p.name = "dvaudio",
124 .long_name = NULL_IF_CONFIG_SMALL("Ulead DV Audio"),124 .p.long_name = NULL_IF_CONFIG_SMALL("Ulead DV Audio"),
125 .type = AVMEDIA_TYPE_AUDIO,125 .p.type = AVMEDIA_TYPE_AUDIO,
126 .id = AV_CODEC_ID_DVAUDIO,126 .p.id = AV_CODEC_ID_DVAUDIO,
127 .init = decode_init,127 .init = decode_init,
128 .decode = decode_frame,128 .decode = decode_frame,
129 .capabilities = AV_CODEC_CAP_DR1,129 .p.capabilities = AV_CODEC_CAP_DR1,
130 .priv_data_size = sizeof(DVAudioContext),130 .priv_data_size = sizeof(DVAudioContext),
131 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,131 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
132};132};
libavcodec/dvbsubdec.c+6−6
@@ -1740,15 +1740,15 @@ static const AVClass dvbsubdec_class = { · 1739 unmodified lines
1740 .version = LIBAVUTIL_VERSION_INT,1740 .version = LIBAVUTIL_VERSION_INT,
1741};1741};
1742 1742
1743const AVCodec ff_dvbsub_decoder = {1743const FFCodec ff_dvbsub_decoder = {
1744 .name = "dvbsub",1744 .p.name = "dvbsub",
1745 .long_name = NULL_IF_CONFIG_SMALL("DVB subtitles"),1745 .p.long_name = NULL_IF_CONFIG_SMALL("DVB subtitles"),
1746 .type = AVMEDIA_TYPE_SUBTITLE,1746 .p.type = AVMEDIA_TYPE_SUBTITLE,
1747 .id = AV_CODEC_ID_DVB_SUBTITLE,1747 .p.id = AV_CODEC_ID_DVB_SUBTITLE,
1748 .priv_data_size = sizeof(DVBSubContext),1748 .priv_data_size = sizeof(DVBSubContext),
1749 .init = dvbsub_init_decoder,1749 .init = dvbsub_init_decoder,
1750 .close = dvbsub_close_decoder,1750 .close = dvbsub_close_decoder,
1751 .decode = dvbsub_decode,1751 .decode = dvbsub_decode,
1752 .priv_class = &dvbsubdec_class,1752 .p.priv_class = &dvbsubdec_class,
1753 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,1753 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
1754};1754};
libavcodec/dvbsubenc.c+6−5
@@ -20,6 +20,7 @@ · 19 unmodified lines
20 */20 */
21#include "avcodec.h"21#include "avcodec.h"
22#include "bytestream.h"22#include "bytestream.h"
23#include "codec_internal.h"
23#include "libavutil/colorspace.h"24#include "libavutil/colorspace.h"
24 25
25typedef struct DVBSubtitleContext {26typedef struct DVBSubtitleContext {
@@ -505,11 +506,11 @@ static int dvbsub_encode(AVCodecContext *avctx, uint8_t *outbuf, int buf_size, · 479 unmodified lines
505 return q - outbuf;506 return q - outbuf;
506}507}
507 508
508const AVCodec ff_dvbsub_encoder = {509const FFCodec ff_dvbsub_encoder = {
509 .name = "dvbsub",510 .p.name = "dvbsub",
510 .long_name = NULL_IF_CONFIG_SMALL("DVB subtitles"),511 .p.long_name = NULL_IF_CONFIG_SMALL("DVB subtitles"),
511 .type = AVMEDIA_TYPE_SUBTITLE,512 .p.type = AVMEDIA_TYPE_SUBTITLE,
512 .id = AV_CODEC_ID_DVB_SUBTITLE,513 .p.id = AV_CODEC_ID_DVB_SUBTITLE,
513 .priv_data_size = sizeof(DVBSubtitleContext),514 .priv_data_size = sizeof(DVBSubtitleContext),
514 .encode_sub = dvbsub_encode,515 .encode_sub = dvbsub_encode,
515};516};
libavcodec/dvdec.c+7−7
@@ -682,15 +682,15 @@ static int dvvideo_decode_frame(AVCodecContext *avctx, void *data, · 681 unmodified lines
682 return s->sys->frame_size;682 return s->sys->frame_size;
683}683}
684 684
685const AVCodec ff_dvvideo_decoder = {685const FFCodec ff_dvvideo_decoder = {
686 .name = "dvvideo",686 .p.name = "dvvideo",
687 .long_name = NULL_IF_CONFIG_SMALL("DV (Digital Video)"),687 .p.long_name = NULL_IF_CONFIG_SMALL("DV (Digital Video)"),
688 .type = AVMEDIA_TYPE_VIDEO,688 .p.type = AVMEDIA_TYPE_VIDEO,
689 .id = AV_CODEC_ID_DVVIDEO,689 .p.id = AV_CODEC_ID_DVVIDEO,
690 .priv_data_size = sizeof(DVVideoContext),690 .priv_data_size = sizeof(DVVideoContext),
691 .init = dvvideo_decode_init,691 .init = dvvideo_decode_init,
692 .decode = dvvideo_decode_frame,692 .decode = dvvideo_decode_frame,
693 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_SLICE_THREADS,693 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_SLICE_THREADS,
694 .max_lowres = 3,694 .p.max_lowres = 3,
695 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,695 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
696};696};
libavcodec/dvdsubdec.c+6−6
@@ -755,15 +755,15 @@ static const AVClass dvdsub_class = { · 754 unmodified lines
755 .version = LIBAVUTIL_VERSION_INT,755 .version = LIBAVUTIL_VERSION_INT,
756};756};
757 757
758const AVCodec ff_dvdsub_decoder = {758const FFCodec ff_dvdsub_decoder = {
759 .name = "dvdsub",759 .p.name = "dvdsub",
760 .long_name = NULL_IF_CONFIG_SMALL("DVD subtitles"),760 .p.long_name = NULL_IF_CONFIG_SMALL("DVD subtitles"),
761 .type = AVMEDIA_TYPE_SUBTITLE,761 .p.type = AVMEDIA_TYPE_SUBTITLE,
762 .id = AV_CODEC_ID_DVD_SUBTITLE,762 .p.id = AV_CODEC_ID_DVD_SUBTITLE,
763 .priv_data_size = sizeof(DVDSubContext),763 .priv_data_size = sizeof(DVDSubContext),
764 .init = dvdsub_init,764 .init = dvdsub_init,
765 .decode = dvdsub_decode,765 .decode = dvdsub_decode,
766 .flush = dvdsub_flush,766 .flush = dvdsub_flush,
767 .priv_class = &dvdsub_class,767 .p.priv_class = &dvdsub_class,
768 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,768 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
769};769};
libavcodec/dvdsubenc.c+6−6
@@ -494,14 +494,14 @@ static const AVClass dvdsubenc_class = { · 493 unmodified lines
494 .version = LIBAVUTIL_VERSION_INT,494 .version = LIBAVUTIL_VERSION_INT,
495};495};
496 496
497const AVCodec ff_dvdsub_encoder = {497const FFCodec ff_dvdsub_encoder = {
498 .name = "dvdsub",498 .p.name = "dvdsub",
499 .long_name = NULL_IF_CONFIG_SMALL("DVD subtitles"),499 .p.long_name = NULL_IF_CONFIG_SMALL("DVD subtitles"),
500 .type = AVMEDIA_TYPE_SUBTITLE,500 .p.type = AVMEDIA_TYPE_SUBTITLE,
501 .id = AV_CODEC_ID_DVD_SUBTITLE,501 .p.id = AV_CODEC_ID_DVD_SUBTITLE,
502 .init = dvdsub_init,502 .init = dvdsub_init,
503 .encode_sub = dvdsub_encode,503 .encode_sub = dvdsub_encode,
504 .priv_class = &dvdsubenc_class,504 .p.priv_class = &dvdsubenc_class,
505 .priv_data_size = sizeof(DVDSubtitleContext),505 .priv_data_size = sizeof(DVDSubtitleContext),
506 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,506 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
507};507};
libavcodec/dvenc.c+8−8
@@ -1206,20 +1206,20 @@ static const AVClass dvvideo_encode_class = { · 1205 unmodified lines
1206 .version = LIBAVUTIL_VERSION_INT,1206 .version = LIBAVUTIL_VERSION_INT,
1207};1207};
1208 1208
1209const AVCodec ff_dvvideo_encoder = {1209const FFCodec ff_dvvideo_encoder = {
1210 .name = "dvvideo",1210 .p.name = "dvvideo",
1211 .long_name = NULL_IF_CONFIG_SMALL("DV (Digital Video)"),1211 .p.long_name = NULL_IF_CONFIG_SMALL("DV (Digital Video)"),
1212 .type = AVMEDIA_TYPE_VIDEO,1212 .p.type = AVMEDIA_TYPE_VIDEO,
1213 .id = AV_CODEC_ID_DVVIDEO,1213 .p.id = AV_CODEC_ID_DVVIDEO,
1214 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS |1214 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS |
1215 AV_CODEC_CAP_SLICE_THREADS,1215 AV_CODEC_CAP_SLICE_THREADS,
1216 .priv_data_size = sizeof(DVVideoContext),1216 .priv_data_size = sizeof(DVVideoContext),
1217 .init = dvvideo_encode_init,1217 .init = dvvideo_encode_init,
1218 .encode2 = dvvideo_encode_frame,1218 .encode2 = dvvideo_encode_frame,
1219 .pix_fmts = (const enum AVPixelFormat[]) {1219 .p.pix_fmts = (const enum AVPixelFormat[]) {
1220 AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV422P,1220 AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV422P,
1221 AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE1221 AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE
1222 },1222 },
1223 .priv_class = &dvvideo_encode_class,1223 .p.priv_class = &dvvideo_encode_class,
1224 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,1224 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
1225};1225};
libavcodec/dxa.c+6−6
@@ -361,15 +361,15 @@ static av_cold int decode_end(AVCodecContext *avctx) · 360 unmodified lines
361 return 0;361 return 0;
362}362}
363 363
364const AVCodec ff_dxa_decoder = {364const FFCodec ff_dxa_decoder = {
365 .name = "dxa",365 .p.name = "dxa",
366 .long_name = NULL_IF_CONFIG_SMALL("Feeble Files/ScummVM DXA"),366 .p.long_name = NULL_IF_CONFIG_SMALL("Feeble Files/ScummVM DXA"),
367 .type = AVMEDIA_TYPE_VIDEO,367 .p.type = AVMEDIA_TYPE_VIDEO,
368 .id = AV_CODEC_ID_DXA,368 .p.id = AV_CODEC_ID_DXA,
369 .priv_data_size = sizeof(DxaDecContext),369 .priv_data_size = sizeof(DxaDecContext),
370 .init = decode_init,370 .init = decode_init,
371 .close = decode_end,371 .close = decode_end,
372 .decode = decode_frame,372 .decode = decode_frame,
373 .capabilities = AV_CODEC_CAP_DR1,373 .p.capabilities = AV_CODEC_CAP_DR1,
374 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,374 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
375};375};
libavcodec/dxtory.c+7−6
@@ -28,6 +28,7 @@ · 27 unmodified lines
28#define BITSTREAM_READER_LE28#define BITSTREAM_READER_LE
29#include "avcodec.h"29#include "avcodec.h"
30#include "bytestream.h"30#include "bytestream.h"
31#include "codec_internal.h"
31#include "get_bits.h"32#include "get_bits.h"
32#include "unary.h"33#include "unary.h"
33#include "thread.h"34#include "thread.h"
@@ -870,11 +871,11 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *got_frame, · 836 unmodified lines
870 return avpkt->size;871 return avpkt->size;
871}872}
872 873
873const AVCodec ff_dxtory_decoder = {874const FFCodec ff_dxtory_decoder = {
874 .name = "dxtory",875 .p.name = "dxtory",
875 .long_name = NULL_IF_CONFIG_SMALL("Dxtory"),876 .p.long_name = NULL_IF_CONFIG_SMALL("Dxtory"),
876 .type = AVMEDIA_TYPE_VIDEO,877 .p.type = AVMEDIA_TYPE_VIDEO,
877 .id = AV_CODEC_ID_DXTORY,878 .p.id = AV_CODEC_ID_DXTORY,
878 .decode = decode_frame,879 .decode = decode_frame,
879 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,880 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
880};881};
libavcodec/dxv.c+6−6
@@ -1261,16 +1261,16 @@ static int dxv_close(AVCodecContext *avctx) · 1260 unmodified lines
1261 return 0;1261 return 0;
1262}1262}
1263 1263
1264const AVCodec ff_dxv_decoder = {1264const FFCodec ff_dxv_decoder = {
1265 .name = "dxv",1265 .p.name = "dxv",
1266 .long_name = NULL_IF_CONFIG_SMALL("Resolume DXV"),1266 .p.long_name = NULL_IF_CONFIG_SMALL("Resolume DXV"),
1267 .type = AVMEDIA_TYPE_VIDEO,1267 .p.type = AVMEDIA_TYPE_VIDEO,
1268 .id = AV_CODEC_ID_DXV,1268 .p.id = AV_CODEC_ID_DXV,
1269 .init = dxv_init,1269 .init = dxv_init,
1270 .decode = dxv_decode,1270 .decode = dxv_decode,
1271 .close = dxv_close,1271 .close = dxv_close,
1272 .priv_data_size = sizeof(DXVContext),1272 .priv_data_size = sizeof(DXVContext),
1273 .capabilities = AV_CODEC_CAP_DR1 |1273 .p.capabilities = AV_CODEC_CAP_DR1 |
1274 AV_CODEC_CAP_SLICE_THREADS |1274 AV_CODEC_CAP_SLICE_THREADS |
1275 AV_CODEC_CAP_FRAME_THREADS,1275 AV_CODEC_CAP_FRAME_THREADS,
1276 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |1276 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |
libavcodec/eac3enc.c+11−11
@@ -250,24 +250,24 @@ void ff_eac3_output_frame_header(AC3EncodeContext *s) · 249 unmodified lines
250 250
251 251
252FF_DISABLE_DEPRECATION_WARNINGS252FF_DISABLE_DEPRECATION_WARNINGS
253const AVCodec ff_eac3_encoder = {253const FFCodec ff_eac3_encoder = {
254 .name = "eac3",254 .p.name = "eac3",
255 .long_name = NULL_IF_CONFIG_SMALL("ATSC A/52 E-AC-3"),255 .p.long_name = NULL_IF_CONFIG_SMALL("ATSC A/52 E-AC-3"),
256 .type = AVMEDIA_TYPE_AUDIO,256 .p.type = AVMEDIA_TYPE_AUDIO,
257 .id = AV_CODEC_ID_EAC3,257 .p.id = AV_CODEC_ID_EAC3,
258 .capabilities = AV_CODEC_CAP_DR1,258 .p.capabilities = AV_CODEC_CAP_DR1,
259 .priv_data_size = sizeof(AC3EncodeContext),259 .priv_data_size = sizeof(AC3EncodeContext),
260 .init = ff_ac3_float_encode_init,260 .init = ff_ac3_float_encode_init,
261 .encode2 = ff_ac3_float_encode_frame,261 .encode2 = ff_ac3_float_encode_frame,
262 .close = ff_ac3_encode_close,262 .close = ff_ac3_encode_close,
263 .sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_FLTP,263 .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_FLTP,
264 AV_SAMPLE_FMT_NONE },264 AV_SAMPLE_FMT_NONE },
265 .priv_class = &eac3enc_class,265 .p.priv_class = &eac3enc_class,
266 .supported_samplerates = ff_ac3_sample_rate_tab,266 .p.supported_samplerates = ff_ac3_sample_rate_tab,
267#if FF_API_OLD_CHANNEL_LAYOUT267#if FF_API_OLD_CHANNEL_LAYOUT
268 .channel_layouts = ff_ac3_channel_layouts,268 .p.channel_layouts = ff_ac3_channel_layouts,
269#endif269#endif
270 .ch_layouts = ff_ac3_ch_layouts,270 .p.ch_layouts = ff_ac3_ch_layouts,
271 .defaults = ff_ac3_enc_defaults,271 .defaults = ff_ac3_enc_defaults,
272 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,272 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
273};273};
libavcodec/eacmv.c+6−6
@@ -231,15 +231,15 @@ static av_cold int cmv_decode_end(AVCodecContext *avctx){ · 230 unmodified lines
231 return 0;231 return 0;
232}232}
233 233
234const AVCodec ff_eacmv_decoder = {234const FFCodec ff_eacmv_decoder = {
235 .name = "eacmv",235 .p.name = "eacmv",
236 .long_name = NULL_IF_CONFIG_SMALL("Electronic Arts CMV video"),236 .p.long_name = NULL_IF_CONFIG_SMALL("Electronic Arts CMV video"),
237 .type = AVMEDIA_TYPE_VIDEO,237 .p.type = AVMEDIA_TYPE_VIDEO,
238 .id = AV_CODEC_ID_CMV,238 .p.id = AV_CODEC_ID_CMV,
239 .priv_data_size = sizeof(CmvContext),239 .priv_data_size = sizeof(CmvContext),
240 .init = cmv_decode_init,240 .init = cmv_decode_init,
241 .close = cmv_decode_end,241 .close = cmv_decode_end,
242 .decode = cmv_decode_frame,242 .decode = cmv_decode_frame,
243 .capabilities = AV_CODEC_CAP_DR1,243 .p.capabilities = AV_CODEC_CAP_DR1,
244 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,244 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
245};245};
libavcodec/eamad.c+6−6
@@ -342,15 +342,15 @@ static av_cold int decode_end(AVCodecContext *avctx) · 341 unmodified lines
342 return 0;342 return 0;
343}343}
344 344
345const AVCodec ff_eamad_decoder = {345const FFCodec ff_eamad_decoder = {
346 .name = "eamad",346 .p.name = "eamad",
347 .long_name = NULL_IF_CONFIG_SMALL("Electronic Arts Madcow Video"),347 .p.long_name = NULL_IF_CONFIG_SMALL("Electronic Arts Madcow Video"),
348 .type = AVMEDIA_TYPE_VIDEO,348 .p.type = AVMEDIA_TYPE_VIDEO,
349 .id = AV_CODEC_ID_MAD,349 .p.id = AV_CODEC_ID_MAD,
350 .priv_data_size = sizeof(MadContext),350 .priv_data_size = sizeof(MadContext),
351 .init = decode_init,351 .init = decode_init,
352 .close = decode_end,352 .close = decode_end,
353 .decode = decode_frame,353 .decode = decode_frame,
354 .capabilities = AV_CODEC_CAP_DR1,354 .p.capabilities = AV_CODEC_CAP_DR1,
355 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,355 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
356};356};
libavcodec/eatgq.c+6−6
@@ -248,14 +248,14 @@ static int tgq_decode_frame(AVCodecContext *avctx, · 247 unmodified lines
248 return avpkt->size;248 return avpkt->size;
249}249}
250 250
251const AVCodec ff_eatgq_decoder = {251const FFCodec ff_eatgq_decoder = {
252 .name = "eatgq",252 .p.name = "eatgq",
253 .long_name = NULL_IF_CONFIG_SMALL("Electronic Arts TGQ video"),253 .p.long_name = NULL_IF_CONFIG_SMALL("Electronic Arts TGQ video"),
254 .type = AVMEDIA_TYPE_VIDEO,254 .p.type = AVMEDIA_TYPE_VIDEO,
255 .id = AV_CODEC_ID_TGQ,255 .p.id = AV_CODEC_ID_TGQ,
256 .priv_data_size = sizeof(TgqContext),256 .priv_data_size = sizeof(TgqContext),
257 .init = tgq_decode_init,257 .init = tgq_decode_init,
258 .decode = tgq_decode_frame,258 .decode = tgq_decode_frame,
259 .capabilities = AV_CODEC_CAP_DR1,259 .p.capabilities = AV_CODEC_CAP_DR1,
260 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,260 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
261};261};
libavcodec/eatgv.c+6−6
@@ -360,15 +360,15 @@ static av_cold int tgv_decode_end(AVCodecContext *avctx) · 359 unmodified lines
360 return 0;360 return 0;
361}361}
362 362
363const AVCodec ff_eatgv_decoder = {363const FFCodec ff_eatgv_decoder = {
364 .name = "eatgv",364 .p.name = "eatgv",
365 .long_name = NULL_IF_CONFIG_SMALL("Electronic Arts TGV video"),365 .p.long_name = NULL_IF_CONFIG_SMALL("Electronic Arts TGV video"),
366 .type = AVMEDIA_TYPE_VIDEO,366 .p.type = AVMEDIA_TYPE_VIDEO,
367 .id = AV_CODEC_ID_TGV,367 .p.id = AV_CODEC_ID_TGV,
368 .priv_data_size = sizeof(TgvContext),368 .priv_data_size = sizeof(TgvContext),
369 .init = tgv_decode_init,369 .init = tgv_decode_init,
370 .close = tgv_decode_end,370 .close = tgv_decode_end,
371 .decode = tgv_decode_frame,371 .decode = tgv_decode_frame,
372 .capabilities = AV_CODEC_CAP_DR1,372 .p.capabilities = AV_CODEC_CAP_DR1,
373 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,373 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
374};374};
libavcodec/eatqi.c+6−6
@@ -183,15 +183,15 @@ static av_cold int tqi_decode_end(AVCodecContext *avctx) · 182 unmodified lines
183 return 0;183 return 0;
184}184}
185 185
186const AVCodec ff_eatqi_decoder = {186const FFCodec ff_eatqi_decoder = {
187 .name = "eatqi",187 .p.name = "eatqi",
188 .long_name = NULL_IF_CONFIG_SMALL("Electronic Arts TQI Video"),188 .p.long_name = NULL_IF_CONFIG_SMALL("Electronic Arts TQI Video"),
189 .type = AVMEDIA_TYPE_VIDEO,189 .p.type = AVMEDIA_TYPE_VIDEO,
190 .id = AV_CODEC_ID_TQI,190 .p.id = AV_CODEC_ID_TQI,
191 .priv_data_size = sizeof(TqiContext),191 .priv_data_size = sizeof(TqiContext),
192 .init = tqi_decode_init,192 .init = tqi_decode_init,
193 .close = tqi_decode_end,193 .close = tqi_decode_end,
194 .decode = tqi_decode_frame,194 .decode = tqi_decode_frame,
195 .capabilities = AV_CODEC_CAP_DR1,195 .p.capabilities = AV_CODEC_CAP_DR1,
196 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,196 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
197};197};
libavcodec/encode.c+7−5
@@ -27,6 +27,7 @@ · 26 unmodified lines
27#include "libavutil/samplefmt.h"27#include "libavutil/samplefmt.h"
28 28
29#include "avcodec.h"29#include "avcodec.h"
30#include "codec_internal.h"
30#include "encode.h"31#include "encode.h"
31#include "frame_thread_encoder.h"32#include "frame_thread_encoder.h"
32#include "internal.h"33#include "internal.h"
@@ -151,7 +152,7 @@ int avcodec_encode_subtitle(AVCodecContext *avctx, uint8_t *buf, int buf_size, · 118 unmodified lines
151 return -1;152 return -1;
152 }153 }
153 154
154 ret = avctx->codec->encode_sub(avctx, buf, buf_size, sub);155 ret = ffcodec(avctx->codec)->encode_sub(avctx, buf, buf_size, sub);
155 avctx->frame_number++;156 avctx->frame_number++;
156 return ret;157 return ret;
157}158}
@@ -176,6 +177,7 @@ static int encode_simple_internal(AVCodecContext *avctx, AVPacket *avpkt) · 18 unmodified lines
176 AVCodecInternal *avci = avctx->internal;177 AVCodecInternal *avci = avctx->internal;
177 EncodeSimpleContext *es = &avci->es;178 EncodeSimpleContext *es = &avci->es;
178 AVFrame *frame = es->in_frame;179 AVFrame *frame = es->in_frame;
180 const FFCodec *const codec = ffcodec(avctx->codec);
179 int got_packet;181 int got_packet;
180 int ret;182 int ret;
181 183
@@ -200,7 +202,7 @@ static int encode_simple_internal(AVCodecContext *avctx, AVPacket *avpkt) · 18 unmodified lines
200 202
201 got_packet = 0;203 got_packet = 0;
202 204
203 av_assert0(avctx->codec->encode2);205 av_assert0(codec->encode2);
204 206
205 if (CONFIG_FRAME_THREAD_ENCODER &&207 if (CONFIG_FRAME_THREAD_ENCODER &&
206 avci->frame_thread_encoder && (avctx->active_thread_type & FF_THREAD_FRAME))208 avci->frame_thread_encoder && (avctx->active_thread_type & FF_THREAD_FRAME))
@@ -210,7 +212,7 @@ static int encode_simple_internal(AVCodecContext *avctx, AVPacket *avpkt) · 3 unmodified lines
210 * no sense to use the properties of the current frame anyway). */212 * no sense to use the properties of the current frame anyway). */
211 ret = ff_thread_video_encode_frame(avctx, avpkt, frame, &got_packet);213 ret = ff_thread_video_encode_frame(avctx, avpkt, frame, &got_packet);
212 else {214 else {
213 ret = avctx->codec->encode2(avctx, avpkt, frame, &got_packet);215 ret = codec->encode2(avctx, avpkt, frame, &got_packet);
214 if (avctx->codec->type == AVMEDIA_TYPE_VIDEO && !ret && got_packet &&216 if (avctx->codec->type == AVMEDIA_TYPE_VIDEO && !ret && got_packet &&
215 !(avctx->codec->capabilities & AV_CODEC_CAP_DELAY))217 !(avctx->codec->capabilities & AV_CODEC_CAP_DELAY))
216 avpkt->pts = avpkt->dts = frame->pts;218 avpkt->pts = avpkt->dts = frame->pts;
@@ -290,8 +292,8 @@ static int encode_receive_packet_internal(AVCodecContext *avctx, AVPacket *avpkt · 73 unmodified lines
290 return AVERROR(EINVAL);292 return AVERROR(EINVAL);
291 }293 }
292 294
293 if (avctx->codec->receive_packet) {295 if (ffcodec(avctx->codec)->receive_packet) {
294 ret = avctx->codec->receive_packet(avctx, avpkt);296 ret = ffcodec(avctx->codec)->receive_packet(avctx, avpkt);
295 if (ret < 0)297 if (ret < 0)
296 av_packet_unref(avpkt);298 av_packet_unref(avpkt);
297 else299 else
libavcodec/encode.h+2−2
@@ -47,7 +47,7 @@ int ff_get_encode_buffer(AVCodecContext *avctx, AVPacket *avpkt, int64_t size, i · 46 unmodified lines
47/**47/**
48 * Check AVPacket size and allocate data.48 * Check AVPacket size and allocate data.
49 *49 *
50 * Encoders supporting AVCodec.encode2() can use this as a convenience to50 * Encoders supporting FFCodec.encode2() can use this as a convenience to
51 * obtain a big enough buffer for the encoded bitstream.51 * obtain a big enough buffer for the encoded bitstream.
52 *52 *
53 * @param avctx the AVCodecContext of the encoder53 * @param avctx the AVCodecContext of the encoder
@@ -61,7 +61,7 @@ int ff_alloc_packet(AVCodecContext *avctx, AVPacket *avpkt, int64_t size); · 7 unmodified lines
61 61
62/*62/*
63 * Perform encoder initialization and validation.63 * Perform encoder initialization and validation.
64 * Called when opening the encoder, before the AVCodec.init() call.64 * Called when opening the encoder, before the FFCodec.init() call.
65 */65 */
66int ff_encode_preinit(AVCodecContext *avctx);66int ff_encode_preinit(AVCodecContext *avctx);
67 67
libavcodec/escape124.c+6−6
@@ -377,15 +377,15 @@ static int escape124_decode_frame(AVCodecContext *avctx, · 376 unmodified lines
377}377}
378 378
379 379
380const AVCodec ff_escape124_decoder = {380const FFCodec ff_escape124_decoder = {
381 .name = "escape124",381 .p.name = "escape124",
382 .long_name = NULL_IF_CONFIG_SMALL("Escape 124"),382 .p.long_name = NULL_IF_CONFIG_SMALL("Escape 124"),
383 .type = AVMEDIA_TYPE_VIDEO,383 .p.type = AVMEDIA_TYPE_VIDEO,
384 .id = AV_CODEC_ID_ESCAPE124,384 .p.id = AV_CODEC_ID_ESCAPE124,
385 .priv_data_size = sizeof(Escape124Context),385 .priv_data_size = sizeof(Escape124Context),
386 .init = escape124_decode_init,386 .init = escape124_decode_init,
387 .close = escape124_decode_close,387 .close = escape124_decode_close,
388 .decode = escape124_decode_frame,388 .decode = escape124_decode_frame,
389 .capabilities = AV_CODEC_CAP_DR1,389 .p.capabilities = AV_CODEC_CAP_DR1,
390 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,390 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
391};391};
libavcodec/escape130.c+6−6
@@ -346,15 +346,15 @@ static int escape130_decode_frame(AVCodecContext *avctx, void *data, · 345 unmodified lines
346 return buf_size;346 return buf_size;
347}347}
348 348
349const AVCodec ff_escape130_decoder = {349const FFCodec ff_escape130_decoder = {
350 .name = "escape130",350 .p.name = "escape130",
351 .long_name = NULL_IF_CONFIG_SMALL("Escape 130"),351 .p.long_name = NULL_IF_CONFIG_SMALL("Escape 130"),
352 .type = AVMEDIA_TYPE_VIDEO,352 .p.type = AVMEDIA_TYPE_VIDEO,
353 .id = AV_CODEC_ID_ESCAPE130,353 .p.id = AV_CODEC_ID_ESCAPE130,
354 .priv_data_size = sizeof(Escape130Context),354 .priv_data_size = sizeof(Escape130Context),
355 .init = escape130_decode_init,355 .init = escape130_decode_init,
356 .close = escape130_decode_close,356 .close = escape130_decode_close,
357 .decode = escape130_decode_frame,357 .decode = escape130_decode_frame,
358 .capabilities = AV_CODEC_CAP_DR1,358 .p.capabilities = AV_CODEC_CAP_DR1,
359 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,359 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
360};360};
libavcodec/evrcdec.c+7−7
@@ -930,15 +930,15 @@ static const AVClass evrcdec_class = { · 929 unmodified lines
930 .version = LIBAVUTIL_VERSION_INT,930 .version = LIBAVUTIL_VERSION_INT,
931};931};
932 932
933const AVCodec ff_evrc_decoder = {933const FFCodec ff_evrc_decoder = {
934 .name = "evrc",934 .p.name = "evrc",
935 .long_name = NULL_IF_CONFIG_SMALL("EVRC (Enhanced Variable Rate Codec)"),935 .p.long_name = NULL_IF_CONFIG_SMALL("EVRC (Enhanced Variable Rate Codec)"),
936 .type = AVMEDIA_TYPE_AUDIO,936 .p.type = AVMEDIA_TYPE_AUDIO,
937 .id = AV_CODEC_ID_EVRC,937 .p.id = AV_CODEC_ID_EVRC,
938 .init = evrc_decode_init,938 .init = evrc_decode_init,
939 .decode = evrc_decode_frame,939 .decode = evrc_decode_frame,
940 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,940 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
941 .priv_data_size = sizeof(EVRCContext),941 .priv_data_size = sizeof(EVRCContext),
942 .priv_class = &evrcdec_class,942 .p.priv_class = &evrcdec_class,
943 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,943 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
944};944};
libavcodec/exr.c+7−7
@@ -2341,17 +2341,17 @@ static const AVClass exr_class = { · 2340 unmodified lines
2341 .version = LIBAVUTIL_VERSION_INT,2341 .version = LIBAVUTIL_VERSION_INT,
2342};2342};
2343 2343
2344const AVCodec ff_exr_decoder = {2344const FFCodec ff_exr_decoder = {
2345 .name = "exr",2345 .p.name = "exr",
2346 .long_name = NULL_IF_CONFIG_SMALL("OpenEXR image"),2346 .p.long_name = NULL_IF_CONFIG_SMALL("OpenEXR image"),
2347 .type = AVMEDIA_TYPE_VIDEO,2347 .p.type = AVMEDIA_TYPE_VIDEO,
2348 .id = AV_CODEC_ID_EXR,2348 .p.id = AV_CODEC_ID_EXR,
2349 .priv_data_size = sizeof(EXRContext),2349 .priv_data_size = sizeof(EXRContext),
2350 .init = decode_init,2350 .init = decode_init,
2351 .close = decode_end,2351 .close = decode_end,
2352 .decode = decode_frame,2352 .decode = decode_frame,
2353 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS |2353 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS |
2354 AV_CODEC_CAP_SLICE_THREADS,2354 AV_CODEC_CAP_SLICE_THREADS,
2355 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,2355 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
2356 .priv_class = &exr_class,2356 .p.priv_class = &exr_class,
2357};2357};
libavcodec/exrenc.c+8−8
@@ -534,18 +534,18 @@ static const AVClass exr_class = { · 533 unmodified lines
534 .version = LIBAVUTIL_VERSION_INT,534 .version = LIBAVUTIL_VERSION_INT,
535};535};
536 536
537const AVCodec ff_exr_encoder = {537const FFCodec ff_exr_encoder = {
538 .name = "exr",538 .p.name = "exr",
539 .long_name = NULL_IF_CONFIG_SMALL("OpenEXR image"),539 .p.long_name = NULL_IF_CONFIG_SMALL("OpenEXR image"),
540 .priv_data_size = sizeof(EXRContext),540 .priv_data_size = sizeof(EXRContext),
541 .priv_class = &exr_class,541 .p.priv_class = &exr_class,
542 .type = AVMEDIA_TYPE_VIDEO,542 .p.type = AVMEDIA_TYPE_VIDEO,
543 .id = AV_CODEC_ID_EXR,543 .p.id = AV_CODEC_ID_EXR,
544 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,544 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
545 .init = encode_init,545 .init = encode_init,
546 .encode2 = encode_frame,546 .encode2 = encode_frame,
547 .close = encode_close,547 .close = encode_close,
548 .pix_fmts = (const enum AVPixelFormat[]) {548 .p.pix_fmts = (const enum AVPixelFormat[]) {
549 AV_PIX_FMT_GBRPF32,549 AV_PIX_FMT_GBRPF32,
550 AV_PIX_FMT_GBRAPF32,550 AV_PIX_FMT_GBRAPF32,
551 AV_PIX_FMT_NONE },551 AV_PIX_FMT_NONE },
libavcodec/fastaudio.c+7−7
@@ -188,17 +188,17 @@ static av_cold int fastaudio_close(AVCodecContext *avctx) · 187 unmodified lines
188 return 0;188 return 0;
189}189}
190 190
191const AVCodec ff_fastaudio_decoder = {191const FFCodec ff_fastaudio_decoder = {
192 .name = "fastaudio",192 .p.name = "fastaudio",
193 .long_name = NULL_IF_CONFIG_SMALL("MobiClip FastAudio"),193 .p.long_name = NULL_IF_CONFIG_SMALL("MobiClip FastAudio"),
194 .type = AVMEDIA_TYPE_AUDIO,194 .p.type = AVMEDIA_TYPE_AUDIO,
195 .id = AV_CODEC_ID_FASTAUDIO,195 .p.id = AV_CODEC_ID_FASTAUDIO,
196 .priv_data_size = sizeof(FastAudioContext),196 .priv_data_size = sizeof(FastAudioContext),
197 .init = fastaudio_init,197 .init = fastaudio_init,
198 .decode = fastaudio_decode,198 .decode = fastaudio_decode,
199 .close = fastaudio_close,199 .close = fastaudio_close,
200 .capabilities = AV_CODEC_CAP_DR1,200 .p.capabilities = AV_CODEC_CAP_DR1,
201 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,201 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
202 AV_SAMPLE_FMT_NONE },202 AV_SAMPLE_FMT_NONE },
203 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,203 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
204};204};
libavcodec/ffv1dec.c+6−6
@@ -1052,17 +1052,17 @@ static int update_thread_context(AVCodecContext *dst, const AVCodecContext *src) · 1051 unmodified lines
1052}1052}
1053#endif1053#endif
1054 1054
1055const AVCodec ff_ffv1_decoder = {1055const FFCodec ff_ffv1_decoder = {
1056 .name = "ffv1",1056 .p.name = "ffv1",
1057 .long_name = NULL_IF_CONFIG_SMALL("FFmpeg video codec #1"),1057 .p.long_name = NULL_IF_CONFIG_SMALL("FFmpeg video codec #1"),
1058 .type = AVMEDIA_TYPE_VIDEO,1058 .p.type = AVMEDIA_TYPE_VIDEO,
1059 .id = AV_CODEC_ID_FFV1,1059 .p.id = AV_CODEC_ID_FFV1,
1060 .priv_data_size = sizeof(FFV1Context),1060 .priv_data_size = sizeof(FFV1Context),
1061 .init = decode_init,1061 .init = decode_init,
1062 .close = ff_ffv1_close,1062 .close = ff_ffv1_close,
1063 .decode = decode_frame,1063 .decode = decode_frame,
1064 .update_thread_context = ONLY_IF_THREADS_ENABLED(update_thread_context),1064 .update_thread_context = ONLY_IF_THREADS_ENABLED(update_thread_context),
1065 .capabilities = AV_CODEC_CAP_DR1 /*| AV_CODEC_CAP_DRAW_HORIZ_BAND*/ |1065 .p.capabilities = AV_CODEC_CAP_DR1 /*| AV_CODEC_CAP_DRAW_HORIZ_BAND*/ |
1066 AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_SLICE_THREADS,1066 AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_SLICE_THREADS,
1067 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP |1067 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP |
1068 FF_CODEC_CAP_ALLOCATE_PROGRESS,1068 FF_CODEC_CAP_ALLOCATE_PROGRESS,
libavcodec/ffv1enc.c+8−8
@@ -1278,17 +1278,17 @@ static const AVClass ffv1_class = { · 1277 unmodified lines
1278 .version = LIBAVUTIL_VERSION_INT,1278 .version = LIBAVUTIL_VERSION_INT,
1279};1279};
1280 1280
1281const AVCodec ff_ffv1_encoder = {1281const FFCodec ff_ffv1_encoder = {
1282 .name = "ffv1",1282 .p.name = "ffv1",
1283 .long_name = NULL_IF_CONFIG_SMALL("FFmpeg video codec #1"),1283 .p.long_name = NULL_IF_CONFIG_SMALL("FFmpeg video codec #1"),
1284 .type = AVMEDIA_TYPE_VIDEO,1284 .p.type = AVMEDIA_TYPE_VIDEO,
1285 .id = AV_CODEC_ID_FFV1,1285 .p.id = AV_CODEC_ID_FFV1,
1286 .priv_data_size = sizeof(FFV1Context),1286 .priv_data_size = sizeof(FFV1Context),
1287 .init = encode_init,1287 .init = encode_init,
1288 .encode2 = encode_frame,1288 .encode2 = encode_frame,
1289 .close = encode_close,1289 .close = encode_close,
1290 .capabilities = AV_CODEC_CAP_SLICE_THREADS | AV_CODEC_CAP_DELAY,1290 .p.capabilities = AV_CODEC_CAP_SLICE_THREADS | AV_CODEC_CAP_DELAY,
1291 .pix_fmts = (const enum AVPixelFormat[]) {1291 .p.pix_fmts = (const enum AVPixelFormat[]) {
1292 AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUV444P,1292 AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUV444P,
1293 AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV411P,1293 AV_PIX_FMT_YUVA444P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV411P,
1294 AV_PIX_FMT_YUV410P, AV_PIX_FMT_0RGB32, AV_PIX_FMT_RGB32, AV_PIX_FMT_YUV420P16,1294 AV_PIX_FMT_YUV410P, AV_PIX_FMT_0RGB32, AV_PIX_FMT_RGB32, AV_PIX_FMT_YUV420P16,
@@ -1311,6 +1311,6 @@ const AVCodec ff_ffv1_encoder = { · 16 unmodified lines
1311 AV_PIX_FMT_NONE1311 AV_PIX_FMT_NONE
1312 1312
1313 },1313 },
1314 .priv_class = &ffv1_class,1314 .p.priv_class = &ffv1_class,
1315 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,1315 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
1316};1316};
libavcodec/ffwavesynth.c+6−6
@@ -460,15 +460,15 @@ static av_cold int wavesynth_close(AVCodecContext *avc) · 459 unmodified lines
460 return 0;460 return 0;
461}461}
462 462
463const AVCodec ff_ffwavesynth_decoder = {463const FFCodec ff_ffwavesynth_decoder = {
464 .name = "wavesynth",464 .p.name = "wavesynth",
465 .long_name = NULL_IF_CONFIG_SMALL("Wave synthesis pseudo-codec"),465 .p.long_name = NULL_IF_CONFIG_SMALL("Wave synthesis pseudo-codec"),
466 .type = AVMEDIA_TYPE_AUDIO,466 .p.type = AVMEDIA_TYPE_AUDIO,
467 .id = AV_CODEC_ID_FFWAVESYNTH,467 .p.id = AV_CODEC_ID_FFWAVESYNTH,
468 .priv_data_size = sizeof(struct wavesynth_context),468 .priv_data_size = sizeof(struct wavesynth_context),
469 .init = wavesynth_init,469 .init = wavesynth_init,
470 .close = wavesynth_close,470 .close = wavesynth_close,
471 .decode = wavesynth_decode,471 .decode = wavesynth_decode,
472 .capabilities = AV_CODEC_CAP_DR1,472 .p.capabilities = AV_CODEC_CAP_DR1,
473 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,473 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
474};474};
libavcodec/fic.c+7−7
@@ -484,16 +484,16 @@ static const AVClass fic_decoder_class = { · 483 unmodified lines
484 .version = LIBAVUTIL_VERSION_INT,484 .version = LIBAVUTIL_VERSION_INT,
485};485};
486 486
487const AVCodec ff_fic_decoder = {487const FFCodec ff_fic_decoder = {
488 .name = "fic",488 .p.name = "fic",
489 .long_name = NULL_IF_CONFIG_SMALL("Mirillis FIC"),489 .p.long_name = NULL_IF_CONFIG_SMALL("Mirillis FIC"),
490 .type = AVMEDIA_TYPE_VIDEO,490 .p.type = AVMEDIA_TYPE_VIDEO,
491 .id = AV_CODEC_ID_FIC,491 .p.id = AV_CODEC_ID_FIC,
492 .priv_data_size = sizeof(FICContext),492 .priv_data_size = sizeof(FICContext),
493 .init = fic_decode_init,493 .init = fic_decode_init,
494 .decode = fic_decode_frame,494 .decode = fic_decode_frame,
495 .close = fic_decode_close,495 .close = fic_decode_close,
496 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SLICE_THREADS,496 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SLICE_THREADS,
497 .priv_class = &fic_decoder_class,497 .p.priv_class = &fic_decoder_class,
498 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,498 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
499};499};
libavcodec/fitsdec.c+8−7
@@ -31,6 +31,7 @@ · 30 unmodified lines
31 */31 */
32 32
33#include "avcodec.h"33#include "avcodec.h"
34#include "codec_internal.h"
34#include "internal.h"35#include "internal.h"
35#include <float.h>36#include <float.h>
36#include "libavutil/intreadwrite.h"37#include "libavutil/intreadwrite.h"
@@ -320,13 +321,13 @@ static const AVClass fits_decoder_class = { · 283 unmodified lines
320 .version = LIBAVUTIL_VERSION_INT,321 .version = LIBAVUTIL_VERSION_INT,
321};322};
322 323
323const AVCodec ff_fits_decoder = {324const FFCodec ff_fits_decoder = {
324 .name = "fits",325 .p.name = "fits",
325 .type = AVMEDIA_TYPE_VIDEO,326 .p.type = AVMEDIA_TYPE_VIDEO,
326 .id = AV_CODEC_ID_FITS,327 .p.id = AV_CODEC_ID_FITS,
328 .p.capabilities = AV_CODEC_CAP_DR1,
329 .p.long_name = NULL_IF_CONFIG_SMALL("Flexible Image Transport System"),
330 .p.priv_class = &fits_decoder_class,
327 .priv_data_size = sizeof(FITSContext),331 .priv_data_size = sizeof(FITSContext),
328 .decode = fits_decode_frame,332 .decode = fits_decode_frame,
329 .capabilities = AV_CODEC_CAP_DR1,
330 .long_name = NULL_IF_CONFIG_SMALL("Flexible Image Transport System"),
331 .priv_class = &fits_decoder_class
332};333};
libavcodec/fitsenc.c+8−7
@@ -32,6 +32,7 @@ · 31 unmodified lines
32#include "libavutil/intreadwrite.h"32#include "libavutil/intreadwrite.h"
33#include "avcodec.h"33#include "avcodec.h"
34#include "bytestream.h"34#include "bytestream.h"
35#include "codec_internal.h"
35#include "encode.h"36#include "encode.h"
36 37
37static int fits_encode_frame(AVCodecContext *avctx, AVPacket *pkt,38static int fits_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
@@ -109,14 +110,14 @@ static int fits_encode_frame(AVCodecContext *avctx, AVPacket *pkt, · 71 unmodified lines
109 return 0;110 return 0;
110}111}
111 112
112const AVCodec ff_fits_encoder = {113const FFCodec ff_fits_encoder = {
113 .name = "fits",114 .p.name = "fits",
114 .long_name = NULL_IF_CONFIG_SMALL("Flexible Image Transport System"),115 .p.long_name = NULL_IF_CONFIG_SMALL("Flexible Image Transport System"),
115 .type = AVMEDIA_TYPE_VIDEO,116 .p.type = AVMEDIA_TYPE_VIDEO,
116 .id = AV_CODEC_ID_FITS,117 .p.id = AV_CODEC_ID_FITS,
117 .capabilities = AV_CODEC_CAP_DR1,118 .p.capabilities = AV_CODEC_CAP_DR1,
118 .encode2 = fits_encode_frame,119 .encode2 = fits_encode_frame,
119 .pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_GBRAP16BE,120 .p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_GBRAP16BE,
120 AV_PIX_FMT_GBRP16BE,121 AV_PIX_FMT_GBRP16BE,
121 AV_PIX_FMT_GBRP,122 AV_PIX_FMT_GBRP,
122 AV_PIX_FMT_GBRAP,123 AV_PIX_FMT_GBRAP,
libavcodec/flacdec.c+8−8
@@ -658,23 +658,23 @@ static const AVClass flac_decoder_class = { · 657 unmodified lines
658 .version = LIBAVUTIL_VERSION_INT,658 .version = LIBAVUTIL_VERSION_INT,
659};659};
660 660
661const AVCodec ff_flac_decoder = {661const FFCodec ff_flac_decoder = {
662 .name = "flac",662 .p.name = "flac",
663 .long_name = NULL_IF_CONFIG_SMALL("FLAC (Free Lossless Audio Codec)"),663 .p.long_name = NULL_IF_CONFIG_SMALL("FLAC (Free Lossless Audio Codec)"),
664 .type = AVMEDIA_TYPE_AUDIO,664 .p.type = AVMEDIA_TYPE_AUDIO,
665 .id = AV_CODEC_ID_FLAC,665 .p.id = AV_CODEC_ID_FLAC,
666 .priv_data_size = sizeof(FLACContext),666 .priv_data_size = sizeof(FLACContext),
667 .init = flac_decode_init,667 .init = flac_decode_init,
668 .close = flac_decode_close,668 .close = flac_decode_close,
669 .decode = flac_decode_frame,669 .decode = flac_decode_frame,
670 .capabilities = AV_CODEC_CAP_CHANNEL_CONF |670 .p.capabilities = AV_CODEC_CAP_CHANNEL_CONF |
671 AV_CODEC_CAP_DR1 |671 AV_CODEC_CAP_DR1 |
672 AV_CODEC_CAP_FRAME_THREADS,672 AV_CODEC_CAP_FRAME_THREADS,
673 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16,673 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16,
674 AV_SAMPLE_FMT_S16P,674 AV_SAMPLE_FMT_S16P,
675 AV_SAMPLE_FMT_S32,675 AV_SAMPLE_FMT_S32,
676 AV_SAMPLE_FMT_S32P,676 AV_SAMPLE_FMT_S32P,
677 AV_SAMPLE_FMT_NONE },677 AV_SAMPLE_FMT_NONE },
678 .priv_class = &flac_decoder_class,678 .p.priv_class = &flac_decoder_class,
679 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,679 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
680};680};
libavcodec/flacenc.c+8−8
@@ -1458,20 +1458,20 @@ static const AVClass flac_encoder_class = { · 1457 unmodified lines
1458 .version = LIBAVUTIL_VERSION_INT,1458 .version = LIBAVUTIL_VERSION_INT,
1459};1459};
1460 1460
1461const AVCodec ff_flac_encoder = {1461const FFCodec ff_flac_encoder = {
1462 .name = "flac",1462 .p.name = "flac",
1463 .long_name = NULL_IF_CONFIG_SMALL("FLAC (Free Lossless Audio Codec)"),1463 .p.long_name = NULL_IF_CONFIG_SMALL("FLAC (Free Lossless Audio Codec)"),
1464 .type = AVMEDIA_TYPE_AUDIO,1464 .p.type = AVMEDIA_TYPE_AUDIO,
1465 .id = AV_CODEC_ID_FLAC,1465 .p.id = AV_CODEC_ID_FLAC,
1466 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY |1466 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY |
1467 AV_CODEC_CAP_SMALL_LAST_FRAME,1467 AV_CODEC_CAP_SMALL_LAST_FRAME,
1468 .priv_data_size = sizeof(FlacEncodeContext),1468 .priv_data_size = sizeof(FlacEncodeContext),
1469 .init = flac_encode_init,1469 .init = flac_encode_init,
1470 .encode2 = flac_encode_frame,1470 .encode2 = flac_encode_frame,
1471 .close = flac_encode_close,1471 .close = flac_encode_close,
1472 .sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16,1472 .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16,
1473 AV_SAMPLE_FMT_S32,1473 AV_SAMPLE_FMT_S32,
1474 AV_SAMPLE_FMT_NONE },1474 AV_SAMPLE_FMT_NONE },
1475 .priv_class = &flac_encoder_class,1475 .p.priv_class = &flac_encoder_class,
1476 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,1476 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
1477};1477};
libavcodec/flashsv.c+14−14
@@ -494,18 +494,18 @@ static int flashsv_decode_frame(AVCodecContext *avctx, void *data, · 493 unmodified lines
494}494}
495 495
496#if CONFIG_FLASHSV_DECODER496#if CONFIG_FLASHSV_DECODER
497const AVCodec ff_flashsv_decoder = {497const FFCodec ff_flashsv_decoder = {
498 .name = "flashsv",498 .p.name = "flashsv",
499 .long_name = NULL_IF_CONFIG_SMALL("Flash Screen Video v1"),499 .p.long_name = NULL_IF_CONFIG_SMALL("Flash Screen Video v1"),
500 .type = AVMEDIA_TYPE_VIDEO,500 .p.type = AVMEDIA_TYPE_VIDEO,
501 .id = AV_CODEC_ID_FLASHSV,501 .p.id = AV_CODEC_ID_FLASHSV,
502 .priv_data_size = sizeof(FlashSVContext),502 .priv_data_size = sizeof(FlashSVContext),
503 .init = flashsv_decode_init,503 .init = flashsv_decode_init,
504 .close = flashsv_decode_end,504 .close = flashsv_decode_end,
505 .decode = flashsv_decode_frame,505 .decode = flashsv_decode_frame,
506 .capabilities = AV_CODEC_CAP_DR1,506 .p.capabilities = AV_CODEC_CAP_DR1,
507 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,507 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
508 .pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_BGR24, AV_PIX_FMT_NONE },508 .p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_BGR24, AV_PIX_FMT_NONE },
509};509};
510#endif /* CONFIG_FLASHSV_DECODER */510#endif /* CONFIG_FLASHSV_DECODER */
511 511
@@ -561,17 +561,17 @@ static av_cold int flashsv2_decode_end(AVCodecContext *avctx) · 49 unmodified lines
561 return 0;561 return 0;
562}562}
563 563
564const AVCodec ff_flashsv2_decoder = {564const FFCodec ff_flashsv2_decoder = {
565 .name = "flashsv2",565 .p.name = "flashsv2",
566 .long_name = NULL_IF_CONFIG_SMALL("Flash Screen Video v2"),566 .p.long_name = NULL_IF_CONFIG_SMALL("Flash Screen Video v2"),
567 .type = AVMEDIA_TYPE_VIDEO,567 .p.type = AVMEDIA_TYPE_VIDEO,
568 .id = AV_CODEC_ID_FLASHSV2,568 .p.id = AV_CODEC_ID_FLASHSV2,
569 .priv_data_size = sizeof(FlashSVContext),569 .priv_data_size = sizeof(FlashSVContext),
570 .init = flashsv2_decode_init,570 .init = flashsv2_decode_init,
571 .close = flashsv2_decode_end,571 .close = flashsv2_decode_end,
572 .decode = flashsv_decode_frame,572 .decode = flashsv_decode_frame,
573 .capabilities = AV_CODEC_CAP_DR1,573 .p.capabilities = AV_CODEC_CAP_DR1,
574 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,574 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
575 .pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_BGR24, AV_PIX_FMT_NONE },575 .p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_BGR24, AV_PIX_FMT_NONE },
576};576};
577#endif /* CONFIG_FLASHSV2_DECODER */577#endif /* CONFIG_FLASHSV2_DECODER */
libavcodec/flashsv2enc.c+6−6
@@ -910,15 +910,15 @@ static av_cold int flashsv2_encode_end(AVCodecContext * avctx) · 909 unmodified lines
910 return 0;910 return 0;
911}911}
912 912
913const AVCodec ff_flashsv2_encoder = {913const FFCodec ff_flashsv2_encoder = {
914 .name = "flashsv2",914 .p.name = "flashsv2",
915 .long_name = NULL_IF_CONFIG_SMALL("Flash Screen Video Version 2"),915 .p.long_name = NULL_IF_CONFIG_SMALL("Flash Screen Video Version 2"),
916 .type = AVMEDIA_TYPE_VIDEO,916 .p.type = AVMEDIA_TYPE_VIDEO,
917 .id = AV_CODEC_ID_FLASHSV2,917 .p.id = AV_CODEC_ID_FLASHSV2,
918 .priv_data_size = sizeof(FlashSV2Context),918 .priv_data_size = sizeof(FlashSV2Context),
919 .init = flashsv2_encode_init,919 .init = flashsv2_encode_init,
920 .encode2 = flashsv2_encode_frame,920 .encode2 = flashsv2_encode_frame,
921 .close = flashsv2_encode_end,921 .close = flashsv2_encode_end,
922 .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_BGR24, AV_PIX_FMT_NONE },922 .p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_BGR24, AV_PIX_FMT_NONE },
923 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,923 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
924};924};
libavcodec/flashsvenc.c+6−6
@@ -257,15 +257,15 @@ static int flashsv_encode_frame(AVCodecContext *avctx, AVPacket *pkt, · 256 unmodified lines
257 return 0;257 return 0;
258}258}
259 259
260const AVCodec ff_flashsv_encoder = {260const FFCodec ff_flashsv_encoder = {
261 .name = "flashsv",261 .p.name = "flashsv",
262 .long_name = NULL_IF_CONFIG_SMALL("Flash Screen Video"),262 .p.long_name = NULL_IF_CONFIG_SMALL("Flash Screen Video"),
263 .type = AVMEDIA_TYPE_VIDEO,263 .p.type = AVMEDIA_TYPE_VIDEO,
264 .id = AV_CODEC_ID_FLASHSV,264 .p.id = AV_CODEC_ID_FLASHSV,
265 .priv_data_size = sizeof(FlashSVContext),265 .priv_data_size = sizeof(FlashSVContext),
266 .init = flashsv_encode_init,266 .init = flashsv_encode_init,
267 .encode2 = flashsv_encode_frame,267 .encode2 = flashsv_encode_frame,
268 .close = flashsv_encode_end,268 .close = flashsv_encode_end,
269 .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_BGR24, AV_PIX_FMT_NONE },269 .p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_BGR24, AV_PIX_FMT_NONE },
270 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,270 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
271};271};
libavcodec/flicvideo.c+6−6
@@ -1105,15 +1105,15 @@ static av_cold int flic_decode_end(AVCodecContext *avctx) · 1104 unmodified lines
1105 return 0;1105 return 0;
1106}1106}
1107 1107
1108const AVCodec ff_flic_decoder = {1108const FFCodec ff_flic_decoder = {
1109 .name = "flic",1109 .p.name = "flic",
1110 .long_name = NULL_IF_CONFIG_SMALL("Autodesk Animator Flic video"),1110 .p.long_name = NULL_IF_CONFIG_SMALL("Autodesk Animator Flic video"),
1111 .type = AVMEDIA_TYPE_VIDEO,1111 .p.type = AVMEDIA_TYPE_VIDEO,
1112 .id = AV_CODEC_ID_FLIC,1112 .p.id = AV_CODEC_ID_FLIC,
1113 .priv_data_size = sizeof(FlicDecodeContext),1113 .priv_data_size = sizeof(FlicDecodeContext),
1114 .init = flic_decode_init,1114 .init = flic_decode_init,
1115 .close = flic_decode_end,1115 .close = flic_decode_end,
1116 .decode = flic_decode_frame,1116 .decode = flic_decode_frame,
1117 .capabilities = AV_CODEC_CAP_DR1,1117 .p.capabilities = AV_CODEC_CAP_DR1,
1118 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,1118 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
1119};1119};
libavcodec/flvdec.c+8−8
@@ -113,19 +113,19 @@ int ff_flv_decode_picture_header(MpegEncContext *s) · 112 unmodified lines
113 return 0;113 return 0;
114}114}
115 115
116const AVCodec ff_flv_decoder = {116const FFCodec ff_flv_decoder = {
117 .name = "flv",117 .p.name = "flv",
118 .long_name = NULL_IF_CONFIG_SMALL("FLV / Sorenson Spark / Sorenson H.263 (Flash Video)"),118 .p.long_name = NULL_IF_CONFIG_SMALL("FLV / Sorenson Spark / Sorenson H.263 (Flash Video)"),
119 .type = AVMEDIA_TYPE_VIDEO,119 .p.type = AVMEDIA_TYPE_VIDEO,
120 .id = AV_CODEC_ID_FLV1,120 .p.id = AV_CODEC_ID_FLV1,
121 .priv_data_size = sizeof(MpegEncContext),121 .priv_data_size = sizeof(MpegEncContext),
122 .init = ff_h263_decode_init,122 .init = ff_h263_decode_init,
123 .close = ff_h263_decode_end,123 .close = ff_h263_decode_end,
124 .decode = ff_h263_decode_frame,124 .decode = ff_h263_decode_frame,
125 .capabilities = AV_CODEC_CAP_DRAW_HORIZ_BAND | AV_CODEC_CAP_DR1,125 .p.capabilities = AV_CODEC_CAP_DRAW_HORIZ_BAND | AV_CODEC_CAP_DR1,
126 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |126 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |
127 FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM,127 FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM,
128 .max_lowres = 3,128 .p.max_lowres = 3,
129 .pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P,129 .p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P,
130 AV_PIX_FMT_NONE },130 AV_PIX_FMT_NONE },
131};131};
libavcodec/flvenc.c+7−7
@@ -92,17 +92,17 @@ void ff_flv2_encode_ac_esc(PutBitContext *pb, int slevel, int level, · 91 unmodified lines
92 }92 }
93}93}
94 94
95const AVCodec ff_flv_encoder = {95const FFCodec ff_flv_encoder = {
96 .name = "flv",96 .p.name = "flv",
97 .long_name = NULL_IF_CONFIG_SMALL("FLV / Sorenson Spark / Sorenson H.263 (Flash Video)"),97 .p.long_name = NULL_IF_CONFIG_SMALL("FLV / Sorenson Spark / Sorenson H.263 (Flash Video)"),
98 .type = AVMEDIA_TYPE_VIDEO,98 .p.type = AVMEDIA_TYPE_VIDEO,
99 .id = AV_CODEC_ID_FLV1,99 .p.id = AV_CODEC_ID_FLV1,
100 .priv_class = &ff_mpv_enc_class,100 .p.priv_class = &ff_mpv_enc_class,
101 .priv_data_size = sizeof(MpegEncContext),101 .priv_data_size = sizeof(MpegEncContext),
102 .init = ff_mpv_encode_init,102 .init = ff_mpv_encode_init,
103 .encode2 = ff_mpv_encode_picture,103 .encode2 = ff_mpv_encode_picture,
104 .close = ff_mpv_encode_end,104 .close = ff_mpv_encode_end,
105 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,105 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
106 .pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P,106 .p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P,
107 AV_PIX_FMT_NONE},107 AV_PIX_FMT_NONE},
108};108};
libavcodec/fmvc.c+6−6
@@ -627,16 +627,16 @@ static av_cold int decode_close(AVCodecContext *avctx) · 626 unmodified lines
627 return 0;627 return 0;
628}628}
629 629
630const AVCodec ff_fmvc_decoder = {630const FFCodec ff_fmvc_decoder = {
631 .name = "fmvc",631 .p.name = "fmvc",
632 .long_name = NULL_IF_CONFIG_SMALL("FM Screen Capture Codec"),632 .p.long_name = NULL_IF_CONFIG_SMALL("FM Screen Capture Codec"),
633 .type = AVMEDIA_TYPE_VIDEO,633 .p.type = AVMEDIA_TYPE_VIDEO,
634 .id = AV_CODEC_ID_FMVC,634 .p.id = AV_CODEC_ID_FMVC,
635 .priv_data_size = sizeof(FMVCContext),635 .priv_data_size = sizeof(FMVCContext),
636 .init = decode_init,636 .init = decode_init,
637 .close = decode_close,637 .close = decode_close,
638 .decode = decode_frame,638 .decode = decode_frame,
639 .capabilities = AV_CODEC_CAP_DR1,639 .p.capabilities = AV_CODEC_CAP_DR1,
640 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |640 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |
641 FF_CODEC_CAP_INIT_CLEANUP,641 FF_CODEC_CAP_INIT_CLEANUP,
642};642};
libavcodec/frame_thread_encoder.c+2−1
@@ -28,6 +28,7 @@ · 27 unmodified lines
28#include "libavutil/opt.h"28#include "libavutil/opt.h"
29#include "libavutil/thread.h"29#include "libavutil/thread.h"
30#include "avcodec.h"30#include "avcodec.h"
31#include "codec_internal.h"
31#include "internal.h"32#include "internal.h"
32#include "pthread_internal.h"33#include "pthread_internal.h"
33#include "thread.h"34#include "thread.h"
@@ -103,7 +104,7 @@ static void * attribute_align_arg worker(void *v){ · 69 unmodified lines
103 frame = task->indata;104 frame = task->indata;
104 pkt = task->outdata;105 pkt = task->outdata;
105 106
106 ret = avctx->codec->encode2(avctx, pkt, frame, &got_packet);107 ret = ffcodec(avctx->codec)->encode2(avctx, pkt, frame, &got_packet);
107 if(got_packet) {108 if(got_packet) {
108 int ret2 = av_packet_make_refcounted(pkt);109 int ret2 = av_packet_make_refcounted(pkt);
109 if (ret >= 0 && ret2 < 0)110 if (ret >= 0 && ret2 < 0)
libavcodec/fraps.c+6−6
@@ -341,15 +341,15 @@ static av_cold int decode_end(AVCodecContext *avctx) · 340 unmodified lines
341}341}
342 342
343 343
344const AVCodec ff_fraps_decoder = {344const FFCodec ff_fraps_decoder = {
345 .name = "fraps",345 .p.name = "fraps",
346 .long_name = NULL_IF_CONFIG_SMALL("Fraps"),346 .p.long_name = NULL_IF_CONFIG_SMALL("Fraps"),
347 .type = AVMEDIA_TYPE_VIDEO,347 .p.type = AVMEDIA_TYPE_VIDEO,
348 .id = AV_CODEC_ID_FRAPS,348 .p.id = AV_CODEC_ID_FRAPS,
349 .priv_data_size = sizeof(FrapsContext),349 .priv_data_size = sizeof(FrapsContext),
350 .init = decode_init,350 .init = decode_init,
351 .close = decode_end,351 .close = decode_end,
352 .decode = decode_frame,352 .decode = decode_frame,
353 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,353 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
354 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,354 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
355};355};
libavcodec/frwu.c+7−7
@@ -116,15 +116,15 @@ static const AVClass frwu_class = { · 115 unmodified lines
116 .version = LIBAVUTIL_VERSION_INT,116 .version = LIBAVUTIL_VERSION_INT,
117};117};
118 118
119const AVCodec ff_frwu_decoder = {119const FFCodec ff_frwu_decoder = {
120 .name = "frwu",120 .p.name = "frwu",
121 .long_name = NULL_IF_CONFIG_SMALL("Forward Uncompressed"),121 .p.long_name = NULL_IF_CONFIG_SMALL("Forward Uncompressed"),
122 .type = AVMEDIA_TYPE_VIDEO,122 .p.type = AVMEDIA_TYPE_VIDEO,
123 .id = AV_CODEC_ID_FRWU,123 .p.id = AV_CODEC_ID_FRWU,
124 .priv_data_size = sizeof(FRWUContext),124 .priv_data_size = sizeof(FRWUContext),
125 .init = decode_init,125 .init = decode_init,
126 .decode = decode_frame,126 .decode = decode_frame,
127 .capabilities = AV_CODEC_CAP_DR1,127 .p.capabilities = AV_CODEC_CAP_DR1,
128 .priv_class = &frwu_class,128 .p.priv_class = &frwu_class,
129 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,129 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
130};130};
libavcodec/g2meet.c+6−6
@@ -1623,15 +1623,15 @@ static av_cold int g2m_decode_end(AVCodecContext *avctx) · 1622 unmodified lines
1623 return 0;1623 return 0;
1624}1624}
1625 1625
1626const AVCodec ff_g2m_decoder = {1626const FFCodec ff_g2m_decoder = {
1627 .name = "g2m",1627 .p.name = "g2m",
1628 .long_name = NULL_IF_CONFIG_SMALL("Go2Meeting"),1628 .p.long_name = NULL_IF_CONFIG_SMALL("Go2Meeting"),
1629 .type = AVMEDIA_TYPE_VIDEO,1629 .p.type = AVMEDIA_TYPE_VIDEO,
1630 .id = AV_CODEC_ID_G2M,1630 .p.id = AV_CODEC_ID_G2M,
1631 .priv_data_size = sizeof(G2MContext),1631 .priv_data_size = sizeof(G2MContext),
1632 .init = g2m_decode_init,1632 .init = g2m_decode_init,
1633 .close = g2m_decode_end,1633 .close = g2m_decode_end,
1634 .decode = g2m_decode_frame,1634 .decode = g2m_decode_frame,
1635 .capabilities = AV_CODEC_CAP_DR1,1635 .p.capabilities = AV_CODEC_CAP_DR1,
1636 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,1636 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
1637};1637};
libavcodec/g722dec.c+7−7
@@ -140,15 +140,15 @@ static int g722_decode_frame(AVCodecContext *avctx, void *data, · 139 unmodified lines
140 return avpkt->size;140 return avpkt->size;
141}141}
142 142
143const AVCodec ff_adpcm_g722_decoder = {143const FFCodec ff_adpcm_g722_decoder = {
144 .name = "g722",144 .p.name = "g722",
145 .long_name = NULL_IF_CONFIG_SMALL("G.722 ADPCM"),145 .p.long_name = NULL_IF_CONFIG_SMALL("G.722 ADPCM"),
146 .type = AVMEDIA_TYPE_AUDIO,146 .p.type = AVMEDIA_TYPE_AUDIO,
147 .id = AV_CODEC_ID_ADPCM_G722,147 .p.id = AV_CODEC_ID_ADPCM_G722,
148 .priv_data_size = sizeof(G722Context),148 .priv_data_size = sizeof(G722Context),
149 .init = g722_decode_init,149 .init = g722_decode_init,
150 .decode = g722_decode_frame,150 .decode = g722_decode_frame,
151 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,151 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
152 .priv_class = &g722_decoder_class,152 .p.priv_class = &g722_decoder_class,
153 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,153 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
154};154};
libavcodec/g722enc.c+9−9
@@ -371,21 +371,21 @@ static int g722_encode_frame(AVCodecContext *avctx, AVPacket *avpkt, · 370 unmodified lines
371 return 0;371 return 0;
372}372}
373 373
374const AVCodec ff_adpcm_g722_encoder = {374const FFCodec ff_adpcm_g722_encoder = {
375 .name = "g722",375 .p.name = "g722",
376 .long_name = NULL_IF_CONFIG_SMALL("G.722 ADPCM"),376 .p.long_name = NULL_IF_CONFIG_SMALL("G.722 ADPCM"),
377 .type = AVMEDIA_TYPE_AUDIO,377 .p.type = AVMEDIA_TYPE_AUDIO,
378 .id = AV_CODEC_ID_ADPCM_G722,378 .p.id = AV_CODEC_ID_ADPCM_G722,
379 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SMALL_LAST_FRAME,379 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SMALL_LAST_FRAME,
380 .priv_data_size = sizeof(G722Context),380 .priv_data_size = sizeof(G722Context),
381 .init = g722_encode_init,381 .init = g722_encode_init,
382 .close = g722_encode_close,382 .close = g722_encode_close,
383 .encode2 = g722_encode_frame,383 .encode2 = g722_encode_frame,
384 .sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_NONE },384 .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_NONE },
385#if FF_API_OLD_CHANNEL_LAYOUT385#if FF_API_OLD_CHANNEL_LAYOUT
386 .channel_layouts = (const uint64_t[]){ AV_CH_LAYOUT_MONO, 0 },386 .p.channel_layouts = (const uint64_t[]){ AV_CH_LAYOUT_MONO, 0 },
387#endif387#endif
388 .ch_layouts = (const AVChannelLayout[]){388 .p.ch_layouts = (const AVChannelLayout[]){
389 AV_CHANNEL_LAYOUT_MONO, { 0 }389 AV_CHANNEL_LAYOUT_MONO, { 0 }
390 },390 },
391 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,391 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
libavcodec/g723_1dec.c+7−7
@@ -1112,15 +1112,15 @@ static const AVClass g723_1dec_class = { · 1111 unmodified lines
1112 .version = LIBAVUTIL_VERSION_INT,1112 .version = LIBAVUTIL_VERSION_INT,
1113};1113};
1114 1114
1115const AVCodec ff_g723_1_decoder = {1115const FFCodec ff_g723_1_decoder = {
1116 .name = "g723_1",1116 .p.name = "g723_1",
1117 .long_name = NULL_IF_CONFIG_SMALL("G.723.1"),1117 .p.long_name = NULL_IF_CONFIG_SMALL("G.723.1"),
1118 .type = AVMEDIA_TYPE_AUDIO,1118 .p.type = AVMEDIA_TYPE_AUDIO,
1119 .id = AV_CODEC_ID_G723_1,1119 .p.id = AV_CODEC_ID_G723_1,
1120 .priv_data_size = sizeof(G723_1_Context),1120 .priv_data_size = sizeof(G723_1_Context),
1121 .init = g723_1_decode_init,1121 .init = g723_1_decode_init,
1122 .decode = g723_1_decode_frame,1122 .decode = g723_1_decode_frame,
1123 .capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1,1123 .p.capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1,
1124 .priv_class = &g723_1dec_class,1124 .p.priv_class = &g723_1dec_class,
1125 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,1125 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
1126};1126};
libavcodec/g723_1enc.c+8−8
@@ -1238,20 +1238,20 @@ static const AVCodecDefault defaults[] = { · 1237 unmodified lines
1238 { NULL },1238 { NULL },
1239};1239};
1240 1240
1241const AVCodec ff_g723_1_encoder = {1241const FFCodec ff_g723_1_encoder = {
1242 .name = "g723_1",1242 .p.name = "g723_1",
1243 .long_name = NULL_IF_CONFIG_SMALL("G.723.1"),1243 .p.long_name = NULL_IF_CONFIG_SMALL("G.723.1"),
1244 .type = AVMEDIA_TYPE_AUDIO,1244 .p.type = AVMEDIA_TYPE_AUDIO,
1245 .id = AV_CODEC_ID_G723_1,1245 .p.id = AV_CODEC_ID_G723_1,
1246 .capabilities = AV_CODEC_CAP_DR1,1246 .p.capabilities = AV_CODEC_CAP_DR1,
1247 .priv_data_size = sizeof(G723_1_Context),1247 .priv_data_size = sizeof(G723_1_Context),
1248 .init = g723_1_encode_init,1248 .init = g723_1_encode_init,
1249 .encode2 = g723_1_encode_frame,1249 .encode2 = g723_1_encode_frame,
1250 .defaults = defaults,1250 .defaults = defaults,
1251 .sample_fmts = (const enum AVSampleFormat[]) {1251 .p.sample_fmts = (const enum AVSampleFormat[]) {
1252 AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_NONE1252 AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_NONE
1253 },1253 },
1254 .ch_layouts = (const AVChannelLayout[]){1254 .p.ch_layouts = (const AVChannelLayout[]){
1255 AV_CHANNEL_LAYOUT_MONO, { 0 }1255 AV_CHANNEL_LAYOUT_MONO, { 0 }
1256 },1256 },
1257 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,1257 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
libavcodec/g726.c+28−28
@@ -400,36 +400,36 @@ static const AVCodecDefault defaults[] = { · 399 unmodified lines
400#endif400#endif
401 401
402#if CONFIG_ADPCM_G726_ENCODER402#if CONFIG_ADPCM_G726_ENCODER
403const AVCodec ff_adpcm_g726_encoder = {403const FFCodec ff_adpcm_g726_encoder = {
404 .name = "g726",404 .p.name = "g726",
405 .long_name = NULL_IF_CONFIG_SMALL("G.726 ADPCM"),405 .p.long_name = NULL_IF_CONFIG_SMALL("G.726 ADPCM"),
406 .type = AVMEDIA_TYPE_AUDIO,406 .p.type = AVMEDIA_TYPE_AUDIO,
407 .id = AV_CODEC_ID_ADPCM_G726,407 .p.id = AV_CODEC_ID_ADPCM_G726,
408 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SMALL_LAST_FRAME,408 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SMALL_LAST_FRAME,
409 .priv_data_size = sizeof(G726Context),409 .priv_data_size = sizeof(G726Context),
410 .init = g726_encode_init,410 .init = g726_encode_init,
411 .encode2 = g726_encode_frame,411 .encode2 = g726_encode_frame,
412 .sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16,412 .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16,
413 AV_SAMPLE_FMT_NONE },413 AV_SAMPLE_FMT_NONE },
414 .priv_class = &g726_class,414 .p.priv_class = &g726_class,
415 .defaults = defaults,415 .defaults = defaults,
416 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,416 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
417};417};
418#endif418#endif
419 419
420#if CONFIG_ADPCM_G726LE_ENCODER420#if CONFIG_ADPCM_G726LE_ENCODER
421const AVCodec ff_adpcm_g726le_encoder = {421const FFCodec ff_adpcm_g726le_encoder = {
422 .name = "g726le",422 .p.name = "g726le",
423 .long_name = NULL_IF_CONFIG_SMALL("G.726 little endian ADPCM (\"right-justified\")"),423 .p.long_name = NULL_IF_CONFIG_SMALL("G.726 little endian ADPCM (\"right-justified\")"),
424 .type = AVMEDIA_TYPE_AUDIO,424 .p.type = AVMEDIA_TYPE_AUDIO,
425 .id = AV_CODEC_ID_ADPCM_G726LE,425 .p.id = AV_CODEC_ID_ADPCM_G726LE,
426 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SMALL_LAST_FRAME,426 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SMALL_LAST_FRAME,
427 .priv_data_size = sizeof(G726Context),427 .priv_data_size = sizeof(G726Context),
428 .init = g726_encode_init,428 .init = g726_encode_init,
429 .encode2 = g726_encode_frame,429 .encode2 = g726_encode_frame,
430 .sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16,430 .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16,
431 AV_SAMPLE_FMT_NONE },431 AV_SAMPLE_FMT_NONE },
432 .priv_class = &g726_class,432 .p.priv_class = &g726_class,
433 .defaults = defaults,433 .defaults = defaults,
434 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,434 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
435};435};
@@ -503,31 +503,31 @@ static void g726_decode_flush(AVCodecContext *avctx) · 67 unmodified lines
503#endif503#endif
504 504
505#if CONFIG_ADPCM_G726_DECODER505#if CONFIG_ADPCM_G726_DECODER
506const AVCodec ff_adpcm_g726_decoder = {506const FFCodec ff_adpcm_g726_decoder = {
507 .name = "g726",507 .p.name = "g726",
508 .long_name = NULL_IF_CONFIG_SMALL("G.726 ADPCM"),508 .p.long_name = NULL_IF_CONFIG_SMALL("G.726 ADPCM"),
509 .type = AVMEDIA_TYPE_AUDIO,509 .p.type = AVMEDIA_TYPE_AUDIO,
510 .id = AV_CODEC_ID_ADPCM_G726,510 .p.id = AV_CODEC_ID_ADPCM_G726,
511 .priv_data_size = sizeof(G726Context),511 .priv_data_size = sizeof(G726Context),
512 .init = g726_decode_init,512 .init = g726_decode_init,
513 .decode = g726_decode_frame,513 .decode = g726_decode_frame,
514 .flush = g726_decode_flush,514 .flush = g726_decode_flush,
515 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,515 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
516 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,516 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
517};517};
518#endif518#endif
519 519
520#if CONFIG_ADPCM_G726LE_DECODER520#if CONFIG_ADPCM_G726LE_DECODER
521const AVCodec ff_adpcm_g726le_decoder = {521const FFCodec ff_adpcm_g726le_decoder = {
522 .name = "g726le",522 .p.name = "g726le",
523 .type = AVMEDIA_TYPE_AUDIO,523 .p.type = AVMEDIA_TYPE_AUDIO,
524 .id = AV_CODEC_ID_ADPCM_G726LE,524 .p.id = AV_CODEC_ID_ADPCM_G726LE,
525 .priv_data_size = sizeof(G726Context),525 .priv_data_size = sizeof(G726Context),
526 .init = g726_decode_init,526 .init = g726_decode_init,
527 .decode = g726_decode_frame,527 .decode = g726_decode_frame,
528 .flush = g726_decode_flush,528 .flush = g726_decode_flush,
529 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,529 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
530 .long_name = NULL_IF_CONFIG_SMALL("G.726 ADPCM little-endian"),530 .p.long_name = NULL_IF_CONFIG_SMALL("G.726 ADPCM little-endian"),
531 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,531 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
532};532};
533#endif533#endif
libavcodec/g729dec.c+12−12
@@ -753,28 +753,28 @@ static av_cold int decode_close(AVCodecContext *avctx) · 752 unmodified lines
753 return 0;753 return 0;
754}754}
755 755
756const AVCodec ff_g729_decoder = {756const FFCodec ff_g729_decoder = {
757 .name = "g729",757 .p.name = "g729",
758 .long_name = NULL_IF_CONFIG_SMALL("G.729"),758 .p.long_name = NULL_IF_CONFIG_SMALL("G.729"),
759 .type = AVMEDIA_TYPE_AUDIO,759 .p.type = AVMEDIA_TYPE_AUDIO,
760 .id = AV_CODEC_ID_G729,760 .p.id = AV_CODEC_ID_G729,
761 .priv_data_size = sizeof(G729Context),761 .priv_data_size = sizeof(G729Context),
762 .init = decoder_init,762 .init = decoder_init,
763 .decode = decode_frame,763 .decode = decode_frame,
764 .close = decode_close,764 .close = decode_close,
765 .capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1,765 .p.capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1,
766 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,766 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
767};767};
768 768
769const AVCodec ff_acelp_kelvin_decoder = {769const FFCodec ff_acelp_kelvin_decoder = {
770 .name = "acelp.kelvin",770 .p.name = "acelp.kelvin",
771 .long_name = NULL_IF_CONFIG_SMALL("Sipro ACELP.KELVIN"),771 .p.long_name = NULL_IF_CONFIG_SMALL("Sipro ACELP.KELVIN"),
772 .type = AVMEDIA_TYPE_AUDIO,772 .p.type = AVMEDIA_TYPE_AUDIO,
773 .id = AV_CODEC_ID_ACELP_KELVIN,773 .p.id = AV_CODEC_ID_ACELP_KELVIN,
774 .priv_data_size = sizeof(G729Context),774 .priv_data_size = sizeof(G729Context),
775 .init = decoder_init,775 .init = decoder_init,
776 .decode = decode_frame,776 .decode = decode_frame,
777 .close = decode_close,777 .close = decode_close,
778 .capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1,778 .p.capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1,
779 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,779 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
780};780};
libavcodec/gdv.c+6−6
@@ -561,15 +561,15 @@ static av_cold int gdv_decode_close(AVCodecContext *avctx) · 560 unmodified lines
561 return 0;561 return 0;
562}562}
563 563
564const AVCodec ff_gdv_decoder = {564const FFCodec ff_gdv_decoder = {
565 .name = "gdv",565 .p.name = "gdv",
566 .long_name = NULL_IF_CONFIG_SMALL("Gremlin Digital Video"),566 .p.long_name = NULL_IF_CONFIG_SMALL("Gremlin Digital Video"),
567 .type = AVMEDIA_TYPE_VIDEO,567 .p.type = AVMEDIA_TYPE_VIDEO,
568 .id = AV_CODEC_ID_GDV,568 .p.id = AV_CODEC_ID_GDV,
569 .priv_data_size = sizeof(GDVContext),569 .priv_data_size = sizeof(GDVContext),
570 .init = gdv_decode_init,570 .init = gdv_decode_init,
571 .close = gdv_decode_close,571 .close = gdv_decode_close,
572 .decode = gdv_decode_frame,572 .decode = gdv_decode_frame,
573 .capabilities = AV_CODEC_CAP_DR1,573 .p.capabilities = AV_CODEC_CAP_DR1,
574 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,574 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
575};575};
libavcodec/gemdec.c+7−6
@@ -26,6 +26,7 @@ · 25 unmodified lines
26 26
27#include "avcodec.h"27#include "avcodec.h"
28#include "bytestream.h"28#include "bytestream.h"
29#include "codec_internal.h"
29#include "internal.h"30#include "internal.h"
30 31
31static const uint32_t gem_color_palette[16]={32static const uint32_t gem_color_palette[16]={
@@ -351,12 +352,12 @@ static av_cold int gem_close(AVCodecContext *avctx) · 319 unmodified lines
351 return 0;352 return 0;
352}353}
353 354
354const AVCodec ff_gem_decoder = {355const FFCodec ff_gem_decoder = {
355 .name = "gem",356 .p.name = "gem",
356 .long_name = NULL_IF_CONFIG_SMALL("GEM Raster image"),357 .p.long_name = NULL_IF_CONFIG_SMALL("GEM Raster image"),
357 .type = AVMEDIA_TYPE_VIDEO,358 .p.type = AVMEDIA_TYPE_VIDEO,
358 .id = AV_CODEC_ID_GEM,359 .p.id = AV_CODEC_ID_GEM,
360 .p.capabilities = AV_CODEC_CAP_DR1,
359 .decode = gem_decode_frame,361 .decode = gem_decode_frame,
360 .close = gem_close,362 .close = gem_close,
361 .capabilities = AV_CODEC_CAP_DR1,
362};363};
libavcodec/gif.c+7−7
@@ -552,19 +552,19 @@ static const AVClass gif_class = { · 551 unmodified lines
552 .version = LIBAVUTIL_VERSION_INT,552 .version = LIBAVUTIL_VERSION_INT,
553};553};
554 554
555const AVCodec ff_gif_encoder = {555const FFCodec ff_gif_encoder = {
556 .name = "gif",556 .p.name = "gif",
557 .long_name = NULL_IF_CONFIG_SMALL("GIF (Graphics Interchange Format)"),557 .p.long_name = NULL_IF_CONFIG_SMALL("GIF (Graphics Interchange Format)"),
558 .type = AVMEDIA_TYPE_VIDEO,558 .p.type = AVMEDIA_TYPE_VIDEO,
559 .id = AV_CODEC_ID_GIF,559 .p.id = AV_CODEC_ID_GIF,
560 .priv_data_size = sizeof(GIFContext),560 .priv_data_size = sizeof(GIFContext),
561 .init = gif_encode_init,561 .init = gif_encode_init,
562 .encode2 = gif_encode_frame,562 .encode2 = gif_encode_frame,
563 .close = gif_encode_close,563 .close = gif_encode_close,
564 .pix_fmts = (const enum AVPixelFormat[]){564 .p.pix_fmts = (const enum AVPixelFormat[]){
565 AV_PIX_FMT_RGB8, AV_PIX_FMT_BGR8, AV_PIX_FMT_RGB4_BYTE, AV_PIX_FMT_BGR4_BYTE,565 AV_PIX_FMT_RGB8, AV_PIX_FMT_BGR8, AV_PIX_FMT_RGB4_BYTE, AV_PIX_FMT_BGR4_BYTE,
566 AV_PIX_FMT_GRAY8, AV_PIX_FMT_PAL8, AV_PIX_FMT_NONE566 AV_PIX_FMT_GRAY8, AV_PIX_FMT_PAL8, AV_PIX_FMT_NONE
567 },567 },
568 .priv_class = &gif_class,568 .p.priv_class = &gif_class,
569 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,569 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
570};570};
libavcodec/gifdec.c+7−7
@@ -555,17 +555,17 @@ static const AVClass decoder_class = { · 554 unmodified lines
555 .category = AV_CLASS_CATEGORY_DECODER,555 .category = AV_CLASS_CATEGORY_DECODER,
556};556};
557 557
558const AVCodec ff_gif_decoder = {558const FFCodec ff_gif_decoder = {
559 .name = "gif",559 .p.name = "gif",
560 .long_name = NULL_IF_CONFIG_SMALL("GIF (Graphics Interchange Format)"),560 .p.long_name = NULL_IF_CONFIG_SMALL("GIF (Graphics Interchange Format)"),
561 .type = AVMEDIA_TYPE_VIDEO,561 .p.type = AVMEDIA_TYPE_VIDEO,
562 .id = AV_CODEC_ID_GIF,562 .p.id = AV_CODEC_ID_GIF,
563 .priv_data_size = sizeof(GifState),563 .priv_data_size = sizeof(GifState),
564 .init = gif_decode_init,564 .init = gif_decode_init,
565 .close = gif_decode_close,565 .close = gif_decode_close,
566 .decode = gif_decode_frame,566 .decode = gif_decode_frame,
567 .capabilities = AV_CODEC_CAP_DR1,567 .p.capabilities = AV_CODEC_CAP_DR1,
568 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |568 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |
569 FF_CODEC_CAP_INIT_CLEANUP,569 FF_CODEC_CAP_INIT_CLEANUP,
570 .priv_class = &decoder_class,570 .p.priv_class = &decoder_class,
571};571};
libavcodec/gsmdec.c+12−12
@@ -114,30 +114,30 @@ static void gsm_flush(AVCodecContext *avctx) · 113 unmodified lines
114}114}
115 115
116#if CONFIG_GSM_DECODER116#if CONFIG_GSM_DECODER
117const AVCodec ff_gsm_decoder = {117const FFCodec ff_gsm_decoder = {
118 .name = "gsm",118 .p.name = "gsm",
119 .long_name = NULL_IF_CONFIG_SMALL("GSM"),119 .p.long_name = NULL_IF_CONFIG_SMALL("GSM"),
120 .type = AVMEDIA_TYPE_AUDIO,120 .p.type = AVMEDIA_TYPE_AUDIO,
121 .id = AV_CODEC_ID_GSM,121 .p.id = AV_CODEC_ID_GSM,
122 .priv_data_size = sizeof(GSMContext),122 .priv_data_size = sizeof(GSMContext),
123 .init = gsm_init,123 .init = gsm_init,
124 .decode = gsm_decode_frame,124 .decode = gsm_decode_frame,
125 .flush = gsm_flush,125 .flush = gsm_flush,
126 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,126 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
127 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,127 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
128};128};
129#endif129#endif
130#if CONFIG_GSM_MS_DECODER130#if CONFIG_GSM_MS_DECODER
131const AVCodec ff_gsm_ms_decoder = {131const FFCodec ff_gsm_ms_decoder = {
132 .name = "gsm_ms",132 .p.name = "gsm_ms",
133 .long_name = NULL_IF_CONFIG_SMALL("GSM Microsoft variant"),133 .p.long_name = NULL_IF_CONFIG_SMALL("GSM Microsoft variant"),
134 .type = AVMEDIA_TYPE_AUDIO,134 .p.type = AVMEDIA_TYPE_AUDIO,
135 .id = AV_CODEC_ID_GSM_MS,135 .p.id = AV_CODEC_ID_GSM_MS,
136 .priv_data_size = sizeof(GSMContext),136 .priv_data_size = sizeof(GSMContext),
137 .init = gsm_init,137 .init = gsm_init,
138 .decode = gsm_decode_frame,138 .decode = gsm_decode_frame,
139 .flush = gsm_flush,139 .flush = gsm_flush,
140 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,140 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
141 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,141 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
142};142};
143#endif143#endif
libavcodec/h261dec.c+7−7
@@ -681,16 +681,16 @@ static av_cold int h261_decode_end(AVCodecContext *avctx) · 680 unmodified lines
681 return 0;681 return 0;
682}682}
683 683
684const AVCodec ff_h261_decoder = {684const FFCodec ff_h261_decoder = {
685 .name = "h261",685 .p.name = "h261",
686 .long_name = NULL_IF_CONFIG_SMALL("H.261"),686 .p.long_name = NULL_IF_CONFIG_SMALL("H.261"),
687 .type = AVMEDIA_TYPE_VIDEO,687 .p.type = AVMEDIA_TYPE_VIDEO,
688 .id = AV_CODEC_ID_H261,688 .p.id = AV_CODEC_ID_H261,
689 .priv_data_size = sizeof(H261DecContext),689 .priv_data_size = sizeof(H261DecContext),
690 .init = h261_decode_init,690 .init = h261_decode_init,
691 .close = h261_decode_end,691 .close = h261_decode_end,
692 .decode = h261_decode_frame,692 .decode = h261_decode_frame,
693 .capabilities = AV_CODEC_CAP_DR1,693 .p.capabilities = AV_CODEC_CAP_DR1,
694 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,694 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
695 .max_lowres = 3,695 .p.max_lowres = 3,
696};696};
libavcodec/h261enc.c+7−7
@@ -400,17 +400,17 @@ av_cold void ff_h261_encode_init(MpegEncContext *s) · 399 unmodified lines
400 ff_thread_once(&init_static_once, h261_encode_init_static);400 ff_thread_once(&init_static_once, h261_encode_init_static);
401}401}
402 402
403const AVCodec ff_h261_encoder = {403const FFCodec ff_h261_encoder = {
404 .name = "h261",404 .p.name = "h261",
405 .long_name = NULL_IF_CONFIG_SMALL("H.261"),405 .p.long_name = NULL_IF_CONFIG_SMALL("H.261"),
406 .type = AVMEDIA_TYPE_VIDEO,406 .p.type = AVMEDIA_TYPE_VIDEO,
407 .id = AV_CODEC_ID_H261,407 .p.id = AV_CODEC_ID_H261,
408 .priv_class = &ff_mpv_enc_class,408 .p.priv_class = &ff_mpv_enc_class,
409 .priv_data_size = sizeof(H261EncContext),409 .priv_data_size = sizeof(H261EncContext),
410 .init = ff_mpv_encode_init,410 .init = ff_mpv_encode_init,
411 .encode2 = ff_mpv_encode_picture,411 .encode2 = ff_mpv_encode_picture,
412 .close = ff_mpv_encode_end,412 .close = ff_mpv_encode_end,
413 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,413 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
414 .pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P,414 .p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P,
415 AV_PIX_FMT_NONE },415 AV_PIX_FMT_NONE },
416};416};
libavcodec/h263dec.c+16−16
@@ -755,16 +755,16 @@ static const AVCodecHWConfigInternal *const h263_hw_config_list[] = { · 754 unmodified lines
755 NULL755 NULL
756};756};
757 757
758const AVCodec ff_h263_decoder = {758const FFCodec ff_h263_decoder = {
759 .name = "h263",759 .p.name = "h263",
760 .long_name = NULL_IF_CONFIG_SMALL("H.263 / H.263-1996, H.263+ / H.263-1998 / H.263 version 2"),760 .p.long_name = NULL_IF_CONFIG_SMALL("H.263 / H.263-1996, H.263+ / H.263-1998 / H.263 version 2"),
761 .type = AVMEDIA_TYPE_VIDEO,761 .p.type = AVMEDIA_TYPE_VIDEO,
762 .id = AV_CODEC_ID_H263,762 .p.id = AV_CODEC_ID_H263,
763 .priv_data_size = sizeof(MpegEncContext),763 .priv_data_size = sizeof(MpegEncContext),
764 .init = ff_h263_decode_init,764 .init = ff_h263_decode_init,
765 .close = ff_h263_decode_end,765 .close = ff_h263_decode_end,
766 .decode = ff_h263_decode_frame,766 .decode = ff_h263_decode_frame,
767 .capabilities = AV_CODEC_CAP_DRAW_HORIZ_BAND | AV_CODEC_CAP_DR1 |767 .p.capabilities = AV_CODEC_CAP_DRAW_HORIZ_BAND | AV_CODEC_CAP_DR1 |
768#if FF_API_FLAG_TRUNCATED768#if FF_API_FLAG_TRUNCATED
769 AV_CODEC_CAP_TRUNCATED |769 AV_CODEC_CAP_TRUNCATED |
770#endif770#endif
@@ -772,21 +772,21 @@ const AVCodec ff_h263_decoder = { · 1 unmodified line
772 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |772 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |
773 FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM,773 FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM,
774 .flush = ff_mpeg_flush,774 .flush = ff_mpeg_flush,
775 .max_lowres = 3,775 .p.max_lowres = 3,
776 .pix_fmts = ff_h263_hwaccel_pixfmt_list_420,776 .p.pix_fmts = ff_h263_hwaccel_pixfmt_list_420,
777 .hw_configs = h263_hw_config_list,777 .hw_configs = h263_hw_config_list,
778};778};
779 779
780const AVCodec ff_h263p_decoder = {780const FFCodec ff_h263p_decoder = {
781 .name = "h263p",781 .p.name = "h263p",
782 .long_name = NULL_IF_CONFIG_SMALL("H.263 / H.263-1996, H.263+ / H.263-1998 / H.263 version 2"),782 .p.long_name = NULL_IF_CONFIG_SMALL("H.263 / H.263-1996, H.263+ / H.263-1998 / H.263 version 2"),
783 .type = AVMEDIA_TYPE_VIDEO,783 .p.type = AVMEDIA_TYPE_VIDEO,
784 .id = AV_CODEC_ID_H263P,784 .p.id = AV_CODEC_ID_H263P,
785 .priv_data_size = sizeof(MpegEncContext),785 .priv_data_size = sizeof(MpegEncContext),
786 .init = ff_h263_decode_init,786 .init = ff_h263_decode_init,
787 .close = ff_h263_decode_end,787 .close = ff_h263_decode_end,
788 .decode = ff_h263_decode_frame,788 .decode = ff_h263_decode_frame,
789 .capabilities = AV_CODEC_CAP_DRAW_HORIZ_BAND | AV_CODEC_CAP_DR1 |789 .p.capabilities = AV_CODEC_CAP_DRAW_HORIZ_BAND | AV_CODEC_CAP_DR1 |
790#if FF_API_FLAG_TRUNCATED790#if FF_API_FLAG_TRUNCATED
791 AV_CODEC_CAP_TRUNCATED |791 AV_CODEC_CAP_TRUNCATED |
792#endif792#endif
@@ -794,7 +794,7 @@ const AVCodec ff_h263p_decoder = { · 1 unmodified line
794 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |794 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |
795 FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM,795 FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM,
796 .flush = ff_mpeg_flush,796 .flush = ff_mpeg_flush,
797 .max_lowres = 3,797 .p.max_lowres = 3,
798 .pix_fmts = ff_h263_hwaccel_pixfmt_list_420,798 .p.pix_fmts = ff_h263_hwaccel_pixfmt_list_420,
799 .hw_configs = h263_hw_config_list,799 .hw_configs = h263_hw_config_list,
800};800};
libavcodec/h264dec.c+8−8
@@ -1069,16 +1069,16 @@ static const AVClass h264_class = { · 1068 unmodified lines
1069 .version = LIBAVUTIL_VERSION_INT,1069 .version = LIBAVUTIL_VERSION_INT,
1070};1070};
1071 1071
1072const AVCodec ff_h264_decoder = {1072const FFCodec ff_h264_decoder = {
1073 .name = "h264",1073 .p.name = "h264",
1074 .long_name = NULL_IF_CONFIG_SMALL("H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10"),1074 .p.long_name = NULL_IF_CONFIG_SMALL("H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10"),
1075 .type = AVMEDIA_TYPE_VIDEO,1075 .p.type = AVMEDIA_TYPE_VIDEO,
1076 .id = AV_CODEC_ID_H264,1076 .p.id = AV_CODEC_ID_H264,
1077 .priv_data_size = sizeof(H264Context),1077 .priv_data_size = sizeof(H264Context),
1078 .init = h264_decode_init,1078 .init = h264_decode_init,
1079 .close = h264_decode_end,1079 .close = h264_decode_end,
1080 .decode = h264_decode_frame,1080 .decode = h264_decode_frame,
1081 .capabilities = /*AV_CODEC_CAP_DRAW_HORIZ_BAND |*/ AV_CODEC_CAP_DR1 |1081 .p.capabilities = /*AV_CODEC_CAP_DRAW_HORIZ_BAND |*/ AV_CODEC_CAP_DR1 |
1082 AV_CODEC_CAP_DELAY | AV_CODEC_CAP_SLICE_THREADS |1082 AV_CODEC_CAP_DELAY | AV_CODEC_CAP_SLICE_THREADS |
1083 AV_CODEC_CAP_FRAME_THREADS,1083 AV_CODEC_CAP_FRAME_THREADS,
1084 .hw_configs = (const AVCodecHWConfigInternal *const []) {1084 .hw_configs = (const AVCodecHWConfigInternal *const []) {
@@ -1110,6 +1110,6 @@ const AVCodec ff_h264_decoder = { · 25 unmodified lines
1110 .flush = h264_decode_flush,1110 .flush = h264_decode_flush,
1111 .update_thread_context = ONLY_IF_THREADS_ENABLED(ff_h264_update_thread_context),1111 .update_thread_context = ONLY_IF_THREADS_ENABLED(ff_h264_update_thread_context),
1112 .update_thread_context_for_user = ONLY_IF_THREADS_ENABLED(ff_h264_update_thread_context_for_user),1112 .update_thread_context_for_user = ONLY_IF_THREADS_ENABLED(ff_h264_update_thread_context_for_user),
1113 .profiles = NULL_IF_CONFIG_SMALL(ff_h264_profiles),1113 .p.profiles = NULL_IF_CONFIG_SMALL(ff_h264_profiles),
1114 .priv_class = &h264_class,1114 .p.priv_class = &h264_class,
1115};1115};
libavcodec/hapdec.c+6−6
@@ -473,16 +473,16 @@ static av_cold int hap_close(AVCodecContext *avctx) · 472 unmodified lines
473 return 0;473 return 0;
474}474}
475 475
476const AVCodec ff_hap_decoder = {476const FFCodec ff_hap_decoder = {
477 .name = "hap",477 .p.name = "hap",
478 .long_name = NULL_IF_CONFIG_SMALL("Vidvox Hap"),478 .p.long_name = NULL_IF_CONFIG_SMALL("Vidvox Hap"),
479 .type = AVMEDIA_TYPE_VIDEO,479 .p.type = AVMEDIA_TYPE_VIDEO,
480 .id = AV_CODEC_ID_HAP,480 .p.id = AV_CODEC_ID_HAP,
481 .init = hap_init,481 .init = hap_init,
482 .decode = hap_decode,482 .decode = hap_decode,
483 .close = hap_close,483 .close = hap_close,
484 .priv_data_size = sizeof(HapContext),484 .priv_data_size = sizeof(HapContext),
485 .capabilities = AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_SLICE_THREADS |485 .p.capabilities = AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_SLICE_THREADS |
486 AV_CODEC_CAP_DR1,486 AV_CODEC_CAP_DR1,
487 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |487 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |
488 FF_CODEC_CAP_INIT_CLEANUP,488 FF_CODEC_CAP_INIT_CLEANUP,
libavcodec/hapenc.c+7−7
@@ -349,17 +349,17 @@ static const AVClass hapenc_class = { · 348 unmodified lines
349 .version = LIBAVUTIL_VERSION_INT,349 .version = LIBAVUTIL_VERSION_INT,
350};350};
351 351
352const AVCodec ff_hap_encoder = {352const FFCodec ff_hap_encoder = {
353 .name = "hap",353 .p.name = "hap",
354 .long_name = NULL_IF_CONFIG_SMALL("Vidvox Hap"),354 .p.long_name = NULL_IF_CONFIG_SMALL("Vidvox Hap"),
355 .type = AVMEDIA_TYPE_VIDEO,355 .p.type = AVMEDIA_TYPE_VIDEO,
356 .id = AV_CODEC_ID_HAP,356 .p.id = AV_CODEC_ID_HAP,
357 .priv_data_size = sizeof(HapContext),357 .priv_data_size = sizeof(HapContext),
358 .priv_class = &hapenc_class,358 .p.priv_class = &hapenc_class,
359 .init = hap_init,359 .init = hap_init,
360 .encode2 = hap_encode,360 .encode2 = hap_encode,
361 .close = hap_close,361 .close = hap_close,
362 .pix_fmts = (const enum AVPixelFormat[]) {362 .p.pix_fmts = (const enum AVPixelFormat[]) {
363 AV_PIX_FMT_RGBA, AV_PIX_FMT_NONE,363 AV_PIX_FMT_RGBA, AV_PIX_FMT_NONE,
364 },364 },
365 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |365 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |
libavcodec/hcadec.c+7−7
@@ -446,17 +446,17 @@ static av_cold int decode_close(AVCodecContext *avctx) · 445 unmodified lines
446 return 0;446 return 0;
447}447}
448 448
449const AVCodec ff_hca_decoder = {449const FFCodec ff_hca_decoder = {
450 .name = "hca",450 .p.name = "hca",
451 .long_name = NULL_IF_CONFIG_SMALL("CRI HCA"),451 .p.long_name = NULL_IF_CONFIG_SMALL("CRI HCA"),
452 .type = AVMEDIA_TYPE_AUDIO,452 .p.type = AVMEDIA_TYPE_AUDIO,
453 .id = AV_CODEC_ID_HCA,453 .p.id = AV_CODEC_ID_HCA,
454 .priv_data_size = sizeof(HCAContext),454 .priv_data_size = sizeof(HCAContext),
455 .init = decode_init,455 .init = decode_init,
456 .decode = decode_frame,456 .decode = decode_frame,
457 .close = decode_close,457 .close = decode_close,
458 .capabilities = AV_CODEC_CAP_DR1,458 .p.capabilities = AV_CODEC_CAP_DR1,
459 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,459 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
460 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,460 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
461 AV_SAMPLE_FMT_NONE },461 AV_SAMPLE_FMT_NONE },
462};462};
libavcodec/hcom.c+6−6
@@ -135,15 +135,15 @@ static av_cold int hcom_close(AVCodecContext *avctx) · 134 unmodified lines
135 return 0;135 return 0;
136}136}
137 137
138const AVCodec ff_hcom_decoder = {138const FFCodec ff_hcom_decoder = {
139 .name = "hcom",139 .p.name = "hcom",
140 .long_name = NULL_IF_CONFIG_SMALL("HCOM Audio"),140 .p.long_name = NULL_IF_CONFIG_SMALL("HCOM Audio"),
141 .type = AVMEDIA_TYPE_AUDIO,141 .p.type = AVMEDIA_TYPE_AUDIO,
142 .id = AV_CODEC_ID_HCOM,142 .p.id = AV_CODEC_ID_HCOM,
143 .priv_data_size = sizeof(HCOMContext),143 .priv_data_size = sizeof(HCOMContext),
144 .init = hcom_init,144 .init = hcom_init,
145 .close = hcom_close,145 .close = hcom_close,
146 .decode = hcom_decode,146 .decode = hcom_decode,
147 .capabilities = AV_CODEC_CAP_DR1,147 .p.capabilities = AV_CODEC_CAP_DR1,
148 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,148 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
149};149};
libavcodec/hevcdec.c+8−8
@@ -3875,23 +3875,23 @@ static const AVClass hevc_decoder_class = { · 3874 unmodified lines
3875 .version = LIBAVUTIL_VERSION_INT,3875 .version = LIBAVUTIL_VERSION_INT,
3876};3876};
3877 3877
3878const AVCodec ff_hevc_decoder = {3878const FFCodec ff_hevc_decoder = {
3879 .name = "hevc",3879 .p.name = "hevc",
3880 .long_name = NULL_IF_CONFIG_SMALL("HEVC (High Efficiency Video Coding)"),3880 .p.long_name = NULL_IF_CONFIG_SMALL("HEVC (High Efficiency Video Coding)"),
3881 .type = AVMEDIA_TYPE_VIDEO,3881 .p.type = AVMEDIA_TYPE_VIDEO,
3882 .id = AV_CODEC_ID_HEVC,3882 .p.id = AV_CODEC_ID_HEVC,
3883 .priv_data_size = sizeof(HEVCContext),3883 .priv_data_size = sizeof(HEVCContext),
3884 .priv_class = &hevc_decoder_class,3884 .p.priv_class = &hevc_decoder_class,
3885 .init = hevc_decode_init,3885 .init = hevc_decode_init,
3886 .close = hevc_decode_free,3886 .close = hevc_decode_free,
3887 .decode = hevc_decode_frame,3887 .decode = hevc_decode_frame,
3888 .flush = hevc_decode_flush,3888 .flush = hevc_decode_flush,
3889 .update_thread_context = ONLY_IF_THREADS_ENABLED(hevc_update_thread_context),3889 .update_thread_context = ONLY_IF_THREADS_ENABLED(hevc_update_thread_context),
3890 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY |3890 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY |
3891 AV_CODEC_CAP_SLICE_THREADS | AV_CODEC_CAP_FRAME_THREADS,3891 AV_CODEC_CAP_SLICE_THREADS | AV_CODEC_CAP_FRAME_THREADS,
3892 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_EXPORTS_CROPPING |3892 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_EXPORTS_CROPPING |
3893 FF_CODEC_CAP_ALLOCATE_PROGRESS | FF_CODEC_CAP_INIT_CLEANUP,3893 FF_CODEC_CAP_ALLOCATE_PROGRESS | FF_CODEC_CAP_INIT_CLEANUP,
3894 .profiles = NULL_IF_CONFIG_SMALL(ff_hevc_profiles),3894 .p.profiles = NULL_IF_CONFIG_SMALL(ff_hevc_profiles),
3895 .hw_configs = (const AVCodecHWConfigInternal *const []) {3895 .hw_configs = (const AVCodecHWConfigInternal *const []) {
3896#if CONFIG_HEVC_DXVA2_HWACCEL3896#if CONFIG_HEVC_DXVA2_HWACCEL
3897 HWACCEL_DXVA2(hevc),3897 HWACCEL_DXVA2(hevc),
libavcodec/hnm4video.c+6−6
@@ -498,15 +498,15 @@ static av_cold int hnm_decode_end(AVCodecContext *avctx) · 497 unmodified lines
498 return 0;498 return 0;
499}499}
500 500
501const AVCodec ff_hnm4_video_decoder = {501const FFCodec ff_hnm4_video_decoder = {
502 .name = "hnm4video",502 .p.name = "hnm4video",
503 .long_name = NULL_IF_CONFIG_SMALL("HNM 4 video"),503 .p.long_name = NULL_IF_CONFIG_SMALL("HNM 4 video"),
504 .type = AVMEDIA_TYPE_VIDEO,504 .p.type = AVMEDIA_TYPE_VIDEO,
505 .id = AV_CODEC_ID_HNM4_VIDEO,505 .p.id = AV_CODEC_ID_HNM4_VIDEO,
506 .priv_data_size = sizeof(Hnm4VideoContext),506 .priv_data_size = sizeof(Hnm4VideoContext),
507 .init = hnm_decode_init,507 .init = hnm_decode_init,
508 .close = hnm_decode_end,508 .close = hnm_decode_end,
509 .decode = hnm_decode_frame,509 .decode = hnm_decode_frame,
510 .capabilities = AV_CODEC_CAP_DR1,510 .p.capabilities = AV_CODEC_CAP_DR1,
511 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,511 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
512};512};
libavcodec/hq_hqa.c+6−6
@@ -382,16 +382,16 @@ static av_cold int hq_hqa_decode_close(AVCodecContext *avctx) · 381 unmodified lines
382 return 0;382 return 0;
383}383}
384 384
385const AVCodec ff_hq_hqa_decoder = {385const FFCodec ff_hq_hqa_decoder = {
386 .name = "hq_hqa",386 .p.name = "hq_hqa",
387 .long_name = NULL_IF_CONFIG_SMALL("Canopus HQ/HQA"),387 .p.long_name = NULL_IF_CONFIG_SMALL("Canopus HQ/HQA"),
388 .type = AVMEDIA_TYPE_VIDEO,388 .p.type = AVMEDIA_TYPE_VIDEO,
389 .id = AV_CODEC_ID_HQ_HQA,389 .p.id = AV_CODEC_ID_HQ_HQA,
390 .priv_data_size = sizeof(HQContext),390 .priv_data_size = sizeof(HQContext),
391 .init = hq_hqa_decode_init,391 .init = hq_hqa_decode_init,
392 .decode = hq_hqa_decode_frame,392 .decode = hq_hqa_decode_frame,
393 .close = hq_hqa_decode_close,393 .close = hq_hqa_decode_close,
394 .capabilities = AV_CODEC_CAP_DR1,394 .p.capabilities = AV_CODEC_CAP_DR1,
395 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |395 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |
396 FF_CODEC_CAP_INIT_CLEANUP,396 FF_CODEC_CAP_INIT_CLEANUP,
397};397};
libavcodec/hqx.c+6−6
@@ -535,16 +535,16 @@ static av_cold int hqx_decode_init(AVCodecContext *avctx) · 534 unmodified lines
535 return ff_hqx_init_vlcs(ctx);535 return ff_hqx_init_vlcs(ctx);
536}536}
537 537
538const AVCodec ff_hqx_decoder = {538const FFCodec ff_hqx_decoder = {
539 .name = "hqx",539 .p.name = "hqx",
540 .long_name = NULL_IF_CONFIG_SMALL("Canopus HQX"),540 .p.long_name = NULL_IF_CONFIG_SMALL("Canopus HQX"),
541 .type = AVMEDIA_TYPE_VIDEO,541 .p.type = AVMEDIA_TYPE_VIDEO,
542 .id = AV_CODEC_ID_HQX,542 .p.id = AV_CODEC_ID_HQX,
543 .priv_data_size = sizeof(HQXContext),543 .priv_data_size = sizeof(HQXContext),
544 .init = hqx_decode_init,544 .init = hqx_decode_init,
545 .decode = hqx_decode_frame,545 .decode = hqx_decode_frame,
546 .close = hqx_decode_close,546 .close = hqx_decode_close,
547 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SLICE_THREADS |547 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SLICE_THREADS |
548 AV_CODEC_CAP_FRAME_THREADS,548 AV_CODEC_CAP_FRAME_THREADS,
549 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |549 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |
550 FF_CODEC_CAP_INIT_CLEANUP,550 FF_CODEC_CAP_INIT_CLEANUP,
libavcodec/huffyuvdec.c+18−18
@@ -1263,47 +1263,47 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *got_frame, · 1262 unmodified lines
1263 return (get_bits_count(&s->gb) + 31) / 32 * 4 + table_size;1263 return (get_bits_count(&s->gb) + 31) / 32 * 4 + table_size;
1264}1264}
1265 1265
1266const AVCodec ff_huffyuv_decoder = {1266const FFCodec ff_huffyuv_decoder = {
1267 .name = "huffyuv",1267 .p.name = "huffyuv",
1268 .long_name = NULL_IF_CONFIG_SMALL("Huffyuv / HuffYUV"),1268 .p.long_name = NULL_IF_CONFIG_SMALL("Huffyuv / HuffYUV"),
1269 .type = AVMEDIA_TYPE_VIDEO,1269 .p.type = AVMEDIA_TYPE_VIDEO,
1270 .id = AV_CODEC_ID_HUFFYUV,1270 .p.id = AV_CODEC_ID_HUFFYUV,
1271 .priv_data_size = sizeof(HYuvContext),1271 .priv_data_size = sizeof(HYuvContext),
1272 .init = decode_init,1272 .init = decode_init,
1273 .close = decode_end,1273 .close = decode_end,
1274 .decode = decode_frame,1274 .decode = decode_frame,
1275 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DRAW_HORIZ_BAND |1275 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DRAW_HORIZ_BAND |
1276 AV_CODEC_CAP_FRAME_THREADS,1276 AV_CODEC_CAP_FRAME_THREADS,
1277 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,1277 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
1278};1278};
1279 1279
1280#if CONFIG_FFVHUFF_DECODER1280#if CONFIG_FFVHUFF_DECODER
1281const AVCodec ff_ffvhuff_decoder = {1281const FFCodec ff_ffvhuff_decoder = {
1282 .name = "ffvhuff",1282 .p.name = "ffvhuff",
1283 .long_name = NULL_IF_CONFIG_SMALL("Huffyuv FFmpeg variant"),1283 .p.long_name = NULL_IF_CONFIG_SMALL("Huffyuv FFmpeg variant"),
1284 .type = AVMEDIA_TYPE_VIDEO,1284 .p.type = AVMEDIA_TYPE_VIDEO,
1285 .id = AV_CODEC_ID_FFVHUFF,1285 .p.id = AV_CODEC_ID_FFVHUFF,
1286 .priv_data_size = sizeof(HYuvContext),1286 .priv_data_size = sizeof(HYuvContext),
1287 .init = decode_init,1287 .init = decode_init,
1288 .close = decode_end,1288 .close = decode_end,
1289 .decode = decode_frame,1289 .decode = decode_frame,
1290 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DRAW_HORIZ_BAND |1290 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DRAW_HORIZ_BAND |
1291 AV_CODEC_CAP_FRAME_THREADS,1291 AV_CODEC_CAP_FRAME_THREADS,
1292 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,1292 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
1293};1293};
1294#endif /* CONFIG_FFVHUFF_DECODER */1294#endif /* CONFIG_FFVHUFF_DECODER */
1295 1295
1296#if CONFIG_HYMT_DECODER1296#if CONFIG_HYMT_DECODER
1297const AVCodec ff_hymt_decoder = {1297const FFCodec ff_hymt_decoder = {
1298 .name = "hymt",1298 .p.name = "hymt",
1299 .long_name = NULL_IF_CONFIG_SMALL("HuffYUV MT"),1299 .p.long_name = NULL_IF_CONFIG_SMALL("HuffYUV MT"),
1300 .type = AVMEDIA_TYPE_VIDEO,1300 .p.type = AVMEDIA_TYPE_VIDEO,
1301 .id = AV_CODEC_ID_HYMT,1301 .p.id = AV_CODEC_ID_HYMT,
1302 .priv_data_size = sizeof(HYuvContext),1302 .priv_data_size = sizeof(HYuvContext),
1303 .init = decode_init,1303 .init = decode_init,
1304 .close = decode_end,1304 .close = decode_end,
1305 .decode = decode_frame,1305 .decode = decode_frame,
1306 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DRAW_HORIZ_BAND |1306 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DRAW_HORIZ_BAND |
1307 AV_CODEC_CAP_FRAME_THREADS,1307 AV_CODEC_CAP_FRAME_THREADS,
1308 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,1308 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
1309};1309};
libavcodec/huffyuvenc.c+16−16
@@ -1049,18 +1049,18 @@ static const AVClass ff_class = { · 1048 unmodified lines
1049 .version = LIBAVUTIL_VERSION_INT,1049 .version = LIBAVUTIL_VERSION_INT,
1050};1050};
1051 1051
1052const AVCodec ff_huffyuv_encoder = {1052const FFCodec ff_huffyuv_encoder = {
1053 .name = "huffyuv",1053 .p.name = "huffyuv",
1054 .long_name = NULL_IF_CONFIG_SMALL("Huffyuv / HuffYUV"),1054 .p.long_name = NULL_IF_CONFIG_SMALL("Huffyuv / HuffYUV"),
1055 .type = AVMEDIA_TYPE_VIDEO,1055 .p.type = AVMEDIA_TYPE_VIDEO,
1056 .id = AV_CODEC_ID_HUFFYUV,1056 .p.id = AV_CODEC_ID_HUFFYUV,
1057 .priv_data_size = sizeof(HYuvContext),1057 .priv_data_size = sizeof(HYuvContext),
1058 .init = encode_init,1058 .init = encode_init,
1059 .encode2 = encode_frame,1059 .encode2 = encode_frame,
1060 .close = encode_end,1060 .close = encode_end,
1061 .capabilities = AV_CODEC_CAP_FRAME_THREADS,1061 .p.capabilities = AV_CODEC_CAP_FRAME_THREADS,
1062 .priv_class = &normal_class,1062 .p.priv_class = &normal_class,
1063 .pix_fmts = (const enum AVPixelFormat[]){1063 .p.pix_fmts = (const enum AVPixelFormat[]){
1064 AV_PIX_FMT_YUV422P, AV_PIX_FMT_RGB24,1064 AV_PIX_FMT_YUV422P, AV_PIX_FMT_RGB24,
1065 AV_PIX_FMT_RGB32, AV_PIX_FMT_NONE1065 AV_PIX_FMT_RGB32, AV_PIX_FMT_NONE
1066 },1066 },
@@ -1069,18 +1069,18 @@ const AVCodec ff_huffyuv_encoder = { · 2 unmodified lines
1069};1069};
1070 1070
1071#if CONFIG_FFVHUFF_ENCODER1071#if CONFIG_FFVHUFF_ENCODER
1072const AVCodec ff_ffvhuff_encoder = {1072const FFCodec ff_ffvhuff_encoder = {
1073 .name = "ffvhuff",1073 .p.name = "ffvhuff",
1074 .long_name = NULL_IF_CONFIG_SMALL("Huffyuv FFmpeg variant"),1074 .p.long_name = NULL_IF_CONFIG_SMALL("Huffyuv FFmpeg variant"),
1075 .type = AVMEDIA_TYPE_VIDEO,1075 .p.type = AVMEDIA_TYPE_VIDEO,
1076 .id = AV_CODEC_ID_FFVHUFF,1076 .p.id = AV_CODEC_ID_FFVHUFF,
1077 .priv_data_size = sizeof(HYuvContext),1077 .priv_data_size = sizeof(HYuvContext),
1078 .init = encode_init,1078 .init = encode_init,
1079 .encode2 = encode_frame,1079 .encode2 = encode_frame,
1080 .close = encode_end,1080 .close = encode_end,
1081 .capabilities = AV_CODEC_CAP_FRAME_THREADS,1081 .p.capabilities = AV_CODEC_CAP_FRAME_THREADS,
1082 .priv_class = &ff_class,1082 .p.priv_class = &ff_class,
1083 .pix_fmts = (const enum AVPixelFormat[]){1083 .p.pix_fmts = (const enum AVPixelFormat[]){
1084 AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV411P,1084 AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV411P,
1085 AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV440P,1085 AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV440P,
1086 AV_PIX_FMT_GBRP,1086 AV_PIX_FMT_GBRP,
libavcodec/idcinvideo.c+6−6
@@ -243,15 +243,15 @@ static const AVCodecDefault idcin_defaults[] = { · 242 unmodified lines
243 { NULL },243 { NULL },
244};244};
245 245
246const AVCodec ff_idcin_decoder = {246const FFCodec ff_idcin_decoder = {
247 .name = "idcinvideo",247 .p.name = "idcinvideo",
248 .long_name = NULL_IF_CONFIG_SMALL("id Quake II CIN video"),248 .p.long_name = NULL_IF_CONFIG_SMALL("id Quake II CIN video"),
249 .type = AVMEDIA_TYPE_VIDEO,249 .p.type = AVMEDIA_TYPE_VIDEO,
250 .id = AV_CODEC_ID_IDCIN,250 .p.id = AV_CODEC_ID_IDCIN,
251 .priv_data_size = sizeof(IdcinContext),251 .priv_data_size = sizeof(IdcinContext),
252 .init = idcin_decode_init,252 .init = idcin_decode_init,
253 .decode = idcin_decode_frame,253 .decode = idcin_decode_frame,
254 .capabilities = AV_CODEC_CAP_DR1,254 .p.capabilities = AV_CODEC_CAP_DR1,
255 .defaults = idcin_defaults,255 .defaults = idcin_defaults,
256 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,256 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
257};257};
libavcodec/iff.c+6−6
@@ -1911,16 +1911,16 @@ static int decode_frame(AVCodecContext *avctx, · 1910 unmodified lines
1911}1911}
1912 1912
1913#if CONFIG_IFF_ILBM_DECODER1913#if CONFIG_IFF_ILBM_DECODER
1914const AVCodec ff_iff_ilbm_decoder = {1914const FFCodec ff_iff_ilbm_decoder = {
1915 .name = "iff",1915 .p.name = "iff",
1916 .long_name = NULL_IF_CONFIG_SMALL("IFF ACBM/ANIM/DEEP/ILBM/PBM/RGB8/RGBN"),1916 .p.long_name = NULL_IF_CONFIG_SMALL("IFF ACBM/ANIM/DEEP/ILBM/PBM/RGB8/RGBN"),
1917 .type = AVMEDIA_TYPE_VIDEO,1917 .p.type = AVMEDIA_TYPE_VIDEO,
1918 .id = AV_CODEC_ID_IFF_ILBM,1918 .p.id = AV_CODEC_ID_IFF_ILBM,
1919 .priv_data_size = sizeof(IffContext),1919 .priv_data_size = sizeof(IffContext),
1920 .init = decode_init,1920 .init = decode_init,
1921 .close = decode_end,1921 .close = decode_end,
1922 .decode = decode_frame,1922 .decode = decode_frame,
1923 .capabilities = AV_CODEC_CAP_DR1,1923 .p.capabilities = AV_CODEC_CAP_DR1,
1924 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,1924 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
1925};1925};
1926#endif1926#endif
libavcodec/ilbcdec.c+6−6
@@ -1479,14 +1479,14 @@ static av_cold int ilbc_decode_init(AVCodecContext *avctx) · 1478 unmodified lines
1479 return 0;1479 return 0;
1480}1480}
1481 1481
1482const AVCodec ff_ilbc_decoder = {1482const FFCodec ff_ilbc_decoder = {
1483 .name = "ilbc",1483 .p.name = "ilbc",
1484 .long_name = NULL_IF_CONFIG_SMALL("iLBC (Internet Low Bitrate Codec)"),1484 .p.long_name = NULL_IF_CONFIG_SMALL("iLBC (Internet Low Bitrate Codec)"),
1485 .type = AVMEDIA_TYPE_AUDIO,1485 .p.type = AVMEDIA_TYPE_AUDIO,
1486 .id = AV_CODEC_ID_ILBC,1486 .p.id = AV_CODEC_ID_ILBC,
1487 .init = ilbc_decode_init,1487 .init = ilbc_decode_init,
1488 .decode = ilbc_decode_frame,1488 .decode = ilbc_decode_frame,
1489 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,1489 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
1490 .priv_data_size = sizeof(ILBCContext),1490 .priv_data_size = sizeof(ILBCContext),
1491 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,1491 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
1492};1492};
libavcodec/imc.c+14−14
@@ -1085,35 +1085,35 @@ static av_cold void flush(AVCodecContext *avctx) · 1084 unmodified lines
1085}1085}
1086 1086
1087#if CONFIG_IMC_DECODER1087#if CONFIG_IMC_DECODER
1088const AVCodec ff_imc_decoder = {1088const FFCodec ff_imc_decoder = {
1089 .name = "imc",1089 .p.name = "imc",
1090 .long_name = NULL_IF_CONFIG_SMALL("IMC (Intel Music Coder)"),1090 .p.long_name = NULL_IF_CONFIG_SMALL("IMC (Intel Music Coder)"),
1091 .type = AVMEDIA_TYPE_AUDIO,1091 .p.type = AVMEDIA_TYPE_AUDIO,
1092 .id = AV_CODEC_ID_IMC,1092 .p.id = AV_CODEC_ID_IMC,
1093 .priv_data_size = sizeof(IMCContext),1093 .priv_data_size = sizeof(IMCContext),
1094 .init = imc_decode_init,1094 .init = imc_decode_init,
1095 .close = imc_decode_close,1095 .close = imc_decode_close,
1096 .decode = imc_decode_frame,1096 .decode = imc_decode_frame,
1097 .flush = flush,1097 .flush = flush,
1098 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,1098 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
1099 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,1099 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
1100 AV_SAMPLE_FMT_NONE },1100 AV_SAMPLE_FMT_NONE },
1101 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,1101 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
1102};1102};
1103#endif1103#endif
1104#if CONFIG_IAC_DECODER1104#if CONFIG_IAC_DECODER
1105const AVCodec ff_iac_decoder = {1105const FFCodec ff_iac_decoder = {
1106 .name = "iac",1106 .p.name = "iac",
1107 .long_name = NULL_IF_CONFIG_SMALL("IAC (Indeo Audio Coder)"),1107 .p.long_name = NULL_IF_CONFIG_SMALL("IAC (Indeo Audio Coder)"),
1108 .type = AVMEDIA_TYPE_AUDIO,1108 .p.type = AVMEDIA_TYPE_AUDIO,
1109 .id = AV_CODEC_ID_IAC,1109 .p.id = AV_CODEC_ID_IAC,
1110 .priv_data_size = sizeof(IMCContext),1110 .priv_data_size = sizeof(IMCContext),
1111 .init = imc_decode_init,1111 .init = imc_decode_init,
1112 .close = imc_decode_close,1112 .close = imc_decode_close,
1113 .decode = imc_decode_frame,1113 .decode = imc_decode_frame,
1114 .flush = flush,1114 .flush = flush,
1115 .capabilities = AV_CODEC_CAP_DR1,1115 .p.capabilities = AV_CODEC_CAP_DR1,
1116 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,1116 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
1117 AV_SAMPLE_FMT_NONE },1117 AV_SAMPLE_FMT_NONE },
1118 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,1118 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
1119};1119};
libavcodec/imm4.c+6−6
@@ -533,17 +533,17 @@ static av_cold int decode_close(AVCodecContext *avctx) · 532 unmodified lines
533 return 0;533 return 0;
534}534}
535 535
536const AVCodec ff_imm4_decoder = {536const FFCodec ff_imm4_decoder = {
537 .name = "imm4",537 .p.name = "imm4",
538 .long_name = NULL_IF_CONFIG_SMALL("Infinity IMM4"),538 .p.long_name = NULL_IF_CONFIG_SMALL("Infinity IMM4"),
539 .type = AVMEDIA_TYPE_VIDEO,539 .p.type = AVMEDIA_TYPE_VIDEO,
540 .id = AV_CODEC_ID_IMM4,540 .p.id = AV_CODEC_ID_IMM4,
541 .priv_data_size = sizeof(IMM4Context),541 .priv_data_size = sizeof(IMM4Context),
542 .init = decode_init,542 .init = decode_init,
543 .close = decode_close,543 .close = decode_close,
544 .decode = decode_frame,544 .decode = decode_frame,
545 .flush = decode_flush,545 .flush = decode_flush,
546 .capabilities = AV_CODEC_CAP_DR1,546 .p.capabilities = AV_CODEC_CAP_DR1,
547 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |547 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |
548 FF_CODEC_CAP_INIT_CLEANUP,548 FF_CODEC_CAP_INIT_CLEANUP,
549};549};
libavcodec/imm5.c+5−5
@@ -178,11 +178,11 @@ static av_cold int imm5_close(AVCodecContext *avctx) · 177 unmodified lines
178 return 0;178 return 0;
179}179}
180 180
181const AVCodec ff_imm5_decoder = {181const FFCodec ff_imm5_decoder = {
182 .name = "imm5",182 .p.name = "imm5",
183 .long_name = NULL_IF_CONFIG_SMALL("Infinity IMM5"),183 .p.long_name = NULL_IF_CONFIG_SMALL("Infinity IMM5"),
184 .type = AVMEDIA_TYPE_VIDEO,184 .p.type = AVMEDIA_TYPE_VIDEO,
185 .id = AV_CODEC_ID_IMM5,185 .p.id = AV_CODEC_ID_IMM5,
186 .init = imm5_init,186 .init = imm5_init,
187 .decode = imm5_decode_frame,187 .decode = imm5_decode_frame,
188 .close = imm5_close,188 .close = imm5_close,
libavcodec/imx.c+6−6
@@ -180,17 +180,17 @@ static int imx_decode_close(AVCodecContext *avctx) · 179 unmodified lines
180 return 0;180 return 0;
181}181}
182 182
183const AVCodec ff_simbiosis_imx_decoder = {183const FFCodec ff_simbiosis_imx_decoder = {
184 .name = "simbiosis_imx",184 .p.name = "simbiosis_imx",
185 .long_name = NULL_IF_CONFIG_SMALL("Simbiosis Interactive IMX Video"),185 .p.long_name = NULL_IF_CONFIG_SMALL("Simbiosis Interactive IMX Video"),
186 .type = AVMEDIA_TYPE_VIDEO,186 .p.type = AVMEDIA_TYPE_VIDEO,
187 .id = AV_CODEC_ID_SIMBIOSIS_IMX,187 .p.id = AV_CODEC_ID_SIMBIOSIS_IMX,
188 .priv_data_size = sizeof(SimbiosisIMXContext),188 .priv_data_size = sizeof(SimbiosisIMXContext),
189 .init = imx_decode_init,189 .init = imx_decode_init,
190 .decode = imx_decode_frame,190 .decode = imx_decode_frame,
191 .close = imx_decode_close,191 .close = imx_decode_close,
192 .flush = imx_decode_flush,192 .flush = imx_decode_flush,
193 .capabilities = AV_CODEC_CAP_DR1,193 .p.capabilities = AV_CODEC_CAP_DR1,
194 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |194 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |
195 FF_CODEC_CAP_INIT_CLEANUP,195 FF_CODEC_CAP_INIT_CLEANUP,
196};196};
libavcodec/indeo2.c+6−6
@@ -261,15 +261,15 @@ static av_cold int ir2_decode_end(AVCodecContext *avctx) · 260 unmodified lines
261 return 0;261 return 0;
262}262}
263 263
264const AVCodec ff_indeo2_decoder = {264const FFCodec ff_indeo2_decoder = {
265 .name = "indeo2",265 .p.name = "indeo2",
266 .long_name = NULL_IF_CONFIG_SMALL("Intel Indeo 2"),266 .p.long_name = NULL_IF_CONFIG_SMALL("Intel Indeo 2"),
267 .type = AVMEDIA_TYPE_VIDEO,267 .p.type = AVMEDIA_TYPE_VIDEO,
268 .id = AV_CODEC_ID_INDEO2,268 .p.id = AV_CODEC_ID_INDEO2,
269 .priv_data_size = sizeof(Ir2Context),269 .priv_data_size = sizeof(Ir2Context),
270 .init = ir2_decode_init,270 .init = ir2_decode_init,
271 .close = ir2_decode_end,271 .close = ir2_decode_end,
272 .decode = ir2_decode_frame,272 .decode = ir2_decode_frame,
273 .capabilities = AV_CODEC_CAP_DR1,273 .p.capabilities = AV_CODEC_CAP_DR1,
274 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,274 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
275};275};
libavcodec/indeo3.c+6−6
@@ -1134,15 +1134,15 @@ static av_cold int decode_close(AVCodecContext *avctx) · 1133 unmodified lines
1134 return 0;1134 return 0;
1135}1135}
1136 1136
1137const AVCodec ff_indeo3_decoder = {1137const FFCodec ff_indeo3_decoder = {
1138 .name = "indeo3",1138 .p.name = "indeo3",
1139 .long_name = NULL_IF_CONFIG_SMALL("Intel Indeo 3"),1139 .p.long_name = NULL_IF_CONFIG_SMALL("Intel Indeo 3"),
1140 .type = AVMEDIA_TYPE_VIDEO,1140 .p.type = AVMEDIA_TYPE_VIDEO,
1141 .id = AV_CODEC_ID_INDEO3,1141 .p.id = AV_CODEC_ID_INDEO3,
1142 .priv_data_size = sizeof(Indeo3DecodeContext),1142 .priv_data_size = sizeof(Indeo3DecodeContext),
1143 .init = decode_init,1143 .init = decode_init,
1144 .close = decode_close,1144 .close = decode_close,
1145 .decode = decode_frame,1145 .decode = decode_frame,
1146 .capabilities = AV_CODEC_CAP_DR1,1146 .p.capabilities = AV_CODEC_CAP_DR1,
1147 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,1147 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
1148};1148};
libavcodec/indeo4.c+6−6
@@ -703,15 +703,15 @@ static av_cold int decode_init(AVCodecContext *avctx) · 702 unmodified lines
703}703}
704 704
705 705
706const AVCodec ff_indeo4_decoder = {706const FFCodec ff_indeo4_decoder = {
707 .name = "indeo4",707 .p.name = "indeo4",
708 .long_name = NULL_IF_CONFIG_SMALL("Intel Indeo Video Interactive 4"),708 .p.long_name = NULL_IF_CONFIG_SMALL("Intel Indeo Video Interactive 4"),
709 .type = AVMEDIA_TYPE_VIDEO,709 .p.type = AVMEDIA_TYPE_VIDEO,
710 .id = AV_CODEC_ID_INDEO4,710 .p.id = AV_CODEC_ID_INDEO4,
711 .priv_data_size = sizeof(IVI45DecContext),711 .priv_data_size = sizeof(IVI45DecContext),
712 .init = decode_init,712 .init = decode_init,
713 .close = ff_ivi_decode_close,713 .close = ff_ivi_decode_close,
714 .decode = ff_ivi_decode_frame,714 .decode = ff_ivi_decode_frame,
715 .capabilities = AV_CODEC_CAP_DR1,715 .p.capabilities = AV_CODEC_CAP_DR1,
716 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,716 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
717};717};
libavcodec/indeo5.c+6−6
@@ -683,15 +683,15 @@ static av_cold int decode_init(AVCodecContext *avctx) · 682 unmodified lines
683 return 0;683 return 0;
684}684}
685 685
686const AVCodec ff_indeo5_decoder = {686const FFCodec ff_indeo5_decoder = {
687 .name = "indeo5",687 .p.name = "indeo5",
688 .long_name = NULL_IF_CONFIG_SMALL("Intel Indeo Video Interactive 5"),688 .p.long_name = NULL_IF_CONFIG_SMALL("Intel Indeo Video Interactive 5"),
689 .type = AVMEDIA_TYPE_VIDEO,689 .p.type = AVMEDIA_TYPE_VIDEO,
690 .id = AV_CODEC_ID_INDEO5,690 .p.id = AV_CODEC_ID_INDEO5,
691 .priv_data_size = sizeof(IVI45DecContext),691 .priv_data_size = sizeof(IVI45DecContext),
692 .init = decode_init,692 .init = decode_init,
693 .close = ff_ivi_decode_close,693 .close = ff_ivi_decode_close,
694 .decode = ff_ivi_decode_frame,694 .decode = ff_ivi_decode_frame,
695 .capabilities = AV_CODEC_CAP_DR1,695 .p.capabilities = AV_CODEC_CAP_DR1,
696 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,696 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
697};697};
libavcodec/intelh263dec.c+7−7
@@ -129,19 +129,19 @@ int ff_intel_h263_decode_picture_header(MpegEncContext *s) · 128 unmodified lines
129 return 0;129 return 0;
130}130}
131 131
132const AVCodec ff_h263i_decoder = {132const FFCodec ff_h263i_decoder = {
133 .name = "h263i",133 .p.name = "h263i",
134 .long_name = NULL_IF_CONFIG_SMALL("Intel H.263"),134 .p.long_name = NULL_IF_CONFIG_SMALL("Intel H.263"),
135 .type = AVMEDIA_TYPE_VIDEO,135 .p.type = AVMEDIA_TYPE_VIDEO,
136 .id = AV_CODEC_ID_H263I,136 .p.id = AV_CODEC_ID_H263I,
137 .priv_data_size = sizeof(MpegEncContext),137 .priv_data_size = sizeof(MpegEncContext),
138 .init = ff_h263_decode_init,138 .init = ff_h263_decode_init,
139 .close = ff_h263_decode_end,139 .close = ff_h263_decode_end,
140 .decode = ff_h263_decode_frame,140 .decode = ff_h263_decode_frame,
141 .capabilities = AV_CODEC_CAP_DRAW_HORIZ_BAND | AV_CODEC_CAP_DR1,141 .p.capabilities = AV_CODEC_CAP_DRAW_HORIZ_BAND | AV_CODEC_CAP_DR1,
142 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |142 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |
143 FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM,143 FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM,
144 .pix_fmts = (const enum AVPixelFormat[]) {144 .p.pix_fmts = (const enum AVPixelFormat[]) {
145 AV_PIX_FMT_YUV420P,145 AV_PIX_FMT_YUV420P,
146 AV_PIX_FMT_NONE146 AV_PIX_FMT_NONE
147 },147 },
libavcodec/internal.h+1−1
@@ -113,7 +113,7 @@ typedef struct AVCodecInternal { · 112 unmodified lines
113 EncodeSimpleContext es;113 EncodeSimpleContext es;
114 114
115 /**115 /**
116 * If this is set, then AVCodec->close (if existing) needs to be called116 * If this is set, then FFCodec->close (if existing) needs to be called
117 * for the parent AVCodecContext.117 * for the parent AVCodecContext.
118 */118 */
119 int needs_close;119 int needs_close;
libavcodec/interplayacm.c+6−6
@@ -633,15 +633,15 @@ static av_cold int decode_close(AVCodecContext *avctx) · 632 unmodified lines
633 return 0;633 return 0;
634}634}
635 635
636const AVCodec ff_interplay_acm_decoder = {636const FFCodec ff_interplay_acm_decoder = {
637 .name = "interplayacm",637 .p.name = "interplayacm",
638 .long_name = NULL_IF_CONFIG_SMALL("Interplay ACM"),638 .p.long_name = NULL_IF_CONFIG_SMALL("Interplay ACM"),
639 .type = AVMEDIA_TYPE_AUDIO,639 .p.type = AVMEDIA_TYPE_AUDIO,
640 .id = AV_CODEC_ID_INTERPLAY_ACM,640 .p.id = AV_CODEC_ID_INTERPLAY_ACM,
641 .init = decode_init,641 .init = decode_init,
642 .close = decode_close,642 .close = decode_close,
643 .decode = decode_frame,643 .decode = decode_frame,
644 .capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_DR1,644 .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_DR1,
645 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,645 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
646 .priv_data_size = sizeof(InterplayACMContext),646 .priv_data_size = sizeof(InterplayACMContext),
647};647};
libavcodec/interplayvideo.c+6−6
@@ -1358,15 +1358,15 @@ static av_cold int ipvideo_decode_end(AVCodecContext *avctx) · 1357 unmodified lines
1358 return 0;1358 return 0;
1359}1359}
1360 1360
1361const AVCodec ff_interplay_video_decoder = {1361const FFCodec ff_interplay_video_decoder = {
1362 .name = "interplayvideo",1362 .p.name = "interplayvideo",
1363 .long_name = NULL_IF_CONFIG_SMALL("Interplay MVE video"),1363 .p.long_name = NULL_IF_CONFIG_SMALL("Interplay MVE video"),
1364 .type = AVMEDIA_TYPE_VIDEO,1364 .p.type = AVMEDIA_TYPE_VIDEO,
1365 .id = AV_CODEC_ID_INTERPLAY_VIDEO,1365 .p.id = AV_CODEC_ID_INTERPLAY_VIDEO,
1366 .priv_data_size = sizeof(IpvideoContext),1366 .priv_data_size = sizeof(IpvideoContext),
1367 .init = ipvideo_decode_init,1367 .init = ipvideo_decode_init,
1368 .close = ipvideo_decode_end,1368 .close = ipvideo_decode_end,
1369 .decode = ipvideo_decode_frame,1369 .decode = ipvideo_decode_frame,
1370 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_PARAM_CHANGE,1370 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_PARAM_CHANGE,
1371 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,1371 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
1372};1372};
libavcodec/ituh263enc.c+15−15
@@ -901,13 +901,13 @@ static const AVClass h263_class = { · 900 unmodified lines
901 .version = LIBAVUTIL_VERSION_INT,901 .version = LIBAVUTIL_VERSION_INT,
902};902};
903 903
904const AVCodec ff_h263_encoder = {904const FFCodec ff_h263_encoder = {
905 .name = "h263",905 .p.name = "h263",
906 .long_name = NULL_IF_CONFIG_SMALL("H.263 / H.263-1996"),906 .p.long_name = NULL_IF_CONFIG_SMALL("H.263 / H.263-1996"),
907 .type = AVMEDIA_TYPE_VIDEO,907 .p.type = AVMEDIA_TYPE_VIDEO,
908 .id = AV_CODEC_ID_H263,908 .p.id = AV_CODEC_ID_H263,
909 .pix_fmts= (const enum AVPixelFormat[]){AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE},909 .p.pix_fmts = (const enum AVPixelFormat[]){AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE},
910 .priv_class = &h263_class,910 .p.priv_class = &h263_class,
911 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,911 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
912 .priv_data_size = sizeof(MpegEncContext),912 .priv_data_size = sizeof(MpegEncContext),
913 .init = ff_mpv_encode_init,913 .init = ff_mpv_encode_init,
@@ -936,14 +936,14 @@ static const AVClass h263p_class = { · 22 unmodified lines
936 .version = LIBAVUTIL_VERSION_INT,936 .version = LIBAVUTIL_VERSION_INT,
937};937};
938 938
939const AVCodec ff_h263p_encoder = {939const FFCodec ff_h263p_encoder = {
940 .name = "h263p",940 .p.name = "h263p",
941 .long_name = NULL_IF_CONFIG_SMALL("H.263+ / H.263-1998 / H.263 version 2"),941 .p.long_name = NULL_IF_CONFIG_SMALL("H.263+ / H.263-1998 / H.263 version 2"),
942 .type = AVMEDIA_TYPE_VIDEO,942 .p.type = AVMEDIA_TYPE_VIDEO,
943 .id = AV_CODEC_ID_H263P,943 .p.id = AV_CODEC_ID_H263P,
944 .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE },944 .p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE },
945 .priv_class = &h263p_class,945 .p.priv_class = &h263p_class,
946 .capabilities = AV_CODEC_CAP_SLICE_THREADS,946 .p.capabilities = AV_CODEC_CAP_SLICE_THREADS,
947 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,947 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
948 .priv_data_size = sizeof(MpegEncContext),948 .priv_data_size = sizeof(MpegEncContext),
949 .init = ff_mpv_encode_init,949 .init = ff_mpv_encode_init,
libavcodec/j2kenc.c+7−7
@@ -1832,16 +1832,16 @@ static const AVClass j2k_class = { · 1831 unmodified lines
1832 .version = LIBAVUTIL_VERSION_INT,1832 .version = LIBAVUTIL_VERSION_INT,
1833};1833};
1834 1834
1835const AVCodec ff_jpeg2000_encoder = {1835const FFCodec ff_jpeg2000_encoder = {
1836 .name = "jpeg2000",1836 .p.name = "jpeg2000",
1837 .long_name = NULL_IF_CONFIG_SMALL("JPEG 2000"),1837 .p.long_name = NULL_IF_CONFIG_SMALL("JPEG 2000"),
1838 .type = AVMEDIA_TYPE_VIDEO,1838 .p.type = AVMEDIA_TYPE_VIDEO,
1839 .id = AV_CODEC_ID_JPEG2000,1839 .p.id = AV_CODEC_ID_JPEG2000,
1840 .priv_data_size = sizeof(Jpeg2000EncoderContext),1840 .priv_data_size = sizeof(Jpeg2000EncoderContext),
1841 .init = j2kenc_init,1841 .init = j2kenc_init,
1842 .encode2 = encode_frame,1842 .encode2 = encode_frame,
1843 .close = j2kenc_destroy,1843 .close = j2kenc_destroy,
1844 .pix_fmts = (const enum AVPixelFormat[]) {1844 .p.pix_fmts = (const enum AVPixelFormat[]) {
1845 AV_PIX_FMT_RGB24, AV_PIX_FMT_YUV444P, AV_PIX_FMT_GRAY8,1845 AV_PIX_FMT_RGB24, AV_PIX_FMT_YUV444P, AV_PIX_FMT_GRAY8,
1846 AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P,1846 AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P,
1847 AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P,1847 AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P,
@@ -1849,6 +1849,6 @@ const AVCodec ff_jpeg2000_encoder = { · 1 unmodified line
1849 AV_PIX_FMT_RGB48, AV_PIX_FMT_GRAY16,1849 AV_PIX_FMT_RGB48, AV_PIX_FMT_GRAY16,
1850 AV_PIX_FMT_NONE1850 AV_PIX_FMT_NONE
1851 },1851 },
1852 .priv_class = &j2k_class,1852 .p.priv_class = &j2k_class,
1853 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,1853 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
1854};1854};
libavcodec/jacosubdec.c+5−5
@@ -194,11 +194,11 @@ end: · 193 unmodified lines
194 return avpkt->size;194 return avpkt->size;
195}195}
196 196
197const AVCodec ff_jacosub_decoder = {197const FFCodec ff_jacosub_decoder = {
198 .name = "jacosub",198 .p.name = "jacosub",
199 .long_name = NULL_IF_CONFIG_SMALL("JACOsub subtitle"),199 .p.long_name = NULL_IF_CONFIG_SMALL("JACOsub subtitle"),
200 .type = AVMEDIA_TYPE_SUBTITLE,200 .p.type = AVMEDIA_TYPE_SUBTITLE,
201 .id = AV_CODEC_ID_JACOSUB,201 .p.id = AV_CODEC_ID_JACOSUB,
202 .init = ff_ass_subtitle_header_default,202 .init = ff_ass_subtitle_header_default,
203 .decode = jacosub_decode_frame,203 .decode = jacosub_decode_frame,
204 .flush = ff_ass_decoder_flush,204 .flush = ff_ass_decoder_flush,
libavcodec/jpeg2000dec.c+9−9
@@ -2571,17 +2571,17 @@ static const AVClass jpeg2000_class = { · 2570 unmodified lines
2571 .version = LIBAVUTIL_VERSION_INT,2571 .version = LIBAVUTIL_VERSION_INT,
2572};2572};
2573 2573
2574const AVCodec ff_jpeg2000_decoder = {2574const FFCodec ff_jpeg2000_decoder = {
2575 .name = "jpeg2000",2575 .p.name = "jpeg2000",
2576 .long_name = NULL_IF_CONFIG_SMALL("JPEG 2000"),2576 .p.long_name = NULL_IF_CONFIG_SMALL("JPEG 2000"),
2577 .type = AVMEDIA_TYPE_VIDEO,2577 .p.type = AVMEDIA_TYPE_VIDEO,
2578 .id = AV_CODEC_ID_JPEG2000,2578 .p.id = AV_CODEC_ID_JPEG2000,
2579 .capabilities = AV_CODEC_CAP_SLICE_THREADS | AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_DR1,2579 .p.capabilities = AV_CODEC_CAP_SLICE_THREADS | AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_DR1,
2580 .priv_data_size = sizeof(Jpeg2000DecoderContext),2580 .priv_data_size = sizeof(Jpeg2000DecoderContext),
2581 .init = jpeg2000_decode_init,2581 .init = jpeg2000_decode_init,
2582 .decode = jpeg2000_decode_frame,2582 .decode = jpeg2000_decode_frame,
2583 .priv_class = &jpeg2000_class,2583 .p.priv_class = &jpeg2000_class,
2584 .max_lowres = 5,2584 .p.max_lowres = 5,
2585 .profiles = NULL_IF_CONFIG_SMALL(ff_jpeg2000_profiles),2585 .p.profiles = NULL_IF_CONFIG_SMALL(ff_jpeg2000_profiles),
2586 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,2586 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
2587};2587};
libavcodec/jpeglsdec.c+6−6
@@ -552,16 +552,16 @@ end: · 551 unmodified lines
552 return ret;552 return ret;
553}553}
554 554
555const AVCodec ff_jpegls_decoder = {555const FFCodec ff_jpegls_decoder = {
556 .name = "jpegls",556 .p.name = "jpegls",
557 .long_name = NULL_IF_CONFIG_SMALL("JPEG-LS"),557 .p.long_name = NULL_IF_CONFIG_SMALL("JPEG-LS"),
558 .type = AVMEDIA_TYPE_VIDEO,558 .p.type = AVMEDIA_TYPE_VIDEO,
559 .id = AV_CODEC_ID_JPEGLS,559 .p.id = AV_CODEC_ID_JPEGLS,
560 .priv_data_size = sizeof(MJpegDecodeContext),560 .priv_data_size = sizeof(MJpegDecodeContext),
561 .init = ff_mjpeg_decode_init,561 .init = ff_mjpeg_decode_init,
562 .close = ff_mjpeg_decode_end,562 .close = ff_mjpeg_decode_end,
563 .receive_frame = ff_mjpeg_receive_frame,563 .receive_frame = ff_mjpeg_receive_frame,
564 .capabilities = AV_CODEC_CAP_DR1,564 .p.capabilities = AV_CODEC_CAP_DR1,
565 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP |565 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP |
566 FF_CODEC_CAP_SETS_PKT_DTS,566 FF_CODEC_CAP_SETS_PKT_DTS,
567};567};
libavcodec/jpeglsenc.c+8−8
@@ -474,18 +474,18 @@ static const AVClass jpegls_class = { · 473 unmodified lines
474 .version = LIBAVUTIL_VERSION_INT,474 .version = LIBAVUTIL_VERSION_INT,
475};475};
476 476
477const AVCodec ff_jpegls_encoder = {477const FFCodec ff_jpegls_encoder = {
478 .name = "jpegls",478 .p.name = "jpegls",
479 .long_name = NULL_IF_CONFIG_SMALL("JPEG-LS"),479 .p.long_name = NULL_IF_CONFIG_SMALL("JPEG-LS"),
480 .type = AVMEDIA_TYPE_VIDEO,480 .p.type = AVMEDIA_TYPE_VIDEO,
481 .id = AV_CODEC_ID_JPEGLS,481 .p.id = AV_CODEC_ID_JPEGLS,
482 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,482 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
483 .priv_data_size = sizeof(JPEGLSContext),483 .priv_data_size = sizeof(JPEGLSContext),
484 .priv_class = &jpegls_class,484 .p.priv_class = &jpegls_class,
485 .init = encode_jpegls_init,485 .init = encode_jpegls_init,
486 .encode2 = encode_picture_ls,486 .encode2 = encode_picture_ls,
487 .close = encode_jpegls_close,487 .close = encode_jpegls_close,
488 .pix_fmts = (const enum AVPixelFormat[]) {488 .p.pix_fmts = (const enum AVPixelFormat[]) {
489 AV_PIX_FMT_BGR24, AV_PIX_FMT_RGB24,489 AV_PIX_FMT_BGR24, AV_PIX_FMT_RGB24,
490 AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY16,490 AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY16,
491 AV_PIX_FMT_NONE491 AV_PIX_FMT_NONE
libavcodec/jvdec.c+6−6
@@ -234,15 +234,15 @@ static av_cold int decode_close(AVCodecContext *avctx) · 233 unmodified lines
234 return 0;234 return 0;
235}235}
236 236
237const AVCodec ff_jv_decoder = {237const FFCodec ff_jv_decoder = {
238 .name = "jv",238 .p.name = "jv",
239 .long_name = NULL_IF_CONFIG_SMALL("Bitmap Brothers JV video"),239 .p.long_name = NULL_IF_CONFIG_SMALL("Bitmap Brothers JV video"),
240 .type = AVMEDIA_TYPE_VIDEO,240 .p.type = AVMEDIA_TYPE_VIDEO,
241 .id = AV_CODEC_ID_JV,241 .p.id = AV_CODEC_ID_JV,
242 .priv_data_size = sizeof(JvContext),242 .priv_data_size = sizeof(JvContext),
243 .init = decode_init,243 .init = decode_init,
244 .close = decode_close,244 .close = decode_close,
245 .decode = decode_frame,245 .decode = decode_frame,
246 .capabilities = AV_CODEC_CAP_DR1,246 .p.capabilities = AV_CODEC_CAP_DR1,
247 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,247 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
248};248};
libavcodec/kgv1dec.c+6−6
@@ -177,16 +177,16 @@ static av_cold int decode_end(AVCodecContext *avctx) · 176 unmodified lines
177 return 0;177 return 0;
178}178}
179 179
180const AVCodec ff_kgv1_decoder = {180const FFCodec ff_kgv1_decoder = {
181 .name = "kgv1",181 .p.name = "kgv1",
182 .long_name = NULL_IF_CONFIG_SMALL("Kega Game Video"),182 .p.long_name = NULL_IF_CONFIG_SMALL("Kega Game Video"),
183 .type = AVMEDIA_TYPE_VIDEO,183 .p.type = AVMEDIA_TYPE_VIDEO,
184 .id = AV_CODEC_ID_KGV1,184 .p.id = AV_CODEC_ID_KGV1,
185 .priv_data_size = sizeof(KgvContext),185 .priv_data_size = sizeof(KgvContext),
186 .init = decode_init,186 .init = decode_init,
187 .close = decode_end,187 .close = decode_end,
188 .decode = decode_frame,188 .decode = decode_frame,
189 .flush = decode_flush,189 .flush = decode_flush,
190 .capabilities = AV_CODEC_CAP_DR1,190 .p.capabilities = AV_CODEC_CAP_DR1,
191 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,191 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
192};192};
libavcodec/kmvc.c+6−6
@@ -405,14 +405,14 @@ static av_cold int decode_init(AVCodecContext * avctx) · 404 unmodified lines
405 return 0;405 return 0;
406}406}
407 407
408const AVCodec ff_kmvc_decoder = {408const FFCodec ff_kmvc_decoder = {
409 .name = "kmvc",409 .p.name = "kmvc",
410 .long_name = NULL_IF_CONFIG_SMALL("Karl Morton's video codec"),410 .p.long_name = NULL_IF_CONFIG_SMALL("Karl Morton's video codec"),
411 .type = AVMEDIA_TYPE_VIDEO,411 .p.type = AVMEDIA_TYPE_VIDEO,
412 .id = AV_CODEC_ID_KMVC,412 .p.id = AV_CODEC_ID_KMVC,
413 .priv_data_size = sizeof(KmvcContext),413 .priv_data_size = sizeof(KmvcContext),
414 .init = decode_init,414 .init = decode_init,
415 .decode = decode_frame,415 .decode = decode_frame,
416 .capabilities = AV_CODEC_CAP_DR1,416 .p.capabilities = AV_CODEC_CAP_DR1,
417 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,417 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
418};418};
libavcodec/lagarith.c+6−6
@@ -726,14 +726,14 @@ static av_cold int lag_decode_init(AVCodecContext *avctx) · 725 unmodified lines
726 return 0;726 return 0;
727}727}
728 728
729const AVCodec ff_lagarith_decoder = {729const FFCodec ff_lagarith_decoder = {
730 .name = "lagarith",730 .p.name = "lagarith",
731 .long_name = NULL_IF_CONFIG_SMALL("Lagarith lossless"),731 .p.long_name = NULL_IF_CONFIG_SMALL("Lagarith lossless"),
732 .type = AVMEDIA_TYPE_VIDEO,732 .p.type = AVMEDIA_TYPE_VIDEO,
733 .id = AV_CODEC_ID_LAGARITH,733 .p.id = AV_CODEC_ID_LAGARITH,
734 .priv_data_size = sizeof(LagarithContext),734 .priv_data_size = sizeof(LagarithContext),
735 .init = lag_decode_init,735 .init = lag_decode_init,
736 .decode = lag_decode_frame,736 .decode = lag_decode_frame,
737 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,737 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
738 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,738 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
739};739};
libavcodec/lcldec.c+12−12
@@ -630,31 +630,31 @@ static av_cold int decode_end(AVCodecContext *avctx) · 629 unmodified lines
630}630}
631 631
632#if CONFIG_MSZH_DECODER632#if CONFIG_MSZH_DECODER
633const AVCodec ff_mszh_decoder = {633const FFCodec ff_mszh_decoder = {
634 .name = "mszh",634 .p.name = "mszh",
635 .long_name = NULL_IF_CONFIG_SMALL("LCL (LossLess Codec Library) MSZH"),635 .p.long_name = NULL_IF_CONFIG_SMALL("LCL (LossLess Codec Library) MSZH"),
636 .type = AVMEDIA_TYPE_VIDEO,636 .p.type = AVMEDIA_TYPE_VIDEO,
637 .id = AV_CODEC_ID_MSZH,637 .p.id = AV_CODEC_ID_MSZH,
638 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
638 .priv_data_size = sizeof(LclDecContext),639 .priv_data_size = sizeof(LclDecContext),
639 .init = decode_init,640 .init = decode_init,
640 .close = decode_end,641 .close = decode_end,
641 .decode = decode_frame,642 .decode = decode_frame,
642 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
643 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,643 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
644};644};
645#endif645#endif
646 646
647#if CONFIG_ZLIB_DECODER647#if CONFIG_ZLIB_DECODER
648const AVCodec ff_zlib_decoder = {648const FFCodec ff_zlib_decoder = {
649 .name = "zlib",649 .p.name = "zlib",
650 .long_name = NULL_IF_CONFIG_SMALL("LCL (LossLess Codec Library) ZLIB"),650 .p.long_name = NULL_IF_CONFIG_SMALL("LCL (LossLess Codec Library) ZLIB"),
651 .type = AVMEDIA_TYPE_VIDEO,651 .p.type = AVMEDIA_TYPE_VIDEO,
652 .id = AV_CODEC_ID_ZLIB,652 .p.id = AV_CODEC_ID_ZLIB,
653 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
653 .priv_data_size = sizeof(LclDecContext),654 .priv_data_size = sizeof(LclDecContext),
654 .init = decode_init,655 .init = decode_init,
655 .close = decode_end,656 .close = decode_end,
656 .decode = decode_frame,657 .decode = decode_frame,
657 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
658 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,658 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
659};659};
660#endif660#endif
libavcodec/lclenc.c+7−7
@@ -151,17 +151,17 @@ static av_cold int encode_end(AVCodecContext *avctx) · 150 unmodified lines
151 return 0;151 return 0;
152}152}
153 153
154const AVCodec ff_zlib_encoder = {154const FFCodec ff_zlib_encoder = {
155 .name = "zlib",155 .p.name = "zlib",
156 .long_name = NULL_IF_CONFIG_SMALL("LCL (LossLess Codec Library) ZLIB"),156 .p.long_name = NULL_IF_CONFIG_SMALL("LCL (LossLess Codec Library) ZLIB"),
157 .type = AVMEDIA_TYPE_VIDEO,157 .p.type = AVMEDIA_TYPE_VIDEO,
158 .id = AV_CODEC_ID_ZLIB,158 .p.id = AV_CODEC_ID_ZLIB,
159 .priv_data_size = sizeof(LclEncContext),159 .priv_data_size = sizeof(LclEncContext),
160 .init = encode_init,160 .init = encode_init,
161 .encode2 = encode_frame,161 .encode2 = encode_frame,
162 .close = encode_end,162 .close = encode_end,
163 .capabilities = AV_CODEC_CAP_FRAME_THREADS,163 .p.capabilities = AV_CODEC_CAP_FRAME_THREADS,
164 .pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_BGR24, AV_PIX_FMT_NONE },164 .p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_BGR24, AV_PIX_FMT_NONE },
165 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |165 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |
166 FF_CODEC_CAP_INIT_CLEANUP,166 FF_CODEC_CAP_INIT_CLEANUP,
167};167};
libavcodec/libaomdec.c+8−8
@@ -249,17 +249,17 @@ static av_cold int av1_init(AVCodecContext *avctx) · 248 unmodified lines
249 return aom_init(avctx, aom_codec_av1_dx());249 return aom_init(avctx, aom_codec_av1_dx());
250}250}
251 251
252const AVCodec ff_libaom_av1_decoder = {252const FFCodec ff_libaom_av1_decoder = {
253 .name = "libaom-av1",253 .p.name = "libaom-av1",
254 .long_name = NULL_IF_CONFIG_SMALL("libaom AV1"),254 .p.long_name = NULL_IF_CONFIG_SMALL("libaom AV1"),
255 .type = AVMEDIA_TYPE_VIDEO,255 .p.type = AVMEDIA_TYPE_VIDEO,
256 .id = AV_CODEC_ID_AV1,256 .p.id = AV_CODEC_ID_AV1,
257 .priv_data_size = sizeof(AV1DecodeContext),257 .priv_data_size = sizeof(AV1DecodeContext),
258 .init = av1_init,258 .init = av1_init,
259 .close = aom_free,259 .close = aom_free,
260 .decode = aom_decode,260 .decode = aom_decode,
261 .capabilities = AV_CODEC_CAP_OTHER_THREADS | AV_CODEC_CAP_DR1,261 .p.capabilities = AV_CODEC_CAP_OTHER_THREADS | AV_CODEC_CAP_DR1,
262 .caps_internal = FF_CODEC_CAP_AUTO_THREADS,262 .caps_internal = FF_CODEC_CAP_AUTO_THREADS,
263 .profiles = NULL_IF_CONFIG_SMALL(ff_av1_profiles),263 .p.profiles = NULL_IF_CONFIG_SMALL(ff_av1_profiles),
264 .wrapper_name = "libaom",264 .p.wrapper_name = "libaom",
265};265};
libavcodec/libaomenc.c+15−15
@@ -1229,19 +1229,19 @@ static const enum AVPixelFormat av1_pix_fmts_highbd_with_gray[] = { · 1228 unmodified lines
1229 AV_PIX_FMT_NONE1229 AV_PIX_FMT_NONE
1230};1230};
1231 1231
1232static av_cold void av1_init_static(AVCodec *codec)1232static av_cold void av1_init_static(FFCodec *codec)
1233{1233{
1234 int supports_monochrome = aom_codec_version() >= 20001;1234 int supports_monochrome = aom_codec_version() >= 20001;
1235 aom_codec_caps_t codec_caps = aom_codec_get_caps(aom_codec_av1_cx());1235 aom_codec_caps_t codec_caps = aom_codec_get_caps(aom_codec_av1_cx());
1236 if (codec_caps & AOM_CODEC_CAP_HIGHBITDEPTH)1236 if (codec_caps & AOM_CODEC_CAP_HIGHBITDEPTH)
1237 codec->pix_fmts = supports_monochrome ? av1_pix_fmts_highbd_with_gray :1237 codec->p.pix_fmts = supports_monochrome ? av1_pix_fmts_highbd_with_gray :
1238 av1_pix_fmts_highbd;1238 av1_pix_fmts_highbd;
1239 else1239 else
1240 codec->pix_fmts = supports_monochrome ? av1_pix_fmts_with_gray :1240 codec->p.pix_fmts = supports_monochrome ? av1_pix_fmts_with_gray :
1241 av1_pix_fmts;1241 av1_pix_fmts;
1242 1242
1243 if (aom_codec_version_major() < 2)1243 if (aom_codec_version_major() < 2)
1244 codec->capabilities |= AV_CODEC_CAP_EXPERIMENTAL;1244 codec->p.capabilities |= AV_CODEC_CAP_EXPERIMENTAL;
1245}1245}
1246 1246
1247static av_cold int av1_init(AVCodecContext *avctx)1247static av_cold int av1_init(AVCodecContext *avctx)
@@ -1341,21 +1341,21 @@ static const AVClass class_aom = { · 93 unmodified lines
1341 .version = LIBAVUTIL_VERSION_INT,1341 .version = LIBAVUTIL_VERSION_INT,
1342};1342};
1343 1343
1344AVCodec ff_libaom_av1_encoder = {1344FFCodec ff_libaom_av1_encoder = {
1345 .name = "libaom-av1",1345 .p.name = "libaom-av1",
1346 .long_name = NULL_IF_CONFIG_SMALL("libaom AV1"),1346 .p.long_name = NULL_IF_CONFIG_SMALL("libaom AV1"),
1347 .type = AVMEDIA_TYPE_VIDEO,1347 .p.type = AVMEDIA_TYPE_VIDEO,
1348 .id = AV_CODEC_ID_AV1,1348 .p.id = AV_CODEC_ID_AV1,
1349 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY |1349 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY |
1350 AV_CODEC_CAP_OTHER_THREADS,1350 AV_CODEC_CAP_OTHER_THREADS,
1351 .p.profiles = NULL_IF_CONFIG_SMALL(ff_av1_profiles),
1352 .p.priv_class = &class_aom,
1353 .p.wrapper_name = "libaom",
1351 .priv_data_size = sizeof(AOMContext),1354 .priv_data_size = sizeof(AOMContext),
1352 .init = av1_init,1355 .init = av1_init,
1353 .encode2 = aom_encode,1356 .encode2 = aom_encode,
1354 .close = aom_free,1357 .close = aom_free,
1355 .caps_internal = FF_CODEC_CAP_AUTO_THREADS,1358 .caps_internal = FF_CODEC_CAP_AUTO_THREADS,
1356 .profiles = NULL_IF_CONFIG_SMALL(ff_av1_profiles),
1357 .priv_class = &class_aom,
1358 .defaults = defaults,1359 .defaults = defaults,
1359 .init_static_data = av1_init_static,1360 .init_static_data = av1_init_static,
1360 .wrapper_name = "libaom",
1361};1361};
libavcodec/libaribb24.c+8−7
@@ -21,6 +21,7 @@ · 20 unmodified lines
21 21
22#include "avcodec.h"22#include "avcodec.h"
23#include "libavcodec/ass.h"23#include "libavcodec/ass.h"
24#include "codec_internal.h"
24#include "libavutil/log.h"25#include "libavutil/log.h"
25#include "libavutil/opt.h"26#include "libavutil/opt.h"
26 27
@@ -380,16 +381,16 @@ static const AVClass aribb24_class = { · 353 unmodified lines
380 .version = LIBAVUTIL_VERSION_INT,381 .version = LIBAVUTIL_VERSION_INT,
381};382};
382 383
383const AVCodec ff_libaribb24_decoder = {384const FFCodec ff_libaribb24_decoder = {
384 .name = "libaribb24",385 .p.name = "libaribb24",
385 .long_name = NULL_IF_CONFIG_SMALL("libaribb24 ARIB STD-B24 caption decoder"),386 .p.long_name = NULL_IF_CONFIG_SMALL("libaribb24 ARIB STD-B24 caption decoder"),
386 .type = AVMEDIA_TYPE_SUBTITLE,387 .p.type = AVMEDIA_TYPE_SUBTITLE,
387 .id = AV_CODEC_ID_ARIB_CAPTION,388 .p.id = AV_CODEC_ID_ARIB_CAPTION,
389 .p.priv_class = &aribb24_class,
390 .p.wrapper_name = "libaribb24",
388 .priv_data_size = sizeof(Libaribb24Context),391 .priv_data_size = sizeof(Libaribb24Context),
389 .init = libaribb24_init,392 .init = libaribb24_init,
390 .close = libaribb24_close,393 .close = libaribb24_close,
391 .decode = libaribb24_decode,394 .decode = libaribb24_decode,
392 .flush = libaribb24_flush,395 .flush = libaribb24_flush,
393 .priv_class= &aribb24_class,
394 .wrapper_name = "libaribb24",
395};396};
libavcodec/libcelt_dec.c+8−7
@@ -22,6 +22,7 @@ · 21 unmodified lines
22#include <celt/celt.h>22#include <celt/celt.h>
23#include <celt/celt_header.h>23#include <celt/celt_header.h>
24#include "avcodec.h"24#include "avcodec.h"
25#include "codec_internal.h"
25#include "internal.h"26#include "internal.h"
26#include "libavutil/intreadwrite.h"27#include "libavutil/intreadwrite.h"
27 28
@@ -127,15 +128,15 @@ static int libcelt_dec_decode(AVCodecContext *c, void *data, · 99 unmodified lines
127 return pkt->size;128 return pkt->size;
128}129}
129 130
130const AVCodec ff_libcelt_decoder = {131const FFCodec ff_libcelt_decoder = {
131 .name = "libcelt",132 .p.name = "libcelt",
132 .long_name = NULL_IF_CONFIG_SMALL("Xiph CELT decoder using libcelt"),133 .p.long_name = NULL_IF_CONFIG_SMALL("Xiph CELT decoder using libcelt"),
133 .type = AVMEDIA_TYPE_AUDIO,134 .p.type = AVMEDIA_TYPE_AUDIO,
134 .id = AV_CODEC_ID_CELT,135 .p.id = AV_CODEC_ID_CELT,
136 .p.capabilities = AV_CODEC_CAP_DR1,
137 .p.wrapper_name = "libcelt",
135 .priv_data_size = sizeof(struct libcelt_context),138 .priv_data_size = sizeof(struct libcelt_context),
136 .init = libcelt_dec_init,139 .init = libcelt_dec_init,
137 .close = libcelt_dec_close,140 .close = libcelt_dec_close,
138 .decode = libcelt_dec_decode,141 .decode = libcelt_dec_decode,
139 .capabilities = AV_CODEC_CAP_DR1,
140 .wrapper_name = "libcelt",
141};142};
libavcodec/libcodec2.c+22−21
@@ -23,6 +23,7 @@ · 22 unmodified lines
23#include "libavutil/channel_layout.h"23#include "libavutil/channel_layout.h"
24#include "avcodec.h"24#include "avcodec.h"
25#include "libavutil/opt.h"25#include "libavutil/opt.h"
26#include "codec_internal.h"
26#include "encode.h"27#include "encode.h"
27#include "internal.h"28#include "internal.h"
28#include "codec2utils.h"29#include "codec2utils.h"
@@ -176,39 +177,39 @@ static int libcodec2_encode(AVCodecContext *avctx, AVPacket *avpkt, · 147 unmodified lines
176 return 0;177 return 0;
177}178}
178 179
179const AVCodec ff_libcodec2_decoder = {180const FFCodec ff_libcodec2_decoder = {
180 .name = "libcodec2",181 .p.name = "libcodec2",
181 .long_name = NULL_IF_CONFIG_SMALL("codec2 decoder using libcodec2"),182 .p.long_name = NULL_IF_CONFIG_SMALL("codec2 decoder using libcodec2"),
182 .type = AVMEDIA_TYPE_AUDIO,183 .p.type = AVMEDIA_TYPE_AUDIO,
183 .id = AV_CODEC_ID_CODEC2,184 .p.id = AV_CODEC_ID_CODEC2,
185 .p.capabilities = AV_CODEC_CAP_CHANNEL_CONF,
186 .p.supported_samplerates = (const int[]){ 8000, 0 },
187 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_NONE },
188 .p.ch_layouts = (const AVChannelLayout[]) { AV_CHANNEL_LAYOUT_MONO, { 0 } },
184 .priv_data_size = sizeof(LibCodec2Context),189 .priv_data_size = sizeof(LibCodec2Context),
185 .init = libcodec2_init_decoder,190 .init = libcodec2_init_decoder,
186 .close = libcodec2_close,191 .close = libcodec2_close,
187 .decode = libcodec2_decode,192 .decode = libcodec2_decode,
188 .capabilities = AV_CODEC_CAP_CHANNEL_CONF,
189 .supported_samplerates = (const int[]){ 8000, 0 },
190 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_NONE },
191#if FF_API_OLD_CHANNEL_LAYOUT193#if FF_API_OLD_CHANNEL_LAYOUT
192 .channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_MONO, 0 },194 .p.channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_MONO, 0 },
193#endif195#endif
194 .ch_layouts = (const AVChannelLayout[]) { AV_CHANNEL_LAYOUT_MONO, { 0 } },
195};196};
196 197
197const AVCodec ff_libcodec2_encoder = {198const FFCodec ff_libcodec2_encoder = {
198 .name = "libcodec2",199 .p.name = "libcodec2",
199 .long_name = NULL_IF_CONFIG_SMALL("codec2 encoder using libcodec2"),200 .p.long_name = NULL_IF_CONFIG_SMALL("codec2 encoder using libcodec2"),
200 .type = AVMEDIA_TYPE_AUDIO,201 .p.type = AVMEDIA_TYPE_AUDIO,
201 .id = AV_CODEC_ID_CODEC2,202 .p.id = AV_CODEC_ID_CODEC2,
202 .capabilities = AV_CODEC_CAP_DR1,203 .p.capabilities = AV_CODEC_CAP_DR1,
204 .p.supported_samplerates = (const int[]){ 8000, 0 },
205 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_NONE },
206 .p.ch_layouts = (const AVChannelLayout[]) { AV_CHANNEL_LAYOUT_MONO, { 0 } },
207 .p.priv_class = &libcodec2_enc_class,
203 .priv_data_size = sizeof(LibCodec2Context),208 .priv_data_size = sizeof(LibCodec2Context),
204 .init = libcodec2_init_encoder,209 .init = libcodec2_init_encoder,
205 .close = libcodec2_close,210 .close = libcodec2_close,
206 .encode2 = libcodec2_encode,211 .encode2 = libcodec2_encode,
207 .supported_samplerates = (const int[]){ 8000, 0 },
208 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_NONE },
209#if FF_API_OLD_CHANNEL_LAYOUT212#if FF_API_OLD_CHANNEL_LAYOUT
210 .channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_MONO, 0 },213 .p.channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_MONO, 0 },
211#endif214#endif
212 .ch_layouts = (const AVChannelLayout[]) { AV_CHANNEL_LAYOUT_MONO, { 0 } },
213 .priv_class = &libcodec2_enc_class,
214};215};
libavcodec/libdav1d.c+8−8
@@ -573,19 +573,19 @@ static const AVClass libdav1d_class = { · 572 unmodified lines
573 .version = LIBAVUTIL_VERSION_INT,573 .version = LIBAVUTIL_VERSION_INT,
574};574};
575 575
576const AVCodec ff_libdav1d_decoder = {576const FFCodec ff_libdav1d_decoder = {
577 .name = "libdav1d",577 .p.name = "libdav1d",
578 .long_name = NULL_IF_CONFIG_SMALL("dav1d AV1 decoder by VideoLAN"),578 .p.long_name = NULL_IF_CONFIG_SMALL("dav1d AV1 decoder by VideoLAN"),
579 .type = AVMEDIA_TYPE_VIDEO,579 .p.type = AVMEDIA_TYPE_VIDEO,
580 .id = AV_CODEC_ID_AV1,580 .p.id = AV_CODEC_ID_AV1,
581 .priv_data_size = sizeof(Libdav1dContext),581 .priv_data_size = sizeof(Libdav1dContext),
582 .init = libdav1d_init,582 .init = libdav1d_init,
583 .close = libdav1d_close,583 .close = libdav1d_close,
584 .flush = libdav1d_flush,584 .flush = libdav1d_flush,
585 .receive_frame = libdav1d_receive_frame,585 .receive_frame = libdav1d_receive_frame,
586 .capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_OTHER_THREADS,586 .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_OTHER_THREADS,
587 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_SETS_PKT_DTS |587 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_SETS_PKT_DTS |
588 FF_CODEC_CAP_AUTO_THREADS,588 FF_CODEC_CAP_AUTO_THREADS,
589 .priv_class = &libdav1d_class,589 .p.priv_class = &libdav1d_class,
590 .wrapper_name = "libdav1d",590 .p.wrapper_name = "libdav1d",
591};591};
libavcodec/libdavs2.c+8−8
@@ -213,19 +213,19 @@ static int davs2_decode_frame(AVCodecContext *avctx, void *data, · 212 unmodified lines
213 return ret == 0 ? buf_size : ret;213 return ret == 0 ? buf_size : ret;
214}214}
215 215
216const AVCodec ff_libdavs2_decoder = {216const FFCodec ff_libdavs2_decoder = {
217 .name = "libdavs2",217 .p.name = "libdavs2",
218 .long_name = NULL_IF_CONFIG_SMALL("libdavs2 AVS2-P2/IEEE1857.4"),218 .p.long_name = NULL_IF_CONFIG_SMALL("libdavs2 AVS2-P2/IEEE1857.4"),
219 .type = AVMEDIA_TYPE_VIDEO,219 .p.type = AVMEDIA_TYPE_VIDEO,
220 .id = AV_CODEC_ID_AVS2,220 .p.id = AV_CODEC_ID_AVS2,
221 .priv_data_size = sizeof(DAVS2Context),221 .priv_data_size = sizeof(DAVS2Context),
222 .init = davs2_init,222 .init = davs2_init,
223 .close = davs2_end,223 .close = davs2_end,
224 .decode = davs2_decode_frame,224 .decode = davs2_decode_frame,
225 .flush = davs2_flush,225 .flush = davs2_flush,
226 .capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_OTHER_THREADS,226 .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_OTHER_THREADS,
227 .caps_internal = FF_CODEC_CAP_AUTO_THREADS,227 .caps_internal = FF_CODEC_CAP_AUTO_THREADS,
228 .pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P,228 .p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P,
229 AV_PIX_FMT_NONE },229 AV_PIX_FMT_NONE },
230 .wrapper_name = "libdavs2",230 .p.wrapper_name = "libdavs2",
231};231};
libavcodec/libfdk-aacdec.c+8−8
@@ -477,23 +477,23 @@ static av_cold void fdk_aac_decode_flush(AVCodecContext *avctx) · 476 unmodified lines
477 av_log(avctx, AV_LOG_WARNING, "failed to clear buffer when flushing\n");477 av_log(avctx, AV_LOG_WARNING, "failed to clear buffer when flushing\n");
478}478}
479 479
480const AVCodec ff_libfdk_aac_decoder = {480const FFCodec ff_libfdk_aac_decoder = {
481 .name = "libfdk_aac",481 .p.name = "libfdk_aac",
482 .long_name = NULL_IF_CONFIG_SMALL("Fraunhofer FDK AAC"),482 .p.long_name = NULL_IF_CONFIG_SMALL("Fraunhofer FDK AAC"),
483 .type = AVMEDIA_TYPE_AUDIO,483 .p.type = AVMEDIA_TYPE_AUDIO,
484 .id = AV_CODEC_ID_AAC,484 .p.id = AV_CODEC_ID_AAC,
485 .priv_data_size = sizeof(FDKAACDecContext),485 .priv_data_size = sizeof(FDKAACDecContext),
486 .init = fdk_aac_decode_init,486 .init = fdk_aac_decode_init,
487 .decode = fdk_aac_decode_frame,487 .decode = fdk_aac_decode_frame,
488 .close = fdk_aac_decode_close,488 .close = fdk_aac_decode_close,
489 .flush = fdk_aac_decode_flush,489 .flush = fdk_aac_decode_flush,
490 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF490 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF
491#if FDKDEC_VER_AT_LEAST(2, 5) // 2.5.10491#if FDKDEC_VER_AT_LEAST(2, 5) // 2.5.10
492 | AV_CODEC_CAP_DELAY492 | AV_CODEC_CAP_DELAY
493#endif493#endif
494 ,494 ,
495 .priv_class = &fdk_aac_dec_class,495 .p.priv_class = &fdk_aac_dec_class,
496 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |496 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |
497 FF_CODEC_CAP_INIT_CLEANUP,497 FF_CODEC_CAP_INIT_CLEANUP,
498 .wrapper_name = "libfdk",498 .p.wrapper_name = "libfdk",
499};499};
libavcodec/libfdk-aacenc.c+13−13
@@ -475,25 +475,25 @@ static const int aac_sample_rates[] = { · 474 unmodified lines
475 24000, 22050, 16000, 12000, 11025, 8000, 0475 24000, 22050, 16000, 12000, 11025, 8000, 0
476};476};
477 477
478const AVCodec ff_libfdk_aac_encoder = {478const FFCodec ff_libfdk_aac_encoder = {
479 .name = "libfdk_aac",479 .p.name = "libfdk_aac",
480 .long_name = NULL_IF_CONFIG_SMALL("Fraunhofer FDK AAC"),480 .p.long_name = NULL_IF_CONFIG_SMALL("Fraunhofer FDK AAC"),
481 .type = AVMEDIA_TYPE_AUDIO,481 .p.type = AVMEDIA_TYPE_AUDIO,
482 .id = AV_CODEC_ID_AAC,482 .p.id = AV_CODEC_ID_AAC,
483 .priv_data_size = sizeof(AACContext),483 .priv_data_size = sizeof(AACContext),
484 .init = aac_encode_init,484 .init = aac_encode_init,
485 .encode2 = aac_encode_frame,485 .encode2 = aac_encode_frame,
486 .close = aac_encode_close,486 .close = aac_encode_close,
487 .capabilities = AV_CODEC_CAP_SMALL_LAST_FRAME | AV_CODEC_CAP_DELAY,487 .p.capabilities = AV_CODEC_CAP_SMALL_LAST_FRAME | AV_CODEC_CAP_DELAY,
488 .sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16,488 .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16,
489 AV_SAMPLE_FMT_NONE },489 AV_SAMPLE_FMT_NONE },
490 .priv_class = &aac_enc_class,490 .p.priv_class = &aac_enc_class,
491 .defaults = aac_encode_defaults,491 .defaults = aac_encode_defaults,
492 .profiles = profiles,492 .p.profiles = profiles,
493 .supported_samplerates = aac_sample_rates,493 .p.supported_samplerates = aac_sample_rates,
494 .wrapper_name = "libfdk",494 .p.wrapper_name = "libfdk",
495#if FF_API_OLD_CHANNEL_LAYOUT495#if FF_API_OLD_CHANNEL_LAYOUT
496 .channel_layouts = aac_channel_layout,496 .p.channel_layouts = aac_channel_layout,
497#endif497#endif
498 .ch_layouts = aac_ch_layouts,498 .p.ch_layouts = aac_ch_layouts,
499};499};
libavcodec/libgsmdec.c+15−14
@@ -39,6 +39,7 @@ · 38 unmodified lines
39#include "libavutil/common.h"39#include "libavutil/common.h"
40 40
41#include "avcodec.h"41#include "avcodec.h"
42#include "codec_internal.h"
42#include "internal.h"43#include "internal.h"
43#include "gsm.h"44#include "gsm.h"
44 45
@@ -125,32 +126,32 @@ static void libgsm_flush(AVCodecContext *avctx) { · 80 unmodified lines
125}126}
126 127
127#if CONFIG_LIBGSM_DECODER128#if CONFIG_LIBGSM_DECODER
128const AVCodec ff_libgsm_decoder = {129const FFCodec ff_libgsm_decoder = {
129 .name = "libgsm",130 .p.name = "libgsm",
130 .long_name = NULL_IF_CONFIG_SMALL("libgsm GSM"),131 .p.long_name = NULL_IF_CONFIG_SMALL("libgsm GSM"),
131 .type = AVMEDIA_TYPE_AUDIO,132 .p.type = AVMEDIA_TYPE_AUDIO,
132 .id = AV_CODEC_ID_GSM,133 .p.id = AV_CODEC_ID_GSM,
134 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
135 .p.wrapper_name = "libgsm",
133 .priv_data_size = sizeof(LibGSMDecodeContext),136 .priv_data_size = sizeof(LibGSMDecodeContext),
134 .init = libgsm_decode_init,137 .init = libgsm_decode_init,
135 .close = libgsm_decode_close,138 .close = libgsm_decode_close,
136 .decode = libgsm_decode_frame,139 .decode = libgsm_decode_frame,
137 .flush = libgsm_flush,140 .flush = libgsm_flush,
138 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
139 .wrapper_name = "libgsm",
140};141};
141#endif142#endif
142#if CONFIG_LIBGSM_MS_DECODER143#if CONFIG_LIBGSM_MS_DECODER
143const AVCodec ff_libgsm_ms_decoder = {144const FFCodec ff_libgsm_ms_decoder = {
144 .name = "libgsm_ms",145 .p.name = "libgsm_ms",
145 .long_name = NULL_IF_CONFIG_SMALL("libgsm GSM Microsoft variant"),146 .p.long_name = NULL_IF_CONFIG_SMALL("libgsm GSM Microsoft variant"),
146 .type = AVMEDIA_TYPE_AUDIO,147 .p.type = AVMEDIA_TYPE_AUDIO,
147 .id = AV_CODEC_ID_GSM_MS,148 .p.id = AV_CODEC_ID_GSM_MS,
149 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
150 .p.wrapper_name = "libgsm",
148 .priv_data_size = sizeof(LibGSMDecodeContext),151 .priv_data_size = sizeof(LibGSMDecodeContext),
149 .init = libgsm_decode_init,152 .init = libgsm_decode_init,
150 .close = libgsm_decode_close,153 .close = libgsm_decode_close,
151 .decode = libgsm_decode_frame,154 .decode = libgsm_decode_frame,
152 .flush = libgsm_flush,155 .flush = libgsm_flush,
153 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
154 .wrapper_name = "libgsm",
155};156};
156#endif157#endif
libavcodec/libgsmenc.c+20−20
@@ -117,42 +117,42 @@ static const AVCodecDefault libgsm_defaults[] = { · 116 unmodified lines
117};117};
118 118
119#if CONFIG_LIBGSM_ENCODER119#if CONFIG_LIBGSM_ENCODER
120const AVCodec ff_libgsm_encoder = {120const FFCodec ff_libgsm_encoder = {
121 .name = "libgsm",121 .p.name = "libgsm",
122 .long_name = NULL_IF_CONFIG_SMALL("libgsm GSM"),122 .p.long_name = NULL_IF_CONFIG_SMALL("libgsm GSM"),
123 .type = AVMEDIA_TYPE_AUDIO,123 .p.type = AVMEDIA_TYPE_AUDIO,
124 .id = AV_CODEC_ID_GSM,124 .p.id = AV_CODEC_ID_GSM,
125 .capabilities = AV_CODEC_CAP_DR1,125 .p.capabilities = AV_CODEC_CAP_DR1,
126 .init = libgsm_encode_init,126 .init = libgsm_encode_init,
127 .encode2 = libgsm_encode_frame,127 .encode2 = libgsm_encode_frame,
128 .close = libgsm_encode_close,128 .close = libgsm_encode_close,
129 .defaults = libgsm_defaults,129 .defaults = libgsm_defaults,
130#if FF_API_OLD_CHANNEL_LAYOUT130#if FF_API_OLD_CHANNEL_LAYOUT
131 .channel_layouts= (const uint64_t[]) { AV_CH_LAYOUT_MONO, 0 },131 .p.channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_MONO, 0 },
132#endif132#endif
133 .ch_layouts = (const AVChannelLayout[]) { AV_CHANNEL_LAYOUT_MONO, { 0 } },133 .p.ch_layouts = (const AVChannelLayout[]) { AV_CHANNEL_LAYOUT_MONO, { 0 } },
134 .sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16,134 .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16,
135 AV_SAMPLE_FMT_NONE },135 AV_SAMPLE_FMT_NONE },
136 .wrapper_name = "libgsm",136 .p.wrapper_name = "libgsm",
137};137};
138#endif138#endif
139#if CONFIG_LIBGSM_MS_ENCODER139#if CONFIG_LIBGSM_MS_ENCODER
140const AVCodec ff_libgsm_ms_encoder = {140const FFCodec ff_libgsm_ms_encoder = {
141 .name = "libgsm_ms",141 .p.name = "libgsm_ms",
142 .long_name = NULL_IF_CONFIG_SMALL("libgsm GSM Microsoft variant"),142 .p.long_name = NULL_IF_CONFIG_SMALL("libgsm GSM Microsoft variant"),
143 .type = AVMEDIA_TYPE_AUDIO,143 .p.type = AVMEDIA_TYPE_AUDIO,
144 .id = AV_CODEC_ID_GSM_MS,144 .p.id = AV_CODEC_ID_GSM_MS,
145 .capabilities = AV_CODEC_CAP_DR1,145 .p.capabilities = AV_CODEC_CAP_DR1,
146 .init = libgsm_encode_init,146 .init = libgsm_encode_init,
147 .encode2 = libgsm_encode_frame,147 .encode2 = libgsm_encode_frame,
148 .close = libgsm_encode_close,148 .close = libgsm_encode_close,
149 .defaults = libgsm_defaults,149 .defaults = libgsm_defaults,
150#if FF_API_OLD_CHANNEL_LAYOUT150#if FF_API_OLD_CHANNEL_LAYOUT
151 .channel_layouts= (const uint64_t[]) { AV_CH_LAYOUT_MONO, 0 },151 .p.channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_MONO, 0 },
152#endif152#endif
153 .ch_layouts = (const AVChannelLayout[]) { AV_CHANNEL_LAYOUT_MONO, { 0 } },153 .p.ch_layouts = (const AVChannelLayout[]) { AV_CHANNEL_LAYOUT_MONO, { 0 } },
154 .sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16,154 .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16,
155 AV_SAMPLE_FMT_NONE },155 AV_SAMPLE_FMT_NONE },
156 .wrapper_name = "libgsm",156 .p.wrapper_name = "libgsm",
157};157};
158#endif158#endif
libavcodec/libilbc.c+15−15
@@ -118,16 +118,16 @@ static int ilbc_decode_frame(AVCodecContext *avctx, void *data, · 117 unmodified lines
118 return s->decoder.no_of_bytes;118 return s->decoder.no_of_bytes;
119}119}
120 120
121const AVCodec ff_libilbc_decoder = {121const FFCodec ff_libilbc_decoder = {
122 .name = "libilbc",122 .p.name = "libilbc",
123 .long_name = NULL_IF_CONFIG_SMALL("iLBC (Internet Low Bitrate Codec)"),123 .p.long_name = NULL_IF_CONFIG_SMALL("iLBC (Internet Low Bitrate Codec)"),
124 .type = AVMEDIA_TYPE_AUDIO,124 .p.type = AVMEDIA_TYPE_AUDIO,
125 .id = AV_CODEC_ID_ILBC,125 .p.id = AV_CODEC_ID_ILBC,
126 .priv_data_size = sizeof(ILBCDecContext),126 .priv_data_size = sizeof(ILBCDecContext),
127 .init = ilbc_decode_init,127 .init = ilbc_decode_init,
128 .decode = ilbc_decode_frame,128 .decode = ilbc_decode_frame,
129 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,129 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
130 .priv_class = &ilbc_dec_class,130 .p.priv_class = &ilbc_dec_class,
131};131};
132 132
133typedef struct ILBCEncContext {133typedef struct ILBCEncContext {
@@ -200,17 +200,17 @@ static const AVCodecDefault ilbc_encode_defaults[] = { · 66 unmodified lines
200 { NULL }200 { NULL }
201};201};
202 202
203const AVCodec ff_libilbc_encoder = {203const FFCodec ff_libilbc_encoder = {
204 .name = "libilbc",204 .p.name = "libilbc",
205 .long_name = NULL_IF_CONFIG_SMALL("iLBC (Internet Low Bitrate Codec)"),205 .p.long_name = NULL_IF_CONFIG_SMALL("iLBC (Internet Low Bitrate Codec)"),
206 .type = AVMEDIA_TYPE_AUDIO,206 .p.type = AVMEDIA_TYPE_AUDIO,
207 .id = AV_CODEC_ID_ILBC,207 .p.id = AV_CODEC_ID_ILBC,
208 .priv_data_size = sizeof(ILBCEncContext),208 .priv_data_size = sizeof(ILBCEncContext),
209 .init = ilbc_encode_init,209 .init = ilbc_encode_init,
210 .encode2 = ilbc_encode_frame,210 .encode2 = ilbc_encode_frame,
211 .sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16,211 .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16,
212 AV_SAMPLE_FMT_NONE },212 AV_SAMPLE_FMT_NONE },
213 .defaults = ilbc_encode_defaults,213 .defaults = ilbc_encode_defaults,
214 .priv_class = &ilbc_enc_class,214 .p.priv_class = &ilbc_enc_class,
215 .wrapper_name = "libbilbc",215 .p.wrapper_name = "libbilbc",
216};216};
libavcodec/libkvazaar.c+9−9
@@ -318,16 +318,16 @@ static const AVCodecDefault defaults[] = { · 317 unmodified lines
318 { NULL },318 { NULL },
319};319};
320 320
321const AVCodec ff_libkvazaar_encoder = {321const FFCodec ff_libkvazaar_encoder = {
322 .name = "libkvazaar",322 .p.name = "libkvazaar",
323 .long_name = NULL_IF_CONFIG_SMALL("libkvazaar H.265 / HEVC"),323 .p.long_name = NULL_IF_CONFIG_SMALL("libkvazaar H.265 / HEVC"),
324 .type = AVMEDIA_TYPE_VIDEO,324 .p.type = AVMEDIA_TYPE_VIDEO,
325 .id = AV_CODEC_ID_HEVC,325 .p.id = AV_CODEC_ID_HEVC,
326 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY |326 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY |
327 AV_CODEC_CAP_OTHER_THREADS,327 AV_CODEC_CAP_OTHER_THREADS,
328 .pix_fmts = pix_fmts,328 .p.pix_fmts = pix_fmts,
329 329
330 .priv_class = &class,330 .p.priv_class = &class,
331 .priv_data_size = sizeof(LibkvazaarContext),331 .priv_data_size = sizeof(LibkvazaarContext),
332 .defaults = defaults,332 .defaults = defaults,
333 333
@@ -338,5 +338,5 @@ const AVCodec ff_libkvazaar_encoder = { · 4 unmodified lines
338 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP |338 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP |
339 FF_CODEC_CAP_AUTO_THREADS,339 FF_CODEC_CAP_AUTO_THREADS,
340 340
341 .wrapper_name = "libkvazaar",341 .p.wrapper_name = "libkvazaar",
342};342};
libavcodec/libmp3lame.c+12−12
@@ -328,32 +328,32 @@ static const int libmp3lame_sample_rates[] = { · 327 unmodified lines
328 44100, 48000, 32000, 22050, 24000, 16000, 11025, 12000, 8000, 0328 44100, 48000, 32000, 22050, 24000, 16000, 11025, 12000, 8000, 0
329};329};
330 330
331const AVCodec ff_libmp3lame_encoder = {331const FFCodec ff_libmp3lame_encoder = {
332 .name = "libmp3lame",332 .p.name = "libmp3lame",
333 .long_name = NULL_IF_CONFIG_SMALL("libmp3lame MP3 (MPEG audio layer 3)"),333 .p.long_name = NULL_IF_CONFIG_SMALL("libmp3lame MP3 (MPEG audio layer 3)"),
334 .type = AVMEDIA_TYPE_AUDIO,334 .p.type = AVMEDIA_TYPE_AUDIO,
335 .id = AV_CODEC_ID_MP3,335 .p.id = AV_CODEC_ID_MP3,
336 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY |336 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY |
337 AV_CODEC_CAP_SMALL_LAST_FRAME,337 AV_CODEC_CAP_SMALL_LAST_FRAME,
338 .priv_data_size = sizeof(LAMEContext),338 .priv_data_size = sizeof(LAMEContext),
339 .init = mp3lame_encode_init,339 .init = mp3lame_encode_init,
340 .encode2 = mp3lame_encode_frame,340 .encode2 = mp3lame_encode_frame,
341 .close = mp3lame_encode_close,341 .close = mp3lame_encode_close,
342 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S32P,342 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S32P,
343 AV_SAMPLE_FMT_FLTP,343 AV_SAMPLE_FMT_FLTP,
344 AV_SAMPLE_FMT_S16P,344 AV_SAMPLE_FMT_S16P,
345 AV_SAMPLE_FMT_NONE },345 AV_SAMPLE_FMT_NONE },
346 .supported_samplerates = libmp3lame_sample_rates,346 .p.supported_samplerates = libmp3lame_sample_rates,
347#if FF_API_OLD_CHANNEL_LAYOUT347#if FF_API_OLD_CHANNEL_LAYOUT
348 .channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_MONO,348 .p.channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_MONO,
349 AV_CH_LAYOUT_STEREO,349 AV_CH_LAYOUT_STEREO,
350 0 },350 0 },
351#endif351#endif
352 .ch_layouts = (const AVChannelLayout[]) { AV_CHANNEL_LAYOUT_MONO,352 .p.ch_layouts = (const AVChannelLayout[]) { AV_CHANNEL_LAYOUT_MONO,
353 AV_CHANNEL_LAYOUT_STEREO,353 AV_CHANNEL_LAYOUT_STEREO,
354 { 0 },354 { 0 },
355 },355 },
356 .priv_class = &libmp3lame_class,356 .p.priv_class = &libmp3lame_class,
357 .defaults = libmp3lame_defaults,357 .defaults = libmp3lame_defaults,
358 .wrapper_name = "libmp3lame",358 .p.wrapper_name = "libmp3lame",
359};359};
libavcodec/libopencore-amr.c+22−21
@@ -29,6 +29,7 @@ · 28 unmodified lines
29#include "libavutil/opt.h"29#include "libavutil/opt.h"
30#include "avcodec.h"30#include "avcodec.h"
31#include "audio_frame_queue.h"31#include "audio_frame_queue.h"
32#include "codec_internal.h"
32#include "encode.h"33#include "encode.h"
33#include "internal.h"34#include "internal.h"
34 35
@@ -133,16 +134,16 @@ static int amr_nb_decode_frame(AVCodecContext *avctx, void *data, · 98 unmodified lines
133 return packet_size;134 return packet_size;
134}135}
135 136
136const AVCodec ff_libopencore_amrnb_decoder = {137const FFCodec ff_libopencore_amrnb_decoder = {
137 .name = "libopencore_amrnb",138 .p.name = "libopencore_amrnb",
138 .long_name = NULL_IF_CONFIG_SMALL("OpenCORE AMR-NB (Adaptive Multi-Rate Narrow-Band)"),139 .p.long_name = NULL_IF_CONFIG_SMALL("OpenCORE AMR-NB (Adaptive Multi-Rate Narrow-Band)"),
139 .type = AVMEDIA_TYPE_AUDIO,140 .p.type = AVMEDIA_TYPE_AUDIO,
140 .id = AV_CODEC_ID_AMR_NB,141 .p.id = AV_CODEC_ID_AMR_NB,
141 .priv_data_size = sizeof(AMRContext),142 .priv_data_size = sizeof(AMRContext),
142 .init = amr_nb_decode_init,143 .init = amr_nb_decode_init,
143 .close = amr_nb_decode_close,144 .close = amr_nb_decode_close,
144 .decode = amr_nb_decode_frame,145 .decode = amr_nb_decode_frame,
145 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,146 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
146};147};
147#endif /* CONFIG_LIBOPENCORE_AMRNB_DECODER */148#endif /* CONFIG_LIBOPENCORE_AMRNB_DECODER */
148 149
@@ -288,19 +289,19 @@ static int amr_nb_encode_frame(AVCodecContext *avctx, AVPacket *avpkt, · 139 unmodified lines
288 return 0;289 return 0;
289}290}
290 291
291const AVCodec ff_libopencore_amrnb_encoder = {292const FFCodec ff_libopencore_amrnb_encoder = {
292 .name = "libopencore_amrnb",293 .p.name = "libopencore_amrnb",
293 .long_name = NULL_IF_CONFIG_SMALL("OpenCORE AMR-NB (Adaptive Multi-Rate Narrow-Band)"),294 .p.long_name = NULL_IF_CONFIG_SMALL("OpenCORE AMR-NB (Adaptive Multi-Rate Narrow-Band)"),
294 .type = AVMEDIA_TYPE_AUDIO,295 .p.type = AVMEDIA_TYPE_AUDIO,
295 .id = AV_CODEC_ID_AMR_NB,296 .p.id = AV_CODEC_ID_AMR_NB,
296 .priv_data_size = sizeof(AMRContext),297 .priv_data_size = sizeof(AMRContext),
297 .init = amr_nb_encode_init,298 .init = amr_nb_encode_init,
298 .encode2 = amr_nb_encode_frame,299 .encode2 = amr_nb_encode_frame,
299 .close = amr_nb_encode_close,300 .close = amr_nb_encode_close,
300 .capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_SMALL_LAST_FRAME,301 .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_SMALL_LAST_FRAME,
301 .sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16,302 .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16,
302 AV_SAMPLE_FMT_NONE },303 AV_SAMPLE_FMT_NONE },
303 .priv_class = &amrnb_class,304 .p.priv_class = &amrnb_class,
304};305};
305#endif /* CONFIG_LIBOPENCORE_AMRNB_ENCODER */306#endif /* CONFIG_LIBOPENCORE_AMRNB_ENCODER */
306 307
@@ -373,17 +374,17 @@ static int amr_wb_decode_close(AVCodecContext *avctx) · 66 unmodified lines
373 return 0;374 return 0;
374}375}
375 376
376const AVCodec ff_libopencore_amrwb_decoder = {377const FFCodec ff_libopencore_amrwb_decoder = {
377 .name = "libopencore_amrwb",378 .p.name = "libopencore_amrwb",
378 .long_name = NULL_IF_CONFIG_SMALL("OpenCORE AMR-WB (Adaptive Multi-Rate Wide-Band)"),379 .p.long_name = NULL_IF_CONFIG_SMALL("OpenCORE AMR-WB (Adaptive Multi-Rate Wide-Band)"),
379 .type = AVMEDIA_TYPE_AUDIO,380 .p.type = AVMEDIA_TYPE_AUDIO,
380 .id = AV_CODEC_ID_AMR_WB,381 .p.id = AV_CODEC_ID_AMR_WB,
382 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
383 .p.wrapper_name = "libopencore_amrwb",
381 .priv_data_size = sizeof(AMRWBContext),384 .priv_data_size = sizeof(AMRWBContext),
382 .init = amr_wb_decode_init,385 .init = amr_wb_decode_init,
383 .close = amr_wb_decode_close,386 .close = amr_wb_decode_close,
384 .decode = amr_wb_decode_frame,387 .decode = amr_wb_decode_frame,
385 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
386 .wrapper_name = "libopencore_amrwb",
387};388};
388 389
389#endif /* CONFIG_LIBOPENCORE_AMRWB_DECODER */390#endif /* CONFIG_LIBOPENCORE_AMRWB_DECODER */
libavcodec/libopenh264dec.c+7−7
@@ -157,18 +157,18 @@ static int svc_decode_frame(AVCodecContext *avctx, void *data, · 156 unmodified lines
157 return avpkt->size;157 return avpkt->size;
158}158}
159 159
160const AVCodec ff_libopenh264_decoder = {160const FFCodec ff_libopenh264_decoder = {
161 .name = "libopenh264",161 .p.name = "libopenh264",
162 .long_name = NULL_IF_CONFIG_SMALL("OpenH264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10"),162 .p.long_name = NULL_IF_CONFIG_SMALL("OpenH264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10"),
163 .type = AVMEDIA_TYPE_VIDEO,163 .p.type = AVMEDIA_TYPE_VIDEO,
164 .id = AV_CODEC_ID_H264,164 .p.id = AV_CODEC_ID_H264,
165 .priv_data_size = sizeof(SVCContext),165 .priv_data_size = sizeof(SVCContext),
166 .init = svc_decode_init,166 .init = svc_decode_init,
167 .decode = svc_decode_frame,167 .decode = svc_decode_frame,
168 .close = svc_decode_close,168 .close = svc_decode_close,
169 .capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_DR1,169 .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_DR1,
170 .caps_internal = FF_CODEC_CAP_SETS_PKT_DTS | FF_CODEC_CAP_INIT_THREADSAFE |170 .caps_internal = FF_CODEC_CAP_SETS_PKT_DTS | FF_CODEC_CAP_INIT_THREADSAFE |
171 FF_CODEC_CAP_INIT_CLEANUP,171 FF_CODEC_CAP_INIT_CLEANUP,
172 .bsfs = "h264_mp4toannexb",172 .bsfs = "h264_mp4toannexb",
173 .wrapper_name = "libopenh264",173 .p.wrapper_name = "libopenh264",
174};174};
libavcodec/libopenh264enc.c+9−9
@@ -451,21 +451,21 @@ static const AVCodecDefault svc_enc_defaults[] = { · 450 unmodified lines
451 { NULL },451 { NULL },
452};452};
453 453
454const AVCodec ff_libopenh264_encoder = {454const FFCodec ff_libopenh264_encoder = {
455 .name = "libopenh264",455 .p.name = "libopenh264",
456 .long_name = NULL_IF_CONFIG_SMALL("OpenH264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10"),456 .p.long_name = NULL_IF_CONFIG_SMALL("OpenH264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10"),
457 .type = AVMEDIA_TYPE_VIDEO,457 .p.type = AVMEDIA_TYPE_VIDEO,
458 .id = AV_CODEC_ID_H264,458 .p.id = AV_CODEC_ID_H264,
459 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_OTHER_THREADS,459 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_OTHER_THREADS,
460 .priv_data_size = sizeof(SVCContext),460 .priv_data_size = sizeof(SVCContext),
461 .init = svc_encode_init,461 .init = svc_encode_init,
462 .encode2 = svc_encode_frame,462 .encode2 = svc_encode_frame,
463 .close = svc_encode_close,463 .close = svc_encode_close,
464 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP |464 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP |
465 FF_CODEC_CAP_AUTO_THREADS,465 FF_CODEC_CAP_AUTO_THREADS,
466 .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P,466 .p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P,
467 AV_PIX_FMT_NONE },467 AV_PIX_FMT_NONE },
468 .defaults = svc_enc_defaults,468 .defaults = svc_enc_defaults,
469 .priv_class = &class,469 .p.priv_class = &class,
470 .wrapper_name = "libopenh264",470 .p.wrapper_name = "libopenh264",
471};471};
libavcodec/libopenjpegdec.c+10−9
@@ -31,6 +31,7 @@ · 30 unmodified lines
31#include "libavutil/pixfmt.h"31#include "libavutil/pixfmt.h"
32 32
33#include "avcodec.h"33#include "avcodec.h"
34#include "codec_internal.h"
34#include "internal.h"35#include "internal.h"
35#include "thread.h"36#include "thread.h"
36 37
@@ -501,16 +502,16 @@ static const AVClass openjpeg_class = { · 464 unmodified lines
501 .version = LIBAVUTIL_VERSION_INT,502 .version = LIBAVUTIL_VERSION_INT,
502};503};
503 504
504const AVCodec ff_libopenjpeg_decoder = {505const FFCodec ff_libopenjpeg_decoder = {
505 .name = "libopenjpeg",506 .p.name = "libopenjpeg",
506 .long_name = NULL_IF_CONFIG_SMALL("OpenJPEG JPEG 2000"),507 .p.long_name = NULL_IF_CONFIG_SMALL("OpenJPEG JPEG 2000"),
507 .type = AVMEDIA_TYPE_VIDEO,508 .p.type = AVMEDIA_TYPE_VIDEO,
508 .id = AV_CODEC_ID_JPEG2000,509 .p.id = AV_CODEC_ID_JPEG2000,
510 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
511 .p.max_lowres = 31,
512 .p.priv_class = &openjpeg_class,
513 .p.wrapper_name = "libopenjpeg",
509 .priv_data_size = sizeof(LibOpenJPEGContext),514 .priv_data_size = sizeof(LibOpenJPEGContext),
510 .init = libopenjpeg_decode_init,515 .init = libopenjpeg_decode_init,
511 .decode = libopenjpeg_decode_frame,516 .decode = libopenjpeg_decode_frame,
512 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
513 .max_lowres = 31,
514 .priv_class = &openjpeg_class,
515 .wrapper_name = "libopenjpeg",
516};517};
libavcodec/libopenjpegenc.c+10−10
@@ -29,8 +29,8 @@ · 28 unmodified lines
29#include "libavutil/intreadwrite.h"29#include "libavutil/intreadwrite.h"
30#include "libavutil/opt.h"30#include "libavutil/opt.h"
31#include "avcodec.h"31#include "avcodec.h"
32#include "codec_internal.h"
32#include "encode.h"33#include "encode.h"
33#include "internal.h"
34#include <openjpeg.h>34#include <openjpeg.h>
35 35
36typedef struct LibOpenJPEGContext {36typedef struct LibOpenJPEGContext {
@@ -754,16 +754,16 @@ static const AVClass openjpeg_class = { · 717 unmodified lines
754 .version = LIBAVUTIL_VERSION_INT,754 .version = LIBAVUTIL_VERSION_INT,
755};755};
756 756
757const AVCodec ff_libopenjpeg_encoder = {757const FFCodec ff_libopenjpeg_encoder = {
758 .name = "libopenjpeg",758 .p.name = "libopenjpeg",
759 .long_name = NULL_IF_CONFIG_SMALL("OpenJPEG JPEG 2000"),759 .p.long_name = NULL_IF_CONFIG_SMALL("OpenJPEG JPEG 2000"),
760 .type = AVMEDIA_TYPE_VIDEO,760 .p.type = AVMEDIA_TYPE_VIDEO,
761 .id = AV_CODEC_ID_JPEG2000,761 .p.id = AV_CODEC_ID_JPEG2000,
762 .priv_data_size = sizeof(LibOpenJPEGContext),762 .priv_data_size = sizeof(LibOpenJPEGContext),
763 .init = libopenjpeg_encode_init,763 .init = libopenjpeg_encode_init,
764 .encode2 = libopenjpeg_encode_frame,764 .encode2 = libopenjpeg_encode_frame,
765 .capabilities = AV_CODEC_CAP_FRAME_THREADS,765 .p.capabilities = AV_CODEC_CAP_FRAME_THREADS,
766 .pix_fmts = (const enum AVPixelFormat[]) {766 .p.pix_fmts = (const enum AVPixelFormat[]) {
767 AV_PIX_FMT_RGB24, AV_PIX_FMT_RGBA, AV_PIX_FMT_RGB48,767 AV_PIX_FMT_RGB24, AV_PIX_FMT_RGBA, AV_PIX_FMT_RGB48,
768 AV_PIX_FMT_RGBA64, AV_PIX_FMT_GBR24P,768 AV_PIX_FMT_RGBA64, AV_PIX_FMT_GBR24P,
769 AV_PIX_FMT_GBRP9, AV_PIX_FMT_GBRP10, AV_PIX_FMT_GBRP12, AV_PIX_FMT_GBRP14, AV_PIX_FMT_GBRP16,769 AV_PIX_FMT_GBRP9, AV_PIX_FMT_GBRP10, AV_PIX_FMT_GBRP12, AV_PIX_FMT_GBRP14, AV_PIX_FMT_GBRP16,
@@ -783,6 +783,6 @@ const AVCodec ff_libopenjpeg_encoder = { · 13 unmodified lines
783 AV_PIX_FMT_XYZ12,783 AV_PIX_FMT_XYZ12,
784 AV_PIX_FMT_NONE784 AV_PIX_FMT_NONE
785 },785 },
786 .priv_class = &openjpeg_class,786 .p.priv_class = &openjpeg_class,
787 .wrapper_name = "libopenjpeg",787 .p.wrapper_name = "libopenjpeg",
788};788};
libavcodec/libopusdec.c+9−9
@@ -231,21 +231,21 @@ static const AVClass libopusdec_class = { · 230 unmodified lines
231};231};
232 232
233 233
234const AVCodec ff_libopus_decoder = {234const FFCodec ff_libopus_decoder = {
235 .name = "libopus",235 .p.name = "libopus",
236 .long_name = NULL_IF_CONFIG_SMALL("libopus Opus"),236 .p.long_name = NULL_IF_CONFIG_SMALL("libopus Opus"),
237 .type = AVMEDIA_TYPE_AUDIO,237 .p.type = AVMEDIA_TYPE_AUDIO,
238 .id = AV_CODEC_ID_OPUS,238 .p.id = AV_CODEC_ID_OPUS,
239 .priv_data_size = sizeof(struct libopus_context),239 .priv_data_size = sizeof(struct libopus_context),
240 .init = libopus_decode_init,240 .init = libopus_decode_init,
241 .close = libopus_decode_close,241 .close = libopus_decode_close,
242 .decode = libopus_decode,242 .decode = libopus_decode,
243 .flush = libopus_flush,243 .flush = libopus_flush,
244 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,244 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
245 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,245 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
246 .sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_FLT,246 .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_FLT,
247 AV_SAMPLE_FMT_S16,247 AV_SAMPLE_FMT_S16,
248 AV_SAMPLE_FMT_NONE },248 AV_SAMPLE_FMT_NONE },
249 .priv_class = &libopusdec_class,249 .p.priv_class = &libopusdec_class,
250 .wrapper_name = "libopus",250 .p.wrapper_name = "libopus",
251};251};
libavcodec/libopusenc.c+10−10
@@ -583,21 +583,21 @@ static const int libopus_sample_rates[] = { · 582 unmodified lines
583 48000, 24000, 16000, 12000, 8000, 0,583 48000, 24000, 16000, 12000, 8000, 0,
584};584};
585 585
586const AVCodec ff_libopus_encoder = {586const FFCodec ff_libopus_encoder = {
587 .name = "libopus",587 .p.name = "libopus",
588 .long_name = NULL_IF_CONFIG_SMALL("libopus Opus"),588 .p.long_name = NULL_IF_CONFIG_SMALL("libopus Opus"),
589 .type = AVMEDIA_TYPE_AUDIO,589 .p.type = AVMEDIA_TYPE_AUDIO,
590 .id = AV_CODEC_ID_OPUS,590 .p.id = AV_CODEC_ID_OPUS,
591 .priv_data_size = sizeof(LibopusEncContext),591 .priv_data_size = sizeof(LibopusEncContext),
592 .init = libopus_encode_init,592 .init = libopus_encode_init,
593 .encode2 = libopus_encode,593 .encode2 = libopus_encode,
594 .close = libopus_encode_close,594 .close = libopus_encode_close,
595 .capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_SMALL_LAST_FRAME,595 .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_SMALL_LAST_FRAME,
596 .sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16,596 .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16,
597 AV_SAMPLE_FMT_FLT,597 AV_SAMPLE_FMT_FLT,
598 AV_SAMPLE_FMT_NONE },598 AV_SAMPLE_FMT_NONE },
599 .supported_samplerates = libopus_sample_rates,599 .p.supported_samplerates = libopus_sample_rates,
600 .priv_class = &libopus_class,600 .p.priv_class = &libopus_class,
601 .defaults = libopus_defaults,601 .defaults = libopus_defaults,
602 .wrapper_name = "libopus",602 .p.wrapper_name = "libopus",
603};603};
libavcodec/librav1e.c+9−9
@@ -614,20 +614,20 @@ static const AVClass class = { · 613 unmodified lines
614 .version = LIBAVUTIL_VERSION_INT,614 .version = LIBAVUTIL_VERSION_INT,
615};615};
616 616
617const AVCodec ff_librav1e_encoder = {617const FFCodec ff_librav1e_encoder = {
618 .name = "librav1e",618 .p.name = "librav1e",
619 .long_name = NULL_IF_CONFIG_SMALL("librav1e AV1"),619 .p.long_name = NULL_IF_CONFIG_SMALL("librav1e AV1"),
620 .type = AVMEDIA_TYPE_VIDEO,620 .p.type = AVMEDIA_TYPE_VIDEO,
621 .id = AV_CODEC_ID_AV1,621 .p.id = AV_CODEC_ID_AV1,
622 .init = librav1e_encode_init,622 .init = librav1e_encode_init,
623 .receive_packet = librav1e_receive_packet,623 .receive_packet = librav1e_receive_packet,
624 .close = librav1e_encode_close,624 .close = librav1e_encode_close,
625 .priv_data_size = sizeof(librav1eContext),625 .priv_data_size = sizeof(librav1eContext),
626 .priv_class = &class,626 .p.priv_class = &class,
627 .defaults = librav1e_defaults,627 .defaults = librav1e_defaults,
628 .pix_fmts = librav1e_pix_fmts,628 .p.pix_fmts = librav1e_pix_fmts,
629 .capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_OTHER_THREADS |629 .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_OTHER_THREADS |
630 AV_CODEC_CAP_DR1,630 AV_CODEC_CAP_DR1,
631 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_AUTO_THREADS,631 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_AUTO_THREADS,
632 .wrapper_name = "librav1e",632 .p.wrapper_name = "librav1e",
633};633};
libavcodec/librsvgdec.c+9−8
@@ -20,6 +20,7 @@ · 19 unmodified lines
20 */20 */
21 21
22#include "avcodec.h"22#include "avcodec.h"
23#include "codec_internal.h"
23#include "internal.h"24#include "internal.h"
24#include "libavutil/opt.h"25#include "libavutil/opt.h"
25#include "librsvg-2.0/librsvg/rsvg.h"26#include "librsvg-2.0/librsvg/rsvg.h"
@@ -117,14 +118,14 @@ static const AVClass librsvg_decoder_class = { · 91 unmodified lines
117 .version = LIBAVUTIL_VERSION_INT,118 .version = LIBAVUTIL_VERSION_INT,
118};119};
119 120
120const AVCodec ff_librsvg_decoder = {121const FFCodec ff_librsvg_decoder = {
121 .name = "librsvg",122 .p.name = "librsvg",
122 .long_name = NULL_IF_CONFIG_SMALL("Librsvg rasterizer"),123 .p.long_name = NULL_IF_CONFIG_SMALL("Librsvg rasterizer"),
123 .priv_class = &librsvg_decoder_class,124 .p.priv_class = &librsvg_decoder_class,
124 .type = AVMEDIA_TYPE_VIDEO,125 .p.type = AVMEDIA_TYPE_VIDEO,
125 .id = AV_CODEC_ID_SVG,126 .p.id = AV_CODEC_ID_SVG,
127 .p.capabilities = AV_CODEC_CAP_DR1,
128 .p.wrapper_name = "librsvg",
126 .decode = librsvg_decode_frame,129 .decode = librsvg_decode_frame,
127 .priv_data_size = sizeof(LibRSVGContext),130 .priv_data_size = sizeof(LibRSVGContext),
128 .capabilities = AV_CODEC_CAP_DR1,
129 .wrapper_name = "librsvg",
130};131};
libavcodec/libshine.c+12−12
@@ -25,8 +25,8 @@ · 24 unmodified lines
25#include "libavutil/intreadwrite.h"25#include "libavutil/intreadwrite.h"
26#include "audio_frame_queue.h"26#include "audio_frame_queue.h"
27#include "avcodec.h"27#include "avcodec.h"
28#include "codec_internal.h"
28#include "encode.h"29#include "encode.h"
29#include "internal.h"
30#include "mpegaudio.h"30#include "mpegaudio.h"
31#include "mpegaudiodecheader.h"31#include "mpegaudiodecheader.h"
32 32
@@ -131,27 +131,27 @@ static const int libshine_sample_rates[] = { · 98 unmodified lines
131 44100, 48000, 32000, 0131 44100, 48000, 32000, 0
132};132};
133 133
134const AVCodec ff_libshine_encoder = {134const FFCodec ff_libshine_encoder = {
135 .name = "libshine",135 .p.name = "libshine",
136 .long_name = NULL_IF_CONFIG_SMALL("libshine MP3 (MPEG audio layer 3)"),136 .p.long_name = NULL_IF_CONFIG_SMALL("libshine MP3 (MPEG audio layer 3)"),
137 .type = AVMEDIA_TYPE_AUDIO,137 .p.type = AVMEDIA_TYPE_AUDIO,
138 .id = AV_CODEC_ID_MP3,138 .p.id = AV_CODEC_ID_MP3,
139 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,139 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,
140 .priv_data_size = sizeof(SHINEContext),140 .priv_data_size = sizeof(SHINEContext),
141 .init = libshine_encode_init,141 .init = libshine_encode_init,
142 .encode2 = libshine_encode_frame,142 .encode2 = libshine_encode_frame,
143 .close = libshine_encode_close,143 .close = libshine_encode_close,
144 .sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16P,144 .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16P,
145 AV_SAMPLE_FMT_NONE },145 AV_SAMPLE_FMT_NONE },
146 .supported_samplerates = libshine_sample_rates,146 .p.supported_samplerates = libshine_sample_rates,
147#if FF_API_OLD_CHANNEL_LAYOUT147#if FF_API_OLD_CHANNEL_LAYOUT
148 .channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_MONO,148 .p.channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_MONO,
149 AV_CH_LAYOUT_STEREO,149 AV_CH_LAYOUT_STEREO,
150 0 },150 0 },
151#endif151#endif
152 .ch_layouts = (const AVChannelLayout[]) { AV_CHANNEL_LAYOUT_MONO,152 .p.ch_layouts = (const AVChannelLayout[]) { AV_CHANNEL_LAYOUT_MONO,
153 AV_CHANNEL_LAYOUT_STEREO,153 AV_CHANNEL_LAYOUT_STEREO,
154 { 0 },154 { 0 },
155 },155 },
156 .wrapper_name = "libshine",156 .p.wrapper_name = "libshine",
157};157};
libavcodec/libspeexdec.c+8−7
@@ -26,6 +26,7 @@ · 25 unmodified lines
26#include "libavutil/channel_layout.h"26#include "libavutil/channel_layout.h"
27#include "libavutil/common.h"27#include "libavutil/common.h"
28#include "avcodec.h"28#include "avcodec.h"
29#include "codec_internal.h"
29#include "internal.h"30#include "internal.h"
30 31
31typedef struct LibSpeexContext {32typedef struct LibSpeexContext {
@@ -190,16 +191,16 @@ static av_cold void libspeex_decode_flush(AVCodecContext *avctx) · 158 unmodified lines
190 speex_bits_reset(&s->bits);191 speex_bits_reset(&s->bits);
191}192}
192 193
193const AVCodec ff_libspeex_decoder = {194const FFCodec ff_libspeex_decoder = {
194 .name = "libspeex",195 .p.name = "libspeex",
195 .long_name = NULL_IF_CONFIG_SMALL("libspeex Speex"),196 .p.long_name = NULL_IF_CONFIG_SMALL("libspeex Speex"),
196 .type = AVMEDIA_TYPE_AUDIO,197 .p.type = AVMEDIA_TYPE_AUDIO,
197 .id = AV_CODEC_ID_SPEEX,198 .p.id = AV_CODEC_ID_SPEEX,
199 .p.capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DELAY | AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
200 .p.wrapper_name = "libspeex",
198 .priv_data_size = sizeof(LibSpeexContext),201 .priv_data_size = sizeof(LibSpeexContext),
199 .init = libspeex_decode_init,202 .init = libspeex_decode_init,
200 .close = libspeex_decode_close,203 .close = libspeex_decode_close,
201 .decode = libspeex_decode_frame,204 .decode = libspeex_decode_frame,
202 .flush = libspeex_decode_flush,205 .flush = libspeex_decode_flush,
203 .capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DELAY | AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
204 .wrapper_name = "libspeex",
205};206};
libavcodec/libspeexenc.c+12−12
@@ -348,29 +348,29 @@ static const AVCodecDefault defaults[] = { · 347 unmodified lines
348 { NULL },348 { NULL },
349};349};
350 350
351const AVCodec ff_libspeex_encoder = {351const FFCodec ff_libspeex_encoder = {
352 .name = "libspeex",352 .p.name = "libspeex",
353 .long_name = NULL_IF_CONFIG_SMALL("libspeex Speex"),353 .p.long_name = NULL_IF_CONFIG_SMALL("libspeex Speex"),
354 .type = AVMEDIA_TYPE_AUDIO,354 .p.type = AVMEDIA_TYPE_AUDIO,
355 .id = AV_CODEC_ID_SPEEX,355 .p.id = AV_CODEC_ID_SPEEX,
356 .priv_data_size = sizeof(LibSpeexEncContext),356 .priv_data_size = sizeof(LibSpeexEncContext),
357 .init = encode_init,357 .init = encode_init,
358 .encode2 = encode_frame,358 .encode2 = encode_frame,
359 .close = encode_close,359 .close = encode_close,
360 .capabilities = AV_CODEC_CAP_DELAY,360 .p.capabilities = AV_CODEC_CAP_DELAY,
361 .sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16,361 .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16,
362 AV_SAMPLE_FMT_NONE },362 AV_SAMPLE_FMT_NONE },
363#if FF_API_OLD_CHANNEL_LAYOUT363#if FF_API_OLD_CHANNEL_LAYOUT
364 .channel_layouts = (const uint64_t[]){ AV_CH_LAYOUT_MONO,364 .p.channel_layouts = (const uint64_t[]){ AV_CH_LAYOUT_MONO,
365 AV_CH_LAYOUT_STEREO,365 AV_CH_LAYOUT_STEREO,
366 0 },366 0 },
367#endif367#endif
368 .ch_layouts = (const AVChannelLayout[]) { AV_CHANNEL_LAYOUT_MONO,368 .p.ch_layouts = (const AVChannelLayout[]) { AV_CHANNEL_LAYOUT_MONO,
369 AV_CHANNEL_LAYOUT_STEREO,369 AV_CHANNEL_LAYOUT_STEREO,
370 { 0 },370 { 0 },
371 },371 },
372 .supported_samplerates = (const int[]){ 8000, 16000, 32000, 0 },372 .p.supported_samplerates = (const int[]){ 8000, 16000, 32000, 0 },
373 .priv_class = &speex_class,373 .p.priv_class = &speex_class,
374 .defaults = defaults,374 .defaults = defaults,
375 .wrapper_name = "libspeex",375 .p.wrapper_name = "libspeex",
376};376};
libavcodec/libsvtav1.c+9−9
@@ -597,21 +597,21 @@ static const AVCodecDefault eb_enc_defaults[] = { · 596 unmodified lines
597 { NULL },597 { NULL },
598};598};
599 599
600const AVCodec ff_libsvtav1_encoder = {600const FFCodec ff_libsvtav1_encoder = {
601 .name = "libsvtav1",601 .p.name = "libsvtav1",
602 .long_name = NULL_IF_CONFIG_SMALL("SVT-AV1(Scalable Video Technology for AV1) encoder"),602 .p.long_name = NULL_IF_CONFIG_SMALL("SVT-AV1(Scalable Video Technology for AV1) encoder"),
603 .priv_data_size = sizeof(SvtContext),603 .priv_data_size = sizeof(SvtContext),
604 .type = AVMEDIA_TYPE_VIDEO,604 .p.type = AVMEDIA_TYPE_VIDEO,
605 .id = AV_CODEC_ID_AV1,605 .p.id = AV_CODEC_ID_AV1,
606 .init = eb_enc_init,606 .init = eb_enc_init,
607 .receive_packet = eb_receive_packet,607 .receive_packet = eb_receive_packet,
608 .close = eb_enc_close,608 .close = eb_enc_close,
609 .capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_OTHER_THREADS,609 .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_OTHER_THREADS,
610 .caps_internal = FF_CODEC_CAP_AUTO_THREADS | FF_CODEC_CAP_INIT_CLEANUP,610 .caps_internal = FF_CODEC_CAP_AUTO_THREADS | FF_CODEC_CAP_INIT_CLEANUP,
611 .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P,611 .p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P,
612 AV_PIX_FMT_YUV420P10,612 AV_PIX_FMT_YUV420P10,
613 AV_PIX_FMT_NONE },613 AV_PIX_FMT_NONE },
614 .priv_class = &class,614 .p.priv_class = &class,
615 .defaults = eb_enc_defaults,615 .defaults = eb_enc_defaults,
616 .wrapper_name = "libsvtav1",616 .p.wrapper_name = "libsvtav1",
617};617};
libavcodec/libtheoraenc.c+9−9
@@ -37,8 +37,8 @@ · 36 unmodified lines
37#include "libavutil/log.h"37#include "libavutil/log.h"
38#include "libavutil/base64.h"38#include "libavutil/base64.h"
39#include "avcodec.h"39#include "avcodec.h"
40#include "codec_internal.h"
40#include "encode.h"41#include "encode.h"
41#include "internal.h"
42 42
43/* libtheora includes */43/* libtheora includes */
44#include <theora/theoraenc.h>44#include <theora/theoraenc.h>
@@ -367,19 +367,19 @@ static av_cold int encode_close(AVCodecContext* avc_context) · 322 unmodified lines
367}367}
368 368
369/** AVCodec struct exposed to libavcodec */369/** AVCodec struct exposed to libavcodec */
370const AVCodec ff_libtheora_encoder = {370const FFCodec ff_libtheora_encoder = {
371 .name = "libtheora",371 .p.name = "libtheora",
372 .long_name = NULL_IF_CONFIG_SMALL("libtheora Theora"),372 .p.long_name = NULL_IF_CONFIG_SMALL("libtheora Theora"),
373 .type = AVMEDIA_TYPE_VIDEO,373 .p.type = AVMEDIA_TYPE_VIDEO,
374 .id = AV_CODEC_ID_THEORA,374 .p.id = AV_CODEC_ID_THEORA,
375 .capabilities = AV_CODEC_CAP_DR1 |375 .p.capabilities = AV_CODEC_CAP_DR1 |
376 AV_CODEC_CAP_DELAY /* for statsfile summary */,376 AV_CODEC_CAP_DELAY /* for statsfile summary */,
377 .priv_data_size = sizeof(TheoraContext),377 .priv_data_size = sizeof(TheoraContext),
378 .init = encode_init,378 .init = encode_init,
379 .close = encode_close,379 .close = encode_close,
380 .encode2 = encode_frame,380 .encode2 = encode_frame,
381 .pix_fmts = (const enum AVPixelFormat[]){381 .p.pix_fmts = (const enum AVPixelFormat[]){
382 AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_NONE382 AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_NONE
383 },383 },
384 .wrapper_name = "libtheora",384 .p.wrapper_name = "libtheora",
385};385};
libavcodec/libtwolame.c+12−12
@@ -209,19 +209,19 @@ static const int twolame_samplerates[] = { · 208 unmodified lines
209 16000, 22050, 24000, 32000, 44100, 48000, 0209 16000, 22050, 24000, 32000, 44100, 48000, 0
210};210};
211 211
212const AVCodec ff_libtwolame_encoder = {212const FFCodec ff_libtwolame_encoder = {
213 .name = "libtwolame",213 .p.name = "libtwolame",
214 .long_name = NULL_IF_CONFIG_SMALL("libtwolame MP2 (MPEG audio layer 2)"),214 .p.long_name = NULL_IF_CONFIG_SMALL("libtwolame MP2 (MPEG audio layer 2)"),
215 .type = AVMEDIA_TYPE_AUDIO,215 .p.type = AVMEDIA_TYPE_AUDIO,
216 .id = AV_CODEC_ID_MP2,216 .p.id = AV_CODEC_ID_MP2,
217 .priv_data_size = sizeof(TWOLAMEContext),217 .priv_data_size = sizeof(TWOLAMEContext),
218 .init = twolame_encode_init,218 .init = twolame_encode_init,
219 .encode2 = twolame_encode_frame,219 .encode2 = twolame_encode_frame,
220 .close = twolame_encode_close,220 .close = twolame_encode_close,
221 .capabilities = AV_CODEC_CAP_DELAY,221 .p.capabilities = AV_CODEC_CAP_DELAY,
222 .defaults = twolame_defaults,222 .defaults = twolame_defaults,
223 .priv_class = &twolame_class,223 .p.priv_class = &twolame_class,
224 .sample_fmts = (const enum AVSampleFormat[]) {224 .p.sample_fmts = (const enum AVSampleFormat[]) {
225 AV_SAMPLE_FMT_FLT,225 AV_SAMPLE_FMT_FLT,
226 AV_SAMPLE_FMT_FLTP,226 AV_SAMPLE_FMT_FLTP,
227 AV_SAMPLE_FMT_S16,227 AV_SAMPLE_FMT_S16,
@@ -229,16 +229,16 @@ const AVCodec ff_libtwolame_encoder = { · 1 unmodified line
229 AV_SAMPLE_FMT_NONE229 AV_SAMPLE_FMT_NONE
230 },230 },
231#if FF_API_OLD_CHANNEL_LAYOUT231#if FF_API_OLD_CHANNEL_LAYOUT
232 .channel_layouts = (const uint64_t[]) {232 .p.channel_layouts = (const uint64_t[]) {
233 AV_CH_LAYOUT_MONO,233 AV_CH_LAYOUT_MONO,
234 AV_CH_LAYOUT_STEREO,234 AV_CH_LAYOUT_STEREO,
235 0 },235 0 },
236#endif236#endif
237 .ch_layouts = (const AVChannelLayout[]) {237 .p.ch_layouts = (const AVChannelLayout[]) {
238 AV_CHANNEL_LAYOUT_MONO,238 AV_CHANNEL_LAYOUT_MONO,
239 AV_CHANNEL_LAYOUT_STEREO,239 AV_CHANNEL_LAYOUT_STEREO,
240 { 0 },240 { 0 },
241 },241 },
242 .supported_samplerates = twolame_samplerates,242 .p.supported_samplerates = twolame_samplerates,
243 .wrapper_name = "libtwolame",243 .p.wrapper_name = "libtwolame",
244};244};
libavcodec/libuavs3d.c+8−8
@@ -247,20 +247,20 @@ static int libuavs3d_decode_frame(AVCodecContext *avctx, void *data, int *got_fr · 246 unmodified lines
247 return buf_ptr - buf;247 return buf_ptr - buf;
248}248}
249 249
250const AVCodec ff_libuavs3d_decoder = {250const FFCodec ff_libuavs3d_decoder = {
251 .name = "libuavs3d",251 .p.name = "libuavs3d",
252 .long_name = NULL_IF_CONFIG_SMALL("libuavs3d AVS3-P2/IEEE1857.10"),252 .p.long_name = NULL_IF_CONFIG_SMALL("libuavs3d AVS3-P2/IEEE1857.10"),
253 .type = AVMEDIA_TYPE_VIDEO,253 .p.type = AVMEDIA_TYPE_VIDEO,
254 .id = AV_CODEC_ID_AVS3,254 .p.id = AV_CODEC_ID_AVS3,
255 .priv_data_size = sizeof(uavs3d_context),255 .priv_data_size = sizeof(uavs3d_context),
256 .init = libuavs3d_init,256 .init = libuavs3d_init,
257 .close = libuavs3d_end,257 .close = libuavs3d_end,
258 .decode = libuavs3d_decode_frame,258 .decode = libuavs3d_decode_frame,
259 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY | AV_CODEC_CAP_OTHER_THREADS,259 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY | AV_CODEC_CAP_OTHER_THREADS,
260 .caps_internal = FF_CODEC_CAP_AUTO_THREADS,260 .caps_internal = FF_CODEC_CAP_AUTO_THREADS,
261 .flush = libuavs3d_flush,261 .flush = libuavs3d_flush,
262 .pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P,262 .p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P,
263 AV_PIX_FMT_YUV420P10LE,263 AV_PIX_FMT_YUV420P10LE,
264 AV_PIX_FMT_NONE },264 AV_PIX_FMT_NONE },
265 .wrapper_name = "libuavs3d",265 .p.wrapper_name = "libuavs3d",
266};266};
libavcodec/libvo-amrwbenc.c+9−8
@@ -27,6 +27,7 @@ · 26 unmodified lines
27#include "libavutil/internal.h"27#include "libavutil/internal.h"
28#include "libavutil/opt.h"28#include "libavutil/opt.h"
29#include "avcodec.h"29#include "avcodec.h"
30#include "codec_internal.h"
30#include "encode.h"31#include "encode.h"
31#include "internal.h"32#include "internal.h"
32 33
@@ -139,18 +140,18 @@ static int amr_wb_encode_frame(AVCodecContext *avctx, AVPacket *avpkt, · 106 unmodified lines
139 return 0;140 return 0;
140}141}
141 142
142const AVCodec ff_libvo_amrwbenc_encoder = {143const FFCodec ff_libvo_amrwbenc_encoder = {
143 .name = "libvo_amrwbenc",144 .p.name = "libvo_amrwbenc",
144 .long_name = NULL_IF_CONFIG_SMALL("Android VisualOn AMR-WB "145 .p.long_name = NULL_IF_CONFIG_SMALL("Android VisualOn AMR-WB "
145 "(Adaptive Multi-Rate Wide-Band)"),146 "(Adaptive Multi-Rate Wide-Band)"),
146 .type = AVMEDIA_TYPE_AUDIO,147 .p.type = AVMEDIA_TYPE_AUDIO,
147 .id = AV_CODEC_ID_AMR_WB,148 .p.id = AV_CODEC_ID_AMR_WB,
149 .p.priv_class = &amrwb_class,
150 .p.wrapper_name = "libvo_amrwbenc",
148 .priv_data_size = sizeof(AMRWBContext),151 .priv_data_size = sizeof(AMRWBContext),
149 .init = amr_wb_encode_init,152 .init = amr_wb_encode_init,
150 .encode2 = amr_wb_encode_frame,153 .encode2 = amr_wb_encode_frame,
151 .close = amr_wb_encode_close,154 .close = amr_wb_encode_close,
152 .sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16,155 .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16,
153 AV_SAMPLE_FMT_NONE },156 AV_SAMPLE_FMT_NONE },
154 .priv_class = &amrwb_class,
155 .wrapper_name = "libvo_amrwbenc",
156};157};
libavcodec/libvorbisdec.c+7−6
@@ -22,6 +22,7 @@ · 21 unmodified lines
22 22
23#include "avcodec.h"23#include "avcodec.h"
24#include "bytestream.h"24#include "bytestream.h"
25#include "codec_internal.h"
25#include "internal.h"26#include "internal.h"
26 27
27typedef struct OggVorbisDecContext {28typedef struct OggVorbisDecContext {
@@ -210,14 +211,14 @@ static int oggvorbis_decode_close(AVCodecContext *avccontext) { · 182 unmodified lines
210}211}
211 212
212 213
213const AVCodec ff_libvorbis_decoder = {214const FFCodec ff_libvorbis_decoder = {
214 .name = "libvorbis",215 .p.name = "libvorbis",
215 .long_name = NULL_IF_CONFIG_SMALL("libvorbis"),216 .p.long_name = NULL_IF_CONFIG_SMALL("libvorbis"),
216 .type = AVMEDIA_TYPE_AUDIO,217 .p.type = AVMEDIA_TYPE_AUDIO,
217 .id = AV_CODEC_ID_VORBIS,218 .p.id = AV_CODEC_ID_VORBIS,
219 .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_CHANNEL_CONF,
218 .priv_data_size = sizeof(OggVorbisDecContext),220 .priv_data_size = sizeof(OggVorbisDecContext),
219 .init = oggvorbis_decode_init,221 .init = oggvorbis_decode_init,
220 .decode = oggvorbis_decode_frame,222 .decode = oggvorbis_decode_frame,
221 .close = oggvorbis_decode_close,223 .close = oggvorbis_decode_close,
222 .capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_CHANNEL_CONF,
223};224};
libavcodec/libvorbisenc.c+9−9
@@ -375,20 +375,20 @@ static int libvorbis_encode_frame(AVCodecContext *avctx, AVPacket *avpkt, · 374 unmodified lines
375 return 0;375 return 0;
376}376}
377 377
378const AVCodec ff_libvorbis_encoder = {378const FFCodec ff_libvorbis_encoder = {
379 .name = "libvorbis",379 .p.name = "libvorbis",
380 .long_name = NULL_IF_CONFIG_SMALL("libvorbis"),380 .p.long_name = NULL_IF_CONFIG_SMALL("libvorbis"),
381 .type = AVMEDIA_TYPE_AUDIO,381 .p.type = AVMEDIA_TYPE_AUDIO,
382 .id = AV_CODEC_ID_VORBIS,382 .p.id = AV_CODEC_ID_VORBIS,
383 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY |383 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY |
384 AV_CODEC_CAP_SMALL_LAST_FRAME,384 AV_CODEC_CAP_SMALL_LAST_FRAME,
385 .priv_data_size = sizeof(LibvorbisEncContext),385 .priv_data_size = sizeof(LibvorbisEncContext),
386 .init = libvorbis_encode_init,386 .init = libvorbis_encode_init,
387 .encode2 = libvorbis_encode_frame,387 .encode2 = libvorbis_encode_frame,
388 .close = libvorbis_encode_close,388 .close = libvorbis_encode_close,
389 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,389 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
390 AV_SAMPLE_FMT_NONE },390 AV_SAMPLE_FMT_NONE },
391 .priv_class = &vorbis_class,391 .p.priv_class = &vorbis_class,
392 .defaults = defaults,392 .defaults = defaults,
393 .wrapper_name = "libvorbis",393 .p.wrapper_name = "libvorbis",
394};394};
libavcodec/libvpx.c+4−4
@@ -66,16 +66,16 @@ static const enum AVPixelFormat vp9_pix_fmts_highbd[] = { · 65 unmodified lines
66};66};
67#endif67#endif
68 68
69av_cold void ff_vp9_init_static(AVCodec *codec)69av_cold void ff_vp9_init_static(FFCodec *codec)
70{70{
71 codec->pix_fmts = vp9_pix_fmts_def;71 codec->p.pix_fmts = vp9_pix_fmts_def;
72#if CONFIG_LIBVPX_VP9_ENCODER72#if CONFIG_LIBVPX_VP9_ENCODER
73 {73 {
74 vpx_codec_caps_t codec_caps = vpx_codec_get_caps(vpx_codec_vp9_cx());74 vpx_codec_caps_t codec_caps = vpx_codec_get_caps(vpx_codec_vp9_cx());
75 if (codec_caps & VPX_CODEC_CAP_HIGHBITDEPTH)75 if (codec_caps & VPX_CODEC_CAP_HIGHBITDEPTH)
76 codec->pix_fmts = vp9_pix_fmts_highbd;76 codec->p.pix_fmts = vp9_pix_fmts_highbd;
77 else77 else
78 codec->pix_fmts = vp9_pix_fmts_highcol;78 codec->p.pix_fmts = vp9_pix_fmts_highcol;
79 }79 }
80#endif80#endif
81}81}
libavcodec/libvpx.h+2−2
@@ -23,9 +23,9 @@ · 22 unmodified lines
23 23
24#include <vpx/vpx_codec.h>24#include <vpx/vpx_codec.h>
25 25
26#include "avcodec.h"26#include "codec_internal.h"
27 27
28void ff_vp9_init_static(AVCodec *codec);28void ff_vp9_init_static(FFCodec *codec);
29#if 029#if 0
30enum AVPixelFormat ff_vpx_imgfmt_to_pixfmt(vpx_img_fmt_t img);30enum AVPixelFormat ff_vpx_imgfmt_to_pixfmt(vpx_img_fmt_t img);
31vpx_img_fmt_t ff_vpx_pixfmt_to_imgfmt(enum AVPixelFormat pix);31vpx_img_fmt_t ff_vpx_pixfmt_to_imgfmt(enum AVPixelFormat pix);
libavcodec/libvpxdec.c+15−15
@@ -356,18 +356,18 @@ static av_cold int vp8_init(AVCodecContext *avctx) · 355 unmodified lines
356 return vpx_init(avctx, &ctx->decoder, vpx_codec_vp8_dx());356 return vpx_init(avctx, &ctx->decoder, vpx_codec_vp8_dx());
357}357}
358 358
359const AVCodec ff_libvpx_vp8_decoder = {359const FFCodec ff_libvpx_vp8_decoder = {
360 .name = "libvpx",360 .p.name = "libvpx",
361 .long_name = NULL_IF_CONFIG_SMALL("libvpx VP8"),361 .p.long_name = NULL_IF_CONFIG_SMALL("libvpx VP8"),
362 .type = AVMEDIA_TYPE_VIDEO,362 .p.type = AVMEDIA_TYPE_VIDEO,
363 .id = AV_CODEC_ID_VP8,363 .p.id = AV_CODEC_ID_VP8,
364 .p.capabilities = AV_CODEC_CAP_OTHER_THREADS | AV_CODEC_CAP_DR1,
365 .p.wrapper_name = "libvpx",
364 .priv_data_size = sizeof(VPxContext),366 .priv_data_size = sizeof(VPxContext),
365 .init = vp8_init,367 .init = vp8_init,
366 .close = vpx_free,368 .close = vpx_free,
367 .decode = vpx_decode,369 .decode = vpx_decode,
368 .capabilities = AV_CODEC_CAP_OTHER_THREADS | AV_CODEC_CAP_DR1,
369 .caps_internal = FF_CODEC_CAP_AUTO_THREADS,370 .caps_internal = FF_CODEC_CAP_AUTO_THREADS,
370 .wrapper_name = "libvpx",
371};371};
372#endif /* CONFIG_LIBVPX_VP8_DECODER */372#endif /* CONFIG_LIBVPX_VP8_DECODER */
373 373
@@ -378,19 +378,19 @@ static av_cold int vp9_init(AVCodecContext *avctx) · 4 unmodified lines
378 return vpx_init(avctx, &ctx->decoder, vpx_codec_vp9_dx());378 return vpx_init(avctx, &ctx->decoder, vpx_codec_vp9_dx());
379}379}
380 380
381AVCodec ff_libvpx_vp9_decoder = {381FFCodec ff_libvpx_vp9_decoder = {
382 .name = "libvpx-vp9",382 .p.name = "libvpx-vp9",
383 .long_name = NULL_IF_CONFIG_SMALL("libvpx VP9"),383 .p.long_name = NULL_IF_CONFIG_SMALL("libvpx VP9"),
384 .type = AVMEDIA_TYPE_VIDEO,384 .p.type = AVMEDIA_TYPE_VIDEO,
385 .id = AV_CODEC_ID_VP9,385 .p.id = AV_CODEC_ID_VP9,
386 .p.capabilities = AV_CODEC_CAP_OTHER_THREADS,
387 .p.profiles = NULL_IF_CONFIG_SMALL(ff_vp9_profiles),
388 .p.wrapper_name = "libvpx",
386 .priv_data_size = sizeof(VPxContext),389 .priv_data_size = sizeof(VPxContext),
387 .init = vp9_init,390 .init = vp9_init,
388 .close = vpx_free,391 .close = vpx_free,
389 .decode = vpx_decode,392 .decode = vpx_decode,
390 .capabilities = AV_CODEC_CAP_OTHER_THREADS,
391 .caps_internal = FF_CODEC_CAP_AUTO_THREADS,393 .caps_internal = FF_CODEC_CAP_AUTO_THREADS,
392 .init_static_data = ff_vp9_init_static,394 .init_static_data = ff_vp9_init_static,
393 .profiles = NULL_IF_CONFIG_SMALL(ff_vp9_profiles),
394 .wrapper_name = "libvpx",
395};395};
396#endif /* CONFIG_LIBVPX_VP9_DECODER */396#endif /* CONFIG_LIBVPX_VP9_DECODER */
libavcodec/libvpxenc.c+18−18
@@ -1925,22 +1925,22 @@ static const AVClass class_vp8 = { · 1924 unmodified lines
1925 .version = LIBAVUTIL_VERSION_INT,1925 .version = LIBAVUTIL_VERSION_INT,
1926};1926};
1927 1927
1928const AVCodec ff_libvpx_vp8_encoder = {1928const FFCodec ff_libvpx_vp8_encoder = {
1929 .name = "libvpx",1929 .p.name = "libvpx",
1930 .long_name = NULL_IF_CONFIG_SMALL("libvpx VP8"),1930 .p.long_name = NULL_IF_CONFIG_SMALL("libvpx VP8"),
1931 .type = AVMEDIA_TYPE_VIDEO,1931 .p.type = AVMEDIA_TYPE_VIDEO,
1932 .id = AV_CODEC_ID_VP8,1932 .p.id = AV_CODEC_ID_VP8,
1933 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY |1933 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY |
1934 AV_CODEC_CAP_OTHER_THREADS,1934 AV_CODEC_CAP_OTHER_THREADS,
1935 .priv_data_size = sizeof(VPxContext),1935 .priv_data_size = sizeof(VPxContext),
1936 .init = vp8_init,1936 .init = vp8_init,
1937 .encode2 = vpx_encode,1937 .encode2 = vpx_encode,
1938 .close = vpx_free,1938 .close = vpx_free,
1939 .caps_internal = FF_CODEC_CAP_AUTO_THREADS,1939 .caps_internal = FF_CODEC_CAP_AUTO_THREADS,
1940 .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_NONE },1940 .p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_NONE },
1941 .priv_class = &class_vp8,1941 .p.priv_class = &class_vp8,
1942 .defaults = defaults,1942 .defaults = defaults,
1943 .wrapper_name = "libvpx",1943 .p.wrapper_name = "libvpx",
1944};1944};
1945#endif /* CONFIG_LIBVPX_VP8_ENCODER */1945#endif /* CONFIG_LIBVPX_VP8_ENCODER */
1946 1946
@@ -1957,22 +1957,22 @@ static const AVClass class_vp9 = { · 10 unmodified lines
1957 .version = LIBAVUTIL_VERSION_INT,1957 .version = LIBAVUTIL_VERSION_INT,
1958};1958};
1959 1959
1960AVCodec ff_libvpx_vp9_encoder = {1960FFCodec ff_libvpx_vp9_encoder = {
1961 .name = "libvpx-vp9",1961 .p.name = "libvpx-vp9",
1962 .long_name = NULL_IF_CONFIG_SMALL("libvpx VP9"),1962 .p.long_name = NULL_IF_CONFIG_SMALL("libvpx VP9"),
1963 .type = AVMEDIA_TYPE_VIDEO,1963 .p.type = AVMEDIA_TYPE_VIDEO,
1964 .id = AV_CODEC_ID_VP9,1964 .p.id = AV_CODEC_ID_VP9,
1965 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY |1965 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY |
1966 AV_CODEC_CAP_OTHER_THREADS,1966 AV_CODEC_CAP_OTHER_THREADS,
1967 .p.profiles = NULL_IF_CONFIG_SMALL(ff_vp9_profiles),
1968 .p.priv_class = &class_vp9,
1969 .p.wrapper_name = "libvpx",
1967 .priv_data_size = sizeof(VPxContext),1970 .priv_data_size = sizeof(VPxContext),
1968 .init = vp9_init,1971 .init = vp9_init,
1969 .encode2 = vpx_encode,1972 .encode2 = vpx_encode,
1970 .close = vpx_free,1973 .close = vpx_free,
1971 .caps_internal = FF_CODEC_CAP_AUTO_THREADS,1974 .caps_internal = FF_CODEC_CAP_AUTO_THREADS,
1972 .profiles = NULL_IF_CONFIG_SMALL(ff_vp9_profiles),
1973 .priv_class = &class_vp9,
1974 .defaults = defaults,1975 .defaults = defaults,
1975 .init_static_data = ff_vp9_init_static,1976 .init_static_data = ff_vp9_init_static,
1976 .wrapper_name = "libvpx",
1977};1977};
1978#endif /* CONFIG_LIBVPX_VP9_ENCODER */1978#endif /* CONFIG_LIBVPX_VP9_ENCODER */
libavcodec/libwebpenc.c+10−9
@@ -24,6 +24,7 @@ · 23 unmodified lines
24 * WebP encoder using libwebp (WebPEncode API)24 * WebP encoder using libwebp (WebPEncode API)
25 */25 */
26 26
27#include "codec_internal.h"
27#include "encode.h"28#include "encode.h"
28#include "libwebpenc_common.h"29#include "libwebpenc_common.h"
29 30
@@ -86,18 +87,18 @@ static int libwebp_encode_close(AVCodecContext *avctx) · 56 unmodified lines
86 return 0;87 return 0;
87}88}
88 89
89const AVCodec ff_libwebp_encoder = {90const FFCodec ff_libwebp_encoder = {
90 .name = "libwebp",91 .p.name = "libwebp",
91 .long_name = NULL_IF_CONFIG_SMALL("libwebp WebP image"),92 .p.long_name = NULL_IF_CONFIG_SMALL("libwebp WebP image"),
92 .type = AVMEDIA_TYPE_VIDEO,93 .p.type = AVMEDIA_TYPE_VIDEO,
93 .id = AV_CODEC_ID_WEBP,94 .p.id = AV_CODEC_ID_WEBP,
94 .capabilities = AV_CODEC_CAP_DR1,95 .p.capabilities = AV_CODEC_CAP_DR1,
95 .pix_fmts = ff_libwebpenc_pix_fmts,96 .p.pix_fmts = ff_libwebpenc_pix_fmts,
96 .priv_class = &ff_libwebpenc_class,97 .p.priv_class = &ff_libwebpenc_class,
98 .p.wrapper_name = "libwebp",
97 .priv_data_size = sizeof(LibWebPContext),99 .priv_data_size = sizeof(LibWebPContext),
98 .defaults = ff_libwebp_defaults,100 .defaults = ff_libwebp_defaults,
99 .init = libwebp_encode_init,101 .init = libwebp_encode_init,
100 .encode2 = libwebp_encode_frame,102 .encode2 = libwebp_encode_frame,
101 .close = libwebp_encode_close,103 .close = libwebp_encode_close,
102 .wrapper_name = "libwebp",
103};104};
libavcodec/libwebpenc_animencoder.c+10−9
@@ -25,6 +25,7 @@ · 24 unmodified lines
25 */25 */
26 26
27#include "config.h"27#include "config.h"
28#include "codec_internal.h"
28#include "encode.h"29#include "encode.h"
29#include "libwebpenc_common.h"30#include "libwebpenc_common.h"
30 31
@@ -124,18 +125,18 @@ static int libwebp_anim_encode_close(AVCodecContext *avctx) · 93 unmodified lines
124 return 0;125 return 0;
125}126}
126 127
127const AVCodec ff_libwebp_anim_encoder = {128const FFCodec ff_libwebp_anim_encoder = {
128 .name = "libwebp_anim",129 .p.name = "libwebp_anim",
129 .long_name = NULL_IF_CONFIG_SMALL("libwebp WebP image"),130 .p.long_name = NULL_IF_CONFIG_SMALL("libwebp WebP image"),
130 .type = AVMEDIA_TYPE_VIDEO,131 .p.type = AVMEDIA_TYPE_VIDEO,
131 .id = AV_CODEC_ID_WEBP,132 .p.id = AV_CODEC_ID_WEBP,
132 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,133 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,
133 .pix_fmts = ff_libwebpenc_pix_fmts,134 .p.pix_fmts = ff_libwebpenc_pix_fmts,
134 .priv_class = &ff_libwebpenc_class,135 .p.priv_class = &ff_libwebpenc_class,
136 .p.wrapper_name = "libwebp",
135 .priv_data_size = sizeof(LibWebPAnimContext),137 .priv_data_size = sizeof(LibWebPAnimContext),
136 .defaults = ff_libwebp_defaults,138 .defaults = ff_libwebp_defaults,
137 .init = libwebp_anim_encode_init,139 .init = libwebp_anim_encode_init,
138 .encode2 = libwebp_anim_encode_frame,140 .encode2 = libwebp_anim_encode_frame,
139 .close = libwebp_anim_encode_close,141 .close = libwebp_anim_encode_close,
140 .wrapper_name = "libwebp",
141};142};
libavcodec/libwebpenc_common.h+0−1
@@ -34,7 +34,6 @@ · 33 unmodified lines
34#include "libavutil/log.h"34#include "libavutil/log.h"
35#include "libavutil/pixfmt.h"35#include "libavutil/pixfmt.h"
36#include "avcodec.h"36#include "avcodec.h"
37#include "codec.h"
38#include "codec_internal.h"37#include "codec_internal.h"
39 38
40typedef struct LibWebPContextCommon {39typedef struct LibWebPContextCommon {
libavcodec/libx264.c+31−31
@@ -1084,14 +1084,14 @@ static const enum AVPixelFormat pix_fmts_8bit_rgb[] = { · 1083 unmodified lines
1084#endif1084#endif
1085 1085
1086#if X264_BUILD < 1531086#if X264_BUILD < 153
1087static av_cold void X264_init_static(AVCodec *codec)1087static av_cold void X264_init_static(FFCodec *codec)
1088{1088{
1089 if (x264_bit_depth == 8)1089 if (x264_bit_depth == 8)
1090 codec->pix_fmts = pix_fmts_8bit;1090 codec->p.pix_fmts = pix_fmts_8bit;
1091 else if (x264_bit_depth == 9)1091 else if (x264_bit_depth == 9)
1092 codec->pix_fmts = pix_fmts_9bit;1092 codec->p.pix_fmts = pix_fmts_9bit;
1093 else if (x264_bit_depth == 10)1093 else if (x264_bit_depth == 10)
1094 codec->pix_fmts = pix_fmts_10bit;1094 codec->p.pix_fmts = pix_fmts_10bit;
1095}1095}
1096#endif1096#endif
1097 1097
@@ -1216,31 +1216,31 @@ static const AVClass x264_class = { · 118 unmodified lines
1216#if X264_BUILD >= 1531216#if X264_BUILD >= 153
1217const1217const
1218#endif1218#endif
1219AVCodec ff_libx264_encoder = {1219FFCodec ff_libx264_encoder = {
1220 .name = "libx264",1220 .p.name = "libx264",
1221 .long_name = NULL_IF_CONFIG_SMALL("libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10"),1221 .p.long_name = NULL_IF_CONFIG_SMALL("libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10"),
1222 .type = AVMEDIA_TYPE_VIDEO,1222 .p.type = AVMEDIA_TYPE_VIDEO,
1223 .id = AV_CODEC_ID_H264,1223 .p.id = AV_CODEC_ID_H264,
1224 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY |1224 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY |
1225 AV_CODEC_CAP_OTHER_THREADS |1225 AV_CODEC_CAP_OTHER_THREADS |
1226 AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,1226 AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
1227 .p.priv_class = &x264_class,
1228 .p.wrapper_name = "libx264",
1227 .priv_data_size = sizeof(X264Context),1229 .priv_data_size = sizeof(X264Context),
1228 .init = X264_init,1230 .init = X264_init,
1229 .encode2 = X264_frame,1231 .encode2 = X264_frame,
1230 .close = X264_close,1232 .close = X264_close,
1231 .priv_class = &x264_class,
1232 .defaults = x264_defaults,1233 .defaults = x264_defaults,
1233#if X264_BUILD < 1531234#if X264_BUILD < 153
1234 .init_static_data = X264_init_static,1235 .init_static_data = X264_init_static,
1235#else1236#else
1236 .pix_fmts = pix_fmts_all,1237 .p.pix_fmts = pix_fmts_all,
1237#endif1238#endif
1238 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_AUTO_THREADS1239 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_AUTO_THREADS
1239#if X264_BUILD >= 1581240#if X264_BUILD >= 158
1240 | FF_CODEC_CAP_INIT_THREADSAFE1241 | FF_CODEC_CAP_INIT_THREADSAFE
1241#endif1242#endif
1242 ,1243 ,
1243 .wrapper_name = "libx264",
1244};1244};
1245#endif1245#endif
1246 1246
@@ -1252,27 +1252,27 @@ static const AVClass rgbclass = { · 5 unmodified lines
1252 .version = LIBAVUTIL_VERSION_INT,1252 .version = LIBAVUTIL_VERSION_INT,
1253};1253};
1254 1254
1255const AVCodec ff_libx264rgb_encoder = {1255const FFCodec ff_libx264rgb_encoder = {
1256 .name = "libx264rgb",1256 .p.name = "libx264rgb",
1257 .long_name = NULL_IF_CONFIG_SMALL("libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 RGB"),1257 .p.long_name = NULL_IF_CONFIG_SMALL("libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 RGB"),
1258 .type = AVMEDIA_TYPE_VIDEO,1258 .p.type = AVMEDIA_TYPE_VIDEO,
1259 .id = AV_CODEC_ID_H264,1259 .p.id = AV_CODEC_ID_H264,
1260 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY |1260 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY |
1261 AV_CODEC_CAP_OTHER_THREADS |1261 AV_CODEC_CAP_OTHER_THREADS |
1262 AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,1262 AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
1263 .p.pix_fmts = pix_fmts_8bit_rgb,
1264 .p.priv_class = &rgbclass,
1265 .p.wrapper_name = "libx264",
1263 .priv_data_size = sizeof(X264Context),1266 .priv_data_size = sizeof(X264Context),
1264 .init = X264_init,1267 .init = X264_init,
1265 .encode2 = X264_frame,1268 .encode2 = X264_frame,
1266 .close = X264_close,1269 .close = X264_close,
1267 .priv_class = &rgbclass,
1268 .defaults = x264_defaults,1270 .defaults = x264_defaults,
1269 .pix_fmts = pix_fmts_8bit_rgb,
1270 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_AUTO_THREADS1271 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_AUTO_THREADS
1271#if X264_BUILD >= 1581272#if X264_BUILD >= 158
1272 | FF_CODEC_CAP_INIT_THREADSAFE1273 | FF_CODEC_CAP_INIT_THREADSAFE
1273#endif1274#endif
1274 ,1275 ,
1275 .wrapper_name = "libx264",
1276};1276};
1277#endif1277#endif
1278 1278
@@ -1284,22 +1284,22 @@ static const AVClass X262_class = { · 5 unmodified lines
1284 .version = LIBAVUTIL_VERSION_INT,1284 .version = LIBAVUTIL_VERSION_INT,
1285};1285};
1286 1286
1287const AVCodec ff_libx262_encoder = {1287const FFCodec ff_libx262_encoder = {
1288 .name = "libx262",1288 .p.name = "libx262",
1289 .long_name = NULL_IF_CONFIG_SMALL("libx262 MPEG2VIDEO"),1289 .p.long_name = NULL_IF_CONFIG_SMALL("libx262 MPEG2VIDEO"),
1290 .type = AVMEDIA_TYPE_VIDEO,1290 .p.type = AVMEDIA_TYPE_VIDEO,
1291 .id = AV_CODEC_ID_MPEG2VIDEO,1291 .p.id = AV_CODEC_ID_MPEG2VIDEO,
1292 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY |1292 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY |
1293 AV_CODEC_CAP_OTHER_THREADS |1293 AV_CODEC_CAP_OTHER_THREADS |
1294 AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,1294 AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
1295 .p.pix_fmts = pix_fmts_8bit,
1296 .p.priv_class = &X262_class,
1297 .p.wrapper_name = "libx264",
1295 .priv_data_size = sizeof(X264Context),1298 .priv_data_size = sizeof(X264Context),
1296 .init = X264_init,1299 .init = X264_init,
1297 .encode2 = X264_frame,1300 .encode2 = X264_frame,
1298 .close = X264_close,1301 .close = X264_close,
1299 .priv_class = &X262_class,
1300 .defaults = x264_defaults,1302 .defaults = x264_defaults,
1301 .pix_fmts = pix_fmts_8bit,
1302 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_AUTO_THREADS,1303 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_AUTO_THREADS,
1303 .wrapper_name = "libx264",
1304};1304};
1305#endif1305#endif
libavcodec/libx265.c+12−12
@@ -693,14 +693,14 @@ static const enum AVPixelFormat x265_csp_twelve[] = { · 692 unmodified lines
693 AV_PIX_FMT_NONE693 AV_PIX_FMT_NONE
694};694};
695 695
696static av_cold void libx265_encode_init_csp(AVCodec *codec)696static av_cold void libx265_encode_init_csp(FFCodec *codec)
697{697{
698 if (x265_api_get(12))698 if (x265_api_get(12))
699 codec->pix_fmts = x265_csp_twelve;699 codec->p.pix_fmts = x265_csp_twelve;
700 else if (x265_api_get(10))700 else if (x265_api_get(10))
701 codec->pix_fmts = x265_csp_ten;701 codec->p.pix_fmts = x265_csp_ten;
702 else if (x265_api_get(8))702 else if (x265_api_get(8))
703 codec->pix_fmts = x265_csp_eight;703 codec->p.pix_fmts = x265_csp_eight;
704}704}
705 705
706#define OFFSET(x) offsetof(libx265Context, x)706#define OFFSET(x) offsetof(libx265Context, x)
@@ -740,21 +740,21 @@ static const AVCodecDefault x265_defaults[] = { · 33 unmodified lines
740 { NULL },740 { NULL },
741};741};
742 742
743AVCodec ff_libx265_encoder = {743FFCodec ff_libx265_encoder = {
744 .name = "libx265",744 .p.name = "libx265",
745 .long_name = NULL_IF_CONFIG_SMALL("libx265 H.265 / HEVC"),745 .p.long_name = NULL_IF_CONFIG_SMALL("libx265 H.265 / HEVC"),
746 .type = AVMEDIA_TYPE_VIDEO,746 .p.type = AVMEDIA_TYPE_VIDEO,
747 .id = AV_CODEC_ID_HEVC,747 .p.id = AV_CODEC_ID_HEVC,
748 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY |748 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY |
749 AV_CODEC_CAP_OTHER_THREADS |749 AV_CODEC_CAP_OTHER_THREADS |
750 AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,750 AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
751 .p.priv_class = &class,
752 .p.wrapper_name = "libx265",
751 .init = libx265_encode_init,753 .init = libx265_encode_init,
752 .init_static_data = libx265_encode_init_csp,754 .init_static_data = libx265_encode_init_csp,
753 .encode2 = libx265_encode_frame,755 .encode2 = libx265_encode_frame,
754 .close = libx265_encode_close,756 .close = libx265_encode_close,
755 .priv_data_size = sizeof(libx265Context),757 .priv_data_size = sizeof(libx265Context),
756 .priv_class = &class,
757 .defaults = x265_defaults,758 .defaults = x265_defaults,
758 .caps_internal = FF_CODEC_CAP_AUTO_THREADS,759 .caps_internal = FF_CODEC_CAP_AUTO_THREADS,
759 .wrapper_name = "libx265",
760};760};
libavcodec/libxavs.c+9−9
@@ -421,20 +421,20 @@ static const AVCodecDefault xavs_defaults[] = { · 420 unmodified lines
421 { NULL },421 { NULL },
422};422};
423 423
424const AVCodec ff_libxavs_encoder = {424const FFCodec ff_libxavs_encoder = {
425 .name = "libxavs",425 .p.name = "libxavs",
426 .long_name = NULL_IF_CONFIG_SMALL("libxavs Chinese AVS (Audio Video Standard)"),426 .p.long_name = NULL_IF_CONFIG_SMALL("libxavs Chinese AVS (Audio Video Standard)"),
427 .type = AVMEDIA_TYPE_VIDEO,427 .p.type = AVMEDIA_TYPE_VIDEO,
428 .id = AV_CODEC_ID_CAVS,428 .p.id = AV_CODEC_ID_CAVS,
429 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY |429 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY |
430 AV_CODEC_CAP_OTHER_THREADS,430 AV_CODEC_CAP_OTHER_THREADS,
431 .priv_data_size = sizeof(XavsContext),431 .priv_data_size = sizeof(XavsContext),
432 .init = XAVS_init,432 .init = XAVS_init,
433 .encode2 = XAVS_frame,433 .encode2 = XAVS_frame,
434 .close = XAVS_close,434 .close = XAVS_close,
435 .caps_internal = FF_CODEC_CAP_AUTO_THREADS,435 .caps_internal = FF_CODEC_CAP_AUTO_THREADS,
436 .pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE },436 .p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE },
437 .priv_class = &xavs_class,437 .p.priv_class = &xavs_class,
438 .defaults = xavs_defaults,438 .defaults = xavs_defaults,
439 .wrapper_name = "libxavs",439 .p.wrapper_name = "libxavs",
440};440};
libavcodec/libxavs2.c+9−9
@@ -286,21 +286,21 @@ static const AVCodecDefault xavs2_defaults[] = { · 285 unmodified lines
286 { NULL },286 { NULL },
287};287};
288 288
289const AVCodec ff_libxavs2_encoder = {289const FFCodec ff_libxavs2_encoder = {
290 .name = "libxavs2",290 .p.name = "libxavs2",
291 .long_name = NULL_IF_CONFIG_SMALL("libxavs2 AVS2-P2/IEEE1857.4"),291 .p.long_name = NULL_IF_CONFIG_SMALL("libxavs2 AVS2-P2/IEEE1857.4"),
292 .type = AVMEDIA_TYPE_VIDEO,292 .p.type = AVMEDIA_TYPE_VIDEO,
293 .id = AV_CODEC_ID_AVS2,293 .p.id = AV_CODEC_ID_AVS2,
294 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY |294 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY |
295 AV_CODEC_CAP_OTHER_THREADS,295 AV_CODEC_CAP_OTHER_THREADS,
296 .priv_data_size = sizeof(XAVS2EContext),296 .priv_data_size = sizeof(XAVS2EContext),
297 .init = xavs2_init,297 .init = xavs2_init,
298 .encode2 = xavs2_encode_frame,298 .encode2 = xavs2_encode_frame,
299 .close = xavs2_close,299 .close = xavs2_close,
300 .caps_internal = FF_CODEC_CAP_AUTO_THREADS,300 .caps_internal = FF_CODEC_CAP_AUTO_THREADS,
301 .pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P,301 .p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P,
302 AV_PIX_FMT_NONE },302 AV_PIX_FMT_NONE },
303 .priv_class = &libxavs2,303 .p.priv_class = &libxavs2,
304 .defaults = xavs2_defaults,304 .defaults = xavs2_defaults,
305 .wrapper_name = "libxavs2",305 .p.wrapper_name = "libxavs2",
306} ;306} ;
libavcodec/libxvid.c+8−8
@@ -897,18 +897,18 @@ static const AVClass xvid_class = { · 896 unmodified lines
897 .version = LIBAVUTIL_VERSION_INT,897 .version = LIBAVUTIL_VERSION_INT,
898};898};
899 899
900const AVCodec ff_libxvid_encoder = {900const FFCodec ff_libxvid_encoder = {
901 .name = "libxvid",901 .p.name = "libxvid",
902 .long_name = NULL_IF_CONFIG_SMALL("libxvidcore MPEG-4 part 2"),902 .p.long_name = NULL_IF_CONFIG_SMALL("libxvidcore MPEG-4 part 2"),
903 .type = AVMEDIA_TYPE_VIDEO,903 .p.type = AVMEDIA_TYPE_VIDEO,
904 .id = AV_CODEC_ID_MPEG4,904 .p.id = AV_CODEC_ID_MPEG4,
905 .priv_data_size = sizeof(struct xvid_context),905 .priv_data_size = sizeof(struct xvid_context),
906 .init = xvid_encode_init,906 .init = xvid_encode_init,
907 .encode2 = xvid_encode_frame,907 .encode2 = xvid_encode_frame,
908 .close = xvid_encode_close,908 .close = xvid_encode_close,
909 .pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE },909 .p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE },
910 .priv_class = &xvid_class,910 .p.priv_class = &xvid_class,
911 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |911 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |
912 FF_CODEC_CAP_INIT_CLEANUP,912 FF_CODEC_CAP_INIT_CLEANUP,
913 .wrapper_name = "libxvid",913 .p.wrapper_name = "libxvid",
914};914};
libavcodec/libzvbi-teletextdec.c+9−8
@@ -20,6 +20,7 @@ · 19 unmodified lines
20 20
21#include "avcodec.h"21#include "avcodec.h"
22#include "libavcodec/ass.h"22#include "libavcodec/ass.h"
23#include "codec_internal.h"
23#include "libavcodec/dvbtxt.h"24#include "libavcodec/dvbtxt.h"
24#include "libavutil/opt.h"25#include "libavutil/opt.h"
25#include "libavutil/bprint.h"26#include "libavutil/bprint.h"
@@ -810,17 +811,17 @@ static const AVClass teletext_class = { · 784 unmodified lines
810 .version = LIBAVUTIL_VERSION_INT,811 .version = LIBAVUTIL_VERSION_INT,
811};812};
812 813
813const AVCodec ff_libzvbi_teletext_decoder = {814const FFCodec ff_libzvbi_teletext_decoder = {
814 .name = "libzvbi_teletextdec",815 .p.name = "libzvbi_teletextdec",
815 .long_name = NULL_IF_CONFIG_SMALL("Libzvbi DVB teletext decoder"),816 .p.long_name = NULL_IF_CONFIG_SMALL("Libzvbi DVB teletext decoder"),
816 .type = AVMEDIA_TYPE_SUBTITLE,817 .p.type = AVMEDIA_TYPE_SUBTITLE,
817 .id = AV_CODEC_ID_DVB_TELETEXT,818 .p.id = AV_CODEC_ID_DVB_TELETEXT,
819 .p.capabilities = AV_CODEC_CAP_DELAY,
820 .p.priv_class = &teletext_class,
821 .p.wrapper_name = "libzvbi",
818 .priv_data_size = sizeof(TeletextContext),822 .priv_data_size = sizeof(TeletextContext),
819 .init = teletext_init_decoder,823 .init = teletext_init_decoder,
820 .close = teletext_close_decoder,824 .close = teletext_close_decoder,
821 .decode = teletext_decode_frame,825 .decode = teletext_decode_frame,
822 .capabilities = AV_CODEC_CAP_DELAY,
823 .flush = teletext_flush,826 .flush = teletext_flush,
824 .priv_class= &teletext_class,
825 .wrapper_name = "libzvbi",
826};827};
libavcodec/ljpegenc.c+8−8
@@ -321,18 +321,18 @@ static const AVClass ljpeg_class = { · 320 unmodified lines
321 .version = LIBAVUTIL_VERSION_INT,321 .version = LIBAVUTIL_VERSION_INT,
322};322};
323 323
324const AVCodec ff_ljpeg_encoder = {324const FFCodec ff_ljpeg_encoder = {
325 .name = "ljpeg",325 .p.name = "ljpeg",
326 .long_name = NULL_IF_CONFIG_SMALL("Lossless JPEG"),326 .p.long_name = NULL_IF_CONFIG_SMALL("Lossless JPEG"),
327 .type = AVMEDIA_TYPE_VIDEO,327 .p.type = AVMEDIA_TYPE_VIDEO,
328 .id = AV_CODEC_ID_LJPEG,328 .p.id = AV_CODEC_ID_LJPEG,
329 .priv_data_size = sizeof(LJpegEncContext),329 .priv_data_size = sizeof(LJpegEncContext),
330 .priv_class = &ljpeg_class,330 .p.priv_class = &ljpeg_class,
331 .init = ljpeg_encode_init,331 .init = ljpeg_encode_init,
332 .encode2 = ljpeg_encode_frame,332 .encode2 = ljpeg_encode_frame,
333 .close = ljpeg_encode_close,333 .close = ljpeg_encode_close,
334 .capabilities = AV_CODEC_CAP_FRAME_THREADS,334 .p.capabilities = AV_CODEC_CAP_FRAME_THREADS,
335 .pix_fmts = (const enum AVPixelFormat[]){335 .p.pix_fmts = (const enum AVPixelFormat[]){
336 AV_PIX_FMT_BGR24 , AV_PIX_FMT_BGRA , AV_PIX_FMT_BGR0,336 AV_PIX_FMT_BGR24 , AV_PIX_FMT_BGRA , AV_PIX_FMT_BGR0,
337 AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ422P,337 AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ422P,
338 AV_PIX_FMT_YUV420P , AV_PIX_FMT_YUV444P , AV_PIX_FMT_YUV422P,338 AV_PIX_FMT_YUV420P , AV_PIX_FMT_YUV444P , AV_PIX_FMT_YUV422P,
libavcodec/loco.c+6−6
@@ -338,14 +338,14 @@ static av_cold int decode_init(AVCodecContext *avctx) · 337 unmodified lines
338 return 0;338 return 0;
339}339}
340 340
341const AVCodec ff_loco_decoder = {341const FFCodec ff_loco_decoder = {
342 .name = "loco",342 .p.name = "loco",
343 .long_name = NULL_IF_CONFIG_SMALL("LOCO"),343 .p.long_name = NULL_IF_CONFIG_SMALL("LOCO"),
344 .type = AVMEDIA_TYPE_VIDEO,344 .p.type = AVMEDIA_TYPE_VIDEO,
345 .id = AV_CODEC_ID_LOCO,345 .p.id = AV_CODEC_ID_LOCO,
346 .priv_data_size = sizeof(LOCOContext),346 .priv_data_size = sizeof(LOCOContext),
347 .init = decode_init,347 .init = decode_init,
348 .decode = decode_frame,348 .decode = decode_frame,
349 .capabilities = AV_CODEC_CAP_DR1,349 .p.capabilities = AV_CODEC_CAP_DR1,
350 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,350 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
351};351};
libavcodec/lscrdec.c+6−6
@@ -245,16 +245,16 @@ static void lscr_decode_flush(AVCodecContext *avctx) · 244 unmodified lines
245 av_frame_unref(s->last_picture);245 av_frame_unref(s->last_picture);
246}246}
247 247
248const AVCodec ff_lscr_decoder = {248const FFCodec ff_lscr_decoder = {
249 .name = "lscr",249 .p.name = "lscr",
250 .long_name = NULL_IF_CONFIG_SMALL("LEAD Screen Capture"),250 .p.long_name = NULL_IF_CONFIG_SMALL("LEAD Screen Capture"),
251 .type = AVMEDIA_TYPE_VIDEO,251 .p.type = AVMEDIA_TYPE_VIDEO,
252 .id = AV_CODEC_ID_LSCR,252 .p.id = AV_CODEC_ID_LSCR,
253 .p.capabilities = AV_CODEC_CAP_DR1,
253 .priv_data_size = sizeof(LSCRContext),254 .priv_data_size = sizeof(LSCRContext),
254 .init = lscr_decode_init,255 .init = lscr_decode_init,
255 .close = lscr_decode_close,256 .close = lscr_decode_close,
256 .decode = decode_frame_lscr,257 .decode = decode_frame_lscr,
257 .flush = lscr_decode_flush,258 .flush = lscr_decode_flush,
258 .capabilities = AV_CODEC_CAP_DR1,
259 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,259 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
260};260};
libavcodec/m101.c+6−6
@@ -106,13 +106,13 @@ static int m101_decode_frame(AVCodecContext *avctx, void *data, int *got_frame, · 105 unmodified lines
106 return avpkt->size;106 return avpkt->size;
107}107}
108 108
109const AVCodec ff_m101_decoder = {109const FFCodec ff_m101_decoder = {
110 .name = "m101",110 .p.name = "m101",
111 .long_name = NULL_IF_CONFIG_SMALL("Matrox Uncompressed SD"),111 .p.long_name = NULL_IF_CONFIG_SMALL("Matrox Uncompressed SD"),
112 .type = AVMEDIA_TYPE_VIDEO,112 .p.type = AVMEDIA_TYPE_VIDEO,
113 .id = AV_CODEC_ID_M101,113 .p.id = AV_CODEC_ID_M101,
114 .init = m101_decode_init,114 .init = m101_decode_init,
115 .decode = m101_decode_frame,115 .decode = m101_decode_frame,
116 .capabilities = AV_CODEC_CAP_DR1,116 .p.capabilities = AV_CODEC_CAP_DR1,
117 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,117 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
118};118};
libavcodec/mace.c+14−14
@@ -286,30 +286,30 @@ static int mace_decode_frame(AVCodecContext *avctx, void *data, · 285 unmodified lines
286 return buf_size;286 return buf_size;
287}287}
288 288
289const AVCodec ff_mace3_decoder = {289const FFCodec ff_mace3_decoder = {
290 .name = "mace3",290 .p.name = "mace3",
291 .long_name = NULL_IF_CONFIG_SMALL("MACE (Macintosh Audio Compression/Expansion) 3:1"),291 .p.long_name = NULL_IF_CONFIG_SMALL("MACE (Macintosh Audio Compression/Expansion) 3:1"),
292 .type = AVMEDIA_TYPE_AUDIO,292 .p.type = AVMEDIA_TYPE_AUDIO,
293 .id = AV_CODEC_ID_MACE3,293 .p.id = AV_CODEC_ID_MACE3,
294 .priv_data_size = sizeof(MACEContext),294 .priv_data_size = sizeof(MACEContext),
295 .init = mace_decode_init,295 .init = mace_decode_init,
296 .decode = mace_decode_frame,296 .decode = mace_decode_frame,
297 .capabilities = AV_CODEC_CAP_DR1,297 .p.capabilities = AV_CODEC_CAP_DR1,
298 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16P,298 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16P,
299 AV_SAMPLE_FMT_NONE },299 AV_SAMPLE_FMT_NONE },
300 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,300 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
301};301};
302 302
303const AVCodec ff_mace6_decoder = {303const FFCodec ff_mace6_decoder = {
304 .name = "mace6",304 .p.name = "mace6",
305 .long_name = NULL_IF_CONFIG_SMALL("MACE (Macintosh Audio Compression/Expansion) 6:1"),305 .p.long_name = NULL_IF_CONFIG_SMALL("MACE (Macintosh Audio Compression/Expansion) 6:1"),
306 .type = AVMEDIA_TYPE_AUDIO,306 .p.type = AVMEDIA_TYPE_AUDIO,
307 .id = AV_CODEC_ID_MACE6,307 .p.id = AV_CODEC_ID_MACE6,
308 .priv_data_size = sizeof(MACEContext),308 .priv_data_size = sizeof(MACEContext),
309 .init = mace_decode_init,309 .init = mace_decode_init,
310 .decode = mace_decode_frame,310 .decode = mace_decode_frame,
311 .capabilities = AV_CODEC_CAP_DR1,311 .p.capabilities = AV_CODEC_CAP_DR1,
312 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16P,312 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16P,
313 AV_SAMPLE_FMT_NONE },313 AV_SAMPLE_FMT_NONE },
314 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,314 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
315};315};
libavcodec/magicyuv.c+6−6
@@ -694,16 +694,16 @@ static av_cold int magy_decode_end(AVCodecContext *avctx) · 693 unmodified lines
694 return 0;694 return 0;
695}695}
696 696
697const AVCodec ff_magicyuv_decoder = {697const FFCodec ff_magicyuv_decoder = {
698 .name = "magicyuv",698 .p.name = "magicyuv",
699 .long_name = NULL_IF_CONFIG_SMALL("MagicYUV video"),699 .p.long_name = NULL_IF_CONFIG_SMALL("MagicYUV video"),
700 .type = AVMEDIA_TYPE_VIDEO,700 .p.type = AVMEDIA_TYPE_VIDEO,
701 .id = AV_CODEC_ID_MAGICYUV,701 .p.id = AV_CODEC_ID_MAGICYUV,
702 .priv_data_size = sizeof(MagicYUVContext),702 .priv_data_size = sizeof(MagicYUVContext),
703 .init = magy_decode_init,703 .init = magy_decode_init,
704 .close = magy_decode_end,704 .close = magy_decode_end,
705 .decode = magy_decode_frame,705 .decode = magy_decode_frame,
706 .capabilities = AV_CODEC_CAP_DR1 |706 .p.capabilities = AV_CODEC_CAP_DR1 |
707 AV_CODEC_CAP_FRAME_THREADS |707 AV_CODEC_CAP_FRAME_THREADS |
708 AV_CODEC_CAP_SLICE_THREADS,708 AV_CODEC_CAP_SLICE_THREADS,
709 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,709 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
libavcodec/magicyuvenc.c+8−8
@@ -563,18 +563,18 @@ static const AVClass magicyuv_class = { · 562 unmodified lines
563 .version = LIBAVUTIL_VERSION_INT,563 .version = LIBAVUTIL_VERSION_INT,
564};564};
565 565
566const AVCodec ff_magicyuv_encoder = {566const FFCodec ff_magicyuv_encoder = {
567 .name = "magicyuv",567 .p.name = "magicyuv",
568 .long_name = NULL_IF_CONFIG_SMALL("MagicYUV video"),568 .p.long_name = NULL_IF_CONFIG_SMALL("MagicYUV video"),
569 .type = AVMEDIA_TYPE_VIDEO,569 .p.type = AVMEDIA_TYPE_VIDEO,
570 .id = AV_CODEC_ID_MAGICYUV,570 .p.id = AV_CODEC_ID_MAGICYUV,
571 .priv_data_size = sizeof(MagicYUVContext),571 .priv_data_size = sizeof(MagicYUVContext),
572 .priv_class = &magicyuv_class,572 .p.priv_class = &magicyuv_class,
573 .init = magy_encode_init,573 .init = magy_encode_init,
574 .close = magy_encode_close,574 .close = magy_encode_close,
575 .encode2 = magy_encode_frame,575 .encode2 = magy_encode_frame,
576 .capabilities = AV_CODEC_CAP_FRAME_THREADS,576 .p.capabilities = AV_CODEC_CAP_FRAME_THREADS,
577 .pix_fmts = (const enum AVPixelFormat[]) {577 .p.pix_fmts = (const enum AVPixelFormat[]) {
578 AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRAP, AV_PIX_FMT_YUV422P,578 AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRAP, AV_PIX_FMT_YUV422P,
579 AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVA444P, AV_PIX_FMT_GRAY8,579 AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVA444P, AV_PIX_FMT_GRAY8,
580 AV_PIX_FMT_NONE580 AV_PIX_FMT_NONE
libavcodec/mdec.c+6−6
@@ -251,15 +251,15 @@ static av_cold int decode_end(AVCodecContext *avctx) · 250 unmodified lines
251 return 0;251 return 0;
252}252}
253 253
254const AVCodec ff_mdec_decoder = {254const FFCodec ff_mdec_decoder = {
255 .name = "mdec",255 .p.name = "mdec",
256 .long_name = NULL_IF_CONFIG_SMALL("Sony PlayStation MDEC (Motion DECoder)"),256 .p.long_name = NULL_IF_CONFIG_SMALL("Sony PlayStation MDEC (Motion DECoder)"),
257 .type = AVMEDIA_TYPE_VIDEO,257 .p.type = AVMEDIA_TYPE_VIDEO,
258 .id = AV_CODEC_ID_MDEC,258 .p.id = AV_CODEC_ID_MDEC,
259 .priv_data_size = sizeof(MDECContext),259 .priv_data_size = sizeof(MDECContext),
260 .init = decode_init,260 .init = decode_init,
261 .close = decode_end,261 .close = decode_end,
262 .decode = decode_frame,262 .decode = decode_frame,
263 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,263 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
264 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,264 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
265};265};
libavcodec/mediacodecdec.c+8−8
@@ -532,22 +532,22 @@ static const AVClass ff_##short_name##_mediacodec_dec_class = { \ · 531 unmodified lines
532 532
533#define DECLARE_MEDIACODEC_VDEC(short_name, full_name, codec_id, bsf) \533#define DECLARE_MEDIACODEC_VDEC(short_name, full_name, codec_id, bsf) \
534DECLARE_MEDIACODEC_VCLASS(short_name) \534DECLARE_MEDIACODEC_VCLASS(short_name) \
535const AVCodec ff_ ## short_name ## _mediacodec_decoder = { \535const FFCodec ff_ ## short_name ## _mediacodec_decoder = { \
536 .name = #short_name "_mediacodec", \536 .p.name = #short_name "_mediacodec", \
537 .long_name = NULL_IF_CONFIG_SMALL(full_name " Android MediaCodec decoder"), \537 .p.long_name = NULL_IF_CONFIG_SMALL(full_name " Android MediaCodec decoder"), \
538 .type = AVMEDIA_TYPE_VIDEO, \538 .p.type = AVMEDIA_TYPE_VIDEO, \
539 .id = codec_id, \539 .p.id = codec_id, \
540 .priv_class = &ff_##short_name##_mediacodec_dec_class, \540 .p.priv_class = &ff_##short_name##_mediacodec_dec_class, \
541 .priv_data_size = sizeof(MediaCodecH264DecContext), \541 .priv_data_size = sizeof(MediaCodecH264DecContext), \
542 .init = mediacodec_decode_init, \542 .init = mediacodec_decode_init, \
543 .receive_frame = mediacodec_receive_frame, \543 .receive_frame = mediacodec_receive_frame, \
544 .flush = mediacodec_decode_flush, \544 .flush = mediacodec_decode_flush, \
545 .close = mediacodec_decode_close, \545 .close = mediacodec_decode_close, \
546 .capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_AVOID_PROBING | AV_CODEC_CAP_HARDWARE, \546 .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_AVOID_PROBING | AV_CODEC_CAP_HARDWARE, \
547 .caps_internal = FF_CODEC_CAP_SETS_PKT_DTS, \547 .caps_internal = FF_CODEC_CAP_SETS_PKT_DTS, \
548 .bsfs = bsf, \548 .bsfs = bsf, \
549 .hw_configs = mediacodec_hw_configs, \549 .hw_configs = mediacodec_hw_configs, \
550 .wrapper_name = "mediacodec", \550 .p.wrapper_name = "mediacodec", \
551}; \551}; \
552 552
553#if CONFIG_H264_MEDIACODEC_DECODER553#if CONFIG_H264_MEDIACODEC_DECODER
libavcodec/metasound.c+7−7
@@ -373,17 +373,17 @@ static av_cold int metasound_decode_init(AVCodecContext *avctx) · 372 unmodified lines
373 return ff_twinvq_decode_init(avctx);373 return ff_twinvq_decode_init(avctx);
374}374}
375 375
376const AVCodec ff_metasound_decoder = {376const FFCodec ff_metasound_decoder = {
377 .name = "metasound",377 .p.name = "metasound",
378 .long_name = NULL_IF_CONFIG_SMALL("Voxware MetaSound"),378 .p.long_name = NULL_IF_CONFIG_SMALL("Voxware MetaSound"),
379 .type = AVMEDIA_TYPE_AUDIO,379 .p.type = AVMEDIA_TYPE_AUDIO,
380 .id = AV_CODEC_ID_METASOUND,380 .p.id = AV_CODEC_ID_METASOUND,
381 .priv_data_size = sizeof(TwinVQContext),381 .priv_data_size = sizeof(TwinVQContext),
382 .init = metasound_decode_init,382 .init = metasound_decode_init,
383 .close = ff_twinvq_decode_close,383 .close = ff_twinvq_decode_close,
384 .decode = ff_twinvq_decode_frame,384 .decode = ff_twinvq_decode_frame,
385 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,385 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
386 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,386 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
387 AV_SAMPLE_FMT_NONE },387 AV_SAMPLE_FMT_NONE },
388 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,388 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
389};389};
libavcodec/mfenc.c+9−9
@@ -1151,25 +1151,25 @@ static int mf_close(AVCodecContext *avctx) · 1150 unmodified lines
1151 .option = OPTS, \1151 .option = OPTS, \
1152 .version = LIBAVUTIL_VERSION_INT, \1152 .version = LIBAVUTIL_VERSION_INT, \
1153 }; \1153 }; \
1154 const AVCodec ff_ ## NAME ## _mf_encoder = { \1154 const FFCodec ff_ ## NAME ## _mf_encoder = { \
1155 .priv_class = &ff_ ## NAME ## _mf_encoder_class, \1155 .p.priv_class = &ff_ ## NAME ## _mf_encoder_class, \
1156 .name = #NAME "_mf", \1156 .p.name = #NAME "_mf", \
1157 .long_name = NULL_IF_CONFIG_SMALL(#ID " via MediaFoundation"), \1157 .p.long_name = NULL_IF_CONFIG_SMALL(#ID " via MediaFoundation"), \
1158 .type = AVMEDIA_TYPE_ ## MEDIATYPE, \1158 .p.type = AVMEDIA_TYPE_ ## MEDIATYPE, \
1159 .id = AV_CODEC_ID_ ## ID, \1159 .p.id = AV_CODEC_ID_ ## ID, \
1160 .priv_data_size = sizeof(MFContext), \1160 .priv_data_size = sizeof(MFContext), \
1161 .init = mf_init, \1161 .init = mf_init, \
1162 .close = mf_close, \1162 .close = mf_close, \
1163 .receive_packet = mf_receive_packet, \1163 .receive_packet = mf_receive_packet, \
1164 EXTRA \1164 EXTRA \
1165 .capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_HYBRID | \1165 .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_HYBRID | \
1166 AV_CODEC_CAP_DR1, \1166 AV_CODEC_CAP_DR1, \
1167 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | \1167 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | \
1168 FF_CODEC_CAP_INIT_CLEANUP, \1168 FF_CODEC_CAP_INIT_CLEANUP, \
1169 };1169 };
1170 1170
1171#define AFMTS \1171#define AFMTS \
1172 .sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16, \1172 .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16, \
1173 AV_SAMPLE_FMT_NONE },1173 AV_SAMPLE_FMT_NONE },
1174 1174
1175MF_ENCODER(AUDIO, aac, AAC, NULL, AFMTS);1175MF_ENCODER(AUDIO, aac, AAC, NULL, AFMTS);
@@ -1204,7 +1204,7 @@ static const AVOption venc_opts[] = { · 28 unmodified lines
1204};1204};
1205 1205
1206#define VFMTS \1206#define VFMTS \
1207 .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_NV12, \1207 .p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_NV12, \
1208 AV_PIX_FMT_YUV420P, \1208 AV_PIX_FMT_YUV420P, \
1209 AV_PIX_FMT_NONE },1209 AV_PIX_FMT_NONE },
1210 1210
libavcodec/microdvddec.c+5−5
@@ -369,11 +369,11 @@ static int microdvd_init(AVCodecContext *avctx) · 368 unmodified lines
369 alignment);369 alignment);
370}370}
371 371
372const AVCodec ff_microdvd_decoder = {372const FFCodec ff_microdvd_decoder = {
373 .name = "microdvd",373 .p.name = "microdvd",
374 .long_name = NULL_IF_CONFIG_SMALL("MicroDVD subtitle"),374 .p.long_name = NULL_IF_CONFIG_SMALL("MicroDVD subtitle"),
375 .type = AVMEDIA_TYPE_SUBTITLE,375 .p.type = AVMEDIA_TYPE_SUBTITLE,
376 .id = AV_CODEC_ID_MICRODVD,376 .p.id = AV_CODEC_ID_MICRODVD,
377 .init = microdvd_init,377 .init = microdvd_init,
378 .decode = microdvd_decode_frame,378 .decode = microdvd_decode_frame,
379 .flush = ff_ass_decoder_flush,379 .flush = ff_ass_decoder_flush,
libavcodec/midivid.c+6−6
@@ -278,16 +278,16 @@ static av_cold int decode_close(AVCodecContext *avctx) · 277 unmodified lines
278 return 0;278 return 0;
279}279}
280 280
281const AVCodec ff_mvdv_decoder = {281const FFCodec ff_mvdv_decoder = {
282 .name = "mvdv",282 .p.name = "mvdv",
283 .long_name = NULL_IF_CONFIG_SMALL("MidiVid VQ"),283 .p.long_name = NULL_IF_CONFIG_SMALL("MidiVid VQ"),
284 .type = AVMEDIA_TYPE_VIDEO,284 .p.type = AVMEDIA_TYPE_VIDEO,
285 .id = AV_CODEC_ID_MVDV,285 .p.id = AV_CODEC_ID_MVDV,
286 .priv_data_size = sizeof(MidiVidContext),286 .priv_data_size = sizeof(MidiVidContext),
287 .init = decode_init,287 .init = decode_init,
288 .decode = decode_frame,288 .decode = decode_frame,
289 .flush = decode_flush,289 .flush = decode_flush,
290 .close = decode_close,290 .close = decode_close,
291 .capabilities = AV_CODEC_CAP_DR1,291 .p.capabilities = AV_CODEC_CAP_DR1,
292 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,292 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
293};293};
libavcodec/mimic.c+6−6
@@ -437,16 +437,16 @@ static int mimic_decode_frame(AVCodecContext *avctx, void *data, · 436 unmodified lines
437 return buf_size;437 return buf_size;
438}438}
439 439
440const AVCodec ff_mimic_decoder = {440const FFCodec ff_mimic_decoder = {
441 .name = "mimic",441 .p.name = "mimic",
442 .long_name = NULL_IF_CONFIG_SMALL("Mimic"),442 .p.long_name = NULL_IF_CONFIG_SMALL("Mimic"),
443 .type = AVMEDIA_TYPE_VIDEO,443 .p.type = AVMEDIA_TYPE_VIDEO,
444 .id = AV_CODEC_ID_MIMIC,444 .p.id = AV_CODEC_ID_MIMIC,
445 .priv_data_size = sizeof(MimicContext),445 .priv_data_size = sizeof(MimicContext),
446 .init = mimic_decode_init,446 .init = mimic_decode_init,
447 .close = mimic_decode_end,447 .close = mimic_decode_end,
448 .decode = mimic_decode_frame,448 .decode = mimic_decode_frame,
449 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,449 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
450 .update_thread_context = ONLY_IF_THREADS_ENABLED(mimic_decode_update_thread_context),450 .update_thread_context = ONLY_IF_THREADS_ENABLED(mimic_decode_update_thread_context),
451 .caps_internal = FF_CODEC_CAP_ALLOCATE_PROGRESS |451 .caps_internal = FF_CODEC_CAP_ALLOCATE_PROGRESS |
452 FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_INIT_THREADSAFE,452 FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_INIT_THREADSAFE,
libavcodec/mjpegbdec.c+7−7
@@ -157,16 +157,16 @@ read_header: · 156 unmodified lines
157 return buf_size;157 return buf_size;
158}158}
159 159
160const AVCodec ff_mjpegb_decoder = {160const FFCodec ff_mjpegb_decoder = {
161 .name = "mjpegb",161 .p.name = "mjpegb",
162 .long_name = NULL_IF_CONFIG_SMALL("Apple MJPEG-B"),162 .p.long_name = NULL_IF_CONFIG_SMALL("Apple MJPEG-B"),
163 .type = AVMEDIA_TYPE_VIDEO,163 .p.type = AVMEDIA_TYPE_VIDEO,
164 .id = AV_CODEC_ID_MJPEGB,164 .p.id = AV_CODEC_ID_MJPEGB,
165 .priv_data_size = sizeof(MJpegDecodeContext),165 .priv_data_size = sizeof(MJpegDecodeContext),
166 .init = ff_mjpeg_decode_init,166 .init = ff_mjpeg_decode_init,
167 .close = ff_mjpeg_decode_end,167 .close = ff_mjpeg_decode_end,
168 .decode = mjpegb_decode_frame,168 .decode = mjpegb_decode_frame,
169 .capabilities = AV_CODEC_CAP_DR1,169 .p.capabilities = AV_CODEC_CAP_DR1,
170 .max_lowres = 3,170 .p.max_lowres = 3,
171 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,171 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
172};172};
libavcodec/mjpegdec.c+22−22
@@ -3012,20 +3012,20 @@ static const AVClass mjpegdec_class = { · 3011 unmodified lines
3012 .version = LIBAVUTIL_VERSION_INT,3012 .version = LIBAVUTIL_VERSION_INT,
3013};3013};
3014 3014
3015const AVCodec ff_mjpeg_decoder = {3015const FFCodec ff_mjpeg_decoder = {
3016 .name = "mjpeg",3016 .p.name = "mjpeg",
3017 .long_name = NULL_IF_CONFIG_SMALL("MJPEG (Motion JPEG)"),3017 .p.long_name = NULL_IF_CONFIG_SMALL("MJPEG (Motion JPEG)"),
3018 .type = AVMEDIA_TYPE_VIDEO,3018 .p.type = AVMEDIA_TYPE_VIDEO,
3019 .id = AV_CODEC_ID_MJPEG,3019 .p.id = AV_CODEC_ID_MJPEG,
3020 .priv_data_size = sizeof(MJpegDecodeContext),3020 .priv_data_size = sizeof(MJpegDecodeContext),
3021 .init = ff_mjpeg_decode_init,3021 .init = ff_mjpeg_decode_init,
3022 .close = ff_mjpeg_decode_end,3022 .close = ff_mjpeg_decode_end,
3023 .receive_frame = ff_mjpeg_receive_frame,3023 .receive_frame = ff_mjpeg_receive_frame,
3024 .flush = decode_flush,3024 .flush = decode_flush,
3025 .capabilities = AV_CODEC_CAP_DR1,3025 .p.capabilities = AV_CODEC_CAP_DR1,
3026 .max_lowres = 3,3026 .p.max_lowres = 3,
3027 .priv_class = &mjpegdec_class,3027 .p.priv_class = &mjpegdec_class,
3028 .profiles = NULL_IF_CONFIG_SMALL(ff_mjpeg_profiles),3028 .p.profiles = NULL_IF_CONFIG_SMALL(ff_mjpeg_profiles),
3029 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP |3029 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP |
3030 FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM | FF_CODEC_CAP_SETS_PKT_DTS,3030 FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM | FF_CODEC_CAP_SETS_PKT_DTS,
3031 .hw_configs = (const AVCodecHWConfigInternal *const []) {3031 .hw_configs = (const AVCodecHWConfigInternal *const []) {
@@ -3040,35 +3040,35 @@ const AVCodec ff_mjpeg_decoder = { · 8 unmodified lines
3040};3040};
3041#endif3041#endif
3042#if CONFIG_THP_DECODER3042#if CONFIG_THP_DECODER
3043const AVCodec ff_thp_decoder = {3043const FFCodec ff_thp_decoder = {
3044 .name = "thp",3044 .p.name = "thp",
3045 .long_name = NULL_IF_CONFIG_SMALL("Nintendo Gamecube THP video"),3045 .p.long_name = NULL_IF_CONFIG_SMALL("Nintendo Gamecube THP video"),
3046 .type = AVMEDIA_TYPE_VIDEO,3046 .p.type = AVMEDIA_TYPE_VIDEO,
3047 .id = AV_CODEC_ID_THP,3047 .p.id = AV_CODEC_ID_THP,
3048 .priv_data_size = sizeof(MJpegDecodeContext),3048 .priv_data_size = sizeof(MJpegDecodeContext),
3049 .init = ff_mjpeg_decode_init,3049 .init = ff_mjpeg_decode_init,
3050 .close = ff_mjpeg_decode_end,3050 .close = ff_mjpeg_decode_end,
3051 .receive_frame = ff_mjpeg_receive_frame,3051 .receive_frame = ff_mjpeg_receive_frame,
3052 .flush = decode_flush,3052 .flush = decode_flush,
3053 .capabilities = AV_CODEC_CAP_DR1,3053 .p.capabilities = AV_CODEC_CAP_DR1,
3054 .max_lowres = 3,3054 .p.max_lowres = 3,
3055 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP |3055 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP |
3056 FF_CODEC_CAP_SETS_PKT_DTS,3056 FF_CODEC_CAP_SETS_PKT_DTS,
3057};3057};
3058#endif3058#endif
3059 3059
3060#if CONFIG_SMVJPEG_DECODER3060#if CONFIG_SMVJPEG_DECODER
3061const AVCodec ff_smvjpeg_decoder = {3061const FFCodec ff_smvjpeg_decoder = {
3062 .name = "smvjpeg",3062 .p.name = "smvjpeg",
3063 .long_name = NULL_IF_CONFIG_SMALL("SMV JPEG"),3063 .p.long_name = NULL_IF_CONFIG_SMALL("SMV JPEG"),
3064 .type = AVMEDIA_TYPE_VIDEO,3064 .p.type = AVMEDIA_TYPE_VIDEO,
3065 .id = AV_CODEC_ID_SMVJPEG,3065 .p.id = AV_CODEC_ID_SMVJPEG,
3066 .priv_data_size = sizeof(MJpegDecodeContext),3066 .priv_data_size = sizeof(MJpegDecodeContext),
3067 .init = ff_mjpeg_decode_init,3067 .init = ff_mjpeg_decode_init,
3068 .close = ff_mjpeg_decode_end,3068 .close = ff_mjpeg_decode_end,
3069 .receive_frame = ff_mjpeg_receive_frame,3069 .receive_frame = ff_mjpeg_receive_frame,
3070 .flush = decode_flush,3070 .flush = decode_flush,
3071 .capabilities = AV_CODEC_CAP_DR1,3071 .p.capabilities = AV_CODEC_CAP_DR1,
3072 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_EXPORTS_CROPPING |3072 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_EXPORTS_CROPPING |
3073 FF_CODEC_CAP_SETS_PKT_DTS | FF_CODEC_CAP_INIT_CLEANUP,3073 FF_CODEC_CAP_SETS_PKT_DTS | FF_CODEC_CAP_INIT_CLEANUP,
3074};3074};
libavcodec/mjpegenc.c+16−16
@@ -651,24 +651,24 @@ static const AVClass mjpeg_class = { · 650 unmodified lines
651 .version = LIBAVUTIL_VERSION_INT,651 .version = LIBAVUTIL_VERSION_INT,
652};652};
653 653
654const AVCodec ff_mjpeg_encoder = {654const FFCodec ff_mjpeg_encoder = {
655 .name = "mjpeg",655 .p.name = "mjpeg",
656 .long_name = NULL_IF_CONFIG_SMALL("MJPEG (Motion JPEG)"),656 .p.long_name = NULL_IF_CONFIG_SMALL("MJPEG (Motion JPEG)"),
657 .type = AVMEDIA_TYPE_VIDEO,657 .p.type = AVMEDIA_TYPE_VIDEO,
658 .id = AV_CODEC_ID_MJPEG,658 .p.id = AV_CODEC_ID_MJPEG,
659 .priv_data_size = sizeof(MJPEGEncContext),659 .priv_data_size = sizeof(MJPEGEncContext),
660 .init = ff_mpv_encode_init,660 .init = ff_mpv_encode_init,
661 .encode2 = ff_mpv_encode_picture,661 .encode2 = ff_mpv_encode_picture,
662 .close = mjpeg_encode_close,662 .close = mjpeg_encode_close,
663 .capabilities = AV_CODEC_CAP_SLICE_THREADS | AV_CODEC_CAP_FRAME_THREADS,663 .p.capabilities = AV_CODEC_CAP_SLICE_THREADS | AV_CODEC_CAP_FRAME_THREADS,
664 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,664 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
665 .pix_fmts = (const enum AVPixelFormat[]) {665 .p.pix_fmts = (const enum AVPixelFormat[]) {
666 AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ444P,666 AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ444P,
667 AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV444P,667 AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV444P,
668 AV_PIX_FMT_NONE668 AV_PIX_FMT_NONE
669 },669 },
670 .priv_class = &mjpeg_class,670 .p.priv_class = &mjpeg_class,
671 .profiles = NULL_IF_CONFIG_SMALL(ff_mjpeg_profiles),671 .p.profiles = NULL_IF_CONFIG_SMALL(ff_mjpeg_profiles),
672};672};
673#endif673#endif
674 674
@@ -680,19 +680,19 @@ static const AVClass amv_class = { · 5 unmodified lines
680 .version = LIBAVUTIL_VERSION_INT,680 .version = LIBAVUTIL_VERSION_INT,
681};681};
682 682
683const AVCodec ff_amv_encoder = {683const FFCodec ff_amv_encoder = {
684 .name = "amv",684 .p.name = "amv",
685 .long_name = NULL_IF_CONFIG_SMALL("AMV Video"),685 .p.long_name = NULL_IF_CONFIG_SMALL("AMV Video"),
686 .type = AVMEDIA_TYPE_VIDEO,686 .p.type = AVMEDIA_TYPE_VIDEO,
687 .id = AV_CODEC_ID_AMV,687 .p.id = AV_CODEC_ID_AMV,
688 .priv_data_size = sizeof(MJPEGEncContext),688 .priv_data_size = sizeof(MJPEGEncContext),
689 .init = ff_mpv_encode_init,689 .init = ff_mpv_encode_init,
690 .encode2 = amv_encode_picture,690 .encode2 = amv_encode_picture,
691 .close = mjpeg_encode_close,691 .close = mjpeg_encode_close,
692 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,692 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
693 .pix_fmts = (const enum AVPixelFormat[]) {693 .p.pix_fmts = (const enum AVPixelFormat[]) {
694 AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_NONE694 AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_NONE
695 },695 },
696 .priv_class = &amv_class,696 .p.priv_class = &amv_class,
697};697};
698#endif698#endif
libavcodec/mlpdec.c+14−14
@@ -1416,32 +1416,32 @@ static const AVClass truehd_decoder_class = { · 1415 unmodified lines
1416};1416};
1417 1417
1418#if CONFIG_MLP_DECODER1418#if CONFIG_MLP_DECODER
1419const AVCodec ff_mlp_decoder = {1419const FFCodec ff_mlp_decoder = {
1420 .name = "mlp",1420 .p.name = "mlp",
1421 .long_name = NULL_IF_CONFIG_SMALL("MLP (Meridian Lossless Packing)"),1421 .p.long_name = NULL_IF_CONFIG_SMALL("MLP (Meridian Lossless Packing)"),
1422 .type = AVMEDIA_TYPE_AUDIO,1422 .p.type = AVMEDIA_TYPE_AUDIO,
1423 .id = AV_CODEC_ID_MLP,1423 .p.id = AV_CODEC_ID_MLP,
1424 .priv_data_size = sizeof(MLPDecodeContext),1424 .priv_data_size = sizeof(MLPDecodeContext),
1425 .priv_class = &mlp_decoder_class,1425 .p.priv_class = &mlp_decoder_class,
1426 .init = mlp_decode_init,1426 .init = mlp_decode_init,
1427 .decode = read_access_unit,1427 .decode = read_access_unit,
1428 .flush = mlp_decode_flush,1428 .flush = mlp_decode_flush,
1429 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,1429 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
1430 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,1430 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
1431};1431};
1432#endif1432#endif
1433#if CONFIG_TRUEHD_DECODER1433#if CONFIG_TRUEHD_DECODER
1434const AVCodec ff_truehd_decoder = {1434const FFCodec ff_truehd_decoder = {
1435 .name = "truehd",1435 .p.name = "truehd",
1436 .long_name = NULL_IF_CONFIG_SMALL("TrueHD"),1436 .p.long_name = NULL_IF_CONFIG_SMALL("TrueHD"),
1437 .type = AVMEDIA_TYPE_AUDIO,1437 .p.type = AVMEDIA_TYPE_AUDIO,
1438 .id = AV_CODEC_ID_TRUEHD,1438 .p.id = AV_CODEC_ID_TRUEHD,
1439 .priv_data_size = sizeof(MLPDecodeContext),1439 .priv_data_size = sizeof(MLPDecodeContext),
1440 .priv_class = &truehd_decoder_class,1440 .p.priv_class = &truehd_decoder_class,
1441 .init = mlp_decode_init,1441 .init = mlp_decode_init,
1442 .decode = read_access_unit,1442 .decode = read_access_unit,
1443 .flush = mlp_decode_flush,1443 .flush = mlp_decode_flush,
1444 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,1444 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
1445 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,1445 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
1446};1446};
1447#endif /* CONFIG_TRUEHD_DECODER */1447#endif /* CONFIG_TRUEHD_DECODER */
libavcodec/mlpenc.c+20−20
@@ -2206,42 +2206,42 @@ static av_cold int mlp_encode_close(AVCodecContext *avctx) · 2205 unmodified lines
2206}2206}
2207 2207
2208#if CONFIG_MLP_ENCODER2208#if CONFIG_MLP_ENCODER
2209const AVCodec ff_mlp_encoder = {2209const FFCodec ff_mlp_encoder = {
2210 .name ="mlp",2210 .p.name ="mlp",
2211 .long_name = NULL_IF_CONFIG_SMALL("MLP (Meridian Lossless Packing)"),2211 .p.long_name = NULL_IF_CONFIG_SMALL("MLP (Meridian Lossless Packing)"),
2212 .type = AVMEDIA_TYPE_AUDIO,2212 .p.type = AVMEDIA_TYPE_AUDIO,
2213 .id = AV_CODEC_ID_MLP,2213 .p.id = AV_CODEC_ID_MLP,
2214 .priv_data_size = sizeof(MLPEncodeContext),2214 .priv_data_size = sizeof(MLPEncodeContext),
2215 .init = mlp_encode_init,2215 .init = mlp_encode_init,
2216 .encode2 = mlp_encode_frame,2216 .encode2 = mlp_encode_frame,
2217 .close = mlp_encode_close,2217 .close = mlp_encode_close,
2218 .capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_EXPERIMENTAL,2218 .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_EXPERIMENTAL,
2219 .sample_fmts = (const enum AVSampleFormat[]) {AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_S32, AV_SAMPLE_FMT_NONE},2219 .p.sample_fmts = (const enum AVSampleFormat[]) {AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_S32, AV_SAMPLE_FMT_NONE},
2220 .supported_samplerates = (const int[]) {44100, 48000, 88200, 96000, 176400, 192000, 0},2220 .p.supported_samplerates = (const int[]) {44100, 48000, 88200, 96000, 176400, 192000, 0},
2221#if FF_API_OLD_CHANNEL_LAYOUT2221#if FF_API_OLD_CHANNEL_LAYOUT
2222 .channel_layouts = ff_mlp_channel_layouts,2222 .p.channel_layouts = ff_mlp_channel_layouts,
2223#endif2223#endif
2224 .ch_layouts = ff_mlp_ch_layouts,2224 .p.ch_layouts = ff_mlp_ch_layouts,
2225 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,2225 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
2226};2226};
2227#endif2227#endif
2228#if CONFIG_TRUEHD_ENCODER2228#if CONFIG_TRUEHD_ENCODER
2229const AVCodec ff_truehd_encoder = {2229const FFCodec ff_truehd_encoder = {
2230 .name ="truehd",2230 .p.name ="truehd",
2231 .long_name = NULL_IF_CONFIG_SMALL("TrueHD"),2231 .p.long_name = NULL_IF_CONFIG_SMALL("TrueHD"),
2232 .type = AVMEDIA_TYPE_AUDIO,2232 .p.type = AVMEDIA_TYPE_AUDIO,
2233 .id = AV_CODEC_ID_TRUEHD,2233 .p.id = AV_CODEC_ID_TRUEHD,
2234 .priv_data_size = sizeof(MLPEncodeContext),2234 .priv_data_size = sizeof(MLPEncodeContext),
2235 .init = mlp_encode_init,2235 .init = mlp_encode_init,
2236 .encode2 = mlp_encode_frame,2236 .encode2 = mlp_encode_frame,
2237 .close = mlp_encode_close,2237 .close = mlp_encode_close,
2238 .capabilities = AV_CODEC_CAP_SMALL_LAST_FRAME | AV_CODEC_CAP_DELAY | AV_CODEC_CAP_EXPERIMENTAL,2238 .p.capabilities = AV_CODEC_CAP_SMALL_LAST_FRAME | AV_CODEC_CAP_DELAY | AV_CODEC_CAP_EXPERIMENTAL,
2239 .sample_fmts = (const enum AVSampleFormat[]) {AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_S32, AV_SAMPLE_FMT_NONE},2239 .p.sample_fmts = (const enum AVSampleFormat[]) {AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_S32, AV_SAMPLE_FMT_NONE},
2240 .supported_samplerates = (const int[]) {44100, 48000, 88200, 96000, 176400, 192000, 0},2240 .p.supported_samplerates = (const int[]) {44100, 48000, 88200, 96000, 176400, 192000, 0},
2241#if FF_API_OLD_CHANNEL_LAYOUT2241#if FF_API_OLD_CHANNEL_LAYOUT
2242 .channel_layouts = (const uint64_t[]) {AV_CH_LAYOUT_STEREO, AV_CH_LAYOUT_5POINT0_BACK, AV_CH_LAYOUT_5POINT1_BACK, 0},2242 .p.channel_layouts = (const uint64_t[]) {AV_CH_LAYOUT_STEREO, AV_CH_LAYOUT_5POINT0_BACK, AV_CH_LAYOUT_5POINT1_BACK, 0},
2243#endif2243#endif
2244 .ch_layouts = (const AVChannelLayout[]) {2244 .p.ch_layouts = (const AVChannelLayout[]) {
2245 AV_CHANNEL_LAYOUT_STEREO,2245 AV_CHANNEL_LAYOUT_STEREO,
2246 AV_CHANNEL_LAYOUT_5POINT0_BACK,2246 AV_CHANNEL_LAYOUT_5POINT0_BACK,
2247 AV_CHANNEL_LAYOUT_5POINT1_BACK,2247 AV_CHANNEL_LAYOUT_5POINT1_BACK,
libavcodec/mmaldec.c+9−9
@@ -829,24 +829,24 @@ static const AVClass ffmmal_dec_class = { · 828 unmodified lines
829};829};
830 830
831#define FFMMAL_DEC(NAME, ID) \831#define FFMMAL_DEC(NAME, ID) \
832 const AVCodec ff_##NAME##_mmal_decoder = { \832 const FFCodec ff_##NAME##_mmal_decoder = { \
833 .name = #NAME "_mmal", \833 .p.name = #NAME "_mmal", \
834 .long_name = NULL_IF_CONFIG_SMALL(#NAME " (mmal)"), \834 .p.long_name = NULL_IF_CONFIG_SMALL(#NAME " (mmal)"), \
835 .type = AVMEDIA_TYPE_VIDEO, \835 .p.type = AVMEDIA_TYPE_VIDEO, \
836 .id = ID, \836 .p.id = ID, \
837 .priv_data_size = sizeof(MMALDecodeContext), \837 .priv_data_size = sizeof(MMALDecodeContext), \
838 .init = ffmmal_init_decoder, \838 .init = ffmmal_init_decoder, \
839 .close = ffmmal_close_decoder, \839 .close = ffmmal_close_decoder, \
840 .receive_frame = ffmmal_receive_frame, \840 .receive_frame = ffmmal_receive_frame, \
841 .flush = ffmmal_flush, \841 .flush = ffmmal_flush, \
842 .priv_class = &ffmmal_dec_class, \842 .p.priv_class = &ffmmal_dec_class, \
843 .capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_HARDWARE, \843 .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_HARDWARE, \
844 .caps_internal = FF_CODEC_CAP_SETS_PKT_DTS, \844 .caps_internal = FF_CODEC_CAP_SETS_PKT_DTS, \
845 .pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_MMAL, \845 .p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_MMAL, \
846 AV_PIX_FMT_YUV420P, \846 AV_PIX_FMT_YUV420P, \
847 AV_PIX_FMT_NONE}, \847 AV_PIX_FMT_NONE}, \
848 .hw_configs = mmal_hw_configs, \848 .hw_configs = mmal_hw_configs, \
849 .wrapper_name = "mmal", \849 .p.wrapper_name = "mmal", \
850 };850 };
851 851
852FFMMAL_DEC(h264, AV_CODEC_ID_H264)852FFMMAL_DEC(h264, AV_CODEC_ID_H264)
libavcodec/mmvideo.c+6−6
@@ -239,15 +239,15 @@ static av_cold int mm_decode_end(AVCodecContext *avctx) · 238 unmodified lines
239 return 0;239 return 0;
240}240}
241 241
242const AVCodec ff_mmvideo_decoder = {242const FFCodec ff_mmvideo_decoder = {
243 .name = "mmvideo",243 .p.name = "mmvideo",
244 .long_name = NULL_IF_CONFIG_SMALL("American Laser Games MM Video"),244 .p.long_name = NULL_IF_CONFIG_SMALL("American Laser Games MM Video"),
245 .type = AVMEDIA_TYPE_VIDEO,245 .p.type = AVMEDIA_TYPE_VIDEO,
246 .id = AV_CODEC_ID_MMVIDEO,246 .p.id = AV_CODEC_ID_MMVIDEO,
247 .priv_data_size = sizeof(MmContext),247 .priv_data_size = sizeof(MmContext),
248 .init = mm_decode_init,248 .init = mm_decode_init,
249 .close = mm_decode_end,249 .close = mm_decode_end,
250 .decode = mm_decode_frame,250 .decode = mm_decode_frame,
251 .capabilities = AV_CODEC_CAP_DR1,251 .p.capabilities = AV_CODEC_CAP_DR1,
252 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,252 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
253};253};
libavcodec/mobiclip.c+6−6
@@ -1340,16 +1340,16 @@ static av_cold int mobiclip_close(AVCodecContext *avctx) · 1339 unmodified lines
1340 return 0;1340 return 0;
1341}1341}
1342 1342
1343const AVCodec ff_mobiclip_decoder = {1343const FFCodec ff_mobiclip_decoder = {
1344 .name = "mobiclip",1344 .p.name = "mobiclip",
1345 .long_name = NULL_IF_CONFIG_SMALL("MobiClip Video"),1345 .p.long_name = NULL_IF_CONFIG_SMALL("MobiClip Video"),
1346 .type = AVMEDIA_TYPE_VIDEO,1346 .p.type = AVMEDIA_TYPE_VIDEO,
1347 .id = AV_CODEC_ID_MOBICLIP,1347 .p.id = AV_CODEC_ID_MOBICLIP,
1348 .priv_data_size = sizeof(MobiClipContext),1348 .priv_data_size = sizeof(MobiClipContext),
1349 .init = mobiclip_init,1349 .init = mobiclip_init,
1350 .decode = mobiclip_decode,1350 .decode = mobiclip_decode,
1351 .flush = mobiclip_flush,1351 .flush = mobiclip_flush,
1352 .close = mobiclip_close,1352 .close = mobiclip_close,
1353 .capabilities = AV_CODEC_CAP_DR1,1353 .p.capabilities = AV_CODEC_CAP_DR1,
1354 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,1354 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
1355};1355};
libavcodec/motionpixels.c+6−6
@@ -346,15 +346,15 @@ end: · 345 unmodified lines
346 return buf_size;346 return buf_size;
347}347}
348 348
349const AVCodec ff_motionpixels_decoder = {349const FFCodec ff_motionpixels_decoder = {
350 .name = "motionpixels",350 .p.name = "motionpixels",
351 .long_name = NULL_IF_CONFIG_SMALL("Motion Pixels video"),351 .p.long_name = NULL_IF_CONFIG_SMALL("Motion Pixels video"),
352 .type = AVMEDIA_TYPE_VIDEO,352 .p.type = AVMEDIA_TYPE_VIDEO,
353 .id = AV_CODEC_ID_MOTIONPIXELS,353 .p.id = AV_CODEC_ID_MOTIONPIXELS,
354 .priv_data_size = sizeof(MotionPixelsContext),354 .priv_data_size = sizeof(MotionPixelsContext),
355 .init = mp_decode_init,355 .init = mp_decode_init,
356 .close = mp_decode_end,356 .close = mp_decode_end,
357 .decode = mp_decode_frame,357 .decode = mp_decode_frame,
358 .capabilities = AV_CODEC_CAP_DR1,358 .p.capabilities = AV_CODEC_CAP_DR1,
359 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_INIT_THREADSAFE,359 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_INIT_THREADSAFE,
360};360};
libavcodec/movtextdec.c+6−6
@@ -592,13 +592,13 @@ static const AVClass mov_text_decoder_class = { · 591 unmodified lines
592 .version = LIBAVUTIL_VERSION_INT,592 .version = LIBAVUTIL_VERSION_INT,
593};593};
594 594
595const AVCodec ff_movtext_decoder = {595const FFCodec ff_movtext_decoder = {
596 .name = "mov_text",596 .p.name = "mov_text",
597 .long_name = NULL_IF_CONFIG_SMALL("3GPP Timed Text subtitle"),597 .p.long_name = NULL_IF_CONFIG_SMALL("3GPP Timed Text subtitle"),
598 .type = AVMEDIA_TYPE_SUBTITLE,598 .p.type = AVMEDIA_TYPE_SUBTITLE,
599 .id = AV_CODEC_ID_MOV_TEXT,599 .p.id = AV_CODEC_ID_MOV_TEXT,
600 .priv_data_size = sizeof(MovTextContext),600 .priv_data_size = sizeof(MovTextContext),
601 .priv_class = &mov_text_decoder_class,601 .p.priv_class = &mov_text_decoder_class,
602 .init = mov_text_init,602 .init = mov_text_init,
603 .decode = mov_text_decode_frame,603 .decode = mov_text_decode_frame,
604 .close = mov_text_decode_close,604 .close = mov_text_decode_close,
libavcodec/movtextenc.c+6−6
@@ -699,13 +699,13 @@ static const AVClass mov_text_encoder_class = { · 698 unmodified lines
699 .version = LIBAVUTIL_VERSION_INT,699 .version = LIBAVUTIL_VERSION_INT,
700};700};
701 701
702const AVCodec ff_movtext_encoder = {702const FFCodec ff_movtext_encoder = {
703 .name = "mov_text",703 .p.name = "mov_text",
704 .long_name = NULL_IF_CONFIG_SMALL("3GPP Timed Text subtitle"),704 .p.long_name = NULL_IF_CONFIG_SMALL("3GPP Timed Text subtitle"),
705 .type = AVMEDIA_TYPE_SUBTITLE,705 .p.type = AVMEDIA_TYPE_SUBTITLE,
706 .id = AV_CODEC_ID_MOV_TEXT,706 .p.id = AV_CODEC_ID_MOV_TEXT,
707 .priv_data_size = sizeof(MovTextContext),707 .priv_data_size = sizeof(MovTextContext),
708 .priv_class = &mov_text_encoder_class,708 .p.priv_class = &mov_text_encoder_class,
709 .init = mov_text_encode_init,709 .init = mov_text_encode_init,
710 .encode_sub = mov_text_encode_frame,710 .encode_sub = mov_text_encode_frame,
711 .close = mov_text_encode_close,711 .close = mov_text_encode_close,
libavcodec/mpc7.c+7−7
@@ -310,18 +310,18 @@ static av_cold int mpc7_decode_close(AVCodecContext *avctx) · 309 unmodified lines
310 return 0;310 return 0;
311}311}
312 312
313const AVCodec ff_mpc7_decoder = {313const FFCodec ff_mpc7_decoder = {
314 .name = "mpc7",314 .p.name = "mpc7",
315 .long_name = NULL_IF_CONFIG_SMALL("Musepack SV7"),315 .p.long_name = NULL_IF_CONFIG_SMALL("Musepack SV7"),
316 .type = AVMEDIA_TYPE_AUDIO,316 .p.type = AVMEDIA_TYPE_AUDIO,
317 .id = AV_CODEC_ID_MUSEPACK7,317 .p.id = AV_CODEC_ID_MUSEPACK7,
318 .priv_data_size = sizeof(MPCContext),318 .priv_data_size = sizeof(MPCContext),
319 .init = mpc7_decode_init,319 .init = mpc7_decode_init,
320 .close = mpc7_decode_close,320 .close = mpc7_decode_close,
321 .decode = mpc7_decode_frame,321 .decode = mpc7_decode_frame,
322 .flush = mpc7_decode_flush,322 .flush = mpc7_decode_flush,
323 .capabilities = AV_CODEC_CAP_DR1,323 .p.capabilities = AV_CODEC_CAP_DR1,
324 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16P,324 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16P,
325 AV_SAMPLE_FMT_NONE },325 AV_SAMPLE_FMT_NONE },
326 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,326 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
327};327};
libavcodec/mpc8.c+7−7
@@ -384,17 +384,17 @@ static av_cold void mpc8_decode_flush(AVCodecContext *avctx) · 383 unmodified lines
384 c->cur_frame = 0;384 c->cur_frame = 0;
385}385}
386 386
387const AVCodec ff_mpc8_decoder = {387const FFCodec ff_mpc8_decoder = {
388 .name = "mpc8",388 .p.name = "mpc8",
389 .long_name = NULL_IF_CONFIG_SMALL("Musepack SV8"),389 .p.long_name = NULL_IF_CONFIG_SMALL("Musepack SV8"),
390 .type = AVMEDIA_TYPE_AUDIO,390 .p.type = AVMEDIA_TYPE_AUDIO,
391 .id = AV_CODEC_ID_MUSEPACK8,391 .p.id = AV_CODEC_ID_MUSEPACK8,
392 .priv_data_size = sizeof(MPCContext),392 .priv_data_size = sizeof(MPCContext),
393 .init = mpc8_decode_init,393 .init = mpc8_decode_init,
394 .decode = mpc8_decode_frame,394 .decode = mpc8_decode_frame,
395 .flush = mpc8_decode_flush,395 .flush = mpc8_decode_flush,
396 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,396 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
397 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16P,397 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16P,
398 AV_SAMPLE_FMT_NONE },398 AV_SAMPLE_FMT_NONE },
399 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,399 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
400};400};
libavcodec/mpeg12dec.c+28−28
@@ -2862,16 +2862,16 @@ static av_cold int mpeg_decode_end(AVCodecContext *avctx) · 2861 unmodified lines
2862 return 0;2862 return 0;
2863}2863}
2864 2864
2865const AVCodec ff_mpeg1video_decoder = {2865const FFCodec ff_mpeg1video_decoder = {
2866 .name = "mpeg1video",2866 .p.name = "mpeg1video",
2867 .long_name = NULL_IF_CONFIG_SMALL("MPEG-1 video"),2867 .p.long_name = NULL_IF_CONFIG_SMALL("MPEG-1 video"),
2868 .type = AVMEDIA_TYPE_VIDEO,2868 .p.type = AVMEDIA_TYPE_VIDEO,
2869 .id = AV_CODEC_ID_MPEG1VIDEO,2869 .p.id = AV_CODEC_ID_MPEG1VIDEO,
2870 .priv_data_size = sizeof(Mpeg1Context),2870 .priv_data_size = sizeof(Mpeg1Context),
2871 .init = mpeg_decode_init,2871 .init = mpeg_decode_init,
2872 .close = mpeg_decode_end,2872 .close = mpeg_decode_end,
2873 .decode = mpeg_decode_frame,2873 .decode = mpeg_decode_frame,
2874 .capabilities = AV_CODEC_CAP_DRAW_HORIZ_BAND | AV_CODEC_CAP_DR1 |2874 .p.capabilities = AV_CODEC_CAP_DRAW_HORIZ_BAND | AV_CODEC_CAP_DR1 |
2875#if FF_API_FLAG_TRUNCATED2875#if FF_API_FLAG_TRUNCATED
2876 AV_CODEC_CAP_TRUNCATED |2876 AV_CODEC_CAP_TRUNCATED |
2877#endif2877#endif
@@ -2879,7 +2879,7 @@ const AVCodec ff_mpeg1video_decoder = { · 1 unmodified line
2879 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |2879 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |
2880 FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM,2880 FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM,
2881 .flush = flush,2881 .flush = flush,
2882 .max_lowres = 3,2882 .p.max_lowres = 3,
2883 .update_thread_context = ONLY_IF_THREADS_ENABLED(mpeg_decode_update_thread_context),2883 .update_thread_context = ONLY_IF_THREADS_ENABLED(mpeg_decode_update_thread_context),
2884 .hw_configs = (const AVCodecHWConfigInternal *const []) {2884 .hw_configs = (const AVCodecHWConfigInternal *const []) {
2885#if CONFIG_MPEG1_NVDEC_HWACCEL2885#if CONFIG_MPEG1_NVDEC_HWACCEL
@@ -2895,16 +2895,16 @@ const AVCodec ff_mpeg1video_decoder = { · 9 unmodified lines
2895 },2895 },
2896};2896};
2897 2897
2898const AVCodec ff_mpeg2video_decoder = {2898const FFCodec ff_mpeg2video_decoder = {
2899 .name = "mpeg2video",2899 .p.name = "mpeg2video",
2900 .long_name = NULL_IF_CONFIG_SMALL("MPEG-2 video"),2900 .p.long_name = NULL_IF_CONFIG_SMALL("MPEG-2 video"),
2901 .type = AVMEDIA_TYPE_VIDEO,2901 .p.type = AVMEDIA_TYPE_VIDEO,
2902 .id = AV_CODEC_ID_MPEG2VIDEO,2902 .p.id = AV_CODEC_ID_MPEG2VIDEO,
2903 .priv_data_size = sizeof(Mpeg1Context),2903 .priv_data_size = sizeof(Mpeg1Context),
2904 .init = mpeg_decode_init,2904 .init = mpeg_decode_init,
2905 .close = mpeg_decode_end,2905 .close = mpeg_decode_end,
2906 .decode = mpeg_decode_frame,2906 .decode = mpeg_decode_frame,
2907 .capabilities = AV_CODEC_CAP_DRAW_HORIZ_BAND | AV_CODEC_CAP_DR1 |2907 .p.capabilities = AV_CODEC_CAP_DRAW_HORIZ_BAND | AV_CODEC_CAP_DR1 |
2908#if FF_API_FLAG_TRUNCATED2908#if FF_API_FLAG_TRUNCATED
2909 AV_CODEC_CAP_TRUNCATED |2909 AV_CODEC_CAP_TRUNCATED |
2910#endif2910#endif
@@ -2912,8 +2912,8 @@ const AVCodec ff_mpeg2video_decoder = { · 1 unmodified line
2912 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |2912 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |
2913 FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM,2913 FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM,
2914 .flush = flush,2914 .flush = flush,
2915 .max_lowres = 3,2915 .p.max_lowres = 3,
2916 .profiles = NULL_IF_CONFIG_SMALL(ff_mpeg2_video_profiles),2916 .p.profiles = NULL_IF_CONFIG_SMALL(ff_mpeg2_video_profiles),
2917 .hw_configs = (const AVCodecHWConfigInternal *const []) {2917 .hw_configs = (const AVCodecHWConfigInternal *const []) {
2918#if CONFIG_MPEG2_DXVA2_HWACCEL2918#if CONFIG_MPEG2_DXVA2_HWACCEL
2919 HWACCEL_DXVA2(mpeg2),2919 HWACCEL_DXVA2(mpeg2),
@@ -2941,16 +2941,16 @@ const AVCodec ff_mpeg2video_decoder = { · 21 unmodified lines
2941};2941};
2942 2942
2943//legacy decoder2943//legacy decoder
2944const AVCodec ff_mpegvideo_decoder = {2944const FFCodec ff_mpegvideo_decoder = {
2945 .name = "mpegvideo",2945 .p.name = "mpegvideo",
2946 .long_name = NULL_IF_CONFIG_SMALL("MPEG-1 video"),2946 .p.long_name = NULL_IF_CONFIG_SMALL("MPEG-1 video"),
2947 .type = AVMEDIA_TYPE_VIDEO,2947 .p.type = AVMEDIA_TYPE_VIDEO,
2948 .id = AV_CODEC_ID_MPEG2VIDEO,2948 .p.id = AV_CODEC_ID_MPEG2VIDEO,
2949 .priv_data_size = sizeof(Mpeg1Context),2949 .priv_data_size = sizeof(Mpeg1Context),
2950 .init = mpeg_decode_init,2950 .init = mpeg_decode_init,
2951 .close = mpeg_decode_end,2951 .close = mpeg_decode_end,
2952 .decode = mpeg_decode_frame,2952 .decode = mpeg_decode_frame,
2953 .capabilities = AV_CODEC_CAP_DRAW_HORIZ_BAND | AV_CODEC_CAP_DR1 |2953 .p.capabilities = AV_CODEC_CAP_DRAW_HORIZ_BAND | AV_CODEC_CAP_DR1 |
2954#if FF_API_FLAG_TRUNCATED2954#if FF_API_FLAG_TRUNCATED
2955 AV_CODEC_CAP_TRUNCATED |2955 AV_CODEC_CAP_TRUNCATED |
2956#endif2956#endif
@@ -2958,7 +2958,7 @@ const AVCodec ff_mpegvideo_decoder = { · 1 unmodified line
2958 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |2958 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |
2959 FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM,2959 FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM,
2960 .flush = flush,2960 .flush = flush,
2961 .max_lowres = 3,2961 .p.max_lowres = 3,
2962};2962};
2963 2963
2964typedef struct IPUContext {2964typedef struct IPUContext {
@@ -3107,15 +3107,15 @@ static av_cold int ipu_decode_end(AVCodecContext *avctx) · 142 unmodified lines
3107 return 0;3107 return 0;
3108}3108}
3109 3109
3110const AVCodec ff_ipu_decoder = {3110const FFCodec ff_ipu_decoder = {
3111 .name = "ipu",3111 .p.name = "ipu",
3112 .long_name = NULL_IF_CONFIG_SMALL("IPU Video"),3112 .p.long_name = NULL_IF_CONFIG_SMALL("IPU Video"),
3113 .type = AVMEDIA_TYPE_VIDEO,3113 .p.type = AVMEDIA_TYPE_VIDEO,
3114 .id = AV_CODEC_ID_IPU,3114 .p.id = AV_CODEC_ID_IPU,
3115 .priv_data_size = sizeof(IPUContext),3115 .priv_data_size = sizeof(IPUContext),
3116 .init = ipu_decode_init,3116 .init = ipu_decode_init,
3117 .decode = ipu_decode_frame,3117 .decode = ipu_decode_frame,
3118 .close = ipu_decode_end,3118 .close = ipu_decode_end,
3119 .capabilities = AV_CODEC_CAP_DR1,3119 .p.capabilities = AV_CODEC_CAP_DR1,
3120 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,3120 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
3121};3121};
libavcodec/mpeg12enc.c+18−18
@@ -1225,38 +1225,38 @@ static const AVClass mpeg ## x ## _class = { \ · 1224 unmodified lines
1225mpeg12_class(1)1225mpeg12_class(1)
1226mpeg12_class(2)1226mpeg12_class(2)
1227 1227
1228const AVCodec ff_mpeg1video_encoder = {1228const FFCodec ff_mpeg1video_encoder = {
1229 .name = "mpeg1video",1229 .p.name = "mpeg1video",
1230 .long_name = NULL_IF_CONFIG_SMALL("MPEG-1 video"),1230 .p.long_name = NULL_IF_CONFIG_SMALL("MPEG-1 video"),
1231 .type = AVMEDIA_TYPE_VIDEO,1231 .p.type = AVMEDIA_TYPE_VIDEO,
1232 .id = AV_CODEC_ID_MPEG1VIDEO,1232 .p.id = AV_CODEC_ID_MPEG1VIDEO,
1233 .priv_data_size = sizeof(MPEG12EncContext),1233 .priv_data_size = sizeof(MPEG12EncContext),
1234 .init = encode_init,1234 .init = encode_init,
1235 .encode2 = ff_mpv_encode_picture,1235 .encode2 = ff_mpv_encode_picture,
1236 .close = ff_mpv_encode_end,1236 .close = ff_mpv_encode_end,
1237 .supported_framerates = ff_mpeg12_frame_rate_tab + 1,1237 .p.supported_framerates = ff_mpeg12_frame_rate_tab + 1,
1238 .pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P,1238 .p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P,
1239 AV_PIX_FMT_NONE },1239 AV_PIX_FMT_NONE },
1240 .capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_SLICE_THREADS,1240 .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_SLICE_THREADS,
1241 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,1241 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
1242 .priv_class = &mpeg1_class,1242 .p.priv_class = &mpeg1_class,
1243};1243};
1244 1244
1245const AVCodec ff_mpeg2video_encoder = {1245const FFCodec ff_mpeg2video_encoder = {
1246 .name = "mpeg2video",1246 .p.name = "mpeg2video",
1247 .long_name = NULL_IF_CONFIG_SMALL("MPEG-2 video"),1247 .p.long_name = NULL_IF_CONFIG_SMALL("MPEG-2 video"),
1248 .type = AVMEDIA_TYPE_VIDEO,1248 .p.type = AVMEDIA_TYPE_VIDEO,
1249 .id = AV_CODEC_ID_MPEG2VIDEO,1249 .p.id = AV_CODEC_ID_MPEG2VIDEO,
1250 .priv_data_size = sizeof(MPEG12EncContext),1250 .priv_data_size = sizeof(MPEG12EncContext),
1251 .init = encode_init,1251 .init = encode_init,
1252 .encode2 = ff_mpv_encode_picture,1252 .encode2 = ff_mpv_encode_picture,
1253 .close = ff_mpv_encode_end,1253 .close = ff_mpv_encode_end,
1254 .supported_framerates = ff_mpeg2_frame_rate_tab,1254 .p.supported_framerates = ff_mpeg2_frame_rate_tab,
1255 .pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P,1255 .p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P,
1256 AV_PIX_FMT_YUV422P,1256 AV_PIX_FMT_YUV422P,
1257 AV_PIX_FMT_NONE },1257 AV_PIX_FMT_NONE },
1258 .capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_SLICE_THREADS,1258 .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_SLICE_THREADS,
1259 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,1259 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
1260 .priv_class = &mpeg2_class,1260 .p.priv_class = &mpeg2_class,
1261};1261};
1262#endif /* CONFIG_MPEG1VIDEO_ENCODER || CONFIG_MPEG2VIDEO_ENCODER */1262#endif /* CONFIG_MPEG1VIDEO_ENCODER || CONFIG_MPEG2VIDEO_ENCODER */
libavcodec/mpeg4videodec.c+10−10
@@ -3662,16 +3662,16 @@ static const AVClass mpeg4_class = { · 3661 unmodified lines
3662 .version = LIBAVUTIL_VERSION_INT,3662 .version = LIBAVUTIL_VERSION_INT,
3663};3663};
3664 3664
3665const AVCodec ff_mpeg4_decoder = {3665const FFCodec ff_mpeg4_decoder = {
3666 .name = "mpeg4",3666 .p.name = "mpeg4",
3667 .long_name = NULL_IF_CONFIG_SMALL("MPEG-4 part 2"),3667 .p.long_name = NULL_IF_CONFIG_SMALL("MPEG-4 part 2"),
3668 .type = AVMEDIA_TYPE_VIDEO,3668 .p.type = AVMEDIA_TYPE_VIDEO,
3669 .id = AV_CODEC_ID_MPEG4,3669 .p.id = AV_CODEC_ID_MPEG4,
3670 .priv_data_size = sizeof(Mpeg4DecContext),3670 .priv_data_size = sizeof(Mpeg4DecContext),
3671 .init = decode_init,3671 .init = decode_init,
3672 .close = ff_h263_decode_end,3672 .close = ff_h263_decode_end,
3673 .decode = ff_h263_decode_frame,3673 .decode = ff_h263_decode_frame,
3674 .capabilities = AV_CODEC_CAP_DRAW_HORIZ_BAND | AV_CODEC_CAP_DR1 |3674 .p.capabilities = AV_CODEC_CAP_DRAW_HORIZ_BAND | AV_CODEC_CAP_DR1 |
3675#if FF_API_FLAG_TRUNCATED3675#if FF_API_FLAG_TRUNCATED
3676 AV_CODEC_CAP_TRUNCATED |3676 AV_CODEC_CAP_TRUNCATED |
3677#endif3677#endif
@@ -3680,12 +3680,12 @@ const AVCodec ff_mpeg4_decoder = { · 2 unmodified lines
3680 FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM |3680 FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM |
3681 FF_CODEC_CAP_ALLOCATE_PROGRESS,3681 FF_CODEC_CAP_ALLOCATE_PROGRESS,
3682 .flush = ff_mpeg_flush,3682 .flush = ff_mpeg_flush,
3683 .max_lowres = 3,3683 .p.max_lowres = 3,
3684 .pix_fmts = ff_h263_hwaccel_pixfmt_list_420,3684 .p.pix_fmts = ff_h263_hwaccel_pixfmt_list_420,
3685 .profiles = NULL_IF_CONFIG_SMALL(ff_mpeg4_video_profiles),3685 .p.profiles = NULL_IF_CONFIG_SMALL(ff_mpeg4_video_profiles),
3686 .update_thread_context = ONLY_IF_THREADS_ENABLED(mpeg4_update_thread_context),3686 .update_thread_context = ONLY_IF_THREADS_ENABLED(mpeg4_update_thread_context),
3687 .update_thread_context_for_user = ONLY_IF_THREADS_ENABLED(mpeg4_update_thread_context_for_user),3687 .update_thread_context_for_user = ONLY_IF_THREADS_ENABLED(mpeg4_update_thread_context_for_user),
3688 .priv_class = &mpeg4_class,3688 .p.priv_class = &mpeg4_class,
3689 .hw_configs = (const AVCodecHWConfigInternal *const []) {3689 .hw_configs = (const AVCodecHWConfigInternal *const []) {
3690#if CONFIG_MPEG4_NVDEC_HWACCEL3690#if CONFIG_MPEG4_NVDEC_HWACCEL
3691 HWACCEL_NVDEC(mpeg4),3691 HWACCEL_NVDEC(mpeg4),
libavcodec/mpeg4videoenc.c+8−8
@@ -1394,17 +1394,17 @@ static const AVClass mpeg4enc_class = { · 1393 unmodified lines
1394 .version = LIBAVUTIL_VERSION_INT,1394 .version = LIBAVUTIL_VERSION_INT,
1395};1395};
1396 1396
1397const AVCodec ff_mpeg4_encoder = {1397const FFCodec ff_mpeg4_encoder = {
1398 .name = "mpeg4",1398 .p.name = "mpeg4",
1399 .long_name = NULL_IF_CONFIG_SMALL("MPEG-4 part 2"),1399 .p.long_name = NULL_IF_CONFIG_SMALL("MPEG-4 part 2"),
1400 .type = AVMEDIA_TYPE_VIDEO,1400 .p.type = AVMEDIA_TYPE_VIDEO,
1401 .id = AV_CODEC_ID_MPEG4,1401 .p.id = AV_CODEC_ID_MPEG4,
1402 .priv_data_size = sizeof(MpegEncContext),1402 .priv_data_size = sizeof(MpegEncContext),
1403 .init = encode_init,1403 .init = encode_init,
1404 .encode2 = ff_mpv_encode_picture,1404 .encode2 = ff_mpv_encode_picture,
1405 .close = ff_mpv_encode_end,1405 .close = ff_mpv_encode_end,
1406 .pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE },1406 .p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE },
1407 .capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_SLICE_THREADS,1407 .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_SLICE_THREADS,
1408 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,1408 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
1409 .priv_class = &mpeg4enc_class,1409 .p.priv_class = &mpeg4enc_class,
1410};1410};
libavcodec/mpegaudiodec_fixed.c+35−35
@@ -61,91 +61,91 @@ static const int32_t csa_table[8][4] = { · 60 unmodified lines
61#include "mpegaudiodec_template.c"61#include "mpegaudiodec_template.c"
62 62
63#if CONFIG_MP1_DECODER63#if CONFIG_MP1_DECODER
64const AVCodec ff_mp1_decoder = {64const FFCodec ff_mp1_decoder = {
65 .name = "mp1",65 .p.name = "mp1",
66 .long_name = NULL_IF_CONFIG_SMALL("MP1 (MPEG audio layer 1)"),66 .p.long_name = NULL_IF_CONFIG_SMALL("MP1 (MPEG audio layer 1)"),
67 .type = AVMEDIA_TYPE_AUDIO,67 .p.type = AVMEDIA_TYPE_AUDIO,
68 .id = AV_CODEC_ID_MP1,68 .p.id = AV_CODEC_ID_MP1,
69 .priv_data_size = sizeof(MPADecodeContext),69 .priv_data_size = sizeof(MPADecodeContext),
70 .init = decode_init,70 .init = decode_init,
71 .decode = decode_frame,71 .decode = decode_frame,
72 .capabilities = AV_CODEC_CAP_CHANNEL_CONF |72 .p.capabilities = AV_CODEC_CAP_CHANNEL_CONF |
73 AV_CODEC_CAP_DR1,73 AV_CODEC_CAP_DR1,
74 .flush = flush,74 .flush = flush,
75 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16P,75 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16P,
76 AV_SAMPLE_FMT_S16,76 AV_SAMPLE_FMT_S16,
77 AV_SAMPLE_FMT_NONE },77 AV_SAMPLE_FMT_NONE },
78 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,78 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
79};79};
80#endif80#endif
81#if CONFIG_MP2_DECODER81#if CONFIG_MP2_DECODER
82const AVCodec ff_mp2_decoder = {82const FFCodec ff_mp2_decoder = {
83 .name = "mp2",83 .p.name = "mp2",
84 .long_name = NULL_IF_CONFIG_SMALL("MP2 (MPEG audio layer 2)"),84 .p.long_name = NULL_IF_CONFIG_SMALL("MP2 (MPEG audio layer 2)"),
85 .type = AVMEDIA_TYPE_AUDIO,85 .p.type = AVMEDIA_TYPE_AUDIO,
86 .id = AV_CODEC_ID_MP2,86 .p.id = AV_CODEC_ID_MP2,
87 .priv_data_size = sizeof(MPADecodeContext),87 .priv_data_size = sizeof(MPADecodeContext),
88 .init = decode_init,88 .init = decode_init,
89 .decode = decode_frame,89 .decode = decode_frame,
90 .capabilities = AV_CODEC_CAP_CHANNEL_CONF |90 .p.capabilities = AV_CODEC_CAP_CHANNEL_CONF |
91 AV_CODEC_CAP_DR1,91 AV_CODEC_CAP_DR1,
92 .flush = flush,92 .flush = flush,
93 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16P,93 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16P,
94 AV_SAMPLE_FMT_S16,94 AV_SAMPLE_FMT_S16,
95 AV_SAMPLE_FMT_NONE },95 AV_SAMPLE_FMT_NONE },
96 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,96 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
97};97};
98#endif98#endif
99#if CONFIG_MP3_DECODER99#if CONFIG_MP3_DECODER
100const AVCodec ff_mp3_decoder = {100const FFCodec ff_mp3_decoder = {
101 .name = "mp3",101 .p.name = "mp3",
102 .long_name = NULL_IF_CONFIG_SMALL("MP3 (MPEG audio layer 3)"),102 .p.long_name = NULL_IF_CONFIG_SMALL("MP3 (MPEG audio layer 3)"),
103 .type = AVMEDIA_TYPE_AUDIO,103 .p.type = AVMEDIA_TYPE_AUDIO,
104 .id = AV_CODEC_ID_MP3,104 .p.id = AV_CODEC_ID_MP3,
105 .priv_data_size = sizeof(MPADecodeContext),105 .priv_data_size = sizeof(MPADecodeContext),
106 .init = decode_init,106 .init = decode_init,
107 .decode = decode_frame,107 .decode = decode_frame,
108 .capabilities = AV_CODEC_CAP_CHANNEL_CONF |108 .p.capabilities = AV_CODEC_CAP_CHANNEL_CONF |
109 AV_CODEC_CAP_DR1,109 AV_CODEC_CAP_DR1,
110 .flush = flush,110 .flush = flush,
111 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16P,111 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16P,
112 AV_SAMPLE_FMT_S16,112 AV_SAMPLE_FMT_S16,
113 AV_SAMPLE_FMT_NONE },113 AV_SAMPLE_FMT_NONE },
114 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,114 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
115};115};
116#endif116#endif
117#if CONFIG_MP3ADU_DECODER117#if CONFIG_MP3ADU_DECODER
118const AVCodec ff_mp3adu_decoder = {118const FFCodec ff_mp3adu_decoder = {
119 .name = "mp3adu",119 .p.name = "mp3adu",
120 .long_name = NULL_IF_CONFIG_SMALL("ADU (Application Data Unit) MP3 (MPEG audio layer 3)"),120 .p.long_name = NULL_IF_CONFIG_SMALL("ADU (Application Data Unit) MP3 (MPEG audio layer 3)"),
121 .type = AVMEDIA_TYPE_AUDIO,121 .p.type = AVMEDIA_TYPE_AUDIO,
122 .id = AV_CODEC_ID_MP3ADU,122 .p.id = AV_CODEC_ID_MP3ADU,
123 .priv_data_size = sizeof(MPADecodeContext),123 .priv_data_size = sizeof(MPADecodeContext),
124 .init = decode_init,124 .init = decode_init,
125 .decode = decode_frame_adu,125 .decode = decode_frame_adu,
126 .capabilities = AV_CODEC_CAP_CHANNEL_CONF |126 .p.capabilities = AV_CODEC_CAP_CHANNEL_CONF |
127 AV_CODEC_CAP_DR1,127 AV_CODEC_CAP_DR1,
128 .flush = flush,128 .flush = flush,
129 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16P,129 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16P,
130 AV_SAMPLE_FMT_S16,130 AV_SAMPLE_FMT_S16,
131 AV_SAMPLE_FMT_NONE },131 AV_SAMPLE_FMT_NONE },
132 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,132 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
133};133};
134#endif134#endif
135#if CONFIG_MP3ON4_DECODER135#if CONFIG_MP3ON4_DECODER
136const AVCodec ff_mp3on4_decoder = {136const FFCodec ff_mp3on4_decoder = {
137 .name = "mp3on4",137 .p.name = "mp3on4",
138 .long_name = NULL_IF_CONFIG_SMALL("MP3onMP4"),138 .p.long_name = NULL_IF_CONFIG_SMALL("MP3onMP4"),
139 .type = AVMEDIA_TYPE_AUDIO,139 .p.type = AVMEDIA_TYPE_AUDIO,
140 .id = AV_CODEC_ID_MP3ON4,140 .p.id = AV_CODEC_ID_MP3ON4,
141 .priv_data_size = sizeof(MP3On4DecodeContext),141 .priv_data_size = sizeof(MP3On4DecodeContext),
142 .init = decode_init_mp3on4,142 .init = decode_init_mp3on4,
143 .close = decode_close_mp3on4,143 .close = decode_close_mp3on4,
144 .decode = decode_frame_mp3on4,144 .decode = decode_frame_mp3on4,
145 .capabilities = AV_CODEC_CAP_CHANNEL_CONF |145 .p.capabilities = AV_CODEC_CAP_CHANNEL_CONF |
146 AV_CODEC_CAP_DR1,146 AV_CODEC_CAP_DR1,
147 .flush = flush_mp3on4,147 .flush = flush_mp3on4,
148 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16P,148 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16P,
149 AV_SAMPLE_FMT_NONE },149 AV_SAMPLE_FMT_NONE },
150 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,150 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
151};151};
libavcodec/mpegaudiodec_float.c+35−35
@@ -74,91 +74,91 @@ static const float csa_table[8][4] = { · 73 unmodified lines
74#include "mpegaudiodec_template.c"74#include "mpegaudiodec_template.c"
75 75
76#if CONFIG_MP1FLOAT_DECODER76#if CONFIG_MP1FLOAT_DECODER
77const AVCodec ff_mp1float_decoder = {77const FFCodec ff_mp1float_decoder = {
78 .name = "mp1float",78 .p.name = "mp1float",
79 .long_name = NULL_IF_CONFIG_SMALL("MP1 (MPEG audio layer 1)"),79 .p.long_name = NULL_IF_CONFIG_SMALL("MP1 (MPEG audio layer 1)"),
80 .type = AVMEDIA_TYPE_AUDIO,80 .p.type = AVMEDIA_TYPE_AUDIO,
81 .id = AV_CODEC_ID_MP1,81 .p.id = AV_CODEC_ID_MP1,
82 .priv_data_size = sizeof(MPADecodeContext),82 .priv_data_size = sizeof(MPADecodeContext),
83 .init = decode_init,83 .init = decode_init,
84 .decode = decode_frame,84 .decode = decode_frame,
85 .capabilities = AV_CODEC_CAP_CHANNEL_CONF |85 .p.capabilities = AV_CODEC_CAP_CHANNEL_CONF |
86 AV_CODEC_CAP_DR1,86 AV_CODEC_CAP_DR1,
87 .flush = flush,87 .flush = flush,
88 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,88 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
89 AV_SAMPLE_FMT_FLT,89 AV_SAMPLE_FMT_FLT,
90 AV_SAMPLE_FMT_NONE },90 AV_SAMPLE_FMT_NONE },
91 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,91 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
92};92};
93#endif93#endif
94#if CONFIG_MP2FLOAT_DECODER94#if CONFIG_MP2FLOAT_DECODER
95const AVCodec ff_mp2float_decoder = {95const FFCodec ff_mp2float_decoder = {
96 .name = "mp2float",96 .p.name = "mp2float",
97 .long_name = NULL_IF_CONFIG_SMALL("MP2 (MPEG audio layer 2)"),97 .p.long_name = NULL_IF_CONFIG_SMALL("MP2 (MPEG audio layer 2)"),
98 .type = AVMEDIA_TYPE_AUDIO,98 .p.type = AVMEDIA_TYPE_AUDIO,
99 .id = AV_CODEC_ID_MP2,99 .p.id = AV_CODEC_ID_MP2,
100 .priv_data_size = sizeof(MPADecodeContext),100 .priv_data_size = sizeof(MPADecodeContext),
101 .init = decode_init,101 .init = decode_init,
102 .decode = decode_frame,102 .decode = decode_frame,
103 .capabilities = AV_CODEC_CAP_CHANNEL_CONF |103 .p.capabilities = AV_CODEC_CAP_CHANNEL_CONF |
104 AV_CODEC_CAP_DR1,104 AV_CODEC_CAP_DR1,
105 .flush = flush,105 .flush = flush,
106 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,106 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
107 AV_SAMPLE_FMT_FLT,107 AV_SAMPLE_FMT_FLT,
108 AV_SAMPLE_FMT_NONE },108 AV_SAMPLE_FMT_NONE },
109 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,109 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
110};110};
111#endif111#endif
112#if CONFIG_MP3FLOAT_DECODER112#if CONFIG_MP3FLOAT_DECODER
113const AVCodec ff_mp3float_decoder = {113const FFCodec ff_mp3float_decoder = {
114 .name = "mp3float",114 .p.name = "mp3float",
115 .long_name = NULL_IF_CONFIG_SMALL("MP3 (MPEG audio layer 3)"),115 .p.long_name = NULL_IF_CONFIG_SMALL("MP3 (MPEG audio layer 3)"),
116 .type = AVMEDIA_TYPE_AUDIO,116 .p.type = AVMEDIA_TYPE_AUDIO,
117 .id = AV_CODEC_ID_MP3,117 .p.id = AV_CODEC_ID_MP3,
118 .priv_data_size = sizeof(MPADecodeContext),118 .priv_data_size = sizeof(MPADecodeContext),
119 .init = decode_init,119 .init = decode_init,
120 .decode = decode_frame,120 .decode = decode_frame,
121 .capabilities = AV_CODEC_CAP_CHANNEL_CONF |121 .p.capabilities = AV_CODEC_CAP_CHANNEL_CONF |
122 AV_CODEC_CAP_DR1,122 AV_CODEC_CAP_DR1,
123 .flush = flush,123 .flush = flush,
124 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,124 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
125 AV_SAMPLE_FMT_FLT,125 AV_SAMPLE_FMT_FLT,
126 AV_SAMPLE_FMT_NONE },126 AV_SAMPLE_FMT_NONE },
127 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,127 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
128};128};
129#endif129#endif
130#if CONFIG_MP3ADUFLOAT_DECODER130#if CONFIG_MP3ADUFLOAT_DECODER
131const AVCodec ff_mp3adufloat_decoder = {131const FFCodec ff_mp3adufloat_decoder = {
132 .name = "mp3adufloat",132 .p.name = "mp3adufloat",
133 .long_name = NULL_IF_CONFIG_SMALL("ADU (Application Data Unit) MP3 (MPEG audio layer 3)"),133 .p.long_name = NULL_IF_CONFIG_SMALL("ADU (Application Data Unit) MP3 (MPEG audio layer 3)"),
134 .type = AVMEDIA_TYPE_AUDIO,134 .p.type = AVMEDIA_TYPE_AUDIO,
135 .id = AV_CODEC_ID_MP3ADU,135 .p.id = AV_CODEC_ID_MP3ADU,
136 .priv_data_size = sizeof(MPADecodeContext),136 .priv_data_size = sizeof(MPADecodeContext),
137 .init = decode_init,137 .init = decode_init,
138 .decode = decode_frame_adu,138 .decode = decode_frame_adu,
139 .capabilities = AV_CODEC_CAP_CHANNEL_CONF |139 .p.capabilities = AV_CODEC_CAP_CHANNEL_CONF |
140 AV_CODEC_CAP_DR1,140 AV_CODEC_CAP_DR1,
141 .flush = flush,141 .flush = flush,
142 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,142 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
143 AV_SAMPLE_FMT_FLT,143 AV_SAMPLE_FMT_FLT,
144 AV_SAMPLE_FMT_NONE },144 AV_SAMPLE_FMT_NONE },
145 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,145 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
146};146};
147#endif147#endif
148#if CONFIG_MP3ON4FLOAT_DECODER148#if CONFIG_MP3ON4FLOAT_DECODER
149const AVCodec ff_mp3on4float_decoder = {149const FFCodec ff_mp3on4float_decoder = {
150 .name = "mp3on4float",150 .p.name = "mp3on4float",
151 .long_name = NULL_IF_CONFIG_SMALL("MP3onMP4"),151 .p.long_name = NULL_IF_CONFIG_SMALL("MP3onMP4"),
152 .type = AVMEDIA_TYPE_AUDIO,152 .p.type = AVMEDIA_TYPE_AUDIO,
153 .id = AV_CODEC_ID_MP3ON4,153 .p.id = AV_CODEC_ID_MP3ON4,
154 .priv_data_size = sizeof(MP3On4DecodeContext),154 .priv_data_size = sizeof(MP3On4DecodeContext),
155 .init = decode_init_mp3on4,155 .init = decode_init_mp3on4,
156 .close = decode_close_mp3on4,156 .close = decode_close_mp3on4,
157 .decode = decode_frame_mp3on4,157 .decode = decode_frame_mp3on4,
158 .capabilities = AV_CODEC_CAP_CHANNEL_CONF |158 .p.capabilities = AV_CODEC_CAP_CHANNEL_CONF |
159 AV_CODEC_CAP_DR1,159 AV_CODEC_CAP_DR1,
160 .flush = flush_mp3on4,160 .flush = flush_mp3on4,
161 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,161 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
162 AV_SAMPLE_FMT_NONE },162 AV_SAMPLE_FMT_NONE },
163 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,163 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
164};164};
libavcodec/mpegaudioenc_fixed.c+9−9
@@ -23,25 +23,25 @@ · 22 unmodified lines
23#include "codec_internal.h"23#include "codec_internal.h"
24#include "mpegaudioenc_template.c"24#include "mpegaudioenc_template.c"
25 25
26const AVCodec ff_mp2fixed_encoder = {26const FFCodec ff_mp2fixed_encoder = {
27 .name = "mp2fixed",27 .p.name = "mp2fixed",
28 .long_name = NULL_IF_CONFIG_SMALL("MP2 fixed point (MPEG audio layer 2)"),28 .p.long_name = NULL_IF_CONFIG_SMALL("MP2 fixed point (MPEG audio layer 2)"),
29 .type = AVMEDIA_TYPE_AUDIO,29 .p.type = AVMEDIA_TYPE_AUDIO,
30 .id = AV_CODEC_ID_MP2,30 .p.id = AV_CODEC_ID_MP2,
31 .priv_data_size = sizeof(MpegAudioContext),31 .priv_data_size = sizeof(MpegAudioContext),
32 .init = MPA_encode_init,32 .init = MPA_encode_init,
33 .encode2 = MPA_encode_frame,33 .encode2 = MPA_encode_frame,
34 .sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16,34 .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16,
35 AV_SAMPLE_FMT_NONE },35 AV_SAMPLE_FMT_NONE },
36 .supported_samplerates = (const int[]){36 .p.supported_samplerates = (const int[]){
37 44100, 48000, 32000, 22050, 24000, 16000, 037 44100, 48000, 32000, 22050, 24000, 16000, 0
38 },38 },
39#if FF_API_OLD_CHANNEL_LAYOUT39#if FF_API_OLD_CHANNEL_LAYOUT
40 .channel_layouts = (const uint64_t[]){ AV_CH_LAYOUT_MONO,40 .p.channel_layouts = (const uint64_t[]){ AV_CH_LAYOUT_MONO,
41 AV_CH_LAYOUT_STEREO,41 AV_CH_LAYOUT_STEREO,
42 0 },42 0 },
43#endif43#endif
44 .ch_layouts = (const AVChannelLayout[]){ AV_CHANNEL_LAYOUT_MONO,44 .p.ch_layouts = (const AVChannelLayout[]){ AV_CHANNEL_LAYOUT_MONO,
45 AV_CHANNEL_LAYOUT_STEREO,45 AV_CHANNEL_LAYOUT_STEREO,
46 { 0 } },46 { 0 } },
47 .defaults = mp2_defaults,47 .defaults = mp2_defaults,
libavcodec/mpegaudioenc_float.c+9−9
@@ -24,25 +24,25 @@ · 23 unmodified lines
24#include "codec_internal.h"24#include "codec_internal.h"
25#include "mpegaudioenc_template.c"25#include "mpegaudioenc_template.c"
26 26
27const AVCodec ff_mp2_encoder = {27const FFCodec ff_mp2_encoder = {
28 .name = "mp2",28 .p.name = "mp2",
29 .long_name = NULL_IF_CONFIG_SMALL("MP2 (MPEG audio layer 2)"),29 .p.long_name = NULL_IF_CONFIG_SMALL("MP2 (MPEG audio layer 2)"),
30 .type = AVMEDIA_TYPE_AUDIO,30 .p.type = AVMEDIA_TYPE_AUDIO,
31 .id = AV_CODEC_ID_MP2,31 .p.id = AV_CODEC_ID_MP2,
32 .priv_data_size = sizeof(MpegAudioContext),32 .priv_data_size = sizeof(MpegAudioContext),
33 .init = MPA_encode_init,33 .init = MPA_encode_init,
34 .encode2 = MPA_encode_frame,34 .encode2 = MPA_encode_frame,
35 .sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16,35 .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16,
36 AV_SAMPLE_FMT_NONE },36 AV_SAMPLE_FMT_NONE },
37 .supported_samplerates = (const int[]){37 .p.supported_samplerates = (const int[]){
38 44100, 48000, 32000, 22050, 24000, 16000, 038 44100, 48000, 32000, 22050, 24000, 16000, 0
39 },39 },
40#if FF_API_OLD_CHANNEL_LAYOUT40#if FF_API_OLD_CHANNEL_LAYOUT
41 .channel_layouts = (const uint64_t[]){ AV_CH_LAYOUT_MONO,41 .p.channel_layouts = (const uint64_t[]){ AV_CH_LAYOUT_MONO,
42 AV_CH_LAYOUT_STEREO,42 AV_CH_LAYOUT_STEREO,
43 0 },43 0 },
44#endif44#endif
45 .ch_layouts = (const AVChannelLayout[]){ AV_CHANNEL_LAYOUT_MONO,45 .p.ch_layouts = (const AVChannelLayout[]){ AV_CHANNEL_LAYOUT_MONO,
46 AV_CHANNEL_LAYOUT_STEREO,46 AV_CHANNEL_LAYOUT_STEREO,
47 { 0 } },47 { 0 } },
48 .defaults = mp2_defaults,48 .defaults = mp2_defaults,
libavcodec/mpl2dec.c+5−5
@@ -82,11 +82,11 @@ static int mpl2_decode_frame(AVCodecContext *avctx, void *data, · 81 unmodified lines
82 return avpkt->size;82 return avpkt->size;
83}83}
84 84
85const AVCodec ff_mpl2_decoder = {85const FFCodec ff_mpl2_decoder = {
86 .name = "mpl2",86 .p.name = "mpl2",
87 .long_name = NULL_IF_CONFIG_SMALL("MPL2 subtitle"),87 .p.long_name = NULL_IF_CONFIG_SMALL("MPL2 subtitle"),
88 .type = AVMEDIA_TYPE_SUBTITLE,88 .p.type = AVMEDIA_TYPE_SUBTITLE,
89 .id = AV_CODEC_ID_MPL2,89 .p.id = AV_CODEC_ID_MPL2,
90 .decode = mpl2_decode_frame,90 .decode = mpl2_decode_frame,
91 .init = ff_ass_subtitle_header_default,91 .init = ff_ass_subtitle_header_default,
92 .flush = ff_ass_decoder_flush,92 .flush = ff_ass_decoder_flush,
libavcodec/mscc.c+12−12
@@ -246,28 +246,28 @@ static av_cold int decode_close(AVCodecContext *avctx) · 245 unmodified lines
246 return 0;246 return 0;
247}247}
248 248
249const AVCodec ff_mscc_decoder = {249const FFCodec ff_mscc_decoder = {
250 .name = "mscc",250 .p.name = "mscc",
251 .long_name = NULL_IF_CONFIG_SMALL("Mandsoft Screen Capture Codec"),251 .p.long_name = NULL_IF_CONFIG_SMALL("Mandsoft Screen Capture Codec"),
252 .type = AVMEDIA_TYPE_VIDEO,252 .p.type = AVMEDIA_TYPE_VIDEO,
253 .id = AV_CODEC_ID_MSCC,253 .p.id = AV_CODEC_ID_MSCC,
254 .priv_data_size = sizeof(MSCCContext),254 .priv_data_size = sizeof(MSCCContext),
255 .init = decode_init,255 .init = decode_init,
256 .close = decode_close,256 .close = decode_close,
257 .decode = decode_frame,257 .decode = decode_frame,
258 .capabilities = AV_CODEC_CAP_DR1,258 .p.capabilities = AV_CODEC_CAP_DR1,
259 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,259 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
260};260};
261 261
262const AVCodec ff_srgc_decoder = {262const FFCodec ff_srgc_decoder = {
263 .name = "srgc",263 .p.name = "srgc",
264 .long_name = NULL_IF_CONFIG_SMALL("Screen Recorder Gold Codec"),264 .p.long_name = NULL_IF_CONFIG_SMALL("Screen Recorder Gold Codec"),
265 .type = AVMEDIA_TYPE_VIDEO,265 .p.type = AVMEDIA_TYPE_VIDEO,
266 .id = AV_CODEC_ID_SRGC,266 .p.id = AV_CODEC_ID_SRGC,
267 .priv_data_size = sizeof(MSCCContext),267 .priv_data_size = sizeof(MSCCContext),
268 .init = decode_init,268 .init = decode_init,
269 .close = decode_close,269 .close = decode_close,
270 .decode = decode_frame,270 .decode = decode_frame,
271 .capabilities = AV_CODEC_CAP_DR1,271 .p.capabilities = AV_CODEC_CAP_DR1,
272 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,272 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
273};273};
libavcodec/msmpeg4dec.c+32−32
@@ -864,77 +864,77 @@ void ff_msmpeg4_decode_motion(MpegEncContext *s, int *mx_ptr, int *my_ptr) · 863 unmodified lines
864 *my_ptr = my;864 *my_ptr = my;
865}865}
866 866
867const AVCodec ff_msmpeg4v1_decoder = {867const FFCodec ff_msmpeg4v1_decoder = {
868 .name = "msmpeg4v1",868 .p.name = "msmpeg4v1",
869 .long_name = NULL_IF_CONFIG_SMALL("MPEG-4 part 2 Microsoft variant version 1"),869 .p.long_name = NULL_IF_CONFIG_SMALL("MPEG-4 part 2 Microsoft variant version 1"),
870 .type = AVMEDIA_TYPE_VIDEO,870 .p.type = AVMEDIA_TYPE_VIDEO,
871 .id = AV_CODEC_ID_MSMPEG4V1,871 .p.id = AV_CODEC_ID_MSMPEG4V1,
872 .priv_data_size = sizeof(MpegEncContext),872 .priv_data_size = sizeof(MpegEncContext),
873 .init = ff_msmpeg4_decode_init,873 .init = ff_msmpeg4_decode_init,
874 .close = ff_h263_decode_end,874 .close = ff_h263_decode_end,
875 .decode = ff_h263_decode_frame,875 .decode = ff_h263_decode_frame,
876 .capabilities = AV_CODEC_CAP_DRAW_HORIZ_BAND | AV_CODEC_CAP_DR1,876 .p.capabilities = AV_CODEC_CAP_DRAW_HORIZ_BAND | AV_CODEC_CAP_DR1,
877 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |877 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |
878 FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM,878 FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM,
879 .max_lowres = 3,879 .p.max_lowres = 3,
880 .pix_fmts = (const enum AVPixelFormat[]) {880 .p.pix_fmts = (const enum AVPixelFormat[]) {
881 AV_PIX_FMT_YUV420P,881 AV_PIX_FMT_YUV420P,
882 AV_PIX_FMT_NONE882 AV_PIX_FMT_NONE
883 },883 },
884};884};
885 885
886const AVCodec ff_msmpeg4v2_decoder = {886const FFCodec ff_msmpeg4v2_decoder = {
887 .name = "msmpeg4v2",887 .p.name = "msmpeg4v2",
888 .long_name = NULL_IF_CONFIG_SMALL("MPEG-4 part 2 Microsoft variant version 2"),888 .p.long_name = NULL_IF_CONFIG_SMALL("MPEG-4 part 2 Microsoft variant version 2"),
889 .type = AVMEDIA_TYPE_VIDEO,889 .p.type = AVMEDIA_TYPE_VIDEO,
890 .id = AV_CODEC_ID_MSMPEG4V2,890 .p.id = AV_CODEC_ID_MSMPEG4V2,
891 .priv_data_size = sizeof(MpegEncContext),891 .priv_data_size = sizeof(MpegEncContext),
892 .init = ff_msmpeg4_decode_init,892 .init = ff_msmpeg4_decode_init,
893 .close = ff_h263_decode_end,893 .close = ff_h263_decode_end,
894 .decode = ff_h263_decode_frame,894 .decode = ff_h263_decode_frame,
895 .capabilities = AV_CODEC_CAP_DRAW_HORIZ_BAND | AV_CODEC_CAP_DR1,895 .p.capabilities = AV_CODEC_CAP_DRAW_HORIZ_BAND | AV_CODEC_CAP_DR1,
896 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |896 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |
897 FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM,897 FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM,
898 .max_lowres = 3,898 .p.max_lowres = 3,
899 .pix_fmts = (const enum AVPixelFormat[]) {899 .p.pix_fmts = (const enum AVPixelFormat[]) {
900 AV_PIX_FMT_YUV420P,900 AV_PIX_FMT_YUV420P,
901 AV_PIX_FMT_NONE901 AV_PIX_FMT_NONE
902 },902 },
903};903};
904 904
905const AVCodec ff_msmpeg4v3_decoder = {905const FFCodec ff_msmpeg4v3_decoder = {
906 .name = "msmpeg4",906 .p.name = "msmpeg4",
907 .long_name = NULL_IF_CONFIG_SMALL("MPEG-4 part 2 Microsoft variant version 3"),907 .p.long_name = NULL_IF_CONFIG_SMALL("MPEG-4 part 2 Microsoft variant version 3"),
908 .type = AVMEDIA_TYPE_VIDEO,908 .p.type = AVMEDIA_TYPE_VIDEO,
909 .id = AV_CODEC_ID_MSMPEG4V3,909 .p.id = AV_CODEC_ID_MSMPEG4V3,
910 .priv_data_size = sizeof(MpegEncContext),910 .priv_data_size = sizeof(MpegEncContext),
911 .init = ff_msmpeg4_decode_init,911 .init = ff_msmpeg4_decode_init,
912 .close = ff_h263_decode_end,912 .close = ff_h263_decode_end,
913 .decode = ff_h263_decode_frame,913 .decode = ff_h263_decode_frame,
914 .capabilities = AV_CODEC_CAP_DRAW_HORIZ_BAND | AV_CODEC_CAP_DR1,914 .p.capabilities = AV_CODEC_CAP_DRAW_HORIZ_BAND | AV_CODEC_CAP_DR1,
915 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |915 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |
916 FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM,916 FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM,
917 .max_lowres = 3,917 .p.max_lowres = 3,
918 .pix_fmts = (const enum AVPixelFormat[]) {918 .p.pix_fmts = (const enum AVPixelFormat[]) {
919 AV_PIX_FMT_YUV420P,919 AV_PIX_FMT_YUV420P,
920 AV_PIX_FMT_NONE920 AV_PIX_FMT_NONE
921 },921 },
922};922};
923 923
924const AVCodec ff_wmv1_decoder = {924const FFCodec ff_wmv1_decoder = {
925 .name = "wmv1",925 .p.name = "wmv1",
926 .long_name = NULL_IF_CONFIG_SMALL("Windows Media Video 7"),926 .p.long_name = NULL_IF_CONFIG_SMALL("Windows Media Video 7"),
927 .type = AVMEDIA_TYPE_VIDEO,927 .p.type = AVMEDIA_TYPE_VIDEO,
928 .id = AV_CODEC_ID_WMV1,928 .p.id = AV_CODEC_ID_WMV1,
929 .priv_data_size = sizeof(MpegEncContext),929 .priv_data_size = sizeof(MpegEncContext),
930 .init = ff_msmpeg4_decode_init,930 .init = ff_msmpeg4_decode_init,
931 .close = ff_h263_decode_end,931 .close = ff_h263_decode_end,
932 .decode = ff_h263_decode_frame,932 .decode = ff_h263_decode_frame,
933 .capabilities = AV_CODEC_CAP_DRAW_HORIZ_BAND | AV_CODEC_CAP_DR1,933 .p.capabilities = AV_CODEC_CAP_DRAW_HORIZ_BAND | AV_CODEC_CAP_DR1,
934 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |934 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |
935 FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM,935 FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM,
936 .max_lowres = 3,936 .p.max_lowres = 3,
937 .pix_fmts = (const enum AVPixelFormat[]) {937 .p.pix_fmts = (const enum AVPixelFormat[]) {
938 AV_PIX_FMT_YUV420P,938 AV_PIX_FMT_YUV420P,
939 AV_PIX_FMT_NONE939 AV_PIX_FMT_NONE
940 },940 },
libavcodec/msmpeg4enc.c+21−21
@@ -676,13 +676,13 @@ void ff_msmpeg4_encode_block(MpegEncContext * s, int16_t * block, int n) · 675 unmodified lines
676 }676 }
677}677}
678 678
679const AVCodec ff_msmpeg4v2_encoder = {679const FFCodec ff_msmpeg4v2_encoder = {
680 .name = "msmpeg4v2",680 .p.name = "msmpeg4v2",
681 .long_name = NULL_IF_CONFIG_SMALL("MPEG-4 part 2 Microsoft variant version 2"),681 .p.long_name = NULL_IF_CONFIG_SMALL("MPEG-4 part 2 Microsoft variant version 2"),
682 .type = AVMEDIA_TYPE_VIDEO,682 .p.type = AVMEDIA_TYPE_VIDEO,
683 .id = AV_CODEC_ID_MSMPEG4V2,683 .p.id = AV_CODEC_ID_MSMPEG4V2,
684 .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE },684 .p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE },
685 .priv_class = &ff_mpv_enc_class,685 .p.priv_class = &ff_mpv_enc_class,
686 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,686 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
687 .priv_data_size = sizeof(MSMPEG4EncContext),687 .priv_data_size = sizeof(MSMPEG4EncContext),
688 .init = ff_mpv_encode_init,688 .init = ff_mpv_encode_init,
@@ -690,13 +690,13 @@ const AVCodec ff_msmpeg4v2_encoder = { · 1 unmodified line
690 .close = ff_mpv_encode_end,690 .close = ff_mpv_encode_end,
691};691};
692 692
693const AVCodec ff_msmpeg4v3_encoder = {693const FFCodec ff_msmpeg4v3_encoder = {
694 .name = "msmpeg4",694 .p.name = "msmpeg4",
695 .long_name = NULL_IF_CONFIG_SMALL("MPEG-4 part 2 Microsoft variant version 3"),695 .p.long_name = NULL_IF_CONFIG_SMALL("MPEG-4 part 2 Microsoft variant version 3"),
696 .type = AVMEDIA_TYPE_VIDEO,696 .p.type = AVMEDIA_TYPE_VIDEO,
697 .id = AV_CODEC_ID_MSMPEG4V3,697 .p.id = AV_CODEC_ID_MSMPEG4V3,
698 .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE },698 .p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE },
699 .priv_class = &ff_mpv_enc_class,699 .p.priv_class = &ff_mpv_enc_class,
700 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,700 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
701 .priv_data_size = sizeof(MSMPEG4EncContext),701 .priv_data_size = sizeof(MSMPEG4EncContext),
702 .init = ff_mpv_encode_init,702 .init = ff_mpv_encode_init,
@@ -704,13 +704,13 @@ const AVCodec ff_msmpeg4v3_encoder = { · 1 unmodified line
704 .close = ff_mpv_encode_end,704 .close = ff_mpv_encode_end,
705};705};
706 706
707const AVCodec ff_wmv1_encoder = {707const FFCodec ff_wmv1_encoder = {
708 .name = "wmv1",708 .p.name = "wmv1",
709 .long_name = NULL_IF_CONFIG_SMALL("Windows Media Video 7"),709 .p.long_name = NULL_IF_CONFIG_SMALL("Windows Media Video 7"),
710 .type = AVMEDIA_TYPE_VIDEO,710 .p.type = AVMEDIA_TYPE_VIDEO,
711 .id = AV_CODEC_ID_WMV1,711 .p.id = AV_CODEC_ID_WMV1,
712 .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE },712 .p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE },
713 .priv_class = &ff_mpv_enc_class,713 .p.priv_class = &ff_mpv_enc_class,
714 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,714 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
715 .priv_data_size = sizeof(MSMPEG4EncContext),715 .priv_data_size = sizeof(MSMPEG4EncContext),
716 .init = ff_mpv_encode_init,716 .init = ff_mpv_encode_init,
libavcodec/msp2dec.c+7−6
@@ -26,6 +26,7 @@ · 25 unmodified lines
26 26
27#include "avcodec.h"27#include "avcodec.h"
28#include "bytestream.h"28#include "bytestream.h"
29#include "codec_internal.h"
29#include "internal.h"30#include "internal.h"
30 31
31static int msp2_decode_frame(AVCodecContext *avctx,32static int msp2_decode_frame(AVCodecContext *avctx,
@@ -93,11 +94,11 @@ static int msp2_decode_frame(AVCodecContext *avctx, · 61 unmodified lines
93 return buf_size;94 return buf_size;
94}95}
95 96
96const AVCodec ff_msp2_decoder = {97const FFCodec ff_msp2_decoder = {
97 .name = "msp2",98 .p.name = "msp2",
98 .long_name = NULL_IF_CONFIG_SMALL("Microsoft Paint (MSP) version 2"),99 .p.long_name = NULL_IF_CONFIG_SMALL("Microsoft Paint (MSP) version 2"),
99 .type = AVMEDIA_TYPE_VIDEO,100 .p.type = AVMEDIA_TYPE_VIDEO,
100 .id = AV_CODEC_ID_MSP2,101 .p.id = AV_CODEC_ID_MSP2,
102 .p.capabilities = AV_CODEC_CAP_DR1,
101 .decode = msp2_decode_frame,103 .decode = msp2_decode_frame,
102 .capabilities = AV_CODEC_CAP_DR1,
103};104};
libavcodec/msrle.c+6−6
@@ -160,16 +160,16 @@ static av_cold int msrle_decode_end(AVCodecContext *avctx) · 159 unmodified lines
160 return 0;160 return 0;
161}161}
162 162
163const AVCodec ff_msrle_decoder = {163const FFCodec ff_msrle_decoder = {
164 .name = "msrle",164 .p.name = "msrle",
165 .long_name = NULL_IF_CONFIG_SMALL("Microsoft RLE"),165 .p.long_name = NULL_IF_CONFIG_SMALL("Microsoft RLE"),
166 .type = AVMEDIA_TYPE_VIDEO,166 .p.type = AVMEDIA_TYPE_VIDEO,
167 .id = AV_CODEC_ID_MSRLE,167 .p.id = AV_CODEC_ID_MSRLE,
168 .priv_data_size = sizeof(MsrleContext),168 .priv_data_size = sizeof(MsrleContext),
169 .init = msrle_decode_init,169 .init = msrle_decode_init,
170 .close = msrle_decode_end,170 .close = msrle_decode_end,
171 .decode = msrle_decode_frame,171 .decode = msrle_decode_frame,
172 .flush = msrle_decode_flush,172 .flush = msrle_decode_flush,
173 .capabilities = AV_CODEC_CAP_DR1,173 .p.capabilities = AV_CODEC_CAP_DR1,
174 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,174 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
175};175};
libavcodec/mss1.c+6−6
@@ -219,15 +219,15 @@ static av_cold int mss1_decode_end(AVCodecContext *avctx) · 218 unmodified lines
219 return 0;219 return 0;
220}220}
221 221
222const AVCodec ff_mss1_decoder = {222const FFCodec ff_mss1_decoder = {
223 .name = "mss1",223 .p.name = "mss1",
224 .long_name = NULL_IF_CONFIG_SMALL("MS Screen 1"),224 .p.long_name = NULL_IF_CONFIG_SMALL("MS Screen 1"),
225 .type = AVMEDIA_TYPE_VIDEO,225 .p.type = AVMEDIA_TYPE_VIDEO,
226 .id = AV_CODEC_ID_MSS1,226 .p.id = AV_CODEC_ID_MSS1,
227 .priv_data_size = sizeof(MSS1Context),227 .priv_data_size = sizeof(MSS1Context),
228 .init = mss1_decode_init,228 .init = mss1_decode_init,
229 .close = mss1_decode_end,229 .close = mss1_decode_end,
230 .decode = mss1_decode_frame,230 .decode = mss1_decode_frame,
231 .capabilities = AV_CODEC_CAP_DR1,231 .p.capabilities = AV_CODEC_CAP_DR1,
232 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,232 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
233};233};
libavcodec/mss2.c+6−6
@@ -847,15 +847,15 @@ static av_cold int mss2_decode_init(AVCodecContext *avctx) · 846 unmodified lines
847 return 0;847 return 0;
848}848}
849 849
850const AVCodec ff_mss2_decoder = {850const FFCodec ff_mss2_decoder = {
851 .name = "mss2",851 .p.name = "mss2",
852 .long_name = NULL_IF_CONFIG_SMALL("MS Windows Media Video V9 Screen"),852 .p.long_name = NULL_IF_CONFIG_SMALL("MS Windows Media Video V9 Screen"),
853 .type = AVMEDIA_TYPE_VIDEO,853 .p.type = AVMEDIA_TYPE_VIDEO,
854 .id = AV_CODEC_ID_MSS2,854 .p.id = AV_CODEC_ID_MSS2,
855 .priv_data_size = sizeof(MSS2Context),855 .priv_data_size = sizeof(MSS2Context),
856 .init = mss2_decode_init,856 .init = mss2_decode_init,
857 .close = mss2_decode_end,857 .close = mss2_decode_end,
858 .decode = mss2_decode_frame,858 .decode = mss2_decode_frame,
859 .capabilities = AV_CODEC_CAP_DR1,859 .p.capabilities = AV_CODEC_CAP_DR1,
860 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,860 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
861};861};
libavcodec/mss3.c+6−6
@@ -860,15 +860,15 @@ static av_cold int mss3_decode_init(AVCodecContext *avctx) · 859 unmodified lines
860 return 0;860 return 0;
861}861}
862 862
863const AVCodec ff_msa1_decoder = {863const FFCodec ff_msa1_decoder = {
864 .name = "msa1",864 .p.name = "msa1",
865 .long_name = NULL_IF_CONFIG_SMALL("MS ATC Screen"),865 .p.long_name = NULL_IF_CONFIG_SMALL("MS ATC Screen"),
866 .type = AVMEDIA_TYPE_VIDEO,866 .p.type = AVMEDIA_TYPE_VIDEO,
867 .id = AV_CODEC_ID_MSA1,867 .p.id = AV_CODEC_ID_MSA1,
868 .priv_data_size = sizeof(MSS3Context),868 .priv_data_size = sizeof(MSS3Context),
869 .init = mss3_decode_init,869 .init = mss3_decode_init,
870 .close = mss3_decode_end,870 .close = mss3_decode_end,
871 .decode = mss3_decode_frame,871 .decode = mss3_decode_frame,
872 .capabilities = AV_CODEC_CAP_DR1,872 .p.capabilities = AV_CODEC_CAP_DR1,
873 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,873 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
874};874};
libavcodec/mss4.c+6−6
@@ -605,15 +605,15 @@ static av_cold int mss4_decode_init(AVCodecContext *avctx) · 604 unmodified lines
605 return 0;605 return 0;
606}606}
607 607
608const AVCodec ff_mts2_decoder = {608const FFCodec ff_mts2_decoder = {
609 .name = "mts2",609 .p.name = "mts2",
610 .long_name = NULL_IF_CONFIG_SMALL("MS Expression Encoder Screen"),610 .p.long_name = NULL_IF_CONFIG_SMALL("MS Expression Encoder Screen"),
611 .type = AVMEDIA_TYPE_VIDEO,611 .p.type = AVMEDIA_TYPE_VIDEO,
612 .id = AV_CODEC_ID_MTS2,612 .p.id = AV_CODEC_ID_MTS2,
613 .priv_data_size = sizeof(MSS4Context),613 .priv_data_size = sizeof(MSS4Context),
614 .init = mss4_decode_init,614 .init = mss4_decode_init,
615 .close = mss4_decode_end,615 .close = mss4_decode_end,
616 .decode = mss4_decode_frame,616 .decode = mss4_decode_frame,
617 .capabilities = AV_CODEC_CAP_DR1,617 .p.capabilities = AV_CODEC_CAP_DR1,
618 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_INIT_THREADSAFE,618 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_INIT_THREADSAFE,
619};619};
libavcodec/msvideo1.c+6−6
@@ -342,15 +342,15 @@ static av_cold int msvideo1_decode_end(AVCodecContext *avctx) · 341 unmodified lines
342 return 0;342 return 0;
343}343}
344 344
345const AVCodec ff_msvideo1_decoder = {345const FFCodec ff_msvideo1_decoder = {
346 .name = "msvideo1",346 .p.name = "msvideo1",
347 .long_name = NULL_IF_CONFIG_SMALL("Microsoft Video 1"),347 .p.long_name = NULL_IF_CONFIG_SMALL("Microsoft Video 1"),
348 .type = AVMEDIA_TYPE_VIDEO,348 .p.type = AVMEDIA_TYPE_VIDEO,
349 .id = AV_CODEC_ID_MSVIDEO1,349 .p.id = AV_CODEC_ID_MSVIDEO1,
350 .priv_data_size = sizeof(Msvideo1Context),350 .priv_data_size = sizeof(Msvideo1Context),
351 .init = msvideo1_decode_init,351 .init = msvideo1_decode_init,
352 .close = msvideo1_decode_end,352 .close = msvideo1_decode_end,
353 .decode = msvideo1_decode_frame,353 .decode = msvideo1_decode_frame,
354 .capabilities = AV_CODEC_CAP_DR1,354 .p.capabilities = AV_CODEC_CAP_DR1,
355 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,355 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
356};356};
libavcodec/msvideo1enc.c+6−6
@@ -302,15 +302,15 @@ static av_cold int encode_end(AVCodecContext *avctx) · 301 unmodified lines
302 return 0;302 return 0;
303}303}
304 304
305const AVCodec ff_msvideo1_encoder = {305const FFCodec ff_msvideo1_encoder = {
306 .name = "msvideo1",306 .p.name = "msvideo1",
307 .long_name = NULL_IF_CONFIG_SMALL("Microsoft Video-1"),307 .p.long_name = NULL_IF_CONFIG_SMALL("Microsoft Video-1"),
308 .type = AVMEDIA_TYPE_VIDEO,308 .p.type = AVMEDIA_TYPE_VIDEO,
309 .id = AV_CODEC_ID_MSVIDEO1,309 .p.id = AV_CODEC_ID_MSVIDEO1,
310 .priv_data_size = sizeof(Msvideo1EncContext),310 .priv_data_size = sizeof(Msvideo1EncContext),
311 .init = encode_init,311 .init = encode_init,
312 .encode2 = encode_frame,312 .encode2 = encode_frame,
313 .close = encode_end,313 .close = encode_end,
314 .pix_fmts = (const enum AVPixelFormat[]){AV_PIX_FMT_RGB555, AV_PIX_FMT_NONE},314 .p.pix_fmts = (const enum AVPixelFormat[]){AV_PIX_FMT_RGB555, AV_PIX_FMT_NONE},
315 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,315 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
316};316};
libavcodec/mv30.c+6−6
@@ -703,17 +703,17 @@ static av_cold int decode_close(AVCodecContext *avctx) · 702 unmodified lines
703 return 0;703 return 0;
704}704}
705 705
706const AVCodec ff_mv30_decoder = {706const FFCodec ff_mv30_decoder = {
707 .name = "mv30",707 .p.name = "mv30",
708 .long_name = NULL_IF_CONFIG_SMALL("MidiVid 3.0"),708 .p.long_name = NULL_IF_CONFIG_SMALL("MidiVid 3.0"),
709 .type = AVMEDIA_TYPE_VIDEO,709 .p.type = AVMEDIA_TYPE_VIDEO,
710 .id = AV_CODEC_ID_MV30,710 .p.id = AV_CODEC_ID_MV30,
711 .priv_data_size = sizeof(MV30Context),711 .priv_data_size = sizeof(MV30Context),
712 .init = decode_init,712 .init = decode_init,
713 .close = decode_close,713 .close = decode_close,
714 .decode = decode_frame,714 .decode = decode_frame,
715 .flush = decode_flush,715 .flush = decode_flush,
716 .capabilities = AV_CODEC_CAP_DR1,716 .p.capabilities = AV_CODEC_CAP_DR1,
717 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |717 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |
718 FF_CODEC_CAP_INIT_CLEANUP,718 FF_CODEC_CAP_INIT_CLEANUP,
719};719};
libavcodec/mvcdec.c+12−12
@@ -256,29 +256,29 @@ static int mvc_decode_frame(AVCodecContext *avctx, void *data, int *got_frame, · 255 unmodified lines
256}256}
257 257
258#if CONFIG_MVC1_DECODER258#if CONFIG_MVC1_DECODER
259const AVCodec ff_mvc1_decoder = {259const FFCodec ff_mvc1_decoder = {
260 .name = "mvc1",260 .p.name = "mvc1",
261 .long_name = NULL_IF_CONFIG_SMALL("Silicon Graphics Motion Video Compressor 1"),261 .p.long_name = NULL_IF_CONFIG_SMALL("Silicon Graphics Motion Video Compressor 1"),
262 .type = AVMEDIA_TYPE_VIDEO,262 .p.type = AVMEDIA_TYPE_VIDEO,
263 .id = AV_CODEC_ID_MVC1,263 .p.id = AV_CODEC_ID_MVC1,
264 .priv_data_size = sizeof(MvcContext),264 .priv_data_size = sizeof(MvcContext),
265 .init = mvc_decode_init,265 .init = mvc_decode_init,
266 .decode = mvc_decode_frame,266 .decode = mvc_decode_frame,
267 .capabilities = AV_CODEC_CAP_DR1,267 .p.capabilities = AV_CODEC_CAP_DR1,
268 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,268 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
269};269};
270#endif270#endif
271 271
272#if CONFIG_MVC2_DECODER272#if CONFIG_MVC2_DECODER
273const AVCodec ff_mvc2_decoder = {273const FFCodec ff_mvc2_decoder = {
274 .name = "mvc2",274 .p.name = "mvc2",
275 .long_name = NULL_IF_CONFIG_SMALL("Silicon Graphics Motion Video Compressor 2"),275 .p.long_name = NULL_IF_CONFIG_SMALL("Silicon Graphics Motion Video Compressor 2"),
276 .type = AVMEDIA_TYPE_VIDEO,276 .p.type = AVMEDIA_TYPE_VIDEO,
277 .id = AV_CODEC_ID_MVC2,277 .p.id = AV_CODEC_ID_MVC2,
278 .priv_data_size = sizeof(MvcContext),278 .priv_data_size = sizeof(MvcContext),
279 .init = mvc_decode_init,279 .init = mvc_decode_init,
280 .decode = mvc_decode_frame,280 .decode = mvc_decode_frame,
281 .capabilities = AV_CODEC_CAP_DR1,281 .p.capabilities = AV_CODEC_CAP_DR1,
282 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,282 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
283};283};
284#endif284#endif
libavcodec/mvha.c+6−6
@@ -300,16 +300,16 @@ static av_cold int decode_close(AVCodecContext *avctx) · 299 unmodified lines
300 return 0;300 return 0;
301}301}
302 302
303const AVCodec ff_mvha_decoder = {303const FFCodec ff_mvha_decoder = {
304 .name = "mvha",304 .p.name = "mvha",
305 .long_name = NULL_IF_CONFIG_SMALL("MidiVid Archive Codec"),305 .p.long_name = NULL_IF_CONFIG_SMALL("MidiVid Archive Codec"),
306 .type = AVMEDIA_TYPE_VIDEO,306 .p.type = AVMEDIA_TYPE_VIDEO,
307 .id = AV_CODEC_ID_MVHA,307 .p.id = AV_CODEC_ID_MVHA,
308 .priv_data_size = sizeof(MVHAContext),308 .priv_data_size = sizeof(MVHAContext),
309 .init = decode_init,309 .init = decode_init,
310 .close = decode_close,310 .close = decode_close,
311 .decode = decode_frame,311 .decode = decode_frame,
312 .capabilities = AV_CODEC_CAP_DR1,312 .p.capabilities = AV_CODEC_CAP_DR1,
313 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |313 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |
314 FF_CODEC_CAP_INIT_CLEANUP,314 FF_CODEC_CAP_INIT_CLEANUP,
315};315};
libavcodec/mwsc.c+6−6
@@ -170,16 +170,16 @@ static av_cold int decode_close(AVCodecContext *avctx) · 169 unmodified lines
170 return 0;170 return 0;
171}171}
172 172
173const AVCodec ff_mwsc_decoder = {173const FFCodec ff_mwsc_decoder = {
174 .name = "mwsc",174 .p.name = "mwsc",
175 .long_name = NULL_IF_CONFIG_SMALL("MatchWare Screen Capture Codec"),175 .p.long_name = NULL_IF_CONFIG_SMALL("MatchWare Screen Capture Codec"),
176 .type = AVMEDIA_TYPE_VIDEO,176 .p.type = AVMEDIA_TYPE_VIDEO,
177 .id = AV_CODEC_ID_MWSC,177 .p.id = AV_CODEC_ID_MWSC,
178 .priv_data_size = sizeof(MWSCContext),178 .priv_data_size = sizeof(MWSCContext),
179 .init = decode_init,179 .init = decode_init,
180 .close = decode_close,180 .close = decode_close,
181 .decode = decode_frame,181 .decode = decode_frame,
182 .capabilities = AV_CODEC_CAP_DR1,182 .p.capabilities = AV_CODEC_CAP_DR1,
183 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |183 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |
184 FF_CODEC_CAP_INIT_CLEANUP,184 FF_CODEC_CAP_INIT_CLEANUP,
185};185};
libavcodec/mxpegdec.c+7−7
@@ -343,16 +343,16 @@ the_end: · 342 unmodified lines
343 return buf_ptr - buf;343 return buf_ptr - buf;
344}344}
345 345
346const AVCodec ff_mxpeg_decoder = {346const FFCodec ff_mxpeg_decoder = {
347 .name = "mxpeg",347 .p.name = "mxpeg",
348 .long_name = NULL_IF_CONFIG_SMALL("Mobotix MxPEG video"),348 .p.long_name = NULL_IF_CONFIG_SMALL("Mobotix MxPEG video"),
349 .type = AVMEDIA_TYPE_VIDEO,349 .p.type = AVMEDIA_TYPE_VIDEO,
350 .id = AV_CODEC_ID_MXPEG,350 .p.id = AV_CODEC_ID_MXPEG,
351 .priv_data_size = sizeof(MXpegDecodeContext),351 .priv_data_size = sizeof(MXpegDecodeContext),
352 .init = mxpeg_decode_init,352 .init = mxpeg_decode_init,
353 .close = mxpeg_decode_end,353 .close = mxpeg_decode_end,
354 .decode = mxpeg_decode_frame,354 .decode = mxpeg_decode_frame,
355 .capabilities = AV_CODEC_CAP_DR1,355 .p.capabilities = AV_CODEC_CAP_DR1,
356 .max_lowres = 3,356 .p.max_lowres = 3,
357 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,357 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
358};358};
libavcodec/nellymoserdec.c+7−7
@@ -187,17 +187,17 @@ static av_cold int decode_end(AVCodecContext * avctx) { · 186 unmodified lines
187 return 0;187 return 0;
188}188}
189 189
190const AVCodec ff_nellymoser_decoder = {190const FFCodec ff_nellymoser_decoder = {
191 .name = "nellymoser",191 .p.name = "nellymoser",
192 .long_name = NULL_IF_CONFIG_SMALL("Nellymoser Asao"),192 .p.long_name = NULL_IF_CONFIG_SMALL("Nellymoser Asao"),
193 .type = AVMEDIA_TYPE_AUDIO,193 .p.type = AVMEDIA_TYPE_AUDIO,
194 .id = AV_CODEC_ID_NELLYMOSER,194 .p.id = AV_CODEC_ID_NELLYMOSER,
195 .priv_data_size = sizeof(NellyMoserDecodeContext),195 .priv_data_size = sizeof(NellyMoserDecodeContext),
196 .init = decode_init,196 .init = decode_init,
197 .close = decode_end,197 .close = decode_end,
198 .decode = decode_tag,198 .decode = decode_tag,
199 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_PARAM_CHANGE | AV_CODEC_CAP_CHANNEL_CONF,199 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_PARAM_CHANGE | AV_CODEC_CAP_CHANNEL_CONF,
200 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLT,200 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLT,
201 AV_SAMPLE_FMT_NONE },201 AV_SAMPLE_FMT_NONE },
202 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,202 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
203};203};
libavcodec/nellymoserenc.c+8−8
@@ -413,19 +413,19 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *avpkt, · 412 unmodified lines
413 return 0;413 return 0;
414}414}
415 415
416const AVCodec ff_nellymoser_encoder = {416const FFCodec ff_nellymoser_encoder = {
417 .name = "nellymoser",417 .p.name = "nellymoser",
418 .long_name = NULL_IF_CONFIG_SMALL("Nellymoser Asao"),418 .p.long_name = NULL_IF_CONFIG_SMALL("Nellymoser Asao"),
419 .type = AVMEDIA_TYPE_AUDIO,419 .p.type = AVMEDIA_TYPE_AUDIO,
420 .id = AV_CODEC_ID_NELLYMOSER,420 .p.id = AV_CODEC_ID_NELLYMOSER,
421 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY |421 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY |
422 AV_CODEC_CAP_SMALL_LAST_FRAME,422 AV_CODEC_CAP_SMALL_LAST_FRAME,
423 .priv_data_size = sizeof(NellyMoserEncodeContext),423 .priv_data_size = sizeof(NellyMoserEncodeContext),
424 .init = encode_init,424 .init = encode_init,
425 .encode2 = encode_frame,425 .encode2 = encode_frame,
426 .close = encode_end,426 .close = encode_end,
427 .sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_FLT,427 .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_FLT,
428 AV_SAMPLE_FMT_NONE },428 AV_SAMPLE_FMT_NONE },
429 .ch_layouts = (const AVChannelLayout[]){ AV_CHANNEL_LAYOUT_MONO, { 0 } },429 .p.ch_layouts = (const AVChannelLayout[]){ AV_CHANNEL_LAYOUT_MONO, { 0 } },
430 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,430 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
431};431};
libavcodec/notchlc.c+6−6
@@ -537,15 +537,15 @@ static av_cold int decode_end(AVCodecContext *avctx) · 536 unmodified lines
537 return 0;537 return 0;
538}538}
539 539
540const AVCodec ff_notchlc_decoder = {540const FFCodec ff_notchlc_decoder = {
541 .name = "notchlc",541 .p.name = "notchlc",
542 .long_name = NULL_IF_CONFIG_SMALL("NotchLC"),542 .p.long_name = NULL_IF_CONFIG_SMALL("NotchLC"),
543 .type = AVMEDIA_TYPE_VIDEO,543 .p.type = AVMEDIA_TYPE_VIDEO,
544 .id = AV_CODEC_ID_NOTCHLC,544 .p.id = AV_CODEC_ID_NOTCHLC,
545 .priv_data_size = sizeof(NotchLCContext),545 .priv_data_size = sizeof(NotchLCContext),
546 .init = decode_init,546 .init = decode_init,
547 .close = decode_end,547 .close = decode_end,
548 .decode = decode_frame,548 .decode = decode_frame,
549 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,549 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
550 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,550 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
551};551};
libavcodec/nuv.c+6−6
@@ -363,15 +363,15 @@ static av_cold int decode_end(AVCodecContext *avctx) · 362 unmodified lines
363 return 0;363 return 0;
364}364}
365 365
366const AVCodec ff_nuv_decoder = {366const FFCodec ff_nuv_decoder = {
367 .name = "nuv",367 .p.name = "nuv",
368 .long_name = NULL_IF_CONFIG_SMALL("NuppelVideo/RTJPEG"),368 .p.long_name = NULL_IF_CONFIG_SMALL("NuppelVideo/RTJPEG"),
369 .type = AVMEDIA_TYPE_VIDEO,369 .p.type = AVMEDIA_TYPE_VIDEO,
370 .id = AV_CODEC_ID_NUV,370 .p.id = AV_CODEC_ID_NUV,
371 .priv_data_size = sizeof(NuvContext),371 .priv_data_size = sizeof(NuvContext),
372 .init = decode_init,372 .init = decode_init,
373 .close = decode_end,373 .close = decode_end,
374 .decode = decode_frame,374 .decode = decode_frame,
375 .capabilities = AV_CODEC_CAP_DR1,375 .p.capabilities = AV_CODEC_CAP_DR1,
376 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,376 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
377};377};
libavcodec/nvenc_h264.c+9−9
@@ -219,22 +219,22 @@ static const AVClass h264_nvenc_class = { · 218 unmodified lines
219 .version = LIBAVUTIL_VERSION_INT,219 .version = LIBAVUTIL_VERSION_INT,
220};220};
221 221
222const AVCodec ff_h264_nvenc_encoder = {222const FFCodec ff_h264_nvenc_encoder = {
223 .name = "h264_nvenc",223 .p.name = "h264_nvenc",
224 .long_name = NULL_IF_CONFIG_SMALL("NVIDIA NVENC H.264 encoder"),224 .p.long_name = NULL_IF_CONFIG_SMALL("NVIDIA NVENC H.264 encoder"),
225 .type = AVMEDIA_TYPE_VIDEO,225 .p.type = AVMEDIA_TYPE_VIDEO,
226 .id = AV_CODEC_ID_H264,226 .p.id = AV_CODEC_ID_H264,
227 .init = ff_nvenc_encode_init,227 .init = ff_nvenc_encode_init,
228 .receive_packet = ff_nvenc_receive_packet,228 .receive_packet = ff_nvenc_receive_packet,
229 .close = ff_nvenc_encode_close,229 .close = ff_nvenc_encode_close,
230 .flush = ff_nvenc_encode_flush,230 .flush = ff_nvenc_encode_flush,
231 .priv_data_size = sizeof(NvencContext),231 .priv_data_size = sizeof(NvencContext),
232 .priv_class = &h264_nvenc_class,232 .p.priv_class = &h264_nvenc_class,
233 .defaults = defaults,233 .defaults = defaults,
234 .capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_HARDWARE |234 .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_HARDWARE |
235 AV_CODEC_CAP_ENCODER_FLUSH | AV_CODEC_CAP_DR1,235 AV_CODEC_CAP_ENCODER_FLUSH | AV_CODEC_CAP_DR1,
236 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,236 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
237 .pix_fmts = ff_nvenc_pix_fmts,237 .p.pix_fmts = ff_nvenc_pix_fmts,
238 .wrapper_name = "nvenc",238 .p.wrapper_name = "nvenc",
239 .hw_configs = ff_nvenc_hw_configs,239 .hw_configs = ff_nvenc_hw_configs,
240};240};
libavcodec/nvenc_hevc.c+9−9
@@ -200,22 +200,22 @@ static const AVClass hevc_nvenc_class = { · 199 unmodified lines
200 .version = LIBAVUTIL_VERSION_INT,200 .version = LIBAVUTIL_VERSION_INT,
201};201};
202 202
203const AVCodec ff_hevc_nvenc_encoder = {203const FFCodec ff_hevc_nvenc_encoder = {
204 .name = "hevc_nvenc",204 .p.name = "hevc_nvenc",
205 .long_name = NULL_IF_CONFIG_SMALL("NVIDIA NVENC hevc encoder"),205 .p.long_name = NULL_IF_CONFIG_SMALL("NVIDIA NVENC hevc encoder"),
206 .type = AVMEDIA_TYPE_VIDEO,206 .p.type = AVMEDIA_TYPE_VIDEO,
207 .id = AV_CODEC_ID_HEVC,207 .p.id = AV_CODEC_ID_HEVC,
208 .init = ff_nvenc_encode_init,208 .init = ff_nvenc_encode_init,
209 .receive_packet = ff_nvenc_receive_packet,209 .receive_packet = ff_nvenc_receive_packet,
210 .close = ff_nvenc_encode_close,210 .close = ff_nvenc_encode_close,
211 .flush = ff_nvenc_encode_flush,211 .flush = ff_nvenc_encode_flush,
212 .priv_data_size = sizeof(NvencContext),212 .priv_data_size = sizeof(NvencContext),
213 .priv_class = &hevc_nvenc_class,213 .p.priv_class = &hevc_nvenc_class,
214 .defaults = defaults,214 .defaults = defaults,
215 .pix_fmts = ff_nvenc_pix_fmts,215 .p.pix_fmts = ff_nvenc_pix_fmts,
216 .capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_HARDWARE |216 .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_HARDWARE |
217 AV_CODEC_CAP_ENCODER_FLUSH | AV_CODEC_CAP_DR1,217 AV_CODEC_CAP_ENCODER_FLUSH | AV_CODEC_CAP_DR1,
218 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,218 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
219 .wrapper_name = "nvenc",219 .p.wrapper_name = "nvenc",
220 .hw_configs = ff_nvenc_hw_configs,220 .hw_configs = ff_nvenc_hw_configs,
221};221};
libavcodec/omx.c+16−16
@@ -936,19 +936,19 @@ static const AVClass omx_mpeg4enc_class = { · 935 unmodified lines
936 .option = options,936 .option = options,
937 .version = LIBAVUTIL_VERSION_INT,937 .version = LIBAVUTIL_VERSION_INT,
938};938};
939const AVCodec ff_mpeg4_omx_encoder = {939const FFCodec ff_mpeg4_omx_encoder = {
940 .name = "mpeg4_omx",940 .p.name = "mpeg4_omx",
941 .long_name = NULL_IF_CONFIG_SMALL("OpenMAX IL MPEG-4 video encoder"),941 .p.long_name = NULL_IF_CONFIG_SMALL("OpenMAX IL MPEG-4 video encoder"),
942 .type = AVMEDIA_TYPE_VIDEO,942 .p.type = AVMEDIA_TYPE_VIDEO,
943 .id = AV_CODEC_ID_MPEG4,943 .p.id = AV_CODEC_ID_MPEG4,
944 .priv_data_size = sizeof(OMXCodecContext),944 .priv_data_size = sizeof(OMXCodecContext),
945 .init = omx_encode_init,945 .init = omx_encode_init,
946 .encode2 = omx_encode_frame,946 .encode2 = omx_encode_frame,
947 .close = omx_encode_end,947 .close = omx_encode_end,
948 .pix_fmts = omx_encoder_pix_fmts,948 .p.pix_fmts = omx_encoder_pix_fmts,
949 .capabilities = AV_CODEC_CAP_DELAY,949 .p.capabilities = AV_CODEC_CAP_DELAY,
950 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,950 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
951 .priv_class = &omx_mpeg4enc_class,951 .p.priv_class = &omx_mpeg4enc_class,
952};952};
953 953
954static const AVClass omx_h264enc_class = {954static const AVClass omx_h264enc_class = {
@@ -957,17 +957,17 @@ static const AVClass omx_h264enc_class = { · 2 unmodified lines
957 .option = options,957 .option = options,
958 .version = LIBAVUTIL_VERSION_INT,958 .version = LIBAVUTIL_VERSION_INT,
959};959};
960const AVCodec ff_h264_omx_encoder = {960const FFCodec ff_h264_omx_encoder = {
961 .name = "h264_omx",961 .p.name = "h264_omx",
962 .long_name = NULL_IF_CONFIG_SMALL("OpenMAX IL H.264 video encoder"),962 .p.long_name = NULL_IF_CONFIG_SMALL("OpenMAX IL H.264 video encoder"),
963 .type = AVMEDIA_TYPE_VIDEO,963 .p.type = AVMEDIA_TYPE_VIDEO,
964 .id = AV_CODEC_ID_H264,964 .p.id = AV_CODEC_ID_H264,
965 .priv_data_size = sizeof(OMXCodecContext),965 .priv_data_size = sizeof(OMXCodecContext),
966 .init = omx_encode_init,966 .init = omx_encode_init,
967 .encode2 = omx_encode_frame,967 .encode2 = omx_encode_frame,
968 .close = omx_encode_end,968 .close = omx_encode_end,
969 .pix_fmts = omx_encoder_pix_fmts,969 .p.pix_fmts = omx_encoder_pix_fmts,
970 .capabilities = AV_CODEC_CAP_DELAY,970 .p.capabilities = AV_CODEC_CAP_DELAY,
971 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,971 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
972 .priv_class = &omx_h264enc_class,972 .p.priv_class = &omx_h264enc_class,
973};973};
libavcodec/on2avc.c+7−7
@@ -1005,17 +1005,17 @@ static av_cold int on2avc_decode_close(AVCodecContext *avctx) · 1004 unmodified lines
1005}1005}
1006 1006
1007 1007
1008const AVCodec ff_on2avc_decoder = {1008const FFCodec ff_on2avc_decoder = {
1009 .name = "on2avc",1009 .p.name = "on2avc",
1010 .long_name = NULL_IF_CONFIG_SMALL("On2 Audio for Video Codec"),1010 .p.long_name = NULL_IF_CONFIG_SMALL("On2 Audio for Video Codec"),
1011 .type = AVMEDIA_TYPE_AUDIO,1011 .p.type = AVMEDIA_TYPE_AUDIO,
1012 .id = AV_CODEC_ID_ON2AVC,1012 .p.id = AV_CODEC_ID_ON2AVC,
1013 .priv_data_size = sizeof(On2AVCContext),1013 .priv_data_size = sizeof(On2AVCContext),
1014 .init = on2avc_decode_init,1014 .init = on2avc_decode_init,
1015 .decode = on2avc_decode_frame,1015 .decode = on2avc_decode_frame,
1016 .close = on2avc_decode_close,1016 .close = on2avc_decode_close,
1017 .capabilities = AV_CODEC_CAP_DR1,1017 .p.capabilities = AV_CODEC_CAP_DR1,
1018 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,1018 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
1019 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,1019 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
1020 AV_SAMPLE_FMT_NONE },1020 AV_SAMPLE_FMT_NONE },
1021};1021};
libavcodec/options.c+9−6
@@ -68,8 +68,10 @@ static const AVClass *codec_child_class_iterate(void **iter) · 67 unmodified lines
68static AVClassCategory get_category(void *ptr)68static AVClassCategory get_category(void *ptr)
69{69{
70 AVCodecContext* avctx = ptr;70 AVCodecContext* avctx = ptr;
71 if(avctx->codec && avctx->codec->decode) return AV_CLASS_CATEGORY_DECODER;71 if (avctx->codec && ffcodec(avctx->codec)->decode)
72 else return AV_CLASS_CATEGORY_ENCODER;72 return AV_CLASS_CATEGORY_DECODER;
73 else
74 return AV_CLASS_CATEGORY_ENCODER;
73}75}
74 76
75static const AVClass av_codec_context_class = {77static const AVClass av_codec_context_class = {
@@ -86,6 +88,7 @@ static const AVClass av_codec_context_class = { · 10 unmodified lines
86 88
87static int init_context_defaults(AVCodecContext *s, const AVCodec *codec)89static int init_context_defaults(AVCodecContext *s, const AVCodec *codec)
88{90{
91 const FFCodec *const codec2 = ffcodec(codec);
89 int flags=0;92 int flags=0;
90 memset(s, 0, sizeof(AVCodecContext));93 memset(s, 0, sizeof(AVCodecContext));
91 94
@@ -122,8 +125,8 @@ static int init_context_defaults(AVCodecContext *s, const AVCodec *codec) · 30 unmodified lines
122 s->sample_fmt = AV_SAMPLE_FMT_NONE;125 s->sample_fmt = AV_SAMPLE_FMT_NONE;
123 126
124 s->reordered_opaque = AV_NOPTS_VALUE;127 s->reordered_opaque = AV_NOPTS_VALUE;
125 if(codec && codec->priv_data_size){128 if(codec && codec2->priv_data_size){
126 s->priv_data = av_mallocz(codec->priv_data_size);129 s->priv_data = av_mallocz(codec2->priv_data_size);
127 if (!s->priv_data)130 if (!s->priv_data)
128 return AVERROR(ENOMEM);131 return AVERROR(ENOMEM);
129 if(codec->priv_class){132 if(codec->priv_class){
@@ -131,9 +134,9 @@ static int init_context_defaults(AVCodecContext *s, const AVCodec *codec) · 1 unmodified line
131 av_opt_set_defaults(s->priv_data);134 av_opt_set_defaults(s->priv_data);
132 }135 }
133 }136 }
134 if (codec && codec->defaults) {137 if (codec && codec2->defaults) {
135 int ret;138 int ret;
136 const AVCodecDefault *d = codec->defaults;139 const AVCodecDefault *d = codec2->defaults;
137 while (d->key) {140 while (d->key) {
138 ret = av_opt_set(s, d->key, d->value, 0);141 ret = av_opt_set(s, d->key, d->value, 0);
139 av_assert0(ret >= 0);142 av_assert0(ret >= 0);
libavcodec/opusdec.c+7−7
@@ -705,17 +705,17 @@ static const AVClass opus_class = { · 704 unmodified lines
705 .version = LIBAVUTIL_VERSION_INT,705 .version = LIBAVUTIL_VERSION_INT,
706};706};
707 707
708const AVCodec ff_opus_decoder = {708const FFCodec ff_opus_decoder = {
709 .name = "opus",709 .p.name = "opus",
710 .long_name = NULL_IF_CONFIG_SMALL("Opus"),710 .p.long_name = NULL_IF_CONFIG_SMALL("Opus"),
711 .priv_class = &opus_class,711 .p.priv_class = &opus_class,
712 .type = AVMEDIA_TYPE_AUDIO,712 .p.type = AVMEDIA_TYPE_AUDIO,
713 .id = AV_CODEC_ID_OPUS,713 .p.id = AV_CODEC_ID_OPUS,
714 .priv_data_size = sizeof(OpusContext),714 .priv_data_size = sizeof(OpusContext),
715 .init = opus_decode_init,715 .init = opus_decode_init,
716 .close = opus_decode_close,716 .close = opus_decode_close,
717 .decode = opus_decode_packet,717 .decode = opus_decode_packet,
718 .flush = opus_decode_flush,718 .flush = opus_decode_flush,
719 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY | AV_CODEC_CAP_CHANNEL_CONF,719 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY | AV_CODEC_CAP_CHANNEL_CONF,
720 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,720 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
721};721};
libavcodec/opusenc.c+11−11
@@ -725,26 +725,26 @@ static const AVCodecDefault opusenc_defaults[] = { · 724 unmodified lines
725 { NULL },725 { NULL },
726};726};
727 727
728const AVCodec ff_opus_encoder = {728const FFCodec ff_opus_encoder = {
729 .name = "opus",729 .p.name = "opus",
730 .long_name = NULL_IF_CONFIG_SMALL("Opus"),730 .p.long_name = NULL_IF_CONFIG_SMALL("Opus"),
731 .type = AVMEDIA_TYPE_AUDIO,731 .p.type = AVMEDIA_TYPE_AUDIO,
732 .id = AV_CODEC_ID_OPUS,732 .p.id = AV_CODEC_ID_OPUS,
733 .defaults = opusenc_defaults,733 .defaults = opusenc_defaults,
734 .priv_class = &opusenc_class,734 .p.priv_class = &opusenc_class,
735 .priv_data_size = sizeof(OpusEncContext),735 .priv_data_size = sizeof(OpusEncContext),
736 .init = opus_encode_init,736 .init = opus_encode_init,
737 .encode2 = opus_encode_frame,737 .encode2 = opus_encode_frame,
738 .close = opus_encode_end,738 .close = opus_encode_end,
739 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,739 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
740 .capabilities = AV_CODEC_CAP_EXPERIMENTAL | AV_CODEC_CAP_SMALL_LAST_FRAME | AV_CODEC_CAP_DELAY,740 .p.capabilities = AV_CODEC_CAP_EXPERIMENTAL | AV_CODEC_CAP_SMALL_LAST_FRAME | AV_CODEC_CAP_DELAY,
741 .supported_samplerates = (const int []){ 48000, 0 },741 .p.supported_samplerates = (const int []){ 48000, 0 },
742#if FF_API_OLD_CHANNEL_LAYOUT742#if FF_API_OLD_CHANNEL_LAYOUT
743 .channel_layouts = (const uint64_t []){ AV_CH_LAYOUT_MONO,743 .p.channel_layouts = (const uint64_t []){ AV_CH_LAYOUT_MONO,
744 AV_CH_LAYOUT_STEREO, 0 },744 AV_CH_LAYOUT_STEREO, 0 },
745#endif745#endif
746 .ch_layouts = (const AVChannelLayout []){ AV_CHANNEL_LAYOUT_MONO,746 .p.ch_layouts = (const AVChannelLayout []){ AV_CHANNEL_LAYOUT_MONO,
747 AV_CHANNEL_LAYOUT_STEREO, { 0 } },747 AV_CHANNEL_LAYOUT_STEREO, { 0 } },
748 .sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_FLTP,748 .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_FLTP,
749 AV_SAMPLE_FMT_NONE },749 AV_SAMPLE_FMT_NONE },
750};750};
libavcodec/pafaudio.c+6−6
@@ -74,13 +74,13 @@ static int paf_audio_decode(AVCodecContext *avctx, void *data, · 73 unmodified lines
74 return pkt->size;74 return pkt->size;
75}75}
76 76
77const AVCodec ff_paf_audio_decoder = {77const FFCodec ff_paf_audio_decoder = {
78 .name = "paf_audio",78 .p.name = "paf_audio",
79 .long_name = NULL_IF_CONFIG_SMALL("Amazing Studio Packed Animation File Audio"),79 .p.long_name = NULL_IF_CONFIG_SMALL("Amazing Studio Packed Animation File Audio"),
80 .type = AVMEDIA_TYPE_AUDIO,80 .p.type = AVMEDIA_TYPE_AUDIO,
81 .id = AV_CODEC_ID_PAF_AUDIO,81 .p.id = AV_CODEC_ID_PAF_AUDIO,
82 .init = paf_audio_init,82 .init = paf_audio_init,
83 .decode = paf_audio_decode,83 .decode = paf_audio_decode,
84 .capabilities = AV_CODEC_CAP_DR1,84 .p.capabilities = AV_CODEC_CAP_DR1,
85 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,85 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
86};86};
libavcodec/pafvideo.c+6−6
@@ -408,15 +408,15 @@ static int paf_video_decode(AVCodecContext *avctx, void *data, · 407 unmodified lines
408 return pkt->size;408 return pkt->size;
409}409}
410 410
411const AVCodec ff_paf_video_decoder = {411const FFCodec ff_paf_video_decoder = {
412 .name = "paf_video",412 .p.name = "paf_video",
413 .long_name = NULL_IF_CONFIG_SMALL("Amazing Studio Packed Animation File Video"),413 .p.long_name = NULL_IF_CONFIG_SMALL("Amazing Studio Packed Animation File Video"),
414 .type = AVMEDIA_TYPE_VIDEO,414 .p.type = AVMEDIA_TYPE_VIDEO,
415 .id = AV_CODEC_ID_PAF_VIDEO,415 .p.id = AV_CODEC_ID_PAF_VIDEO,
416 .priv_data_size = sizeof(PAFVideoDecContext),416 .priv_data_size = sizeof(PAFVideoDecContext),
417 .init = paf_video_init,417 .init = paf_video_init,
418 .close = paf_video_close,418 .close = paf_video_close,
419 .decode = paf_video_decode,419 .decode = paf_video_decode,
420 .capabilities = AV_CODEC_CAP_DR1,420 .p.capabilities = AV_CODEC_CAP_DR1,
421 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,421 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
422};422};
libavcodec/pamenc.c+7−7
@@ -127,14 +127,14 @@ static int pam_encode_frame(AVCodecContext *avctx, AVPacket *pkt, · 126 unmodified lines
127 return 0;127 return 0;
128}128}
129 129
130const AVCodec ff_pam_encoder = {130const FFCodec ff_pam_encoder = {
131 .name = "pam",131 .p.name = "pam",
132 .long_name = NULL_IF_CONFIG_SMALL("PAM (Portable AnyMap) image"),132 .p.long_name = NULL_IF_CONFIG_SMALL("PAM (Portable AnyMap) image"),
133 .type = AVMEDIA_TYPE_VIDEO,133 .p.type = AVMEDIA_TYPE_VIDEO,
134 .id = AV_CODEC_ID_PAM,134 .p.id = AV_CODEC_ID_PAM,
135 .capabilities = AV_CODEC_CAP_DR1,135 .p.capabilities = AV_CODEC_CAP_DR1,
136 .encode2 = pam_encode_frame,136 .encode2 = pam_encode_frame,
137 .pix_fmts = (const enum AVPixelFormat[]){137 .p.pix_fmts = (const enum AVPixelFormat[]){
138 AV_PIX_FMT_RGB24, AV_PIX_FMT_RGBA,138 AV_PIX_FMT_RGB24, AV_PIX_FMT_RGBA,
139 AV_PIX_FMT_RGB48BE, AV_PIX_FMT_RGBA64BE,139 AV_PIX_FMT_RGB48BE, AV_PIX_FMT_RGBA64BE,
140 AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY8A,140 AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY8A,
libavcodec/pcm-bluray.c+8−7
@@ -27,6 +27,7 @@ · 26 unmodified lines
27#include "libavutil/channel_layout.h"27#include "libavutil/channel_layout.h"
28#include "avcodec.h"28#include "avcodec.h"
29#include "bytestream.h"29#include "bytestream.h"
30#include "codec_internal.h"
30#include "internal.h"31#include "internal.h"
31 32
32/*33/*
@@ -299,14 +300,14 @@ static int pcm_bluray_decode_frame(AVCodecContext *avctx, void *data, · 266 unmodified lines
299 return retval + 4;300 return retval + 4;
300}301}
301 302
302const AVCodec ff_pcm_bluray_decoder = {303const FFCodec ff_pcm_bluray_decoder = {
303 .name = "pcm_bluray",304 .p.name = "pcm_bluray",
304 .long_name = NULL_IF_CONFIG_SMALL("PCM signed 16|20|24-bit big-endian for Blu-ray media"),305 .p.long_name = NULL_IF_CONFIG_SMALL("PCM signed 16|20|24-bit big-endian for Blu-ray media"),
305 .type = AVMEDIA_TYPE_AUDIO,306 .p.type = AVMEDIA_TYPE_AUDIO,
306 .id = AV_CODEC_ID_PCM_BLURAY,307 .p.id = AV_CODEC_ID_PCM_BLURAY,
307 .decode = pcm_bluray_decode_frame,308 .decode = pcm_bluray_decode_frame,
308 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,309 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
309 .sample_fmts = (const enum AVSampleFormat[]){310 .p.sample_fmts = (const enum AVSampleFormat[]){
310 AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_S32, AV_SAMPLE_FMT_NONE311 AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_S32, AV_SAMPLE_FMT_NONE
311 },312 },
312};313};
libavcodec/pcm-blurayenc.c+10−10
@@ -270,17 +270,17 @@ static int pcm_bluray_encode_frame(AVCodecContext *avctx, AVPacket *avpkt, · 269 unmodified lines
270 return 0;270 return 0;
271}271}
272 272
273const AVCodec ff_pcm_bluray_encoder = {273const FFCodec ff_pcm_bluray_encoder = {
274 .name = "pcm_bluray",274 .p.name = "pcm_bluray",
275 .long_name = NULL_IF_CONFIG_SMALL("PCM signed 16|20|24-bit big-endian for Blu-ray media"),275 .p.long_name = NULL_IF_CONFIG_SMALL("PCM signed 16|20|24-bit big-endian for Blu-ray media"),
276 .type = AVMEDIA_TYPE_AUDIO,276 .p.type = AVMEDIA_TYPE_AUDIO,
277 .id = AV_CODEC_ID_PCM_BLURAY,277 .p.id = AV_CODEC_ID_PCM_BLURAY,
278 .priv_data_size = sizeof(BlurayPCMEncContext),278 .priv_data_size = sizeof(BlurayPCMEncContext),
279 .init = pcm_bluray_encode_init,279 .init = pcm_bluray_encode_init,
280 .encode2 = pcm_bluray_encode_frame,280 .encode2 = pcm_bluray_encode_frame,
281 .supported_samplerates = (const int[]) { 48000, 96000, 192000, 0 },281 .p.supported_samplerates = (const int[]) { 48000, 96000, 192000, 0 },
282#if FF_API_OLD_CHANNEL_LAYOUT282#if FF_API_OLD_CHANNEL_LAYOUT
283 .channel_layouts = (const uint64_t[]) {283 .p.channel_layouts = (const uint64_t[]) {
284 AV_CH_LAYOUT_MONO,284 AV_CH_LAYOUT_MONO,
285 AV_CH_LAYOUT_STEREO,285 AV_CH_LAYOUT_STEREO,
286 AV_CH_LAYOUT_SURROUND,286 AV_CH_LAYOUT_SURROUND,
@@ -293,7 +293,7 @@ const AVCodec ff_pcm_bluray_encoder = { · 6 unmodified lines
293 AV_CH_LAYOUT_7POINT1,293 AV_CH_LAYOUT_7POINT1,
294 0 },294 0 },
295#endif295#endif
296 .ch_layouts = (const AVChannelLayout[]) {296 .p.ch_layouts = (const AVChannelLayout[]) {
297 AV_CHANNEL_LAYOUT_MONO,297 AV_CHANNEL_LAYOUT_MONO,
298 AV_CHANNEL_LAYOUT_STEREO,298 AV_CHANNEL_LAYOUT_STEREO,
299 AV_CHANNEL_LAYOUT_SURROUND,299 AV_CHANNEL_LAYOUT_SURROUND,
@@ -305,8 +305,8 @@ const AVCodec ff_pcm_bluray_encoder = { · 5 unmodified lines
305 AV_CHANNEL_LAYOUT_7POINT0,305 AV_CHANNEL_LAYOUT_7POINT0,
306 AV_CHANNEL_LAYOUT_7POINT1,306 AV_CHANNEL_LAYOUT_7POINT1,
307 { 0 } },307 { 0 } },
308 .sample_fmts = (const enum AVSampleFormat[]) {308 .p.sample_fmts = (const enum AVSampleFormat[]) {
309 AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_S32, AV_SAMPLE_FMT_NONE },309 AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_S32, AV_SAMPLE_FMT_NONE },
310 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,310 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
311 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_VARIABLE_FRAME_SIZE,311 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_VARIABLE_FRAME_SIZE,
312};312};
libavcodec/pcm-dvd.c+7−7
@@ -296,17 +296,17 @@ static int pcm_dvd_decode_frame(AVCodecContext *avctx, void *data, · 295 unmodified lines
296 return avpkt->size;296 return avpkt->size;
297}297}
298 298
299const AVCodec ff_pcm_dvd_decoder = {299const FFCodec ff_pcm_dvd_decoder = {
300 .name = "pcm_dvd",300 .p.name = "pcm_dvd",
301 .long_name = NULL_IF_CONFIG_SMALL("PCM signed 16|20|24-bit big-endian for DVD media"),301 .p.long_name = NULL_IF_CONFIG_SMALL("PCM signed 16|20|24-bit big-endian for DVD media"),
302 .type = AVMEDIA_TYPE_AUDIO,302 .p.type = AVMEDIA_TYPE_AUDIO,
303 .id = AV_CODEC_ID_PCM_DVD,303 .p.id = AV_CODEC_ID_PCM_DVD,
304 .priv_data_size = sizeof(PCMDVDContext),304 .priv_data_size = sizeof(PCMDVDContext),
305 .init = pcm_dvd_decode_init,305 .init = pcm_dvd_decode_init,
306 .decode = pcm_dvd_decode_frame,306 .decode = pcm_dvd_decode_frame,
307 .capabilities = AV_CODEC_CAP_CHANNEL_CONF |307 .p.capabilities = AV_CODEC_CAP_CHANNEL_CONF |
308 AV_CODEC_CAP_DR1,308 AV_CODEC_CAP_DR1,
309 .sample_fmts = (const enum AVSampleFormat[]) {309 .p.sample_fmts = (const enum AVSampleFormat[]) {
310 AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_S32, AV_SAMPLE_FMT_NONE310 AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_S32, AV_SAMPLE_FMT_NONE
311 },311 },
312 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,312 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
libavcodec/pcm-dvdenc.c+10−10
@@ -172,29 +172,29 @@ static int pcm_dvd_encode_frame(AVCodecContext *avctx, AVPacket *avpkt, · 171 unmodified lines
172 return 0;172 return 0;
173}173}
174 174
175const AVCodec ff_pcm_dvd_encoder = {175const FFCodec ff_pcm_dvd_encoder = {
176 .name = "pcm_dvd",176 .p.name = "pcm_dvd",
177 .long_name = NULL_IF_CONFIG_SMALL("PCM signed 16|20|24-bit big-endian for DVD media"),177 .p.long_name = NULL_IF_CONFIG_SMALL("PCM signed 16|20|24-bit big-endian for DVD media"),
178 .type = AVMEDIA_TYPE_AUDIO,178 .p.type = AVMEDIA_TYPE_AUDIO,
179 .id = AV_CODEC_ID_PCM_DVD,179 .p.id = AV_CODEC_ID_PCM_DVD,
180 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SMALL_LAST_FRAME,180 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SMALL_LAST_FRAME,
181 .priv_data_size = sizeof(PCMDVDContext),181 .priv_data_size = sizeof(PCMDVDContext),
182 .init = pcm_dvd_encode_init,182 .init = pcm_dvd_encode_init,
183 .encode2 = pcm_dvd_encode_frame,183 .encode2 = pcm_dvd_encode_frame,
184 .supported_samplerates = (const int[]) { 48000, 96000, 0},184 .p.supported_samplerates = (const int[]) { 48000, 96000, 0},
185#if FF_API_OLD_CHANNEL_LAYOUT185#if FF_API_OLD_CHANNEL_LAYOUT
186 .channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_MONO,186 .p.channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_MONO,
187 AV_CH_LAYOUT_STEREO,187 AV_CH_LAYOUT_STEREO,
188 AV_CH_LAYOUT_5POINT1,188 AV_CH_LAYOUT_5POINT1,
189 AV_CH_LAYOUT_7POINT1,189 AV_CH_LAYOUT_7POINT1,
190 0 },190 0 },
191#endif191#endif
192 .ch_layouts = (const AVChannelLayout[]) { AV_CHANNEL_LAYOUT_MONO,192 .p.ch_layouts = (const AVChannelLayout[]) { AV_CHANNEL_LAYOUT_MONO,
193 AV_CHANNEL_LAYOUT_STEREO,193 AV_CHANNEL_LAYOUT_STEREO,
194 AV_CHANNEL_LAYOUT_5POINT1,194 AV_CHANNEL_LAYOUT_5POINT1,
195 AV_CHANNEL_LAYOUT_7POINT1,195 AV_CHANNEL_LAYOUT_7POINT1,
196 { 0 } },196 { 0 } },
197 .sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16,197 .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16,
198 AV_SAMPLE_FMT_S32,198 AV_SAMPLE_FMT_S32,
199 AV_SAMPLE_FMT_NONE },199 AV_SAMPLE_FMT_NONE },
200 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,200 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
libavcodec/pcm.c+14−14
@@ -554,15 +554,15 @@ static int pcm_decode_frame(AVCodecContext *avctx, void *data, · 553 unmodified lines
554 554
555#define PCM_ENCODER_0(id_, sample_fmt_, name_, long_name_)555#define PCM_ENCODER_0(id_, sample_fmt_, name_, long_name_)
556#define PCM_ENCODER_1(id_, sample_fmt_, name_, long_name_) \556#define PCM_ENCODER_1(id_, sample_fmt_, name_, long_name_) \
557const AVCodec ff_ ## name_ ## _encoder = { \557const FFCodec ff_ ## name_ ## _encoder = { \
558 .name = #name_, \558 .p.name = #name_, \
559 .long_name = NULL_IF_CONFIG_SMALL(long_name_), \559 .p.long_name = NULL_IF_CONFIG_SMALL(long_name_), \
560 .type = AVMEDIA_TYPE_AUDIO, \560 .p.type = AVMEDIA_TYPE_AUDIO, \
561 .id = AV_CODEC_ID_ ## id_, \561 .p.id = AV_CODEC_ID_ ## id_, \
562 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_VARIABLE_FRAME_SIZE, \562 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_VARIABLE_FRAME_SIZE, \
563 .init = pcm_encode_init, \563 .init = pcm_encode_init, \
564 .encode2 = pcm_encode_frame, \564 .encode2 = pcm_encode_frame, \
565 .sample_fmts = (const enum AVSampleFormat[]){ sample_fmt_, \565 .p.sample_fmts = (const enum AVSampleFormat[]){ sample_fmt_, \
566 AV_SAMPLE_FMT_NONE }, \566 AV_SAMPLE_FMT_NONE }, \
567 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE, \567 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE, \
568}568}
@@ -576,16 +576,16 @@ const AVCodec ff_ ## name_ ## _encoder = { \ · 7 unmodified lines
576 576
577#define PCM_DECODER_0(id, sample_fmt, name, long_name)577#define PCM_DECODER_0(id, sample_fmt, name, long_name)
578#define PCM_DECODER_1(id_, sample_fmt_, name_, long_name_) \578#define PCM_DECODER_1(id_, sample_fmt_, name_, long_name_) \
579const AVCodec ff_ ## name_ ## _decoder = { \579const FFCodec ff_ ## name_ ## _decoder = { \
580 .name = #name_, \580 .p.name = #name_, \
581 .long_name = NULL_IF_CONFIG_SMALL(long_name_), \581 .p.long_name = NULL_IF_CONFIG_SMALL(long_name_), \
582 .type = AVMEDIA_TYPE_AUDIO, \582 .p.type = AVMEDIA_TYPE_AUDIO, \
583 .id = AV_CODEC_ID_ ## id_, \583 .p.id = AV_CODEC_ID_ ## id_, \
584 .priv_data_size = sizeof(PCMDecode), \584 .priv_data_size = sizeof(PCMDecode), \
585 .init = pcm_decode_init, \585 .init = pcm_decode_init, \
586 .decode = pcm_decode_frame, \586 .decode = pcm_decode_frame, \
587 .capabilities = AV_CODEC_CAP_DR1, \587 .p.capabilities = AV_CODEC_CAP_DR1, \
588 .sample_fmts = (const enum AVSampleFormat[]){ sample_fmt_, \588 .p.sample_fmts = (const enum AVSampleFormat[]){ sample_fmt_, \
589 AV_SAMPLE_FMT_NONE }, \589 AV_SAMPLE_FMT_NONE }, \
590 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE, \590 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE, \
591}591}
libavcodec/pcx.c+7−6
@@ -25,6 +25,7 @@ · 24 unmodified lines
25#include "libavutil/imgutils.h"25#include "libavutil/imgutils.h"
26#include "avcodec.h"26#include "avcodec.h"
27#include "bytestream.h"27#include "bytestream.h"
28#include "codec_internal.h"
28#include "get_bits.h"29#include "get_bits.h"
29#include "internal.h"30#include "internal.h"
30 31
@@ -249,11 +250,11 @@ end: · 218 unmodified lines
249 return ret;250 return ret;
250}251}
251 252
252const AVCodec ff_pcx_decoder = {253const FFCodec ff_pcx_decoder = {
253 .name = "pcx",254 .p.name = "pcx",
254 .long_name = NULL_IF_CONFIG_SMALL("PC Paintbrush PCX image"),255 .p.long_name = NULL_IF_CONFIG_SMALL("PC Paintbrush PCX image"),
255 .type = AVMEDIA_TYPE_VIDEO,256 .p.type = AVMEDIA_TYPE_VIDEO,
256 .id = AV_CODEC_ID_PCX,257 .p.id = AV_CODEC_ID_PCX,
257 .decode = pcx_decode_frame,258 .decode = pcx_decode_frame,
258 .capabilities = AV_CODEC_CAP_DR1,259 .p.capabilities = AV_CODEC_CAP_DR1,
259};260};
libavcodec/pcxenc.c+6−6
@@ -192,13 +192,13 @@ static int pcx_encode_frame(AVCodecContext *avctx, AVPacket *pkt, · 191 unmodified lines
192 return 0;192 return 0;
193}193}
194 194
195const AVCodec ff_pcx_encoder = {195const FFCodec ff_pcx_encoder = {
196 .name = "pcx",196 .p.name = "pcx",
197 .long_name = NULL_IF_CONFIG_SMALL("PC Paintbrush PCX image"),197 .p.long_name = NULL_IF_CONFIG_SMALL("PC Paintbrush PCX image"),
198 .type = AVMEDIA_TYPE_VIDEO,198 .p.type = AVMEDIA_TYPE_VIDEO,
199 .id = AV_CODEC_ID_PCX,199 .p.id = AV_CODEC_ID_PCX,
200 .encode2 = pcx_encode_frame,200 .encode2 = pcx_encode_frame,
201 .pix_fmts = (const enum AVPixelFormat[]){201 .p.pix_fmts = (const enum AVPixelFormat[]){
202 AV_PIX_FMT_RGB24,202 AV_PIX_FMT_RGB24,
203 AV_PIX_FMT_RGB8, AV_PIX_FMT_BGR8, AV_PIX_FMT_RGB4_BYTE, AV_PIX_FMT_BGR4_BYTE,203 AV_PIX_FMT_RGB8, AV_PIX_FMT_BGR8, AV_PIX_FMT_RGB4_BYTE, AV_PIX_FMT_BGR4_BYTE,
204 AV_PIX_FMT_GRAY8, AV_PIX_FMT_PAL8,204 AV_PIX_FMT_GRAY8, AV_PIX_FMT_PAL8,
libavcodec/pgssubdec.c+6−6
@@ -691,15 +691,15 @@ static const AVClass pgsdec_class = { · 690 unmodified lines
691 .version = LIBAVUTIL_VERSION_INT,691 .version = LIBAVUTIL_VERSION_INT,
692};692};
693 693
694const AVCodec ff_pgssub_decoder = {694const FFCodec ff_pgssub_decoder = {
695 .name = "pgssub",695 .p.name = "pgssub",
696 .long_name = NULL_IF_CONFIG_SMALL("HDMV Presentation Graphic Stream subtitles"),696 .p.long_name = NULL_IF_CONFIG_SMALL("HDMV Presentation Graphic Stream subtitles"),
697 .type = AVMEDIA_TYPE_SUBTITLE,697 .p.type = AVMEDIA_TYPE_SUBTITLE,
698 .id = AV_CODEC_ID_HDMV_PGS_SUBTITLE,698 .p.id = AV_CODEC_ID_HDMV_PGS_SUBTITLE,
699 .priv_data_size = sizeof(PGSSubContext),699 .priv_data_size = sizeof(PGSSubContext),
700 .init = init_decoder,700 .init = init_decoder,
701 .close = close_decoder,701 .close = close_decoder,
702 .decode = decode,702 .decode = decode,
703 .priv_class = &pgsdec_class,703 .p.priv_class = &pgsdec_class,
704 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,704 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
705};705};
libavcodec/pgxdec.c+7−6
@@ -22,6 +22,7 @@ · 21 unmodified lines
22#include "avcodec.h"22#include "avcodec.h"
23#include "internal.h"23#include "internal.h"
24#include "bytestream.h"24#include "bytestream.h"
25#include "codec_internal.h"
25#include "libavutil/imgutils.h"26#include "libavutil/imgutils.h"
26 27
27static int pgx_get_number(AVCodecContext *avctx, GetByteContext *g, int *number) {28static int pgx_get_number(AVCodecContext *avctx, GetByteContext *g, int *number) {
@@ -158,11 +159,11 @@ static int pgx_decode_frame(AVCodecContext *avctx, void *data, · 130 unmodified lines
158 return 0;159 return 0;
159}160}
160 161
161const AVCodec ff_pgx_decoder = {162const FFCodec ff_pgx_decoder = {
162 .name = "pgx",163 .p.name = "pgx",
163 .long_name = NULL_IF_CONFIG_SMALL("PGX (JPEG2000 Test Format)"),164 .p.long_name = NULL_IF_CONFIG_SMALL("PGX (JPEG2000 Test Format)"),
164 .type = AVMEDIA_TYPE_VIDEO,165 .p.type = AVMEDIA_TYPE_VIDEO,
165 .id = AV_CODEC_ID_PGX,166 .p.id = AV_CODEC_ID_PGX,
167 .p.capabilities = AV_CODEC_CAP_DR1,
166 .decode = pgx_decode_frame,168 .decode = pgx_decode_frame,
167 .capabilities = AV_CODEC_CAP_DR1,
168};169};
libavcodec/photocd.c+7−7
@@ -457,16 +457,16 @@ static const AVClass photocd_class = { · 456 unmodified lines
457 .version = LIBAVUTIL_VERSION_INT,457 .version = LIBAVUTIL_VERSION_INT,
458};458};
459 459
460const AVCodec ff_photocd_decoder = {460const FFCodec ff_photocd_decoder = {
461 .name = "photocd",461 .p.name = "photocd",
462 .type = AVMEDIA_TYPE_VIDEO,462 .p.type = AVMEDIA_TYPE_VIDEO,
463 .id = AV_CODEC_ID_PHOTOCD,463 .p.id = AV_CODEC_ID_PHOTOCD,
464 .priv_data_size = sizeof(PhotoCDContext),464 .priv_data_size = sizeof(PhotoCDContext),
465 .priv_class = &photocd_class,465 .p.priv_class = &photocd_class,
466 .init = photocd_decode_init,466 .init = photocd_decode_init,
467 .close = photocd_decode_close,467 .close = photocd_decode_close,
468 .decode = photocd_decode_frame,468 .decode = photocd_decode_frame,
469 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,469 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
470 .long_name = NULL_IF_CONFIG_SMALL("Kodak Photo CD"),470 .p.long_name = NULL_IF_CONFIG_SMALL("Kodak Photo CD"),
471 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,471 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
472};472};
libavcodec/pictordec.c+7−6
@@ -28,6 +28,7 @@ · 27 unmodified lines
28#include "avcodec.h"28#include "avcodec.h"
29#include "bytestream.h"29#include "bytestream.h"
30#include "cga_data.h"30#include "cga_data.h"
31#include "codec_internal.h"
31#include "internal.h"32#include "internal.h"
32 33
33typedef struct PicContext {34typedef struct PicContext {
@@ -280,12 +281,12 @@ finish: · 246 unmodified lines
280 return avpkt->size;281 return avpkt->size;
281}282}
282 283
283const AVCodec ff_pictor_decoder = {284const FFCodec ff_pictor_decoder = {
284 .name = "pictor",285 .p.name = "pictor",
285 .long_name = NULL_IF_CONFIG_SMALL("Pictor/PC Paint"),286 .p.long_name = NULL_IF_CONFIG_SMALL("Pictor/PC Paint"),
286 .type = AVMEDIA_TYPE_VIDEO,287 .p.type = AVMEDIA_TYPE_VIDEO,
287 .id = AV_CODEC_ID_PICTOR,288 .p.id = AV_CODEC_ID_PICTOR,
289 .p.capabilities = AV_CODEC_CAP_DR1,
288 .priv_data_size = sizeof(PicContext),290 .priv_data_size = sizeof(PicContext),
289 .decode = decode_frame,291 .decode = decode_frame,
290 .capabilities = AV_CODEC_CAP_DR1,
291};292};
libavcodec/pixlet.c+6−6
@@ -693,16 +693,16 @@ static int pixlet_decode_frame(AVCodecContext *avctx, void *data, · 692 unmodified lines
693 return pktsize;693 return pktsize;
694}694}
695 695
696const AVCodec ff_pixlet_decoder = {696const FFCodec ff_pixlet_decoder = {
697 .name = "pixlet",697 .p.name = "pixlet",
698 .long_name = NULL_IF_CONFIG_SMALL("Apple Pixlet"),698 .p.long_name = NULL_IF_CONFIG_SMALL("Apple Pixlet"),
699 .type = AVMEDIA_TYPE_VIDEO,699 .p.type = AVMEDIA_TYPE_VIDEO,
700 .id = AV_CODEC_ID_PIXLET,700 .p.id = AV_CODEC_ID_PIXLET,
701 .init = pixlet_init,701 .init = pixlet_init,
702 .close = pixlet_close,702 .close = pixlet_close,
703 .decode = pixlet_decode_frame,703 .decode = pixlet_decode_frame,
704 .priv_data_size = sizeof(PixletContext),704 .priv_data_size = sizeof(PixletContext),
705 .capabilities = AV_CODEC_CAP_DR1 |705 .p.capabilities = AV_CODEC_CAP_DR1 |
706 AV_CODEC_CAP_FRAME_THREADS,706 AV_CODEC_CAP_FRAME_THREADS,
707 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |707 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |
708 FF_CODEC_CAP_INIT_CLEANUP,708 FF_CODEC_CAP_INIT_CLEANUP,
libavcodec/pngdec.c+12−12
@@ -1719,34 +1719,34 @@ static av_cold int png_dec_end(AVCodecContext *avctx) · 1718 unmodified lines
1719}1719}
1720 1720
1721#if CONFIG_APNG_DECODER1721#if CONFIG_APNG_DECODER
1722const AVCodec ff_apng_decoder = {1722const FFCodec ff_apng_decoder = {
1723 .name = "apng",1723 .p.name = "apng",
1724 .long_name = NULL_IF_CONFIG_SMALL("APNG (Animated Portable Network Graphics) image"),1724 .p.long_name = NULL_IF_CONFIG_SMALL("APNG (Animated Portable Network Graphics) image"),
1725 .type = AVMEDIA_TYPE_VIDEO,1725 .p.type = AVMEDIA_TYPE_VIDEO,
1726 .id = AV_CODEC_ID_APNG,1726 .p.id = AV_CODEC_ID_APNG,
1727 .priv_data_size = sizeof(PNGDecContext),1727 .priv_data_size = sizeof(PNGDecContext),
1728 .init = png_dec_init,1728 .init = png_dec_init,
1729 .close = png_dec_end,1729 .close = png_dec_end,
1730 .decode = decode_frame_apng,1730 .decode = decode_frame_apng,
1731 .update_thread_context = ONLY_IF_THREADS_ENABLED(update_thread_context),1731 .update_thread_context = ONLY_IF_THREADS_ENABLED(update_thread_context),
1732 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS /*| AV_CODEC_CAP_DRAW_HORIZ_BAND*/,1732 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS /*| AV_CODEC_CAP_DRAW_HORIZ_BAND*/,
1733 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP |1733 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP |
1734 FF_CODEC_CAP_ALLOCATE_PROGRESS,1734 FF_CODEC_CAP_ALLOCATE_PROGRESS,
1735};1735};
1736#endif1736#endif
1737 1737
1738#if CONFIG_PNG_DECODER1738#if CONFIG_PNG_DECODER
1739const AVCodec ff_png_decoder = {1739const FFCodec ff_png_decoder = {
1740 .name = "png",1740 .p.name = "png",
1741 .long_name = NULL_IF_CONFIG_SMALL("PNG (Portable Network Graphics) image"),1741 .p.long_name = NULL_IF_CONFIG_SMALL("PNG (Portable Network Graphics) image"),
1742 .type = AVMEDIA_TYPE_VIDEO,1742 .p.type = AVMEDIA_TYPE_VIDEO,
1743 .id = AV_CODEC_ID_PNG,1743 .p.id = AV_CODEC_ID_PNG,
1744 .priv_data_size = sizeof(PNGDecContext),1744 .priv_data_size = sizeof(PNGDecContext),
1745 .init = png_dec_init,1745 .init = png_dec_init,
1746 .close = png_dec_end,1746 .close = png_dec_end,
1747 .decode = decode_frame_png,1747 .decode = decode_frame_png,
1748 .update_thread_context = ONLY_IF_THREADS_ENABLED(update_thread_context),1748 .update_thread_context = ONLY_IF_THREADS_ENABLED(update_thread_context),
1749 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS /*| AV_CODEC_CAP_DRAW_HORIZ_BAND*/,1749 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS /*| AV_CODEC_CAP_DRAW_HORIZ_BAND*/,
1750 .caps_internal = FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM | FF_CODEC_CAP_INIT_THREADSAFE |1750 .caps_internal = FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM | FF_CODEC_CAP_INIT_THREADSAFE |
1751 FF_CODEC_CAP_ALLOCATE_PROGRESS | FF_CODEC_CAP_INIT_CLEANUP,1751 FF_CODEC_CAP_ALLOCATE_PROGRESS | FF_CODEC_CAP_INIT_CLEANUP,
1752};1752};
libavcodec/pngenc.c+16−16
@@ -1111,17 +1111,17 @@ static const AVClass pngenc_class = { · 1110 unmodified lines
1111 .version = LIBAVUTIL_VERSION_INT,1111 .version = LIBAVUTIL_VERSION_INT,
1112};1112};
1113 1113
1114const AVCodec ff_png_encoder = {1114const FFCodec ff_png_encoder = {
1115 .name = "png",1115 .p.name = "png",
1116 .long_name = NULL_IF_CONFIG_SMALL("PNG (Portable Network Graphics) image"),1116 .p.long_name = NULL_IF_CONFIG_SMALL("PNG (Portable Network Graphics) image"),
1117 .type = AVMEDIA_TYPE_VIDEO,1117 .p.type = AVMEDIA_TYPE_VIDEO,
1118 .id = AV_CODEC_ID_PNG,1118 .p.id = AV_CODEC_ID_PNG,
1119 .priv_data_size = sizeof(PNGEncContext),1119 .priv_data_size = sizeof(PNGEncContext),
1120 .init = png_enc_init,1120 .init = png_enc_init,
1121 .close = png_enc_close,1121 .close = png_enc_close,
1122 .encode2 = encode_png,1122 .encode2 = encode_png,
1123 .capabilities = AV_CODEC_CAP_FRAME_THREADS,1123 .p.capabilities = AV_CODEC_CAP_FRAME_THREADS,
1124 .pix_fmts = (const enum AVPixelFormat[]) {1124 .p.pix_fmts = (const enum AVPixelFormat[]) {
1125 AV_PIX_FMT_RGB24, AV_PIX_FMT_RGBA,1125 AV_PIX_FMT_RGB24, AV_PIX_FMT_RGBA,
1126 AV_PIX_FMT_RGB48BE, AV_PIX_FMT_RGBA64BE,1126 AV_PIX_FMT_RGB48BE, AV_PIX_FMT_RGBA64BE,
1127 AV_PIX_FMT_PAL8,1127 AV_PIX_FMT_PAL8,
@@ -1129,21 +1129,21 @@ const AVCodec ff_png_encoder = { · 1 unmodified line
1129 AV_PIX_FMT_GRAY16BE, AV_PIX_FMT_YA16BE,1129 AV_PIX_FMT_GRAY16BE, AV_PIX_FMT_YA16BE,
1130 AV_PIX_FMT_MONOBLACK, AV_PIX_FMT_NONE1130 AV_PIX_FMT_MONOBLACK, AV_PIX_FMT_NONE
1131 },1131 },
1132 .priv_class = &pngenc_class,1132 .p.priv_class = &pngenc_class,
1133 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,1133 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
1134};1134};
1135 1135
1136const AVCodec ff_apng_encoder = {1136const FFCodec ff_apng_encoder = {
1137 .name = "apng",1137 .p.name = "apng",
1138 .long_name = NULL_IF_CONFIG_SMALL("APNG (Animated Portable Network Graphics) image"),1138 .p.long_name = NULL_IF_CONFIG_SMALL("APNG (Animated Portable Network Graphics) image"),
1139 .type = AVMEDIA_TYPE_VIDEO,1139 .p.type = AVMEDIA_TYPE_VIDEO,
1140 .id = AV_CODEC_ID_APNG,1140 .p.id = AV_CODEC_ID_APNG,
1141 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,1141 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,
1142 .priv_data_size = sizeof(PNGEncContext),1142 .priv_data_size = sizeof(PNGEncContext),
1143 .init = png_enc_init,1143 .init = png_enc_init,
1144 .close = png_enc_close,1144 .close = png_enc_close,
1145 .encode2 = encode_apng,1145 .encode2 = encode_apng,
1146 .pix_fmts = (const enum AVPixelFormat[]) {1146 .p.pix_fmts = (const enum AVPixelFormat[]) {
1147 AV_PIX_FMT_RGB24, AV_PIX_FMT_RGBA,1147 AV_PIX_FMT_RGB24, AV_PIX_FMT_RGBA,
1148 AV_PIX_FMT_RGB48BE, AV_PIX_FMT_RGBA64BE,1148 AV_PIX_FMT_RGB48BE, AV_PIX_FMT_RGBA64BE,
1149 AV_PIX_FMT_PAL8,1149 AV_PIX_FMT_PAL8,
@@ -1151,6 +1151,6 @@ const AVCodec ff_apng_encoder = { · 1 unmodified line
1151 AV_PIX_FMT_GRAY16BE, AV_PIX_FMT_YA16BE,1151 AV_PIX_FMT_GRAY16BE, AV_PIX_FMT_YA16BE,
1152 AV_PIX_FMT_NONE1152 AV_PIX_FMT_NONE
1153 },1153 },
1154 .priv_class = &pngenc_class,1154 .p.priv_class = &pngenc_class,
1155 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,1155 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
1156};1156};
libavcodec/pnmdec.c+37−36
@@ -22,6 +22,7 @@ · 21 unmodified lines
22#include "config_components.h"22#include "config_components.h"
23 23
24#include "avcodec.h"24#include "avcodec.h"
25#include "codec_internal.h"
25#include "internal.h"26#include "internal.h"
26#include "put_bits.h"27#include "put_bits.h"
27#include "pnm.h"28#include "pnm.h"
@@ -331,73 +332,73 @@ static int pnm_decode_frame(AVCodecContext *avctx, void *data, · 303 unmodified lines
331 332
332 333
333#if CONFIG_PGM_DECODER334#if CONFIG_PGM_DECODER
334const AVCodec ff_pgm_decoder = {335const FFCodec ff_pgm_decoder = {
335 .name = "pgm",336 .p.name = "pgm",
336 .long_name = NULL_IF_CONFIG_SMALL("PGM (Portable GrayMap) image"),337 .p.long_name = NULL_IF_CONFIG_SMALL("PGM (Portable GrayMap) image"),
337 .type = AVMEDIA_TYPE_VIDEO,338 .p.type = AVMEDIA_TYPE_VIDEO,
338 .id = AV_CODEC_ID_PGM,339 .p.id = AV_CODEC_ID_PGM,
340 .p.capabilities = AV_CODEC_CAP_DR1,
339 .priv_data_size = sizeof(PNMContext),341 .priv_data_size = sizeof(PNMContext),
340 .decode = pnm_decode_frame,342 .decode = pnm_decode_frame,
341 .capabilities = AV_CODEC_CAP_DR1,
342};343};
343#endif344#endif
344 345
345#if CONFIG_PGMYUV_DECODER346#if CONFIG_PGMYUV_DECODER
346const AVCodec ff_pgmyuv_decoder = {347const FFCodec ff_pgmyuv_decoder = {
347 .name = "pgmyuv",348 .p.name = "pgmyuv",
348 .long_name = NULL_IF_CONFIG_SMALL("PGMYUV (Portable GrayMap YUV) image"),349 .p.long_name = NULL_IF_CONFIG_SMALL("PGMYUV (Portable GrayMap YUV) image"),
349 .type = AVMEDIA_TYPE_VIDEO,350 .p.type = AVMEDIA_TYPE_VIDEO,
350 .id = AV_CODEC_ID_PGMYUV,351 .p.id = AV_CODEC_ID_PGMYUV,
352 .p.capabilities = AV_CODEC_CAP_DR1,
351 .priv_data_size = sizeof(PNMContext),353 .priv_data_size = sizeof(PNMContext),
352 .decode = pnm_decode_frame,354 .decode = pnm_decode_frame,
353 .capabilities = AV_CODEC_CAP_DR1,
354};355};
355#endif356#endif
356 357
357#if CONFIG_PPM_DECODER358#if CONFIG_PPM_DECODER
358const AVCodec ff_ppm_decoder = {359const FFCodec ff_ppm_decoder = {
359 .name = "ppm",360 .p.name = "ppm",
360 .long_name = NULL_IF_CONFIG_SMALL("PPM (Portable PixelMap) image"),361 .p.long_name = NULL_IF_CONFIG_SMALL("PPM (Portable PixelMap) image"),
361 .type = AVMEDIA_TYPE_VIDEO,362 .p.type = AVMEDIA_TYPE_VIDEO,
362 .id = AV_CODEC_ID_PPM,363 .p.id = AV_CODEC_ID_PPM,
364 .p.capabilities = AV_CODEC_CAP_DR1,
363 .priv_data_size = sizeof(PNMContext),365 .priv_data_size = sizeof(PNMContext),
364 .decode = pnm_decode_frame,366 .decode = pnm_decode_frame,
365 .capabilities = AV_CODEC_CAP_DR1,
366};367};
367#endif368#endif
368 369
369#if CONFIG_PBM_DECODER370#if CONFIG_PBM_DECODER
370const AVCodec ff_pbm_decoder = {371const FFCodec ff_pbm_decoder = {
371 .name = "pbm",372 .p.name = "pbm",
372 .long_name = NULL_IF_CONFIG_SMALL("PBM (Portable BitMap) image"),373 .p.long_name = NULL_IF_CONFIG_SMALL("PBM (Portable BitMap) image"),
373 .type = AVMEDIA_TYPE_VIDEO,374 .p.type = AVMEDIA_TYPE_VIDEO,
374 .id = AV_CODEC_ID_PBM,375 .p.id = AV_CODEC_ID_PBM,
376 .p.capabilities = AV_CODEC_CAP_DR1,
375 .priv_data_size = sizeof(PNMContext),377 .priv_data_size = sizeof(PNMContext),
376 .decode = pnm_decode_frame,378 .decode = pnm_decode_frame,
377 .capabilities = AV_CODEC_CAP_DR1,
378};379};
379#endif380#endif
380 381
381#if CONFIG_PAM_DECODER382#if CONFIG_PAM_DECODER
382const AVCodec ff_pam_decoder = {383const FFCodec ff_pam_decoder = {
383 .name = "pam",384 .p.name = "pam",
384 .long_name = NULL_IF_CONFIG_SMALL("PAM (Portable AnyMap) image"),385 .p.long_name = NULL_IF_CONFIG_SMALL("PAM (Portable AnyMap) image"),
385 .type = AVMEDIA_TYPE_VIDEO,386 .p.type = AVMEDIA_TYPE_VIDEO,
386 .id = AV_CODEC_ID_PAM,387 .p.id = AV_CODEC_ID_PAM,
388 .p.capabilities = AV_CODEC_CAP_DR1,
387 .priv_data_size = sizeof(PNMContext),389 .priv_data_size = sizeof(PNMContext),
388 .decode = pnm_decode_frame,390 .decode = pnm_decode_frame,
389 .capabilities = AV_CODEC_CAP_DR1,
390};391};
391#endif392#endif
392 393
393#if CONFIG_PFM_DECODER394#if CONFIG_PFM_DECODER
394const AVCodec ff_pfm_decoder = {395const FFCodec ff_pfm_decoder = {
395 .name = "pfm",396 .p.name = "pfm",
396 .long_name = NULL_IF_CONFIG_SMALL("PFM (Portable FloatMap) image"),397 .p.long_name = NULL_IF_CONFIG_SMALL("PFM (Portable FloatMap) image"),
397 .type = AVMEDIA_TYPE_VIDEO,398 .p.type = AVMEDIA_TYPE_VIDEO,
398 .id = AV_CODEC_ID_PFM,399 .p.id = AV_CODEC_ID_PFM,
400 .p.capabilities = AV_CODEC_CAP_DR1,
399 .priv_data_size = sizeof(PNMContext),401 .priv_data_size = sizeof(PNMContext),
400 .decode = pnm_decode_frame,402 .decode = pnm_decode_frame,
401 .capabilities = AV_CODEC_CAP_DR1,
402};403};
403#endif404#endif
libavcodec/pnmenc.c+35−35
@@ -151,14 +151,14 @@ static int pnm_encode_frame(AVCodecContext *avctx, AVPacket *pkt, · 150 unmodified lines
151}151}
152 152
153#if CONFIG_PGM_ENCODER153#if CONFIG_PGM_ENCODER
154const AVCodec ff_pgm_encoder = {154const FFCodec ff_pgm_encoder = {
155 .name = "pgm",155 .p.name = "pgm",
156 .long_name = NULL_IF_CONFIG_SMALL("PGM (Portable GrayMap) image"),156 .p.long_name = NULL_IF_CONFIG_SMALL("PGM (Portable GrayMap) image"),
157 .type = AVMEDIA_TYPE_VIDEO,157 .p.type = AVMEDIA_TYPE_VIDEO,
158 .id = AV_CODEC_ID_PGM,158 .p.id = AV_CODEC_ID_PGM,
159 .capabilities = AV_CODEC_CAP_DR1,159 .p.capabilities = AV_CODEC_CAP_DR1,
160 .encode2 = pnm_encode_frame,160 .encode2 = pnm_encode_frame,
161 .pix_fmts = (const enum AVPixelFormat[]){161 .p.pix_fmts = (const enum AVPixelFormat[]){
162 AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY16BE, AV_PIX_FMT_NONE162 AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY16BE, AV_PIX_FMT_NONE
163 },163 },
164 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,164 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
@@ -166,14 +166,14 @@ const AVCodec ff_pgm_encoder = { · 1 unmodified line
166#endif166#endif
167 167
168#if CONFIG_PGMYUV_ENCODER168#if CONFIG_PGMYUV_ENCODER
169const AVCodec ff_pgmyuv_encoder = {169const FFCodec ff_pgmyuv_encoder = {
170 .name = "pgmyuv",170 .p.name = "pgmyuv",
171 .long_name = NULL_IF_CONFIG_SMALL("PGMYUV (Portable GrayMap YUV) image"),171 .p.long_name = NULL_IF_CONFIG_SMALL("PGMYUV (Portable GrayMap YUV) image"),
172 .type = AVMEDIA_TYPE_VIDEO,172 .p.type = AVMEDIA_TYPE_VIDEO,
173 .id = AV_CODEC_ID_PGMYUV,173 .p.id = AV_CODEC_ID_PGMYUV,
174 .capabilities = AV_CODEC_CAP_DR1,174 .p.capabilities = AV_CODEC_CAP_DR1,
175 .encode2 = pnm_encode_frame,175 .encode2 = pnm_encode_frame,
176 .pix_fmts = (const enum AVPixelFormat[]){176 .p.pix_fmts = (const enum AVPixelFormat[]){
177 AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV420P16BE, AV_PIX_FMT_NONE177 AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV420P16BE, AV_PIX_FMT_NONE
178 },178 },
179 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,179 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
@@ -181,14 +181,14 @@ const AVCodec ff_pgmyuv_encoder = { · 1 unmodified line
181#endif181#endif
182 182
183#if CONFIG_PPM_ENCODER183#if CONFIG_PPM_ENCODER
184const AVCodec ff_ppm_encoder = {184const FFCodec ff_ppm_encoder = {
185 .name = "ppm",185 .p.name = "ppm",
186 .long_name = NULL_IF_CONFIG_SMALL("PPM (Portable PixelMap) image"),186 .p.long_name = NULL_IF_CONFIG_SMALL("PPM (Portable PixelMap) image"),
187 .type = AVMEDIA_TYPE_VIDEO,187 .p.type = AVMEDIA_TYPE_VIDEO,
188 .id = AV_CODEC_ID_PPM,188 .p.id = AV_CODEC_ID_PPM,
189 .capabilities = AV_CODEC_CAP_DR1,189 .p.capabilities = AV_CODEC_CAP_DR1,
190 .encode2 = pnm_encode_frame,190 .encode2 = pnm_encode_frame,
191 .pix_fmts = (const enum AVPixelFormat[]){191 .p.pix_fmts = (const enum AVPixelFormat[]){
192 AV_PIX_FMT_RGB24, AV_PIX_FMT_RGB48BE, AV_PIX_FMT_NONE192 AV_PIX_FMT_RGB24, AV_PIX_FMT_RGB48BE, AV_PIX_FMT_NONE
193 },193 },
194 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,194 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
@@ -196,28 +196,28 @@ const AVCodec ff_ppm_encoder = { · 1 unmodified line
196#endif196#endif
197 197
198#if CONFIG_PBM_ENCODER198#if CONFIG_PBM_ENCODER
199const AVCodec ff_pbm_encoder = {199const FFCodec ff_pbm_encoder = {
200 .name = "pbm",200 .p.name = "pbm",
201 .long_name = NULL_IF_CONFIG_SMALL("PBM (Portable BitMap) image"),201 .p.long_name = NULL_IF_CONFIG_SMALL("PBM (Portable BitMap) image"),
202 .type = AVMEDIA_TYPE_VIDEO,202 .p.type = AVMEDIA_TYPE_VIDEO,
203 .id = AV_CODEC_ID_PBM,203 .p.id = AV_CODEC_ID_PBM,
204 .capabilities = AV_CODEC_CAP_DR1,204 .p.capabilities = AV_CODEC_CAP_DR1,
205 .encode2 = pnm_encode_frame,205 .encode2 = pnm_encode_frame,
206 .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_MONOWHITE,206 .p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_MONOWHITE,
207 AV_PIX_FMT_NONE },207 AV_PIX_FMT_NONE },
208 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,208 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
209};209};
210#endif210#endif
211 211
212#if CONFIG_PFM_ENCODER212#if CONFIG_PFM_ENCODER
213const AVCodec ff_pfm_encoder = {213const FFCodec ff_pfm_encoder = {
214 .name = "pfm",214 .p.name = "pfm",
215 .long_name = NULL_IF_CONFIG_SMALL("PFM (Portable FloatMap) image"),215 .p.long_name = NULL_IF_CONFIG_SMALL("PFM (Portable FloatMap) image"),
216 .type = AVMEDIA_TYPE_VIDEO,216 .p.type = AVMEDIA_TYPE_VIDEO,
217 .id = AV_CODEC_ID_PFM,217 .p.id = AV_CODEC_ID_PFM,
218 .capabilities = AV_CODEC_CAP_DR1,218 .p.capabilities = AV_CODEC_CAP_DR1,
219 .encode2 = pnm_encode_frame,219 .encode2 = pnm_encode_frame,
220 .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_GBRPF32,220 .p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_GBRPF32,
221 AV_PIX_FMT_NONE },221 AV_PIX_FMT_NONE },
222 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,222 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
223};223};
libavcodec/proresdec2.c+7−7
@@ -871,18 +871,18 @@ static int update_thread_context(AVCodecContext *dst, const AVCodecContext *src) · 870 unmodified lines
871}871}
872#endif872#endif
873 873
874const AVCodec ff_prores_decoder = {874const FFCodec ff_prores_decoder = {
875 .name = "prores",875 .p.name = "prores",
876 .long_name = NULL_IF_CONFIG_SMALL("Apple ProRes (iCodec Pro)"),876 .p.long_name = NULL_IF_CONFIG_SMALL("Apple ProRes (iCodec Pro)"),
877 .type = AVMEDIA_TYPE_VIDEO,877 .p.type = AVMEDIA_TYPE_VIDEO,
878 .id = AV_CODEC_ID_PRORES,878 .p.id = AV_CODEC_ID_PRORES,
879 .priv_data_size = sizeof(ProresContext),879 .priv_data_size = sizeof(ProresContext),
880 .init = decode_init,880 .init = decode_init,
881 .close = decode_close,881 .close = decode_close,
882 .decode = decode_frame,882 .decode = decode_frame,
883 .update_thread_context = ONLY_IF_THREADS_ENABLED(update_thread_context),883 .update_thread_context = ONLY_IF_THREADS_ENABLED(update_thread_context),
884 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SLICE_THREADS | AV_CODEC_CAP_FRAME_THREADS,884 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SLICE_THREADS | AV_CODEC_CAP_FRAME_THREADS,
885 .profiles = NULL_IF_CONFIG_SMALL(ff_prores_profiles),885 .p.profiles = NULL_IF_CONFIG_SMALL(ff_prores_profiles),
886 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,886 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
887 .hw_configs = (const AVCodecHWConfigInternal *const []) {887 .hw_configs = (const AVCodecHWConfigInternal *const []) {
888#if CONFIG_PRORES_VIDEOTOOLBOX_HWACCEL888#if CONFIG_PRORES_VIDEOTOOLBOX_HWACCEL
libavcodec/proresenc_anatoliy.c+18−18
@@ -940,34 +940,34 @@ static const enum AVPixelFormat pix_fmts[] = { · 939 unmodified lines
940 AV_PIX_FMT_YUVA444P10, AV_PIX_FMT_NONE940 AV_PIX_FMT_YUVA444P10, AV_PIX_FMT_NONE
941};941};
942 942
943const AVCodec ff_prores_aw_encoder = {943const FFCodec ff_prores_aw_encoder = {
944 .name = "prores_aw",944 .p.name = "prores_aw",
945 .long_name = NULL_IF_CONFIG_SMALL("Apple ProRes"),945 .p.long_name = NULL_IF_CONFIG_SMALL("Apple ProRes"),
946 .type = AVMEDIA_TYPE_VIDEO,946 .p.type = AVMEDIA_TYPE_VIDEO,
947 .id = AV_CODEC_ID_PRORES,947 .p.id = AV_CODEC_ID_PRORES,
948 .pix_fmts = pix_fmts,948 .p.pix_fmts = pix_fmts,
949 .priv_data_size = sizeof(ProresContext),949 .priv_data_size = sizeof(ProresContext),
950 .init = prores_encode_init,950 .init = prores_encode_init,
951 .close = prores_encode_close,951 .close = prores_encode_close,
952 .encode2 = prores_encode_frame,952 .encode2 = prores_encode_frame,
953 .capabilities = AV_CODEC_CAP_FRAME_THREADS,953 .p.capabilities = AV_CODEC_CAP_FRAME_THREADS,
954 .priv_class = &prores_enc_class,954 .p.priv_class = &prores_enc_class,
955 .profiles = NULL_IF_CONFIG_SMALL(ff_prores_profiles),955 .p.profiles = NULL_IF_CONFIG_SMALL(ff_prores_profiles),
956 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,956 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
957};957};
958 958
959const AVCodec ff_prores_encoder = {959const FFCodec ff_prores_encoder = {
960 .name = "prores",960 .p.name = "prores",
961 .long_name = NULL_IF_CONFIG_SMALL("Apple ProRes"),961 .p.long_name = NULL_IF_CONFIG_SMALL("Apple ProRes"),
962 .type = AVMEDIA_TYPE_VIDEO,962 .p.type = AVMEDIA_TYPE_VIDEO,
963 .id = AV_CODEC_ID_PRORES,963 .p.id = AV_CODEC_ID_PRORES,
964 .pix_fmts = pix_fmts,964 .p.pix_fmts = pix_fmts,
965 .priv_data_size = sizeof(ProresContext),965 .priv_data_size = sizeof(ProresContext),
966 .init = prores_encode_init,966 .init = prores_encode_init,
967 .close = prores_encode_close,967 .close = prores_encode_close,
968 .encode2 = prores_encode_frame,968 .encode2 = prores_encode_frame,
969 .capabilities = AV_CODEC_CAP_FRAME_THREADS,969 .p.capabilities = AV_CODEC_CAP_FRAME_THREADS,
970 .priv_class = &prores_enc_class,970 .p.priv_class = &prores_enc_class,
971 .profiles = NULL_IF_CONFIG_SMALL(ff_prores_profiles),971 .p.profiles = NULL_IF_CONFIG_SMALL(ff_prores_profiles),
972 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,972 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
973};973};
libavcodec/proresenc_kostya.c+9−9
@@ -1393,21 +1393,21 @@ static const AVClass proresenc_class = { · 1392 unmodified lines
1393 .version = LIBAVUTIL_VERSION_INT,1393 .version = LIBAVUTIL_VERSION_INT,
1394};1394};
1395 1395
1396const AVCodec ff_prores_ks_encoder = {1396const FFCodec ff_prores_ks_encoder = {
1397 .name = "prores_ks",1397 .p.name = "prores_ks",
1398 .long_name = NULL_IF_CONFIG_SMALL("Apple ProRes (iCodec Pro)"),1398 .p.long_name = NULL_IF_CONFIG_SMALL("Apple ProRes (iCodec Pro)"),
1399 .type = AVMEDIA_TYPE_VIDEO,1399 .p.type = AVMEDIA_TYPE_VIDEO,
1400 .id = AV_CODEC_ID_PRORES,1400 .p.id = AV_CODEC_ID_PRORES,
1401 .priv_data_size = sizeof(ProresContext),1401 .priv_data_size = sizeof(ProresContext),
1402 .init = encode_init,1402 .init = encode_init,
1403 .close = encode_close,1403 .close = encode_close,
1404 .encode2 = encode_frame,1404 .encode2 = encode_frame,
1405 .capabilities = AV_CODEC_CAP_SLICE_THREADS | AV_CODEC_CAP_FRAME_THREADS,1405 .p.capabilities = AV_CODEC_CAP_SLICE_THREADS | AV_CODEC_CAP_FRAME_THREADS,
1406 .pix_fmts = (const enum AVPixelFormat[]) {1406 .p.pix_fmts = (const enum AVPixelFormat[]) {
1407 AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10,1407 AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10,
1408 AV_PIX_FMT_YUVA444P10, AV_PIX_FMT_NONE1408 AV_PIX_FMT_YUVA444P10, AV_PIX_FMT_NONE
1409 },1409 },
1410 .priv_class = &proresenc_class,1410 .p.priv_class = &proresenc_class,
1411 .profiles = NULL_IF_CONFIG_SMALL(ff_prores_profiles),1411 .p.profiles = NULL_IF_CONFIG_SMALL(ff_prores_profiles),
1412 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,1412 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
1413};1413};
libavcodec/prosumer.c+6−6
@@ -366,16 +366,16 @@ static av_cold int decode_close(AVCodecContext *avctx) · 365 unmodified lines
366 return 0;366 return 0;
367}367}
368 368
369const AVCodec ff_prosumer_decoder = {369const FFCodec ff_prosumer_decoder = {
370 .name = "prosumer",370 .p.name = "prosumer",
371 .long_name = NULL_IF_CONFIG_SMALL("Brooktree ProSumer Video"),371 .p.long_name = NULL_IF_CONFIG_SMALL("Brooktree ProSumer Video"),
372 .type = AVMEDIA_TYPE_VIDEO,372 .p.type = AVMEDIA_TYPE_VIDEO,
373 .id = AV_CODEC_ID_PROSUMER,373 .p.id = AV_CODEC_ID_PROSUMER,
374 .priv_data_size = sizeof(ProSumerContext),374 .priv_data_size = sizeof(ProSumerContext),
375 .init = decode_init,375 .init = decode_init,
376 .decode = decode_frame,376 .decode = decode_frame,
377 .close = decode_close,377 .close = decode_close,
378 .capabilities = AV_CODEC_CAP_DR1,378 .p.capabilities = AV_CODEC_CAP_DR1,
379 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |379 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |
380 FF_CODEC_CAP_INIT_CLEANUP,380 FF_CODEC_CAP_INIT_CLEANUP,
381};381};
libavcodec/psd.c+7−6
@@ -20,6 +20,7 @@ · 19 unmodified lines
20 */20 */
21 21
22#include "bytestream.h"22#include "bytestream.h"
23#include "codec_internal.h"
23#include "internal.h"24#include "internal.h"
24 25
25enum PsdCompr {26enum PsdCompr {
@@ -545,12 +546,12 @@ static int decode_frame(AVCodecContext *avctx, void *data, · 519 unmodified lines
545 return avpkt->size;546 return avpkt->size;
546}547}
547 548
548const AVCodec ff_psd_decoder = {549const FFCodec ff_psd_decoder = {
549 .name = "psd",550 .p.name = "psd",
550 .long_name = NULL_IF_CONFIG_SMALL("Photoshop PSD file"),551 .p.long_name = NULL_IF_CONFIG_SMALL("Photoshop PSD file"),
551 .type = AVMEDIA_TYPE_VIDEO,552 .p.type = AVMEDIA_TYPE_VIDEO,
552 .id = AV_CODEC_ID_PSD,553 .p.id = AV_CODEC_ID_PSD,
554 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
553 .priv_data_size = sizeof(PSDContext),555 .priv_data_size = sizeof(PSDContext),
554 .decode = decode_frame,556 .decode = decode_frame,
555 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
556};557};
libavcodec/pthread.c+1−1
@@ -60,7 +60,7 @@ static void validate_thread_parameters(AVCodecContext *avctx) · 59 unmodified lines
60 } else if (avctx->codec->capabilities & AV_CODEC_CAP_SLICE_THREADS &&60 } else if (avctx->codec->capabilities & AV_CODEC_CAP_SLICE_THREADS &&
61 avctx->thread_type & FF_THREAD_SLICE) {61 avctx->thread_type & FF_THREAD_SLICE) {
62 avctx->active_thread_type = FF_THREAD_SLICE;62 avctx->active_thread_type = FF_THREAD_SLICE;
63 } else if (!(avctx->codec->caps_internal & FF_CODEC_CAP_AUTO_THREADS)) {63 } else if (!(ffcodec(avctx->codec)->caps_internal & FF_CODEC_CAP_AUTO_THREADS)) {
64 avctx->thread_count = 1;64 avctx->thread_count = 1;
65 avctx->active_thread_type = 0;65 avctx->active_thread_type = 0;
66 }66 }
libavcodec/pthread_frame.c+21−20
@@ -68,7 +68,7 @@ enum { · 67 unmodified lines
68 68
69enum {69enum {
70 UNINITIALIZED, ///< Thread has not been created, AVCodec->close mustn't be called70 UNINITIALIZED, ///< Thread has not been created, AVCodec->close mustn't be called
71 NEEDS_CLOSE, ///< AVCodec->close needs to be called71 NEEDS_CLOSE, ///< FFCodec->close needs to be called
72 INITIALIZED, ///< Thread has been properly set up72 INITIALIZED, ///< Thread has been properly set up
73};73};
74 74
@@ -183,7 +183,7 @@ static attribute_align_arg void *frame_worker_thread(void *arg) · 108 unmodified lines
183{183{
184 PerThreadContext *p = arg;184 PerThreadContext *p = arg;
185 AVCodecContext *avctx = p->avctx;185 AVCodecContext *avctx = p->avctx;
186 const AVCodec *codec = avctx->codec;186 const FFCodec *codec = ffcodec(avctx->codec);
187 187
188 pthread_mutex_lock(&p->mutex);188 pthread_mutex_lock(&p->mutex);
189 while (1) {189 while (1) {
@@ -260,9 +260,10 @@ FF_ENABLE_DEPRECATION_WARNINGS · 70 unmodified lines
260 */260 */
261static int update_context_from_thread(AVCodecContext *dst, AVCodecContext *src, int for_user)261static int update_context_from_thread(AVCodecContext *dst, AVCodecContext *src, int for_user)
262{262{
263 const FFCodec *const codec = ffcodec(dst->codec);
263 int err = 0;264 int err = 0;
264 265
265 if (dst != src && (for_user || src->codec->update_thread_context)) {266 if (dst != src && (for_user || codec->update_thread_context)) {
266 dst->time_base = src->time_base;267 dst->time_base = src->time_base;
267 dst->framerate = src->framerate;268 dst->framerate = src->framerate;
268 dst->width = src->width;269 dst->width = src->width;
@@ -328,11 +329,11 @@ FF_ENABLE_DEPRECATION_WARNINGS · 59 unmodified lines
328 }329 }
329 330
330 if (for_user) {331 if (for_user) {
331 if (dst->codec->update_thread_context_for_user)332 if (codec->update_thread_context_for_user)
332 err = dst->codec->update_thread_context_for_user(dst, src);333 err = codec->update_thread_context_for_user(dst, src);
333 } else {334 } else {
334 if (dst->codec->update_thread_context)335 if (codec->update_thread_context)
335 err = dst->codec->update_thread_context(dst, src);336 err = codec->update_thread_context(dst, src);
336 }337 }
337 338
338 return err;339 return err;
@@ -701,7 +702,7 @@ DEFINE_OFFSET_ARRAY(PerThreadContext, per_thread, pthread_init_cnt, · 362 unmodified lines
701void ff_frame_thread_free(AVCodecContext *avctx, int thread_count)702void ff_frame_thread_free(AVCodecContext *avctx, int thread_count)
702{703{
703 FrameThreadContext *fctx = avctx->internal->thread_ctx;704 FrameThreadContext *fctx = avctx->internal->thread_ctx;
704 const AVCodec *codec = avctx->codec;705 const FFCodec *codec = ffcodec(avctx->codec);
705 int i;706 int i;
706 707
707 park_frame_worker_threads(fctx, thread_count);708 park_frame_worker_threads(fctx, thread_count);
@@ -743,7 +744,7 @@ void ff_frame_thread_free(AVCodecContext *avctx, int thread_count) · 35 unmodified lines
743 av_freep(&p->released_buffers);744 av_freep(&p->released_buffers);
744#endif745#endif
745 if (ctx->priv_data) {746 if (ctx->priv_data) {
746 if (codec->priv_class)747 if (codec->p.priv_class)
747 av_opt_free(ctx->priv_data);748 av_opt_free(ctx->priv_data);
748 av_freep(&ctx->priv_data);749 av_freep(&ctx->priv_data);
749 }750 }
@@ -771,7 +772,7 @@ void ff_frame_thread_free(AVCodecContext *avctx, int thread_count) · 21 unmodified lines
771 772
772static av_cold int init_thread(PerThreadContext *p, int *threads_to_free,773static av_cold int init_thread(PerThreadContext *p, int *threads_to_free,
773 FrameThreadContext *fctx, AVCodecContext *avctx,774 FrameThreadContext *fctx, AVCodecContext *avctx,
774 const AVCodec *codec, int first)775 const FFCodec *codec, int first)
775{776{
776 AVCodecContext *copy;777 AVCodecContext *copy;
777 int err;778 int err;
@@ -802,8 +803,8 @@ static av_cold int init_thread(PerThreadContext *p, int *threads_to_free, · 24 unmodified lines
802 if (!copy->priv_data)803 if (!copy->priv_data)
803 return AVERROR(ENOMEM);804 return AVERROR(ENOMEM);
804 805
805 if (codec->priv_class) {806 if (codec->p.priv_class) {
806 *(const AVClass **)copy->priv_data = codec->priv_class;807 *(const AVClass **)copy->priv_data = codec->p.priv_class;
807 err = av_opt_copy(copy->priv_data, avctx->priv_data);808 err = av_opt_copy(copy->priv_data, avctx->priv_data);
808 if (err < 0)809 if (err < 0)
809 return err;810 return err;
@@ -848,7 +849,7 @@ static av_cold int init_thread(PerThreadContext *p, int *threads_to_free, · 38 unmodified lines
848int ff_frame_thread_init(AVCodecContext *avctx)849int ff_frame_thread_init(AVCodecContext *avctx)
849{850{
850 int thread_count = avctx->thread_count;851 int thread_count = avctx->thread_count;
851 const AVCodec *codec = avctx->codec;852 const FFCodec *codec = ffcodec(avctx->codec);
852 FrameThreadContext *fctx;853 FrameThreadContext *fctx;
853 int err, i = 0;854 int err, i = 0;
854 855
@@ -880,7 +881,7 @@ int ff_frame_thread_init(AVCodecContext *avctx) · 25 unmodified lines
880 fctx->async_lock = 1;881 fctx->async_lock = 1;
881 fctx->delaying = 1;882 fctx->delaying = 1;
882 883
883 if (codec->type == AVMEDIA_TYPE_VIDEO)884 if (codec->p.type == AVMEDIA_TYPE_VIDEO)
884 avctx->delay = avctx->thread_count - 1;885 avctx->delay = avctx->thread_count - 1;
885 886
886 fctx->threads = av_calloc(thread_count, sizeof(*fctx->threads));887 fctx->threads = av_calloc(thread_count, sizeof(*fctx->threads));
@@ -932,8 +933,8 @@ void ff_thread_flush(AVCodecContext *avctx) · 45 unmodified lines
932 release_delayed_buffers(p);933 release_delayed_buffers(p);
933#endif934#endif
934 935
935 if (avctx->codec->flush)936 if (ffcodec(avctx->codec)->flush)
936 avctx->codec->flush(p->avctx);937 ffcodec(avctx->codec)->flush(p->avctx);
937 }938 }
938}939}
939 940
@@ -942,7 +943,7 @@ int ff_thread_can_start_frame(AVCodecContext *avctx) · 2 unmodified lines
942 PerThreadContext *p = avctx->internal->thread_ctx;943 PerThreadContext *p = avctx->internal->thread_ctx;
943FF_DISABLE_DEPRECATION_WARNINGS944FF_DISABLE_DEPRECATION_WARNINGS
944 if ((avctx->active_thread_type&FF_THREAD_FRAME) && atomic_load(&p->state) != STATE_SETTING_UP &&945 if ((avctx->active_thread_type&FF_THREAD_FRAME) && atomic_load(&p->state) != STATE_SETTING_UP &&
945 (avctx->codec->update_thread_context946 (ffcodec(avctx->codec)->update_thread_context
946#if FF_API_THREAD_SAFE_CALLBACKS947#if FF_API_THREAD_SAFE_CALLBACKS
947 || !THREAD_SAFE_CALLBACKS(avctx)948 || !THREAD_SAFE_CALLBACKS(avctx)
948#endif949#endif
@@ -964,7 +965,7 @@ static int thread_get_buffer_internal(AVCodecContext *avctx, AVFrame *f, int fla · 15 unmodified lines
964 p = avctx->internal->thread_ctx;965 p = avctx->internal->thread_ctx;
965FF_DISABLE_DEPRECATION_WARNINGS966FF_DISABLE_DEPRECATION_WARNINGS
966 if (atomic_load(&p->state) != STATE_SETTING_UP &&967 if (atomic_load(&p->state) != STATE_SETTING_UP &&
967 (avctx->codec->update_thread_context968 (ffcodec(avctx->codec)->update_thread_context
968#if FF_API_THREAD_SAFE_CALLBACKS969#if FF_API_THREAD_SAFE_CALLBACKS
969 || !THREAD_SAFE_CALLBACKS(avctx)970 || !THREAD_SAFE_CALLBACKS(avctx)
970#endif971#endif
@@ -996,7 +997,7 @@ FF_DISABLE_DEPRECATION_WARNINGS · 25 unmodified lines
996 pthread_mutex_unlock(&p->progress_mutex);997 pthread_mutex_unlock(&p->progress_mutex);
997 998
998 }999 }
999 if (!THREAD_SAFE_CALLBACKS(avctx) && !avctx->codec->update_thread_context)1000 if (!THREAD_SAFE_CALLBACKS(avctx) && !ffcodec(avctx->codec)->update_thread_context)
1000 ff_thread_finish_setup(avctx);1001 ff_thread_finish_setup(avctx);
1001FF_ENABLE_DEPRECATION_WARNINGS1002FF_ENABLE_DEPRECATION_WARNINGS
1002#endif1003#endif
@@ -1059,7 +1060,7 @@ int ff_thread_get_ext_buffer(AVCodecContext *avctx, ThreadFrame *f, int flags) · 56 unmodified lines
1059 if (!(avctx->active_thread_type & FF_THREAD_FRAME))1060 if (!(avctx->active_thread_type & FF_THREAD_FRAME))
1060 return ff_get_buffer(avctx, f->f, flags);1061 return ff_get_buffer(avctx, f->f, flags);
1061 1062
1062 if (avctx->codec->caps_internal & FF_CODEC_CAP_ALLOCATE_PROGRESS) {1063 if (ffcodec(avctx->codec)->caps_internal & FF_CODEC_CAP_ALLOCATE_PROGRESS) {
1063 atomic_int *progress;1064 atomic_int *progress;
1064 f->progress = av_buffer_alloc(2 * sizeof(*progress));1065 f->progress = av_buffer_alloc(2 * sizeof(*progress));
1065 if (!f->progress) {1066 if (!f->progress) {
libavcodec/pthread_slice.c+1−1
@@ -156,7 +156,7 @@ int ff_slice_thread_init(AVCodecContext *avctx) · 155 unmodified lines
156 }156 }
157 157
158 avctx->internal->thread_ctx = c = av_mallocz(sizeof(*c));158 avctx->internal->thread_ctx = c = av_mallocz(sizeof(*c));
159 mainfunc = avctx->codec->caps_internal & FF_CODEC_CAP_SLICE_THREAD_HAS_MF ? &main_function : NULL;159 mainfunc = ffcodec(avctx->codec)->caps_internal & FF_CODEC_CAP_SLICE_THREAD_HAS_MF ? &main_function : NULL;
160 if (!c || (thread_count = avpriv_slicethread_create(&c->thread, avctx, worker_func, mainfunc, thread_count)) <= 1) {160 if (!c || (thread_count = avpriv_slicethread_create(&c->thread, avctx, worker_func, mainfunc, thread_count)) <= 1) {
161 if (c)161 if (c)
162 avpriv_slicethread_free(&c->thread);162 avpriv_slicethread_free(&c->thread);
libavcodec/ptx.c+7−6
@@ -23,6 +23,7 @@ · 22 unmodified lines
23#include "libavutil/intreadwrite.h"23#include "libavutil/intreadwrite.h"
24#include "libavutil/imgutils.h"24#include "libavutil/imgutils.h"
25#include "avcodec.h"25#include "avcodec.h"
26#include "codec_internal.h"
26#include "internal.h"27#include "internal.h"
27 28
28static int ptx_decode_frame(AVCodecContext *avctx, void *data, int *got_frame,29static int ptx_decode_frame(AVCodecContext *avctx, void *data, int *got_frame,
@@ -85,11 +86,11 @@ static int ptx_decode_frame(AVCodecContext *avctx, void *data, int *got_frame, · 56 unmodified lines
85 return offset + w*h*bytes_per_pixel;86 return offset + w*h*bytes_per_pixel;
86}87}
87 88
88const AVCodec ff_ptx_decoder = {89const FFCodec ff_ptx_decoder = {
89 .name = "ptx",90 .p.name = "ptx",
90 .long_name = NULL_IF_CONFIG_SMALL("V.Flash PTX image"),91 .p.long_name = NULL_IF_CONFIG_SMALL("V.Flash PTX image"),
91 .type = AVMEDIA_TYPE_VIDEO,92 .p.type = AVMEDIA_TYPE_VIDEO,
92 .id = AV_CODEC_ID_PTX,93 .p.id = AV_CODEC_ID_PTX,
94 .p.capabilities = AV_CODEC_CAP_DR1,
93 .decode = ptx_decode_frame,95 .decode = ptx_decode_frame,
94 .capabilities = AV_CODEC_CAP_DR1,
95};96};
libavcodec/qcelpdec.c+6−6
@@ -791,14 +791,14 @@ erasure: · 790 unmodified lines
791 return buf_size;791 return buf_size;
792}792}
793 793
794const AVCodec ff_qcelp_decoder = {794const FFCodec ff_qcelp_decoder = {
795 .name = "qcelp",795 .p.name = "qcelp",
796 .long_name = NULL_IF_CONFIG_SMALL("QCELP / PureVoice"),796 .p.long_name = NULL_IF_CONFIG_SMALL("QCELP / PureVoice"),
797 .type = AVMEDIA_TYPE_AUDIO,797 .p.type = AVMEDIA_TYPE_AUDIO,
798 .id = AV_CODEC_ID_QCELP,798 .p.id = AV_CODEC_ID_QCELP,
799 .init = qcelp_decode_init,799 .init = qcelp_decode_init,
800 .decode = qcelp_decode_frame,800 .decode = qcelp_decode_frame,
801 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,801 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
802 .priv_data_size = sizeof(QCELPContext),802 .priv_data_size = sizeof(QCELPContext),
803 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,803 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
804};804};
libavcodec/qdm2.c+6−6
@@ -1870,15 +1870,15 @@ static int qdm2_decode_frame(AVCodecContext *avctx, void *data, · 1869 unmodified lines
1870 return s->checksum_size;1870 return s->checksum_size;
1871}1871}
1872 1872
1873const AVCodec ff_qdm2_decoder = {1873const FFCodec ff_qdm2_decoder = {
1874 .name = "qdm2",1874 .p.name = "qdm2",
1875 .long_name = NULL_IF_CONFIG_SMALL("QDesign Music Codec 2"),1875 .p.long_name = NULL_IF_CONFIG_SMALL("QDesign Music Codec 2"),
1876 .type = AVMEDIA_TYPE_AUDIO,1876 .p.type = AVMEDIA_TYPE_AUDIO,
1877 .id = AV_CODEC_ID_QDM2,1877 .p.id = AV_CODEC_ID_QDM2,
1878 .priv_data_size = sizeof(QDM2Context),1878 .priv_data_size = sizeof(QDM2Context),
1879 .init = qdm2_decode_init,1879 .init = qdm2_decode_init,
1880 .close = qdm2_decode_close,1880 .close = qdm2_decode_close,
1881 .decode = qdm2_decode_frame,1881 .decode = qdm2_decode_frame,
1882 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,1882 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
1883 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,1883 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
1884};1884};
libavcodec/qdmc.c+6−6
@@ -729,16 +729,16 @@ static int qdmc_decode_frame(AVCodecContext *avctx, void *data, · 728 unmodified lines
729 return ret;729 return ret;
730}730}
731 731
732const AVCodec ff_qdmc_decoder = {732const FFCodec ff_qdmc_decoder = {
733 .name = "qdmc",733 .p.name = "qdmc",
734 .long_name = NULL_IF_CONFIG_SMALL("QDesign Music Codec 1"),734 .p.long_name = NULL_IF_CONFIG_SMALL("QDesign Music Codec 1"),
735 .type = AVMEDIA_TYPE_AUDIO,735 .p.type = AVMEDIA_TYPE_AUDIO,
736 .id = AV_CODEC_ID_QDMC,736 .p.id = AV_CODEC_ID_QDMC,
737 .priv_data_size = sizeof(QDMCContext),737 .priv_data_size = sizeof(QDMCContext),
738 .init = qdmc_decode_init,738 .init = qdmc_decode_init,
739 .close = qdmc_decode_close,739 .close = qdmc_decode_close,
740 .decode = qdmc_decode_frame,740 .decode = qdmc_decode_frame,
741 .flush = qdmc_flush,741 .flush = qdmc_flush,
742 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,742 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
743 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,743 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
744};744};
libavcodec/qdrw.c+7−6
@@ -30,6 +30,7 @@ · 29 unmodified lines
30#include "libavutil/intreadwrite.h"30#include "libavutil/intreadwrite.h"
31#include "avcodec.h"31#include "avcodec.h"
32#include "bytestream.h"32#include "bytestream.h"
33#include "codec_internal.h"
33#include "internal.h"34#include "internal.h"
34 35
35enum QuickdrawOpcodes {36enum QuickdrawOpcodes {
@@ -514,11 +515,11 @@ static int decode_frame(AVCodecContext *avctx, · 478 unmodified lines
514 }515 }
515}516}
516 517
517const AVCodec ff_qdraw_decoder = {518const FFCodec ff_qdraw_decoder = {
518 .name = "qdraw",519 .p.name = "qdraw",
519 .long_name = NULL_IF_CONFIG_SMALL("Apple QuickDraw"),520 .p.long_name = NULL_IF_CONFIG_SMALL("Apple QuickDraw"),
520 .type = AVMEDIA_TYPE_VIDEO,521 .p.type = AVMEDIA_TYPE_VIDEO,
521 .id = AV_CODEC_ID_QDRAW,522 .p.id = AV_CODEC_ID_QDRAW,
523 .p.capabilities = AV_CODEC_CAP_DR1,
522 .decode = decode_frame,524 .decode = decode_frame,
523 .capabilities = AV_CODEC_CAP_DR1,
524};525};
libavcodec/qpeg.c+6−6
@@ -353,17 +353,17 @@ static av_cold int decode_init(AVCodecContext *avctx){ · 352 unmodified lines
353 return 0;353 return 0;
354}354}
355 355
356const AVCodec ff_qpeg_decoder = {356const FFCodec ff_qpeg_decoder = {
357 .name = "qpeg",357 .p.name = "qpeg",
358 .long_name = NULL_IF_CONFIG_SMALL("Q-team QPEG"),358 .p.long_name = NULL_IF_CONFIG_SMALL("Q-team QPEG"),
359 .type = AVMEDIA_TYPE_VIDEO,359 .p.type = AVMEDIA_TYPE_VIDEO,
360 .id = AV_CODEC_ID_QPEG,360 .p.id = AV_CODEC_ID_QPEG,
361 .priv_data_size = sizeof(QpegContext),361 .priv_data_size = sizeof(QpegContext),
362 .init = decode_init,362 .init = decode_init,
363 .close = decode_end,363 .close = decode_end,
364 .decode = decode_frame,364 .decode = decode_frame,
365 .flush = decode_flush,365 .flush = decode_flush,
366 .capabilities = AV_CODEC_CAP_DR1,366 .p.capabilities = AV_CODEC_CAP_DR1,
367 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |367 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |
368 FF_CODEC_CAP_INIT_CLEANUP,368 FF_CODEC_CAP_INIT_CLEANUP,
369};369};
libavcodec/qsvdec.c+10−9
@@ -43,6 +43,7 @@ · 42 unmodified lines
43#include "libavutil/film_grain_params.h"43#include "libavutil/film_grain_params.h"
44 44
45#include "avcodec.h"45#include "avcodec.h"
46#include "codec_internal.h"
46#include "internal.h"47#include "internal.h"
47#include "decode.h"48#include "decode.h"
48#include "hwconfig.h"49#include "hwconfig.h"
@@ -977,25 +978,25 @@ static const AVClass x##_qsv_class = { \ · 928 unmodified lines
977 .option = opt, \978 .option = opt, \
978 .version = LIBAVUTIL_VERSION_INT, \979 .version = LIBAVUTIL_VERSION_INT, \
979}; \980}; \
980const AVCodec ff_##x##_qsv_decoder = { \981const FFCodec ff_##x##_qsv_decoder = { \
981 .name = #x "_qsv", \982 .p.name = #x "_qsv", \
982 .long_name = NULL_IF_CONFIG_SMALL(#X " video (Intel Quick Sync Video acceleration)"), \983 .p.long_name = NULL_IF_CONFIG_SMALL(#X " video (Intel Quick Sync Video acceleration)"), \
983 .priv_data_size = sizeof(QSVDecContext), \984 .priv_data_size = sizeof(QSVDecContext), \
984 .type = AVMEDIA_TYPE_VIDEO, \985 .p.type = AVMEDIA_TYPE_VIDEO, \
985 .id = AV_CODEC_ID_##X, \986 .p.id = AV_CODEC_ID_##X, \
986 .init = qsv_decode_init, \987 .init = qsv_decode_init, \
987 .decode = qsv_decode_frame, \988 .decode = qsv_decode_frame, \
988 .flush = qsv_decode_flush, \989 .flush = qsv_decode_flush, \
989 .close = qsv_decode_close, \990 .close = qsv_decode_close, \
990 .bsfs = bsf_name, \991 .bsfs = bsf_name, \
991 .capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_DR1 | AV_CODEC_CAP_AVOID_PROBING | AV_CODEC_CAP_HYBRID, \992 .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_DR1 | AV_CODEC_CAP_AVOID_PROBING | AV_CODEC_CAP_HYBRID, \
992 .priv_class = &x##_qsv_class, \993 .p.priv_class = &x##_qsv_class, \
993 .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_NV12, \994 .p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_NV12, \
994 AV_PIX_FMT_P010, \995 AV_PIX_FMT_P010, \
995 AV_PIX_FMT_QSV, \996 AV_PIX_FMT_QSV, \
996 AV_PIX_FMT_NONE }, \997 AV_PIX_FMT_NONE }, \
997 .hw_configs = qsv_hw_configs, \998 .hw_configs = qsv_hw_configs, \
998 .wrapper_name = "qsv", \999 .p.wrapper_name = "qsv", \
999}; \1000}; \
1000 1001
1001#define DEFINE_QSV_DECODER(x, X, bsf_name) DEFINE_QSV_DECODER_WITH_OPTION(x, X, bsf_name, options)1002#define DEFINE_QSV_DECODER(x, X, bsf_name) DEFINE_QSV_DECODER_WITH_OPTION(x, X, bsf_name, options)
libavcodec/qsvenc_h264.c+9−9
@@ -177,23 +177,23 @@ static const AVCodecDefault qsv_enc_defaults[] = { · 176 unmodified lines
177 { NULL },177 { NULL },
178};178};
179 179
180const AVCodec ff_h264_qsv_encoder = {180const FFCodec ff_h264_qsv_encoder = {
181 .name = "h264_qsv",181 .p.name = "h264_qsv",
182 .long_name = NULL_IF_CONFIG_SMALL("H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (Intel Quick Sync Video acceleration)"),182 .p.long_name = NULL_IF_CONFIG_SMALL("H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (Intel Quick Sync Video acceleration)"),
183 .priv_data_size = sizeof(QSVH264EncContext),183 .priv_data_size = sizeof(QSVH264EncContext),
184 .type = AVMEDIA_TYPE_VIDEO,184 .p.type = AVMEDIA_TYPE_VIDEO,
185 .id = AV_CODEC_ID_H264,185 .p.id = AV_CODEC_ID_H264,
186 .init = qsv_enc_init,186 .init = qsv_enc_init,
187 .encode2 = qsv_enc_frame,187 .encode2 = qsv_enc_frame,
188 .close = qsv_enc_close,188 .close = qsv_enc_close,
189 .capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_HYBRID,189 .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_HYBRID,
190 .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_NV12,190 .p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_NV12,
191 AV_PIX_FMT_P010,191 AV_PIX_FMT_P010,
192 AV_PIX_FMT_QSV,192 AV_PIX_FMT_QSV,
193 AV_PIX_FMT_NONE },193 AV_PIX_FMT_NONE },
194 .priv_class = &class,194 .p.priv_class = &class,
195 .defaults = qsv_enc_defaults,195 .defaults = qsv_enc_defaults,
196 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,196 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
197 .wrapper_name = "qsv",197 .p.wrapper_name = "qsv",
198 .hw_configs = ff_qsv_enc_hw_configs,198 .hw_configs = ff_qsv_enc_hw_configs,
199};199};
libavcodec/qsvenc_hevc.c+9−9
@@ -291,17 +291,17 @@ static const AVCodecDefault qsv_enc_defaults[] = { · 290 unmodified lines
291 { NULL },291 { NULL },
292};292};
293 293
294const AVCodec ff_hevc_qsv_encoder = {294const FFCodec ff_hevc_qsv_encoder = {
295 .name = "hevc_qsv",295 .p.name = "hevc_qsv",
296 .long_name = NULL_IF_CONFIG_SMALL("HEVC (Intel Quick Sync Video acceleration)"),296 .p.long_name = NULL_IF_CONFIG_SMALL("HEVC (Intel Quick Sync Video acceleration)"),
297 .priv_data_size = sizeof(QSVHEVCEncContext),297 .priv_data_size = sizeof(QSVHEVCEncContext),
298 .type = AVMEDIA_TYPE_VIDEO,298 .p.type = AVMEDIA_TYPE_VIDEO,
299 .id = AV_CODEC_ID_HEVC,299 .p.id = AV_CODEC_ID_HEVC,
300 .init = qsv_enc_init,300 .init = qsv_enc_init,
301 .encode2 = qsv_enc_frame,301 .encode2 = qsv_enc_frame,
302 .close = qsv_enc_close,302 .close = qsv_enc_close,
303 .capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_HYBRID,303 .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_HYBRID,
304 .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_NV12,304 .p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_NV12,
305 AV_PIX_FMT_P010,305 AV_PIX_FMT_P010,
306 AV_PIX_FMT_QSV,306 AV_PIX_FMT_QSV,
307#if QSV_VERSION_ATLEAST(1, 17)307#if QSV_VERSION_ATLEAST(1, 17)
@@ -311,9 +311,9 @@ const AVCodec ff_hevc_qsv_encoder = { · 3 unmodified lines
311 AV_PIX_FMT_X2RGB10,311 AV_PIX_FMT_X2RGB10,
312#endif312#endif
313 AV_PIX_FMT_NONE },313 AV_PIX_FMT_NONE },
314 .priv_class = &class,314 .p.priv_class = &class,
315 .defaults = qsv_enc_defaults,315 .defaults = qsv_enc_defaults,
316 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,316 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
317 .wrapper_name = "qsv",317 .p.wrapper_name = "qsv",
318 .hw_configs = ff_qsv_enc_hw_configs,318 .hw_configs = ff_qsv_enc_hw_configs,
319};319};
libavcodec/qsvenc_jpeg.c+9−9
@@ -79,21 +79,21 @@ static const AVCodecDefault qsv_enc_defaults[] = { · 78 unmodified lines
79 { NULL },79 { NULL },
80};80};
81 81
82const AVCodec ff_mjpeg_qsv_encoder = {82const FFCodec ff_mjpeg_qsv_encoder = {
83 .name = "mjpeg_qsv",83 .p.name = "mjpeg_qsv",
84 .long_name = NULL_IF_CONFIG_SMALL("MJPEG (Intel Quick Sync Video acceleration)"),84 .p.long_name = NULL_IF_CONFIG_SMALL("MJPEG (Intel Quick Sync Video acceleration)"),
85 .priv_data_size = sizeof(QSVMJPEGEncContext),85 .priv_data_size = sizeof(QSVMJPEGEncContext),
86 .type = AVMEDIA_TYPE_VIDEO,86 .p.type = AVMEDIA_TYPE_VIDEO,
87 .id = AV_CODEC_ID_MJPEG,87 .p.id = AV_CODEC_ID_MJPEG,
88 .init = qsv_enc_init,88 .init = qsv_enc_init,
89 .encode2 = qsv_enc_frame,89 .encode2 = qsv_enc_frame,
90 .close = qsv_enc_close,90 .close = qsv_enc_close,
91 .capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_HYBRID,91 .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_HYBRID,
92 .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_NV12,92 .p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_NV12,
93 AV_PIX_FMT_QSV,93 AV_PIX_FMT_QSV,
94 AV_PIX_FMT_NONE },94 AV_PIX_FMT_NONE },
95 .priv_class = &class,95 .p.priv_class = &class,
96 .defaults = qsv_enc_defaults,96 .defaults = qsv_enc_defaults,
97 .wrapper_name = "qsv",97 .p.wrapper_name = "qsv",
98 .hw_configs = ff_qsv_enc_hw_configs,98 .hw_configs = ff_qsv_enc_hw_configs,
99};99};
libavcodec/qsvenc_mpeg2.c+9−9
@@ -92,22 +92,22 @@ static const AVCodecDefault qsv_enc_defaults[] = { · 91 unmodified lines
92 { NULL },92 { NULL },
93};93};
94 94
95const AVCodec ff_mpeg2_qsv_encoder = {95const FFCodec ff_mpeg2_qsv_encoder = {
96 .name = "mpeg2_qsv",96 .p.name = "mpeg2_qsv",
97 .long_name = NULL_IF_CONFIG_SMALL("MPEG-2 video (Intel Quick Sync Video acceleration)"),97 .p.long_name = NULL_IF_CONFIG_SMALL("MPEG-2 video (Intel Quick Sync Video acceleration)"),
98 .priv_data_size = sizeof(QSVMpeg2EncContext),98 .priv_data_size = sizeof(QSVMpeg2EncContext),
99 .type = AVMEDIA_TYPE_VIDEO,99 .p.type = AVMEDIA_TYPE_VIDEO,
100 .id = AV_CODEC_ID_MPEG2VIDEO,100 .p.id = AV_CODEC_ID_MPEG2VIDEO,
101 .init = qsv_enc_init,101 .init = qsv_enc_init,
102 .encode2 = qsv_enc_frame,102 .encode2 = qsv_enc_frame,
103 .close = qsv_enc_close,103 .close = qsv_enc_close,
104 .capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_HYBRID,104 .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_HYBRID,
105 .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_NV12,105 .p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_NV12,
106 AV_PIX_FMT_QSV,106 AV_PIX_FMT_QSV,
107 AV_PIX_FMT_NONE },107 AV_PIX_FMT_NONE },
108 .priv_class = &class,108 .p.priv_class = &class,
109 .defaults = qsv_enc_defaults,109 .defaults = qsv_enc_defaults,
110 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,110 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
111 .wrapper_name = "qsv",111 .p.wrapper_name = "qsv",
112 .hw_configs = ff_qsv_enc_hw_configs,112 .hw_configs = ff_qsv_enc_hw_configs,
113};113};
libavcodec/qsvenc_vp9.c+9−9
@@ -102,23 +102,23 @@ static const AVCodecDefault qsv_enc_defaults[] = { · 101 unmodified lines
102 { NULL },102 { NULL },
103};103};
104 104
105const AVCodec ff_vp9_qsv_encoder = {105const FFCodec ff_vp9_qsv_encoder = {
106 .name = "vp9_qsv",106 .p.name = "vp9_qsv",
107 .long_name = NULL_IF_CONFIG_SMALL("VP9 video (Intel Quick Sync Video acceleration)"),107 .p.long_name = NULL_IF_CONFIG_SMALL("VP9 video (Intel Quick Sync Video acceleration)"),
108 .priv_data_size = sizeof(QSVVP9EncContext),108 .priv_data_size = sizeof(QSVVP9EncContext),
109 .type = AVMEDIA_TYPE_VIDEO,109 .p.type = AVMEDIA_TYPE_VIDEO,
110 .id = AV_CODEC_ID_VP9,110 .p.id = AV_CODEC_ID_VP9,
111 .init = qsv_enc_init,111 .init = qsv_enc_init,
112 .encode2 = qsv_enc_frame,112 .encode2 = qsv_enc_frame,
113 .close = qsv_enc_close,113 .close = qsv_enc_close,
114 .capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_HYBRID,114 .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_HYBRID,
115 .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_NV12,115 .p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_NV12,
116 AV_PIX_FMT_P010,116 AV_PIX_FMT_P010,
117 AV_PIX_FMT_QSV,117 AV_PIX_FMT_QSV,
118 AV_PIX_FMT_NONE },118 AV_PIX_FMT_NONE },
119 .priv_class = &class,119 .p.priv_class = &class,
120 .defaults = qsv_enc_defaults,120 .defaults = qsv_enc_defaults,
121 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,121 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
122 .wrapper_name = "qsv",122 .p.wrapper_name = "qsv",
123 .hw_configs = ff_qsv_enc_hw_configs,123 .hw_configs = ff_qsv_enc_hw_configs,
124};124};
libavcodec/qtrle.c+6−6
@@ -582,16 +582,16 @@ static av_cold int qtrle_decode_end(AVCodecContext *avctx) · 581 unmodified lines
582 return 0;582 return 0;
583}583}
584 584
585const AVCodec ff_qtrle_decoder = {585const FFCodec ff_qtrle_decoder = {
586 .name = "qtrle",586 .p.name = "qtrle",
587 .long_name = NULL_IF_CONFIG_SMALL("QuickTime Animation (RLE) video"),587 .p.long_name = NULL_IF_CONFIG_SMALL("QuickTime Animation (RLE) video"),
588 .type = AVMEDIA_TYPE_VIDEO,588 .p.type = AVMEDIA_TYPE_VIDEO,
589 .id = AV_CODEC_ID_QTRLE,589 .p.id = AV_CODEC_ID_QTRLE,
590 .priv_data_size = sizeof(QtrleContext),590 .priv_data_size = sizeof(QtrleContext),
591 .init = qtrle_decode_init,591 .init = qtrle_decode_init,
592 .close = qtrle_decode_end,592 .close = qtrle_decode_end,
593 .decode = qtrle_decode_frame,593 .decode = qtrle_decode_frame,
594 .flush = qtrle_decode_flush,594 .flush = qtrle_decode_flush,
595 .capabilities = AV_CODEC_CAP_DR1,595 .p.capabilities = AV_CODEC_CAP_DR1,
596 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,596 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
597};597};
libavcodec/qtrleenc.c+6−6
@@ -399,16 +399,16 @@ static int qtrle_encode_frame(AVCodecContext *avctx, AVPacket *pkt, · 398 unmodified lines
399 return 0;399 return 0;
400}400}
401 401
402const AVCodec ff_qtrle_encoder = {402const FFCodec ff_qtrle_encoder = {
403 .name = "qtrle",403 .p.name = "qtrle",
404 .long_name = NULL_IF_CONFIG_SMALL("QuickTime Animation (RLE) video"),404 .p.long_name = NULL_IF_CONFIG_SMALL("QuickTime Animation (RLE) video"),
405 .type = AVMEDIA_TYPE_VIDEO,405 .p.type = AVMEDIA_TYPE_VIDEO,
406 .id = AV_CODEC_ID_QTRLE,406 .p.id = AV_CODEC_ID_QTRLE,
407 .priv_data_size = sizeof(QtrleEncContext),407 .priv_data_size = sizeof(QtrleEncContext),
408 .init = qtrle_encode_init,408 .init = qtrle_encode_init,
409 .encode2 = qtrle_encode_frame,409 .encode2 = qtrle_encode_frame,
410 .close = qtrle_encode_end,410 .close = qtrle_encode_end,
411 .pix_fmts = (const enum AVPixelFormat[]){411 .p.pix_fmts = (const enum AVPixelFormat[]){
412 AV_PIX_FMT_RGB24, AV_PIX_FMT_RGB555BE, AV_PIX_FMT_ARGB, AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE412 AV_PIX_FMT_RGB24, AV_PIX_FMT_RGB555BE, AV_PIX_FMT_ARGB, AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE
413 },413 },
414 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,414 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
libavcodec/r210dec.c+18−18
@@ -104,38 +104,38 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *got_frame, · 103 unmodified lines
104}104}
105 105
106#if CONFIG_R210_DECODER106#if CONFIG_R210_DECODER
107const AVCodec ff_r210_decoder = {107const FFCodec ff_r210_decoder = {
108 .name = "r210",108 .p.name = "r210",
109 .long_name = NULL_IF_CONFIG_SMALL("Uncompressed RGB 10-bit"),109 .p.long_name = NULL_IF_CONFIG_SMALL("Uncompressed RGB 10-bit"),
110 .type = AVMEDIA_TYPE_VIDEO,110 .p.type = AVMEDIA_TYPE_VIDEO,
111 .id = AV_CODEC_ID_R210,111 .p.id = AV_CODEC_ID_R210,
112 .init = decode_init,112 .init = decode_init,
113 .decode = decode_frame,113 .decode = decode_frame,
114 .capabilities = AV_CODEC_CAP_DR1,114 .p.capabilities = AV_CODEC_CAP_DR1,
115 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,115 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
116};116};
117#endif117#endif
118#if CONFIG_R10K_DECODER118#if CONFIG_R10K_DECODER
119const AVCodec ff_r10k_decoder = {119const FFCodec ff_r10k_decoder = {
120 .name = "r10k",120 .p.name = "r10k",
121 .long_name = NULL_IF_CONFIG_SMALL("AJA Kona 10-bit RGB Codec"),121 .p.long_name = NULL_IF_CONFIG_SMALL("AJA Kona 10-bit RGB Codec"),
122 .type = AVMEDIA_TYPE_VIDEO,122 .p.type = AVMEDIA_TYPE_VIDEO,
123 .id = AV_CODEC_ID_R10K,123 .p.id = AV_CODEC_ID_R10K,
124 .init = decode_init,124 .init = decode_init,
125 .decode = decode_frame,125 .decode = decode_frame,
126 .capabilities = AV_CODEC_CAP_DR1,126 .p.capabilities = AV_CODEC_CAP_DR1,
127 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,127 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
128};128};
129#endif129#endif
130#if CONFIG_AVRP_DECODER130#if CONFIG_AVRP_DECODER
131const AVCodec ff_avrp_decoder = {131const FFCodec ff_avrp_decoder = {
132 .name = "avrp",132 .p.name = "avrp",
133 .long_name = NULL_IF_CONFIG_SMALL("Avid 1:1 10-bit RGB Packer"),133 .p.long_name = NULL_IF_CONFIG_SMALL("Avid 1:1 10-bit RGB Packer"),
134 .type = AVMEDIA_TYPE_VIDEO,134 .p.type = AVMEDIA_TYPE_VIDEO,
135 .id = AV_CODEC_ID_AVRP,135 .p.id = AV_CODEC_ID_AVRP,
136 .init = decode_init,136 .init = decode_init,
137 .decode = decode_frame,137 .decode = decode_frame,
138 .capabilities = AV_CODEC_CAP_DR1,138 .p.capabilities = AV_CODEC_CAP_DR1,
139 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,139 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
140};140};
141#endif141#endif
libavcodec/r210enc.c+21−21
@@ -91,41 +91,41 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt, · 90 unmodified lines
91static const enum AVPixelFormat pix_fmt[] = { AV_PIX_FMT_GBRP10, AV_PIX_FMT_NONE };91static const enum AVPixelFormat pix_fmt[] = { AV_PIX_FMT_GBRP10, AV_PIX_FMT_NONE };
92 92
93#if CONFIG_R210_ENCODER93#if CONFIG_R210_ENCODER
94const AVCodec ff_r210_encoder = {94const FFCodec ff_r210_encoder = {
95 .name = "r210",95 .p.name = "r210",
96 .long_name = NULL_IF_CONFIG_SMALL("Uncompressed RGB 10-bit"),96 .p.long_name = NULL_IF_CONFIG_SMALL("Uncompressed RGB 10-bit"),
97 .type = AVMEDIA_TYPE_VIDEO,97 .p.type = AVMEDIA_TYPE_VIDEO,
98 .id = AV_CODEC_ID_R210,98 .p.id = AV_CODEC_ID_R210,
99 .capabilities = AV_CODEC_CAP_DR1,99 .p.capabilities = AV_CODEC_CAP_DR1,
100 .init = encode_init,100 .init = encode_init,
101 .encode2 = encode_frame,101 .encode2 = encode_frame,
102 .pix_fmts = pix_fmt,102 .p.pix_fmts = pix_fmt,
103 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,103 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
104};104};
105#endif105#endif
106#if CONFIG_R10K_ENCODER106#if CONFIG_R10K_ENCODER
107const AVCodec ff_r10k_encoder = {107const FFCodec ff_r10k_encoder = {
108 .name = "r10k",108 .p.name = "r10k",
109 .long_name = NULL_IF_CONFIG_SMALL("AJA Kona 10-bit RGB Codec"),109 .p.long_name = NULL_IF_CONFIG_SMALL("AJA Kona 10-bit RGB Codec"),
110 .type = AVMEDIA_TYPE_VIDEO,110 .p.type = AVMEDIA_TYPE_VIDEO,
111 .id = AV_CODEC_ID_R10K,111 .p.id = AV_CODEC_ID_R10K,
112 .capabilities = AV_CODEC_CAP_DR1,112 .p.capabilities = AV_CODEC_CAP_DR1,
113 .init = encode_init,113 .init = encode_init,
114 .encode2 = encode_frame,114 .encode2 = encode_frame,
115 .pix_fmts = pix_fmt,115 .p.pix_fmts = pix_fmt,
116 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,116 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
117};117};
118#endif118#endif
119#if CONFIG_AVRP_ENCODER119#if CONFIG_AVRP_ENCODER
120const AVCodec ff_avrp_encoder = {120const FFCodec ff_avrp_encoder = {
121 .name = "avrp",121 .p.name = "avrp",
122 .long_name = NULL_IF_CONFIG_SMALL("Avid 1:1 10-bit RGB Packer"),122 .p.long_name = NULL_IF_CONFIG_SMALL("Avid 1:1 10-bit RGB Packer"),
123 .type = AVMEDIA_TYPE_VIDEO,123 .p.type = AVMEDIA_TYPE_VIDEO,
124 .id = AV_CODEC_ID_AVRP,124 .p.id = AV_CODEC_ID_AVRP,
125 .capabilities = AV_CODEC_CAP_DR1,125 .p.capabilities = AV_CODEC_CAP_DR1,
126 .init = encode_init,126 .init = encode_init,
127 .encode2 = encode_frame,127 .encode2 = encode_frame,
128 .pix_fmts = pix_fmt,128 .p.pix_fmts = pix_fmt,
129 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,129 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
130};130};
131#endif131#endif
libavcodec/ra144dec.c+6−6
@@ -127,14 +127,14 @@ static int ra144_decode_frame(AVCodecContext * avctx, void *data, · 126 unmodified lines
127 return FRAME_SIZE;127 return FRAME_SIZE;
128}128}
129 129
130const AVCodec ff_ra_144_decoder = {130const FFCodec ff_ra_144_decoder = {
131 .name = "real_144",131 .p.name = "real_144",
132 .long_name = NULL_IF_CONFIG_SMALL("RealAudio 1.0 (14.4K)"),132 .p.long_name = NULL_IF_CONFIG_SMALL("RealAudio 1.0 (14.4K)"),
133 .type = AVMEDIA_TYPE_AUDIO,133 .p.type = AVMEDIA_TYPE_AUDIO,
134 .id = AV_CODEC_ID_RA_144,134 .p.id = AV_CODEC_ID_RA_144,
135 .priv_data_size = sizeof(RA144Context),135 .priv_data_size = sizeof(RA144Context),
136 .init = ra144_decode_init,136 .init = ra144_decode_init,
137 .decode = ra144_decode_frame,137 .decode = ra144_decode_frame,
138 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,138 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
139 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,139 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
140};140};
libavcodec/ra144enc.c+10−10
@@ -535,23 +535,23 @@ static int ra144_encode_frame(AVCodecContext *avctx, AVPacket *avpkt, · 534 unmodified lines
535}535}
536 536
537 537
538const AVCodec ff_ra_144_encoder = {538const FFCodec ff_ra_144_encoder = {
539 .name = "real_144",539 .p.name = "real_144",
540 .long_name = NULL_IF_CONFIG_SMALL("RealAudio 1.0 (14.4K)"),540 .p.long_name = NULL_IF_CONFIG_SMALL("RealAudio 1.0 (14.4K)"),
541 .type = AVMEDIA_TYPE_AUDIO,541 .p.type = AVMEDIA_TYPE_AUDIO,
542 .id = AV_CODEC_ID_RA_144,542 .p.id = AV_CODEC_ID_RA_144,
543 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY |543 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY |
544 AV_CODEC_CAP_SMALL_LAST_FRAME,544 AV_CODEC_CAP_SMALL_LAST_FRAME,
545 .priv_data_size = sizeof(RA144Context),545 .priv_data_size = sizeof(RA144Context),
546 .init = ra144_encode_init,546 .init = ra144_encode_init,
547 .encode2 = ra144_encode_frame,547 .encode2 = ra144_encode_frame,
548 .close = ra144_encode_close,548 .close = ra144_encode_close,
549 .sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16,549 .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16,
550 AV_SAMPLE_FMT_NONE },550 AV_SAMPLE_FMT_NONE },
551 .supported_samplerates = (const int[]){ 8000, 0 },551 .p.supported_samplerates = (const int[]){ 8000, 0 },
552#if FF_API_OLD_CHANNEL_LAYOUT552#if FF_API_OLD_CHANNEL_LAYOUT
553 .channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_MONO, 0 },553 .p.channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_MONO, 0 },
554#endif554#endif
555 .ch_layouts = (const AVChannelLayout[]){ AV_CHANNEL_LAYOUT_MONO, { 0 } },555 .p.ch_layouts = (const AVChannelLayout[]){ AV_CHANNEL_LAYOUT_MONO, { 0 } },
556 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,556 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
557};557};
libavcodec/ra288.c+6−6
@@ -238,14 +238,14 @@ static int ra288_decode_frame(AVCodecContext * avctx, void *data, · 237 unmodified lines
238 return avctx->block_align;238 return avctx->block_align;
239}239}
240 240
241const AVCodec ff_ra_288_decoder = {241const FFCodec ff_ra_288_decoder = {
242 .name = "real_288",242 .p.name = "real_288",
243 .long_name = NULL_IF_CONFIG_SMALL("RealAudio 2.0 (28.8K)"),243 .p.long_name = NULL_IF_CONFIG_SMALL("RealAudio 2.0 (28.8K)"),
244 .type = AVMEDIA_TYPE_AUDIO,244 .p.type = AVMEDIA_TYPE_AUDIO,
245 .id = AV_CODEC_ID_RA_288,245 .p.id = AV_CODEC_ID_RA_288,
246 .priv_data_size = sizeof(RA288Context),246 .priv_data_size = sizeof(RA288Context),
247 .init = ra288_decode_init,247 .init = ra288_decode_init,
248 .decode = ra288_decode_frame,248 .decode = ra288_decode_frame,
249 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,249 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
250 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,250 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
251};251};
libavcodec/ralf.c+7−7
@@ -514,19 +514,19 @@ static void decode_flush(AVCodecContext *avctx) · 513 unmodified lines
514}514}
515 515
516 516
517const AVCodec ff_ralf_decoder = {517const FFCodec ff_ralf_decoder = {
518 .name = "ralf",518 .p.name = "ralf",
519 .long_name = NULL_IF_CONFIG_SMALL("RealAudio Lossless"),519 .p.long_name = NULL_IF_CONFIG_SMALL("RealAudio Lossless"),
520 .type = AVMEDIA_TYPE_AUDIO,520 .p.type = AVMEDIA_TYPE_AUDIO,
521 .id = AV_CODEC_ID_RALF,521 .p.id = AV_CODEC_ID_RALF,
522 .priv_data_size = sizeof(RALFContext),522 .priv_data_size = sizeof(RALFContext),
523 .init = decode_init,523 .init = decode_init,
524 .close = decode_close,524 .close = decode_close,
525 .decode = decode_frame,525 .decode = decode_frame,
526 .flush = decode_flush,526 .flush = decode_flush,
527 .capabilities = AV_CODEC_CAP_CHANNEL_CONF |527 .p.capabilities = AV_CODEC_CAP_CHANNEL_CONF |
528 AV_CODEC_CAP_DR1,528 AV_CODEC_CAP_DR1,
529 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16P,529 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16P,
530 AV_SAMPLE_FMT_NONE },530 AV_SAMPLE_FMT_NONE },
531 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,531 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
532};532};
libavcodec/rasc.c+7−7
@@ -799,18 +799,18 @@ static const AVClass rasc_decoder_class = { · 798 unmodified lines
799 .version = LIBAVUTIL_VERSION_INT,799 .version = LIBAVUTIL_VERSION_INT,
800};800};
801 801
802const AVCodec ff_rasc_decoder = {802const FFCodec ff_rasc_decoder = {
803 .name = "rasc",803 .p.name = "rasc",
804 .long_name = NULL_IF_CONFIG_SMALL("RemotelyAnywhere Screen Capture"),804 .p.long_name = NULL_IF_CONFIG_SMALL("RemotelyAnywhere Screen Capture"),
805 .type = AVMEDIA_TYPE_VIDEO,805 .p.type = AVMEDIA_TYPE_VIDEO,
806 .id = AV_CODEC_ID_RASC,806 .p.id = AV_CODEC_ID_RASC,
807 .priv_data_size = sizeof(RASCContext),807 .priv_data_size = sizeof(RASCContext),
808 .init = decode_init,808 .init = decode_init,
809 .close = decode_close,809 .close = decode_close,
810 .decode = decode_frame,810 .decode = decode_frame,
811 .flush = decode_flush,811 .flush = decode_flush,
812 .capabilities = AV_CODEC_CAP_DR1,812 .p.capabilities = AV_CODEC_CAP_DR1,
813 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |813 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |
814 FF_CODEC_CAP_INIT_CLEANUP,814 FF_CODEC_CAP_INIT_CLEANUP,
815 .priv_class = &rasc_decoder_class,815 .p.priv_class = &rasc_decoder_class,
816};816};
libavcodec/rawdec.c+7−7
@@ -482,16 +482,16 @@ static av_cold int raw_close_decoder(AVCodecContext *avctx) · 481 unmodified lines
482 return 0;482 return 0;
483}483}
484 484
485const AVCodec ff_rawvideo_decoder = {485const FFCodec ff_rawvideo_decoder = {
486 .name = "rawvideo",486 .p.name = "rawvideo",
487 .long_name = NULL_IF_CONFIG_SMALL("raw video"),487 .p.long_name = NULL_IF_CONFIG_SMALL("raw video"),
488 .type = AVMEDIA_TYPE_VIDEO,488 .p.type = AVMEDIA_TYPE_VIDEO,
489 .id = AV_CODEC_ID_RAWVIDEO,489 .p.id = AV_CODEC_ID_RAWVIDEO,
490 .priv_data_size = sizeof(RawVideoContext),490 .priv_data_size = sizeof(RawVideoContext),
491 .init = raw_init_decoder,491 .init = raw_init_decoder,
492 .close = raw_close_decoder,492 .close = raw_close_decoder,
493 .decode = raw_decode,493 .decode = raw_decode,
494 .priv_class = &rawdec_class,494 .p.priv_class = &rawdec_class,
495 .capabilities = AV_CODEC_CAP_PARAM_CHANGE,495 .p.capabilities = AV_CODEC_CAP_PARAM_CHANGE,
496 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,496 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
497};497};
libavcodec/rawenc.c+6−6
@@ -81,12 +81,12 @@ static int raw_encode(AVCodecContext *avctx, AVPacket *pkt, · 80 unmodified lines
81 return 0;81 return 0;
82}82}
83 83
84const AVCodec ff_rawvideo_encoder = {84const FFCodec ff_rawvideo_encoder = {
85 .name = "rawvideo",85 .p.name = "rawvideo",
86 .long_name = NULL_IF_CONFIG_SMALL("raw video"),86 .p.long_name = NULL_IF_CONFIG_SMALL("raw video"),
87 .type = AVMEDIA_TYPE_VIDEO,87 .p.type = AVMEDIA_TYPE_VIDEO,
88 .id = AV_CODEC_ID_RAWVIDEO,88 .p.id = AV_CODEC_ID_RAWVIDEO,
89 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,89 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
90 .init = raw_encode_init,90 .init = raw_encode_init,
91 .encode2 = raw_encode,91 .encode2 = raw_encode,
92 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,92 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
libavcodec/realtextdec.c+5−5
@@ -75,11 +75,11 @@ static int realtext_decode_frame(AVCodecContext *avctx, · 74 unmodified lines
75 return avpkt->size;75 return avpkt->size;
76}76}
77 77
78const AVCodec ff_realtext_decoder = {78const FFCodec ff_realtext_decoder = {
79 .name = "realtext",79 .p.name = "realtext",
80 .long_name = NULL_IF_CONFIG_SMALL("RealText subtitle"),80 .p.long_name = NULL_IF_CONFIG_SMALL("RealText subtitle"),
81 .type = AVMEDIA_TYPE_SUBTITLE,81 .p.type = AVMEDIA_TYPE_SUBTITLE,
82 .id = AV_CODEC_ID_REALTEXT,82 .p.id = AV_CODEC_ID_REALTEXT,
83 .decode = realtext_decode_frame,83 .decode = realtext_decode_frame,
84 .init = ff_ass_subtitle_header_default,84 .init = ff_ass_subtitle_header_default,
85 .flush = ff_ass_decoder_flush,85 .flush = ff_ass_decoder_flush,
libavcodec/rkmppdec.c+10−10
@@ -27,9 +27,9 @@ · 26 unmodified lines
27#include <unistd.h>27#include <unistd.h>
28 28
29#include "avcodec.h"29#include "avcodec.h"
30#include "codec_internal.h"
30#include "decode.h"31#include "decode.h"
31#include "hwconfig.h"32#include "hwconfig.h"
32#include "internal.h"
33#include "libavutil/buffer.h"33#include "libavutil/buffer.h"
34#include "libavutil/common.h"34#include "libavutil/common.h"
35#include "libavutil/frame.h"35#include "libavutil/frame.h"
@@ -561,23 +561,23 @@ static const AVCodecHWConfigInternal *const rkmpp_hw_configs[] = { · 525 unmodified lines
561 561
562#define RKMPP_DEC(NAME, ID, BSFS) \562#define RKMPP_DEC(NAME, ID, BSFS) \
563 RKMPP_DEC_CLASS(NAME) \563 RKMPP_DEC_CLASS(NAME) \
564 const AVCodec ff_##NAME##_rkmpp_decoder = { \564 const FFCodec ff_##NAME##_rkmpp_decoder = { \
565 .name = #NAME "_rkmpp", \565 .p.name = #NAME "_rkmpp", \
566 .long_name = NULL_IF_CONFIG_SMALL(#NAME " (rkmpp)"), \566 .p.long_name = NULL_IF_CONFIG_SMALL(#NAME " (rkmpp)"), \
567 .type = AVMEDIA_TYPE_VIDEO, \567 .p.type = AVMEDIA_TYPE_VIDEO, \
568 .id = ID, \568 .p.id = ID, \
569 .priv_data_size = sizeof(RKMPPDecodeContext), \569 .priv_data_size = sizeof(RKMPPDecodeContext), \
570 .init = rkmpp_init_decoder, \570 .init = rkmpp_init_decoder, \
571 .close = rkmpp_close_decoder, \571 .close = rkmpp_close_decoder, \
572 .receive_frame = rkmpp_receive_frame, \572 .receive_frame = rkmpp_receive_frame, \
573 .flush = rkmpp_flush, \573 .flush = rkmpp_flush, \
574 .priv_class = &rkmpp_##NAME##_dec_class, \574 .p.priv_class = &rkmpp_##NAME##_dec_class, \
575 .capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_AVOID_PROBING | AV_CODEC_CAP_HARDWARE, \575 .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_AVOID_PROBING | AV_CODEC_CAP_HARDWARE, \
576 .pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_DRM_PRIME, \576 .p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_DRM_PRIME, \
577 AV_PIX_FMT_NONE}, \577 AV_PIX_FMT_NONE}, \
578 .hw_configs = rkmpp_hw_configs, \578 .hw_configs = rkmpp_hw_configs, \
579 .bsfs = BSFS, \579 .bsfs = BSFS, \
580 .wrapper_name = "rkmpp", \580 .p.wrapper_name = "rkmpp", \
581 };581 };
582 582
583RKMPP_DEC(h264, AV_CODEC_ID_H264, "h264_mp4toannexb")583RKMPP_DEC(h264, AV_CODEC_ID_H264, "h264_mp4toannexb")
libavcodec/rl2.c+6−6
@@ -219,15 +219,15 @@ static av_cold int rl2_decode_end(AVCodecContext *avctx) · 218 unmodified lines
219}219}
220 220
221 221
222const AVCodec ff_rl2_decoder = {222const FFCodec ff_rl2_decoder = {
223 .name = "rl2",223 .p.name = "rl2",
224 .long_name = NULL_IF_CONFIG_SMALL("RL2 video"),224 .p.long_name = NULL_IF_CONFIG_SMALL("RL2 video"),
225 .type = AVMEDIA_TYPE_VIDEO,225 .p.type = AVMEDIA_TYPE_VIDEO,
226 .id = AV_CODEC_ID_RL2,226 .p.id = AV_CODEC_ID_RL2,
227 .priv_data_size = sizeof(Rl2Context),227 .priv_data_size = sizeof(Rl2Context),
228 .init = rl2_decode_init,228 .init = rl2_decode_init,
229 .close = rl2_decode_end,229 .close = rl2_decode_end,
230 .decode = rl2_decode_frame,230 .decode = rl2_decode_frame,
231 .capabilities = AV_CODEC_CAP_DR1,231 .p.capabilities = AV_CODEC_CAP_DR1,
232 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,232 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
233};233};
libavcodec/roqaudioenc.c+7−7
@@ -187,17 +187,17 @@ static int roq_dpcm_encode_frame(AVCodecContext *avctx, AVPacket *avpkt, · 186 unmodified lines
187 return 0;187 return 0;
188}188}
189 189
190const AVCodec ff_roq_dpcm_encoder = {190const FFCodec ff_roq_dpcm_encoder = {
191 .name = "roq_dpcm",191 .p.name = "roq_dpcm",
192 .long_name = NULL_IF_CONFIG_SMALL("id RoQ DPCM"),192 .p.long_name = NULL_IF_CONFIG_SMALL("id RoQ DPCM"),
193 .type = AVMEDIA_TYPE_AUDIO,193 .p.type = AVMEDIA_TYPE_AUDIO,
194 .id = AV_CODEC_ID_ROQ_DPCM,194 .p.id = AV_CODEC_ID_ROQ_DPCM,
195 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,195 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,
196 .priv_data_size = sizeof(ROQDPCMContext),196 .priv_data_size = sizeof(ROQDPCMContext),
197 .init = roq_dpcm_encode_init,197 .init = roq_dpcm_encode_init,
198 .encode2 = roq_dpcm_encode_frame,198 .encode2 = roq_dpcm_encode_frame,
199 .close = roq_dpcm_encode_close,199 .close = roq_dpcm_encode_close,
200 .sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16,200 .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16,
201 AV_SAMPLE_FMT_NONE },201 AV_SAMPLE_FMT_NONE },
202 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,202 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
203};203};
libavcodec/roqvideodec.c+6−6
@@ -234,15 +234,15 @@ static av_cold int roq_decode_end(AVCodecContext *avctx) · 233 unmodified lines
234 return 0;234 return 0;
235}235}
236 236
237const AVCodec ff_roq_decoder = {237const FFCodec ff_roq_decoder = {
238 .name = "roqvideo",238 .p.name = "roqvideo",
239 .long_name = NULL_IF_CONFIG_SMALL("id RoQ video"),239 .p.long_name = NULL_IF_CONFIG_SMALL("id RoQ video"),
240 .type = AVMEDIA_TYPE_VIDEO,240 .p.type = AVMEDIA_TYPE_VIDEO,
241 .id = AV_CODEC_ID_ROQ,241 .p.id = AV_CODEC_ID_ROQ,
242 .priv_data_size = sizeof(RoqContext),242 .priv_data_size = sizeof(RoqContext),
243 .init = roq_decode_init,243 .init = roq_decode_init,
244 .close = roq_decode_end,244 .close = roq_decode_end,
245 .decode = roq_decode_frame,245 .decode = roq_decode_frame,
246 .capabilities = AV_CODEC_CAP_DR1,246 .p.capabilities = AV_CODEC_CAP_DR1,
247 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,247 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
248};248};
libavcodec/roqvideoenc.c+7−7
@@ -1118,17 +1118,17 @@ static const AVClass roq_class = { · 1117 unmodified lines
1118 .version = LIBAVUTIL_VERSION_INT,1118 .version = LIBAVUTIL_VERSION_INT,
1119};1119};
1120 1120
1121const AVCodec ff_roq_encoder = {1121const FFCodec ff_roq_encoder = {
1122 .name = "roqvideo",1122 .p.name = "roqvideo",
1123 .long_name = NULL_IF_CONFIG_SMALL("id RoQ video"),1123 .p.long_name = NULL_IF_CONFIG_SMALL("id RoQ video"),
1124 .type = AVMEDIA_TYPE_VIDEO,1124 .p.type = AVMEDIA_TYPE_VIDEO,
1125 .id = AV_CODEC_ID_ROQ,1125 .p.id = AV_CODEC_ID_ROQ,
1126 .priv_data_size = sizeof(RoqEncContext),1126 .priv_data_size = sizeof(RoqEncContext),
1127 .init = roq_encode_init,1127 .init = roq_encode_init,
1128 .encode2 = roq_encode_frame,1128 .encode2 = roq_encode_frame,
1129 .close = roq_encode_end,1129 .close = roq_encode_end,
1130 .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUVJ444P,1130 .p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUVJ444P,
1131 AV_PIX_FMT_NONE },1131 AV_PIX_FMT_NONE },
1132 .priv_class = &roq_class,1132 .p.priv_class = &roq_class,
1133 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,1133 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
1134};1134};
libavcodec/rpza.c+6−6
@@ -287,15 +287,15 @@ static av_cold int rpza_decode_end(AVCodecContext *avctx) · 286 unmodified lines
287 return 0;287 return 0;
288}288}
289 289
290const AVCodec ff_rpza_decoder = {290const FFCodec ff_rpza_decoder = {
291 .name = "rpza",291 .p.name = "rpza",
292 .long_name = NULL_IF_CONFIG_SMALL("QuickTime video (RPZA)"),292 .p.long_name = NULL_IF_CONFIG_SMALL("QuickTime video (RPZA)"),
293 .type = AVMEDIA_TYPE_VIDEO,293 .p.type = AVMEDIA_TYPE_VIDEO,
294 .id = AV_CODEC_ID_RPZA,294 .p.id = AV_CODEC_ID_RPZA,
295 .priv_data_size = sizeof(RpzaContext),295 .priv_data_size = sizeof(RpzaContext),
296 .init = rpza_decode_init,296 .init = rpza_decode_init,
297 .close = rpza_decode_end,297 .close = rpza_decode_end,
298 .decode = rpza_decode_frame,298 .decode = rpza_decode_frame,
299 .capabilities = AV_CODEC_CAP_DR1,299 .p.capabilities = AV_CODEC_CAP_DR1,
300 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,300 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
301};301};
libavcodec/rpzaenc.c+7−7
@@ -843,17 +843,17 @@ static const AVClass rpza_class = { · 842 unmodified lines
843 .version = LIBAVUTIL_VERSION_INT,843 .version = LIBAVUTIL_VERSION_INT,
844};844};
845 845
846const AVCodec ff_rpza_encoder = {846const FFCodec ff_rpza_encoder = {
847 .name = "rpza",847 .p.name = "rpza",
848 .long_name = NULL_IF_CONFIG_SMALL("QuickTime video (RPZA)"),848 .p.long_name = NULL_IF_CONFIG_SMALL("QuickTime video (RPZA)"),
849 .type = AVMEDIA_TYPE_VIDEO,849 .p.type = AVMEDIA_TYPE_VIDEO,
850 .id = AV_CODEC_ID_RPZA,850 .p.id = AV_CODEC_ID_RPZA,
851 .priv_data_size = sizeof(RpzaContext),851 .priv_data_size = sizeof(RpzaContext),
852 .priv_class = &rpza_class,852 .p.priv_class = &rpza_class,
853 .init = rpza_encode_init,853 .init = rpza_encode_init,
854 .encode2 = rpza_encode_frame,854 .encode2 = rpza_encode_frame,
855 .close = rpza_encode_end,855 .close = rpza_encode_end,
856 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,856 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
857 .pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_RGB555,857 .p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_RGB555,
858 AV_PIX_FMT_NONE},858 AV_PIX_FMT_NONE},
859};859};
libavcodec/rscc.c+6−6
@@ -363,16 +363,16 @@ end: · 362 unmodified lines
363 return ret;363 return ret;
364}364}
365 365
366const AVCodec ff_rscc_decoder = {366const FFCodec ff_rscc_decoder = {
367 .name = "rscc",367 .p.name = "rscc",
368 .long_name = NULL_IF_CONFIG_SMALL("innoHeim/Rsupport Screen Capture Codec"),368 .p.long_name = NULL_IF_CONFIG_SMALL("innoHeim/Rsupport Screen Capture Codec"),
369 .type = AVMEDIA_TYPE_VIDEO,369 .p.type = AVMEDIA_TYPE_VIDEO,
370 .id = AV_CODEC_ID_RSCC,370 .p.id = AV_CODEC_ID_RSCC,
371 .init = rscc_init,371 .init = rscc_init,
372 .decode = rscc_decode_frame,372 .decode = rscc_decode_frame,
373 .close = rscc_close,373 .close = rscc_close,
374 .priv_data_size = sizeof(RsccContext),374 .priv_data_size = sizeof(RsccContext),
375 .capabilities = AV_CODEC_CAP_DR1,375 .p.capabilities = AV_CODEC_CAP_DR1,
376 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |376 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |
377 FF_CODEC_CAP_INIT_CLEANUP,377 FF_CODEC_CAP_INIT_CLEANUP,
378};378};
libavcodec/rv10.c+16−16
@@ -682,38 +682,38 @@ static int rv10_decode_frame(AVCodecContext *avctx, void *data, int *got_frame, · 681 unmodified lines
682 return avpkt->size;682 return avpkt->size;
683}683}
684 684
685const AVCodec ff_rv10_decoder = {685const FFCodec ff_rv10_decoder = {
686 .name = "rv10",686 .p.name = "rv10",
687 .long_name = NULL_IF_CONFIG_SMALL("RealVideo 1.0"),687 .p.long_name = NULL_IF_CONFIG_SMALL("RealVideo 1.0"),
688 .type = AVMEDIA_TYPE_VIDEO,688 .p.type = AVMEDIA_TYPE_VIDEO,
689 .id = AV_CODEC_ID_RV10,689 .p.id = AV_CODEC_ID_RV10,
690 .priv_data_size = sizeof(RVDecContext),690 .priv_data_size = sizeof(RVDecContext),
691 .init = rv10_decode_init,691 .init = rv10_decode_init,
692 .close = rv10_decode_end,692 .close = rv10_decode_end,
693 .decode = rv10_decode_frame,693 .decode = rv10_decode_frame,
694 .capabilities = AV_CODEC_CAP_DR1,694 .p.capabilities = AV_CODEC_CAP_DR1,
695 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,695 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
696 .max_lowres = 3,696 .p.max_lowres = 3,
697 .pix_fmts = (const enum AVPixelFormat[]) {697 .p.pix_fmts = (const enum AVPixelFormat[]) {
698 AV_PIX_FMT_YUV420P,698 AV_PIX_FMT_YUV420P,
699 AV_PIX_FMT_NONE699 AV_PIX_FMT_NONE
700 },700 },
701};701};
702 702
703const AVCodec ff_rv20_decoder = {703const FFCodec ff_rv20_decoder = {
704 .name = "rv20",704 .p.name = "rv20",
705 .long_name = NULL_IF_CONFIG_SMALL("RealVideo 2.0"),705 .p.long_name = NULL_IF_CONFIG_SMALL("RealVideo 2.0"),
706 .type = AVMEDIA_TYPE_VIDEO,706 .p.type = AVMEDIA_TYPE_VIDEO,
707 .id = AV_CODEC_ID_RV20,707 .p.id = AV_CODEC_ID_RV20,
708 .priv_data_size = sizeof(RVDecContext),708 .priv_data_size = sizeof(RVDecContext),
709 .init = rv10_decode_init,709 .init = rv10_decode_init,
710 .close = rv10_decode_end,710 .close = rv10_decode_end,
711 .decode = rv10_decode_frame,711 .decode = rv10_decode_frame,
712 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,712 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,
713 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,713 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
714 .flush = ff_mpeg_flush,714 .flush = ff_mpeg_flush,
715 .max_lowres = 3,715 .p.max_lowres = 3,
716 .pix_fmts = (const enum AVPixelFormat[]) {716 .p.pix_fmts = (const enum AVPixelFormat[]) {
717 AV_PIX_FMT_YUV420P,717 AV_PIX_FMT_YUV420P,
718 AV_PIX_FMT_NONE718 AV_PIX_FMT_NONE
719 },719 },
libavcodec/rv10enc.c+7−7
@@ -65,16 +65,16 @@ int ff_rv10_encode_picture_header(MpegEncContext *s, int picture_number) · 64 unmodified lines
65 return 0;65 return 0;
66}66}
67 67
68const AVCodec ff_rv10_encoder = {68const FFCodec ff_rv10_encoder = {
69 .name = "rv10",69 .p.name = "rv10",
70 .long_name = NULL_IF_CONFIG_SMALL("RealVideo 1.0"),70 .p.long_name = NULL_IF_CONFIG_SMALL("RealVideo 1.0"),
71 .type = AVMEDIA_TYPE_VIDEO,71 .p.type = AVMEDIA_TYPE_VIDEO,
72 .id = AV_CODEC_ID_RV10,72 .p.id = AV_CODEC_ID_RV10,
73 .priv_class = &ff_mpv_enc_class,73 .p.priv_class = &ff_mpv_enc_class,
74 .priv_data_size = sizeof(MpegEncContext),74 .priv_data_size = sizeof(MpegEncContext),
75 .init = ff_mpv_encode_init,75 .init = ff_mpv_encode_init,
76 .encode2 = ff_mpv_encode_picture,76 .encode2 = ff_mpv_encode_picture,
77 .close = ff_mpv_encode_end,77 .close = ff_mpv_encode_end,
78 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,78 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
79 .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE },79 .p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE },
80};80};
libavcodec/rv20enc.c+7−7
@@ -62,16 +62,16 @@ void ff_rv20_encode_picture_header(MpegEncContext *s, int picture_number){ · 61 unmodified lines
62 }62 }
63}63}
64 64
65const AVCodec ff_rv20_encoder = {65const FFCodec ff_rv20_encoder = {
66 .name = "rv20",66 .p.name = "rv20",
67 .long_name = NULL_IF_CONFIG_SMALL("RealVideo 2.0"),67 .p.long_name = NULL_IF_CONFIG_SMALL("RealVideo 2.0"),
68 .type = AVMEDIA_TYPE_VIDEO,68 .p.type = AVMEDIA_TYPE_VIDEO,
69 .id = AV_CODEC_ID_RV20,69 .p.id = AV_CODEC_ID_RV20,
70 .priv_class = &ff_mpv_enc_class,70 .p.priv_class = &ff_mpv_enc_class,
71 .priv_data_size = sizeof(MpegEncContext),71 .priv_data_size = sizeof(MpegEncContext),
72 .init = ff_mpv_encode_init,72 .init = ff_mpv_encode_init,
73 .encode2 = ff_mpv_encode_picture,73 .encode2 = ff_mpv_encode_picture,
74 .close = ff_mpv_encode_end,74 .close = ff_mpv_encode_end,
75 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,75 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
76 .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE },76 .p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE },
77};77};
libavcodec/rv30.c+7−7
@@ -291,19 +291,19 @@ static av_cold int rv30_decode_init(AVCodecContext *avctx) · 290 unmodified lines
291 return 0;291 return 0;
292}292}
293 293
294const AVCodec ff_rv30_decoder = {294const FFCodec ff_rv30_decoder = {
295 .name = "rv30",295 .p.name = "rv30",
296 .long_name = NULL_IF_CONFIG_SMALL("RealVideo 3.0"),296 .p.long_name = NULL_IF_CONFIG_SMALL("RealVideo 3.0"),
297 .type = AVMEDIA_TYPE_VIDEO,297 .p.type = AVMEDIA_TYPE_VIDEO,
298 .id = AV_CODEC_ID_RV30,298 .p.id = AV_CODEC_ID_RV30,
299 .priv_data_size = sizeof(RV34DecContext),299 .priv_data_size = sizeof(RV34DecContext),
300 .init = rv30_decode_init,300 .init = rv30_decode_init,
301 .close = ff_rv34_decode_end,301 .close = ff_rv34_decode_end,
302 .decode = ff_rv34_decode_frame,302 .decode = ff_rv34_decode_frame,
303 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY |303 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY |
304 AV_CODEC_CAP_FRAME_THREADS,304 AV_CODEC_CAP_FRAME_THREADS,
305 .flush = ff_mpeg_flush,305 .flush = ff_mpeg_flush,
306 .pix_fmts = (const enum AVPixelFormat[]) {306 .p.pix_fmts = (const enum AVPixelFormat[]) {
307 AV_PIX_FMT_YUV420P,307 AV_PIX_FMT_YUV420P,
308 AV_PIX_FMT_NONE308 AV_PIX_FMT_NONE
309 },309 },
libavcodec/rv40.c+7−7
@@ -574,19 +574,19 @@ static av_cold int rv40_decode_init(AVCodecContext *avctx) · 573 unmodified lines
574 return 0;574 return 0;
575}575}
576 576
577const AVCodec ff_rv40_decoder = {577const FFCodec ff_rv40_decoder = {
578 .name = "rv40",578 .p.name = "rv40",
579 .long_name = NULL_IF_CONFIG_SMALL("RealVideo 4.0"),579 .p.long_name = NULL_IF_CONFIG_SMALL("RealVideo 4.0"),
580 .type = AVMEDIA_TYPE_VIDEO,580 .p.type = AVMEDIA_TYPE_VIDEO,
581 .id = AV_CODEC_ID_RV40,581 .p.id = AV_CODEC_ID_RV40,
582 .priv_data_size = sizeof(RV34DecContext),582 .priv_data_size = sizeof(RV34DecContext),
583 .init = rv40_decode_init,583 .init = rv40_decode_init,
584 .close = ff_rv34_decode_end,584 .close = ff_rv34_decode_end,
585 .decode = ff_rv34_decode_frame,585 .decode = ff_rv34_decode_frame,
586 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY |586 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY |
587 AV_CODEC_CAP_FRAME_THREADS,587 AV_CODEC_CAP_FRAME_THREADS,
588 .flush = ff_mpeg_flush,588 .flush = ff_mpeg_flush,
589 .pix_fmts = (const enum AVPixelFormat[]) {589 .p.pix_fmts = (const enum AVPixelFormat[]) {
590 AV_PIX_FMT_YUV420P,590 AV_PIX_FMT_YUV420P,
591 AV_PIX_FMT_NONE591 AV_PIX_FMT_NONE
592 },592 },
libavcodec/s302m.c+8−7
@@ -25,6 +25,7 @@ · 24 unmodified lines
25#include "libavutil/opt.h"25#include "libavutil/opt.h"
26#include "libavutil/log.h"26#include "libavutil/log.h"
27#include "avcodec.h"27#include "avcodec.h"
28#include "codec_internal.h"
28#include "internal.h"29#include "internal.h"
29#include "mathops.h"30#include "mathops.h"
30 31
@@ -226,14 +227,14 @@ static const AVClass s302m_class = { · 195 unmodified lines
226 .version = LIBAVUTIL_VERSION_INT,227 .version = LIBAVUTIL_VERSION_INT,
227};228};
228 229
229const AVCodec ff_s302m_decoder = {230const FFCodec ff_s302m_decoder = {
230 .name = "s302m",231 .p.name = "s302m",
231 .long_name = NULL_IF_CONFIG_SMALL("SMPTE 302M"),232 .p.long_name = NULL_IF_CONFIG_SMALL("SMPTE 302M"),
232 .type = AVMEDIA_TYPE_AUDIO,233 .p.type = AVMEDIA_TYPE_AUDIO,
233 .id = AV_CODEC_ID_S302M,234 .p.id = AV_CODEC_ID_S302M,
235 .p.priv_class = &s302m_class,
234 .priv_data_size = sizeof(S302Context),236 .priv_data_size = sizeof(S302Context),
235 .decode = s302m_decode_frame,237 .decode = s302m_decode_frame,
236 .capabilities = AV_CODEC_CAP_CHANNEL_CONF |238 .p.capabilities = AV_CODEC_CAP_CHANNEL_CONF |
237 AV_CODEC_CAP_DR1,239 AV_CODEC_CAP_DR1,
238 .priv_class = &s302m_class,
239};240};
libavcodec/s302menc.c+9−9
@@ -169,21 +169,21 @@ static int s302m_encode2_frame(AVCodecContext *avctx, AVPacket *avpkt, · 168 unmodified lines
169 return 0;169 return 0;
170}170}
171 171
172const AVCodec ff_s302m_encoder = {172const FFCodec ff_s302m_encoder = {
173 .name = "s302m",173 .p.name = "s302m",
174 .long_name = NULL_IF_CONFIG_SMALL("SMPTE 302M"),174 .p.long_name = NULL_IF_CONFIG_SMALL("SMPTE 302M"),
175 .type = AVMEDIA_TYPE_AUDIO,175 .p.type = AVMEDIA_TYPE_AUDIO,
176 .id = AV_CODEC_ID_S302M,176 .p.id = AV_CODEC_ID_S302M,
177 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_EXPERIMENTAL |177 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_EXPERIMENTAL |
178 AV_CODEC_CAP_VARIABLE_FRAME_SIZE,178 AV_CODEC_CAP_VARIABLE_FRAME_SIZE,
179 .priv_data_size = sizeof(S302MEncContext),179 .priv_data_size = sizeof(S302MEncContext),
180 .init = s302m_encode_init,180 .init = s302m_encode_init,
181 .encode2 = s302m_encode2_frame,181 .encode2 = s302m_encode2_frame,
182 .sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S32,182 .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S32,
183 AV_SAMPLE_FMT_S16,183 AV_SAMPLE_FMT_S16,
184 AV_SAMPLE_FMT_NONE },184 AV_SAMPLE_FMT_NONE },
185 .supported_samplerates = (const int[]) { 48000, 0 },185 .p.supported_samplerates = (const int[]) { 48000, 0 },
186 /* .channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_STEREO,186 /* .p.channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_STEREO,
187 AV_CH_LAYOUT_QUAD,187 AV_CH_LAYOUT_QUAD,
188 AV_CH_LAYOUT_5POINT1_BACK,188 AV_CH_LAYOUT_5POINT1_BACK,
189 AV_CH_LAYOUT_5POINT1_BACK | AV_CH_LAYOUT_STEREO_DOWNMIX,189 AV_CH_LAYOUT_5POINT1_BACK | AV_CH_LAYOUT_STEREO_DOWNMIX,
libavcodec/samidec.c+5−5
@@ -181,11 +181,11 @@ static void sami_flush(AVCodecContext *avctx) · 180 unmodified lines
181 sami->readorder = 0;181 sami->readorder = 0;
182}182}
183 183
184const AVCodec ff_sami_decoder = {184const FFCodec ff_sami_decoder = {
185 .name = "sami",185 .p.name = "sami",
186 .long_name = NULL_IF_CONFIG_SMALL("SAMI subtitle"),186 .p.long_name = NULL_IF_CONFIG_SMALL("SAMI subtitle"),
187 .type = AVMEDIA_TYPE_SUBTITLE,187 .p.type = AVMEDIA_TYPE_SUBTITLE,
188 .id = AV_CODEC_ID_SAMI,188 .p.id = AV_CODEC_ID_SAMI,
189 .priv_data_size = sizeof(SAMIContext),189 .priv_data_size = sizeof(SAMIContext),
190 .init = sami_init,190 .init = sami_init,
191 .close = sami_close,191 .close = sami_close,
libavcodec/sanm.c+6−6
@@ -1516,15 +1516,15 @@ static int decode_frame(AVCodecContext *avctx, void *data, · 1515 unmodified lines
1516 return pkt->size;1516 return pkt->size;
1517}1517}
1518 1518
1519const AVCodec ff_sanm_decoder = {1519const FFCodec ff_sanm_decoder = {
1520 .name = "sanm",1520 .p.name = "sanm",
1521 .long_name = NULL_IF_CONFIG_SMALL("LucasArts SANM/Smush video"),1521 .p.long_name = NULL_IF_CONFIG_SMALL("LucasArts SANM/Smush video"),
1522 .type = AVMEDIA_TYPE_VIDEO,1522 .p.type = AVMEDIA_TYPE_VIDEO,
1523 .id = AV_CODEC_ID_SANM,1523 .p.id = AV_CODEC_ID_SANM,
1524 .priv_data_size = sizeof(SANMVideoContext),1524 .priv_data_size = sizeof(SANMVideoContext),
1525 .init = decode_init,1525 .init = decode_init,
1526 .close = decode_end,1526 .close = decode_end,
1527 .decode = decode_frame,1527 .decode = decode_frame,
1528 .capabilities = AV_CODEC_CAP_DR1,1528 .p.capabilities = AV_CODEC_CAP_DR1,
1529 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,1529 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
1530};1530};
libavcodec/sbcdec.c+10−10
@@ -367,24 +367,24 @@ static int sbc_decode_frame(AVCodecContext *avctx, · 366 unmodified lines
367 return frame_length;367 return frame_length;
368}368}
369 369
370const AVCodec ff_sbc_decoder = {370const FFCodec ff_sbc_decoder = {
371 .name = "sbc",371 .p.name = "sbc",
372 .long_name = NULL_IF_CONFIG_SMALL("SBC (low-complexity subband codec)"),372 .p.long_name = NULL_IF_CONFIG_SMALL("SBC (low-complexity subband codec)"),
373 .type = AVMEDIA_TYPE_AUDIO,373 .p.type = AVMEDIA_TYPE_AUDIO,
374 .id = AV_CODEC_ID_SBC,374 .p.id = AV_CODEC_ID_SBC,
375 .priv_data_size = sizeof(SBCDecContext),375 .priv_data_size = sizeof(SBCDecContext),
376 .init = sbc_decode_init,376 .init = sbc_decode_init,
377 .decode = sbc_decode_frame,377 .decode = sbc_decode_frame,
378 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,378 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
379 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,379 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
380#if FF_API_OLD_CHANNEL_LAYOUT380#if FF_API_OLD_CHANNEL_LAYOUT
381 .channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_MONO,381 .p.channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_MONO,
382 AV_CH_LAYOUT_STEREO, 0},382 AV_CH_LAYOUT_STEREO, 0},
383#endif383#endif
384 .ch_layouts = (const AVChannelLayout[]) { AV_CHANNEL_LAYOUT_MONO,384 .p.ch_layouts = (const AVChannelLayout[]) { AV_CHANNEL_LAYOUT_MONO,
385 AV_CHANNEL_LAYOUT_STEREO,385 AV_CHANNEL_LAYOUT_STEREO,
386 { 0 } },386 { 0 } },
387 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16P,387 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16P,
388 AV_SAMPLE_FMT_NONE },388 AV_SAMPLE_FMT_NONE },
389 .supported_samplerates = (const int[]) { 16000, 32000, 44100, 48000, 0 },389 .p.supported_samplerates = (const int[]) { 16000, 32000, 44100, 48000, 0 },
390};390};
libavcodec/sbcenc.c+12−12
@@ -343,26 +343,26 @@ static const AVClass sbc_class = { · 342 unmodified lines
343 .version = LIBAVUTIL_VERSION_INT,343 .version = LIBAVUTIL_VERSION_INT,
344};344};
345 345
346const AVCodec ff_sbc_encoder = {346const FFCodec ff_sbc_encoder = {
347 .name = "sbc",347 .p.name = "sbc",
348 .long_name = NULL_IF_CONFIG_SMALL("SBC (low-complexity subband codec)"),348 .p.long_name = NULL_IF_CONFIG_SMALL("SBC (low-complexity subband codec)"),
349 .type = AVMEDIA_TYPE_AUDIO,349 .p.type = AVMEDIA_TYPE_AUDIO,
350 .id = AV_CODEC_ID_SBC,350 .p.id = AV_CODEC_ID_SBC,
351 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SMALL_LAST_FRAME,351 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SMALL_LAST_FRAME,
352 .priv_data_size = sizeof(SBCEncContext),352 .priv_data_size = sizeof(SBCEncContext),
353 .init = sbc_encode_init,353 .init = sbc_encode_init,
354 .encode2 = sbc_encode_frame,354 .encode2 = sbc_encode_frame,
355 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,355 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
356#if FF_API_OLD_CHANNEL_LAYOUT356#if FF_API_OLD_CHANNEL_LAYOUT
357 .channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_MONO,357 .p.channel_layouts = (const uint64_t[]) { AV_CH_LAYOUT_MONO,
358 AV_CH_LAYOUT_STEREO, 0},358 AV_CH_LAYOUT_STEREO, 0},
359#endif359#endif
360 .ch_layouts = (const AVChannelLayout[]) { AV_CHANNEL_LAYOUT_MONO,360 .p.ch_layouts = (const AVChannelLayout[]) { AV_CHANNEL_LAYOUT_MONO,
361 AV_CHANNEL_LAYOUT_STEREO,361 AV_CHANNEL_LAYOUT_STEREO,
362 { 0 } },362 { 0 } },
363 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16,363 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16,
364 AV_SAMPLE_FMT_NONE },364 AV_SAMPLE_FMT_NONE },
365 .supported_samplerates = (const int[]) { 16000, 32000, 44100, 48000, 0 },365 .p.supported_samplerates = (const int[]) { 16000, 32000, 44100, 48000, 0 },
366 .priv_class = &sbc_class,366 .p.priv_class = &sbc_class,
367 .profiles = NULL_IF_CONFIG_SMALL(ff_sbc_profiles),367 .p.profiles = NULL_IF_CONFIG_SMALL(ff_sbc_profiles),
368};368};
libavcodec/scpr.c+6−6
@@ -668,16 +668,16 @@ static av_cold int decode_close(AVCodecContext *avctx) · 667 unmodified lines
668 return 0;668 return 0;
669}669}
670 670
671const AVCodec ff_scpr_decoder = {671const FFCodec ff_scpr_decoder = {
672 .name = "scpr",672 .p.name = "scpr",
673 .long_name = NULL_IF_CONFIG_SMALL("ScreenPressor"),673 .p.long_name = NULL_IF_CONFIG_SMALL("ScreenPressor"),
674 .type = AVMEDIA_TYPE_VIDEO,674 .p.type = AVMEDIA_TYPE_VIDEO,
675 .id = AV_CODEC_ID_SCPR,675 .p.id = AV_CODEC_ID_SCPR,
676 .priv_data_size = sizeof(SCPRContext),676 .priv_data_size = sizeof(SCPRContext),
677 .init = decode_init,677 .init = decode_init,
678 .close = decode_close,678 .close = decode_close,
679 .decode = decode_frame,679 .decode = decode_frame,
680 .capabilities = AV_CODEC_CAP_DR1,680 .p.capabilities = AV_CODEC_CAP_DR1,
681 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |681 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |
682 FF_CODEC_CAP_INIT_CLEANUP,682 FF_CODEC_CAP_INIT_CLEANUP,
683};683};
libavcodec/screenpresso.c+6−6
@@ -184,16 +184,16 @@ static int screenpresso_decode_frame(AVCodecContext *avctx, void *data, · 183 unmodified lines
184 return avpkt->size;184 return avpkt->size;
185}185}
186 186
187const AVCodec ff_screenpresso_decoder = {187const FFCodec ff_screenpresso_decoder = {
188 .name = "screenpresso",188 .p.name = "screenpresso",
189 .long_name = NULL_IF_CONFIG_SMALL("Screenpresso"),189 .p.long_name = NULL_IF_CONFIG_SMALL("Screenpresso"),
190 .type = AVMEDIA_TYPE_VIDEO,190 .p.type = AVMEDIA_TYPE_VIDEO,
191 .id = AV_CODEC_ID_SCREENPRESSO,191 .p.id = AV_CODEC_ID_SCREENPRESSO,
192 .init = screenpresso_init,192 .init = screenpresso_init,
193 .decode = screenpresso_decode_frame,193 .decode = screenpresso_decode_frame,
194 .close = screenpresso_close,194 .close = screenpresso_close,
195 .priv_data_size = sizeof(ScreenpressoContext),195 .priv_data_size = sizeof(ScreenpressoContext),
196 .capabilities = AV_CODEC_CAP_DR1,196 .p.capabilities = AV_CODEC_CAP_DR1,
197 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |197 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |
198 FF_CODEC_CAP_INIT_CLEANUP,198 FF_CODEC_CAP_INIT_CLEANUP,
199};199};
libavcodec/sga.c+6−6
@@ -520,15 +520,15 @@ static av_cold int sga_decode_end(AVCodecContext *avctx) · 519 unmodified lines
520 return 0;520 return 0;
521}521}
522 522
523const AVCodec ff_sga_decoder = {523const FFCodec ff_sga_decoder = {
524 .name = "sga",524 .p.name = "sga",
525 .long_name = NULL_IF_CONFIG_SMALL("Digital Pictures SGA Video"),525 .p.long_name = NULL_IF_CONFIG_SMALL("Digital Pictures SGA Video"),
526 .type = AVMEDIA_TYPE_VIDEO,526 .p.type = AVMEDIA_TYPE_VIDEO,
527 .id = AV_CODEC_ID_SGA_VIDEO,527 .p.id = AV_CODEC_ID_SGA_VIDEO,
528 .priv_data_size = sizeof(SGAVideoContext),528 .priv_data_size = sizeof(SGAVideoContext),
529 .init = sga_decode_init,529 .init = sga_decode_init,
530 .decode = sga_decode_frame,530 .decode = sga_decode_frame,
531 .close = sga_decode_end,531 .close = sga_decode_end,
532 .capabilities = AV_CODEC_CAP_DR1,532 .p.capabilities = AV_CODEC_CAP_DR1,
533 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,533 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
534};534};
libavcodec/sgidec.c+6−6
@@ -288,14 +288,14 @@ static av_cold int sgi_decode_init(AVCodecContext *avctx) · 287 unmodified lines
288 return 0;288 return 0;
289}289}
290 290
291const AVCodec ff_sgi_decoder = {291const FFCodec ff_sgi_decoder = {
292 .name = "sgi",292 .p.name = "sgi",
293 .long_name = NULL_IF_CONFIG_SMALL("SGI image"),293 .p.long_name = NULL_IF_CONFIG_SMALL("SGI image"),
294 .type = AVMEDIA_TYPE_VIDEO,294 .p.type = AVMEDIA_TYPE_VIDEO,
295 .id = AV_CODEC_ID_SGI,295 .p.id = AV_CODEC_ID_SGI,
296 .priv_data_size = sizeof(SgiState),296 .priv_data_size = sizeof(SgiState),
297 .decode = decode_frame,297 .decode = decode_frame,
298 .init = sgi_decode_init,298 .init = sgi_decode_init,
299 .capabilities = AV_CODEC_CAP_DR1,299 .p.capabilities = AV_CODEC_CAP_DR1,
300 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,300 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
301};301};
libavcodec/sgienc.c+7−7
@@ -270,16 +270,16 @@ static const AVClass sgi_class = { · 269 unmodified lines
270 .version = LIBAVUTIL_VERSION_INT,270 .version = LIBAVUTIL_VERSION_INT,
271};271};
272 272
273const AVCodec ff_sgi_encoder = {273const FFCodec ff_sgi_encoder = {
274 .name = "sgi",274 .p.name = "sgi",
275 .long_name = NULL_IF_CONFIG_SMALL("SGI image"),275 .p.long_name = NULL_IF_CONFIG_SMALL("SGI image"),
276 .type = AVMEDIA_TYPE_VIDEO,276 .p.type = AVMEDIA_TYPE_VIDEO,
277 .id = AV_CODEC_ID_SGI,277 .p.id = AV_CODEC_ID_SGI,
278 .priv_data_size = sizeof(SgiContext),278 .priv_data_size = sizeof(SgiContext),
279 .priv_class = &sgi_class,279 .p.priv_class = &sgi_class,
280 .init = encode_init,280 .init = encode_init,
281 .encode2 = encode_frame,281 .encode2 = encode_frame,
282 .pix_fmts = (const enum AVPixelFormat[]) {282 .p.pix_fmts = (const enum AVPixelFormat[]) {
283 AV_PIX_FMT_RGB24, AV_PIX_FMT_RGBA,283 AV_PIX_FMT_RGB24, AV_PIX_FMT_RGBA,
284 AV_PIX_FMT_RGB48LE, AV_PIX_FMT_RGB48BE,284 AV_PIX_FMT_RGB48LE, AV_PIX_FMT_RGB48BE,
285 AV_PIX_FMT_RGBA64LE, AV_PIX_FMT_RGBA64BE,285 AV_PIX_FMT_RGBA64LE, AV_PIX_FMT_RGBA64BE,
libavcodec/sgirledec.c+6−6
@@ -132,13 +132,13 @@ static int sgirle_decode_frame(AVCodecContext *avctx, void *data, · 131 unmodified lines
132 return avpkt->size;132 return avpkt->size;
133}133}
134 134
135const AVCodec ff_sgirle_decoder = {135const FFCodec ff_sgirle_decoder = {
136 .name = "sgirle",136 .p.name = "sgirle",
137 .long_name = NULL_IF_CONFIG_SMALL("Silicon Graphics RLE 8-bit video"),137 .p.long_name = NULL_IF_CONFIG_SMALL("Silicon Graphics RLE 8-bit video"),
138 .type = AVMEDIA_TYPE_VIDEO,138 .p.type = AVMEDIA_TYPE_VIDEO,
139 .id = AV_CODEC_ID_SGIRLE,139 .p.id = AV_CODEC_ID_SGIRLE,
140 .init = sgirle_decode_init,140 .init = sgirle_decode_init,
141 .decode = sgirle_decode_frame,141 .decode = sgirle_decode_frame,
142 .capabilities = AV_CODEC_CAP_DR1,142 .p.capabilities = AV_CODEC_CAP_DR1,
143 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,143 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
144};144};
libavcodec/sheervideo.c+7−6
@@ -24,6 +24,7 @@ · 23 unmodified lines
24 24
25#include "libavutil/intreadwrite.h"25#include "libavutil/intreadwrite.h"
26#include "avcodec.h"26#include "avcodec.h"
27#include "codec_internal.h"
27#include "get_bits.h"28#include "get_bits.h"
28#include "thread.h"29#include "thread.h"
29#include "sheervideodata.h"30#include "sheervideodata.h"
@@ -1999,13 +2000,13 @@ static av_cold int decode_end(AVCodecContext *avctx) · 1969 unmodified lines
1999 return 0;2000 return 0;
2000}2001}
2001 2002
2002const AVCodec ff_sheervideo_decoder = {2003const FFCodec ff_sheervideo_decoder = {
2003 .name = "sheervideo",2004 .p.name = "sheervideo",
2004 .long_name = NULL_IF_CONFIG_SMALL("BitJazz SheerVideo"),2005 .p.long_name = NULL_IF_CONFIG_SMALL("BitJazz SheerVideo"),
2005 .type = AVMEDIA_TYPE_VIDEO,2006 .p.type = AVMEDIA_TYPE_VIDEO,
2006 .id = AV_CODEC_ID_SHEERVIDEO,2007 .p.id = AV_CODEC_ID_SHEERVIDEO,
2008 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
2007 .priv_data_size = sizeof(SheerVideoContext),2009 .priv_data_size = sizeof(SheerVideoContext),
2008 .close = decode_end,2010 .close = decode_end,
2009 .decode = decode_frame,2011 .decode = decode_frame,
2010 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
2011};2012};
libavcodec/shorten.c+7−7
@@ -804,20 +804,20 @@ static av_cold int shorten_decode_close(AVCodecContext *avctx) · 803 unmodified lines
804 return 0;804 return 0;
805}805}
806 806
807const AVCodec ff_shorten_decoder = {807const FFCodec ff_shorten_decoder = {
808 .name = "shorten",808 .p.name = "shorten",
809 .long_name = NULL_IF_CONFIG_SMALL("Shorten"),809 .p.long_name = NULL_IF_CONFIG_SMALL("Shorten"),
810 .type = AVMEDIA_TYPE_AUDIO,810 .p.type = AVMEDIA_TYPE_AUDIO,
811 .id = AV_CODEC_ID_SHORTEN,811 .p.id = AV_CODEC_ID_SHORTEN,
812 .priv_data_size = sizeof(ShortenContext),812 .priv_data_size = sizeof(ShortenContext),
813 .init = shorten_decode_init,813 .init = shorten_decode_init,
814 .close = shorten_decode_close,814 .close = shorten_decode_close,
815 .decode = shorten_decode_frame,815 .decode = shorten_decode_frame,
816 .capabilities = AV_CODEC_CAP_CHANNEL_CONF |816 .p.capabilities = AV_CODEC_CAP_CHANNEL_CONF |
817 AV_CODEC_CAP_DELAY |817 AV_CODEC_CAP_DELAY |
818 AV_CODEC_CAP_DR1 |818 AV_CODEC_CAP_DR1 |
819 AV_CODEC_CAP_SUBFRAMES ,819 AV_CODEC_CAP_SUBFRAMES ,
820 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16P,820 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16P,
821 AV_SAMPLE_FMT_U8P,821 AV_SAMPLE_FMT_U8P,
822 AV_SAMPLE_FMT_NONE },822 AV_SAMPLE_FMT_NONE },
823 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,823 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
libavcodec/sipr.c+6−6
@@ -563,14 +563,14 @@ static int sipr_decode_frame(AVCodecContext *avctx, void *data, · 562 unmodified lines
563 return mode_par->bits_per_frame >> 3;563 return mode_par->bits_per_frame >> 3;
564}564}
565 565
566const AVCodec ff_sipr_decoder = {566const FFCodec ff_sipr_decoder = {
567 .name = "sipr",567 .p.name = "sipr",
568 .long_name = NULL_IF_CONFIG_SMALL("RealAudio SIPR / ACELP.NET"),568 .p.long_name = NULL_IF_CONFIG_SMALL("RealAudio SIPR / ACELP.NET"),
569 .type = AVMEDIA_TYPE_AUDIO,569 .p.type = AVMEDIA_TYPE_AUDIO,
570 .id = AV_CODEC_ID_SIPR,570 .p.id = AV_CODEC_ID_SIPR,
571 .priv_data_size = sizeof(SiprContext),571 .priv_data_size = sizeof(SiprContext),
572 .init = sipr_decoder_init,572 .init = sipr_decoder_init,
573 .decode = sipr_decode_frame,573 .decode = sipr_decode_frame,
574 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,574 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
575 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,575 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
576};576};
libavcodec/siren.c+12−12
@@ -842,33 +842,33 @@ static av_cold int siren_close(AVCodecContext *avctx) · 841 unmodified lines
842 return 0;842 return 0;
843}843}
844 844
845const AVCodec ff_siren_decoder = {845const FFCodec ff_siren_decoder = {
846 .name = "siren",846 .p.name = "siren",
847 .long_name = NULL_IF_CONFIG_SMALL("Siren"),847 .p.long_name = NULL_IF_CONFIG_SMALL("Siren"),
848 .priv_data_size = sizeof(SirenContext),848 .priv_data_size = sizeof(SirenContext),
849 .type = AVMEDIA_TYPE_AUDIO,849 .p.type = AVMEDIA_TYPE_AUDIO,
850 .id = AV_CODEC_ID_SIREN,850 .p.id = AV_CODEC_ID_SIREN,
851 .init = siren_init,851 .init = siren_init,
852 .close = siren_close,852 .close = siren_close,
853 .decode = siren_decode,853 .decode = siren_decode,
854 .flush = siren_flush,854 .flush = siren_flush,
855 .capabilities = AV_CODEC_CAP_CHANNEL_CONF |855 .p.capabilities = AV_CODEC_CAP_CHANNEL_CONF |
856 AV_CODEC_CAP_DR1,856 AV_CODEC_CAP_DR1,
857 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |857 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |
858 FF_CODEC_CAP_INIT_CLEANUP,858 FF_CODEC_CAP_INIT_CLEANUP,
859};859};
860 860
861const AVCodec ff_msnsiren_decoder = {861const FFCodec ff_msnsiren_decoder = {
862 .name = "msnsiren",862 .p.name = "msnsiren",
863 .long_name = NULL_IF_CONFIG_SMALL("MSN Siren"),863 .p.long_name = NULL_IF_CONFIG_SMALL("MSN Siren"),
864 .priv_data_size = sizeof(SirenContext),864 .priv_data_size = sizeof(SirenContext),
865 .type = AVMEDIA_TYPE_AUDIO,865 .p.type = AVMEDIA_TYPE_AUDIO,
866 .id = AV_CODEC_ID_MSNSIREN,866 .p.id = AV_CODEC_ID_MSNSIREN,
867 .init = siren_init,867 .init = siren_init,
868 .close = siren_close,868 .close = siren_close,
869 .decode = siren_decode,869 .decode = siren_decode,
870 .flush = siren_flush,870 .flush = siren_flush,
871 .capabilities = AV_CODEC_CAP_CHANNEL_CONF |871 .p.capabilities = AV_CODEC_CAP_CHANNEL_CONF |
872 AV_CODEC_CAP_DR1,872 AV_CODEC_CAP_DR1,
873 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |873 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |
874 FF_CODEC_CAP_INIT_CLEANUP,874 FF_CODEC_CAP_INIT_CLEANUP,
libavcodec/smacker.c+12−12
@@ -723,26 +723,26 @@ error: · 722 unmodified lines
723 return ret;723 return ret;
724}724}
725 725
726const AVCodec ff_smacker_decoder = {726const FFCodec ff_smacker_decoder = {
727 .name = "smackvid",727 .p.name = "smackvid",
728 .long_name = NULL_IF_CONFIG_SMALL("Smacker video"),728 .p.long_name = NULL_IF_CONFIG_SMALL("Smacker video"),
729 .type = AVMEDIA_TYPE_VIDEO,729 .p.type = AVMEDIA_TYPE_VIDEO,
730 .id = AV_CODEC_ID_SMACKVIDEO,730 .p.id = AV_CODEC_ID_SMACKVIDEO,
731 .priv_data_size = sizeof(SmackVContext),731 .priv_data_size = sizeof(SmackVContext),
732 .init = decode_init,732 .init = decode_init,
733 .close = decode_end,733 .close = decode_end,
734 .decode = decode_frame,734 .decode = decode_frame,
735 .capabilities = AV_CODEC_CAP_DR1,735 .p.capabilities = AV_CODEC_CAP_DR1,
736 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_INIT_THREADSAFE,736 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_INIT_THREADSAFE,
737};737};
738 738
739const AVCodec ff_smackaud_decoder = {739const FFCodec ff_smackaud_decoder = {
740 .name = "smackaud",740 .p.name = "smackaud",
741 .long_name = NULL_IF_CONFIG_SMALL("Smacker audio"),741 .p.long_name = NULL_IF_CONFIG_SMALL("Smacker audio"),
742 .type = AVMEDIA_TYPE_AUDIO,742 .p.type = AVMEDIA_TYPE_AUDIO,
743 .id = AV_CODEC_ID_SMACKAUDIO,743 .p.id = AV_CODEC_ID_SMACKAUDIO,
744 .init = smka_decode_init,744 .init = smka_decode_init,
745 .decode = smka_decode_frame,745 .decode = smka_decode_frame,
746 .capabilities = AV_CODEC_CAP_DR1,746 .p.capabilities = AV_CODEC_CAP_DR1,
747 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,747 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
748};748};
libavcodec/smc.c+6−6
@@ -469,15 +469,15 @@ static av_cold int smc_decode_end(AVCodecContext *avctx) · 468 unmodified lines
469 return 0;469 return 0;
470}470}
471 471
472const AVCodec ff_smc_decoder = {472const FFCodec ff_smc_decoder = {
473 .name = "smc",473 .p.name = "smc",
474 .long_name = NULL_IF_CONFIG_SMALL("QuickTime Graphics (SMC)"),474 .p.long_name = NULL_IF_CONFIG_SMALL("QuickTime Graphics (SMC)"),
475 .type = AVMEDIA_TYPE_VIDEO,475 .p.type = AVMEDIA_TYPE_VIDEO,
476 .id = AV_CODEC_ID_SMC,476 .p.id = AV_CODEC_ID_SMC,
477 .priv_data_size = sizeof(SmcContext),477 .priv_data_size = sizeof(SmcContext),
478 .init = smc_decode_init,478 .init = smc_decode_init,
479 .close = smc_decode_end,479 .close = smc_decode_end,
480 .decode = smc_decode_frame,480 .decode = smc_decode_frame,
481 .capabilities = AV_CODEC_CAP_DR1,481 .p.capabilities = AV_CODEC_CAP_DR1,
482 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,482 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
483};483};
libavcodec/smcenc.c+6−6
@@ -548,16 +548,16 @@ static int smc_encode_end(AVCodecContext *avctx) · 547 unmodified lines
548 return 0;548 return 0;
549}549}
550 550
551const AVCodec ff_smc_encoder = {551const FFCodec ff_smc_encoder = {
552 .name = "smc",552 .p.name = "smc",
553 .long_name = NULL_IF_CONFIG_SMALL("QuickTime Graphics (SMC)"),553 .p.long_name = NULL_IF_CONFIG_SMALL("QuickTime Graphics (SMC)"),
554 .type = AVMEDIA_TYPE_VIDEO,554 .p.type = AVMEDIA_TYPE_VIDEO,
555 .id = AV_CODEC_ID_SMC,555 .p.id = AV_CODEC_ID_SMC,
556 .priv_data_size = sizeof(SMCContext),556 .priv_data_size = sizeof(SMCContext),
557 .init = smc_encode_init,557 .init = smc_encode_init,
558 .encode2 = smc_encode_frame,558 .encode2 = smc_encode_frame,
559 .close = smc_encode_end,559 .close = smc_encode_end,
560 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,560 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
561 .pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_PAL8,561 .p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_PAL8,
562 AV_PIX_FMT_NONE},562 AV_PIX_FMT_NONE},
563};563};
libavcodec/snowdec.c+6−6
@@ -654,16 +654,16 @@ static av_cold int decode_end(AVCodecContext *avctx) · 653 unmodified lines
654 return 0;654 return 0;
655}655}
656 656
657const AVCodec ff_snow_decoder = {657const FFCodec ff_snow_decoder = {
658 .name = "snow",658 .p.name = "snow",
659 .long_name = NULL_IF_CONFIG_SMALL("Snow"),659 .p.long_name = NULL_IF_CONFIG_SMALL("Snow"),
660 .type = AVMEDIA_TYPE_VIDEO,660 .p.type = AVMEDIA_TYPE_VIDEO,
661 .id = AV_CODEC_ID_SNOW,661 .p.id = AV_CODEC_ID_SNOW,
662 .priv_data_size = sizeof(SnowContext),662 .priv_data_size = sizeof(SnowContext),
663 .init = ff_snow_common_init,663 .init = ff_snow_common_init,
664 .close = decode_end,664 .close = decode_end,
665 .decode = decode_frame,665 .decode = decode_frame,
666 .capabilities = AV_CODEC_CAP_DR1 /*| AV_CODEC_CAP_DRAW_HORIZ_BAND*/,666 .p.capabilities = AV_CODEC_CAP_DR1 /*| AV_CODEC_CAP_DRAW_HORIZ_BAND*/,
667 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |667 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |
668 FF_CODEC_CAP_INIT_CLEANUP,668 FF_CODEC_CAP_INIT_CLEANUP,
669};669};
libavcodec/snowenc.c+7−7
@@ -1912,21 +1912,21 @@ static const AVClass snowenc_class = { · 1911 unmodified lines
1912 .version = LIBAVUTIL_VERSION_INT,1912 .version = LIBAVUTIL_VERSION_INT,
1913};1913};
1914 1914
1915const AVCodec ff_snow_encoder = {1915const FFCodec ff_snow_encoder = {
1916 .name = "snow",1916 .p.name = "snow",
1917 .long_name = NULL_IF_CONFIG_SMALL("Snow"),1917 .p.long_name = NULL_IF_CONFIG_SMALL("Snow"),
1918 .type = AVMEDIA_TYPE_VIDEO,1918 .p.type = AVMEDIA_TYPE_VIDEO,
1919 .id = AV_CODEC_ID_SNOW,1919 .p.id = AV_CODEC_ID_SNOW,
1920 .priv_data_size = sizeof(SnowContext),1920 .priv_data_size = sizeof(SnowContext),
1921 .init = encode_init,1921 .init = encode_init,
1922 .encode2 = encode_frame,1922 .encode2 = encode_frame,
1923 .close = encode_end,1923 .close = encode_end,
1924 .pix_fmts = (const enum AVPixelFormat[]){1924 .p.pix_fmts = (const enum AVPixelFormat[]){
1925 AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV444P,1925 AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV444P,
1926 AV_PIX_FMT_GRAY8,1926 AV_PIX_FMT_GRAY8,
1927 AV_PIX_FMT_NONE1927 AV_PIX_FMT_NONE
1928 },1928 },
1929 .priv_class = &snowenc_class,1929 .p.priv_class = &snowenc_class,
1930 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |1930 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |
1931 FF_CODEC_CAP_INIT_CLEANUP,1931 FF_CODEC_CAP_INIT_CLEANUP,
1932};1932};
libavcodec/sonic.c+20−20
@@ -1078,47 +1078,47 @@ static int sonic_decode_frame(AVCodecContext *avctx, · 1077 unmodified lines
1078 return buf_size;1078 return buf_size;
1079}1079}
1080 1080
1081const AVCodec ff_sonic_decoder = {1081const FFCodec ff_sonic_decoder = {
1082 .name = "sonic",1082 .p.name = "sonic",
1083 .long_name = NULL_IF_CONFIG_SMALL("Sonic"),1083 .p.long_name = NULL_IF_CONFIG_SMALL("Sonic"),
1084 .type = AVMEDIA_TYPE_AUDIO,1084 .p.type = AVMEDIA_TYPE_AUDIO,
1085 .id = AV_CODEC_ID_SONIC,1085 .p.id = AV_CODEC_ID_SONIC,
1086 .priv_data_size = sizeof(SonicContext),1086 .priv_data_size = sizeof(SonicContext),
1087 .init = sonic_decode_init,1087 .init = sonic_decode_init,
1088 .close = sonic_decode_close,1088 .close = sonic_decode_close,
1089 .decode = sonic_decode_frame,1089 .decode = sonic_decode_frame,
1090 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_EXPERIMENTAL | AV_CODEC_CAP_CHANNEL_CONF,1090 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_EXPERIMENTAL | AV_CODEC_CAP_CHANNEL_CONF,
1091 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,1091 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
1092};1092};
1093#endif /* CONFIG_SONIC_DECODER */1093#endif /* CONFIG_SONIC_DECODER */
1094 1094
1095#if CONFIG_SONIC_ENCODER1095#if CONFIG_SONIC_ENCODER
1096const AVCodec ff_sonic_encoder = {1096const FFCodec ff_sonic_encoder = {
1097 .name = "sonic",1097 .p.name = "sonic",
1098 .long_name = NULL_IF_CONFIG_SMALL("Sonic"),1098 .p.long_name = NULL_IF_CONFIG_SMALL("Sonic"),
1099 .type = AVMEDIA_TYPE_AUDIO,1099 .p.type = AVMEDIA_TYPE_AUDIO,
1100 .id = AV_CODEC_ID_SONIC,1100 .p.id = AV_CODEC_ID_SONIC,
1101 .priv_data_size = sizeof(SonicContext),1101 .priv_data_size = sizeof(SonicContext),
1102 .init = sonic_encode_init,1102 .init = sonic_encode_init,
1103 .encode2 = sonic_encode_frame,1103 .encode2 = sonic_encode_frame,
1104 .sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_NONE },1104 .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_NONE },
1105 .capabilities = AV_CODEC_CAP_EXPERIMENTAL,1105 .p.capabilities = AV_CODEC_CAP_EXPERIMENTAL,
1106 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,1106 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
1107 .close = sonic_encode_close,1107 .close = sonic_encode_close,
1108};1108};
1109#endif1109#endif
1110 1110
1111#if CONFIG_SONIC_LS_ENCODER1111#if CONFIG_SONIC_LS_ENCODER
1112const AVCodec ff_sonic_ls_encoder = {1112const FFCodec ff_sonic_ls_encoder = {
1113 .name = "sonicls",1113 .p.name = "sonicls",
1114 .long_name = NULL_IF_CONFIG_SMALL("Sonic lossless"),1114 .p.long_name = NULL_IF_CONFIG_SMALL("Sonic lossless"),
1115 .type = AVMEDIA_TYPE_AUDIO,1115 .p.type = AVMEDIA_TYPE_AUDIO,
1116 .id = AV_CODEC_ID_SONIC_LS,1116 .p.id = AV_CODEC_ID_SONIC_LS,
1117 .priv_data_size = sizeof(SonicContext),1117 .priv_data_size = sizeof(SonicContext),
1118 .init = sonic_encode_init,1118 .init = sonic_encode_init,
1119 .encode2 = sonic_encode_frame,1119 .encode2 = sonic_encode_frame,
1120 .sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_NONE },1120 .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_NONE },
1121 .capabilities = AV_CODEC_CAP_EXPERIMENTAL,1121 .p.capabilities = AV_CODEC_CAP_EXPERIMENTAL,
1122 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,1122 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
1123 .close = sonic_encode_close,1123 .close = sonic_encode_close,
1124};1124};
libavcodec/sp5xdec.c+14−14
@@ -92,33 +92,33 @@ int ff_sp5x_process_packet(AVCodecContext *avctx, AVPacket *avpkt) · 91 unmodified lines
92}92}
93 93
94#if CONFIG_SP5X_DECODER94#if CONFIG_SP5X_DECODER
95const AVCodec ff_sp5x_decoder = {95const FFCodec ff_sp5x_decoder = {
96 .name = "sp5x",96 .p.name = "sp5x",
97 .long_name = NULL_IF_CONFIG_SMALL("Sunplus JPEG (SP5X)"),97 .p.long_name = NULL_IF_CONFIG_SMALL("Sunplus JPEG (SP5X)"),
98 .type = AVMEDIA_TYPE_VIDEO,98 .p.type = AVMEDIA_TYPE_VIDEO,
99 .id = AV_CODEC_ID_SP5X,99 .p.id = AV_CODEC_ID_SP5X,
100 .priv_data_size = sizeof(MJpegDecodeContext),100 .priv_data_size = sizeof(MJpegDecodeContext),
101 .init = ff_mjpeg_decode_init,101 .init = ff_mjpeg_decode_init,
102 .close = ff_mjpeg_decode_end,102 .close = ff_mjpeg_decode_end,
103 .receive_frame = ff_mjpeg_receive_frame,103 .receive_frame = ff_mjpeg_receive_frame,
104 .capabilities = AV_CODEC_CAP_DR1,104 .p.capabilities = AV_CODEC_CAP_DR1,
105 .max_lowres = 3,105 .p.max_lowres = 3,
106 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP |106 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP |
107 FF_CODEC_CAP_SETS_PKT_DTS,107 FF_CODEC_CAP_SETS_PKT_DTS,
108};108};
109#endif109#endif
110#if CONFIG_AMV_DECODER110#if CONFIG_AMV_DECODER
111const AVCodec ff_amv_decoder = {111const FFCodec ff_amv_decoder = {
112 .name = "amv",112 .p.name = "amv",
113 .long_name = NULL_IF_CONFIG_SMALL("AMV Video"),113 .p.long_name = NULL_IF_CONFIG_SMALL("AMV Video"),
114 .type = AVMEDIA_TYPE_VIDEO,114 .p.type = AVMEDIA_TYPE_VIDEO,
115 .id = AV_CODEC_ID_AMV,115 .p.id = AV_CODEC_ID_AMV,
116 .priv_data_size = sizeof(MJpegDecodeContext),116 .priv_data_size = sizeof(MJpegDecodeContext),
117 .init = ff_mjpeg_decode_init,117 .init = ff_mjpeg_decode_init,
118 .close = ff_mjpeg_decode_end,118 .close = ff_mjpeg_decode_end,
119 .receive_frame = ff_mjpeg_receive_frame,119 .receive_frame = ff_mjpeg_receive_frame,
120 .max_lowres = 3,120 .p.max_lowres = 3,
121 .capabilities = AV_CODEC_CAP_DR1,121 .p.capabilities = AV_CODEC_CAP_DR1,
122 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP |122 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP |
123 FF_CODEC_CAP_SETS_PKT_DTS,123 FF_CODEC_CAP_SETS_PKT_DTS,
124};124};
libavcodec/speedhq.c+6−6
@@ -726,15 +726,15 @@ static av_cold int speedhq_decode_init(AVCodecContext *avctx) · 725 unmodified lines
726 return 0;726 return 0;
727}727}
728 728
729const AVCodec ff_speedhq_decoder = {729const FFCodec ff_speedhq_decoder = {
730 .name = "speedhq",730 .p.name = "speedhq",
731 .long_name = NULL_IF_CONFIG_SMALL("NewTek SpeedHQ"),731 .p.long_name = NULL_IF_CONFIG_SMALL("NewTek SpeedHQ"),
732 .type = AVMEDIA_TYPE_VIDEO,732 .p.type = AVMEDIA_TYPE_VIDEO,
733 .id = AV_CODEC_ID_SPEEDHQ,733 .p.id = AV_CODEC_ID_SPEEDHQ,
734 .priv_data_size = sizeof(SHQContext),734 .priv_data_size = sizeof(SHQContext),
735 .init = speedhq_decode_init,735 .init = speedhq_decode_init,
736 .decode = speedhq_decode_frame,736 .decode = speedhq_decode_frame,
737 .capabilities = AV_CODEC_CAP_DR1,737 .p.capabilities = AV_CODEC_CAP_DR1,
738 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,738 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
739};739};
740#endif /* CONFIG_SPEEDHQ_DECODER */740#endif /* CONFIG_SPEEDHQ_DECODER */
libavcodec/speedhqenc.c+7−7
@@ -270,18 +270,18 @@ int ff_speedhq_mb_y_order_to_mb(int mb_y_order, int mb_height, int *first_in_sli · 269 unmodified lines
270}270}
271 271
272#if CONFIG_SPEEDHQ_ENCODER272#if CONFIG_SPEEDHQ_ENCODER
273const AVCodec ff_speedhq_encoder = {273const FFCodec ff_speedhq_encoder = {
274 .name = "speedhq",274 .p.name = "speedhq",
275 .long_name = NULL_IF_CONFIG_SMALL("NewTek SpeedHQ"),275 .p.long_name = NULL_IF_CONFIG_SMALL("NewTek SpeedHQ"),
276 .type = AVMEDIA_TYPE_VIDEO,276 .p.type = AVMEDIA_TYPE_VIDEO,
277 .id = AV_CODEC_ID_SPEEDHQ,277 .p.id = AV_CODEC_ID_SPEEDHQ,
278 .priv_class = &ff_mpv_enc_class,278 .p.priv_class = &ff_mpv_enc_class,
279 .priv_data_size = sizeof(MpegEncContext),279 .priv_data_size = sizeof(MpegEncContext),
280 .init = ff_mpv_encode_init,280 .init = ff_mpv_encode_init,
281 .encode2 = ff_mpv_encode_picture,281 .encode2 = ff_mpv_encode_picture,
282 .close = ff_mpv_encode_end,282 .close = ff_mpv_encode_end,
283 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,283 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
284 .pix_fmts = (const enum AVPixelFormat[]) {284 .p.pix_fmts = (const enum AVPixelFormat[]) {
285 AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV444P,285 AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV444P,
286 AV_PIX_FMT_NONE286 AV_PIX_FMT_NONE
287 },287 },
libavcodec/speexdec.c+6−6
@@ -1577,15 +1577,15 @@ static av_cold int speex_decode_close(AVCodecContext *avctx) · 1576 unmodified lines
1577 return 0;1577 return 0;
1578}1578}
1579 1579
1580const AVCodec ff_speex_decoder = {1580const FFCodec ff_speex_decoder = {
1581 .name = "speex",1581 .p.name = "speex",
1582 .long_name = NULL_IF_CONFIG_SMALL("Speex"),1582 .p.long_name = NULL_IF_CONFIG_SMALL("Speex"),
1583 .type = AVMEDIA_TYPE_AUDIO,1583 .p.type = AVMEDIA_TYPE_AUDIO,
1584 .id = AV_CODEC_ID_SPEEX,1584 .p.id = AV_CODEC_ID_SPEEX,
1585 .init = speex_decode_init,1585 .init = speex_decode_init,
1586 .decode = speex_decode_frame,1586 .decode = speex_decode_frame,
1587 .close = speex_decode_close,1587 .close = speex_decode_close,
1588 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,1588 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
1589 .priv_data_size = sizeof(SpeexContext),1589 .priv_data_size = sizeof(SpeexContext),
1590 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,1590 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
1591};1591};
libavcodec/srtdec.c+10−10
@@ -91,11 +91,11 @@ static int srt_decode_frame(AVCodecContext *avctx, · 90 unmodified lines
91 91
92#if CONFIG_SRT_DECODER92#if CONFIG_SRT_DECODER
93/* deprecated decoder */93/* deprecated decoder */
94const AVCodec ff_srt_decoder = {94const FFCodec ff_srt_decoder = {
95 .name = "srt",95 .p.name = "srt",
96 .long_name = NULL_IF_CONFIG_SMALL("SubRip subtitle"),96 .p.long_name = NULL_IF_CONFIG_SMALL("SubRip subtitle"),
97 .type = AVMEDIA_TYPE_SUBTITLE,97 .p.type = AVMEDIA_TYPE_SUBTITLE,
98 .id = AV_CODEC_ID_SUBRIP,98 .p.id = AV_CODEC_ID_SUBRIP,
99 .init = ff_ass_subtitle_header_default,99 .init = ff_ass_subtitle_header_default,
100 .decode = srt_decode_frame,100 .decode = srt_decode_frame,
101 .flush = ff_ass_decoder_flush,101 .flush = ff_ass_decoder_flush,
@@ -105,11 +105,11 @@ const AVCodec ff_srt_decoder = { · 3 unmodified lines
105#endif105#endif
106 106
107#if CONFIG_SUBRIP_DECODER107#if CONFIG_SUBRIP_DECODER
108const AVCodec ff_subrip_decoder = {108const FFCodec ff_subrip_decoder = {
109 .name = "subrip",109 .p.name = "subrip",
110 .long_name = NULL_IF_CONFIG_SMALL("SubRip subtitle"),110 .p.long_name = NULL_IF_CONFIG_SMALL("SubRip subtitle"),
111 .type = AVMEDIA_TYPE_SUBTITLE,111 .p.type = AVMEDIA_TYPE_SUBTITLE,
112 .id = AV_CODEC_ID_SUBRIP,112 .p.id = AV_CODEC_ID_SUBRIP,
113 .init = ff_ass_subtitle_header_default,113 .init = ff_ass_subtitle_header_default,
114 .decode = srt_decode_frame,114 .decode = srt_decode_frame,
115 .flush = ff_ass_decoder_flush,115 .flush = ff_ass_decoder_flush,
libavcodec/srtenc.c+15−15
@@ -293,11 +293,11 @@ static int srt_encode_close(AVCodecContext *avctx) · 292 unmodified lines
293 293
294#if CONFIG_SRT_ENCODER294#if CONFIG_SRT_ENCODER
295/* deprecated encoder */295/* deprecated encoder */
296const AVCodec ff_srt_encoder = {296const FFCodec ff_srt_encoder = {
297 .name = "srt",297 .p.name = "srt",
298 .long_name = NULL_IF_CONFIG_SMALL("SubRip subtitle"),298 .p.long_name = NULL_IF_CONFIG_SMALL("SubRip subtitle"),
299 .type = AVMEDIA_TYPE_SUBTITLE,299 .p.type = AVMEDIA_TYPE_SUBTITLE,
300 .id = AV_CODEC_ID_SUBRIP,300 .p.id = AV_CODEC_ID_SUBRIP,
301 .priv_data_size = sizeof(SRTContext),301 .priv_data_size = sizeof(SRTContext),
302 .init = srt_encode_init,302 .init = srt_encode_init,
303 .encode_sub = srt_encode_frame,303 .encode_sub = srt_encode_frame,
@@ -307,11 +307,11 @@ const AVCodec ff_srt_encoder = { · 3 unmodified lines
307#endif307#endif
308 308
309#if CONFIG_SUBRIP_ENCODER309#if CONFIG_SUBRIP_ENCODER
310const AVCodec ff_subrip_encoder = {310const FFCodec ff_subrip_encoder = {
311 .name = "subrip",311 .p.name = "subrip",
312 .long_name = NULL_IF_CONFIG_SMALL("SubRip subtitle"),312 .p.long_name = NULL_IF_CONFIG_SMALL("SubRip subtitle"),
313 .type = AVMEDIA_TYPE_SUBTITLE,313 .p.type = AVMEDIA_TYPE_SUBTITLE,
314 .id = AV_CODEC_ID_SUBRIP,314 .p.id = AV_CODEC_ID_SUBRIP,
315 .priv_data_size = sizeof(SRTContext),315 .priv_data_size = sizeof(SRTContext),
316 .init = srt_encode_init,316 .init = srt_encode_init,
317 .encode_sub = srt_encode_frame,317 .encode_sub = srt_encode_frame,
@@ -321,11 +321,11 @@ const AVCodec ff_subrip_encoder = { · 3 unmodified lines
321#endif321#endif
322 322
323#if CONFIG_TEXT_ENCODER323#if CONFIG_TEXT_ENCODER
324const AVCodec ff_text_encoder = {324const FFCodec ff_text_encoder = {
325 .name = "text",325 .p.name = "text",
326 .long_name = NULL_IF_CONFIG_SMALL("Raw text subtitle"),326 .p.long_name = NULL_IF_CONFIG_SMALL("Raw text subtitle"),
327 .type = AVMEDIA_TYPE_SUBTITLE,327 .p.type = AVMEDIA_TYPE_SUBTITLE,
328 .id = AV_CODEC_ID_TEXT,328 .p.id = AV_CODEC_ID_TEXT,
329 .priv_data_size = sizeof(SRTContext),329 .priv_data_size = sizeof(SRTContext),
330 .init = srt_encode_init,330 .init = srt_encode_init,
331 .encode_sub = text_encode_frame,331 .encode_sub = text_encode_frame,
libavcodec/subviewerdec.c+5−5
@@ -66,11 +66,11 @@ static int subviewer_decode_frame(AVCodecContext *avctx, · 65 unmodified lines
66 return avpkt->size;66 return avpkt->size;
67}67}
68 68
69const AVCodec ff_subviewer_decoder = {69const FFCodec ff_subviewer_decoder = {
70 .name = "subviewer",70 .p.name = "subviewer",
71 .long_name = NULL_IF_CONFIG_SMALL("SubViewer subtitle"),71 .p.long_name = NULL_IF_CONFIG_SMALL("SubViewer subtitle"),
72 .type = AVMEDIA_TYPE_SUBTITLE,72 .p.type = AVMEDIA_TYPE_SUBTITLE,
73 .id = AV_CODEC_ID_SUBVIEWER,73 .p.id = AV_CODEC_ID_SUBVIEWER,
74 .decode = subviewer_decode_frame,74 .decode = subviewer_decode_frame,
75 .init = ff_ass_subtitle_header_default,75 .init = ff_ass_subtitle_header_default,
76 .flush = ff_ass_decoder_flush,76 .flush = ff_ass_decoder_flush,
libavcodec/sunrast.c+7−6
@@ -23,6 +23,7 @@ · 22 unmodified lines
23#include "libavutil/intreadwrite.h"23#include "libavutil/intreadwrite.h"
24#include "libavutil/imgutils.h"24#include "libavutil/imgutils.h"
25#include "avcodec.h"25#include "avcodec.h"
26#include "codec_internal.h"
26#include "internal.h"27#include "internal.h"
27#include "sunrast.h"28#include "sunrast.h"
28 29
@@ -205,11 +206,11 @@ static int sunrast_decode_frame(AVCodecContext *avctx, void *data, · 176 unmodified lines
205 return buf - bufstart;206 return buf - bufstart;
206}207}
207 208
208const AVCodec ff_sunrast_decoder = {209const FFCodec ff_sunrast_decoder = {
209 .name = "sunrast",210 .p.name = "sunrast",
210 .long_name = NULL_IF_CONFIG_SMALL("Sun Rasterfile image"),211 .p.long_name = NULL_IF_CONFIG_SMALL("Sun Rasterfile image"),
211 .type = AVMEDIA_TYPE_VIDEO,212 .p.type = AVMEDIA_TYPE_VIDEO,
212 .id = AV_CODEC_ID_SUNRAST,213 .p.id = AV_CODEC_ID_SUNRAST,
214 .p.capabilities = AV_CODEC_CAP_DR1,
213 .decode = sunrast_decode_frame,215 .decode = sunrast_decode_frame,
214 .capabilities = AV_CODEC_CAP_DR1,
215};216};
libavcodec/sunrastenc.c+7−7
@@ -208,16 +208,16 @@ static const AVClass sunrast_class = { · 207 unmodified lines
208 .version = LIBAVUTIL_VERSION_INT,208 .version = LIBAVUTIL_VERSION_INT,
209};209};
210 210
211const AVCodec ff_sunrast_encoder = {211const FFCodec ff_sunrast_encoder = {
212 .name = "sunrast",212 .p.name = "sunrast",
213 .long_name = NULL_IF_CONFIG_SMALL("Sun Rasterfile image"),213 .p.long_name = NULL_IF_CONFIG_SMALL("Sun Rasterfile image"),
214 .type = AVMEDIA_TYPE_VIDEO,214 .p.type = AVMEDIA_TYPE_VIDEO,
215 .id = AV_CODEC_ID_SUNRAST,215 .p.id = AV_CODEC_ID_SUNRAST,
216 .priv_data_size = sizeof(SUNRASTContext),216 .priv_data_size = sizeof(SUNRASTContext),
217 .init = sunrast_encode_init,217 .init = sunrast_encode_init,
218 .encode2 = sunrast_encode_frame,218 .encode2 = sunrast_encode_frame,
219 .priv_class = &sunrast_class,219 .p.priv_class = &sunrast_class,
220 .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_BGR24,220 .p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_BGR24,
221 AV_PIX_FMT_PAL8,221 AV_PIX_FMT_PAL8,
222 AV_PIX_FMT_GRAY8,222 AV_PIX_FMT_GRAY8,
223 AV_PIX_FMT_MONOWHITE,223 AV_PIX_FMT_MONOWHITE,
libavcodec/svq1dec.c+7−7
@@ -844,18 +844,18 @@ static void svq1_flush(AVCodecContext *avctx) · 843 unmodified lines
844 av_frame_unref(s->prev);844 av_frame_unref(s->prev);
845}845}
846 846
847const AVCodec ff_svq1_decoder = {847const FFCodec ff_svq1_decoder = {
848 .name = "svq1",848 .p.name = "svq1",
849 .long_name = NULL_IF_CONFIG_SMALL("Sorenson Vector Quantizer 1 / Sorenson Video 1 / SVQ1"),849 .p.long_name = NULL_IF_CONFIG_SMALL("Sorenson Vector Quantizer 1 / Sorenson Video 1 / SVQ1"),
850 .type = AVMEDIA_TYPE_VIDEO,850 .p.type = AVMEDIA_TYPE_VIDEO,
851 .id = AV_CODEC_ID_SVQ1,851 .p.id = AV_CODEC_ID_SVQ1,
852 .priv_data_size = sizeof(SVQ1Context),852 .priv_data_size = sizeof(SVQ1Context),
853 .init = svq1_decode_init,853 .init = svq1_decode_init,
854 .close = svq1_decode_end,854 .close = svq1_decode_end,
855 .decode = svq1_decode_frame,855 .decode = svq1_decode_frame,
856 .capabilities = AV_CODEC_CAP_DR1,856 .p.capabilities = AV_CODEC_CAP_DR1,
857 .flush = svq1_flush,857 .flush = svq1_flush,
858 .pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV410P,858 .p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV410P,
859 AV_PIX_FMT_NONE },859 AV_PIX_FMT_NONE },
860 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,860 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
861};861};
libavcodec/svq1enc.c+7−7
@@ -676,17 +676,17 @@ static const AVClass svq1enc_class = { · 675 unmodified lines
676 .version = LIBAVUTIL_VERSION_INT,676 .version = LIBAVUTIL_VERSION_INT,
677};677};
678 678
679const AVCodec ff_svq1_encoder = {679const FFCodec ff_svq1_encoder = {
680 .name = "svq1",680 .p.name = "svq1",
681 .long_name = NULL_IF_CONFIG_SMALL("Sorenson Vector Quantizer 1 / Sorenson Video 1 / SVQ1"),681 .p.long_name = NULL_IF_CONFIG_SMALL("Sorenson Vector Quantizer 1 / Sorenson Video 1 / SVQ1"),
682 .type = AVMEDIA_TYPE_VIDEO,682 .p.type = AVMEDIA_TYPE_VIDEO,
683 .id = AV_CODEC_ID_SVQ1,683 .p.id = AV_CODEC_ID_SVQ1,
684 .priv_data_size = sizeof(SVQ1EncContext),684 .priv_data_size = sizeof(SVQ1EncContext),
685 .priv_class = &svq1enc_class,685 .p.priv_class = &svq1enc_class,
686 .init = svq1_encode_init,686 .init = svq1_encode_init,
687 .encode2 = svq1_encode_frame,687 .encode2 = svq1_encode_frame,
688 .close = svq1_encode_end,688 .close = svq1_encode_end,
689 .pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV410P,689 .p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV410P,
690 AV_PIX_FMT_NONE },690 AV_PIX_FMT_NONE },
691 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,691 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
692};692};
libavcodec/svq3.c+7−7
@@ -1588,19 +1588,19 @@ static av_cold int svq3_decode_end(AVCodecContext *avctx) · 1587 unmodified lines
1588 return 0;1588 return 0;
1589}1589}
1590 1590
1591const AVCodec ff_svq3_decoder = {1591const FFCodec ff_svq3_decoder = {
1592 .name = "svq3",1592 .p.name = "svq3",
1593 .long_name = NULL_IF_CONFIG_SMALL("Sorenson Vector Quantizer 3 / Sorenson Video 3 / SVQ3"),1593 .p.long_name = NULL_IF_CONFIG_SMALL("Sorenson Vector Quantizer 3 / Sorenson Video 3 / SVQ3"),
1594 .type = AVMEDIA_TYPE_VIDEO,1594 .p.type = AVMEDIA_TYPE_VIDEO,
1595 .id = AV_CODEC_ID_SVQ3,1595 .p.id = AV_CODEC_ID_SVQ3,
1596 .priv_data_size = sizeof(SVQ3Context),1596 .priv_data_size = sizeof(SVQ3Context),
1597 .init = svq3_decode_init,1597 .init = svq3_decode_init,
1598 .close = svq3_decode_end,1598 .close = svq3_decode_end,
1599 .decode = svq3_decode_frame,1599 .decode = svq3_decode_frame,
1600 .capabilities = AV_CODEC_CAP_DRAW_HORIZ_BAND |1600 .p.capabilities = AV_CODEC_CAP_DRAW_HORIZ_BAND |
1601 AV_CODEC_CAP_DR1 |1601 AV_CODEC_CAP_DR1 |
1602 AV_CODEC_CAP_DELAY,1602 AV_CODEC_CAP_DELAY,
1603 .pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUVJ420P,1603 .p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUVJ420P,
1604 AV_PIX_FMT_NONE},1604 AV_PIX_FMT_NONE},
1605 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,1605 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
1606};1606};
libavcodec/takdec.c+7−7
@@ -942,18 +942,18 @@ static av_cold int tak_decode_close(AVCodecContext *avctx) · 941 unmodified lines
942 return 0;942 return 0;
943}943}
944 944
945const AVCodec ff_tak_decoder = {945const FFCodec ff_tak_decoder = {
946 .name = "tak",946 .p.name = "tak",
947 .long_name = NULL_IF_CONFIG_SMALL("TAK (Tom's lossless Audio Kompressor)"),947 .p.long_name = NULL_IF_CONFIG_SMALL("TAK (Tom's lossless Audio Kompressor)"),
948 .type = AVMEDIA_TYPE_AUDIO,948 .p.type = AVMEDIA_TYPE_AUDIO,
949 .id = AV_CODEC_ID_TAK,949 .p.id = AV_CODEC_ID_TAK,
950 .priv_data_size = sizeof(TAKDecContext),950 .priv_data_size = sizeof(TAKDecContext),
951 .init = tak_decode_init,951 .init = tak_decode_init,
952 .close = tak_decode_close,952 .close = tak_decode_close,
953 .decode = tak_decode_frame,953 .decode = tak_decode_frame,
954 .update_thread_context = ONLY_IF_THREADS_ENABLED(update_thread_context),954 .update_thread_context = ONLY_IF_THREADS_ENABLED(update_thread_context),
955 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_CHANNEL_CONF,955 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_CHANNEL_CONF,
956 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_U8P,956 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_U8P,
957 AV_SAMPLE_FMT_S16P,957 AV_SAMPLE_FMT_S16P,
958 AV_SAMPLE_FMT_S32P,958 AV_SAMPLE_FMT_S32P,
959 AV_SAMPLE_FMT_NONE },959 AV_SAMPLE_FMT_NONE },
libavcodec/targa.c+7−6
@@ -23,6 +23,7 @@ · 22 unmodified lines
23#include "libavutil/imgutils.h"23#include "libavutil/imgutils.h"
24#include "avcodec.h"24#include "avcodec.h"
25#include "bytestream.h"25#include "bytestream.h"
26#include "codec_internal.h"
26#include "internal.h"27#include "internal.h"
27#include "targa.h"28#include "targa.h"
28 29
@@ -306,12 +307,12 @@ static int decode_frame(AVCodecContext *avctx, · 277 unmodified lines
306 return avpkt->size;307 return avpkt->size;
307}308}
308 309
309const AVCodec ff_targa_decoder = {310const FFCodec ff_targa_decoder = {
310 .name = "targa",311 .p.name = "targa",
311 .long_name = NULL_IF_CONFIG_SMALL("Truevision Targa image"),312 .p.long_name = NULL_IF_CONFIG_SMALL("Truevision Targa image"),
312 .type = AVMEDIA_TYPE_VIDEO,313 .p.type = AVMEDIA_TYPE_VIDEO,
313 .id = AV_CODEC_ID_TARGA,314 .p.id = AV_CODEC_ID_TARGA,
315 .p.capabilities = AV_CODEC_CAP_DR1,
314 .priv_data_size = sizeof(TargaContext),316 .priv_data_size = sizeof(TargaContext),
315 .decode = decode_frame,317 .decode = decode_frame,
316 .capabilities = AV_CODEC_CAP_DR1,
317};318};
libavcodec/targa_y216dec.c+6−6
@@ -74,13 +74,13 @@ static int y216_decode_frame(AVCodecContext *avctx, void *data, · 73 unmodified lines
74 return avpkt->size;74 return avpkt->size;
75}75}
76 76
77const AVCodec ff_targa_y216_decoder = {77const FFCodec ff_targa_y216_decoder = {
78 .name = "targa_y216",78 .p.name = "targa_y216",
79 .long_name = NULL_IF_CONFIG_SMALL("Pinnacle TARGA CineWave YUV16"),79 .p.long_name = NULL_IF_CONFIG_SMALL("Pinnacle TARGA CineWave YUV16"),
80 .type = AVMEDIA_TYPE_VIDEO,80 .p.type = AVMEDIA_TYPE_VIDEO,
81 .id = AV_CODEC_ID_TARGA_Y216,81 .p.id = AV_CODEC_ID_TARGA_Y216,
82 .init = y216_decode_init,82 .init = y216_decode_init,
83 .decode = y216_decode_frame,83 .decode = y216_decode_frame,
84 .capabilities = AV_CODEC_CAP_DR1,84 .p.capabilities = AV_CODEC_CAP_DR1,
85 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,85 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
86};86};
libavcodec/targaenc.c+7−7
@@ -202,16 +202,16 @@ static const AVClass targa_class = { · 201 unmodified lines
202 .version = LIBAVUTIL_VERSION_INT,202 .version = LIBAVUTIL_VERSION_INT,
203};203};
204 204
205const AVCodec ff_targa_encoder = {205const FFCodec ff_targa_encoder = {
206 .name = "targa",206 .p.name = "targa",
207 .long_name = NULL_IF_CONFIG_SMALL("Truevision Targa image"),207 .p.long_name = NULL_IF_CONFIG_SMALL("Truevision Targa image"),
208 .type = AVMEDIA_TYPE_VIDEO,208 .p.type = AVMEDIA_TYPE_VIDEO,
209 .id = AV_CODEC_ID_TARGA,209 .p.id = AV_CODEC_ID_TARGA,
210 .priv_data_size = sizeof(TargaContext),210 .priv_data_size = sizeof(TargaContext),
211 .priv_class = &targa_class,211 .p.priv_class = &targa_class,
212 .init = targa_encode_init,212 .init = targa_encode_init,
213 .encode2 = targa_encode_frame,213 .encode2 = targa_encode_frame,
214 .pix_fmts = (const enum AVPixelFormat[]){214 .p.pix_fmts = (const enum AVPixelFormat[]){
215 AV_PIX_FMT_BGR24, AV_PIX_FMT_BGRA, AV_PIX_FMT_RGB555LE, AV_PIX_FMT_GRAY8, AV_PIX_FMT_PAL8,215 AV_PIX_FMT_BGR24, AV_PIX_FMT_BGRA, AV_PIX_FMT_RGB555LE, AV_PIX_FMT_GRAY8, AV_PIX_FMT_PAL8,
216 AV_PIX_FMT_NONE216 AV_PIX_FMT_NONE
217 },217 },
libavcodec/tdsc.c+6−6
@@ -622,16 +622,16 @@ static int tdsc_decode_frame(AVCodecContext *avctx, void *data, · 621 unmodified lines
622 return avpkt->size;622 return avpkt->size;
623}623}
624 624
625const AVCodec ff_tdsc_decoder = {625const FFCodec ff_tdsc_decoder = {
626 .name = "tdsc",626 .p.name = "tdsc",
627 .long_name = NULL_IF_CONFIG_SMALL("TDSC"),627 .p.long_name = NULL_IF_CONFIG_SMALL("TDSC"),
628 .type = AVMEDIA_TYPE_VIDEO,628 .p.type = AVMEDIA_TYPE_VIDEO,
629 .id = AV_CODEC_ID_TDSC,629 .p.id = AV_CODEC_ID_TDSC,
630 .init = tdsc_init,630 .init = tdsc_init,
631 .decode = tdsc_decode_frame,631 .decode = tdsc_decode_frame,
632 .close = tdsc_close,632 .close = tdsc_close,
633 .priv_data_size = sizeof(TDSCContext),633 .priv_data_size = sizeof(TDSCContext),
634 .capabilities = AV_CODEC_CAP_DR1,634 .p.capabilities = AV_CODEC_CAP_DR1,
635 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |635 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |
636 FF_CODEC_CAP_INIT_CLEANUP,636 FF_CODEC_CAP_INIT_CLEANUP,
637};637};
libavcodec/tests/avcodec.c+18−17
@@ -37,14 +37,14 @@ do { \ · 36 unmodified lines
37#define ERR(msg) ERR_INTERNAL(msg, )37#define ERR(msg) ERR_INTERNAL(msg, )
38#define ERR_EXT(msg, ...) ERR_INTERNAL(msg, , __VA_ARGS__)38#define ERR_EXT(msg, ...) ERR_INTERNAL(msg, , __VA_ARGS__)
39 39
40static int priv_data_size_wrong(const AVCodec *codec)40static int priv_data_size_wrong(const FFCodec *codec)
41{41{
42 if (codec->priv_data_size < 0 ||42 if (codec->priv_data_size < 0 ||
43 codec->priv_class && codec->priv_data_size < sizeof(AVClass*))43 codec->p.priv_class && codec->priv_data_size < sizeof(AVClass*))
44 return 1;44 return 1;
45 if (!codec->priv_class || !codec->priv_class->option)45 if (!codec->p.priv_class || !codec->p.priv_class->option)
46 return 0;46 return 0;
47 for (const AVOption *opt = codec->priv_class->option; opt->name; opt++) {47 for (const AVOption *opt = codec->p.priv_class->option; opt->name; opt++) {
48 if (opt->offset >= codec->priv_data_size ||48 if (opt->offset >= codec->priv_data_size ||
49 opt->type == AV_OPT_TYPE_CONST && opt->offset != 0 ||49 opt->type == AV_OPT_TYPE_CONST && opt->offset != 0 ||
50 opt->type != AV_OPT_TYPE_CONST && (opt->offset < sizeof(AVClass*) || opt->offset < 0)) {50 opt->type != AV_OPT_TYPE_CONST && (opt->offset < sizeof(AVClass*) || opt->offset < 0)) {
@@ -62,6 +62,7 @@ int main(void){ · 11 unmodified lines
62 int ret = 0;62 int ret = 0;
63 63
64 while (codec = av_codec_iterate(&iter)) {64 while (codec = av_codec_iterate(&iter)) {
65 const FFCodec *const codec2 = ffcodec(codec);
65 const AVCodecDescriptor *desc;66 const AVCodecDescriptor *desc;
66 int is_decoder, is_encoder;67 int is_decoder, is_encoder;
67 68
@@ -88,14 +89,14 @@ int main(void){ · 20 unmodified lines
88 if (codec->type != AVMEDIA_TYPE_VIDEO) {89 if (codec->type != AVMEDIA_TYPE_VIDEO) {
89 if (codec->pix_fmts || codec->supported_framerates)90 if (codec->pix_fmts || codec->supported_framerates)
90 ERR("Non-video codec %s has video-only fields set\n");91 ERR("Non-video codec %s has video-only fields set\n");
91 if (codec->caps_internal & FF_CODEC_CAP_EXPORTS_CROPPING)92 if (codec2->caps_internal & FF_CODEC_CAP_EXPORTS_CROPPING)
92 ERR("Non-video codec %s exports cropping\n");93 ERR("Non-video codec %s exports cropping\n");
93 }94 }
94 if (codec->caps_internal & FF_CODEC_CAP_SLICE_THREAD_HAS_MF &&95 if (codec2->caps_internal & FF_CODEC_CAP_SLICE_THREAD_HAS_MF &&
95 !(codec->capabilities & AV_CODEC_CAP_SLICE_THREADS))96 !(codec->capabilities & AV_CODEC_CAP_SLICE_THREADS))
96 ERR("Codec %s wants mainfunction despite not being "97 ERR("Codec %s wants mainfunction despite not being "
97 "slice-threading capable");98 "slice-threading capable");
98 if (codec->caps_internal & FF_CODEC_CAP_AUTO_THREADS &&99 if (codec2->caps_internal & FF_CODEC_CAP_AUTO_THREADS &&
99 !(codec->capabilities & (AV_CODEC_CAP_FRAME_THREADS |100 !(codec->capabilities & (AV_CODEC_CAP_FRAME_THREADS |
100 AV_CODEC_CAP_SLICE_THREADS |101 AV_CODEC_CAP_SLICE_THREADS |
101 AV_CODEC_CAP_OTHER_THREADS)))102 AV_CODEC_CAP_OTHER_THREADS)))
@@ -108,11 +109,11 @@ int main(void){ · 6 unmodified lines
108 continue;109 continue;
109 }110 }
110 if (is_encoder) {111 if (is_encoder) {
111 if (codec->type == AVMEDIA_TYPE_SUBTITLE ^ !!codec->encode_sub)112 if (codec->type == AVMEDIA_TYPE_SUBTITLE ^ !!codec2->encode_sub)
112 ERR("Encoder %s is both subtitle encoder and not subtitle encoder.");113 ERR("Encoder %s is both subtitle encoder and not subtitle encoder.");
113 if (!!codec->encode_sub + !!codec->encode2 + !!codec->receive_packet != 1)114 if (!!codec2->encode_sub + !!codec2->encode2 + !!codec2->receive_packet != 1)
114 ERR("Encoder %s does not implement exactly one encode API.\n");115 ERR("Encoder %s does not implement exactly one encode API.\n");
115 if (codec->update_thread_context || codec->update_thread_context_for_user || codec->bsfs)116 if (codec2->update_thread_context || codec2->update_thread_context_for_user || codec2->bsfs)
116 ERR("Encoder %s has decoder-only thread functions or bsf.\n");117 ERR("Encoder %s has decoder-only thread functions or bsf.\n");
117 if (codec->type == AVMEDIA_TYPE_AUDIO) {118 if (codec->type == AVMEDIA_TYPE_AUDIO) {
118 if (!codec->sample_fmts) {119 if (!codec->sample_fmts) {
@@ -120,7 +121,7 @@ int main(void){ · 1 unmodified line
120 ret = 1;121 ret = 1;
121 }122 }
122 }123 }
123 if (codec->caps_internal & (FF_CODEC_CAP_ALLOCATE_PROGRESS |124 if (codec2->caps_internal & (FF_CODEC_CAP_ALLOCATE_PROGRESS |
124 FF_CODEC_CAP_SETS_PKT_DTS |125 FF_CODEC_CAP_SETS_PKT_DTS |
125 FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM |126 FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM |
126 FF_CODEC_CAP_EXPORTS_CROPPING |127 FF_CODEC_CAP_EXPORTS_CROPPING |
@@ -134,26 +135,26 @@ int main(void){ · 7 unmodified lines
134 codec->capabilities & AV_CODEC_CAP_ENCODER_FLUSH)135 codec->capabilities & AV_CODEC_CAP_ENCODER_FLUSH)
135 ERR("Frame-threaded encoder %s claims to support flushing\n");136 ERR("Frame-threaded encoder %s claims to support flushing\n");
136 } else {137 } else {
137 if (codec->type == AVMEDIA_TYPE_SUBTITLE && !codec->decode)138 if (codec->type == AVMEDIA_TYPE_SUBTITLE && !codec2->decode)
138 ERR("Subtitle decoder %s does not implement decode callback\n");139 ERR("Subtitle decoder %s does not implement decode callback\n");
139 if (codec->type == AVMEDIA_TYPE_SUBTITLE && codec->bsfs)140 if (codec->type == AVMEDIA_TYPE_SUBTITLE && codec2->bsfs)
140 ERR("Automatic bitstream filtering unsupported for subtitles; "141 ERR("Automatic bitstream filtering unsupported for subtitles; "
141 "yet decoder %s has it set\n");142 "yet decoder %s has it set\n");
142 if (!!codec->decode + !!codec->receive_frame != 1)143 if (!!codec2->decode + !!codec2->receive_frame != 1)
143 ERR("Decoder %s does not implement exactly one decode API.\n");144 ERR("Decoder %s does not implement exactly one decode API.\n");
144 if (codec->capabilities & (AV_CODEC_CAP_SMALL_LAST_FRAME |145 if (codec->capabilities & (AV_CODEC_CAP_SMALL_LAST_FRAME |
145 AV_CODEC_CAP_VARIABLE_FRAME_SIZE |146 AV_CODEC_CAP_VARIABLE_FRAME_SIZE |
146 AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE |147 AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE |
147 AV_CODEC_CAP_ENCODER_FLUSH))148 AV_CODEC_CAP_ENCODER_FLUSH))
148 ERR("Decoder %s has encoder-only capabilities\n");149 ERR("Decoder %s has encoder-only capabilities\n");
149 if (codec->caps_internal & FF_CODEC_CAP_ALLOCATE_PROGRESS &&150 if (codec2->caps_internal & FF_CODEC_CAP_ALLOCATE_PROGRESS &&
150 !(codec->capabilities & AV_CODEC_CAP_FRAME_THREADS))151 !(codec->capabilities & AV_CODEC_CAP_FRAME_THREADS))
151 ERR("Decoder %s wants allocated progress without supporting"152 ERR("Decoder %s wants allocated progress without supporting"
152 "frame threads\n");153 "frame threads\n");
153 }154 }
154 if (priv_data_size_wrong(codec))155 if (priv_data_size_wrong(codec2))
155 ERR_EXT("Private context of codec %s is impossibly-sized (size %d).",156 ERR_EXT("Private context of codec %s is impossibly-sized (size %d).",
156 codec->priv_data_size);157 codec2->priv_data_size);
157 if (!(desc = avcodec_descriptor_get(codec->id))) {158 if (!(desc = avcodec_descriptor_get(codec->id))) {
158 ERR("Codec %s lacks a corresponding descriptor\n");159 ERR("Codec %s lacks a corresponding descriptor\n");
159 } else if (desc->type != codec->type)160 } else if (desc->type != codec->type)
libavcodec/textdec.c+30−30
@@ -81,15 +81,15 @@ static const AVClass textsub_decoder_class = { · 80 unmodified lines
81};81};
82 82
83#if CONFIG_TEXT_DECODER83#if CONFIG_TEXT_DECODER
84const AVCodec ff_text_decoder = {84const FFCodec ff_text_decoder = {
85 .name = "text",85 .p.name = "text",
86 .long_name = NULL_IF_CONFIG_SMALL("Raw text subtitle"),86 .p.long_name = NULL_IF_CONFIG_SMALL("Raw text subtitle"),
87 .priv_data_size = sizeof(TextContext),87 .priv_data_size = sizeof(TextContext),
88 .type = AVMEDIA_TYPE_SUBTITLE,88 .p.type = AVMEDIA_TYPE_SUBTITLE,
89 .id = AV_CODEC_ID_TEXT,89 .p.id = AV_CODEC_ID_TEXT,
90 .decode = text_decode_frame,90 .decode = text_decode_frame,
91 .init = ff_ass_subtitle_header_default,91 .init = ff_ass_subtitle_header_default,
92 .priv_class = &textsub_decoder_class,92 .p.priv_class = &textsub_decoder_class,
93 .flush = text_flush,93 .flush = text_flush,
94 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,94 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
95};95};
@@ -105,60 +105,60 @@ static int linebreak_init(AVCodecContext *avctx) · 9 unmodified lines
105}105}
106 106
107#if CONFIG_VPLAYER_DECODER107#if CONFIG_VPLAYER_DECODER
108const AVCodec ff_vplayer_decoder = {108const FFCodec ff_vplayer_decoder = {
109 .name = "vplayer",109 .p.name = "vplayer",
110 .long_name = NULL_IF_CONFIG_SMALL("VPlayer subtitle"),110 .p.long_name = NULL_IF_CONFIG_SMALL("VPlayer subtitle"),
111 .priv_data_size = sizeof(TextContext),111 .priv_data_size = sizeof(TextContext),
112 .type = AVMEDIA_TYPE_SUBTITLE,112 .p.type = AVMEDIA_TYPE_SUBTITLE,
113 .id = AV_CODEC_ID_VPLAYER,113 .p.id = AV_CODEC_ID_VPLAYER,
114 .decode = text_decode_frame,114 .decode = text_decode_frame,
115 .init = linebreak_init,115 .init = linebreak_init,
116 .priv_class = &textsub_decoder_class,116 .p.priv_class = &textsub_decoder_class,
117 .flush = text_flush,117 .flush = text_flush,
118 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,118 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
119};119};
120#endif120#endif
121 121
122#if CONFIG_STL_DECODER122#if CONFIG_STL_DECODER
123const AVCodec ff_stl_decoder = {123const FFCodec ff_stl_decoder = {
124 .name = "stl",124 .p.name = "stl",
125 .long_name = NULL_IF_CONFIG_SMALL("Spruce subtitle format"),125 .p.long_name = NULL_IF_CONFIG_SMALL("Spruce subtitle format"),
126 .priv_data_size = sizeof(TextContext),126 .priv_data_size = sizeof(TextContext),
127 .type = AVMEDIA_TYPE_SUBTITLE,127 .p.type = AVMEDIA_TYPE_SUBTITLE,
128 .id = AV_CODEC_ID_STL,128 .p.id = AV_CODEC_ID_STL,
129 .decode = text_decode_frame,129 .decode = text_decode_frame,
130 .init = linebreak_init,130 .init = linebreak_init,
131 .priv_class = &textsub_decoder_class,131 .p.priv_class = &textsub_decoder_class,
132 .flush = text_flush,132 .flush = text_flush,
133 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,133 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
134};134};
135#endif135#endif
136 136
137#if CONFIG_PJS_DECODER137#if CONFIG_PJS_DECODER
138const AVCodec ff_pjs_decoder = {138const FFCodec ff_pjs_decoder = {
139 .name = "pjs",139 .p.name = "pjs",
140 .long_name = NULL_IF_CONFIG_SMALL("PJS subtitle"),140 .p.long_name = NULL_IF_CONFIG_SMALL("PJS subtitle"),
141 .priv_data_size = sizeof(TextContext),141 .priv_data_size = sizeof(TextContext),
142 .type = AVMEDIA_TYPE_SUBTITLE,142 .p.type = AVMEDIA_TYPE_SUBTITLE,
143 .id = AV_CODEC_ID_PJS,143 .p.id = AV_CODEC_ID_PJS,
144 .decode = text_decode_frame,144 .decode = text_decode_frame,
145 .init = linebreak_init,145 .init = linebreak_init,
146 .priv_class = &textsub_decoder_class,146 .p.priv_class = &textsub_decoder_class,
147 .flush = text_flush,147 .flush = text_flush,
148 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,148 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
149};149};
150#endif150#endif
151 151
152#if CONFIG_SUBVIEWER1_DECODER152#if CONFIG_SUBVIEWER1_DECODER
153const AVCodec ff_subviewer1_decoder = {153const FFCodec ff_subviewer1_decoder = {
154 .name = "subviewer1",154 .p.name = "subviewer1",
155 .long_name = NULL_IF_CONFIG_SMALL("SubViewer1 subtitle"),155 .p.long_name = NULL_IF_CONFIG_SMALL("SubViewer1 subtitle"),
156 .priv_data_size = sizeof(TextContext),156 .priv_data_size = sizeof(TextContext),
157 .type = AVMEDIA_TYPE_SUBTITLE,157 .p.type = AVMEDIA_TYPE_SUBTITLE,
158 .id = AV_CODEC_ID_SUBVIEWER1,158 .p.id = AV_CODEC_ID_SUBVIEWER1,
159 .decode = text_decode_frame,159 .decode = text_decode_frame,
160 .init = linebreak_init,160 .init = linebreak_init,
161 .priv_class = &textsub_decoder_class,161 .p.priv_class = &textsub_decoder_class,
162 .flush = text_flush,162 .flush = text_flush,
163 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,163 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
164};164};
libavcodec/thread.h+2−2
@@ -44,10 +44,10 @@ void ff_thread_flush(AVCodecContext *avctx); · 43 unmodified lines
44 * Returns the next available frame in picture. *got_picture_ptr44 * Returns the next available frame in picture. *got_picture_ptr
45 * will be 0 if none is available.45 * will be 0 if none is available.
46 * The return value on success is the size of the consumed packet for46 * The return value on success is the size of the consumed packet for
47 * compatibility with AVCodec.decode. This means the decoder47 * compatibility with FFCodec.decode. This means the decoder
48 * has to consume the full packet.48 * has to consume the full packet.
49 *49 *
50 * Parameters are the same as AVCodec.decode.50 * Parameters are the same as FFCodec.decode.
51 */51 */
52int ff_thread_decode_frame(AVCodecContext *avctx, AVFrame *picture,52int ff_thread_decode_frame(AVCodecContext *avctx, AVFrame *picture,
53 int *got_picture_ptr, AVPacket *avpkt);53 int *got_picture_ptr, AVPacket *avpkt);
libavcodec/tiertexseqv.c+6−6
@@ -262,15 +262,15 @@ static av_cold int seqvideo_decode_end(AVCodecContext *avctx) · 261 unmodified lines
262 return 0;262 return 0;
263}263}
264 264
265const AVCodec ff_tiertexseqvideo_decoder = {265const FFCodec ff_tiertexseqvideo_decoder = {
266 .name = "tiertexseqvideo",266 .p.name = "tiertexseqvideo",
267 .long_name = NULL_IF_CONFIG_SMALL("Tiertex Limited SEQ video"),267 .p.long_name = NULL_IF_CONFIG_SMALL("Tiertex Limited SEQ video"),
268 .type = AVMEDIA_TYPE_VIDEO,268 .p.type = AVMEDIA_TYPE_VIDEO,
269 .id = AV_CODEC_ID_TIERTEXSEQVIDEO,269 .p.id = AV_CODEC_ID_TIERTEXSEQVIDEO,
270 .priv_data_size = sizeof(SeqVideoContext),270 .priv_data_size = sizeof(SeqVideoContext),
271 .init = seqvideo_decode_init,271 .init = seqvideo_decode_init,
272 .close = seqvideo_decode_end,272 .close = seqvideo_decode_end,
273 .decode = seqvideo_decode_frame,273 .decode = seqvideo_decode_frame,
274 .capabilities = AV_CODEC_CAP_DR1,274 .p.capabilities = AV_CODEC_CAP_DR1,
275 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,275 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
276};276};
libavcodec/tiff.c+7−7
@@ -2177,16 +2177,16 @@ static const AVClass tiff_decoder_class = { · 2176 unmodified lines
2177 .version = LIBAVUTIL_VERSION_INT,2177 .version = LIBAVUTIL_VERSION_INT,
2178};2178};
2179 2179
2180const AVCodec ff_tiff_decoder = {2180const FFCodec ff_tiff_decoder = {
2181 .name = "tiff",2181 .p.name = "tiff",
2182 .long_name = NULL_IF_CONFIG_SMALL("TIFF image"),2182 .p.long_name = NULL_IF_CONFIG_SMALL("TIFF image"),
2183 .type = AVMEDIA_TYPE_VIDEO,2183 .p.type = AVMEDIA_TYPE_VIDEO,
2184 .id = AV_CODEC_ID_TIFF,2184 .p.id = AV_CODEC_ID_TIFF,
2185 .priv_data_size = sizeof(TiffContext),2185 .priv_data_size = sizeof(TiffContext),
2186 .init = tiff_init,2186 .init = tiff_init,
2187 .close = tiff_end,2187 .close = tiff_end,
2188 .decode = decode_frame,2188 .decode = decode_frame,
2189 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,2189 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
2190 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,2190 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
2191 .priv_class = &tiff_decoder_class,2191 .p.priv_class = &tiff_decoder_class,
2192};2192};
libavcodec/tiffenc.c+8−8
@@ -569,17 +569,17 @@ static const AVClass tiffenc_class = { · 568 unmodified lines
569 .version = LIBAVUTIL_VERSION_INT,569 .version = LIBAVUTIL_VERSION_INT,
570};570};
571 571
572const AVCodec ff_tiff_encoder = {572const FFCodec ff_tiff_encoder = {
573 .name = "tiff",573 .p.name = "tiff",
574 .long_name = NULL_IF_CONFIG_SMALL("TIFF image"),574 .p.long_name = NULL_IF_CONFIG_SMALL("TIFF image"),
575 .type = AVMEDIA_TYPE_VIDEO,575 .p.type = AVMEDIA_TYPE_VIDEO,
576 .id = AV_CODEC_ID_TIFF,576 .p.id = AV_CODEC_ID_TIFF,
577 .priv_data_size = sizeof(TiffEncoderContext),577 .priv_data_size = sizeof(TiffEncoderContext),
578 .init = encode_init,578 .init = encode_init,
579 .close = encode_close,579 .close = encode_close,
580 .capabilities = AV_CODEC_CAP_FRAME_THREADS,580 .p.capabilities = AV_CODEC_CAP_FRAME_THREADS,
581 .encode2 = encode_frame,581 .encode2 = encode_frame,
582 .pix_fmts = (const enum AVPixelFormat[]) {582 .p.pix_fmts = (const enum AVPixelFormat[]) {
583 AV_PIX_FMT_RGB24, AV_PIX_FMT_RGB48LE, AV_PIX_FMT_PAL8,583 AV_PIX_FMT_RGB24, AV_PIX_FMT_RGB48LE, AV_PIX_FMT_PAL8,
584 AV_PIX_FMT_RGBA, AV_PIX_FMT_RGBA64LE,584 AV_PIX_FMT_RGBA, AV_PIX_FMT_RGBA64LE,
585 AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY8A, AV_PIX_FMT_GRAY16LE, AV_PIX_FMT_YA16LE,585 AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY8A, AV_PIX_FMT_GRAY16LE, AV_PIX_FMT_YA16LE,
@@ -588,6 +588,6 @@ const AVCodec ff_tiff_encoder = { · 2 unmodified lines
588 AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P,588 AV_PIX_FMT_YUV410P, AV_PIX_FMT_YUV411P,
589 AV_PIX_FMT_NONE589 AV_PIX_FMT_NONE
590 },590 },
591 .priv_class = &tiffenc_class,591 .p.priv_class = &tiffenc_class,
592 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,592 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
593};593};
libavcodec/tmv.c+6−6
@@ -87,13 +87,13 @@ static av_cold int tmv_decode_init(AVCodecContext *avctx) · 86 unmodified lines
87 return 0;87 return 0;
88}88}
89 89
90const AVCodec ff_tmv_decoder = {90const FFCodec ff_tmv_decoder = {
91 .name = "tmv",91 .p.name = "tmv",
92 .long_name = NULL_IF_CONFIG_SMALL("8088flex TMV"),92 .p.long_name = NULL_IF_CONFIG_SMALL("8088flex TMV"),
93 .type = AVMEDIA_TYPE_VIDEO,93 .p.type = AVMEDIA_TYPE_VIDEO,
94 .id = AV_CODEC_ID_TMV,94 .p.id = AV_CODEC_ID_TMV,
95 .init = tmv_decode_init,95 .init = tmv_decode_init,
96 .decode = tmv_decode_frame,96 .decode = tmv_decode_frame,
97 .capabilities = AV_CODEC_CAP_DR1,97 .p.capabilities = AV_CODEC_CAP_DR1,
98 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,98 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
99};99};
libavcodec/truemotion1.c+6−6
@@ -911,15 +911,15 @@ static av_cold int truemotion1_decode_end(AVCodecContext *avctx) · 910 unmodified lines
911 return 0;911 return 0;
912}912}
913 913
914const AVCodec ff_truemotion1_decoder = {914const FFCodec ff_truemotion1_decoder = {
915 .name = "truemotion1",915 .p.name = "truemotion1",
916 .long_name = NULL_IF_CONFIG_SMALL("Duck TrueMotion 1.0"),916 .p.long_name = NULL_IF_CONFIG_SMALL("Duck TrueMotion 1.0"),
917 .type = AVMEDIA_TYPE_VIDEO,917 .p.type = AVMEDIA_TYPE_VIDEO,
918 .id = AV_CODEC_ID_TRUEMOTION1,918 .p.id = AV_CODEC_ID_TRUEMOTION1,
919 .priv_data_size = sizeof(TrueMotion1Context),919 .priv_data_size = sizeof(TrueMotion1Context),
920 .init = truemotion1_decode_init,920 .init = truemotion1_decode_init,
921 .close = truemotion1_decode_end,921 .close = truemotion1_decode_end,
922 .decode = truemotion1_decode_frame,922 .decode = truemotion1_decode_frame,
923 .capabilities = AV_CODEC_CAP_DR1,923 .p.capabilities = AV_CODEC_CAP_DR1,
924 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,924 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
925};925};
libavcodec/truemotion2.c+6−6
@@ -1009,15 +1009,15 @@ static av_cold int decode_end(AVCodecContext *avctx) · 1008 unmodified lines
1009 return 0;1009 return 0;
1010}1010}
1011 1011
1012const AVCodec ff_truemotion2_decoder = {1012const FFCodec ff_truemotion2_decoder = {
1013 .name = "truemotion2",1013 .p.name = "truemotion2",
1014 .long_name = NULL_IF_CONFIG_SMALL("Duck TrueMotion 2.0"),1014 .p.long_name = NULL_IF_CONFIG_SMALL("Duck TrueMotion 2.0"),
1015 .type = AVMEDIA_TYPE_VIDEO,1015 .p.type = AVMEDIA_TYPE_VIDEO,
1016 .id = AV_CODEC_ID_TRUEMOTION2,1016 .p.id = AV_CODEC_ID_TRUEMOTION2,
1017 .priv_data_size = sizeof(TM2Context),1017 .priv_data_size = sizeof(TM2Context),
1018 .init = decode_init,1018 .init = decode_init,
1019 .close = decode_end,1019 .close = decode_end,
1020 .decode = decode_frame,1020 .decode = decode_frame,
1021 .capabilities = AV_CODEC_CAP_DR1,1021 .p.capabilities = AV_CODEC_CAP_DR1,
1022 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_INIT_THREADSAFE,1022 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_INIT_THREADSAFE,
1023};1023};
libavcodec/truemotion2rt.c+6−6
@@ -220,14 +220,14 @@ static av_cold int truemotion2rt_decode_init(AVCodecContext *avctx) · 219 unmodified lines
220 return 0;220 return 0;
221}221}
222 222
223const AVCodec ff_truemotion2rt_decoder = {223const FFCodec ff_truemotion2rt_decoder = {
224 .name = "truemotion2rt",224 .p.name = "truemotion2rt",
225 .long_name = NULL_IF_CONFIG_SMALL("Duck TrueMotion 2.0 Real Time"),225 .p.long_name = NULL_IF_CONFIG_SMALL("Duck TrueMotion 2.0 Real Time"),
226 .type = AVMEDIA_TYPE_VIDEO,226 .p.type = AVMEDIA_TYPE_VIDEO,
227 .id = AV_CODEC_ID_TRUEMOTION2RT,227 .p.id = AV_CODEC_ID_TRUEMOTION2RT,
228 .priv_data_size = sizeof(TrueMotion2RTContext),228 .priv_data_size = sizeof(TrueMotion2RTContext),
229 .init = truemotion2rt_decode_init,229 .init = truemotion2rt_decode_init,
230 .decode = truemotion2rt_decode_frame,230 .decode = truemotion2rt_decode_frame,
231 .capabilities = AV_CODEC_CAP_DR1,231 .p.capabilities = AV_CODEC_CAP_DR1,
232 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,232 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
233};233};
libavcodec/truespeech.c+6−6
@@ -357,14 +357,14 @@ static int truespeech_decode_frame(AVCodecContext *avctx, void *data, · 356 unmodified lines
357 return buf_size;357 return buf_size;
358}358}
359 359
360const AVCodec ff_truespeech_decoder = {360const FFCodec ff_truespeech_decoder = {
361 .name = "truespeech",361 .p.name = "truespeech",
362 .long_name = NULL_IF_CONFIG_SMALL("DSP Group TrueSpeech"),362 .p.long_name = NULL_IF_CONFIG_SMALL("DSP Group TrueSpeech"),
363 .type = AVMEDIA_TYPE_AUDIO,363 .p.type = AVMEDIA_TYPE_AUDIO,
364 .id = AV_CODEC_ID_TRUESPEECH,364 .p.id = AV_CODEC_ID_TRUESPEECH,
365 .priv_data_size = sizeof(TSContext),365 .priv_data_size = sizeof(TSContext),
366 .init = truespeech_decode_init,366 .init = truespeech_decode_init,
367 .decode = truespeech_decode_frame,367 .decode = truespeech_decode_frame,
368 .capabilities = AV_CODEC_CAP_DR1,368 .p.capabilities = AV_CODEC_CAP_DR1,
369 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,369 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
370};370};
libavcodec/tscc.c+6−6
@@ -170,15 +170,15 @@ static av_cold int decode_end(AVCodecContext *avctx) · 169 unmodified lines
170 return 0;170 return 0;
171}171}
172 172
173const AVCodec ff_tscc_decoder = {173const FFCodec ff_tscc_decoder = {
174 .name = "camtasia",174 .p.name = "camtasia",
175 .long_name = NULL_IF_CONFIG_SMALL("TechSmith Screen Capture Codec"),175 .p.long_name = NULL_IF_CONFIG_SMALL("TechSmith Screen Capture Codec"),
176 .type = AVMEDIA_TYPE_VIDEO,176 .p.type = AVMEDIA_TYPE_VIDEO,
177 .id = AV_CODEC_ID_TSCC,177 .p.id = AV_CODEC_ID_TSCC,
178 .priv_data_size = sizeof(CamtasiaContext),178 .priv_data_size = sizeof(CamtasiaContext),
179 .init = decode_init,179 .init = decode_init,
180 .close = decode_end,180 .close = decode_end,
181 .decode = decode_frame,181 .decode = decode_frame,
182 .capabilities = AV_CODEC_CAP_DR1,182 .p.capabilities = AV_CODEC_CAP_DR1,
183 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,183 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
184};184};
libavcodec/tscc2.c+6−6
@@ -356,15 +356,15 @@ static av_cold int tscc2_decode_init(AVCodecContext *avctx) · 355 unmodified lines
356 return 0;356 return 0;
357}357}
358 358
359const AVCodec ff_tscc2_decoder = {359const FFCodec ff_tscc2_decoder = {
360 .name = "tscc2",360 .p.name = "tscc2",
361 .long_name = NULL_IF_CONFIG_SMALL("TechSmith Screen Codec 2"),361 .p.long_name = NULL_IF_CONFIG_SMALL("TechSmith Screen Codec 2"),
362 .type = AVMEDIA_TYPE_VIDEO,362 .p.type = AVMEDIA_TYPE_VIDEO,
363 .id = AV_CODEC_ID_TSCC2,363 .p.id = AV_CODEC_ID_TSCC2,
364 .priv_data_size = sizeof(TSCC2Context),364 .priv_data_size = sizeof(TSCC2Context),
365 .init = tscc2_decode_init,365 .init = tscc2_decode_init,
366 .close = tscc2_decode_end,366 .close = tscc2_decode_end,
367 .decode = tscc2_decode_frame,367 .decode = tscc2_decode_frame,
368 .capabilities = AV_CODEC_CAP_DR1,368 .p.capabilities = AV_CODEC_CAP_DR1,
369 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_INIT_THREADSAFE,369 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_INIT_THREADSAFE,
370};370};
libavcodec/tta.c+7−7
@@ -421,16 +421,16 @@ static const AVClass tta_decoder_class = { · 420 unmodified lines
421 .version = LIBAVUTIL_VERSION_INT,421 .version = LIBAVUTIL_VERSION_INT,
422};422};
423 423
424const AVCodec ff_tta_decoder = {424const FFCodec ff_tta_decoder = {
425 .name = "tta",425 .p.name = "tta",
426 .long_name = NULL_IF_CONFIG_SMALL("TTA (True Audio)"),426 .p.long_name = NULL_IF_CONFIG_SMALL("TTA (True Audio)"),
427 .type = AVMEDIA_TYPE_AUDIO,427 .p.type = AVMEDIA_TYPE_AUDIO,
428 .id = AV_CODEC_ID_TTA,428 .p.id = AV_CODEC_ID_TTA,
429 .priv_data_size = sizeof(TTAContext),429 .priv_data_size = sizeof(TTAContext),
430 .init = tta_decode_init,430 .init = tta_decode_init,
431 .close = tta_decode_close,431 .close = tta_decode_close,
432 .decode = tta_decode_frame,432 .decode = tta_decode_frame,
433 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_CHANNEL_CONF,433 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_CHANNEL_CONF,
434 .priv_class = &tta_decoder_class,434 .p.priv_class = &tta_decoder_class,
435 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,435 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
436};436};
libavcodec/ttaenc.c+7−7
@@ -202,17 +202,17 @@ static av_cold int tta_encode_close(AVCodecContext *avctx) · 201 unmodified lines
202 return 0;202 return 0;
203}203}
204 204
205const AVCodec ff_tta_encoder = {205const FFCodec ff_tta_encoder = {
206 .name = "tta",206 .p.name = "tta",
207 .long_name = NULL_IF_CONFIG_SMALL("TTA (True Audio)"),207 .p.long_name = NULL_IF_CONFIG_SMALL("TTA (True Audio)"),
208 .type = AVMEDIA_TYPE_AUDIO,208 .p.type = AVMEDIA_TYPE_AUDIO,
209 .id = AV_CODEC_ID_TTA,209 .p.id = AV_CODEC_ID_TTA,
210 .priv_data_size = sizeof(TTAEncContext),210 .priv_data_size = sizeof(TTAEncContext),
211 .init = tta_encode_init,211 .init = tta_encode_init,
212 .close = tta_encode_close,212 .close = tta_encode_close,
213 .encode2 = tta_encode_frame,213 .encode2 = tta_encode_frame,
214 .capabilities = AV_CODEC_CAP_SMALL_LAST_FRAME,214 .p.capabilities = AV_CODEC_CAP_SMALL_LAST_FRAME,
215 .sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_U8,215 .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_U8,
216 AV_SAMPLE_FMT_S16,216 AV_SAMPLE_FMT_S16,
217 AV_SAMPLE_FMT_S32,217 AV_SAMPLE_FMT_S32,
218 AV_SAMPLE_FMT_NONE },218 AV_SAMPLE_FMT_NONE },
libavcodec/ttmlenc.c+5−5
@@ -383,11 +383,11 @@ static av_cold int ttml_encode_init(AVCodecContext *avctx) · 382 unmodified lines
383 return 0;383 return 0;
384}384}
385 385
386const AVCodec ff_ttml_encoder = {386const FFCodec ff_ttml_encoder = {
387 .name = "ttml",387 .p.name = "ttml",
388 .long_name = NULL_IF_CONFIG_SMALL("TTML subtitle"),388 .p.long_name = NULL_IF_CONFIG_SMALL("TTML subtitle"),
389 .type = AVMEDIA_TYPE_SUBTITLE,389 .p.type = AVMEDIA_TYPE_SUBTITLE,
390 .id = AV_CODEC_ID_TTML,390 .p.id = AV_CODEC_ID_TTML,
391 .priv_data_size = sizeof(TTMLContext),391 .priv_data_size = sizeof(TTMLContext),
392 .init = ttml_encode_init,392 .init = ttml_encode_init,
393 .encode_sub = ttml_encode_frame,393 .encode_sub = ttml_encode_frame,
libavcodec/twinvqdec.c+7−7
@@ -414,17 +414,17 @@ static av_cold int twinvq_decode_init(AVCodecContext *avctx) · 413 unmodified lines
414 return ff_twinvq_decode_init(avctx);414 return ff_twinvq_decode_init(avctx);
415}415}
416 416
417const AVCodec ff_twinvq_decoder = {417const FFCodec ff_twinvq_decoder = {
418 .name = "twinvq",418 .p.name = "twinvq",
419 .long_name = NULL_IF_CONFIG_SMALL("VQF TwinVQ"),419 .p.long_name = NULL_IF_CONFIG_SMALL("VQF TwinVQ"),
420 .type = AVMEDIA_TYPE_AUDIO,420 .p.type = AVMEDIA_TYPE_AUDIO,
421 .id = AV_CODEC_ID_TWINVQ,421 .p.id = AV_CODEC_ID_TWINVQ,
422 .priv_data_size = sizeof(TwinVQContext),422 .priv_data_size = sizeof(TwinVQContext),
423 .init = twinvq_decode_init,423 .init = twinvq_decode_init,
424 .close = ff_twinvq_decode_close,424 .close = ff_twinvq_decode_close,
425 .decode = ff_twinvq_decode_frame,425 .decode = ff_twinvq_decode_frame,
426 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,426 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
427 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,427 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
428 AV_SAMPLE_FMT_NONE },428 AV_SAMPLE_FMT_NONE },
429 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,429 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
430};430};
libavcodec/txd.c+7−6
@@ -25,6 +25,7 @@ · 24 unmodified lines
25#include "libavutil/imgutils.h"25#include "libavutil/imgutils.h"
26#include "bytestream.h"26#include "bytestream.h"
27#include "avcodec.h"27#include "avcodec.h"
28#include "codec_internal.h"
28#include "internal.h"29#include "internal.h"
29#include "texturedsp.h"30#include "texturedsp.h"
30 31
@@ -163,11 +164,11 @@ unsupported: · 132 unmodified lines
163 return AVERROR_PATCHWELCOME;164 return AVERROR_PATCHWELCOME;
164}165}
165 166
166const AVCodec ff_txd_decoder = {167const FFCodec ff_txd_decoder = {
167 .name = "txd",168 .p.name = "txd",
168 .long_name = NULL_IF_CONFIG_SMALL("Renderware TXD (TeXture Dictionary) image"),169 .p.long_name = NULL_IF_CONFIG_SMALL("Renderware TXD (TeXture Dictionary) image"),
169 .type = AVMEDIA_TYPE_VIDEO,170 .p.type = AVMEDIA_TYPE_VIDEO,
170 .id = AV_CODEC_ID_TXD,171 .p.id = AV_CODEC_ID_TXD,
172 .p.capabilities = AV_CODEC_CAP_DR1,
171 .decode = txd_decode_frame,173 .decode = txd_decode_frame,
172 .capabilities = AV_CODEC_CAP_DR1,
173};174};
libavcodec/ulti.c+6−6
@@ -419,15 +419,15 @@ err: · 418 unmodified lines
419 return AVERROR_INVALIDDATA;419 return AVERROR_INVALIDDATA;
420}420}
421 421
422const AVCodec ff_ulti_decoder = {422const FFCodec ff_ulti_decoder = {
423 .name = "ultimotion",423 .p.name = "ultimotion",
424 .long_name = NULL_IF_CONFIG_SMALL("IBM UltiMotion"),424 .p.long_name = NULL_IF_CONFIG_SMALL("IBM UltiMotion"),
425 .type = AVMEDIA_TYPE_VIDEO,425 .p.type = AVMEDIA_TYPE_VIDEO,
426 .id = AV_CODEC_ID_ULTI,426 .p.id = AV_CODEC_ID_ULTI,
427 .priv_data_size = sizeof(UltimotionDecodeContext),427 .priv_data_size = sizeof(UltimotionDecodeContext),
428 .init = ulti_decode_init,428 .init = ulti_decode_init,
429 .close = ulti_decode_end,429 .close = ulti_decode_end,
430 .decode = ulti_decode_frame,430 .decode = ulti_decode_frame,
431 .capabilities = AV_CODEC_CAP_DR1,431 .p.capabilities = AV_CODEC_CAP_DR1,
432 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,432 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
433};433};
libavcodec/utils.c+7−4
@@ -71,13 +71,15 @@ void av_fast_padded_mallocz(void *ptr, unsigned int *size, size_t min_size) · 70 unmodified lines
71 memset(*p, 0, min_size + AV_INPUT_BUFFER_PADDING_SIZE);71 memset(*p, 0, min_size + AV_INPUT_BUFFER_PADDING_SIZE);
72}72}
73 73
74int av_codec_is_encoder(const AVCodec *codec)74int av_codec_is_encoder(const AVCodec *avcodec)
75{75{
76 const FFCodec *const codec = ffcodec(avcodec);
76 return codec && (codec->encode_sub || codec->encode2 || codec->receive_packet);77 return codec && (codec->encode_sub || codec->encode2 || codec->receive_packet);
77}78}
78 79
79int av_codec_is_decoder(const AVCodec *codec)80int av_codec_is_decoder(const AVCodec *avcodec)
80{81{
82 const FFCodec *const codec = ffcodec(avcodec);
81 return codec && (codec->decode || codec->receive_frame);83 return codec && (codec->decode || codec->receive_frame);
82}84}
83 85
@@ -435,7 +437,7 @@ void ff_color_frame(AVFrame *frame, const int c[4]) · 351 unmodified lines
435}437}
436 438
437int avpriv_codec_get_cap_skip_frame_fill_param(const AVCodec *codec){439int avpriv_codec_get_cap_skip_frame_fill_param(const AVCodec *codec){
438 return !!(codec->caps_internal & FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM);440 return !!(ffcodec(codec)->caps_internal & FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM);
439}441}
440 442
441const char *avcodec_get_name(enum AVCodecID id)443const char *avcodec_get_name(enum AVCodecID id)
@@ -868,8 +870,9 @@ int ff_match_2uint16(const uint16_t(*tab)[2], int size, int a, int b) · 426 unmodified lines
868 return i;870 return i;
869}871}
870 872
871const AVCodecHWConfig *avcodec_get_hw_config(const AVCodec *codec, int index)873const AVCodecHWConfig *avcodec_get_hw_config(const AVCodec *avcodec, int index)
872{874{
875 const FFCodec *const codec = ffcodec(avcodec);
873 int i;876 int i;
874 if (!codec->hw_configs || index < 0)877 if (!codec->hw_configs || index < 0)
875 return NULL;878 return NULL;
libavcodec/utvideodec.c+6−6
@@ -1051,15 +1051,15 @@ static av_cold int decode_end(AVCodecContext *avctx) · 1050 unmodified lines
1051 return 0;1051 return 0;
1052}1052}
1053 1053
1054const AVCodec ff_utvideo_decoder = {1054const FFCodec ff_utvideo_decoder = {
1055 .name = "utvideo",1055 .p.name = "utvideo",
1056 .long_name = NULL_IF_CONFIG_SMALL("Ut Video"),1056 .p.long_name = NULL_IF_CONFIG_SMALL("Ut Video"),
1057 .type = AVMEDIA_TYPE_VIDEO,1057 .p.type = AVMEDIA_TYPE_VIDEO,
1058 .id = AV_CODEC_ID_UTVIDEO,1058 .p.id = AV_CODEC_ID_UTVIDEO,
1059 .priv_data_size = sizeof(UtvideoContext),1059 .priv_data_size = sizeof(UtvideoContext),
1060 .init = decode_init,1060 .init = decode_init,
1061 .close = decode_end,1061 .close = decode_end,
1062 .decode = decode_frame,1062 .decode = decode_frame,
1063 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,1063 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
1064 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,1064 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
1065};1065};
libavcodec/utvideoenc.c+8−8
@@ -643,18 +643,18 @@ static const AVClass utvideo_class = { · 642 unmodified lines
643 .version = LIBAVUTIL_VERSION_INT,643 .version = LIBAVUTIL_VERSION_INT,
644};644};
645 645
646const AVCodec ff_utvideo_encoder = {646const FFCodec ff_utvideo_encoder = {
647 .name = "utvideo",647 .p.name = "utvideo",
648 .long_name = NULL_IF_CONFIG_SMALL("Ut Video"),648 .p.long_name = NULL_IF_CONFIG_SMALL("Ut Video"),
649 .type = AVMEDIA_TYPE_VIDEO,649 .p.type = AVMEDIA_TYPE_VIDEO,
650 .id = AV_CODEC_ID_UTVIDEO,650 .p.id = AV_CODEC_ID_UTVIDEO,
651 .priv_data_size = sizeof(UtvideoContext),651 .priv_data_size = sizeof(UtvideoContext),
652 .priv_class = &utvideo_class,652 .p.priv_class = &utvideo_class,
653 .init = utvideo_encode_init,653 .init = utvideo_encode_init,
654 .encode2 = utvideo_encode_frame,654 .encode2 = utvideo_encode_frame,
655 .close = utvideo_encode_close,655 .close = utvideo_encode_close,
656 .capabilities = AV_CODEC_CAP_FRAME_THREADS,656 .p.capabilities = AV_CODEC_CAP_FRAME_THREADS,
657 .pix_fmts = (const enum AVPixelFormat[]) {657 .p.pix_fmts = (const enum AVPixelFormat[]) {
658 AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRAP, AV_PIX_FMT_YUV422P,658 AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRAP, AV_PIX_FMT_YUV422P,
659 AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_NONE659 AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_NONE
660 },660 },
libavcodec/v210dec.c+7−7
@@ -212,17 +212,17 @@ static const AVClass v210dec_class = { · 211 unmodified lines
212 .version = LIBAVUTIL_VERSION_INT,212 .version = LIBAVUTIL_VERSION_INT,
213};213};
214 214
215const AVCodec ff_v210_decoder = {215const FFCodec ff_v210_decoder = {
216 .name = "v210",216 .p.name = "v210",
217 .long_name = NULL_IF_CONFIG_SMALL("Uncompressed 4:2:2 10-bit"),217 .p.long_name = NULL_IF_CONFIG_SMALL("Uncompressed 4:2:2 10-bit"),
218 .type = AVMEDIA_TYPE_VIDEO,218 .p.type = AVMEDIA_TYPE_VIDEO,
219 .id = AV_CODEC_ID_V210,219 .p.id = AV_CODEC_ID_V210,
220 .priv_data_size = sizeof(V210DecContext),220 .priv_data_size = sizeof(V210DecContext),
221 .init = decode_init,221 .init = decode_init,
222 .decode = decode_frame,222 .decode = decode_frame,
223 .capabilities = AV_CODEC_CAP_DR1 |223 .p.capabilities = AV_CODEC_CAP_DR1 |
224 AV_CODEC_CAP_SLICE_THREADS |224 AV_CODEC_CAP_SLICE_THREADS |
225 AV_CODEC_CAP_FRAME_THREADS,225 AV_CODEC_CAP_FRAME_THREADS,
226 .priv_class = &v210dec_class,226 .p.priv_class = &v210dec_class,
227 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,227 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
228};228};
libavcodec/v210enc.c+7−7
@@ -152,15 +152,15 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt, · 151 unmodified lines
152 return 0;152 return 0;
153}153}
154 154
155const AVCodec ff_v210_encoder = {155const FFCodec ff_v210_encoder = {
156 .name = "v210",156 .p.name = "v210",
157 .long_name = NULL_IF_CONFIG_SMALL("Uncompressed 4:2:2 10-bit"),157 .p.long_name = NULL_IF_CONFIG_SMALL("Uncompressed 4:2:2 10-bit"),
158 .type = AVMEDIA_TYPE_VIDEO,158 .p.type = AVMEDIA_TYPE_VIDEO,
159 .id = AV_CODEC_ID_V210,159 .p.id = AV_CODEC_ID_V210,
160 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,160 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
161 .priv_data_size = sizeof(V210EncContext),161 .priv_data_size = sizeof(V210EncContext),
162 .init = encode_init,162 .init = encode_init,
163 .encode2 = encode_frame,163 .encode2 = encode_frame,
164 .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV422P, AV_PIX_FMT_NONE },164 .p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV422P, AV_PIX_FMT_NONE },
165 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,165 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
166};166};
libavcodec/v210x.c+6−6
@@ -120,13 +120,13 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *got_frame, · 119 unmodified lines
120 return avpkt->size;120 return avpkt->size;
121}121}
122 122
123const AVCodec ff_v210x_decoder = {123const FFCodec ff_v210x_decoder = {
124 .name = "v210x",124 .p.name = "v210x",
125 .long_name = NULL_IF_CONFIG_SMALL("Uncompressed 4:2:2 10-bit"),125 .p.long_name = NULL_IF_CONFIG_SMALL("Uncompressed 4:2:2 10-bit"),
126 .type = AVMEDIA_TYPE_VIDEO,126 .p.type = AVMEDIA_TYPE_VIDEO,
127 .id = AV_CODEC_ID_V210X,127 .p.id = AV_CODEC_ID_V210X,
128 .init = decode_init,128 .init = decode_init,
129 .decode = decode_frame,129 .decode = decode_frame,
130 .capabilities = AV_CODEC_CAP_DR1,130 .p.capabilities = AV_CODEC_CAP_DR1,
131 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,131 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
132};132};
libavcodec/v308dec.c+6−6
@@ -73,13 +73,13 @@ static int v308_decode_frame(AVCodecContext *avctx, void *data, · 72 unmodified lines
73 return avpkt->size;73 return avpkt->size;
74}74}
75 75
76const AVCodec ff_v308_decoder = {76const FFCodec ff_v308_decoder = {
77 .name = "v308",77 .p.name = "v308",
78 .long_name = NULL_IF_CONFIG_SMALL("Uncompressed packed 4:4:4"),78 .p.long_name = NULL_IF_CONFIG_SMALL("Uncompressed packed 4:4:4"),
79 .type = AVMEDIA_TYPE_VIDEO,79 .p.type = AVMEDIA_TYPE_VIDEO,
80 .id = AV_CODEC_ID_V308,80 .p.id = AV_CODEC_ID_V308,
81 .init = v308_decode_init,81 .init = v308_decode_init,
82 .decode = v308_decode_frame,82 .decode = v308_decode_frame,
83 .capabilities = AV_CODEC_CAP_DR1,83 .p.capabilities = AV_CODEC_CAP_DR1,
84 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,84 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
85};85};
libavcodec/v308enc.c+7−7
@@ -70,14 +70,14 @@ static int v308_encode_frame(AVCodecContext *avctx, AVPacket *pkt, · 69 unmodified lines
70 return 0;70 return 0;
71}71}
72 72
73const AVCodec ff_v308_encoder = {73const FFCodec ff_v308_encoder = {
74 .name = "v308",74 .p.name = "v308",
75 .long_name = NULL_IF_CONFIG_SMALL("Uncompressed packed 4:4:4"),75 .p.long_name = NULL_IF_CONFIG_SMALL("Uncompressed packed 4:4:4"),
76 .type = AVMEDIA_TYPE_VIDEO,76 .p.type = AVMEDIA_TYPE_VIDEO,
77 .id = AV_CODEC_ID_V308,77 .p.id = AV_CODEC_ID_V308,
78 .capabilities = AV_CODEC_CAP_DR1,78 .p.capabilities = AV_CODEC_CAP_DR1,
79 .init = v308_encode_init,79 .init = v308_encode_init,
80 .encode2 = v308_encode_frame,80 .encode2 = v308_encode_frame,
81 .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV444P, AV_PIX_FMT_NONE },81 .p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV444P, AV_PIX_FMT_NONE },
82 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,82 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
83};83};
libavcodec/v408dec.c+12−12
@@ -83,26 +83,26 @@ static int v408_decode_frame(AVCodecContext *avctx, void *data, · 82 unmodified lines
83}83}
84 84
85#if CONFIG_AYUV_DECODER85#if CONFIG_AYUV_DECODER
86const AVCodec ff_ayuv_decoder = {86const FFCodec ff_ayuv_decoder = {
87 .name = "ayuv",87 .p.name = "ayuv",
88 .long_name = NULL_IF_CONFIG_SMALL("Uncompressed packed MS 4:4:4:4"),88 .p.long_name = NULL_IF_CONFIG_SMALL("Uncompressed packed MS 4:4:4:4"),
89 .type = AVMEDIA_TYPE_VIDEO,89 .p.type = AVMEDIA_TYPE_VIDEO,
90 .id = AV_CODEC_ID_AYUV,90 .p.id = AV_CODEC_ID_AYUV,
91 .init = v408_decode_init,91 .init = v408_decode_init,
92 .decode = v408_decode_frame,92 .decode = v408_decode_frame,
93 .capabilities = AV_CODEC_CAP_DR1,93 .p.capabilities = AV_CODEC_CAP_DR1,
94 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,94 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
95};95};
96#endif96#endif
97#if CONFIG_V408_DECODER97#if CONFIG_V408_DECODER
98const AVCodec ff_v408_decoder = {98const FFCodec ff_v408_decoder = {
99 .name = "v408",99 .p.name = "v408",
100 .long_name = NULL_IF_CONFIG_SMALL("Uncompressed packed QT 4:4:4:4"),100 .p.long_name = NULL_IF_CONFIG_SMALL("Uncompressed packed QT 4:4:4:4"),
101 .type = AVMEDIA_TYPE_VIDEO,101 .p.type = AVMEDIA_TYPE_VIDEO,
102 .id = AV_CODEC_ID_V408,102 .p.id = AV_CODEC_ID_V408,
103 .init = v408_decode_init,103 .init = v408_decode_init,
104 .decode = v408_decode_frame,104 .decode = v408_decode_frame,
105 .capabilities = AV_CODEC_CAP_DR1,105 .p.capabilities = AV_CODEC_CAP_DR1,
106 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,106 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
107};107};
108#endif108#endif
libavcodec/v408enc.c+14−14
@@ -80,28 +80,28 @@ static int v408_encode_frame(AVCodecContext *avctx, AVPacket *pkt, · 79 unmodified lines
80static const enum AVPixelFormat pix_fmt[] = { AV_PIX_FMT_YUVA444P, AV_PIX_FMT_NONE };80static const enum AVPixelFormat pix_fmt[] = { AV_PIX_FMT_YUVA444P, AV_PIX_FMT_NONE };
81 81
82#if CONFIG_AYUV_ENCODER82#if CONFIG_AYUV_ENCODER
83const AVCodec ff_ayuv_encoder = {83const FFCodec ff_ayuv_encoder = {
84 .name = "ayuv",84 .p.name = "ayuv",
85 .long_name = NULL_IF_CONFIG_SMALL("Uncompressed packed MS 4:4:4:4"),85 .p.long_name = NULL_IF_CONFIG_SMALL("Uncompressed packed MS 4:4:4:4"),
86 .type = AVMEDIA_TYPE_VIDEO,86 .p.type = AVMEDIA_TYPE_VIDEO,
87 .id = AV_CODEC_ID_AYUV,87 .p.id = AV_CODEC_ID_AYUV,
88 .capabilities = AV_CODEC_CAP_DR1,88 .p.capabilities = AV_CODEC_CAP_DR1,
89 .init = v408_encode_init,89 .init = v408_encode_init,
90 .encode2 = v408_encode_frame,90 .encode2 = v408_encode_frame,
91 .pix_fmts = pix_fmt,91 .p.pix_fmts = pix_fmt,
92 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,92 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
93};93};
94#endif94#endif
95#if CONFIG_V408_ENCODER95#if CONFIG_V408_ENCODER
96const AVCodec ff_v408_encoder = {96const FFCodec ff_v408_encoder = {
97 .name = "v408",97 .p.name = "v408",
98 .long_name = NULL_IF_CONFIG_SMALL("Uncompressed packed QT 4:4:4:4"),98 .p.long_name = NULL_IF_CONFIG_SMALL("Uncompressed packed QT 4:4:4:4"),
99 .type = AVMEDIA_TYPE_VIDEO,99 .p.type = AVMEDIA_TYPE_VIDEO,
100 .id = AV_CODEC_ID_V408,100 .p.id = AV_CODEC_ID_V408,
101 .capabilities = AV_CODEC_CAP_DR1,101 .p.capabilities = AV_CODEC_CAP_DR1,
102 .init = v408_encode_init,102 .init = v408_encode_init,
103 .encode2 = v408_encode_frame,103 .encode2 = v408_encode_frame,
104 .pix_fmts = pix_fmt,104 .p.pix_fmts = pix_fmt,
105 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,105 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
106};106};
107#endif107#endif
libavcodec/v410dec.c+6−6
@@ -115,14 +115,14 @@ static int v410_decode_frame(AVCodecContext *avctx, void *data, · 114 unmodified lines
115 return avpkt->size;115 return avpkt->size;
116}116}
117 117
118const AVCodec ff_v410_decoder = {118const FFCodec ff_v410_decoder = {
119 .name = "v410",119 .p.name = "v410",
120 .long_name = NULL_IF_CONFIG_SMALL("Uncompressed 4:4:4 10-bit"),120 .p.long_name = NULL_IF_CONFIG_SMALL("Uncompressed 4:4:4 10-bit"),
121 .type = AVMEDIA_TYPE_VIDEO,121 .p.type = AVMEDIA_TYPE_VIDEO,
122 .id = AV_CODEC_ID_V410,122 .p.id = AV_CODEC_ID_V410,
123 .init = v410_decode_init,123 .init = v410_decode_init,
124 .decode = v410_decode_frame,124 .decode = v410_decode_frame,
125 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SLICE_THREADS |125 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SLICE_THREADS |
126 AV_CODEC_CAP_FRAME_THREADS,126 AV_CODEC_CAP_FRAME_THREADS,
127 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,127 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
128};128};
libavcodec/v410enc.c+7−7
@@ -74,14 +74,14 @@ static int v410_encode_frame(AVCodecContext *avctx, AVPacket *pkt, · 73 unmodified lines
74 return 0;74 return 0;
75}75}
76 76
77const AVCodec ff_v410_encoder = {77const FFCodec ff_v410_encoder = {
78 .name = "v410",78 .p.name = "v410",
79 .long_name = NULL_IF_CONFIG_SMALL("Uncompressed 4:4:4 10-bit"),79 .p.long_name = NULL_IF_CONFIG_SMALL("Uncompressed 4:4:4 10-bit"),
80 .type = AVMEDIA_TYPE_VIDEO,80 .p.type = AVMEDIA_TYPE_VIDEO,
81 .id = AV_CODEC_ID_V410,81 .p.id = AV_CODEC_ID_V410,
82 .capabilities = AV_CODEC_CAP_DR1,82 .p.capabilities = AV_CODEC_CAP_DR1,
83 .init = v410_encode_init,83 .init = v410_encode_init,
84 .encode2 = v410_encode_frame,84 .encode2 = v410_encode_frame,
85 .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV444P10, AV_PIX_FMT_NONE },85 .p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV444P10, AV_PIX_FMT_NONE },
86 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,86 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
87};87};
libavcodec/v4l2_m2m_dec.c+8−8
@@ -240,20 +240,20 @@ static const AVOption options[] = { · 239 unmodified lines
240 240
241#define M2MDEC(NAME, LONGNAME, CODEC, bsf_name) \241#define M2MDEC(NAME, LONGNAME, CODEC, bsf_name) \
242 M2MDEC_CLASS(NAME) \242 M2MDEC_CLASS(NAME) \
243 const AVCodec ff_ ## NAME ## _v4l2m2m_decoder = { \243 const FFCodec ff_ ## NAME ## _v4l2m2m_decoder = { \
244 .name = #NAME "_v4l2m2m" , \244 .p.name = #NAME "_v4l2m2m" , \
245 .long_name = NULL_IF_CONFIG_SMALL("V4L2 mem2mem " LONGNAME " decoder wrapper"), \245 .p.long_name = NULL_IF_CONFIG_SMALL("V4L2 mem2mem " LONGNAME " decoder wrapper"), \
246 .type = AVMEDIA_TYPE_VIDEO, \246 .p.type = AVMEDIA_TYPE_VIDEO, \
247 .id = CODEC , \247 .p.id = CODEC , \
248 .priv_data_size = sizeof(V4L2m2mPriv), \248 .priv_data_size = sizeof(V4L2m2mPriv), \
249 .priv_class = &v4l2_m2m_ ## NAME ## _dec_class, \249 .p.priv_class = &v4l2_m2m_ ## NAME ## _dec_class, \
250 .init = v4l2_decode_init, \250 .init = v4l2_decode_init, \
251 .receive_frame = v4l2_receive_frame, \251 .receive_frame = v4l2_receive_frame, \
252 .close = v4l2_decode_close, \252 .close = v4l2_decode_close, \
253 .bsfs = bsf_name, \253 .bsfs = bsf_name, \
254 .capabilities = AV_CODEC_CAP_HARDWARE | AV_CODEC_CAP_DELAY | AV_CODEC_CAP_AVOID_PROBING, \254 .p.capabilities = AV_CODEC_CAP_HARDWARE | AV_CODEC_CAP_DELAY | AV_CODEC_CAP_AVOID_PROBING, \
255 .caps_internal = FF_CODEC_CAP_SETS_PKT_DTS | FF_CODEC_CAP_INIT_CLEANUP, \255 .caps_internal = FF_CODEC_CAP_SETS_PKT_DTS | FF_CODEC_CAP_INIT_CLEANUP, \
256 .wrapper_name = "v4l2m2m", \256 .p.wrapper_name = "v4l2m2m", \
257 }257 }
258 258
259M2MDEC(h264, "H.264", AV_CODEC_ID_H264, "h264_mp4toannexb");259M2MDEC(h264, "H.264", AV_CODEC_ID_H264, "h264_mp4toannexb");
libavcodec/v4l2_m2m_enc.c+8−8
@@ -421,20 +421,20 @@ static const AVCodecDefault v4l2_m2m_defaults[] = { · 420 unmodified lines
421 421
422#define M2MENC(NAME, LONGNAME, OPTIONS_NAME, CODEC) \422#define M2MENC(NAME, LONGNAME, OPTIONS_NAME, CODEC) \
423 M2MENC_CLASS(NAME, OPTIONS_NAME) \423 M2MENC_CLASS(NAME, OPTIONS_NAME) \
424 const AVCodec ff_ ## NAME ## _v4l2m2m_encoder = { \424 const FFCodec ff_ ## NAME ## _v4l2m2m_encoder = { \
425 .name = #NAME "_v4l2m2m" , \425 .p.name = #NAME "_v4l2m2m" , \
426 .long_name = NULL_IF_CONFIG_SMALL("V4L2 mem2mem " LONGNAME " encoder wrapper"), \426 .p.long_name = NULL_IF_CONFIG_SMALL("V4L2 mem2mem " LONGNAME " encoder wrapper"), \
427 .type = AVMEDIA_TYPE_VIDEO, \427 .p.type = AVMEDIA_TYPE_VIDEO, \
428 .id = CODEC , \428 .p.id = CODEC , \
429 .priv_data_size = sizeof(V4L2m2mPriv), \429 .priv_data_size = sizeof(V4L2m2mPriv), \
430 .priv_class = &v4l2_m2m_ ## NAME ##_enc_class, \430 .p.priv_class = &v4l2_m2m_ ## NAME ##_enc_class, \
431 .init = v4l2_encode_init, \431 .init = v4l2_encode_init, \
432 .receive_packet = v4l2_receive_packet, \432 .receive_packet = v4l2_receive_packet, \
433 .close = v4l2_encode_close, \433 .close = v4l2_encode_close, \
434 .defaults = v4l2_m2m_defaults, \434 .defaults = v4l2_m2m_defaults, \
435 .capabilities = AV_CODEC_CAP_HARDWARE | AV_CODEC_CAP_DELAY, \435 .p.capabilities = AV_CODEC_CAP_HARDWARE | AV_CODEC_CAP_DELAY, \
436 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, \436 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, \
437 .wrapper_name = "v4l2m2m", \437 .p.wrapper_name = "v4l2m2m", \
438 }438 }
439 439
440M2MENC(mpeg4,"MPEG4", mpeg4_options, AV_CODEC_ID_MPEG4);440M2MENC(mpeg4,"MPEG4", mpeg4_options, AV_CODEC_ID_MPEG4);
libavcodec/vaapi_encode_h264.c+9−9
@@ -1325,24 +1325,24 @@ static const AVClass vaapi_encode_h264_class = { · 1324 unmodified lines
1325 .version = LIBAVUTIL_VERSION_INT,1325 .version = LIBAVUTIL_VERSION_INT,
1326};1326};
1327 1327
1328const AVCodec ff_h264_vaapi_encoder = {1328const FFCodec ff_h264_vaapi_encoder = {
1329 .name = "h264_vaapi",1329 .p.name = "h264_vaapi",
1330 .long_name = NULL_IF_CONFIG_SMALL("H.264/AVC (VAAPI)"),1330 .p.long_name = NULL_IF_CONFIG_SMALL("H.264/AVC (VAAPI)"),
1331 .type = AVMEDIA_TYPE_VIDEO,1331 .p.type = AVMEDIA_TYPE_VIDEO,
1332 .id = AV_CODEC_ID_H264,1332 .p.id = AV_CODEC_ID_H264,
1333 .priv_data_size = sizeof(VAAPIEncodeH264Context),1333 .priv_data_size = sizeof(VAAPIEncodeH264Context),
1334 .init = &vaapi_encode_h264_init,1334 .init = &vaapi_encode_h264_init,
1335 .receive_packet = &ff_vaapi_encode_receive_packet,1335 .receive_packet = &ff_vaapi_encode_receive_packet,
1336 .close = &vaapi_encode_h264_close,1336 .close = &vaapi_encode_h264_close,
1337 .priv_class = &vaapi_encode_h264_class,1337 .p.priv_class = &vaapi_encode_h264_class,
1338 .capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_HARDWARE |1338 .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_HARDWARE |
1339 AV_CODEC_CAP_DR1,1339 AV_CODEC_CAP_DR1,
1340 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,1340 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
1341 .defaults = vaapi_encode_h264_defaults,1341 .defaults = vaapi_encode_h264_defaults,
1342 .pix_fmts = (const enum AVPixelFormat[]) {1342 .p.pix_fmts = (const enum AVPixelFormat[]) {
1343 AV_PIX_FMT_VAAPI,1343 AV_PIX_FMT_VAAPI,
1344 AV_PIX_FMT_NONE,1344 AV_PIX_FMT_NONE,
1345 },1345 },
1346 .hw_configs = ff_vaapi_encode_hw_configs,1346 .hw_configs = ff_vaapi_encode_hw_configs,
1347 .wrapper_name = "vaapi",1347 .p.wrapper_name = "vaapi",
1348};1348};
libavcodec/vaapi_encode_h265.c+9−9
@@ -1302,24 +1302,24 @@ static const AVClass vaapi_encode_h265_class = { · 1301 unmodified lines
1302 .version = LIBAVUTIL_VERSION_INT,1302 .version = LIBAVUTIL_VERSION_INT,
1303};1303};
1304 1304
1305const AVCodec ff_hevc_vaapi_encoder = {1305const FFCodec ff_hevc_vaapi_encoder = {
1306 .name = "hevc_vaapi",1306 .p.name = "hevc_vaapi",
1307 .long_name = NULL_IF_CONFIG_SMALL("H.265/HEVC (VAAPI)"),1307 .p.long_name = NULL_IF_CONFIG_SMALL("H.265/HEVC (VAAPI)"),
1308 .type = AVMEDIA_TYPE_VIDEO,1308 .p.type = AVMEDIA_TYPE_VIDEO,
1309 .id = AV_CODEC_ID_HEVC,1309 .p.id = AV_CODEC_ID_HEVC,
1310 .priv_data_size = sizeof(VAAPIEncodeH265Context),1310 .priv_data_size = sizeof(VAAPIEncodeH265Context),
1311 .init = &vaapi_encode_h265_init,1311 .init = &vaapi_encode_h265_init,
1312 .receive_packet = &ff_vaapi_encode_receive_packet,1312 .receive_packet = &ff_vaapi_encode_receive_packet,
1313 .close = &vaapi_encode_h265_close,1313 .close = &vaapi_encode_h265_close,
1314 .priv_class = &vaapi_encode_h265_class,1314 .p.priv_class = &vaapi_encode_h265_class,
1315 .capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_HARDWARE |1315 .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_HARDWARE |
1316 AV_CODEC_CAP_DR1,1316 AV_CODEC_CAP_DR1,
1317 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,1317 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
1318 .defaults = vaapi_encode_h265_defaults,1318 .defaults = vaapi_encode_h265_defaults,
1319 .pix_fmts = (const enum AVPixelFormat[]) {1319 .p.pix_fmts = (const enum AVPixelFormat[]) {
1320 AV_PIX_FMT_VAAPI,1320 AV_PIX_FMT_VAAPI,
1321 AV_PIX_FMT_NONE,1321 AV_PIX_FMT_NONE,
1322 },1322 },
1323 .hw_configs = ff_vaapi_encode_hw_configs,1323 .hw_configs = ff_vaapi_encode_hw_configs,
1324 .wrapper_name = "vaapi",1324 .p.wrapper_name = "vaapi",
1325};1325};
libavcodec/vaapi_encode_mjpeg.c+9−9
@@ -552,23 +552,23 @@ static const AVClass vaapi_encode_mjpeg_class = { · 551 unmodified lines
552 .version = LIBAVUTIL_VERSION_INT,552 .version = LIBAVUTIL_VERSION_INT,
553};553};
554 554
555const AVCodec ff_mjpeg_vaapi_encoder = {555const FFCodec ff_mjpeg_vaapi_encoder = {
556 .name = "mjpeg_vaapi",556 .p.name = "mjpeg_vaapi",
557 .long_name = NULL_IF_CONFIG_SMALL("MJPEG (VAAPI)"),557 .p.long_name = NULL_IF_CONFIG_SMALL("MJPEG (VAAPI)"),
558 .type = AVMEDIA_TYPE_VIDEO,558 .p.type = AVMEDIA_TYPE_VIDEO,
559 .id = AV_CODEC_ID_MJPEG,559 .p.id = AV_CODEC_ID_MJPEG,
560 .priv_data_size = sizeof(VAAPIEncodeMJPEGContext),560 .priv_data_size = sizeof(VAAPIEncodeMJPEGContext),
561 .init = &vaapi_encode_mjpeg_init,561 .init = &vaapi_encode_mjpeg_init,
562 .receive_packet = &ff_vaapi_encode_receive_packet,562 .receive_packet = &ff_vaapi_encode_receive_packet,
563 .close = &vaapi_encode_mjpeg_close,563 .close = &vaapi_encode_mjpeg_close,
564 .priv_class = &vaapi_encode_mjpeg_class,564 .p.priv_class = &vaapi_encode_mjpeg_class,
565 .capabilities = AV_CODEC_CAP_HARDWARE | AV_CODEC_CAP_DR1,565 .p.capabilities = AV_CODEC_CAP_HARDWARE | AV_CODEC_CAP_DR1,
566 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,566 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
567 .defaults = vaapi_encode_mjpeg_defaults,567 .defaults = vaapi_encode_mjpeg_defaults,
568 .pix_fmts = (const enum AVPixelFormat[]) {568 .p.pix_fmts = (const enum AVPixelFormat[]) {
569 AV_PIX_FMT_VAAPI,569 AV_PIX_FMT_VAAPI,
570 AV_PIX_FMT_NONE,570 AV_PIX_FMT_NONE,
571 },571 },
572 .hw_configs = ff_vaapi_encode_hw_configs,572 .hw_configs = ff_vaapi_encode_hw_configs,
573 .wrapper_name = "vaapi",573 .p.wrapper_name = "vaapi",
574};574};
libavcodec/vaapi_encode_mpeg2.c+9−9
@@ -690,24 +690,24 @@ static const AVClass vaapi_encode_mpeg2_class = { · 689 unmodified lines
690 .version = LIBAVUTIL_VERSION_INT,690 .version = LIBAVUTIL_VERSION_INT,
691};691};
692 692
693const AVCodec ff_mpeg2_vaapi_encoder = {693const FFCodec ff_mpeg2_vaapi_encoder = {
694 .name = "mpeg2_vaapi",694 .p.name = "mpeg2_vaapi",
695 .long_name = NULL_IF_CONFIG_SMALL("MPEG-2 (VAAPI)"),695 .p.long_name = NULL_IF_CONFIG_SMALL("MPEG-2 (VAAPI)"),
696 .type = AVMEDIA_TYPE_VIDEO,696 .p.type = AVMEDIA_TYPE_VIDEO,
697 .id = AV_CODEC_ID_MPEG2VIDEO,697 .p.id = AV_CODEC_ID_MPEG2VIDEO,
698 .priv_data_size = sizeof(VAAPIEncodeMPEG2Context),698 .priv_data_size = sizeof(VAAPIEncodeMPEG2Context),
699 .init = &vaapi_encode_mpeg2_init,699 .init = &vaapi_encode_mpeg2_init,
700 .receive_packet = &ff_vaapi_encode_receive_packet,700 .receive_packet = &ff_vaapi_encode_receive_packet,
701 .close = &vaapi_encode_mpeg2_close,701 .close = &vaapi_encode_mpeg2_close,
702 .priv_class = &vaapi_encode_mpeg2_class,702 .p.priv_class = &vaapi_encode_mpeg2_class,
703 .capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_HARDWARE |703 .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_HARDWARE |
704 AV_CODEC_CAP_DR1,704 AV_CODEC_CAP_DR1,
705 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,705 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
706 .defaults = vaapi_encode_mpeg2_defaults,706 .defaults = vaapi_encode_mpeg2_defaults,
707 .pix_fmts = (const enum AVPixelFormat[]) {707 .p.pix_fmts = (const enum AVPixelFormat[]) {
708 AV_PIX_FMT_VAAPI,708 AV_PIX_FMT_VAAPI,
709 AV_PIX_FMT_NONE,709 AV_PIX_FMT_NONE,
710 },710 },
711 .hw_configs = ff_vaapi_encode_hw_configs,711 .hw_configs = ff_vaapi_encode_hw_configs,
712 .wrapper_name = "vaapi",712 .p.wrapper_name = "vaapi",
713};713};
libavcodec/vaapi_encode_vp8.c+9−9
@@ -245,24 +245,24 @@ static const AVClass vaapi_encode_vp8_class = { · 244 unmodified lines
245 .version = LIBAVUTIL_VERSION_INT,245 .version = LIBAVUTIL_VERSION_INT,
246};246};
247 247
248const AVCodec ff_vp8_vaapi_encoder = {248const FFCodec ff_vp8_vaapi_encoder = {
249 .name = "vp8_vaapi",249 .p.name = "vp8_vaapi",
250 .long_name = NULL_IF_CONFIG_SMALL("VP8 (VAAPI)"),250 .p.long_name = NULL_IF_CONFIG_SMALL("VP8 (VAAPI)"),
251 .type = AVMEDIA_TYPE_VIDEO,251 .p.type = AVMEDIA_TYPE_VIDEO,
252 .id = AV_CODEC_ID_VP8,252 .p.id = AV_CODEC_ID_VP8,
253 .priv_data_size = sizeof(VAAPIEncodeVP8Context),253 .priv_data_size = sizeof(VAAPIEncodeVP8Context),
254 .init = &vaapi_encode_vp8_init,254 .init = &vaapi_encode_vp8_init,
255 .receive_packet = &ff_vaapi_encode_receive_packet,255 .receive_packet = &ff_vaapi_encode_receive_packet,
256 .close = &ff_vaapi_encode_close,256 .close = &ff_vaapi_encode_close,
257 .priv_class = &vaapi_encode_vp8_class,257 .p.priv_class = &vaapi_encode_vp8_class,
258 .capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_HARDWARE |258 .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_HARDWARE |
259 AV_CODEC_CAP_DR1,259 AV_CODEC_CAP_DR1,
260 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,260 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
261 .defaults = vaapi_encode_vp8_defaults,261 .defaults = vaapi_encode_vp8_defaults,
262 .pix_fmts = (const enum AVPixelFormat[]) {262 .p.pix_fmts = (const enum AVPixelFormat[]) {
263 AV_PIX_FMT_VAAPI,263 AV_PIX_FMT_VAAPI,
264 AV_PIX_FMT_NONE,264 AV_PIX_FMT_NONE,
265 },265 },
266 .hw_configs = ff_vaapi_encode_hw_configs,266 .hw_configs = ff_vaapi_encode_hw_configs,
267 .wrapper_name = "vaapi",267 .p.wrapper_name = "vaapi",
268};268};
libavcodec/vaapi_encode_vp9.c+9−9
@@ -287,24 +287,24 @@ static const AVClass vaapi_encode_vp9_class = { · 286 unmodified lines
287 .version = LIBAVUTIL_VERSION_INT,287 .version = LIBAVUTIL_VERSION_INT,
288};288};
289 289
290const AVCodec ff_vp9_vaapi_encoder = {290const FFCodec ff_vp9_vaapi_encoder = {
291 .name = "vp9_vaapi",291 .p.name = "vp9_vaapi",
292 .long_name = NULL_IF_CONFIG_SMALL("VP9 (VAAPI)"),292 .p.long_name = NULL_IF_CONFIG_SMALL("VP9 (VAAPI)"),
293 .type = AVMEDIA_TYPE_VIDEO,293 .p.type = AVMEDIA_TYPE_VIDEO,
294 .id = AV_CODEC_ID_VP9,294 .p.id = AV_CODEC_ID_VP9,
295 .priv_data_size = sizeof(VAAPIEncodeVP9Context),295 .priv_data_size = sizeof(VAAPIEncodeVP9Context),
296 .init = &vaapi_encode_vp9_init,296 .init = &vaapi_encode_vp9_init,
297 .receive_packet = &ff_vaapi_encode_receive_packet,297 .receive_packet = &ff_vaapi_encode_receive_packet,
298 .close = &ff_vaapi_encode_close,298 .close = &ff_vaapi_encode_close,
299 .priv_class = &vaapi_encode_vp9_class,299 .p.priv_class = &vaapi_encode_vp9_class,
300 .capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_HARDWARE |300 .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_HARDWARE |
301 AV_CODEC_CAP_DR1,301 AV_CODEC_CAP_DR1,
302 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,302 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
303 .defaults = vaapi_encode_vp9_defaults,303 .defaults = vaapi_encode_vp9_defaults,
304 .pix_fmts = (const enum AVPixelFormat[]) {304 .p.pix_fmts = (const enum AVPixelFormat[]) {
305 AV_PIX_FMT_VAAPI,305 AV_PIX_FMT_VAAPI,
306 AV_PIX_FMT_NONE,306 AV_PIX_FMT_NONE,
307 },307 },
308 .hw_configs = ff_vaapi_encode_hw_configs,308 .hw_configs = ff_vaapi_encode_hw_configs,
309 .wrapper_name = "vaapi",309 .p.wrapper_name = "vaapi",
310};310};
libavcodec/vb.c+6−6
@@ -279,15 +279,15 @@ static av_cold int decode_end(AVCodecContext *avctx) · 278 unmodified lines
279 return 0;279 return 0;
280}280}
281 281
282const AVCodec ff_vb_decoder = {282const FFCodec ff_vb_decoder = {
283 .name = "vb",283 .p.name = "vb",
284 .long_name = NULL_IF_CONFIG_SMALL("Beam Software VB"),284 .p.long_name = NULL_IF_CONFIG_SMALL("Beam Software VB"),
285 .type = AVMEDIA_TYPE_VIDEO,285 .p.type = AVMEDIA_TYPE_VIDEO,
286 .id = AV_CODEC_ID_VB,286 .p.id = AV_CODEC_ID_VB,
287 .priv_data_size = sizeof(VBDecContext),287 .priv_data_size = sizeof(VBDecContext),
288 .init = decode_init,288 .init = decode_init,
289 .close = decode_end,289 .close = decode_end,
290 .decode = decode_frame,290 .decode = decode_frame,
291 .capabilities = AV_CODEC_CAP_DR1,291 .p.capabilities = AV_CODEC_CAP_DR1,
292 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,292 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
293};293};
libavcodec/vble.c+6−6
@@ -202,15 +202,15 @@ static av_cold int vble_decode_init(AVCodecContext *avctx) · 201 unmodified lines
202 return 0;202 return 0;
203}203}
204 204
205const AVCodec ff_vble_decoder = {205const FFCodec ff_vble_decoder = {
206 .name = "vble",206 .p.name = "vble",
207 .long_name = NULL_IF_CONFIG_SMALL("VBLE Lossless Codec"),207 .p.long_name = NULL_IF_CONFIG_SMALL("VBLE Lossless Codec"),
208 .type = AVMEDIA_TYPE_VIDEO,208 .p.type = AVMEDIA_TYPE_VIDEO,
209 .id = AV_CODEC_ID_VBLE,209 .p.id = AV_CODEC_ID_VBLE,
210 .priv_data_size = sizeof(VBLEContext),210 .priv_data_size = sizeof(VBLEContext),
211 .init = vble_decode_init,211 .init = vble_decode_init,
212 .close = vble_decode_close,212 .close = vble_decode_close,
213 .decode = vble_decode_frame,213 .decode = vble_decode_frame,
214 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,214 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
215 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,215 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
216};216};
libavcodec/vc1dec.c+30−30
@@ -1202,19 +1202,19 @@ static const enum AVPixelFormat vc1_hwaccel_pixfmt_list_420[] = { · 1201 unmodified lines
1202 AV_PIX_FMT_NONE1202 AV_PIX_FMT_NONE
1203};1203};
1204 1204
1205const AVCodec ff_vc1_decoder = {1205const FFCodec ff_vc1_decoder = {
1206 .name = "vc1",1206 .p.name = "vc1",
1207 .long_name = NULL_IF_CONFIG_SMALL("SMPTE VC-1"),1207 .p.long_name = NULL_IF_CONFIG_SMALL("SMPTE VC-1"),
1208 .type = AVMEDIA_TYPE_VIDEO,1208 .p.type = AVMEDIA_TYPE_VIDEO,
1209 .id = AV_CODEC_ID_VC1,1209 .p.id = AV_CODEC_ID_VC1,
1210 .priv_data_size = sizeof(VC1Context),1210 .priv_data_size = sizeof(VC1Context),
1211 .init = vc1_decode_init,1211 .init = vc1_decode_init,
1212 .close = ff_vc1_decode_end,1212 .close = ff_vc1_decode_end,
1213 .decode = vc1_decode_frame,1213 .decode = vc1_decode_frame,
1214 .flush = ff_mpeg_flush,1214 .flush = ff_mpeg_flush,
1215 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,1215 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,
1216 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,1216 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
1217 .pix_fmts = vc1_hwaccel_pixfmt_list_420,1217 .p.pix_fmts = vc1_hwaccel_pixfmt_list_420,
1218 .hw_configs = (const AVCodecHWConfigInternal *const []) {1218 .hw_configs = (const AVCodecHWConfigInternal *const []) {
1219#if CONFIG_VC1_DXVA2_HWACCEL1219#if CONFIG_VC1_DXVA2_HWACCEL
1220 HWACCEL_DXVA2(vc1),1220 HWACCEL_DXVA2(vc1),
@@ -1236,23 +1236,23 @@ const AVCodec ff_vc1_decoder = { · 15 unmodified lines
1236#endif1236#endif
1237 NULL1237 NULL
1238 },1238 },
1239 .profiles = NULL_IF_CONFIG_SMALL(ff_vc1_profiles)1239 .p.profiles = NULL_IF_CONFIG_SMALL(ff_vc1_profiles)
1240};1240};
1241 1241
1242#if CONFIG_WMV3_DECODER1242#if CONFIG_WMV3_DECODER
1243const AVCodec ff_wmv3_decoder = {1243const FFCodec ff_wmv3_decoder = {
1244 .name = "wmv3",1244 .p.name = "wmv3",
1245 .long_name = NULL_IF_CONFIG_SMALL("Windows Media Video 9"),1245 .p.long_name = NULL_IF_CONFIG_SMALL("Windows Media Video 9"),
1246 .type = AVMEDIA_TYPE_VIDEO,1246 .p.type = AVMEDIA_TYPE_VIDEO,
1247 .id = AV_CODEC_ID_WMV3,1247 .p.id = AV_CODEC_ID_WMV3,
1248 .priv_data_size = sizeof(VC1Context),1248 .priv_data_size = sizeof(VC1Context),
1249 .init = vc1_decode_init,1249 .init = vc1_decode_init,
1250 .close = ff_vc1_decode_end,1250 .close = ff_vc1_decode_end,
1251 .decode = vc1_decode_frame,1251 .decode = vc1_decode_frame,
1252 .flush = ff_mpeg_flush,1252 .flush = ff_mpeg_flush,
1253 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,1253 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,
1254 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,1254 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
1255 .pix_fmts = vc1_hwaccel_pixfmt_list_420,1255 .p.pix_fmts = vc1_hwaccel_pixfmt_list_420,
1256 .hw_configs = (const AVCodecHWConfigInternal *const []) {1256 .hw_configs = (const AVCodecHWConfigInternal *const []) {
1257#if CONFIG_WMV3_DXVA2_HWACCEL1257#if CONFIG_WMV3_DXVA2_HWACCEL
1258 HWACCEL_DXVA2(wmv3),1258 HWACCEL_DXVA2(wmv3),
@@ -1274,24 +1274,24 @@ const AVCodec ff_wmv3_decoder = { · 15 unmodified lines
1274#endif1274#endif
1275 NULL1275 NULL
1276 },1276 },
1277 .profiles = NULL_IF_CONFIG_SMALL(ff_vc1_profiles)1277 .p.profiles = NULL_IF_CONFIG_SMALL(ff_vc1_profiles)
1278};1278};
1279#endif1279#endif
1280 1280
1281#if CONFIG_WMV3IMAGE_DECODER1281#if CONFIG_WMV3IMAGE_DECODER
1282const AVCodec ff_wmv3image_decoder = {1282const FFCodec ff_wmv3image_decoder = {
1283 .name = "wmv3image",1283 .p.name = "wmv3image",
1284 .long_name = NULL_IF_CONFIG_SMALL("Windows Media Video 9 Image"),1284 .p.long_name = NULL_IF_CONFIG_SMALL("Windows Media Video 9 Image"),
1285 .type = AVMEDIA_TYPE_VIDEO,1285 .p.type = AVMEDIA_TYPE_VIDEO,
1286 .id = AV_CODEC_ID_WMV3IMAGE,1286 .p.id = AV_CODEC_ID_WMV3IMAGE,
1287 .priv_data_size = sizeof(VC1Context),1287 .priv_data_size = sizeof(VC1Context),
1288 .init = vc1_decode_init,1288 .init = vc1_decode_init,
1289 .close = ff_vc1_decode_end,1289 .close = ff_vc1_decode_end,
1290 .decode = vc1_decode_frame,1290 .decode = vc1_decode_frame,
1291 .capabilities = AV_CODEC_CAP_DR1,1291 .p.capabilities = AV_CODEC_CAP_DR1,
1292 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,1292 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
1293 .flush = vc1_sprite_flush,1293 .flush = vc1_sprite_flush,
1294 .pix_fmts = (const enum AVPixelFormat[]) {1294 .p.pix_fmts = (const enum AVPixelFormat[]) {
1295 AV_PIX_FMT_YUV420P,1295 AV_PIX_FMT_YUV420P,
1296 AV_PIX_FMT_NONE1296 AV_PIX_FMT_NONE
1297 },1297 },
@@ -1299,19 +1299,19 @@ const AVCodec ff_wmv3image_decoder = { · 1 unmodified line
1299#endif1299#endif
1300 1300
1301#if CONFIG_VC1IMAGE_DECODER1301#if CONFIG_VC1IMAGE_DECODER
1302const AVCodec ff_vc1image_decoder = {1302const FFCodec ff_vc1image_decoder = {
1303 .name = "vc1image",1303 .p.name = "vc1image",
1304 .long_name = NULL_IF_CONFIG_SMALL("Windows Media Video 9 Image v2"),1304 .p.long_name = NULL_IF_CONFIG_SMALL("Windows Media Video 9 Image v2"),
1305 .type = AVMEDIA_TYPE_VIDEO,1305 .p.type = AVMEDIA_TYPE_VIDEO,
1306 .id = AV_CODEC_ID_VC1IMAGE,1306 .p.id = AV_CODEC_ID_VC1IMAGE,
1307 .priv_data_size = sizeof(VC1Context),1307 .priv_data_size = sizeof(VC1Context),
1308 .init = vc1_decode_init,1308 .init = vc1_decode_init,
1309 .close = ff_vc1_decode_end,1309 .close = ff_vc1_decode_end,
1310 .decode = vc1_decode_frame,1310 .decode = vc1_decode_frame,
1311 .capabilities = AV_CODEC_CAP_DR1,1311 .p.capabilities = AV_CODEC_CAP_DR1,
1312 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,1312 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
1313 .flush = vc1_sprite_flush,1313 .flush = vc1_sprite_flush,
1314 .pix_fmts = (const enum AVPixelFormat[]) {1314 .p.pix_fmts = (const enum AVPixelFormat[]) {
1315 AV_PIX_FMT_YUV420P,1315 AV_PIX_FMT_YUV420P,
1316 AV_PIX_FMT_NONE1316 AV_PIX_FMT_NONE
1317 },1317 },
libavcodec/vc2enc.c+8−8
@@ -1224,18 +1224,18 @@ static const enum AVPixelFormat allowed_pix_fmts[] = { · 1223 unmodified lines
1224 AV_PIX_FMT_NONE1224 AV_PIX_FMT_NONE
1225};1225};
1226 1226
1227const AVCodec ff_vc2_encoder = {1227const FFCodec ff_vc2_encoder = {
1228 .name = "vc2",1228 .p.name = "vc2",
1229 .long_name = NULL_IF_CONFIG_SMALL("SMPTE VC-2"),1229 .p.long_name = NULL_IF_CONFIG_SMALL("SMPTE VC-2"),
1230 .type = AVMEDIA_TYPE_VIDEO,1230 .p.type = AVMEDIA_TYPE_VIDEO,
1231 .id = AV_CODEC_ID_DIRAC,1231 .p.id = AV_CODEC_ID_DIRAC,
1232 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SLICE_THREADS,1232 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SLICE_THREADS,
1233 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,1233 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
1234 .priv_data_size = sizeof(VC2EncContext),1234 .priv_data_size = sizeof(VC2EncContext),
1235 .init = vc2_encode_init,1235 .init = vc2_encode_init,
1236 .close = vc2_encode_end,1236 .close = vc2_encode_end,
1237 .encode2 = vc2_encode_frame,1237 .encode2 = vc2_encode_frame,
1238 .priv_class = &vc2enc_class,1238 .p.priv_class = &vc2enc_class,
1239 .defaults = vc2enc_defaults,1239 .defaults = vc2enc_defaults,
1240 .pix_fmts = allowed_pix_fmts1240 .p.pix_fmts = allowed_pix_fmts
1241};1241};
libavcodec/vcr1.c+6−6
@@ -122,14 +122,14 @@ static int vcr1_decode_frame(AVCodecContext *avctx, void *data, · 121 unmodified lines
122 return bytestream - avpkt->data;122 return bytestream - avpkt->data;
123}123}
124 124
125const AVCodec ff_vcr1_decoder = {125const FFCodec ff_vcr1_decoder = {
126 .name = "vcr1",126 .p.name = "vcr1",
127 .long_name = NULL_IF_CONFIG_SMALL("ATI VCR1"),127 .p.long_name = NULL_IF_CONFIG_SMALL("ATI VCR1"),
128 .type = AVMEDIA_TYPE_VIDEO,128 .p.type = AVMEDIA_TYPE_VIDEO,
129 .id = AV_CODEC_ID_VCR1,129 .p.id = AV_CODEC_ID_VCR1,
130 .priv_data_size = sizeof(VCR1Context),130 .priv_data_size = sizeof(VCR1Context),
131 .init = vcr1_decode_init,131 .init = vcr1_decode_init,
132 .decode = vcr1_decode_frame,132 .decode = vcr1_decode_frame,
133 .capabilities = AV_CODEC_CAP_DR1,133 .p.capabilities = AV_CODEC_CAP_DR1,
134 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,134 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
135};135};
libavcodec/videotoolboxenc.c+26−26
@@ -2723,18 +2723,18 @@ static const AVClass h264_videotoolbox_class = { · 2722 unmodified lines
2723 .version = LIBAVUTIL_VERSION_INT,2723 .version = LIBAVUTIL_VERSION_INT,
2724};2724};
2725 2725
2726const AVCodec ff_h264_videotoolbox_encoder = {2726const FFCodec ff_h264_videotoolbox_encoder = {
2727 .name = "h264_videotoolbox",2727 .p.name = "h264_videotoolbox",
2728 .long_name = NULL_IF_CONFIG_SMALL("VideoToolbox H.264 Encoder"),2728 .p.long_name = NULL_IF_CONFIG_SMALL("VideoToolbox H.264 Encoder"),
2729 .type = AVMEDIA_TYPE_VIDEO,2729 .p.type = AVMEDIA_TYPE_VIDEO,
2730 .id = AV_CODEC_ID_H264,2730 .p.id = AV_CODEC_ID_H264,
2731 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,2731 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,
2732 .priv_data_size = sizeof(VTEncContext),2732 .priv_data_size = sizeof(VTEncContext),
2733 .pix_fmts = avc_pix_fmts,2733 .p.pix_fmts = avc_pix_fmts,
2734 .init = vtenc_init,2734 .init = vtenc_init,
2735 .encode2 = vtenc_frame,2735 .encode2 = vtenc_frame,
2736 .close = vtenc_close,2736 .close = vtenc_close,
2737 .priv_class = &h264_videotoolbox_class,2737 .p.priv_class = &h264_videotoolbox_class,
2738 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |2738 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |
2739 FF_CODEC_CAP_INIT_CLEANUP,2739 FF_CODEC_CAP_INIT_CLEANUP,
2740};2740};
@@ -2757,22 +2757,22 @@ static const AVClass hevc_videotoolbox_class = { · 16 unmodified lines
2757 .version = LIBAVUTIL_VERSION_INT,2757 .version = LIBAVUTIL_VERSION_INT,
2758};2758};
2759 2759
2760const AVCodec ff_hevc_videotoolbox_encoder = {2760const FFCodec ff_hevc_videotoolbox_encoder = {
2761 .name = "hevc_videotoolbox",2761 .p.name = "hevc_videotoolbox",
2762 .long_name = NULL_IF_CONFIG_SMALL("VideoToolbox H.265 Encoder"),2762 .p.long_name = NULL_IF_CONFIG_SMALL("VideoToolbox H.265 Encoder"),
2763 .type = AVMEDIA_TYPE_VIDEO,2763 .p.type = AVMEDIA_TYPE_VIDEO,
2764 .id = AV_CODEC_ID_HEVC,2764 .p.id = AV_CODEC_ID_HEVC,
2765 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY |2765 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY |
2766 AV_CODEC_CAP_HARDWARE,2766 AV_CODEC_CAP_HARDWARE,
2767 .priv_data_size = sizeof(VTEncContext),2767 .priv_data_size = sizeof(VTEncContext),
2768 .pix_fmts = hevc_pix_fmts,2768 .p.pix_fmts = hevc_pix_fmts,
2769 .init = vtenc_init,2769 .init = vtenc_init,
2770 .encode2 = vtenc_frame,2770 .encode2 = vtenc_frame,
2771 .close = vtenc_close,2771 .close = vtenc_close,
2772 .priv_class = &hevc_videotoolbox_class,2772 .p.priv_class = &hevc_videotoolbox_class,
2773 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |2773 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |
2774 FF_CODEC_CAP_INIT_CLEANUP,2774 FF_CODEC_CAP_INIT_CLEANUP,
2775 .wrapper_name = "videotoolbox",2775 .p.wrapper_name = "videotoolbox",
2776};2776};
2777 2777
2778static const AVOption prores_options[] = {2778static const AVOption prores_options[] = {
@@ -2796,20 +2796,20 @@ static const AVClass prores_videotoolbox_class = { · 17 unmodified lines
2796 .version = LIBAVUTIL_VERSION_INT,2796 .version = LIBAVUTIL_VERSION_INT,
2797};2797};
2798 2798
2799const AVCodec ff_prores_videotoolbox_encoder = {2799const FFCodec ff_prores_videotoolbox_encoder = {
2800 .name = "prores_videotoolbox",2800 .p.name = "prores_videotoolbox",
2801 .long_name = NULL_IF_CONFIG_SMALL("VideoToolbox ProRes Encoder"),2801 .p.long_name = NULL_IF_CONFIG_SMALL("VideoToolbox ProRes Encoder"),
2802 .type = AVMEDIA_TYPE_VIDEO,2802 .p.type = AVMEDIA_TYPE_VIDEO,
2803 .id = AV_CODEC_ID_PRORES,2803 .p.id = AV_CODEC_ID_PRORES,
2804 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY |2804 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY |
2805 AV_CODEC_CAP_HARDWARE,2805 AV_CODEC_CAP_HARDWARE,
2806 .priv_data_size = sizeof(VTEncContext),2806 .priv_data_size = sizeof(VTEncContext),
2807 .pix_fmts = prores_pix_fmts,2807 .p.pix_fmts = prores_pix_fmts,
2808 .init = vtenc_init,2808 .init = vtenc_init,
2809 .encode2 = vtenc_frame,2809 .encode2 = vtenc_frame,
2810 .close = vtenc_close,2810 .close = vtenc_close,
2811 .priv_class = &prores_videotoolbox_class,2811 .p.priv_class = &prores_videotoolbox_class,
2812 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |2812 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |
2813 FF_CODEC_CAP_INIT_CLEANUP,2813 FF_CODEC_CAP_INIT_CLEANUP,
2814 .wrapper_name = "videotoolbox",2814 .p.wrapper_name = "videotoolbox",
2815};2815};
libavcodec/vima.c+6−6
@@ -208,13 +208,13 @@ static int decode_frame(AVCodecContext *avctx, void *data, · 207 unmodified lines
208 return pkt->size;208 return pkt->size;
209}209}
210 210
211const AVCodec ff_adpcm_vima_decoder = {211const FFCodec ff_adpcm_vima_decoder = {
212 .name = "adpcm_vima",212 .p.name = "adpcm_vima",
213 .long_name = NULL_IF_CONFIG_SMALL("LucasArts VIMA audio"),213 .p.long_name = NULL_IF_CONFIG_SMALL("LucasArts VIMA audio"),
214 .type = AVMEDIA_TYPE_AUDIO,214 .p.type = AVMEDIA_TYPE_AUDIO,
215 .id = AV_CODEC_ID_ADPCM_VIMA,215 .p.id = AV_CODEC_ID_ADPCM_VIMA,
216 .init = decode_init,216 .init = decode_init,
217 .decode = decode_frame,217 .decode = decode_frame,
218 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,218 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
219 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,219 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
220};220};
libavcodec/vmdaudio.c+6−6
@@ -229,14 +229,14 @@ static int vmdaudio_decode_frame(AVCodecContext *avctx, void *data, · 228 unmodified lines
229 return avpkt->size;229 return avpkt->size;
230}230}
231 231
232const AVCodec ff_vmdaudio_decoder = {232const FFCodec ff_vmdaudio_decoder = {
233 .name = "vmdaudio",233 .p.name = "vmdaudio",
234 .long_name = NULL_IF_CONFIG_SMALL("Sierra VMD audio"),234 .p.long_name = NULL_IF_CONFIG_SMALL("Sierra VMD audio"),
235 .type = AVMEDIA_TYPE_AUDIO,235 .p.type = AVMEDIA_TYPE_AUDIO,
236 .id = AV_CODEC_ID_VMDAUDIO,236 .p.id = AV_CODEC_ID_VMDAUDIO,
237 .priv_data_size = sizeof(VmdAudioContext),237 .priv_data_size = sizeof(VmdAudioContext),
238 .init = vmdaudio_decode_init,238 .init = vmdaudio_decode_init,
239 .decode = vmdaudio_decode_frame,239 .decode = vmdaudio_decode_frame,
240 .capabilities = AV_CODEC_CAP_DR1,240 .p.capabilities = AV_CODEC_CAP_DR1,
241 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,241 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
242};242};
libavcodec/vmdvideo.c+6−6
@@ -466,15 +466,15 @@ static int vmdvideo_decode_frame(AVCodecContext *avctx, · 465 unmodified lines
466 return buf_size;466 return buf_size;
467}467}
468 468
469const AVCodec ff_vmdvideo_decoder = {469const FFCodec ff_vmdvideo_decoder = {
470 .name = "vmdvideo",470 .p.name = "vmdvideo",
471 .long_name = NULL_IF_CONFIG_SMALL("Sierra VMD video"),471 .p.long_name = NULL_IF_CONFIG_SMALL("Sierra VMD video"),
472 .type = AVMEDIA_TYPE_VIDEO,472 .p.type = AVMEDIA_TYPE_VIDEO,
473 .id = AV_CODEC_ID_VMDVIDEO,473 .p.id = AV_CODEC_ID_VMDVIDEO,
474 .priv_data_size = sizeof(VmdVideoContext),474 .priv_data_size = sizeof(VmdVideoContext),
475 .init = vmdvideo_decode_init,475 .init = vmdvideo_decode_init,
476 .close = vmdvideo_decode_end,476 .close = vmdvideo_decode_end,
477 .decode = vmdvideo_decode_frame,477 .decode = vmdvideo_decode_frame,
478 .capabilities = AV_CODEC_CAP_DR1,478 .p.capabilities = AV_CODEC_CAP_DR1,
479 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,479 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
480};480};
libavcodec/vmnc.c+6−6
@@ -573,15 +573,15 @@ static av_cold int decode_end(AVCodecContext *avctx) · 572 unmodified lines
573 return 0;573 return 0;
574}574}
575 575
576const AVCodec ff_vmnc_decoder = {576const FFCodec ff_vmnc_decoder = {
577 .name = "vmnc",577 .p.name = "vmnc",
578 .long_name = NULL_IF_CONFIG_SMALL("VMware Screen Codec / VMware Video"),578 .p.long_name = NULL_IF_CONFIG_SMALL("VMware Screen Codec / VMware Video"),
579 .type = AVMEDIA_TYPE_VIDEO,579 .p.type = AVMEDIA_TYPE_VIDEO,
580 .id = AV_CODEC_ID_VMNC,580 .p.id = AV_CODEC_ID_VMNC,
581 .priv_data_size = sizeof(VmncContext),581 .priv_data_size = sizeof(VmncContext),
582 .init = decode_init,582 .init = decode_init,
583 .close = decode_end,583 .close = decode_end,
584 .decode = decode_frame,584 .decode = decode_frame,
585 .capabilities = AV_CODEC_CAP_DR1,585 .p.capabilities = AV_CODEC_CAP_DR1,
586 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,586 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
587};587};
libavcodec/vorbisdec.c+9−9
@@ -1885,22 +1885,22 @@ static av_cold void vorbis_decode_flush(AVCodecContext *avctx) · 1884 unmodified lines
1885 vc->first_frame = 0;1885 vc->first_frame = 0;
1886}1886}
1887 1887
1888const AVCodec ff_vorbis_decoder = {1888const FFCodec ff_vorbis_decoder = {
1889 .name = "vorbis",1889 .p.name = "vorbis",
1890 .long_name = NULL_IF_CONFIG_SMALL("Vorbis"),1890 .p.long_name = NULL_IF_CONFIG_SMALL("Vorbis"),
1891 .type = AVMEDIA_TYPE_AUDIO,1891 .p.type = AVMEDIA_TYPE_AUDIO,
1892 .id = AV_CODEC_ID_VORBIS,1892 .p.id = AV_CODEC_ID_VORBIS,
1893 .priv_data_size = sizeof(vorbis_context),1893 .priv_data_size = sizeof(vorbis_context),
1894 .init = vorbis_decode_init,1894 .init = vorbis_decode_init,
1895 .close = vorbis_decode_close,1895 .close = vorbis_decode_close,
1896 .decode = vorbis_decode_frame,1896 .decode = vorbis_decode_frame,
1897 .flush = vorbis_decode_flush,1897 .flush = vorbis_decode_flush,
1898 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,1898 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
1899 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,1899 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
1900#if FF_API_OLD_CHANNEL_LAYOUT1900#if FF_API_OLD_CHANNEL_LAYOUT
1901 .channel_layouts = ff_vorbis_channel_layouts,1901 .p.channel_layouts = ff_vorbis_channel_layouts,
1902#endif1902#endif
1903 .ch_layouts = ff_vorbis_ch_layouts,1903 .p.ch_layouts = ff_vorbis_ch_layouts,
1904 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,1904 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
1905 AV_SAMPLE_FMT_NONE },1905 AV_SAMPLE_FMT_NONE },
1906};1906};
libavcodec/vorbisenc.c+7−7
@@ -1295,17 +1295,17 @@ static av_cold int vorbis_encode_init(AVCodecContext *avctx) · 1294 unmodified lines
1295 return 0;1295 return 0;
1296}1296}
1297 1297
1298const AVCodec ff_vorbis_encoder = {1298const FFCodec ff_vorbis_encoder = {
1299 .name = "vorbis",1299 .p.name = "vorbis",
1300 .long_name = NULL_IF_CONFIG_SMALL("Vorbis"),1300 .p.long_name = NULL_IF_CONFIG_SMALL("Vorbis"),
1301 .type = AVMEDIA_TYPE_AUDIO,1301 .p.type = AVMEDIA_TYPE_AUDIO,
1302 .id = AV_CODEC_ID_VORBIS,1302 .p.id = AV_CODEC_ID_VORBIS,
1303 .priv_data_size = sizeof(vorbis_enc_context),1303 .priv_data_size = sizeof(vorbis_enc_context),
1304 .init = vorbis_encode_init,1304 .init = vorbis_encode_init,
1305 .encode2 = vorbis_encode_frame,1305 .encode2 = vorbis_encode_frame,
1306 .close = vorbis_encode_close,1306 .close = vorbis_encode_close,
1307 .capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_EXPERIMENTAL,1307 .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_EXPERIMENTAL,
1308 .sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_FLTP,1308 .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_FLTP,
1309 AV_SAMPLE_FMT_NONE },1309 AV_SAMPLE_FMT_NONE },
1310 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,1310 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
1311};1311};
libavcodec/vp3.c+18−18
@@ -3170,16 +3170,16 @@ static av_cold int theora_decode_init(AVCodecContext *avctx) · 3169 unmodified lines
3170 return vp3_decode_init(avctx);3170 return vp3_decode_init(avctx);
3171}3171}
3172 3172
3173const AVCodec ff_theora_decoder = {3173const FFCodec ff_theora_decoder = {
3174 .name = "theora",3174 .p.name = "theora",
3175 .long_name = NULL_IF_CONFIG_SMALL("Theora"),3175 .p.long_name = NULL_IF_CONFIG_SMALL("Theora"),
3176 .type = AVMEDIA_TYPE_VIDEO,3176 .p.type = AVMEDIA_TYPE_VIDEO,
3177 .id = AV_CODEC_ID_THEORA,3177 .p.id = AV_CODEC_ID_THEORA,
3178 .priv_data_size = sizeof(Vp3DecodeContext),3178 .priv_data_size = sizeof(Vp3DecodeContext),
3179 .init = theora_decode_init,3179 .init = theora_decode_init,
3180 .close = vp3_decode_end,3180 .close = vp3_decode_end,
3181 .decode = vp3_decode_frame,3181 .decode = vp3_decode_frame,
3182 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DRAW_HORIZ_BAND |3182 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DRAW_HORIZ_BAND |
3183 AV_CODEC_CAP_FRAME_THREADS,3183 AV_CODEC_CAP_FRAME_THREADS,
3184 .flush = vp3_decode_flush,3184 .flush = vp3_decode_flush,
3185 .update_thread_context = ONLY_IF_THREADS_ENABLED(vp3_update_thread_context),3185 .update_thread_context = ONLY_IF_THREADS_ENABLED(vp3_update_thread_context),
@@ -3188,16 +3188,16 @@ const AVCodec ff_theora_decoder = { · 2 unmodified lines
3188};3188};
3189#endif3189#endif
3190 3190
3191const AVCodec ff_vp3_decoder = {3191const FFCodec ff_vp3_decoder = {
3192 .name = "vp3",3192 .p.name = "vp3",
3193 .long_name = NULL_IF_CONFIG_SMALL("On2 VP3"),3193 .p.long_name = NULL_IF_CONFIG_SMALL("On2 VP3"),
3194 .type = AVMEDIA_TYPE_VIDEO,3194 .p.type = AVMEDIA_TYPE_VIDEO,
3195 .id = AV_CODEC_ID_VP3,3195 .p.id = AV_CODEC_ID_VP3,
3196 .priv_data_size = sizeof(Vp3DecodeContext),3196 .priv_data_size = sizeof(Vp3DecodeContext),
3197 .init = vp3_decode_init,3197 .init = vp3_decode_init,
3198 .close = vp3_decode_end,3198 .close = vp3_decode_end,
3199 .decode = vp3_decode_frame,3199 .decode = vp3_decode_frame,
3200 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DRAW_HORIZ_BAND |3200 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DRAW_HORIZ_BAND |
3201 AV_CODEC_CAP_FRAME_THREADS,3201 AV_CODEC_CAP_FRAME_THREADS,
3202 .flush = vp3_decode_flush,3202 .flush = vp3_decode_flush,
3203 .update_thread_context = ONLY_IF_THREADS_ENABLED(vp3_update_thread_context),3203 .update_thread_context = ONLY_IF_THREADS_ENABLED(vp3_update_thread_context),
@@ -3206,16 +3206,16 @@ const AVCodec ff_vp3_decoder = { · 2 unmodified lines
3206};3206};
3207 3207
3208#if CONFIG_VP4_DECODER3208#if CONFIG_VP4_DECODER
3209const AVCodec ff_vp4_decoder = {3209const FFCodec ff_vp4_decoder = {
3210 .name = "vp4",3210 .p.name = "vp4",
3211 .long_name = NULL_IF_CONFIG_SMALL("On2 VP4"),3211 .p.long_name = NULL_IF_CONFIG_SMALL("On2 VP4"),
3212 .type = AVMEDIA_TYPE_VIDEO,3212 .p.type = AVMEDIA_TYPE_VIDEO,
3213 .id = AV_CODEC_ID_VP4,3213 .p.id = AV_CODEC_ID_VP4,
3214 .priv_data_size = sizeof(Vp3DecodeContext),3214 .priv_data_size = sizeof(Vp3DecodeContext),
3215 .init = vp3_decode_init,3215 .init = vp3_decode_init,
3216 .close = vp3_decode_end,3216 .close = vp3_decode_end,
3217 .decode = vp3_decode_frame,3217 .decode = vp3_decode_frame,
3218 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DRAW_HORIZ_BAND |3218 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DRAW_HORIZ_BAND |
3219 AV_CODEC_CAP_FRAME_THREADS,3219 AV_CODEC_CAP_FRAME_THREADS,
3220 .flush = vp3_decode_flush,3220 .flush = vp3_decode_flush,
3221 .update_thread_context = ONLY_IF_THREADS_ENABLED(vp3_update_thread_context),3221 .update_thread_context = ONLY_IF_THREADS_ENABLED(vp3_update_thread_context),
libavcodec/vp5.c+6−6
@@ -303,15 +303,15 @@ static av_cold int vp56_free(AVCodecContext *avctx) · 302 unmodified lines
303 return ff_vp56_free_context(s);303 return ff_vp56_free_context(s);
304}304}
305 305
306const AVCodec ff_vp5_decoder = {306const FFCodec ff_vp5_decoder = {
307 .name = "vp5",307 .p.name = "vp5",
308 .long_name = NULL_IF_CONFIG_SMALL("On2 VP5"),308 .p.long_name = NULL_IF_CONFIG_SMALL("On2 VP5"),
309 .type = AVMEDIA_TYPE_VIDEO,309 .p.type = AVMEDIA_TYPE_VIDEO,
310 .id = AV_CODEC_ID_VP5,310 .p.id = AV_CODEC_ID_VP5,
311 .priv_data_size = sizeof(VP56Context),311 .priv_data_size = sizeof(VP56Context),
312 .init = vp5_decode_init,312 .init = vp5_decode_init,
313 .close = vp56_free,313 .close = vp56_free,
314 .decode = ff_vp56_decode_frame,314 .decode = ff_vp56_decode_frame,
315 .capabilities = AV_CODEC_CAP_DR1,315 .p.capabilities = AV_CODEC_CAP_DR1,
316 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,316 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
317};317};
libavcodec/vp6.c+18−18
@@ -712,43 +712,43 @@ static av_cold void vp6_decode_free_context(VP56Context *s) · 711 unmodified lines
712 }712 }
713}713}
714 714
715const AVCodec ff_vp6_decoder = {715const FFCodec ff_vp6_decoder = {
716 .name = "vp6",716 .p.name = "vp6",
717 .long_name = NULL_IF_CONFIG_SMALL("On2 VP6"),717 .p.long_name = NULL_IF_CONFIG_SMALL("On2 VP6"),
718 .type = AVMEDIA_TYPE_VIDEO,718 .p.type = AVMEDIA_TYPE_VIDEO,
719 .id = AV_CODEC_ID_VP6,719 .p.id = AV_CODEC_ID_VP6,
720 .priv_data_size = sizeof(VP56Context),720 .priv_data_size = sizeof(VP56Context),
721 .init = vp6_decode_init,721 .init = vp6_decode_init,
722 .close = vp6_decode_free,722 .close = vp6_decode_free,
723 .decode = ff_vp56_decode_frame,723 .decode = ff_vp56_decode_frame,
724 .capabilities = AV_CODEC_CAP_DR1,724 .p.capabilities = AV_CODEC_CAP_DR1,
725 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,725 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
726};726};
727 727
728/* flash version, not flipped upside-down */728/* flash version, not flipped upside-down */
729const AVCodec ff_vp6f_decoder = {729const FFCodec ff_vp6f_decoder = {
730 .name = "vp6f",730 .p.name = "vp6f",
731 .long_name = NULL_IF_CONFIG_SMALL("On2 VP6 (Flash version)"),731 .p.long_name = NULL_IF_CONFIG_SMALL("On2 VP6 (Flash version)"),
732 .type = AVMEDIA_TYPE_VIDEO,732 .p.type = AVMEDIA_TYPE_VIDEO,
733 .id = AV_CODEC_ID_VP6F,733 .p.id = AV_CODEC_ID_VP6F,
734 .priv_data_size = sizeof(VP56Context),734 .priv_data_size = sizeof(VP56Context),
735 .init = vp6_decode_init,735 .init = vp6_decode_init,
736 .close = vp6_decode_free,736 .close = vp6_decode_free,
737 .decode = ff_vp56_decode_frame,737 .decode = ff_vp56_decode_frame,
738 .capabilities = AV_CODEC_CAP_DR1,738 .p.capabilities = AV_CODEC_CAP_DR1,
739 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,739 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
740};740};
741 741
742/* flash version, not flipped upside-down, with alpha channel */742/* flash version, not flipped upside-down, with alpha channel */
743const AVCodec ff_vp6a_decoder = {743const FFCodec ff_vp6a_decoder = {
744 .name = "vp6a",744 .p.name = "vp6a",
745 .long_name = NULL_IF_CONFIG_SMALL("On2 VP6 (Flash version, with alpha channel)"),745 .p.long_name = NULL_IF_CONFIG_SMALL("On2 VP6 (Flash version, with alpha channel)"),
746 .type = AVMEDIA_TYPE_VIDEO,746 .p.type = AVMEDIA_TYPE_VIDEO,
747 .id = AV_CODEC_ID_VP6A,747 .p.id = AV_CODEC_ID_VP6A,
748 .priv_data_size = 2 /* Main context + alpha context */ * sizeof(VP56Context),748 .priv_data_size = 2 /* Main context + alpha context */ * sizeof(VP56Context),
749 .init = vp6_decode_init,749 .init = vp6_decode_init,
750 .close = vp6_decode_free,750 .close = vp6_decode_free,
751 .decode = ff_vp56_decode_frame,751 .decode = ff_vp56_decode_frame,
752 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SLICE_THREADS,752 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SLICE_THREADS,
753 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,753 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
754};754};
libavcodec/vp8.c+13−13
@@ -2723,7 +2723,7 @@ int vp78_decode_frame(AVCodecContext *avctx, void *data, int *got_frame, · 2722 unmodified lines
2723 2723
2724 s->next_framep[VP56_FRAME_CURRENT] = curframe;2724 s->next_framep[VP56_FRAME_CURRENT] = curframe;
2725 2725
2726 if (avctx->codec->update_thread_context)2726 if (ffcodec(avctx->codec)->update_thread_context)
2727 ff_thread_finish_setup(avctx);2727 ff_thread_finish_setup(avctx);
2728 2728
2729 if (avctx->hwaccel) {2729 if (avctx->hwaccel) {
@@ -2939,32 +2939,32 @@ static int vp8_decode_update_thread_context(AVCodecContext *dst, · 209 unmodified lines
2939#endif /* CONFIG_VP8_DECODER */2939#endif /* CONFIG_VP8_DECODER */
2940 2940
2941#if CONFIG_VP7_DECODER2941#if CONFIG_VP7_DECODER
2942const AVCodec ff_vp7_decoder = {2942const FFCodec ff_vp7_decoder = {
2943 .name = "vp7",2943 .p.name = "vp7",
2944 .long_name = NULL_IF_CONFIG_SMALL("On2 VP7"),2944 .p.long_name = NULL_IF_CONFIG_SMALL("On2 VP7"),
2945 .type = AVMEDIA_TYPE_VIDEO,2945 .p.type = AVMEDIA_TYPE_VIDEO,
2946 .id = AV_CODEC_ID_VP7,2946 .p.id = AV_CODEC_ID_VP7,
2947 .priv_data_size = sizeof(VP8Context),2947 .priv_data_size = sizeof(VP8Context),
2948 .init = vp7_decode_init,2948 .init = vp7_decode_init,
2949 .close = ff_vp8_decode_free,2949 .close = ff_vp8_decode_free,
2950 .decode = vp7_decode_frame,2950 .decode = vp7_decode_frame,
2951 .capabilities = AV_CODEC_CAP_DR1,2951 .p.capabilities = AV_CODEC_CAP_DR1,
2952 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,2952 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
2953 .flush = vp8_decode_flush,2953 .flush = vp8_decode_flush,
2954};2954};
2955#endif /* CONFIG_VP7_DECODER */2955#endif /* CONFIG_VP7_DECODER */
2956 2956
2957#if CONFIG_VP8_DECODER2957#if CONFIG_VP8_DECODER
2958const AVCodec ff_vp8_decoder = {2958const FFCodec ff_vp8_decoder = {
2959 .name = "vp8",2959 .p.name = "vp8",
2960 .long_name = NULL_IF_CONFIG_SMALL("On2 VP8"),2960 .p.long_name = NULL_IF_CONFIG_SMALL("On2 VP8"),
2961 .type = AVMEDIA_TYPE_VIDEO,2961 .p.type = AVMEDIA_TYPE_VIDEO,
2962 .id = AV_CODEC_ID_VP8,2962 .p.id = AV_CODEC_ID_VP8,
2963 .priv_data_size = sizeof(VP8Context),2963 .priv_data_size = sizeof(VP8Context),
2964 .init = ff_vp8_decode_init,2964 .init = ff_vp8_decode_init,
2965 .close = ff_vp8_decode_free,2965 .close = ff_vp8_decode_free,
2966 .decode = ff_vp8_decode_frame,2966 .decode = ff_vp8_decode_frame,
2967 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS |2967 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS |
2968 AV_CODEC_CAP_SLICE_THREADS,2968 AV_CODEC_CAP_SLICE_THREADS,
2969 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |2969 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |
2970 FF_CODEC_CAP_ALLOCATE_PROGRESS,2970 FF_CODEC_CAP_ALLOCATE_PROGRESS,
libavcodec/vp9.c+7−7
@@ -1866,22 +1866,22 @@ static int vp9_decode_update_thread_context(AVCodecContext *dst, const AVCodecCo · 1865 unmodified lines
1866}1866}
1867#endif1867#endif
1868 1868
1869const AVCodec ff_vp9_decoder = {1869const FFCodec ff_vp9_decoder = {
1870 .name = "vp9",1870 .p.name = "vp9",
1871 .long_name = NULL_IF_CONFIG_SMALL("Google VP9"),1871 .p.long_name = NULL_IF_CONFIG_SMALL("Google VP9"),
1872 .type = AVMEDIA_TYPE_VIDEO,1872 .p.type = AVMEDIA_TYPE_VIDEO,
1873 .id = AV_CODEC_ID_VP9,1873 .p.id = AV_CODEC_ID_VP9,
1874 .priv_data_size = sizeof(VP9Context),1874 .priv_data_size = sizeof(VP9Context),
1875 .init = vp9_decode_init,1875 .init = vp9_decode_init,
1876 .close = vp9_decode_free,1876 .close = vp9_decode_free,
1877 .decode = vp9_decode_frame,1877 .decode = vp9_decode_frame,
1878 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_SLICE_THREADS,1878 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_SLICE_THREADS,
1879 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP |1879 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP |
1880 FF_CODEC_CAP_SLICE_THREAD_HAS_MF |1880 FF_CODEC_CAP_SLICE_THREAD_HAS_MF |
1881 FF_CODEC_CAP_ALLOCATE_PROGRESS,1881 FF_CODEC_CAP_ALLOCATE_PROGRESS,
1882 .flush = vp9_decode_flush,1882 .flush = vp9_decode_flush,
1883 .update_thread_context = ONLY_IF_THREADS_ENABLED(vp9_decode_update_thread_context),1883 .update_thread_context = ONLY_IF_THREADS_ENABLED(vp9_decode_update_thread_context),
1884 .profiles = NULL_IF_CONFIG_SMALL(ff_vp9_profiles),1884 .p.profiles = NULL_IF_CONFIG_SMALL(ff_vp9_profiles),
1885 .bsfs = "vp9_superframe_split",1885 .bsfs = "vp9_superframe_split",
1886 .hw_configs = (const AVCodecHWConfigInternal *const []) {1886 .hw_configs = (const AVCodecHWConfigInternal *const []) {
1887#if CONFIG_VP9_DXVA2_HWACCEL1887#if CONFIG_VP9_DXVA2_HWACCEL
libavcodec/vqavideo.c+6−6
@@ -847,16 +847,16 @@ static const AVCodecDefault vqa_defaults[] = { · 846 unmodified lines
847 { NULL },847 { NULL },
848};848};
849 849
850const AVCodec ff_vqa_decoder = {850const FFCodec ff_vqa_decoder = {
851 .name = "vqavideo",851 .p.name = "vqavideo",
852 .long_name = NULL_IF_CONFIG_SMALL("Westwood Studios VQA (Vector Quantized Animation) video"),852 .p.long_name = NULL_IF_CONFIG_SMALL("Westwood Studios VQA (Vector Quantized Animation) video"),
853 .type = AVMEDIA_TYPE_VIDEO,853 .p.type = AVMEDIA_TYPE_VIDEO,
854 .id = AV_CODEC_ID_WS_VQA,854 .p.id = AV_CODEC_ID_WS_VQA,
855 .priv_data_size = sizeof(VqaContext),855 .priv_data_size = sizeof(VqaContext),
856 .init = vqa_decode_init,856 .init = vqa_decode_init,
857 .close = vqa_decode_end,857 .close = vqa_decode_end,
858 .decode = vqa_decode_frame,858 .decode = vqa_decode_frame,
859 .capabilities = AV_CODEC_CAP_DR1,859 .p.capabilities = AV_CODEC_CAP_DR1,
860 .defaults = vqa_defaults,860 .defaults = vqa_defaults,
861 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,861 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
862};862};
libavcodec/wavpack.c+6−6
@@ -1702,18 +1702,18 @@ error: · 1701 unmodified lines
1702 return ret;1702 return ret;
1703}1703}
1704 1704
1705const AVCodec ff_wavpack_decoder = {1705const FFCodec ff_wavpack_decoder = {
1706 .name = "wavpack",1706 .p.name = "wavpack",
1707 .long_name = NULL_IF_CONFIG_SMALL("WavPack"),1707 .p.long_name = NULL_IF_CONFIG_SMALL("WavPack"),
1708 .type = AVMEDIA_TYPE_AUDIO,1708 .p.type = AVMEDIA_TYPE_AUDIO,
1709 .id = AV_CODEC_ID_WAVPACK,1709 .p.id = AV_CODEC_ID_WAVPACK,
1710 .priv_data_size = sizeof(WavpackContext),1710 .priv_data_size = sizeof(WavpackContext),
1711 .init = wavpack_decode_init,1711 .init = wavpack_decode_init,
1712 .close = wavpack_decode_end,1712 .close = wavpack_decode_end,
1713 .decode = wavpack_decode_frame,1713 .decode = wavpack_decode_frame,
1714 .flush = wavpack_decode_flush,1714 .flush = wavpack_decode_flush,
1715 .update_thread_context = ONLY_IF_THREADS_ENABLED(update_thread_context),1715 .update_thread_context = ONLY_IF_THREADS_ENABLED(update_thread_context),
1716 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS |1716 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS |
1717 AV_CODEC_CAP_SLICE_THREADS | AV_CODEC_CAP_CHANNEL_CONF,1717 AV_CODEC_CAP_SLICE_THREADS | AV_CODEC_CAP_CHANNEL_CONF,
1718 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP |1718 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP |
1719 FF_CODEC_CAP_ALLOCATE_PROGRESS,1719 FF_CODEC_CAP_ALLOCATE_PROGRESS,
libavcodec/wavpackenc.c+8−8
@@ -2961,18 +2961,18 @@ static const AVClass wavpack_encoder_class = { · 2960 unmodified lines
2961 .version = LIBAVUTIL_VERSION_INT,2961 .version = LIBAVUTIL_VERSION_INT,
2962};2962};
2963 2963
2964const AVCodec ff_wavpack_encoder = {2964const FFCodec ff_wavpack_encoder = {
2965 .name = "wavpack",2965 .p.name = "wavpack",
2966 .long_name = NULL_IF_CONFIG_SMALL("WavPack"),2966 .p.long_name = NULL_IF_CONFIG_SMALL("WavPack"),
2967 .type = AVMEDIA_TYPE_AUDIO,2967 .p.type = AVMEDIA_TYPE_AUDIO,
2968 .id = AV_CODEC_ID_WAVPACK,2968 .p.id = AV_CODEC_ID_WAVPACK,
2969 .priv_data_size = sizeof(WavPackEncodeContext),2969 .priv_data_size = sizeof(WavPackEncodeContext),
2970 .priv_class = &wavpack_encoder_class,2970 .p.priv_class = &wavpack_encoder_class,
2971 .init = wavpack_encode_init,2971 .init = wavpack_encode_init,
2972 .encode2 = wavpack_encode_frame,2972 .encode2 = wavpack_encode_frame,
2973 .close = wavpack_encode_close,2973 .close = wavpack_encode_close,
2974 .capabilities = AV_CODEC_CAP_SMALL_LAST_FRAME,2974 .p.capabilities = AV_CODEC_CAP_SMALL_LAST_FRAME,
2975 .sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_U8P,2975 .p.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_U8P,
2976 AV_SAMPLE_FMT_S16P,2976 AV_SAMPLE_FMT_S16P,
2977 AV_SAMPLE_FMT_S32P,2977 AV_SAMPLE_FMT_S32P,
2978 AV_SAMPLE_FMT_FLTP,2978 AV_SAMPLE_FMT_FLTP,
libavcodec/wcmv.c+6−6
@@ -242,16 +242,16 @@ static av_cold int decode_close(AVCodecContext *avctx) · 241 unmodified lines
242 return 0;242 return 0;
243}243}
244 244
245const AVCodec ff_wcmv_decoder = {245const FFCodec ff_wcmv_decoder = {
246 .name = "wcmv",246 .p.name = "wcmv",
247 .long_name = NULL_IF_CONFIG_SMALL("WinCAM Motion Video"),247 .p.long_name = NULL_IF_CONFIG_SMALL("WinCAM Motion Video"),
248 .type = AVMEDIA_TYPE_VIDEO,248 .p.type = AVMEDIA_TYPE_VIDEO,
249 .id = AV_CODEC_ID_WCMV,249 .p.id = AV_CODEC_ID_WCMV,
250 .priv_data_size = sizeof(WCMVContext),250 .priv_data_size = sizeof(WCMVContext),
251 .init = decode_init,251 .init = decode_init,
252 .close = decode_close,252 .close = decode_close,
253 .decode = decode_frame,253 .decode = decode_frame,
254 .capabilities = AV_CODEC_CAP_DR1,254 .p.capabilities = AV_CODEC_CAP_DR1,
255 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |255 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |
256 FF_CODEC_CAP_INIT_CLEANUP,256 FF_CODEC_CAP_INIT_CLEANUP,
257};257};
libavcodec/webp.c+6−6
@@ -1556,15 +1556,15 @@ static av_cold int webp_decode_close(AVCodecContext *avctx) · 1555 unmodified lines
1556 return 0;1556 return 0;
1557}1557}
1558 1558
1559const AVCodec ff_webp_decoder = {1559const FFCodec ff_webp_decoder = {
1560 .name = "webp",1560 .p.name = "webp",
1561 .long_name = NULL_IF_CONFIG_SMALL("WebP image"),1561 .p.long_name = NULL_IF_CONFIG_SMALL("WebP image"),
1562 .type = AVMEDIA_TYPE_VIDEO,1562 .p.type = AVMEDIA_TYPE_VIDEO,
1563 .id = AV_CODEC_ID_WEBP,1563 .p.id = AV_CODEC_ID_WEBP,
1564 .priv_data_size = sizeof(WebPContext),1564 .priv_data_size = sizeof(WebPContext),
1565 .init = webp_decode_init,1565 .init = webp_decode_init,
1566 .decode = webp_decode_frame,1566 .decode = webp_decode_frame,
1567 .close = webp_decode_close,1567 .close = webp_decode_close,
1568 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,1568 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
1569 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,1569 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
1570};1570};
libavcodec/webvttdec.c+5−5
@@ -99,11 +99,11 @@ static int webvtt_decode_frame(AVCodecContext *avctx, · 98 unmodified lines
99 return avpkt->size;99 return avpkt->size;
100}100}
101 101
102const AVCodec ff_webvtt_decoder = {102const FFCodec ff_webvtt_decoder = {
103 .name = "webvtt",103 .p.name = "webvtt",
104 .long_name = NULL_IF_CONFIG_SMALL("WebVTT subtitle"),104 .p.long_name = NULL_IF_CONFIG_SMALL("WebVTT subtitle"),
105 .type = AVMEDIA_TYPE_SUBTITLE,105 .p.type = AVMEDIA_TYPE_SUBTITLE,
106 .id = AV_CODEC_ID_WEBVTT,106 .p.id = AV_CODEC_ID_WEBVTT,
107 .decode = webvtt_decode_frame,107 .decode = webvtt_decode_frame,
108 .init = ff_ass_subtitle_header_default,108 .init = ff_ass_subtitle_header_default,
109 .flush = ff_ass_decoder_flush,109 .flush = ff_ass_decoder_flush,
libavcodec/webvttenc.c+5−5
@@ -211,11 +211,11 @@ static av_cold int webvtt_encode_init(AVCodecContext *avctx) · 210 unmodified lines
211 return s->ass_ctx ? 0 : AVERROR_INVALIDDATA;211 return s->ass_ctx ? 0 : AVERROR_INVALIDDATA;
212}212}
213 213
214const AVCodec ff_webvtt_encoder = {214const FFCodec ff_webvtt_encoder = {
215 .name = "webvtt",215 .p.name = "webvtt",
216 .long_name = NULL_IF_CONFIG_SMALL("WebVTT subtitle"),216 .p.long_name = NULL_IF_CONFIG_SMALL("WebVTT subtitle"),
217 .type = AVMEDIA_TYPE_SUBTITLE,217 .p.type = AVMEDIA_TYPE_SUBTITLE,
218 .id = AV_CODEC_ID_WEBVTT,218 .p.id = AV_CODEC_ID_WEBVTT,
219 .priv_data_size = sizeof(WebVTTContext),219 .priv_data_size = sizeof(WebVTTContext),
220 .init = webvtt_encode_init,220 .init = webvtt_encode_init,
221 .encode_sub = webvtt_encode_frame,221 .encode_sub = webvtt_encode_frame,
libavcodec/wmadec.c+14−14
@@ -1000,35 +1000,35 @@ static av_cold void flush(AVCodecContext *avctx) · 999 unmodified lines
1000}1000}
1001 1001
1002#if CONFIG_WMAV1_DECODER1002#if CONFIG_WMAV1_DECODER
1003const AVCodec ff_wmav1_decoder = {1003const FFCodec ff_wmav1_decoder = {
1004 .name = "wmav1",1004 .p.name = "wmav1",
1005 .long_name = NULL_IF_CONFIG_SMALL("Windows Media Audio 1"),1005 .p.long_name = NULL_IF_CONFIG_SMALL("Windows Media Audio 1"),
1006 .type = AVMEDIA_TYPE_AUDIO,1006 .p.type = AVMEDIA_TYPE_AUDIO,
1007 .id = AV_CODEC_ID_WMAV1,1007 .p.id = AV_CODEC_ID_WMAV1,
1008 .priv_data_size = sizeof(WMACodecContext),1008 .priv_data_size = sizeof(WMACodecContext),
1009 .init = wma_decode_init,1009 .init = wma_decode_init,
1010 .close = ff_wma_end,1010 .close = ff_wma_end,
1011 .decode = wma_decode_superframe,1011 .decode = wma_decode_superframe,
1012 .flush = flush,1012 .flush = flush,
1013 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,1013 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,
1014 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,1014 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
1015 AV_SAMPLE_FMT_NONE },1015 AV_SAMPLE_FMT_NONE },
1016 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,1016 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
1017};1017};
1018#endif1018#endif
1019#if CONFIG_WMAV2_DECODER1019#if CONFIG_WMAV2_DECODER
1020const AVCodec ff_wmav2_decoder = {1020const FFCodec ff_wmav2_decoder = {
1021 .name = "wmav2",1021 .p.name = "wmav2",
1022 .long_name = NULL_IF_CONFIG_SMALL("Windows Media Audio 2"),1022 .p.long_name = NULL_IF_CONFIG_SMALL("Windows Media Audio 2"),
1023 .type = AVMEDIA_TYPE_AUDIO,1023 .p.type = AVMEDIA_TYPE_AUDIO,
1024 .id = AV_CODEC_ID_WMAV2,1024 .p.id = AV_CODEC_ID_WMAV2,
1025 .priv_data_size = sizeof(WMACodecContext),1025 .priv_data_size = sizeof(WMACodecContext),
1026 .init = wma_decode_init,1026 .init = wma_decode_init,
1027 .close = ff_wma_end,1027 .close = ff_wma_end,
1028 .decode = wma_decode_superframe,1028 .decode = wma_decode_superframe,
1029 .flush = flush,1029 .flush = flush,
1030 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,1030 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,
1031 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,1031 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
1032 AV_SAMPLE_FMT_NONE },1032 AV_SAMPLE_FMT_NONE },
1033 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,1033 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
1034};1034};
libavcodec/wmaenc.c+12−12
@@ -433,31 +433,31 @@ static int encode_superframe(AVCodecContext *avctx, AVPacket *avpkt, · 432 unmodified lines
433}433}
434 434
435#if CONFIG_WMAV1_ENCODER435#if CONFIG_WMAV1_ENCODER
436const AVCodec ff_wmav1_encoder = {436const FFCodec ff_wmav1_encoder = {
437 .name = "wmav1",437 .p.name = "wmav1",
438 .long_name = NULL_IF_CONFIG_SMALL("Windows Media Audio 1"),438 .p.long_name = NULL_IF_CONFIG_SMALL("Windows Media Audio 1"),
439 .type = AVMEDIA_TYPE_AUDIO,439 .p.type = AVMEDIA_TYPE_AUDIO,
440 .id = AV_CODEC_ID_WMAV1,440 .p.id = AV_CODEC_ID_WMAV1,
441 .priv_data_size = sizeof(WMACodecContext),441 .priv_data_size = sizeof(WMACodecContext),
442 .init = encode_init,442 .init = encode_init,
443 .encode2 = encode_superframe,443 .encode2 = encode_superframe,
444 .close = ff_wma_end,444 .close = ff_wma_end,
445 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,445 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
446 AV_SAMPLE_FMT_NONE },446 AV_SAMPLE_FMT_NONE },
447 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,447 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
448};448};
449#endif449#endif
450#if CONFIG_WMAV2_ENCODER450#if CONFIG_WMAV2_ENCODER
451const AVCodec ff_wmav2_encoder = {451const FFCodec ff_wmav2_encoder = {
452 .name = "wmav2",452 .p.name = "wmav2",
453 .long_name = NULL_IF_CONFIG_SMALL("Windows Media Audio 2"),453 .p.long_name = NULL_IF_CONFIG_SMALL("Windows Media Audio 2"),
454 .type = AVMEDIA_TYPE_AUDIO,454 .p.type = AVMEDIA_TYPE_AUDIO,
455 .id = AV_CODEC_ID_WMAV2,455 .p.id = AV_CODEC_ID_WMAV2,
456 .priv_data_size = sizeof(WMACodecContext),456 .priv_data_size = sizeof(WMACodecContext),
457 .init = encode_init,457 .init = encode_init,
458 .encode2 = encode_superframe,458 .encode2 = encode_superframe,
459 .close = ff_wma_end,459 .close = ff_wma_end,
460 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,460 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
461 AV_SAMPLE_FMT_NONE },461 AV_SAMPLE_FMT_NONE },
462 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,462 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
463};463};
libavcodec/wmalosslessdec.c+7−7
@@ -1325,19 +1325,19 @@ static av_cold int decode_close(AVCodecContext *avctx) · 1324 unmodified lines
1325 return 0;1325 return 0;
1326}1326}
1327 1327
1328const AVCodec ff_wmalossless_decoder = {1328const FFCodec ff_wmalossless_decoder = {
1329 .name = "wmalossless",1329 .p.name = "wmalossless",
1330 .long_name = NULL_IF_CONFIG_SMALL("Windows Media Audio Lossless"),1330 .p.long_name = NULL_IF_CONFIG_SMALL("Windows Media Audio Lossless"),
1331 .type = AVMEDIA_TYPE_AUDIO,1331 .p.type = AVMEDIA_TYPE_AUDIO,
1332 .id = AV_CODEC_ID_WMALOSSLESS,1332 .p.id = AV_CODEC_ID_WMALOSSLESS,
1333 .priv_data_size = sizeof(WmallDecodeCtx),1333 .priv_data_size = sizeof(WmallDecodeCtx),
1334 .init = decode_init,1334 .init = decode_init,
1335 .close = decode_close,1335 .close = decode_close,
1336 .decode = decode_packet,1336 .decode = decode_packet,
1337 .flush = flush,1337 .flush = flush,
1338 .capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,1338 .p.capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,
1339 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,1339 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
1340 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16P,1340 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16P,
1341 AV_SAMPLE_FMT_S32P,1341 AV_SAMPLE_FMT_S32P,
1342 AV_SAMPLE_FMT_NONE },1342 AV_SAMPLE_FMT_NONE },
1343};1343};
libavcodec/wmaprodec.c+21−21
@@ -2087,49 +2087,49 @@ static void xma_flush(AVCodecContext *avctx) · 2086 unmodified lines
2087/**2087/**
2088 *@brief wmapro decoder2088 *@brief wmapro decoder
2089 */2089 */
2090const AVCodec ff_wmapro_decoder = {2090const FFCodec ff_wmapro_decoder = {
2091 .name = "wmapro",2091 .p.name = "wmapro",
2092 .long_name = NULL_IF_CONFIG_SMALL("Windows Media Audio 9 Professional"),2092 .p.long_name = NULL_IF_CONFIG_SMALL("Windows Media Audio 9 Professional"),
2093 .type = AVMEDIA_TYPE_AUDIO,2093 .p.type = AVMEDIA_TYPE_AUDIO,
2094 .id = AV_CODEC_ID_WMAPRO,2094 .p.id = AV_CODEC_ID_WMAPRO,
2095 .priv_data_size = sizeof(WMAProDecodeCtx),2095 .priv_data_size = sizeof(WMAProDecodeCtx),
2096 .init = wmapro_decode_init,2096 .init = wmapro_decode_init,
2097 .close = wmapro_decode_end,2097 .close = wmapro_decode_end,
2098 .decode = wmapro_decode_packet,2098 .decode = wmapro_decode_packet,
2099 .capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1,2099 .p.capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1,
2100 .flush = wmapro_flush,2100 .flush = wmapro_flush,
2101 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,2101 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
2102 AV_SAMPLE_FMT_NONE },2102 AV_SAMPLE_FMT_NONE },
2103 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,2103 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
2104};2104};
2105 2105
2106const AVCodec ff_xma1_decoder = {2106const FFCodec ff_xma1_decoder = {
2107 .name = "xma1",2107 .p.name = "xma1",
2108 .long_name = NULL_IF_CONFIG_SMALL("Xbox Media Audio 1"),2108 .p.long_name = NULL_IF_CONFIG_SMALL("Xbox Media Audio 1"),
2109 .type = AVMEDIA_TYPE_AUDIO,2109 .p.type = AVMEDIA_TYPE_AUDIO,
2110 .id = AV_CODEC_ID_XMA1,2110 .p.id = AV_CODEC_ID_XMA1,
2111 .priv_data_size = sizeof(XMADecodeCtx),2111 .priv_data_size = sizeof(XMADecodeCtx),
2112 .init = xma_decode_init,2112 .init = xma_decode_init,
2113 .close = xma_decode_end,2113 .close = xma_decode_end,
2114 .decode = xma_decode_packet,2114 .decode = xma_decode_packet,
2115 .capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,2115 .p.capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,
2116 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,2116 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
2117 AV_SAMPLE_FMT_NONE },2117 AV_SAMPLE_FMT_NONE },
2118 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,2118 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
2119};2119};
2120 2120
2121const AVCodec ff_xma2_decoder = {2121const FFCodec ff_xma2_decoder = {
2122 .name = "xma2",2122 .p.name = "xma2",
2123 .long_name = NULL_IF_CONFIG_SMALL("Xbox Media Audio 2"),2123 .p.long_name = NULL_IF_CONFIG_SMALL("Xbox Media Audio 2"),
2124 .type = AVMEDIA_TYPE_AUDIO,2124 .p.type = AVMEDIA_TYPE_AUDIO,
2125 .id = AV_CODEC_ID_XMA2,2125 .p.id = AV_CODEC_ID_XMA2,
2126 .priv_data_size = sizeof(XMADecodeCtx),2126 .priv_data_size = sizeof(XMADecodeCtx),
2127 .init = xma_decode_init,2127 .init = xma_decode_init,
2128 .close = xma_decode_end,2128 .close = xma_decode_end,
2129 .decode = xma_decode_packet,2129 .decode = xma_decode_packet,
2130 .flush = xma_flush,2130 .flush = xma_flush,
2131 .capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,2131 .p.capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,
2132 .sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,2132 .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
2133 AV_SAMPLE_FMT_NONE },2133 AV_SAMPLE_FMT_NONE },
2134 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,2134 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
2135};2135};
libavcodec/wmavoice.c+6−6
@@ -1998,16 +1998,16 @@ static av_cold int wmavoice_decode_end(AVCodecContext *ctx) · 1997 unmodified lines
1998 return 0;1998 return 0;
1999}1999}
2000 2000
2001const AVCodec ff_wmavoice_decoder = {2001const FFCodec ff_wmavoice_decoder = {
2002 .name = "wmavoice",2002 .p.name = "wmavoice",
2003 .long_name = NULL_IF_CONFIG_SMALL("Windows Media Audio Voice"),2003 .p.long_name = NULL_IF_CONFIG_SMALL("Windows Media Audio Voice"),
2004 .type = AVMEDIA_TYPE_AUDIO,2004 .p.type = AVMEDIA_TYPE_AUDIO,
2005 .id = AV_CODEC_ID_WMAVOICE,2005 .p.id = AV_CODEC_ID_WMAVOICE,
2006 .priv_data_size = sizeof(WMAVoiceContext),2006 .priv_data_size = sizeof(WMAVoiceContext),
2007 .init = wmavoice_decode_init,2007 .init = wmavoice_decode_init,
2008 .close = wmavoice_decode_end,2008 .close = wmavoice_decode_end,
2009 .decode = wmavoice_decode_packet,2009 .decode = wmavoice_decode_packet,
2010 .capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,2010 .p.capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,
2011 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,2011 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
2012 .flush = wmavoice_flush,2012 .flush = wmavoice_flush,
2013};2013};
libavcodec/wmv2dec.c+7−7
@@ -591,17 +591,17 @@ static av_cold int wmv2_decode_end(AVCodecContext *avctx) · 590 unmodified lines
591 return ff_h263_decode_end(avctx);591 return ff_h263_decode_end(avctx);
592}592}
593 593
594const AVCodec ff_wmv2_decoder = {594const FFCodec ff_wmv2_decoder = {
595 .name = "wmv2",595 .p.name = "wmv2",
596 .long_name = NULL_IF_CONFIG_SMALL("Windows Media Video 8"),596 .p.long_name = NULL_IF_CONFIG_SMALL("Windows Media Video 8"),
597 .type = AVMEDIA_TYPE_VIDEO,597 .p.type = AVMEDIA_TYPE_VIDEO,
598 .id = AV_CODEC_ID_WMV2,598 .p.id = AV_CODEC_ID_WMV2,
599 .priv_data_size = sizeof(WMV2DecContext),599 .priv_data_size = sizeof(WMV2DecContext),
600 .init = wmv2_decode_init,600 .init = wmv2_decode_init,
601 .close = wmv2_decode_end,601 .close = wmv2_decode_end,
602 .decode = ff_h263_decode_frame,602 .decode = ff_h263_decode_frame,
603 .capabilities = AV_CODEC_CAP_DRAW_HORIZ_BAND | AV_CODEC_CAP_DR1,603 .p.capabilities = AV_CODEC_CAP_DRAW_HORIZ_BAND | AV_CODEC_CAP_DR1,
604 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,604 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
605 .pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P,605 .p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P,
606 AV_PIX_FMT_NONE },606 AV_PIX_FMT_NONE },
607};607};
libavcodec/wmv2enc.c+7−7
@@ -233,17 +233,17 @@ void ff_wmv2_encode_mb(MpegEncContext *s, int16_t block[6][64], · 232 unmodified lines
233 s->p_tex_bits += get_bits_diff(s);233 s->p_tex_bits += get_bits_diff(s);
234}234}
235 235
236const AVCodec ff_wmv2_encoder = {236const FFCodec ff_wmv2_encoder = {
237 .name = "wmv2",237 .p.name = "wmv2",
238 .long_name = NULL_IF_CONFIG_SMALL("Windows Media Video 8"),238 .p.long_name = NULL_IF_CONFIG_SMALL("Windows Media Video 8"),
239 .type = AVMEDIA_TYPE_VIDEO,239 .p.type = AVMEDIA_TYPE_VIDEO,
240 .id = AV_CODEC_ID_WMV2,240 .p.id = AV_CODEC_ID_WMV2,
241 .priv_class = &ff_mpv_enc_class,241 .p.priv_class = &ff_mpv_enc_class,
242 .priv_data_size = sizeof(WMV2EncContext),242 .priv_data_size = sizeof(WMV2EncContext),
243 .init = wmv2_encode_init,243 .init = wmv2_encode_init,
244 .encode2 = ff_mpv_encode_picture,244 .encode2 = ff_mpv_encode_picture,
245 .close = ff_mpv_encode_end,245 .close = ff_mpv_encode_end,
246 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,246 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
247 .pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P,247 .p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P,
248 AV_PIX_FMT_NONE },248 AV_PIX_FMT_NONE },
249};249};
libavcodec/wnv1.c+6−6
@@ -134,13 +134,13 @@ static av_cold int decode_init(AVCodecContext *avctx) · 133 unmodified lines
134 return 0;134 return 0;
135}135}
136 136
137const AVCodec ff_wnv1_decoder = {137const FFCodec ff_wnv1_decoder = {
138 .name = "wnv1",138 .p.name = "wnv1",
139 .long_name = NULL_IF_CONFIG_SMALL("Winnov WNV1"),139 .p.long_name = NULL_IF_CONFIG_SMALL("Winnov WNV1"),
140 .type = AVMEDIA_TYPE_VIDEO,140 .p.type = AVMEDIA_TYPE_VIDEO,
141 .id = AV_CODEC_ID_WNV1,141 .p.id = AV_CODEC_ID_WNV1,
142 .init = decode_init,142 .init = decode_init,
143 .decode = decode_frame,143 .decode = decode_frame,
144 .capabilities = AV_CODEC_CAP_DR1,144 .p.capabilities = AV_CODEC_CAP_DR1,
145 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,145 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
146};146};
libavcodec/wrapped_avframe.c+10−10
@@ -109,20 +109,20 @@ static int wrapped_avframe_decode(AVCodecContext *avctx, void *data, · 108 unmodified lines
109 return 0;109 return 0;
110}110}
111 111
112const AVCodec ff_wrapped_avframe_encoder = {112const FFCodec ff_wrapped_avframe_encoder = {
113 .name = "wrapped_avframe",113 .p.name = "wrapped_avframe",
114 .long_name = NULL_IF_CONFIG_SMALL("AVFrame to AVPacket passthrough"),114 .p.long_name = NULL_IF_CONFIG_SMALL("AVFrame to AVPacket passthrough"),
115 .type = AVMEDIA_TYPE_VIDEO,115 .p.type = AVMEDIA_TYPE_VIDEO,
116 .id = AV_CODEC_ID_WRAPPED_AVFRAME,116 .p.id = AV_CODEC_ID_WRAPPED_AVFRAME,
117 .encode2 = wrapped_avframe_encode,117 .encode2 = wrapped_avframe_encode,
118 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,118 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
119};119};
120 120
121const AVCodec ff_wrapped_avframe_decoder = {121const FFCodec ff_wrapped_avframe_decoder = {
122 .name = "wrapped_avframe",122 .p.name = "wrapped_avframe",
123 .long_name = NULL_IF_CONFIG_SMALL("AVPacket to AVFrame passthrough"),123 .p.long_name = NULL_IF_CONFIG_SMALL("AVPacket to AVFrame passthrough"),
124 .type = AVMEDIA_TYPE_VIDEO,124 .p.type = AVMEDIA_TYPE_VIDEO,
125 .id = AV_CODEC_ID_WRAPPED_AVFRAME,125 .p.id = AV_CODEC_ID_WRAPPED_AVFRAME,
126 .decode = wrapped_avframe_decode,126 .decode = wrapped_avframe_decode,
127 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,127 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
128};128};
libavcodec/ws-snd1.c+6−6
@@ -171,13 +171,13 @@ static int ws_snd_decode_frame(AVCodecContext *avctx, void *data, · 170 unmodified lines
171 return buf_size;171 return buf_size;
172}172}
173 173
174const AVCodec ff_ws_snd1_decoder = {174const FFCodec ff_ws_snd1_decoder = {
175 .name = "ws_snd1",175 .p.name = "ws_snd1",
176 .long_name = NULL_IF_CONFIG_SMALL("Westwood Audio (SND1)"),176 .p.long_name = NULL_IF_CONFIG_SMALL("Westwood Audio (SND1)"),
177 .type = AVMEDIA_TYPE_AUDIO,177 .p.type = AVMEDIA_TYPE_AUDIO,
178 .id = AV_CODEC_ID_WESTWOOD_SND1,178 .p.id = AV_CODEC_ID_WESTWOOD_SND1,
179 .init = ws_snd_decode_init,179 .init = ws_snd_decode_init,
180 .decode = ws_snd_decode_frame,180 .decode = ws_snd_decode_frame,
181 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,181 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
182 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,182 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
183};183};
libavcodec/xan.c+6−6
@@ -636,15 +636,15 @@ static int xan_decode_frame(AVCodecContext *avctx, · 635 unmodified lines
636 return buf_size;636 return buf_size;
637}637}
638 638
639const AVCodec ff_xan_wc3_decoder = {639const FFCodec ff_xan_wc3_decoder = {
640 .name = "xan_wc3",640 .p.name = "xan_wc3",
641 .long_name = NULL_IF_CONFIG_SMALL("Wing Commander III / Xan"),641 .p.long_name = NULL_IF_CONFIG_SMALL("Wing Commander III / Xan"),
642 .type = AVMEDIA_TYPE_VIDEO,642 .p.type = AVMEDIA_TYPE_VIDEO,
643 .id = AV_CODEC_ID_XAN_WC3,643 .p.id = AV_CODEC_ID_XAN_WC3,
644 .priv_data_size = sizeof(XanContext),644 .priv_data_size = sizeof(XanContext),
645 .init = xan_decode_init,645 .init = xan_decode_init,
646 .close = xan_decode_end,646 .close = xan_decode_end,
647 .decode = xan_decode_frame,647 .decode = xan_decode_frame,
648 .capabilities = AV_CODEC_CAP_DR1,648 .p.capabilities = AV_CODEC_CAP_DR1,
649 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_INIT_THREADSAFE,649 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_INIT_THREADSAFE,
650};650};
libavcodec/xbmdec.c+7−6
@@ -23,6 +23,7 @@ · 22 unmodified lines
23#include "libavutil/avstring.h"23#include "libavutil/avstring.h"
24 24
25#include "avcodec.h"25#include "avcodec.h"
26#include "codec_internal.h"
26#include "internal.h"27#include "internal.h"
27#include "mathops.h"28#include "mathops.h"
28 29
@@ -136,11 +137,11 @@ static int xbm_decode_frame(AVCodecContext *avctx, void *data, · 107 unmodified lines
136 return avpkt->size;137 return avpkt->size;
137}138}
138 139
139const AVCodec ff_xbm_decoder = {140const FFCodec ff_xbm_decoder = {
140 .name = "xbm",141 .p.name = "xbm",
141 .long_name = NULL_IF_CONFIG_SMALL("XBM (X BitMap) image"),142 .p.long_name = NULL_IF_CONFIG_SMALL("XBM (X BitMap) image"),
142 .type = AVMEDIA_TYPE_VIDEO,143 .p.type = AVMEDIA_TYPE_VIDEO,
143 .id = AV_CODEC_ID_XBM,144 .p.id = AV_CODEC_ID_XBM,
145 .p.capabilities = AV_CODEC_CAP_DR1,
144 .decode = xbm_decode_frame,146 .decode = xbm_decode_frame,
145 .capabilities = AV_CODEC_CAP_DR1,
146};147};
libavcodec/xbmenc.c+7−6
@@ -21,6 +21,7 @@ · 20 unmodified lines
21 */21 */
22 22
23#include "avcodec.h"23#include "avcodec.h"
24#include "codec_internal.h"
24#include "encode.h"25#include "encode.h"
25#include "mathops.h"26#include "mathops.h"
26 27
@@ -74,12 +75,12 @@ static int xbm_encode_frame(AVCodecContext *avctx, AVPacket *pkt, · 47 unmodified lines
74 return 0;75 return 0;
75}76}
76 77
77const AVCodec ff_xbm_encoder = {78const FFCodec ff_xbm_encoder = {
78 .name = "xbm",79 .p.name = "xbm",
79 .long_name = NULL_IF_CONFIG_SMALL("XBM (X BitMap) image"),80 .p.long_name = NULL_IF_CONFIG_SMALL("XBM (X BitMap) image"),
80 .type = AVMEDIA_TYPE_VIDEO,81 .p.type = AVMEDIA_TYPE_VIDEO,
81 .id = AV_CODEC_ID_XBM,82 .p.id = AV_CODEC_ID_XBM,
82 .encode2 = xbm_encode_frame,83 .encode2 = xbm_encode_frame,
83 .pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_MONOWHITE,84 .p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_MONOWHITE,
84 AV_PIX_FMT_NONE },85 AV_PIX_FMT_NONE },
85};86};
libavcodec/xfacedec.c+6−6
@@ -177,14 +177,14 @@ static int xface_decode_frame(AVCodecContext *avctx, · 176 unmodified lines
177 return avpkt->size;177 return avpkt->size;
178}178}
179 179
180const AVCodec ff_xface_decoder = {180const FFCodec ff_xface_decoder = {
181 .name = "xface",181 .p.name = "xface",
182 .long_name = NULL_IF_CONFIG_SMALL("X-face image"),182 .p.long_name = NULL_IF_CONFIG_SMALL("X-face image"),
183 .type = AVMEDIA_TYPE_VIDEO,183 .p.type = AVMEDIA_TYPE_VIDEO,
184 .id = AV_CODEC_ID_XFACE,184 .p.id = AV_CODEC_ID_XFACE,
185 .priv_data_size = sizeof(XFaceContext),185 .priv_data_size = sizeof(XFaceContext),
186 .init = xface_decode_init,186 .init = xface_decode_init,
187 .decode = xface_decode_frame,187 .decode = xface_decode_frame,
188 .pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_MONOWHITE, AV_PIX_FMT_NONE },188 .p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_MONOWHITE, AV_PIX_FMT_NONE },
189 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,189 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
190};190};
libavcodec/xfaceenc.c+8−7
@@ -26,6 +26,7 @@ · 25 unmodified lines
26 26
27#include "xface.h"27#include "xface.h"
28#include "avcodec.h"28#include "avcodec.h"
29#include "codec_internal.h"
29#include "encode.h"30#include "encode.h"
30#include "libavutil/avassert.h"31#include "libavutil/avassert.h"
31 32
@@ -210,13 +211,13 @@ static int xface_encode_frame(AVCodecContext *avctx, AVPacket *pkt, · 178 unmodified lines
210 return 0;211 return 0;
211}212}
212 213
213const AVCodec ff_xface_encoder = {214const FFCodec ff_xface_encoder = {
214 .name = "xface",215 .p.name = "xface",
215 .long_name = NULL_IF_CONFIG_SMALL("X-face image"),216 .p.long_name = NULL_IF_CONFIG_SMALL("X-face image"),
216 .type = AVMEDIA_TYPE_VIDEO,217 .p.type = AVMEDIA_TYPE_VIDEO,
217 .id = AV_CODEC_ID_XFACE,218 .p.id = AV_CODEC_ID_XFACE,
218 .capabilities = AV_CODEC_CAP_DR1,219 .p.capabilities = AV_CODEC_CAP_DR1,
220 .p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_MONOWHITE, AV_PIX_FMT_NONE },
219 .priv_data_size = sizeof(XFaceContext),221 .priv_data_size = sizeof(XFaceContext),
220 .encode2 = xface_encode_frame,222 .encode2 = xface_encode_frame,
221 .pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_MONOWHITE, AV_PIX_FMT_NONE },
222};223};
libavcodec/xl.c+6−6
@@ -128,13 +128,13 @@ static av_cold int decode_init(AVCodecContext *avctx) · 127 unmodified lines
128 return 0;128 return 0;
129}129}
130 130
131const AVCodec ff_xl_decoder = {131const FFCodec ff_xl_decoder = {
132 .name = "xl",132 .p.name = "xl",
133 .long_name = NULL_IF_CONFIG_SMALL("Miro VideoXL"),133 .p.long_name = NULL_IF_CONFIG_SMALL("Miro VideoXL"),
134 .type = AVMEDIA_TYPE_VIDEO,134 .p.type = AVMEDIA_TYPE_VIDEO,
135 .id = AV_CODEC_ID_VIXL,135 .p.id = AV_CODEC_ID_VIXL,
136 .init = decode_init,136 .init = decode_init,
137 .decode = decode_frame,137 .decode = decode_frame,
138 .capabilities = AV_CODEC_CAP_DR1,138 .p.capabilities = AV_CODEC_CAP_DR1,
139 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,139 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
140};140};
libavcodec/xpmdec.c+7−6
@@ -24,6 +24,7 @@ · 23 unmodified lines
24#include "libavutil/parseutils.h"24#include "libavutil/parseutils.h"
25#include "libavutil/avstring.h"25#include "libavutil/avstring.h"
26#include "avcodec.h"26#include "avcodec.h"
27#include "codec_internal.h"
27#include "internal.h"28#include "internal.h"
28 29
29#define MIN_ELEMENT ' '30#define MIN_ELEMENT ' '
@@ -436,13 +437,13 @@ static av_cold int xpm_decode_close(AVCodecContext *avctx) · 406 unmodified lines
436 return 0;437 return 0;
437}438}
438 439
439const AVCodec ff_xpm_decoder = {440const FFCodec ff_xpm_decoder = {
440 .name = "xpm",441 .p.name = "xpm",
441 .type = AVMEDIA_TYPE_VIDEO,442 .p.long_name = NULL_IF_CONFIG_SMALL("XPM (X PixMap) image"),
442 .id = AV_CODEC_ID_XPM,443 .p.type = AVMEDIA_TYPE_VIDEO,
444 .p.id = AV_CODEC_ID_XPM,
445 .p.capabilities = AV_CODEC_CAP_DR1,
443 .priv_data_size = sizeof(XPMDecContext),446 .priv_data_size = sizeof(XPMDecContext),
444 .close = xpm_decode_close,447 .close = xpm_decode_close,
445 .decode = xpm_decode_frame,448 .decode = xpm_decode_frame,
446 .capabilities = AV_CODEC_CAP_DR1,
447 .long_name = NULL_IF_CONFIG_SMALL("XPM (X PixMap) image")
448};449};
libavcodec/xsubdec.c+5−5
@@ -154,11 +154,11 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *got_sub_ptr, · 153 unmodified lines
154 return buf_size;154 return buf_size;
155}155}
156 156
157const AVCodec ff_xsub_decoder = {157const FFCodec ff_xsub_decoder = {
158 .name = "xsub",158 .p.name = "xsub",
159 .long_name = NULL_IF_CONFIG_SMALL("XSUB"),159 .p.long_name = NULL_IF_CONFIG_SMALL("XSUB"),
160 .type = AVMEDIA_TYPE_SUBTITLE,160 .p.type = AVMEDIA_TYPE_SUBTITLE,
161 .id = AV_CODEC_ID_XSUB,161 .p.id = AV_CODEC_ID_XSUB,
162 .init = decode_init,162 .init = decode_init,
163 .decode = decode_frame,163 .decode = decode_frame,
164 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,164 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
libavcodec/xsubenc.c+5−5
@@ -211,11 +211,11 @@ static av_cold int xsub_encoder_init(AVCodecContext *avctx) · 210 unmodified lines
211 return 0;211 return 0;
212}212}
213 213
214const AVCodec ff_xsub_encoder = {214const FFCodec ff_xsub_encoder = {
215 .name = "xsub",215 .p.name = "xsub",
216 .long_name = NULL_IF_CONFIG_SMALL("DivX subtitles (XSUB)"),216 .p.long_name = NULL_IF_CONFIG_SMALL("DivX subtitles (XSUB)"),
217 .type = AVMEDIA_TYPE_SUBTITLE,217 .p.type = AVMEDIA_TYPE_SUBTITLE,
218 .id = AV_CODEC_ID_XSUB,218 .p.id = AV_CODEC_ID_XSUB,
219 .init = xsub_encoder_init,219 .init = xsub_encoder_init,
220 .encode_sub = xsub_encode,220 .encode_sub = xsub_encode,
221 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,221 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
libavcodec/xwddec.c+7−6
@@ -25,6 +25,7 @@ · 24 unmodified lines
25#include "libavutil/imgutils.h"25#include "libavutil/imgutils.h"
26#include "avcodec.h"26#include "avcodec.h"
27#include "bytestream.h"27#include "bytestream.h"
28#include "codec_internal.h"
28#include "internal.h"29#include "internal.h"
29#include "xwd.h"30#include "xwd.h"
30 31
@@ -247,11 +248,11 @@ static int xwd_decode_frame(AVCodecContext *avctx, void *data, · 216 unmodified lines
247 return buf_size;248 return buf_size;
248}249}
249 250
250const AVCodec ff_xwd_decoder = {251const FFCodec ff_xwd_decoder = {
251 .name = "xwd",252 .p.name = "xwd",
252 .long_name = NULL_IF_CONFIG_SMALL("XWD (X Window Dump) image"),253 .p.long_name = NULL_IF_CONFIG_SMALL("XWD (X Window Dump) image"),
253 .type = AVMEDIA_TYPE_VIDEO,254 .p.type = AVMEDIA_TYPE_VIDEO,
254 .id = AV_CODEC_ID_XWD,255 .p.id = AV_CODEC_ID_XWD,
256 .p.capabilities = AV_CODEC_CAP_DR1,
255 .decode = xwd_decode_frame,257 .decode = xwd_decode_frame,
256 .capabilities = AV_CODEC_CAP_DR1,
257};258};
libavcodec/xwdenc.c+8−7
@@ -23,6 +23,7 @@ · 22 unmodified lines
23#include "libavutil/pixdesc.h"23#include "libavutil/pixdesc.h"
24#include "avcodec.h"24#include "avcodec.h"
25#include "bytestream.h"25#include "bytestream.h"
26#include "codec_internal.h"
26#include "encode.h"27#include "encode.h"
27#include "xwd.h"28#include "xwd.h"
28 29
@@ -213,14 +214,14 @@ static int xwd_encode_frame(AVCodecContext *avctx, AVPacket *pkt, · 184 unmodified lines
213 return 0;214 return 0;
214}215}
215 216
216const AVCodec ff_xwd_encoder = {217const FFCodec ff_xwd_encoder = {
217 .name = "xwd",218 .p.name = "xwd",
218 .long_name = NULL_IF_CONFIG_SMALL("XWD (X Window Dump) image"),219 .p.long_name = NULL_IF_CONFIG_SMALL("XWD (X Window Dump) image"),
219 .type = AVMEDIA_TYPE_VIDEO,220 .p.type = AVMEDIA_TYPE_VIDEO,
220 .id = AV_CODEC_ID_XWD,221 .p.id = AV_CODEC_ID_XWD,
221 .capabilities = AV_CODEC_CAP_DR1,222 .p.capabilities = AV_CODEC_CAP_DR1,
222 .encode2 = xwd_encode_frame,223 .encode2 = xwd_encode_frame,
223 .pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_BGRA,224 .p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_BGRA,
224 AV_PIX_FMT_RGBA,225 AV_PIX_FMT_RGBA,
225 AV_PIX_FMT_ARGB,226 AV_PIX_FMT_ARGB,
226 AV_PIX_FMT_ABGR,227 AV_PIX_FMT_ABGR,
libavcodec/xxan.c+6−6
@@ -434,15 +434,15 @@ static int xan_decode_frame(AVCodecContext *avctx, · 433 unmodified lines
434 return avpkt->size;434 return avpkt->size;
435}435}
436 436
437const AVCodec ff_xan_wc4_decoder = {437const FFCodec ff_xan_wc4_decoder = {
438 .name = "xan_wc4",438 .p.name = "xan_wc4",
439 .long_name = NULL_IF_CONFIG_SMALL("Wing Commander IV / Xxan"),439 .p.long_name = NULL_IF_CONFIG_SMALL("Wing Commander IV / Xxan"),
440 .type = AVMEDIA_TYPE_VIDEO,440 .p.type = AVMEDIA_TYPE_VIDEO,
441 .id = AV_CODEC_ID_XAN_WC4,441 .p.id = AV_CODEC_ID_XAN_WC4,
442 .priv_data_size = sizeof(XanContext),442 .priv_data_size = sizeof(XanContext),
443 .init = xan_decode_init,443 .init = xan_decode_init,
444 .close = xan_decode_end,444 .close = xan_decode_end,
445 .decode = xan_decode_frame,445 .decode = xan_decode_frame,
446 .capabilities = AV_CODEC_CAP_DR1,446 .p.capabilities = AV_CODEC_CAP_DR1,
447 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_INIT_THREADSAFE,447 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_INIT_THREADSAFE,
448};448};
libavcodec/y41pdec.c+6−6
@@ -82,13 +82,13 @@ static int y41p_decode_frame(AVCodecContext *avctx, void *data, · 81 unmodified lines
82 return avpkt->size;82 return avpkt->size;
83}83}
84 84
85const AVCodec ff_y41p_decoder = {85const FFCodec ff_y41p_decoder = {
86 .name = "y41p",86 .p.name = "y41p",
87 .long_name = NULL_IF_CONFIG_SMALL("Uncompressed YUV 4:1:1 12-bit"),87 .p.long_name = NULL_IF_CONFIG_SMALL("Uncompressed YUV 4:1:1 12-bit"),
88 .type = AVMEDIA_TYPE_VIDEO,88 .p.type = AVMEDIA_TYPE_VIDEO,
89 .id = AV_CODEC_ID_Y41P,89 .p.id = AV_CODEC_ID_Y41P,
90 .init = y41p_decode_init,90 .init = y41p_decode_init,
91 .decode = y41p_decode_frame,91 .decode = y41p_decode_frame,
92 .capabilities = AV_CODEC_CAP_DR1,92 .p.capabilities = AV_CODEC_CAP_DR1,
93 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,93 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
94};94};
libavcodec/y41penc.c+7−7
@@ -77,15 +77,15 @@ static int y41p_encode_frame(AVCodecContext *avctx, AVPacket *pkt, · 76 unmodified lines
77 return 0;77 return 0;
78}78}
79 79
80const AVCodec ff_y41p_encoder = {80const FFCodec ff_y41p_encoder = {
81 .name = "y41p",81 .p.name = "y41p",
82 .long_name = NULL_IF_CONFIG_SMALL("Uncompressed YUV 4:1:1 12-bit"),82 .p.long_name = NULL_IF_CONFIG_SMALL("Uncompressed YUV 4:1:1 12-bit"),
83 .type = AVMEDIA_TYPE_VIDEO,83 .p.type = AVMEDIA_TYPE_VIDEO,
84 .id = AV_CODEC_ID_Y41P,84 .p.id = AV_CODEC_ID_Y41P,
85 .capabilities = AV_CODEC_CAP_DR1,85 .p.capabilities = AV_CODEC_CAP_DR1,
86 .init = y41p_encode_init,86 .init = y41p_encode_init,
87 .encode2 = y41p_encode_frame,87 .encode2 = y41p_encode_frame,
88 .pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV411P,88 .p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV411P,
89 AV_PIX_FMT_NONE },89 AV_PIX_FMT_NONE },
90 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,90 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
91};91};
libavcodec/ylc.c+6−6
@@ -451,15 +451,15 @@ static av_cold int decode_end(AVCodecContext *avctx) · 450 unmodified lines
451 return 0;451 return 0;
452}452}
453 453
454const AVCodec ff_ylc_decoder = {454const FFCodec ff_ylc_decoder = {
455 .name = "ylc",455 .p.name = "ylc",
456 .long_name = NULL_IF_CONFIG_SMALL("YUY2 Lossless Codec"),456 .p.long_name = NULL_IF_CONFIG_SMALL("YUY2 Lossless Codec"),
457 .type = AVMEDIA_TYPE_VIDEO,457 .p.type = AVMEDIA_TYPE_VIDEO,
458 .id = AV_CODEC_ID_YLC,458 .p.id = AV_CODEC_ID_YLC,
459 .priv_data_size = sizeof(YLCContext),459 .priv_data_size = sizeof(YLCContext),
460 .init = decode_init,460 .init = decode_init,
461 .close = decode_end,461 .close = decode_end,
462 .decode = decode_frame,462 .decode = decode_frame,
463 .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,463 .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
464 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,464 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
465};465};
libavcodec/yop.c+5−5
@@ -266,11 +266,11 @@ static int yop_decode_frame(AVCodecContext *avctx, void *data, int *got_frame, · 265 unmodified lines
266 return avpkt->size;266 return avpkt->size;
267}267}
268 268
269const AVCodec ff_yop_decoder = {269const FFCodec ff_yop_decoder = {
270 .name = "yop",270 .p.name = "yop",
271 .long_name = NULL_IF_CONFIG_SMALL("Psygnosis YOP Video"),271 .p.long_name = NULL_IF_CONFIG_SMALL("Psygnosis YOP Video"),
272 .type = AVMEDIA_TYPE_VIDEO,272 .p.type = AVMEDIA_TYPE_VIDEO,
273 .id = AV_CODEC_ID_YOP,273 .p.id = AV_CODEC_ID_YOP,
274 .priv_data_size = sizeof(YopDecContext),274 .priv_data_size = sizeof(YopDecContext),
275 .init = yop_decode_init,275 .init = yop_decode_init,
276 .close = yop_decode_close,276 .close = yop_decode_close,
libavcodec/yuv4dec.c+6−6
@@ -74,13 +74,13 @@ static int yuv4_decode_frame(AVCodecContext *avctx, void *data, · 73 unmodified lines
74 return avpkt->size;74 return avpkt->size;
75}75}
76 76
77const AVCodec ff_yuv4_decoder = {77const FFCodec ff_yuv4_decoder = {
78 .name = "yuv4",78 .p.name = "yuv4",
79 .long_name = NULL_IF_CONFIG_SMALL("Uncompressed packed 4:2:0"),79 .p.long_name = NULL_IF_CONFIG_SMALL("Uncompressed packed 4:2:0"),
80 .type = AVMEDIA_TYPE_VIDEO,80 .p.type = AVMEDIA_TYPE_VIDEO,
81 .id = AV_CODEC_ID_YUV4,81 .p.id = AV_CODEC_ID_YUV4,
82 .init = yuv4_decode_init,82 .init = yuv4_decode_init,
83 .decode = yuv4_decode_frame,83 .decode = yuv4_decode_frame,
84 .capabilities = AV_CODEC_CAP_DR1,84 .p.capabilities = AV_CODEC_CAP_DR1,
85 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,85 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
86};86};
libavcodec/yuv4enc.c+8−7
@@ -21,6 +21,7 @@ · 20 unmodified lines
21 */21 */
22 22
23#include "avcodec.h"23#include "avcodec.h"
24#include "codec_internal.h"
24#include "encode.h"25#include "encode.h"
25 26
26static int yuv4_encode_frame(AVCodecContext *avctx, AVPacket *pkt,27static int yuv4_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
@@ -58,12 +59,12 @@ static int yuv4_encode_frame(AVCodecContext *avctx, AVPacket *pkt, · 31 unmodified lines
58 return 0;59 return 0;
59}60}
60 61
61const AVCodec ff_yuv4_encoder = {62const FFCodec ff_yuv4_encoder = {
62 .name = "yuv4",63 .p.name = "yuv4",
63 .long_name = NULL_IF_CONFIG_SMALL("Uncompressed packed 4:2:0"),64 .p.long_name = NULL_IF_CONFIG_SMALL("Uncompressed packed 4:2:0"),
64 .type = AVMEDIA_TYPE_VIDEO,65 .p.type = AVMEDIA_TYPE_VIDEO,
65 .id = AV_CODEC_ID_YUV4,66 .p.id = AV_CODEC_ID_YUV4,
66 .capabilities = AV_CODEC_CAP_DR1,67 .p.capabilities = AV_CODEC_CAP_DR1,
68 .p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE },
67 .encode2 = yuv4_encode_frame,69 .encode2 = yuv4_encode_frame,
68 .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE },
69};70};
libavcodec/zerocodec.c+6−6
@@ -134,17 +134,17 @@ static void zerocodec_decode_flush(AVCodecContext *avctx) · 133 unmodified lines
134 av_frame_unref(zc->previous_frame);134 av_frame_unref(zc->previous_frame);
135}135}
136 136
137const AVCodec ff_zerocodec_decoder = {137const FFCodec ff_zerocodec_decoder = {
138 .type = AVMEDIA_TYPE_VIDEO,138 .p.type = AVMEDIA_TYPE_VIDEO,
139 .name = "zerocodec",139 .p.name = "zerocodec",
140 .long_name = NULL_IF_CONFIG_SMALL("ZeroCodec Lossless Video"),140 .p.long_name = NULL_IF_CONFIG_SMALL("ZeroCodec Lossless Video"),
141 .id = AV_CODEC_ID_ZEROCODEC,141 .p.id = AV_CODEC_ID_ZEROCODEC,
142 .priv_data_size = sizeof(ZeroCodecContext),142 .priv_data_size = sizeof(ZeroCodecContext),
143 .init = zerocodec_decode_init,143 .init = zerocodec_decode_init,
144 .decode = zerocodec_decode_frame,144 .decode = zerocodec_decode_frame,
145 .flush = zerocodec_decode_flush,145 .flush = zerocodec_decode_flush,
146 .close = zerocodec_decode_close,146 .close = zerocodec_decode_close,
147 .capabilities = AV_CODEC_CAP_DR1,147 .p.capabilities = AV_CODEC_CAP_DR1,
148 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |148 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |
149 FF_CODEC_CAP_INIT_CLEANUP,149 FF_CODEC_CAP_INIT_CLEANUP,
150};150};
libavcodec/zmbv.c+6−6
@@ -645,15 +645,15 @@ static av_cold int decode_end(AVCodecContext *avctx) · 644 unmodified lines
645 return 0;645 return 0;
646}646}
647 647
648const AVCodec ff_zmbv_decoder = {648const FFCodec ff_zmbv_decoder = {
649 .name = "zmbv",649 .p.name = "zmbv",
650 .long_name = NULL_IF_CONFIG_SMALL("Zip Motion Blocks Video"),650 .p.long_name = NULL_IF_CONFIG_SMALL("Zip Motion Blocks Video"),
651 .type = AVMEDIA_TYPE_VIDEO,651 .p.type = AVMEDIA_TYPE_VIDEO,
652 .id = AV_CODEC_ID_ZMBV,652 .p.id = AV_CODEC_ID_ZMBV,
653 .priv_data_size = sizeof(ZmbvContext),653 .priv_data_size = sizeof(ZmbvContext),
654 .init = decode_init,654 .init = decode_init,
655 .close = decode_end,655 .close = decode_end,
656 .decode = decode_frame,656 .decode = decode_frame,
657 .capabilities = AV_CODEC_CAP_DR1,657 .p.capabilities = AV_CODEC_CAP_DR1,
658 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,658 .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
659};659};
libavcodec/zmbvenc.c+7−7
@@ -410,17 +410,17 @@ static av_cold int encode_init(AVCodecContext *avctx) · 409 unmodified lines
410 return ff_deflate_init(&c->zstream, lvl, avctx);410 return ff_deflate_init(&c->zstream, lvl, avctx);
411}411}
412 412
413const AVCodec ff_zmbv_encoder = {413const FFCodec ff_zmbv_encoder = {
414 .name = "zmbv",414 .p.name = "zmbv",
415 .long_name = NULL_IF_CONFIG_SMALL("Zip Motion Blocks Video"),415 .p.long_name = NULL_IF_CONFIG_SMALL("Zip Motion Blocks Video"),
416 .type = AVMEDIA_TYPE_VIDEO,416 .p.type = AVMEDIA_TYPE_VIDEO,
417 .id = AV_CODEC_ID_ZMBV,417 .p.id = AV_CODEC_ID_ZMBV,
418 .capabilities = AV_CODEC_CAP_DR1,418 .p.capabilities = AV_CODEC_CAP_DR1,
419 .priv_data_size = sizeof(ZmbvEncContext),419 .priv_data_size = sizeof(ZmbvEncContext),
420 .init = encode_init,420 .init = encode_init,
421 .encode2 = encode_frame,421 .encode2 = encode_frame,
422 .close = encode_end,422 .close = encode_end,
423 .pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_PAL8,423 .p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_PAL8,
424 AV_PIX_FMT_RGB555LE,424 AV_PIX_FMT_RGB555LE,
425 AV_PIX_FMT_RGB565LE,425 AV_PIX_FMT_RGB565LE,
426#ifdef ZMBV_ENABLE_24BPP426#ifdef ZMBV_ENABLE_24BPP
tools/target_dec_fuzzer.c+14−13
@@ -54,6 +54,7 @@ · 53 unmodified lines
54 54
55#include "libavcodec/avcodec.h"55#include "libavcodec/avcodec.h"
56#include "libavcodec/bytestream.h"56#include "libavcodec/bytestream.h"
57#include "libavcodec/codec_internal.h"
57#include "libavformat/avformat.h"58#include "libavformat/avformat.h"
58 59
59//For FF_SANE_NB_CHANNELS, so we dont waste energy testing things that will get instantly rejected60//For FF_SANE_NB_CHANNELS, so we dont waste energy testing things that will get instantly rejected
@@ -61,7 +62,7 @@ · 1 unmodified line
61 62
62int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size);63int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size);
63 64
64extern const AVCodec * codec_list[];65extern const FFCodec * codec_list[];
65 66
66static void error(const char *err)67static void error(const char *err)
67{68{
@@ -69,15 +70,15 @@ static void error(const char *err) · 1 unmodified line
69 exit(1);70 exit(1);
70}71}
71 72
72static const AVCodec *c = NULL;73static const FFCodec *c = NULL;
73static const AVCodec *AVCodecInitialize(enum AVCodecID codec_id)74static const FFCodec *AVCodecInitialize(enum AVCodecID codec_id)
74{75{
75 const AVCodec *res;76 const AVCodec *res;
76 77
77 res = avcodec_find_decoder(codec_id);78 res = avcodec_find_decoder(codec_id);
78 if (!res)79 if (!res)
79 error("Failed to find decoder");80 error("Failed to find decoder");
80 return res;81 return ffcodec(res);
81}82}
82 83
83static int subtitle_handler(AVCodecContext *avctx, void *frame,84static int subtitle_handler(AVCodecContext *avctx, void *frame,
@@ -127,11 +128,11 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { · 43 unmodified lines
127#ifdef FFMPEG_DECODER128#ifdef FFMPEG_DECODER
128#define DECODER_SYMBOL0(CODEC) ff_##CODEC##_decoder129#define DECODER_SYMBOL0(CODEC) ff_##CODEC##_decoder
129#define DECODER_SYMBOL(CODEC) DECODER_SYMBOL0(CODEC)130#define DECODER_SYMBOL(CODEC) DECODER_SYMBOL0(CODEC)
130 extern AVCodec DECODER_SYMBOL(FFMPEG_DECODER);131 extern FFCodec DECODER_SYMBOL(FFMPEG_DECODER);
131 codec_list[0] = &DECODER_SYMBOL(FFMPEG_DECODER);132 codec_list[0] = &DECODER_SYMBOL(FFMPEG_DECODER);
132 133
133#if FFMPEG_DECODER == tiff || FFMPEG_DECODER == tdsc134#if FFMPEG_DECODER == tiff || FFMPEG_DECODER == tdsc
134 extern AVCodec DECODER_SYMBOL(mjpeg);135 extern FFCodec DECODER_SYMBOL(mjpeg);
135 codec_list[1] = &DECODER_SYMBOL(mjpeg);136 codec_list[1] = &DECODER_SYMBOL(mjpeg);
136#endif137#endif
137 138
@@ -142,17 +143,17 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { · 4 unmodified lines
142 av_log_set_level(AV_LOG_PANIC);143 av_log_set_level(AV_LOG_PANIC);
143 }144 }
144 145
145 switch (c->type) {146 switch (c->p.type) {
146 case AVMEDIA_TYPE_AUDIO :147 case AVMEDIA_TYPE_AUDIO :
147 case AVMEDIA_TYPE_VIDEO : decode_handler = audio_video_handler ; break;148 case AVMEDIA_TYPE_VIDEO : decode_handler = audio_video_handler ; break;
148 case AVMEDIA_TYPE_SUBTITLE: decode_handler = subtitle_handler ; break;149 case AVMEDIA_TYPE_SUBTITLE: decode_handler = subtitle_handler ; break;
149 }150 }
150 switch (c->id) {151 switch (c->p.id) {
151 case AV_CODEC_ID_APE: maxsamples_per_frame /= 256; break;152 case AV_CODEC_ID_APE: maxsamples_per_frame /= 256; break;
152 }153 }
153 maxpixels = maxpixels_per_frame * maxiteration;154 maxpixels = maxpixels_per_frame * maxiteration;
154 maxsamples = maxsamples_per_frame * maxiteration;155 maxsamples = maxsamples_per_frame * maxiteration;
155 switch (c->id) {156 switch (c->p.id) {
156 case AV_CODEC_ID_AGM: maxpixels /= 1024; break;157 case AV_CODEC_ID_AGM: maxpixels /= 1024; break;
157 case AV_CODEC_ID_ARBC: maxpixels /= 1024; break;158 case AV_CODEC_ID_ARBC: maxpixels /= 1024; break;
158 case AV_CODEC_ID_BINKVIDEO: maxpixels /= 32; break;159 case AV_CODEC_ID_BINKVIDEO: maxpixels /= 32; break;
@@ -231,7 +232,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { · 72 unmodified lines
231 maxsamples_per_frame = FFMIN(maxsamples_per_frame, maxsamples);232 maxsamples_per_frame = FFMIN(maxsamples_per_frame, maxsamples);
232 maxpixels_per_frame = FFMIN(maxpixels_per_frame , maxpixels);233 maxpixels_per_frame = FFMIN(maxpixels_per_frame , maxpixels);
233 234
234 AVCodecContext* ctx = avcodec_alloc_context3(c);235 AVCodecContext* ctx = avcodec_alloc_context3(&c->p);
235 AVCodecContext* parser_avctx = avcodec_alloc_context3(NULL);236 AVCodecContext* parser_avctx = avcodec_alloc_context3(NULL);
236 if (!ctx || !parser_avctx)237 if (!ctx || !parser_avctx)
237 error("Failed memory allocation");238 error("Failed memory allocation");
@@ -257,7 +258,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { · 19 unmodified lines
257 // Try to initialize a parser for this codec, note, this may fail which just means we test without one258 // Try to initialize a parser for this codec, note, this may fail which just means we test without one
258 flags = bytestream2_get_byte(&gbc);259 flags = bytestream2_get_byte(&gbc);
259 if (flags & 1)260 if (flags & 1)
260 parser = av_parser_init(c->id);261 parser = av_parser_init(c->p.id);
261 if (flags & 2)262 if (flags & 2)
262 ctx->strict_std_compliance = FF_COMPLIANCE_EXPERIMENTAL;263 ctx->strict_std_compliance = FF_COMPLIANCE_EXPERIMENTAL;
263 if (flags & 4) {264 if (flags & 4) {
@@ -265,7 +266,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { · 1 unmodified line
265 if (flags & 8)266 if (flags & 8)
266 ctx->err_recognition |= AV_EF_EXPLODE;267 ctx->err_recognition |= AV_EF_EXPLODE;
267 }268 }
268 if ((flags & 0x10) && c->id != AV_CODEC_ID_H264)269 if ((flags & 0x10) && c->p.id != AV_CODEC_ID_H264)
269 ctx->flags2 |= AV_CODEC_FLAG2_FAST;270 ctx->flags2 |= AV_CODEC_FLAG2_FAST;
270 if (flags & 0x80)271 if (flags & 0x80)
271 ctx->flags2 |= AV_CODEC_FLAG2_EXPORT_MVS;272 ctx->flags2 |= AV_CODEC_FLAG2_EXPORT_MVS;
@@ -349,7 +350,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { · 77 unmodified lines
349 ctx->width = ctx->height = 0;350 ctx->width = ctx->height = 0;
350 }351 }
351 352
352 int res = avcodec_open2(ctx, c, &opts);353 int res = avcodec_open2(ctx, &c->p, &opts);
353 if (res < 0) {354 if (res < 0) {
354 avcodec_free_context(&ctx);355 avcodec_free_context(&ctx);
355 av_free(parser_avctx);356 av_free(parser_avctx);

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t