pipewire/spa/include/spa/param/video
Wim Taymans e317edcfb9 pod: rework the parser
Make a new body.h file with some functions to deal with pod and their
body. Make the iter.h functions use mostly this.

Rework the parser so that it only uses body.h functions. With the separation
of pod+body, we can read and verify the pod once and then use the
verified copy to handle the rest of the body safely.

We do this because iter.h only works in pods in memory that doesn't change
because it is vulnerable to modifications of the data after verifying it.

The new parser is not vulnerable to this and will not cause invalid
memory access when used on shared memory. There is however no need for
atomic operations to read the headers, whever is read is either valid
and useable of invalid and rejected.

See #4822
2025-07-29 15:15:02 +02:00
..
chroma.h treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
color-types.h spa: param: video: add missing type info for color params 2025-07-12 21:18:23 +02:00
color.h spa: video/color: add some more transfer functions and color primaries 2025-06-27 12:57:01 +00:00
dsp-utils.h pod: rework the parser 2025-07-29 15:15:02 +02:00
dsp.h treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
encoded.h treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
format-utils.h *: don't include standard C headers inside of extern "C" 2025-05-30 09:48:28 +01:00
format.h *: don't include standard C headers inside of extern "C" 2025-05-30 09:48:28 +01:00
h264-utils.h *: don't include standard C headers inside of extern "C" 2025-05-30 09:48:28 +01:00
h264.h *: don't include standard C headers inside of extern "C" 2025-05-30 09:48:28 +01:00
h265-utils.h spa: video: Add H.265 as a format 2025-05-05 07:38:25 +00:00
h265.h spa: video: Add H.265 as a format 2025-05-05 07:38:25 +00:00
mjpg-utils.h *: don't include standard C headers inside of extern "C" 2025-05-30 09:48:28 +01:00
mjpg.h *: don't include standard C headers inside of extern "C" 2025-05-30 09:48:28 +01:00
multiview.h spa: remove some references to unimplemented items 2024-01-05 10:07:58 +01:00
raw-types.h *: don't include standard C headers inside of extern "C" 2025-05-30 09:48:28 +01:00
raw-utils.h pod: rework the parser 2025-07-29 15:15:02 +02:00
raw.h *: don't include standard C headers inside of extern "C" 2025-05-30 09:48:28 +01:00
type-info.h spa: param: video: add missing type info for color params 2025-07-12 21:18:23 +02:00