Program Listing for File video_struct.h

Return to documentation for file (c/fmdt/video/video_struct.h)

#pragma once

#include <stdint.h>
#include <stddef.h>

enum video_codec_e { VCDC_FFMPEG_IO = 0,
                     VCDC_VCODECS_IO,
};

enum video_codec_hwaccel_e {
    VCDC_HWACCEL_NONE = 0,
    VCDC_HWACCEL_NVDEC,
    VCDC_HWACCEL_VIDEOTOOLBOX,
};

typedef struct {
    enum video_codec_e codec_type;
    void* metadata;
    size_t frame_start;
    size_t frame_end;
    size_t frame_skip;
    size_t frame_current;
    char path[2048];
    uint8_t*** fra_buffer;
    size_t fra_count;
    size_t loop_size;
    size_t cur_loop;
} video_reader_t;

typedef struct {
    enum video_codec_e codec_type;
    void* metadata;
    char path[2048];
    int win_play;
} video_writer_t;

enum video_codec_e video_str_to_enum(const char* str);


enum video_codec_hwaccel_e video_hwaccel_str_to_enum(const char* str);