diff options
author | Hendrik Leppkes <h.leppkes@gmail.com> | 2015-10-14 11:03:20 +0300 |
---|---|---|
committer | Hendrik Leppkes <h.leppkes@gmail.com> | 2015-10-15 14:02:23 +0300 |
commit | 6e719dc6bb64d37c0b47f8c3387aa572e0a4780a (patch) | |
tree | 7c19c0231f2c10c5b6d706a69f02423af05396b4 /libavcodec/vp9.h | |
parent | b95f241b6e6360eef8073b4c7b55bd0e3eb73aca (diff) |
vp9: expose reference frames in VP9SharedContext
Diffstat (limited to 'libavcodec/vp9.h')
-rw-r--r-- | libavcodec/vp9.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/libavcodec/vp9.h b/libavcodec/vp9.h index cac15f4aab..27cdfc6968 100644 --- a/libavcodec/vp9.h +++ b/libavcodec/vp9.h @@ -26,6 +26,9 @@ #include <stdint.h> +#include "thread.h" +#include "vp56.h" + enum BlockLevel { BL_64X64, BL_32X32, @@ -115,6 +118,19 @@ enum CompPredMode { PRED_SWITCHABLE, }; +struct VP9mvrefPair { + VP56mv mv[2]; + int8_t ref[2]; +}; + +typedef struct VP9Frame { + ThreadFrame tf; + AVBufferRef *extradata; + uint8_t *segmentation_map; + struct VP9mvrefPair *mv; + int uses_2pass; +} VP9Frame; + typedef struct VP9BitstreamHeader { // bitstream header uint8_t profile; @@ -181,6 +197,12 @@ typedef struct VP9BitstreamHeader { typedef struct VP9SharedContext { VP9BitstreamHeader h; + + ThreadFrame refs[8]; +#define CUR_FRAME 0 +#define REF_FRAME_MVPAIR 1 +#define REF_FRAME_SEGMAP 2 + VP9Frame frames[3]; } VP9SharedContext; #endif /* AVCODEC_VP9_H */ |