STRUCT PES_HEADER_WRITE_ARGS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct pes_header_write_args(9) πŸ’…

ok so this is a page from the Kernel API Manual, and bestie, we're about to get into it β€” this struct is literally the little ✨gift bag✨ of arguments you hand over when you want a PES header written. think of it as the packing list before the write happens. no cap, every field matters. πŸŽ€


✨ NAME ✨

struct pes_header_write_args β€” the arguments you pass in to write a PES header. that's it, that's the vibe. πŸ¦‹


🌸 SYNOPSIS 🌸

struct pes_header_write_args {
    void *dest_buf;
    u32 dest_offset;
    u32 dest_buf_sz;
    u32 encoder_id;
    bool send_pts;
    u64 pts;
    bool send_dts;
    u64 dts;
    u16 stream_id;
    u32 n_pes_h_s_bytes;
    u32 access_unit_len;
 };

like, look at her. eleven fields. main character struct energy fr fr. πŸ‘‘


🫢 Members 🫢

ok boom, field-by-field breakdown, i got you:

  • dest_buf β€” the buffer you're writing into. the canvas. the destination. the place where the bytes go to live. πŸ’–
  • dest_offset β€” where you start writing inside the dest_buffer. not the beginning, the starting point β€” offset girlies rise. ✨
  • dest_buf_sz β€” the size of the dest_buffer. know your limits bestie, respect the size. πŸŽ€
  • encoder_id β€” the encoder id (peep vidtv_encoder.h for the deets πŸ‘€). this is how we know which encoder we're dealing with.
  • send_pts β€” a bool: are we sending PTS or not? yes/no, in or out, no in-between. πŸ¦‹
  • pts β€” the actual PTS value to send. the number itself. iconic. ⭐
  • send_dts β€” a bool again: should we send DTS? another vibe check, another yes/no. 🌸
  • dts β€” the DTS value to send. matching set with pts, we love a duo. πŸ’œ
  • stream_id β€” the stream id to use. for example: Audio streams (0xc0-0xdf), Video streams (0xe0-0xef). pick your lane, pick your id. 🎯
  • n_pes_h_s_bytes β€” padding bytes πŸ’€. an encoder might use them if it needs to, and the decoder just throws them away β€” discarded, gone, not invited to the afterparty. πŸ™ˆ
  • access_unit_len β€” the size of one access unit (including any headers it might need). note the emphasis on _one_ β€” singular. one unit. one vibe. πŸ”₯

🌈 SEE ALSO 🌈

  • Kernel file ./drivers/media/test-drivers/vidtv/vidtv_pes.h
  • struct pes_ts_header_write_args(9)
  • struct pes_write_args(9)
  • vidtv_pes_write_into(9)

go read those next, i promise they're worth it 🧚


ok that's the whole page!! mwah πŸ’‹ this was brought to you by ./drivers/media/test-drivers/v..., dated October 2026, and no i will not be normal about a kernel struct. slay, periodt, see you in the next manpage bestie πŸ“πŸ’…

πŸ“¦ where this page comes from