1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-11-26 19:01:44 +02:00

lavc/vp9: shuffle header declaration

This reduces diff with Libav.
This commit is contained in:
Clément Bœsch 2017-03-25 13:24:46 +01:00
parent 37814a21cb
commit e6ffdc9582

View File

@ -34,37 +34,6 @@
#include "thread.h" #include "thread.h"
#include "vp56.h" #include "vp56.h"
enum BlockLevel {
BL_64X64,
BL_32X32,
BL_16X16,
BL_8X8,
};
enum BlockPartition {
PARTITION_NONE, // [ ] <-.
PARTITION_H, // [-] |
PARTITION_V, // [|] |
PARTITION_SPLIT, // [+] --'
};
enum BlockSize {
BS_64x64,
BS_64x32,
BS_32x64,
BS_32x32,
BS_32x16,
BS_16x32,
BS_16x16,
BS_16x8,
BS_8x16,
BS_8x8,
BS_8x4,
BS_4x8,
BS_4x4,
N_BS_SIZES,
};
enum TxfmMode { enum TxfmMode {
TX_4X4, TX_4X4,
TX_8X8, TX_8X8,
@ -102,13 +71,6 @@ enum IntraPredMode {
N_INTRA_PRED_MODES N_INTRA_PRED_MODES
}; };
enum InterPredMode {
NEARESTMV = 10,
NEARMV = 11,
ZEROMV = 12,
NEWMV = 13,
};
enum FilterMode { enum FilterMode {
FILTER_8TAP_SMOOTH, FILTER_8TAP_SMOOTH,
FILTER_8TAP_REGULAR, FILTER_8TAP_REGULAR,
@ -117,10 +79,18 @@ enum FilterMode {
FILTER_SWITCHABLE, FILTER_SWITCHABLE,
}; };
enum CompPredMode { enum BlockPartition {
PRED_SINGLEREF, PARTITION_NONE, // [ ] <-.
PRED_COMPREF, PARTITION_H, // [-] |
PRED_SWITCHABLE, PARTITION_V, // [|] |
PARTITION_SPLIT, // [+] --'
};
enum InterPredMode {
NEARESTMV = 10,
NEARMV = 11,
ZEROMV = 12,
NEWMV = 13,
}; };
enum MVJoint { enum MVJoint {
@ -248,6 +218,12 @@ typedef struct VP9DSPContext {
vp9_scaled_mc_func smc[5][4][2]; vp9_scaled_mc_func smc[5][4][2];
} VP9DSPContext; } VP9DSPContext;
enum CompPredMode {
PRED_SINGLEREF,
PRED_COMPREF,
PRED_SWITCHABLE,
};
typedef struct VP9mvrefPair { typedef struct VP9mvrefPair {
VP56mv mv[2]; VP56mv mv[2];
int8_t ref[2]; int8_t ref[2];
@ -270,6 +246,40 @@ typedef struct VP9Frame {
void *hwaccel_picture_private; void *hwaccel_picture_private;
} VP9Frame; } VP9Frame;
enum BlockLevel {
BL_64X64,
BL_32X32,
BL_16X16,
BL_8X8,
};
enum BlockSize {
BS_64x64,
BS_64x32,
BS_32x64,
BS_32x32,
BS_32x16,
BS_16x32,
BS_16x16,
BS_16x8,
BS_8x16,
BS_8x8,
BS_8x4,
BS_4x8,
BS_4x4,
N_BS_SIZES,
};
typedef struct VP9Block {
uint8_t seg_id, intra, comp, ref[2], mode[4], uvmode, skip;
enum FilterMode filter;
VP56mv mv[4 /* b_idx */][2 /* ref */];
enum BlockSize bs;
enum TxfmMode tx, uvtx;
enum BlockLevel bl;
enum BlockPartition bp;
} VP9Block;
typedef struct VP9BitstreamHeader { typedef struct VP9BitstreamHeader {
// bitstream header // bitstream header
uint8_t profile; uint8_t profile;
@ -345,16 +355,6 @@ typedef struct VP9SharedContext {
VP9Frame frames[3]; VP9Frame frames[3];
} VP9SharedContext; } VP9SharedContext;
typedef struct VP9Block {
uint8_t seg_id, intra, comp, ref[2], mode[4], uvmode, skip;
enum FilterMode filter;
VP56mv mv[4 /* b_idx */][2 /* ref */];
enum BlockSize bs;
enum TxfmMode tx, uvtx;
enum BlockLevel bl;
enum BlockPartition bp;
} VP9Block;
typedef struct VP9Context { typedef struct VP9Context {
VP9SharedContext s; VP9SharedContext s;