From df5fa8969966cb05704b7bbbd46d79b423adc23d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Diego=20=27Flameeyes=27=20Petten=C3=B2?= Date: Sat, 2 Jun 2007 20:49:01 +0200 Subject: Convert the figure files to SVG (with white background). --- doc/hackersguide/architecture.fig | 560 ---------- doc/hackersguide/architecture.svg | 2134 +++++++++++++++++++++++++++++++++++++ doc/hackersguide/library.fig | 313 ------ doc/hackersguide/library.svg | 1732 ++++++++++++++++++++++++++++++ doc/hackersguide/overlays.fig | 64 -- doc/hackersguide/overlays.svg | 256 +++++ doc/hackersguide/post_frame.fig | 347 ------ doc/hackersguide/post_frame.svg | 1564 +++++++++++++++++++++++++++ 8 files changed, 5686 insertions(+), 1284 deletions(-) delete mode 100644 doc/hackersguide/architecture.fig create mode 100644 doc/hackersguide/architecture.svg delete mode 100644 doc/hackersguide/library.fig create mode 100644 doc/hackersguide/library.svg delete mode 100644 doc/hackersguide/overlays.fig create mode 100644 doc/hackersguide/overlays.svg delete mode 100644 doc/hackersguide/post_frame.fig create mode 100644 doc/hackersguide/post_frame.svg (limited to 'doc') diff --git a/doc/hackersguide/architecture.fig b/doc/hackersguide/architecture.fig deleted file mode 100644 index cc035149d..000000000 --- a/doc/hackersguide/architecture.fig +++ /dev/null @@ -1,560 +0,0 @@ -#FIG 3.2 -Landscape -Center -Metric -A4 -100.00 -Single --2 -1200 2 -6 2520 3915 3555 4950 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 2520 3915 3555 3915 3555 4950 2520 4950 2520 3915 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 - 2520 4140 3555 4140 -4 0 0 50 0 20 11 0.0000 4 150 945 2565 4680 demuxer plugin\001 -4 0 0 50 0 20 11 0.0000 4 150 840 2655 4095 demuxer loop\001 --6 -6 4500 3735 6300 5355 -6 5715 4500 6075 4770 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 5715 4500 6075 4500 6075 4770 5715 4770 5715 4500 -4 0 0 50 0 20 11 0.0000 4 120 195 5805 4680 buf\001 --6 -6 4680 4005 5040 4275 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 4680 4005 5040 4005 5040 4275 4680 4275 4680 4005 -4 0 0 50 0 20 11 0.0000 4 120 195 4770 4185 buf\001 --6 -6 4860 4320 5220 4590 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 4860 4320 5220 4320 5220 4590 4860 4590 4860 4320 -4 0 0 50 0 20 11 0.0000 4 120 195 4950 4500 buf\001 --6 -6 5220 4680 5580 4950 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 5220 4680 5580 4680 5580 4950 5220 4950 5220 4680 -4 0 0 50 0 20 11 0.0000 4 120 195 5310 4860 buf\001 --6 -6 5355 4095 5715 4365 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 5355 4095 5715 4095 5715 4365 5355 4365 5355 4095 -4 0 0 50 0 20 11 0.0000 4 120 195 5445 4275 buf\001 --6 -6 4635 4635 4995 4905 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 4635 4635 4995 4635 4995 4905 4635 4905 4635 4635 -4 0 0 50 0 20 11 0.0000 4 120 195 4725 4815 buf\001 --6 -6 5805 3960 6165 4230 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 5805 3960 6165 3960 6165 4230 5805 4230 5805 3960 -4 0 0 50 0 20 11 0.0000 4 120 195 5895 4140 buf\001 --6 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 4500 3735 6300 3735 6300 5355 4500 5355 4500 3735 -4 0 0 50 0 20 11 0.0000 4 150 660 5085 5265 buffer pool\001 --6 -6 1260 4230 2160 4770 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 1260 4230 2160 4230 2160 4770 1260 4770 1260 4230 -4 0 0 50 0 20 11 0.0000 4 150 705 1350 4545 input plugin\001 --6 -6 1710 3735 2070 4005 -2 2 0 1 0 7 30 0 20 0.000 0 0 -1 0 0 5 - 1710 3735 2070 3735 2070 4005 1710 4005 1710 3735 -4 0 0 20 0 20 11 0.0000 4 120 195 1800 3915 buf\001 --6 -6 3915 4320 4275 4590 -2 2 0 1 0 7 30 0 20 0.000 0 0 -1 0 0 5 - 3915 4320 4275 4320 4275 4590 3915 4590 3915 4320 -4 0 0 20 0 20 11 0.0000 4 120 195 4005 4500 buf\001 --6 -6 6525 5130 6885 5400 -2 2 0 1 0 7 30 0 20 0.000 0 0 -1 0 0 5 - 6525 5130 6885 5130 6885 5400 6525 5400 6525 5130 -4 0 0 20 0 20 11 0.0000 4 120 195 6615 5310 buf\001 --6 -6 6525 3555 6885 3825 -2 2 0 1 0 7 30 0 20 0.000 0 0 -1 0 0 5 - 6525 3555 6885 3555 6885 3825 6525 3825 6525 3555 -4 0 0 20 0 20 11 0.0000 4 120 195 6615 3735 buf\001 --6 -6 7335 5265 7695 5535 -2 2 0 1 0 7 30 0 20 0.000 0 0 -1 0 0 5 - 7335 5265 7695 5265 7695 5535 7335 5535 7335 5265 -4 0 0 20 0 20 11 0.0000 4 120 255 7425 5445 disc\001 --6 -6 7290 3375 7650 3645 -2 2 0 1 0 7 30 0 20 0.000 0 0 -1 0 0 5 - 7290 3375 7650 3375 7650 3645 7290 3645 7290 3375 -4 0 0 20 0 20 11 0.0000 4 120 255 7380 3555 disc\001 --6 -6 8865 5085 9225 5355 -2 2 0 1 0 7 30 0 20 0.000 0 0 -1 0 0 5 - 8865 5085 9225 5085 9225 5355 8865 5355 8865 5085 -4 0 0 20 0 20 11 0.0000 4 150 195 8955 5265 pts\001 --6 -6 9180 5985 9540 6255 -2 2 0 1 0 7 30 0 20 0.000 0 0 -1 0 0 5 - 9180 5985 9540 5985 9540 6255 9180 6255 9180 5985 -4 0 0 20 0 20 11 0.0000 4 150 270 9270 6165 vpts\001 --6 -6 8910 3645 9270 3915 -2 2 0 1 0 7 30 0 20 0.000 0 0 -1 0 0 5 - 8910 3645 9270 3645 9270 3915 8910 3915 8910 3645 -4 0 0 20 0 20 11 0.0000 4 150 195 9000 3825 pts\001 --6 -6 7380 4050 8865 4950 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 7380 4050 8865 4050 8865 4950 7380 4950 7380 4050 -4 0 0 50 0 20 11 0.0000 4 120 630 7830 4545 metronom\001 --6 -6 8505 3555 8865 3825 -2 2 0 1 0 7 30 0 20 0.000 0 0 -1 0 0 5 - 8505 3555 8865 3555 8865 3825 8505 3825 8505 3555 -4 0 0 20 0 20 11 0.0000 4 150 195 8595 3735 pts\001 --6 -6 8010 3330 8370 3600 -2 2 0 1 0 7 30 0 20 0.000 0 0 -1 0 0 5 - 8010 3330 8370 3330 8370 3600 8010 3600 8010 3330 -4 0 0 20 0 20 11 0.0000 4 150 270 8100 3510 vpts\001 --6 -6 1170 1575 9900 7425 -2 2 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 9855 1620 1215 1620 1215 7380 9855 7380 9855 1620 -4 0 0 50 0 20 11 0.0000 4 135 735 1350 1800 xine stream\001 --6 -6 1215 270 9900 540 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 1215 270 9900 270 9900 540 1215 540 1215 270 -4 0 0 50 0 20 11 0.0000 4 150 780 4590 450 stream layer\001 --6 -6 6795 630 9900 900 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 6795 630 9900 630 9900 900 6795 900 6795 630 -4 0 0 50 0 20 11 0.0000 4 150 840 7965 810 decoder layer\001 --6 -6 3915 630 6705 900 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 3915 630 6705 630 6705 900 3915 900 3915 630 -4 0 0 50 0 20 11 0.0000 4 135 750 5040 810 stream fifos\001 --6 -6 2340 630 3825 900 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 2340 630 3825 630 3825 900 2340 900 2340 630 -4 0 0 50 0 20 11 0.0000 4 150 885 2655 810 demuxer layer\001 --6 -6 1215 630 2250 900 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 1215 630 2250 630 2250 900 1215 900 1215 630 -4 0 0 50 0 20 11 0.0000 4 150 645 1395 810 input layer\001 --6 -6 11295 4050 12780 4950 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 11295 4050 12780 4050 12780 4950 11295 4950 11295 4050 -2 1 0 1 0 7 50 0 -1 3.000 0 0 -1 0 0 2 - 12780 4500 11700 4500 -2 1 0 1 0 7 50 0 -1 3.000 0 0 -1 0 0 3 - 11700 4950 11700 4320 12780 4320 -4 0 0 50 0 20 11 0.0000 4 135 1005 11430 4275 metronom clock\001 -4 0 0 50 0 20 11 0.0000 4 150 975 11745 4455 clock sync loop\001 -4 0 0 50 0 20 11 0.0000 4 150 600 11745 4770 scr plugin\001 --6 -6 11295 5220 11655 5490 -2 2 0 1 0 7 30 0 20 0.000 0 0 -1 0 0 5 - 11295 5220 11655 5220 11655 5490 11295 5490 11295 5220 -4 0 0 20 0 20 11 0.0000 4 120 270 11385 5400 time\001 --6 -6 11295 3555 11655 3825 -2 2 0 1 0 7 30 0 20 0.000 0 0 -1 0 0 5 - 11295 3555 11655 3555 11655 3825 11295 3825 11295 3555 -4 0 0 20 0 20 11 0.0000 4 120 270 11385 3735 time\001 --6 -6 9990 270 12870 540 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 9990 270 12870 270 12870 540 9990 540 9990 270 -4 0 0 50 0 20 11 0.0000 4 150 735 11075 450 output layer\001 --6 -6 10035 1620 10845 7290 -6 10260 4275 10710 4680 -4 0 0 40 0 20 11 0.0000 4 150 270 10260 4410 post\001 -4 0 0 40 0 20 11 0.0000 4 150 435 10260 4635 plugins\001 --6 -2 2 0 1 0 7 50 0 20 0.000 0 0 -1 0 0 5 - 10125 1620 10845 1620 10845 7200 10125 7200 10125 1620 -2 2 0 1 0 7 60 0 20 0.000 0 0 -1 0 0 5 - 10080 1665 10800 1665 10800 7245 10080 7245 10080 1665 -2 2 0 1 0 7 70 0 20 0.000 0 0 -1 0 0 5 - 10035 1710 10755 1710 10755 7290 10035 7290 10035 1710 --6 -6 11070 900 12870 1620 -2 2 0 1 0 7 50 0 -1 3.000 0 0 -1 0 0 5 - 11070 1620 12870 1620 12870 900 11070 900 11070 1620 -2 1 0 1 0 7 50 0 -1 3.000 0 0 -1 0 0 2 - 11655 900 11655 1620 -4 0 0 50 0 20 11 0.0000 4 150 1035 11790 1305 overlay manager\001 -4 0 0 50 0 20 11 0.0000 4 120 300 11205 1305 OSD\001 --6 -6 11115 1845 11475 2115 -2 2 0 1 0 7 30 0 20 0.000 0 0 -1 0 0 5 - 11115 1845 11475 1845 11475 2115 11115 2115 11115 1845 -4 0 0 20 0 20 11 0.0000 4 120 225 11205 2025 spu\001 --6 -6 9360 4545 9720 4815 -2 2 0 1 0 7 30 0 20 0.000 0 0 -1 0 0 5 - 9360 4545 9720 4545 9720 4815 9360 4815 9360 4545 -4 0 0 20 0 20 11 0.0000 4 150 195 9450 4725 pts\001 --6 -6 8100 5130 8460 5400 -2 2 0 1 0 7 30 0 20 0.000 0 0 -1 0 0 5 - 8100 5130 8460 5130 8460 5400 8100 5400 8100 5130 -4 0 0 20 0 20 11 0.0000 4 150 270 8190 5310 vpts\001 --6 -6 9450 3150 9810 3420 -2 2 0 1 0 7 30 0 20 0.000 0 0 -1 0 0 5 - 9450 3150 9810 3150 9810 3420 9450 3420 9450 3150 -4 0 0 20 0 20 11 0.0000 4 150 270 9540 3330 vpts\001 --6 -6 7920 3645 8280 3915 -2 2 0 1 0 7 30 0 20 0.000 0 0 -1 0 0 5 - 7920 3645 8280 3645 8280 3915 7920 3915 7920 3645 -4 0 0 20 0 20 11 0.0000 4 150 270 8010 3825 vpts\001 --6 -6 9360 4140 9720 4410 -2 2 0 1 0 7 30 0 20 0.000 0 0 -1 0 0 5 - 9360 4140 9720 4140 9720 4410 9360 4410 9360 4140 -4 0 0 20 0 20 11 0.0000 4 150 195 9450 4320 pts\001 --6 -6 1485 8550 3375 8730 -2 1 2 1 0 7 50 0 -1 1.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 1485 8640 2025 8640 -4 0 0 50 0 20 11 0.0000 4 150 1170 2205 8685 extra info datapath\001 --6 -6 1485 8235 3285 8415 -2 1 1 1 0 7 50 0 -1 4.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 1485 8325 2025 8325 -4 0 0 50 0 20 11 0.0000 4 150 1065 2205 8370 detailed datapath\001 --6 -6 1485 7920 2745 8100 -2 1 0 1 0 7 50 0 -1 4.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 1485 8010 2025 8010 -4 0 0 50 0 20 11 0.0000 4 150 540 2205 8055 datapath\001 --6 -6 4095 7875 5445 8145 -6 4095 7875 4455 8145 -2 2 0 1 0 7 30 0 20 0.000 0 0 -1 0 0 5 - 4095 7875 4455 7875 4455 8145 4095 8145 4095 7875 -4 0 0 20 0 20 11 0.0000 4 120 195 4185 8055 buf\001 --6 -4 0 0 50 0 20 11 0.0000 4 135 660 4770 8055 xine buffer\001 --6 -6 4095 8190 5580 8460 -6 4095 8190 4455 8460 -2 2 0 1 0 7 30 0 20 0.000 0 0 -1 0 0 5 - 4095 8190 4455 8190 4455 8460 4095 8460 4095 8190 -4 0 0 20 0 20 11 0.0000 4 120 255 4185 8370 disc\001 --6 -4 0 0 50 0 20 11 0.0000 4 150 780 4770 8370 discontinuity\001 --6 -6 4095 8505 6255 8775 -6 4095 8505 4455 8775 -2 2 0 1 0 7 30 0 20 0.000 0 0 -1 0 0 5 - 4095 8505 4455 8505 4455 8775 4095 8775 4095 8505 -4 0 0 20 0 20 11 0.0000 4 150 195 4185 8685 pts\001 --6 -4 0 0 50 0 20 11 0.0000 4 150 1470 4770 8685 presentation timestamp\001 --6 -6 6930 7875 9495 8145 -6 6930 7875 7290 8145 -2 2 0 1 0 7 30 0 20 0.000 0 0 -1 0 0 5 - 6930 7875 7290 7875 7290 8145 6930 8145 6930 7875 -4 0 0 20 0 20 11 0.0000 4 150 270 7020 8055 vpts\001 --6 -4 0 0 50 0 20 11 0.0000 4 150 1890 7605 8055 virtual presentation timestamp\001 --6 -6 6930 8190 8550 8460 -6 6930 8190 7290 8460 -2 2 0 1 0 7 30 0 20 0.000 0 0 -1 0 0 5 - 6930 8190 7290 8190 7290 8460 6930 8460 6930 8190 -4 0 0 20 0 20 11 0.0000 4 120 225 7020 8370 spu\001 --6 -4 0 0 50 0 20 11 0.0000 4 150 915 7605 8370 subpicture unit\001 --6 -6 4230 2385 6390 3015 -6 4320 2430 4680 2700 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 4320 2430 4680 2430 4680 2700 4320 2700 4320 2430 -4 0 0 50 0 20 11 0.0000 4 120 195 4410 2610 buf\001 --6 -6 5940 2430 6300 2700 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 5940 2430 6300 2430 6300 2700 5940 2700 5940 2430 -4 0 0 50 0 20 11 0.0000 4 120 195 6030 2610 buf\001 --6 -6 5220 2430 5580 2700 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 5220 2430 5580 2430 5580 2700 5220 2700 5220 2430 -4 0 0 50 0 20 11 0.0000 4 120 195 5310 2610 buf\001 --6 -6 4770 2430 5130 2700 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 4770 2430 5130 2430 5130 2700 4770 2700 4770 2430 -4 0 0 50 0 20 11 0.0000 4 120 195 4860 2610 buf\001 --6 -1 4 0 1 0 0 10 0 20 0.000 1 0.0000 4365 2475 10 10 4355 2475 4375 2475 -1 4 0 1 0 0 10 0 20 0.000 1 0.0000 4815 2475 10 10 4805 2475 4825 2475 -1 4 0 1 0 0 10 0 20 0.000 1 0.0000 5265 2475 10 10 5255 2475 5275 2475 -1 4 0 1 0 0 10 0 20 0.000 1 0.0000 5985 2475 10 10 5975 2475 5995 2475 -2 2 0 1 0 7 50 0 -1 4.000 0 0 -1 0 0 5 - 4230 2385 6390 2385 6390 3015 4230 3015 4230 2385 -4 0 0 50 0 20 11 0.0000 4 135 570 5040 2925 video fifo\001 -4 0 0 50 0 20 11 0.0000 4 30 135 5715 2610 ...\001 --6 -6 4230 5985 6390 6615 -6 4320 6030 4680 6300 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 4320 6030 4680 6030 4680 6300 4320 6300 4320 6030 -4 0 0 50 0 20 11 0.0000 4 120 195 4410 6210 buf\001 --6 -6 5940 6030 6300 6300 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 5940 6030 6300 6030 6300 6300 5940 6300 5940 6030 -4 0 0 50 0 20 11 0.0000 4 120 195 6030 6210 buf\001 --6 -6 5220 6030 5580 6300 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 5220 6030 5580 6030 5580 6300 5220 6300 5220 6030 -4 0 0 50 0 20 11 0.0000 4 120 195 5310 6210 buf\001 --6 -6 4770 6030 5130 6300 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 4770 6030 5130 6030 5130 6300 4770 6300 4770 6030 -4 0 0 50 0 20 11 0.0000 4 120 195 4860 6210 buf\001 --6 -1 4 0 1 0 0 10 0 20 0.000 1 0.0000 4355 6075 10 10 4345 6075 4365 6075 -1 4 0 1 0 0 10 0 20 0.000 1 0.0000 4815 6075 10 10 4805 6075 4825 6075 -1 4 0 1 0 0 10 0 20 0.000 1 0.0000 5265 6075 10 10 5255 6075 5275 6075 -1 4 0 1 0 0 10 0 20 0.000 1 0.0000 5985 6075 10 10 5975 6075 5995 6075 -2 2 0 1 0 7 50 0 -1 4.000 0 0 -1 0 0 5 - 4230 5985 6390 5985 6390 6615 4230 6615 4230 5985 -4 0 0 50 0 20 11 0.0000 4 135 570 5040 6525 audio fifo\001 -4 0 0 50 0 20 11 0.0000 4 30 135 5715 6210 ...\001 --6 -6 3735 5310 4095 5580 -1 4 0 1 0 0 10 0 20 0.000 1 0.0000 3770 5355 10 10 3760 5355 3780 5355 -2 2 0 1 0 7 30 0 20 0.000 0 0 -1 0 0 5 - 3735 5310 4095 5310 4095 5580 3735 5580 3735 5310 -4 0 0 20 0 20 11 0.0000 4 120 195 3825 5490 buf\001 --6 -6 3735 3330 4095 3600 -1 4 0 1 0 0 10 0 20 0.000 1 0.0000 3780 3375 10 10 3770 3375 3790 3375 -2 2 0 1 0 7 30 0 20 0.000 0 0 -1 0 0 5 - 3735 3330 4095 3330 4095 3600 3735 3600 3735 3330 -4 0 0 20 0 20 11 0.0000 4 120 195 3825 3510 buf\001 --6 -6 6525 2565 6885 2835 -1 4 0 1 0 0 10 0 20 0.000 1 0.0000 6570 2600 10 10 6560 2600 6580 2600 -2 2 0 1 0 7 30 0 20 0.000 0 0 -1 0 0 5 - 6525 2565 6885 2565 6885 2835 6525 2835 6525 2565 -4 0 0 20 0 20 11 0.0000 4 120 195 6615 2745 buf\001 --6 -6 6525 6165 6885 6435 -1 4 0 1 0 0 10 0 20 0.000 1 0.0000 6570 6210 10 10 6560 6210 6580 6210 -2 2 0 1 0 7 30 0 20 0.000 0 0 -1 0 0 5 - 6525 6165 6885 6165 6885 6435 6525 6435 6525 6165 -4 0 0 20 0 20 11 0.0000 4 120 195 6615 6345 buf\001 --6 -6 7065 5850 8865 6750 -1 4 0 1 0 0 10 0 20 0.000 1 0.0000 7145 5895 10 10 7135 5895 7155 5895 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 7065 5850 8865 5850 8865 6750 7065 6750 7065 5850 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 3 - 7425 6750 7425 6120 8865 6120 -4 0 0 50 0 20 11 0.0000 4 150 1170 7200 6030 audio decoder loop\001 -4 0 0 50 0 20 11 0.0000 4 150 1275 7515 6480 audio decoder plugin\001 --6 -6 7065 2250 8865 3150 -1 4 0 1 0 0 10 0 20 0.000 1 0.0000 7110 2295 10 10 7100 2295 7120 2295 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 7065 2250 8865 2250 8865 3150 7065 3150 7065 2250 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 3 - 7425 3150 7425 2880 8865 2880 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 4 - 8865 2790 7425 2790 7425 2520 8865 2520 -4 0 0 50 0 20 11 0.0000 4 150 1170 7200 2430 video decoder loop\001 -4 0 0 50 0 20 11 0.0000 4 150 1170 7515 3060 spu decoder plugin\001 -4 0 0 50 0 20 11 0.0000 4 150 1275 7515 2700 video decoder plugin\001 --6 -6 9045 2340 9720 2610 -1 4 0 1 0 0 10 0 20 0.000 1 0.0000 9090 2385 10 10 9080 2385 9100 2385 -2 2 0 1 0 7 30 0 20 0.000 0 0 -1 0 0 5 - 9045 2340 9720 2340 9720 2610 9045 2610 9045 2340 -4 0 0 20 0 20 11 0.0000 4 120 435 9135 2520 frames\001 --6 -6 9045 6480 9720 6750 -1 4 0 1 0 0 10 0 20 0.000 1 0.0000 9080 6525 10 10 9070 6525 9090 6525 -2 2 0 1 0 7 30 0 20 0.000 0 0 -1 0 0 5 - 9045 6480 9720 6480 9720 6750 9045 6750 9045 6480 -4 0 0 20 0 20 11 0.0000 4 150 525 9135 6660 samples\001 --6 -6 11070 5850 12870 6750 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 11070 5850 12870 5850 12870 6750 11070 6750 11070 5850 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 3 - 11430 6750 11430 6120 12870 6120 -2 1 0 1 0 7 50 0 -1 1.000 0 0 -1 0 0 2 - 12240 5850 12240 6120 -4 0 0 50 0 20 11 0.0000 4 150 870 11205 6030 audio out loop\001 -4 0 0 50 0 20 11 0.0000 4 150 975 11520 6480 audio out plugin\001 -4 0 0 50 0 20 11 0.0000 4 135 435 12330 6030 out fifo\001 --6 -6 11070 2250 12870 3150 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 11070 2250 12870 2250 12870 3150 11070 3150 11070 2250 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 3 - 11430 3150 11430 2520 12870 2520 -2 1 0 1 0 7 50 0 -1 1.000 0 0 -1 0 0 2 - 12240 2250 12240 2520 -4 0 0 50 0 20 11 0.0000 4 150 870 11205 2430 video out loop\001 -4 0 0 50 0 20 11 0.0000 4 150 975 11520 2880 video out plugin\001 -4 0 0 50 0 20 11 0.0000 4 135 435 12330 2430 out fifo\001 --6 -6 11565 1620 12510 2250 -6 11700 1800 12375 2070 -2 2 0 1 0 7 30 0 20 0.000 0 0 -1 0 0 5 - 11700 1800 12375 1800 12375 2070 11700 2070 11700 1800 -4 0 0 20 0 20 11 0.0000 4 120 435 11790 1980 frames\001 --6 -3 2 0 1 0 7 50 0 -1 3.000 0 1 0 3 - 0 0 1.00 60.00 120.00 - 12060 2250 11565 1935 12060 1620 - 0.000 -1.000 0.000 -3 2 0 1 0 7 50 0 -1 3.000 0 1 0 3 - 0 0 1.00 60.00 120.00 - 12060 1620 12510 1935 12060 2250 - 0.000 -1.000 0.000 --6 -1 4 0 1 0 0 10 0 20 0.000 1 0.0000 7110 8640 10 10 7100 8640 7120 8640 -2 1 0 1 0 7 50 0 -1 4.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 7155 5850 6300 4500 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 4500 4500 3555 4500 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 2160 4500 2520 4500 -2 1 0 1 0 7 50 0 -1 4.000 0 0 -1 1 0 2 - 0 0 1.00 57.26 114.51 - 3555 4500 4230 6300 -2 1 0 1 0 7 50 0 -1 4.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 6390 2700 7065 2700 -2 1 0 1 0 7 50 0 -1 4.000 0 0 -1 1 0 2 - 0 0 1.00 57.26 114.51 - 3555 4500 4230 2700 -2 1 0 1 0 7 50 0 -1 4.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 6390 6300 7065 6300 -2 1 0 1 0 7 50 0 -1 4.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 7155 3150 6300 4500 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 7290 3150 7965 4050 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 7290 5850 7965 4950 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 8550 3150 8550 4050 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 8325 4050 8325 3150 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 3 - 1215 1845 2205 1845 2205 1620 -2 1 2 1 0 7 50 0 -1 3.000 0 0 -1 0 0 2 - 2295 7560 2295 585 -2 1 2 1 0 7 50 0 -1 3.000 0 0 -1 0 0 2 - 3870 7560 3870 585 -2 1 2 1 0 7 50 0 -1 3.000 0 0 -1 0 0 2 - 6750 7560 6750 585 -2 1 1 1 0 7 50 0 -1 3.000 0 0 -1 0 0 2 - 9945 7560 9945 270 -2 1 0 1 0 7 50 0 -1 3.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 11520 4950 11250 5850 -2 1 0 1 0 7 50 0 -1 3.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 11520 4050 11250 3150 -2 1 0 1 0 7 50 0 -1 3.000 0 0 -1 1 1 2 - 0 0 1.00 60.00 120.00 - 0 0 1.00 60.00 120.00 - 8865 6570 11070 6570 -2 1 0 1 0 7 50 0 -1 3.000 0 0 -1 1 1 2 - 0 0 1.00 60.00 120.00 - 0 0 1.00 60.00 120.00 - 8865 2565 11070 2565 -2 1 0 1 0 7 50 0 -1 3.000 0 0 -1 1 1 3 - 0 0 1.00 60.00 120.00 - 0 0 1.00 60.00 120.00 - 8865 3060 9720 3060 11655 1620 -3 2 1 1 0 7 50 0 -1 4.000 0 1 0 5 - 0 0 1.00 60.00 120.00 - 4500 4365 3060 4365 2025 3915 1530 4275 2520 4365 - 0.000 -1.000 -1.000 -1.000 0.000 -3 2 0 1 0 7 50 0 -1 0.000 0 1 0 3 - 0 0 1.00 60.00 120.00 - 8865 6210 9290 5502 8865 4860 - 0.000 -1.000 0.000 -3 2 0 1 0 7 50 0 -1 0.000 0 0 1 3 - 0 0 1.00 60.00 120.00 - 8865 6390 9450 5490 8865 4725 - 0.000 -1.000 0.000 -3 2 0 1 0 7 50 0 -1 0.000 0 0 1 3 - 0 0 1.00 60.00 120.00 - 8865 4140 9405 3510 8865 2700 - 0.000 -1.000 0.000 -3 2 0 1 0 7 50 0 -1 0.000 0 0 1 3 - 0 0 1.00 60.00 120.00 - 8865 2610 9540 3510 8865 4275 - 0.000 -1.000 0.000 -3 2 1 1 0 7 50 0 -1 4.000 0 1 0 8 - 0 0 1.00 60.00 120.00 - 8865 6480 10485 6300 11160 5850 10890 5130 9720 4635 8730 4725 - 8190 5490 8595 6120 - 0.000 -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 0.000 -3 2 1 1 0 7 50 0 -1 4.000 0 1 0 7 - 0 0 1.00 60.00 120.00 - 8865 2700 10665 2745 11160 3375 10215 4230 8730 4275 7920 3780 - 7740 3150 - 0.000 -1.000 -1.000 -1.000 -1.000 -1.000 0.000 -3 2 2 1 0 7 50 0 -1 1.000 0 1 0 3 - 0 0 1.00 60.00 120.00 - 3285 4950 3285 5445 3735 5355 - 0.000 -1.000 0.000 -3 2 2 1 0 7 50 0 -1 1.000 0 1 0 4 - 0 0 1.00 60.00 120.00 - 3555 4185 3735 3825 3330 3510 3780 3375 - 0.000 -1.000 -1.000 0.000 -3 2 2 1 0 7 50 0 -1 1.000 0 1 0 3 - 0 0 1.00 60.00 120.00 - 6570 6210 6570 5940 7065 5895 - 0.000 -1.000 0.000 -3 2 2 1 0 7 50 0 -1 1.000 0 1 0 3 - 0 0 1.00 60.00 120.00 - 6570 2610 6570 2295 7065 2295 - 0.000 -1.000 0.000 -3 2 2 1 0 7 50 0 -1 1.000 0 1 0 3 - 0 0 1.00 60.00 120.00 - 7155 2250 8190 1845 9090 2385 - 0.000 -1.000 0.000 -3 2 2 1 0 7 50 0 -1 1.000 0 1 0 4 - 0 0 1.00 60.00 120.00 - 7110 5940 6975 6795 8010 7290 9090 6570 - 0.000 -1.000 -1.000 0.000 -4 0 0 50 0 20 11 0.0000 4 135 585 7605 8685 extra info\001 diff --git a/doc/hackersguide/architecture.svg b/doc/hackersguide/architecture.svg new file mode 100644 index 000000000..2bc41c638 --- /dev/null +++ b/doc/hackersguide/architecture.svg @@ -0,0 +1,2134 @@ + + + + + + + + + image/svg+xml + + + + + + + + + + + + + demuxer plugin + demuxer loop + + buf + + buf + + buf + + buf + + buf + + buf + + buf + + buffer pool + + input plugin + + metronom + + xine stream + + stream layer + + decoder layer + + stream fifos + + demuxer layer + + input layer + + + + metronom clock + clock sync loop + scr plugin + + output layer + + + + overlay manager + OSD + + + extra info datapath + + + detailed datapath + + + datapath + xine buffer + discontinuity + presentation timestamp + virtual presentation timestamp + subpicture unit + + buf + + buf + + buf + + buf + + video fifo + ... + + buf + + buf + + buf + + buf + + audio fifo + ... + + + audio decoder loop + audio decoder plugin + + + + video decoder loop + spu decoder plugin + video decoder plugin + + + + audio out loop + audio out plugin + out fifo + + + + video out loop + video out plugin + out fifo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + extra info + post + plugins + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + buf + buf + buf + buf + disc + disc + pts + vpts + pts + pts + vpts + time + time + spu + pts + vpts + vpts + vpts + pts + buf + disc + pts + vpts + spu + buf + buf + buf + buf + frames + samples + frames + + + + + + + + + + + + + + + + + + + diff --git a/doc/hackersguide/library.fig b/doc/hackersguide/library.fig deleted file mode 100644 index 13dc79f0e..000000000 --- a/doc/hackersguide/library.fig +++ /dev/null @@ -1,313 +0,0 @@ -#FIG 3.2 -Landscape -Center -Metric -A4 -100.00 -Single --2 -1200 2 -6 900 405 1350 855 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 3 - 0 0 1.00 60.00 120.00 - 900 450 1080 450 1080 855 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 3 - 0 0 1.00 60.00 120.00 - 1170 855 1170 450 1350 450 --6 -6 1890 7470 3330 7965 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 1890 7470 3330 7470 3330 7965 1890 7965 1890 7470 -4 0 0 50 0 20 11 0.0000 4 150 885 2205 7740 xine_stream_t\001 --6 -6 3330 7335 4365 8055 -2 3 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 7 - 3330 7695 3510 7335 4185 7335 4365 7695 4185 8055 3510 8055 - 3330 7695 -4 0 0 50 0 20 11 0.0000 4 165 930 3420 7740 xine_post_wire\001 --6 -6 3915 6210 7335 8235 -6 4770 6705 5220 7155 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 3 - 0 0 1.00 60.00 120.00 - 4770 6750 4950 6750 4950 7155 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 3 - 0 0 1.00 60.00 120.00 - 5040 7155 5040 6750 5220 6750 --6 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 3 - 4635 7425 5445 7425 5445 7155 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 4635 7155 7065 7155 7065 8235 4635 8235 4635 7155 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 4 - 4635 8235 4365 8235 4365 7155 4635 7155 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 4 - 7065 8235 7335 8235 7335 7155 7065 7155 -4 0 0 50 0 20 11 0.0000 4 165 1785 3915 6570 xine_list_post_plugins_typed\001 -4 0 0 50 0 20 11 0.0000 4 165 1365 3915 6345 xine_list_post_plugins\001 -4 0 0 50 0 20 11 0.0000 4 165 1155 5265 6795 xine_post_dispose\001 -4 0 0 50 0 20 11 0.0000 4 165 720 4680 7335 xine_post_t\001 -4 0 0 50 0 20 11 0.0000 4 165 855 3915 6795 xine_post_init\001 -4 0 0 50 0 20 11 1.5708 4 165 900 4545 8100 xine_post_in_t\001 -4 0 0 50 0 20 11 1.5708 4 165 990 7245 8145 xine_post_out_t\001 -4 0 0 50 0 20 11 0.0000 4 165 1065 6075 7875 xine_post_output\001 -4 0 0 50 0 20 11 0.0000 4 165 1395 4680 7875 xine_post_list_outputs\001 -4 0 0 50 0 20 11 0.0000 4 165 1305 4680 7650 xine_post_list_inputs\001 -4 0 0 50 0 20 11 0.0000 4 165 975 6075 7650 xine_post_input\001 --6 -6 7335 7335 8370 8055 -2 3 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 7 - 7335 7695 7515 7335 8190 7335 8370 7695 8190 8055 7515 8055 - 7335 7695 -4 0 0 50 0 20 11 0.0000 4 165 930 7425 7740 xine_post_wire\001 --6 -6 8370 7425 9630 7920 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 8390 7438 9630 7438 9630 7920 8390 7920 8390 7438 -4 0 0 50 0 20 11 0.0000 4 165 720 8705 7708 xine_post_t\001 --6 -6 9630 7335 11520 8055 -2 3 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 7 - 9630 7695 9810 7335 11340 7335 11520 7695 11340 8055 9810 8055 - 9630 7695 -4 0 0 50 0 20 11 0.0000 4 165 1650 9765 7740 xine_post_wire_video_port\001 --6 -6 11520 7425 12780 7920 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 11540 7438 12780 7438 12780 7920 11540 7920 11540 7438 -4 0 0 50 0 20 11 0.0000 4 165 1095 11655 7708 xine_video_port_t\001 --6 -6 2250 5580 2970 7470 -2 3 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 7 - 2610 7470 2250 7290 2250 5760 2610 5580 2970 5760 2970 7290 - 2610 7470 -4 0 0 50 0 20 11 1.5708 4 150 1680 2655 7335 xine_stream_master_slave\001 --6 -6 10215 2565 13635 4005 -6 11655 2790 12105 3240 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 3 - 0 0 1.00 60.00 120.00 - 11655 2835 11835 2835 11835 3240 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 3 - 0 0 1.00 60.00 120.00 - 11925 3240 11925 2835 12105 2835 --6 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 3 - 11520 3510 12690 3510 12690 3240 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 11520 3240 13590 3240 13590 4005 11520 4005 11520 3240 -4 0 0 50 0 20 11 0.0000 4 165 1890 10215 2700 xine_list_video_output_plugins\001 -4 0 0 50 0 20 11 0.0000 4 150 1485 12150 2880 xine_close_video_driver\001 -4 0 0 50 0 20 11 0.0000 4 165 1455 10215 2880 xine_open_video_driver\001 -4 0 0 50 0 20 11 0.0000 4 165 1095 11565 3420 xine_video_port_t\001 -4 0 0 50 0 20 11 0.0000 4 165 1545 11655 3780 xine_port_send_gui_data\001 --6 -6 9630 4995 11520 5715 -2 3 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 7 - 9630 5355 9810 4995 11340 4995 11520 5355 11340 5715 9810 5715 - 9630 5355 -4 0 0 50 0 20 11 0.0000 4 165 1650 9765 5400 xine_post_wire_audio_port\001 --6 -6 8370 5085 9630 5580 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 8390 5098 9630 5098 9630 5580 8390 5580 8390 5098 -4 0 0 50 0 20 11 0.0000 4 165 720 8705 5368 xine_post_t\001 --6 -6 10215 4185 13635 5625 -6 11655 4410 12105 4860 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 3 - 0 0 1.00 60.00 120.00 - 11655 4455 11835 4455 11835 4860 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 3 - 0 0 1.00 60.00 120.00 - 11925 4860 11925 4455 12105 4455 --6 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 3 - 11520 5130 12690 5130 12690 4860 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 11520 4860 13590 4860 13590 5625 11520 5625 11520 4860 -4 0 0 50 0 20 11 0.0000 4 165 1890 10215 4320 xine_list_audio_output_plugins\001 -4 0 0 50 0 20 11 0.0000 4 150 1485 12150 4500 xine_close_audio_driver\001 -4 0 0 50 0 20 11 0.0000 4 165 1455 10215 4500 xine_open_audio_driver\001 -4 0 0 50 0 20 11 0.0000 4 165 1095 11565 5040 xine_audio_port_t\001 --6 -6 945 3060 7290 5580 -6 2025 3105 2475 3555 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 3 - 0 0 1.00 60.00 120.00 - 2025 3150 2205 3150 2205 3555 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 3 - 0 0 1.00 60.00 120.00 - 2295 3555 2295 3150 2475 3150 --6 -6 7020 3555 7290 5580 -6 7065 3555 7245 4545 -4 0 0 50 0 20 11 1.5708 4 165 990 7200 4545 xine_post_out_t\001 --6 -6 7065 4545 7245 5535 -4 0 0 50 0 20 11 1.5708 4 165 990 7200 5535 xine_post_out_t\001 --6 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 - 7020 4590 7290 4590 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 4 - 7020 5580 7290 5580 7290 3555 7020 3555 --6 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 3 - 1890 3825 2835 3825 2835 3555 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 1890 3555 7020 3555 7020 5580 1890 5580 1890 3555 -4 0 0 50 0 20 11 0.0000 4 165 885 3015 4545 xine_get_error\001 -4 0 0 50 0 20 11 0.0000 4 165 990 3015 4770 xine_get_status\001 -4 0 0 50 0 20 11 0.0000 4 165 1275 3015 4995 xine_get_pos_length\001 -4 0 0 50 0 20 11 0.0000 4 165 1260 3015 5220 xine_get_audio_lang\001 -4 0 0 50 0 20 11 0.0000 4 165 1155 3015 5445 xine_get_spu_lang\001 -4 0 0 50 0 20 11 0.0000 4 165 630 2115 4095 xine_open\001 -4 0 0 50 0 20 11 0.0000 4 165 585 2115 4320 xine_play\001 -4 0 0 50 0 20 11 0.0000 4 165 600 2115 4545 xine_stop\001 -4 0 0 50 0 20 11 0.0000 4 150 660 2115 4770 xine_close\001 -4 0 0 50 0 20 11 0.0000 4 165 630 2115 4995 xine_eject\001 -4 0 0 50 0 20 11 0.0000 4 165 990 3015 4095 xine_set_param\001 -4 0 0 50 0 20 11 0.0000 4 165 990 3015 4320 xine_get_param\001 -4 0 0 50 0 20 11 0.0000 4 165 1320 2520 3195 xine_stream_dispose\001 -4 0 0 50 0 20 11 0.0000 4 150 885 1935 3735 xine_stream_t\001 -4 0 0 50 0 20 11 0.0000 4 150 1095 945 3195 xine_stream_new\001 -4 0 0 50 0 20 11 0.0000 4 165 1470 5535 4095 xine_get_current_frame\001 -4 0 0 50 0 20 11 0.0000 4 165 1380 5535 4320 xine_get_current_vpts\001 -4 0 0 50 0 20 11 0.0000 4 150 1020 5535 4545 xine_trick_mode\001 -4 0 0 50 0 20 11 0.0000 4 165 1425 5535 4995 xine_get_audio_source\001 -4 0 0 50 0 20 11 0.0000 4 165 1425 5535 5220 xine_get_video_source\001 -4 0 0 50 0 20 11 0.0000 4 165 1335 4185 4095 xine_get_stream_info\001 -4 0 0 50 0 20 11 0.0000 4 165 1215 4185 4320 xine_get_meta_info\001 --6 -6 945 1260 2430 1890 -4 0 0 50 0 20 11 0.0000 4 150 510 945 1395 xine_init\001 -4 0 0 50 0 20 11 0.0000 4 165 1470 945 1620 xine_engine_set_param\001 -4 0 0 50 0 20 11 0.0000 4 165 1470 945 1845 xine_engine_get_param\001 --6 -6 5850 1260 8055 2790 -4 0 0 50 0 20 11 0.0000 4 165 1395 5850 1395 xine_get_browse_mrls\001 -4 0 0 50 0 20 11 0.0000 4 165 2190 5850 1620 xine_get_autoplay_input_plugin_ids\001 -4 0 0 50 0 20 11 0.0000 4 165 1470 5850 1845 xine_get_autoplay_mrls\001 -4 0 0 50 0 20 11 0.0000 4 165 1530 5850 2070 xine_get_file_extensions\001 -4 0 0 50 0 20 11 0.0000 4 165 1365 5850 2295 xine_get_mime_types\001 -4 0 0 50 0 20 11 0.0000 4 165 2025 5850 2520 xine_get_demux_for_mime_type\001 -4 0 0 50 0 20 11 0.0000 4 165 2085 5850 2745 xine_get_input_plugin_description\001 --6 -6 3960 1260 5670 2340 -4 0 0 50 0 20 11 0.0000 4 165 1380 3960 1395 xine_config_register_*\001 -4 0 0 50 0 20 11 0.0000 4 165 1680 3960 1620 xine_config_get_first_entry\001 -4 0 0 50 0 20 11 0.0000 4 165 1710 3960 1845 xine_config_get_next_entry\001 -4 0 0 50 0 20 11 0.0000 4 165 1575 3960 2070 xine_config_lookup_entry\001 -4 0 0 50 0 20 11 0.0000 4 165 1590 3960 2295 xine_config_update_entry\001 --6 -6 2655 1260 3780 1890 -4 0 0 50 0 20 11 0.0000 4 165 1035 2655 1395 xine_config_load\001 -4 0 0 50 0 20 11 0.0000 4 165 1080 2655 1620 xine_config_save\001 -4 0 0 50 0 20 11 0.0000 4 165 1095 2655 1845 xine_config_reset\001 --6 -6 2655 9630 6345 12150 -6 4005 9675 4455 10125 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 3 - 0 0 1.00 60.00 120.00 - 4005 9720 4185 9720 4185 10125 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 3 - 0 0 1.00 60.00 120.00 - 4275 10125 4275 9720 4455 9720 --6 -6 3825 10485 6255 11295 -6 4725 10575 5175 11025 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 3 - 0 0 1.00 60.00 120.00 - 4725 10620 4905 10620 4905 11025 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 3 - 0 0 1.00 60.00 120.00 - 4995 11025 4995 10620 5175 10620 --6 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 4455 11025 5445 11025 5445 11295 4455 11295 4455 11025 -4 0 0 50 0 20 11 0.0000 4 150 795 4590 11205 xine_event_t\001 -4 0 0 50 0 20 11 0.0000 4 150 990 5265 10665 xine_event_free\001 -4 0 0 50 0 20 11 0.0000 4 165 945 3825 10620 xine_event_get\001 -4 0 0 50 0 20 11 0.0000 4 150 1005 3825 10755 xine_event_wait\001 --6 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 3 - 3690 10395 5085 10395 5085 10125 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 3690 10125 6345 10125 6345 11700 3690 11700 3690 10125 -4 0 0 50 0 20 11 0.0000 4 165 1455 2655 9765 xine_event_new_queue\001 -4 0 0 50 0 20 11 0.0000 4 165 1680 4545 9765 xine_event_dispose_queue\001 -4 0 0 50 0 20 11 0.0000 4 165 1245 3780 10305 xine_event_queue_t\001 -4 0 0 50 0 20 11 0.0000 4 150 2130 3825 11565 xine_event_create_listener_thread\001 -4 0 0 50 0 20 11 0.0000 4 150 1050 2655 12105 xine_event_send\001 --6 -6 8415 1260 10710 2340 -4 0 0 50 0 22 11 0.0000 4 165 1605 8415 1395 xine_list_input_plugins\001 -4 0 0 50 0 22 11 0.0000 4 165 1830 8415 1620 xine_list_demuxer_plugins\001 -4 0 0 50 0 22 11 0.0000 4 165 2250 8415 1845 xine_list_video_decoder_plugins\001 -4 0 0 50 0 22 11 0.0000 4 165 2265 8415 2070 xine_list_audio_decoder_plugins\001 -4 0 0 50 0 22 11 0.0000 4 165 1500 8415 2295 xine_list_spu_plugins\001 --6 -6 11115 1260 12870 2340 -4 0 0 50 0 20 11 0.0000 4 165 1725 11115 1395 xine_get_log_section_count\001 -4 0 0 50 0 20 11 0.0000 4 165 1275 11115 1620 xine_get_log_names\001 -4 0 0 50 0 20 11 0.0000 4 165 510 11115 1845 xine_log\001 -4 0 0 50 0 20 11 0.0000 4 165 780 11115 2070 xine_get_log\001 -4 0 0 50 0 20 11 0.0000 4 165 1275 11115 2295 xine_register_log_cb\001 --6 -6 6930 9630 11205 11925 -6 7785 9675 8235 10125 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 3 - 0 0 1.00 60.00 120.00 - 7785 9720 7965 9720 7965 10125 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 3 - 0 0 1.00 60.00 120.00 - 8055 10125 8055 9720 8235 9720 --6 -6 7605 10485 9225 11790 -4 0 0 50 0 20 11 0.0000 4 150 1065 7605 10620 xine_osd_draw_*\001 -4 0 0 50 0 20 11 0.0000 4 165 1455 7605 11520 xine_osd_set_encoding\001 -4 0 0 50 0 20 11 0.0000 4 150 1140 7605 11295 xine_osd_set_font\001 -4 0 0 50 0 20 11 0.0000 4 165 1470 7605 11070 xine_osd_get_text_size\001 -4 0 0 50 0 20 11 0.0000 4 165 1380 7605 11745 xine_osd_set_position\001 -4 0 0 50 0 20 11 0.0000 4 165 1590 7605 10845 xine_osd_get_capabilities\001 --6 -6 9405 10260 11070 11790 -4 0 0 50 0 20 11 0.0000 4 150 960 9405 10395 xine_osd_show\001 -4 0 0 50 0 20 11 0.0000 4 165 1320 9405 11520 xine_osd_get_palette\001 -4 0 0 50 0 20 11 0.0000 4 165 1635 9405 11295 xine_osd_set_text_palette\001 -4 0 0 50 0 20 11 0.0000 4 150 930 9405 11070 xine_osd_clear\001 -4 0 0 50 0 20 11 0.0000 4 150 885 9405 10845 xine_osd_hide\001 -4 0 0 50 0 20 11 0.0000 4 150 1590 9405 10620 xine_osd_show_unscaled\001 -4 0 0 50 0 20 11 0.0000 4 165 1320 9405 11745 xine_osd_set_palette\001 --6 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 3 - 7470 10395 8325 10395 8325 10125 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 7470 10125 11205 10125 11205 11925 7470 11925 7470 10125 -4 0 0 50 0 20 11 0.0000 4 150 870 8325 9765 xine_osd_free\001 -4 0 0 50 0 20 11 0.0000 4 150 675 7560 10305 xine_osd_t\001 -4 0 0 50 0 20 11 0.0000 4 150 885 6930 9765 xine_osd_new\001 --6 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 3 - 765 1125 1350 1125 1350 855 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 765 855 14085 855 14085 8595 765 8595 765 855 -2 3 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 7 - 7290 3780 7470 3420 11340 3420 11520 3780 11340 4140 7470 4140 - 7290 3780 -2 3 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 7 - 7290 5355 7470 4995 8190 4995 8370 5355 8190 5715 7470 5715 - 7290 5355 -2 1 2 1 0 7 50 0 -1 3.000 0 0 -1 0 0 2 - 2520 9000 1890 7470 -2 1 2 1 0 7 50 0 -1 3.000 0 0 -1 0 0 2 - 1890 7965 2520 12510 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 3 - 2520 9270 3555 9270 3555 9000 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 2520 9000 11745 9000 11745 12510 2520 12510 2520 9000 -4 0 0 50 0 20 11 0.0000 4 150 375 855 1035 xine_t\001 -4 0 0 50 0 20 11 0.0000 4 150 555 1395 495 xine_exit\001 -4 0 0 50 0 20 11 0.0000 4 150 585 315 495 xine_new\001 -4 0 0 50 0 20 11 0.0000 4 150 1155 2790 495 xine_health_check\001 -4 0 0 50 0 20 11 0.0000 4 150 885 2610 9180 xine_stream_t\001 diff --git a/doc/hackersguide/library.svg b/doc/hackersguide/library.svg new file mode 100644 index 000000000..d8a5728b2 --- /dev/null +++ b/doc/hackersguide/library.svg @@ -0,0 +1,1732 @@ + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + xine_stream_t + + xine_post_wire + + + + + + + + + xine_list_post_plugins_typed + xine_list_post_plugins + xine_post_dispose + xine_post_t + xine_post_init + + xine_post_in_t + + + xine_post_out_t + + xine_post_output + xine_post_list_outputs + xine_post_list_inputs + xine_post_input + + xine_post_wire + + xine_post_t + + xine_post_wire_video_port + + xine_video_port_t + + + xine_stream_master_slave + + + + + + + + xine_list_video_output_plugins + xine_close_video_driver + xine_open_video_driver + xine_video_port_t + xine_port_send_gui_data + + xine_post_wire_audio_port + + xine_post_t + + + + + + + xine_list_audio_output_plugins + xine_close_audio_driver + xine_open_audio_driver + xine_audio_port_t + + + + + + xine_post_out_t + + + xine_post_out_t + + + + + + xine_get_error + xine_get_status + xine_get_pos_length + xine_get_audio_lang + xine_get_spu_lang + xine_open + xine_play + xine_stop + xine_close + xine_eject + xine_set_param + xine_get_param + xine_stream_dispose + xine_stream_t + xine_stream_new + xine_get_current_frame + xine_get_current_vpts + xine_trick_mode + xine_get_audio_source + xine_get_video_source + xine_get_stream_info + xine_get_meta_info + xine_init + xine_engine_set_param + xine_engine_get_param + xine_get_browse_mrls + xine_get_autoplay_input_plugin_ids + xine_get_autoplay_mrls + xine_get_file_extensions + xine_get_mime_types + xine_get_demux_for_mime_type + xine_get_input_plugin_description + xine_config_register_* + xine_config_get_first_entry + xine_config_get_next_entry + xine_config_lookup_entry + xine_config_update_entry + xine_config_load + xine_config_save + xine_config_reset + + + + + + + + + + xine_event_t + xine_event_free + xine_event_get + xine_event_wait + + + xine_event_new_queue + xine_event_dispose_queue + xine_event_queue_t + xine_event_create_listener_thread + xine_event_send + xine_list_input_plugins + xine_list_demuxer_plugins + xine_list_video_decoder_plugins + xine_list_audio_decoder_plugins + xine_list_spu_plugins + xine_get_log_section_count + xine_get_log_names + xine_log + xine_get_log + xine_register_log_cb + + + + + xine_osd_draw_* + xine_osd_set_encoding + xine_osd_set_font + xine_osd_get_text_size + xine_osd_set_position + xine_osd_get_capabilities + xine_osd_show + xine_osd_get_palette + xine_osd_set_text_palette + xine_osd_clear + xine_osd_hide + xine_osd_show_unscaled + xine_osd_set_palette + + + xine_osd_free + xine_osd_t + xine_osd_new + + + + + + + + + xine_t + xine_exit + xine_new + xine_health_check + xine_stream_t + + diff --git a/doc/hackersguide/overlays.fig b/doc/hackersguide/overlays.fig deleted file mode 100644 index 0301aead2..000000000 --- a/doc/hackersguide/overlays.fig +++ /dev/null @@ -1,64 +0,0 @@ -#FIG 3.2 -Portrait -Center -Metric -A4 -100.00 -Single --2 -1200 2 -0 32 #ffffff -6 3600 2340 5670 3555 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 3600 2340 5670 2340 5670 3555 3600 3555 3600 2340 -4 0 0 50 0 20 14 0.0000 4 165 1050 4140 3015 OSD renderer\001 --6 -6 495 3825 2700 4365 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 495 3825 2700 3825 2700 4365 495 4365 495 3825 -4 0 0 50 0 20 14 0.0000 4 195 1320 900 4185 public libxine API\001 --6 -6 495 2880 2700 3420 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 495 2880 2700 2880 2700 3420 495 3420 495 2880 -4 0 0 50 0 20 14 0.0000 4 195 1830 675 3240 libsputext (text subtitles)\001 --6 -6 495 2160 2700 2700 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 495 2160 2700 2160 2700 2700 495 2700 495 2160 -4 0 0 50 0 20 14 0.0000 4 195 1965 585 2520 libspucc (closed captions)\001 --6 -6 6435 1575 8865 2790 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 6435 1575 8865 1575 8865 2790 6435 2790 6435 1575 -4 0 0 50 0 20 14 0.0000 4 210 1260 6975 2250 overlay manager\001 --6 -6 6435 3780 8865 4995 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 6435 3780 8865 3780 8865 4995 6435 4995 6435 3780 -4 0 0 50 0 20 14 0.0000 4 165 675 7290 4455 video out\001 --6 -6 495 1440 2700 1980 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 495 1440 2700 1440 2700 1980 495 1980 495 1440 -4 0 0 50 0 20 14 0.0000 4 195 1920 585 1800 libspudec (DVD subtitles)\001 --6 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 4 - 0 0 1.00 60.00 120.00 - 2700 4095 3105 4095 3105 3375 3600 3375 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 2700 1710 6435 1710 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 2700 3150 3600 3150 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 1 2 - 0 0 1.00 60.00 120.00 - 0 0 1.00 60.00 120.00 - 7650 2790 7650 3780 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 5670 2565 6435 2565 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2 - 0 0 1.00 60.00 120.00 - 2700 2430 3600 2430 diff --git a/doc/hackersguide/overlays.svg b/doc/hackersguide/overlays.svg new file mode 100644 index 000000000..af8cc3572 --- /dev/null +++ b/doc/hackersguide/overlays.svg @@ -0,0 +1,256 @@ + + + + + + + + + image/svg+xml + + + + + + + + + + OSD renderer + + public libxine API + + libsputext (text subtitles) + + libspucc (closed captions) + + overlay manager + + video out + + libspudec (DVD subtitles) + + + + + + + + + + + + + + + diff --git a/doc/hackersguide/post_frame.fig b/doc/hackersguide/post_frame.fig deleted file mode 100644 index 4f576abdd..000000000 --- a/doc/hackersguide/post_frame.fig +++ /dev/null @@ -1,347 +0,0 @@ -#FIG 3.2 -Landscape -Center -Metric -A4 -100.00 -Single --2 -1200 2 -6 2970 585 9360 9945 -2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 3 - 3015 900 3915 900 3915 630 -2 2 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 3015 630 9315 630 9315 9900 3015 9900 3015 630 -4 0 0 50 0 20 11 0.0000 4 165 675 3105 810 post plugin\001 --6 -6 5040 1125 7200 1530 -2 2 0 1 0 4 40 0 20 0.000 0 0 -1 0 0 5 - 5040 1125 7200 1125 7200 1530 5040 1530 5040 1125 -4 0 0 30 0 20 11 0.0000 4 165 1545 5220 1395 _x_post_intercept_frame\001 --6 -6 3645 990 4635 1620 -2 2 0 1 0 3 40 0 20 0.000 0 0 -1 0 0 5 - 3735 1080 4635 1080 4635 1620 3735 1620 3735 1080 -2 2 0 1 0 4 30 0 20 0.000 0 0 -1 0 0 5 - 3645 990 4545 990 4545 1530 3645 1530 3645 990 --6 -6 5040 2160 7200 2565 -2 2 0 1 0 7 40 0 20 0.000 0 0 -1 0 0 5 - 5040 2160 7200 2160 7200 2565 5040 2565 5040 2160 -4 0 0 30 0 20 11 0.0000 4 165 1710 5220 2430 _x_post_frame_copy_down\001 --6 -6 5040 3060 7200 3465 -2 2 0 1 0 7 40 0 20 0.000 0 0 -1 0 0 5 - 5040 3060 7200 3060 7200 3465 5040 3465 5040 3060 -4 0 0 30 0 20 11 0.0000 4 165 1530 5220 3330 _x_post_frame_copy_up\001 --6 -6 3645 2025 4635 2655 -2 2 0 1 0 4 30 0 20 0.000 0 0 -1 0 0 5 - 3645 2025 4545 2025 4545 2565 3645 2565 3645 2025 -2 2 0 1 0 3 40 0 20 0.000 0 0 -1 0 0 5 - 3735 2115 4635 2115 4635 2655 3735 2655 3735 2115 -4 0 0 20 0 18 25 0.0000 4 270 225 3825 2430 d\001 --6 -6 7830 2025 8820 2655 -2 2 0 1 0 3 40 0 20 0.000 0 0 -1 0 0 5 - 7920 2115 8820 2115 8820 2655 7920 2655 7920 2115 -2 2 0 1 0 4 30 0 -1 0.000 0 0 -1 0 0 5 - 7830 2025 8730 2025 8730 2565 7830 2565 7830 2025 -4 0 0 20 0 18 25 0.0000 4 270 225 8100 2520 d\001 --6 -6 7830 2925 8820 3555 -2 2 0 1 0 3 40 0 20 0.000 0 0 -1 0 0 5 - 7920 3015 8820 3015 8820 3555 7920 3555 7920 3015 -2 2 0 1 0 4 30 0 -1 0.000 0 0 -1 0 0 5 - 7830 2925 8730 2925 8730 3465 7830 3465 7830 2925 -4 0 0 20 0 18 25 0.0000 4 285 555 8100 3420 d u\001 --6 -6 3645 2925 4635 3555 -2 2 0 1 0 4 30 0 20 0.000 0 0 -1 0 0 5 - 3645 2925 4545 2925 4545 3465 3645 3465 3645 2925 -2 2 0 1 0 3 40 0 20 0.000 0 0 -1 0 0 5 - 3735 3015 4635 3015 4635 3555 3735 3555 3735 3015 -4 0 0 20 0 18 25 0.0000 4 285 555 3825 3330 d u\001 --6 -6 7875 4725 8775 5265 -2 2 0 1 0 3 40 0 15 0.000 0 0 -1 0 0 5 - 7875 4725 8775 4725 8775 5265 7875 5265 7875 4725 -4 0 0 20 0 18 25 0.0000 4 270 225 8055 5130 d\001 --6 -6 3645 4005 4635 4635 -2 2 0 1 0 4 30 0 20 0.000 0 0 -1 0 0 5 - 3645 4005 4545 4005 4545 4545 3645 4545 3645 4005 -2 2 0 1 0 3 40 0 20 0.000 0 0 -1 0 0 5 - 3735 4095 4635 4095 4635 4635 3735 4635 3735 4095 -4 0 0 20 0 18 25 0.0000 4 270 225 3825 4410 d\001 --6 -6 7875 6300 8775 6840 -2 2 0 1 0 3 40 0 15 0.000 0 0 -1 0 0 5 - 7875 6300 8775 6300 8775 6840 7875 6840 7875 6300 -4 0 0 20 0 18 25 0.0000 4 285 555 8055 6705 d u\001 --6 -6 7875 5625 8775 6165 -2 2 0 1 0 3 40 0 15 0.000 0 0 -1 0 0 5 - 7875 5625 8775 5625 8775 6165 7875 6165 7875 5625 -4 0 0 20 0 18 25 0.0000 4 285 555 8055 6030 d u\001 --6 -6 3645 7245 4635 7875 -2 2 0 1 0 4 30 0 20 0.000 0 0 -1 0 0 5 - 3645 7245 4545 7245 4545 7785 3645 7785 3645 7245 -2 2 0 1 0 3 40 0 20 0.000 0 0 -1 0 0 5 - 3735 7335 4635 7335 4635 7875 3735 7875 3735 7335 -4 0 0 20 0 18 25 0.0000 4 270 225 3825 7650 d\001 --6 -6 3645 8145 4635 8775 -2 2 0 1 0 4 30 0 20 0.000 0 0 -1 0 0 5 - 3645 8145 4545 8145 4545 8685 3645 8685 3645 8145 -2 2 0 1 0 3 40 0 20 0.000 0 0 -1 0 0 5 - 3735 8235 4635 8235 4635 8775 3735 8775 3735 8235 -4 0 0 20 0 18 25 0.0000 4 285 555 3825 8550 d u\001 --6 -6 5040 7830 7200 8235 -2 2 0 1 0 7 40 0 20 0.000 0 0 -1 0 0 5 - 5040 7830 7200 7830 7200 8235 5040 8235 5040 7830 -4 0 0 30 0 20 11 0.0000 4 165 1395 5220 8100 _x_post_frame_u_turn\001 --6 -6 990 1125 2340 1530 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 990 1125 2340 1125 2340 1530 990 1530 990 1125 -4 0 0 50 0 20 11 0.0000 4 165 630 1170 1395 get_frame\001 --6 -6 990 2025 2340 3510 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 990 2025 2340 2025 2340 3510 990 3510 990 2025 -4 0 0 50 0 20 11 0.0000 4 120 255 1170 2475 field\001 -4 0 0 50 0 20 11 0.0000 4 120 255 1170 2700 lock\001 -4 0 0 50 0 20 11 0.0000 4 165 705 1170 2925 proc_frame\001 -4 0 0 50 0 20 11 0.0000 4 165 630 1170 3150 proc_slice\001 -4 0 0 50 0 20 11 0.0000 4 165 1065 1170 3375 proc_macroblock\001 -4 0 0 50 0 20 11 0.0000 4 120 300 1170 2250 draw\001 --6 -6 990 4095 2340 6795 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 990 4095 2340 4095 2340 6795 990 6795 990 4095 -4 0 0 50 0 20 11 0.0000 4 120 255 1170 4555 field\001 -4 0 0 50 0 20 11 0.0000 4 120 255 1170 4761 lock\001 -4 0 0 50 0 20 11 0.0000 4 165 705 1170 4969 proc_frame\001 -4 0 0 50 0 20 11 0.0000 4 165 630 1170 5175 proc_slice\001 -4 0 0 50 0 20 11 0.0000 4 165 1065 1170 5383 proc_macroblock\001 -4 0 0 50 0 20 11 0.0000 4 120 300 1170 4347 draw\001 --6 -6 990 7335 2340 8640 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 990 7335 2340 7335 2340 8640 990 8640 990 7335 -4 0 0 50 0 20 11 0.0000 4 120 300 1170 7605 draw\001 --6 -6 9990 1125 11340 1530 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 9990 1125 11340 1125 11340 1530 9990 1530 9990 1125 -4 0 0 50 0 20 11 0.0000 4 165 630 10170 1395 get_frame\001 --6 -6 9990 2025 11340 3510 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 9990 2025 11340 2025 11340 3510 9990 3510 9990 2025 -4 0 0 50 0 20 11 0.0000 4 120 255 10170 2475 field\001 -4 0 0 50 0 20 11 0.0000 4 120 255 10170 2700 lock\001 -4 0 0 50 0 20 11 0.0000 4 165 705 10170 2925 proc_frame\001 -4 0 0 50 0 20 11 0.0000 4 165 630 10170 3150 proc_slice\001 -4 0 0 50 0 20 11 0.0000 4 165 1065 10170 3375 proc_macroblock\001 -4 0 0 50 0 20 11 0.0000 4 120 300 10170 2250 draw\001 --6 -6 9990 4140 11340 4545 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 9990 4140 11340 4140 11340 4545 9990 4545 9990 4140 -4 0 0 50 0 20 11 0.0000 4 165 630 10170 4410 get_frame\001 --6 -6 9990 4725 11340 6210 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 9990 4725 11340 4725 11340 6210 9990 6210 9990 4725 -4 0 0 50 0 20 11 0.0000 4 120 255 10170 5175 field\001 -4 0 0 50 0 20 11 0.0000 4 120 255 10170 5400 lock\001 -4 0 0 50 0 20 11 0.0000 4 165 705 10170 5625 proc_frame\001 -4 0 0 50 0 20 11 0.0000 4 165 630 10170 5850 proc_slice\001 -4 0 0 50 0 20 11 0.0000 4 165 1065 10170 6075 proc_macroblock\001 -4 0 0 50 0 20 11 0.0000 4 120 300 10170 4950 draw\001 --6 -6 9990 6390 11340 6795 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 9990 6390 11340 6390 11340 6795 9990 6795 9990 6390 -4 0 0 50 0 20 11 0.0000 4 120 240 10170 6660 free\001 --6 -6 180 585 765 1755 -2 2 0 2 0 7 20 0 -1 6.000 0 0 -1 0 0 5 - 225 630 720 630 720 1710 225 1710 225 630 -4 0 0 20 0 20 15 1.5708 4 210 960 540 1665 interception\001 --6 -6 180 1890 765 3735 -2 2 0 2 0 7 20 0 -1 6.000 0 0 -1 0 0 5 - 225 1935 720 1935 720 3690 225 3690 225 1935 -4 0 0 20 0 20 15 1.5708 4 225 1065 540 3375 pass through\001 --6 -6 180 3870 765 7020 -2 2 0 2 0 7 20 0 -1 6.000 0 0 -1 0 0 5 - 225 3915 720 3915 720 6975 225 6975 225 3915 -4 0 0 20 0 20 15 1.5708 4 225 1380 540 6165 modifying a copy\001 --6 -6 180 7155 765 8910 -2 2 0 2 0 7 20 0 -1 6.000 0 0 -1 0 0 5 - 225 7200 720 7200 720 8865 225 8865 225 7200 -4 0 0 20 0 20 15 1.5708 4 180 1245 540 8685 dead-end draw\001 --6 -6 180 9045 765 9945 -2 2 0 2 0 7 20 0 -1 6.000 0 0 -1 0 0 5 - 225 9090 720 9090 720 9900 225 9900 225 9090 -4 0 0 20 0 20 15 1.5708 4 225 570 540 9810 freeing\001 --6 -6 5040 4455 7200 4860 -2 2 0 1 0 7 40 0 20 0.000 0 0 -1 0 0 5 - 5040 4455 7200 4455 7200 4860 5040 4860 5040 4455 -4 0 0 30 0 20 11 0.0000 4 165 1710 5220 4725 _x_post_frame_copy_down\001 --6 -6 5040 6030 7200 6435 -2 2 0 1 0 7 40 0 20 0.000 0 0 -1 0 0 5 - 5040 6030 7200 6030 7200 6435 5040 6435 5040 6030 -4 0 0 30 0 20 11 0.0000 4 165 1530 5220 6300 _x_post_frame_copy_up\001 --6 -6 3645 6255 4635 6885 -2 2 0 1 0 4 30 0 20 0.000 0 0 -1 0 0 5 - 3645 6255 4545 6255 4545 6795 3645 6795 3645 6255 -2 2 0 1 0 3 40 0 20 0.000 0 0 -1 0 0 5 - 3735 6345 4635 6345 4635 6885 3735 6885 3735 6345 -4 0 0 20 0 18 25 0.0000 4 285 555 3825 6660 d u\001 --6 -6 5040 9270 7200 9675 -2 2 0 1 0 3 40 0 20 0.000 0 0 -1 0 0 5 - 5040 9270 7200 9270 7200 9675 5040 9675 5040 9270 -4 0 0 30 0 20 11 0.0000 4 165 1845 5220 9540 _x_post_restore_video_frame\001 --6 -6 990 9270 2340 9675 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 990 9270 2340 9270 2340 9675 990 9675 990 9270 -4 0 0 50 0 20 11 0.0000 4 165 855 1170 9540 free / dispose\001 --6 -6 9990 9270 11340 9675 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 9990 9270 11340 9270 11340 9675 9990 9675 9990 9270 -4 0 0 50 0 20 11 0.0000 4 165 855 10170 9540 free / dispose\001 --6 -6 6660 4995 7515 5580 -2 3 0 1 0 7 50 0 15 0.000 0 0 -1 0 0 4 - 7065 4995 6840 5220 7290 5220 7065 4995 -4 0 0 50 0 20 11 0.0000 4 150 825 6660 5400 modify frame\001 -4 0 0 50 0 20 11 0.0000 4 120 465 6840 5580 content\001 --6 -6 405 10170 2970 11250 -6 990 10170 1980 10800 -2 2 0 1 0 7 40 0 20 0.000 0 0 -1 0 0 5 - 1080 10260 1980 10260 1980 10800 1080 10800 1080 10260 -2 2 0 1 0 7 30 0 20 0.000 0 0 -1 0 0 5 - 990 10170 1890 10170 1890 10710 990 10710 990 10170 --6 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 3 - 1 1 1.00 120.00 180.00 - 630 11025 630 10440 990 10440 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 3 - 1 1 1.00 120.00 180.00 - 2340 11025 2340 10530 1980 10530 -4 0 0 20 0 20 15 0.0000 4 165 465 405 11250 frame\001 -4 0 0 20 0 20 15 0.0000 4 165 975 1980 11250 frame->next\001 --6 -6 3375 10080 6300 11250 -2 2 0 1 0 4 40 0 20 0.000 0 0 -1 0 0 5 - 3375 10710 4275 10710 4275 11250 3375 11250 3375 10710 -2 2 0 1 0 3 40 0 20 0.000 0 0 -1 0 0 5 - 3375 10080 4275 10080 4275 10620 3375 10620 3375 10080 -4 0 0 50 0 20 15 0.0000 4 225 1890 4410 10440 frame from original port\001 -4 0 0 50 0 20 15 0.0000 4 210 1425 4410 11070 intercepted frame\001 --6 -6 6660 10035 11250 11295 -6 8505 10035 9405 10575 -2 2 0 1 0 3 40 0 -1 0.000 0 0 -1 0 0 5 - 8505 10035 9405 10035 9405 10575 8505 10575 8505 10035 -4 0 0 20 0 18 25 0.0000 4 285 555 8685 10440 d u\001 --6 -6 6660 10170 8055 11295 -4 2 0 50 0 20 15 0.0000 4 165 1005 8055 10350 downstream\001 -4 2 0 50 0 20 15 0.0000 4 165 1380 8055 10650 meta-information\001 -4 2 0 50 0 20 15 0.0000 4 180 1080 8055 10950 from decoder\001 -4 2 0 50 0 20 15 0.0000 4 210 705 8055 11250 to output\001 --6 -6 9855 10170 11250 11295 -4 0 0 50 0 20 15 0.0000 4 210 765 9855 10350 upstream\001 -4 0 0 50 0 20 15 0.0000 4 165 1380 9855 10650 meta-information\001 -4 0 0 50 0 20 15 0.0000 4 210 915 9855 10950 from output\001 -4 0 0 50 0 20 15 0.0000 4 180 870 9855 11250 to decoder\001 --6 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 3 - 1 1 1.00 120.00 180.00 - 8100 10800 8775 10800 8775 10485 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 3 - 1 1 1.00 120.00 180.00 - 9810 10800 9135 10800 9135 10485 --6 -6 3645 9135 4635 9765 -2 2 0 1 0 4 30 0 20 0.000 0 0 -1 0 0 5 - 3645 9135 4545 9135 4545 9675 3645 9675 3645 9135 -2 2 0 1 0 3 40 0 20 0.000 0 0 -1 0 0 5 - 3735 9225 4635 9225 4635 9765 3735 9765 3735 9225 -4 0 0 20 0 18 25 0.0000 4 270 225 3825 9540 d\001 --6 -6 7875 9180 8775 9720 -2 2 0 1 0 3 40 0 20 0.000 0 0 -1 0 0 5 - 7875 9180 8775 9180 8775 9720 7875 9720 7875 9180 -4 0 0 20 0 18 25 0.0000 4 270 225 8055 9585 d\001 --6 -2 1 1 1 0 7 50 0 -1 4.000 0 0 -1 1 0 2 - 0 0 1.00 120.00 180.00 - 9990 1305 7200 1305 -2 1 1 1 0 7 50 0 -1 4.000 0 0 -1 1 0 2 - 0 0 1.00 120.00 180.00 - 5040 1305 2340 1305 -2 2 0 1 0 3 40 0 20 0.000 0 0 -1 0 0 5 - 7875 1035 8775 1035 8775 1575 7875 1575 7875 1035 -2 1 1 1 0 7 50 0 -1 4.000 0 0 -1 1 0 2 - 0 0 1.00 120.00 180.00 - 2340 2340 9990 2340 -2 1 1 1 0 7 50 0 -1 4.000 0 0 -1 1 0 2 - 0 0 1.00 120.00 180.00 - 9990 3240 2340 3240 -2 1 1 1 0 7 50 0 -1 4.000 0 0 -1 1 0 4 - 0 0 1.00 120.00 180.00 - 2340 4320 5625 4320 5625 6570 2340 6570 -2 1 1 1 0 7 50 0 -1 4.000 0 0 -1 1 0 4 - 0 0 1.00 120.00 180.00 - 9990 5895 6570 5895 6570 6570 9990 6570 -2 1 1 1 0 7 50 0 -1 4.000 0 0 -1 1 0 4 - 0 0 1.00 120.00 180.00 - 9990 4320 6570 4320 6570 4995 9990 4995 -2 2 0 1 0 3 40 0 20 0.000 0 0 -1 0 0 5 - 7875 4050 8775 4050 8775 4590 7875 4590 7875 4050 -2 1 1 1 0 7 50 0 -1 4.000 0 0 -1 1 0 4 - 0 0 1.00 120.00 180.00 - 2340 7560 5625 7560 5625 8460 2340 8460 -2 1 1 1 0 7 50 0 -1 10.000 0 0 -1 0 0 2 - 0 1800 11610 1800 -2 1 1 1 0 7 50 0 -1 10.000 0 0 -1 0 0 2 - 0 3780 11610 3780 -2 1 1 1 0 7 50 0 -1 10.000 0 0 -1 0 0 2 - 0 7065 11610 7065 -2 1 1 1 0 7 50 0 -1 4.000 0 0 -1 1 0 2 - 0 0 1.00 120.00 180.00 - 2340 9450 5040 9450 -2 1 1 1 0 7 50 0 -1 4.000 0 0 -1 1 0 2 - 0 0 1.00 120.00 180.00 - 7200 9450 9990 9450 -2 3 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6 - 6075 90 6075 540 3195 540 3015 315 3195 90 6075 90 -2 3 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6 - 6165 90 6165 540 9135 540 9315 315 9135 90 6165 90 -2 1 1 1 0 7 50 0 -1 10.000 0 0 -1 0 0 2 - 0 8955 11610 8955 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 - 3195 9990 3195 11385 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 - 6480 9990 6480 11385 -4 0 0 20 0 20 20 0.0000 4 210 270 5715 405 up\001 -4 0 0 20 0 20 20 0.0000 4 210 585 6300 405 down\001 diff --git a/doc/hackersguide/post_frame.svg b/doc/hackersguide/post_frame.svg new file mode 100644 index 000000000..3558fe605 --- /dev/null +++ b/doc/hackersguide/post_frame.svg @@ -0,0 +1,1564 @@ + + + + + + + + + image/svg+xml + + + + + + + + + + + post plugin + + get_frame + + field + lock + proc_frame + proc_slice + proc_macroblock + draw + + field + lock + proc_frame + proc_slice + proc_macroblock + draw + + draw + + get_frame + + field + lock + proc_frame + proc_slice + proc_macroblock + draw + + get_frame + + field + lock + proc_frame + proc_slice + proc_macroblock + draw + + free + + free / dispose + + free / dispose + + modify frame + content + + + + + frame from original port + intercepted frame + downstream + meta-information + from decoder + to output + upstream + meta-information + from output + to decoder + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + _x_post_intercept_frame + + _x_post_frame_copy_down + _x_post_frame_copy_up + + + + + + + + _x_post_frame_u_turn + _x_post_frame_copy_down + _x_post_frame_copy_up + + _x_post_restore_video_frame + + + d + d + d u + d u + d + d + d u + d u + d + d u + + + interception + + + + pass through + + + + modifying a copy + + + + dead-end draw + + + + freeing + + d u + frame + frame->next + d u + d + d + up + down + + -- cgit v1.2.3