mirror of https://github.com/mpv-player/mpv
39 lines
765 B
C
39 lines
765 B
C
|
|
#define SVQ1_BLOCK_SKIP 0
|
|
#define SVQ1_BLOCK_INTER 1
|
|
#define SVQ1_BLOCK_INTER_4V 2
|
|
#define SVQ1_BLOCK_INTRA 3
|
|
|
|
#define SVQ1_FRAME_INTRA 0
|
|
#define SVQ1_FRAME_INTER 1
|
|
#define SVQ1_FRAME_DROPPABLE 2
|
|
|
|
/* motion vector (prediction) */
|
|
typedef struct svq1_pmv_s {
|
|
int x;
|
|
int y;
|
|
} svq1_pmv_t;
|
|
|
|
typedef struct svq1_s {
|
|
int frame_code;
|
|
int frame_type;
|
|
int frame_width;
|
|
int frame_height;
|
|
int luma_width;
|
|
int luma_height;
|
|
int chroma_width;
|
|
int chroma_height;
|
|
svq1_pmv_t *motion;
|
|
uint8_t *current;
|
|
uint8_t *previous;
|
|
int offsets[3];
|
|
int reference_frame;
|
|
|
|
uint8_t *base[3];
|
|
int width;
|
|
int height;
|
|
} svq1_t;
|
|
|
|
int svq1_decode_frame (svq1_t *svq1, uint8_t *buffer, int buffer_size);
|
|
void svq1_free (svq1_t *svq1);
|