···6161 // Generated once on load by scanning the entire file via separate pass.
6262 float *peaks; // [0..1] amplitude peaks
6363 int peak_count; // number of peaks (typically 1024)
6464+6565+ // Optional downscaled video preview frames for pieces like tapes.mjs.
6666+ // Frames are stored as opaque ARGB32 pixels (0xAARRGGBB) in a flat array:
6767+ // [frame0 pixels][frame1 pixels]...
6868+ uint32_t *video_frames;
6969+ int video_frame_count;
7070+ int video_width;
7171+ int video_height;
7272+ double video_fps;
7373+ volatile int video_ready;
6474} ACDeckDecoder;
65756676// Create a decoder instance for the given output sample rate
···8393// Safe to call from main thread; takes a few hundred ms for typical tracks.
8494int deck_decoder_generate_peaks(ACDeckDecoder *d, int target_count);
85959696+// Generate a lightweight downscaled video preview strip for the loaded file.
9797+// Safe to call from main thread; intended for UI playback rather than full-res video.
9898+int deck_decoder_generate_video_preview(ACDeckDecoder *d, int width, int height, int fps);
9999+86100// Destroy decoder and free all resources
87101void deck_decoder_destroy(ACDeckDecoder *d);
88102···105119 int ring_size;
106120 volatile int ring_write;
107121 volatile int ring_read;
122122+ uint32_t *video_frames;
123123+ int video_frame_count;
124124+ int video_width;
125125+ int video_height;
126126+ double video_fps;
127127+ volatile int video_ready;
108128} ACDeckDecoder;
109129110130static inline ACDeckDecoder *deck_decoder_create(unsigned int output_rate) {
···119139static inline void deck_decoder_set_speed(ACDeckDecoder *d, double s) { (void)d; (void)s; }
120140static inline void deck_decoder_unload(ACDeckDecoder *d) { (void)d; }
121141static inline void deck_decoder_destroy(ACDeckDecoder *d) { (void)d; }
142142+static inline int deck_decoder_generate_video_preview(ACDeckDecoder *d, int width, int height, int fps) {
143143+ (void)d; (void)width; (void)height; (void)fps; return -1;
144144+}
122145123146#endif // HAVE_AVCODEC
124147#endif // AC_AUDIO_DECODE_H