summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornanahi <130121847+na-na-hi@users.noreply.github.com>2024-03-07 00:56:25 -0500
committersfan5 <sfan5@live.de>2024-03-11 21:01:01 +0100
commit73e08043d221729c7a71a23a059378341f5c2634 (patch)
treed0157c3d9616ac161872609d5c64dde658f86e39
parentc254cf42cb30ffefc001137510e287373e6b7125 (diff)
downloadmpv-73e08043d221729c7a71a23a059378341f5c2634.tar.bz2
mpv-73e08043d221729c7a71a23a059378341f5c2634.tar.xz
DOCS/tech-overview.txt: add a section for the new filter framework
76276c92104c31ee936ba5c76a76072f09978c5f introduced a generic filtering framework which replaced the separate video and audio filter chains. Additionally, 6d36fad83c779936a012e85a1eb92ec94651c7c0 and 76e7e78ce989aad546310b9808cf7f96f23a281f made the decoder wrappers a filter. Add a new section to document this, and corrrect the outdated audio/video decoder and filter info.
-rw-r--r--DOCS/tech-overview.txt28
1 files changed, 16 insertions, 12 deletions
diff --git a/DOCS/tech-overview.txt b/DOCS/tech-overview.txt
index 3e11666b34..a24e0161da 100644
--- a/DOCS/tech-overview.txt
+++ b/DOCS/tech-overview.txt
@@ -189,6 +189,14 @@ demux/:
cache, which is implemented as a list of packets. The cache is complex
because it support seeking, multiple ranges, prefetching, and so on.
+filters/:
+ Filter related code. filter.c contains the generic filtering framework
+ which converts input frames to output frames (audio, video, or demux
+ packet data). f_decoder_wrapper.c is a source filter which connects the
+ frontend with the actual audio and video decoders. f_output_chain.c handles
+ VO/AO output conversions. f_autoconvert.c automatically inserts the
+ appropriate conversion filters if format conversion is needed.
+
video/:
This contains several things related to audio/video decoding, as well as
video filters.
@@ -197,15 +205,11 @@ video/:
internally.
video/decode/:
- vd_*.c are video decoders. (There's only vd_lavc.c left.) dec_video.c
- handles most of connecting the frontend with the actual decoder.
+ vd_*.c are video decoders. (There's only vd_lavc.c left.)
video/filter/:
- vf_*.c and vf.c form the video filter chain. They are fed by the video
- decoder, and output the filtered images to the VOs though vf_vo.c. By
- default, no video filters (except vf_vo) are used. vf_scale is automatically
- inserted if the video output can't handle the video format used by the
- decoder.
+ vf_*.c are video filters. They are fed by the video decoder, and output the
+ filtered images to the VOs. By default, no video filters are used.
video/out/:
Video output. They also create GUI windows and handle user input. In most
@@ -224,13 +228,13 @@ audio/:
compressed formats used for spdif.)
audio/decode/:
- ad_*.c and dec_audio.c handle audio decoding. ad_lavc.c is the
- decoder using ffmpeg. ad_spdif.c is not really a decoder, but is used for
- compressed audio passthrough.
+ ad_*.c handle audio decoding. ad_lavc.c is the decoder using ffmpeg.
+ ad_spdif.c is not really a decoder, but is used for compressed audio
+ passthrough.
audio/filter/:
- Audio filter chain. af_lavrresample is inserted if any form of conversion
- between audio formats is needed.
+ Audio filters. af_scaletempo2 is inserted by default if playback is different
+ from normal speed.
audio/out/:
Audio outputs.