diff --git a/README.md b/README.md
index 42dabf28..0ae6aa8e 100644
--- a/README.md
+++ b/README.md
@@ -94,7 +94,7 @@ cp fq /usr/local/bin
[./formats_list.jq]: sh-start
-aac_frame, adts, adts_frame, apev2, av1_ccr, av1_frame, av1_obu, avc_annexb, avc_au, avc_dcr, avc_nalu, avc_pps, avc_sei, avc_sps, bzip2, dns, dns_tcp, elf, ether8023_frame, exif, flac, flac_frame, flac_metadatablock, flac_metadatablocks, flac_picture, flac_streaminfo, gif, gzip, hevc_annexb, hevc_au, hevc_dcr, hevc_nalu, icc_profile, icmp, id3v1, id3v11, id3v2, ipv4_packet, jpeg, json, matroska, mp3, mp3_frame, mp4, mpeg_asc, mpeg_es, mpeg_pes, mpeg_pes_packet, mpeg_spu, mpeg_ts, ogg, ogg_page, opus_packet, pcap, pcapng, png, protobuf, protobuf_widevine, pssh_playready, raw, sll2_packet, sll_packet, tar, tcp_segment, tiff, udp_datagram, vorbis_comment, vorbis_packet, vp8_frame, vp9_cfm, vp9_frame, vpx_ccr, wav, webp, xing, zip
+aac_frame, adts, adts_frame, apev2, av1_ccr, av1_frame, av1_obu, avc_annexb, avc_au, avc_dcr, avc_nalu, avc_pps, avc_sei, avc_sps, bsd_loopback_frame, bzip2, dns, dns_tcp, elf, ether8023_frame, exif, flac, flac_frame, flac_metadatablock, flac_metadatablocks, flac_picture, flac_streaminfo, gif, gzip, hevc_annexb, hevc_au, hevc_dcr, hevc_nalu, icc_profile, icmp, id3v1, id3v11, id3v2, ipv4_packet, jpeg, json, matroska, mp3, mp3_frame, mp4, mpeg_asc, mpeg_es, mpeg_pes, mpeg_pes_packet, mpeg_spu, mpeg_ts, ogg, ogg_page, opus_packet, pcap, pcapng, png, protobuf, protobuf_widevine, pssh_playready, raw, sll2_packet, sll_packet, tar, tcp_segment, tiff, udp_datagram, vorbis_comment, vorbis_packet, vp8_frame, vp9_cfm, vp9_frame, vpx_ccr, wav, webp, xing, zip
[#]: sh-end
diff --git a/doc/formats.md b/doc/formats.md
index 34072aef..3210bfff 100644
--- a/doc/formats.md
+++ b/doc/formats.md
@@ -18,6 +18,7 @@
|`avc_pps` |H.264/AVC Picture Parameter Set ||
|`avc_sei` |H.264/AVC Supplemental Enhancement Information ||
|`avc_sps` |H.264/AVC Sequence Parameter Set ||
+|`bsd_loopback_frame` |BSD loopback frame |`ipv4_packet`|
|`bzip2` |bzip2 compression |`probe`|
|`dns` |DNS packet ||
|`dns_tcp` |DNS packet (TCP) ||
@@ -57,8 +58,8 @@
|`ogg` |OGG file |`ogg_page` `vorbis_packet` `opus_packet` `flac_metadatablock` `flac_frame`|
|`ogg_page` |OGG page ||
|`opus_packet` |Opus packet |`vorbis_comment`|
-|`pcap` |PCAP packet capture |`ether8023_frame` `sll_packet` `sll2_packet` `tcp_stream` `ipv4_packet`|
-|`pcapng` |PCAPNG packet capture |`ether8023_frame` `sll_packet` `sll2_packet` `tcp_stream` `ipv4_packet`|
+|`pcap` |PCAP packet capture |`link_frame` `tcp_stream` `ipv4_packet`|
+|`pcapng` |PCAPNG packet capture |`link_frame` `tcp_stream` `ipv4_packet`|
|`png` |Portable Network Graphics file |`icc_profile` `exif`|
|`protobuf` |Protobuf ||
|`protobuf_widevine` |Widevine protobuf |`protobuf`|
@@ -81,6 +82,7 @@
|`xing` |Xing header ||
|`zip` |ZIP archive |`probe`|
|`image` |Group |`gif` `jpeg` `mp4` `png` `tiff` `webp`|
+|`link_frame` |Group |`bsd_loopback_frame` `ether8023_frame` `sll2_packet` `sll_packet`|
|`probe` |Group |`adts` `bzip2` `elf` `flac` `gif` `gzip` `jpeg` `json` `matroska` `mp3` `mp4` `mpeg_ts` `ogg` `pcap` `pcapng` `png` `tar` `tiff` `wav` `webp` `zip`|
|`tcp_stream` |Group |`dns`|
|`udp_payload` |Group |`dns`|
diff --git a/doc/formats.svg b/doc/formats.svg
index 683f23ce..cbbed896 100644
--- a/doc/formats.svg
+++ b/doc/formats.svg
@@ -4,1551 +4,1562 @@
-