X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fcbs_vp9.h;h=af15eb4bace70d238ab6fd9640bc3e23619cc34b;hb=bc70684e74a185d7b80c8b80bdedda659cb581b8;hp=5b99c90c2e68ebd5896e354db6b54d42c3fd5d35;hpb=64425e005edf3bdd77c34c078c3e74ab5ecef557;p=ffmpeg diff --git a/libavcodec/cbs_vp9.h b/libavcodec/cbs_vp9.h index 5b99c90c2e6..af15eb4bace 100644 --- a/libavcodec/cbs_vp9.h +++ b/libavcodec/cbs_vp9.h @@ -84,7 +84,6 @@ typedef struct VP9RawFrameHeader { uint8_t frame_marker; uint8_t profile_low_bit; uint8_t profile_high_bit; - uint8_t profile_reserved_zero; uint8_t show_existing_frame; uint8_t frame_to_show_map_idx; @@ -99,7 +98,6 @@ typedef struct VP9RawFrameHeader { uint8_t color_range; uint8_t subsampling_x; uint8_t subsampling_y; - uint8_t color_config_reserved_zero; uint8_t refresh_frame_flags; @@ -167,8 +165,8 @@ typedef struct VP9RawFrame { VP9RawFrameHeader header; uint8_t *data; - size_t data_size; AVBufferRef *data_ref; + size_t data_size; } VP9RawFrame; typedef struct VP9RawSuperframeIndex { @@ -183,8 +181,17 @@ typedef struct VP9RawSuperframe { VP9RawSuperframeIndex index; } VP9RawSuperframe; +typedef struct VP9ReferenceFrameState { + int frame_width; // RefFrameWidth + int frame_height; // RefFrameHeight + int subsampling_x; // RefSubsamplingX + int subsampling_y; // RefSubsamplingY + int bit_depth; // RefBitDepth +} VP9ReferenceFrameState; typedef struct CodedBitstreamVP9Context { + int profile; + // Frame dimensions in 8x8 mode info blocks. uint16_t mi_cols; uint16_t mi_rows; @@ -192,9 +199,14 @@ typedef struct CodedBitstreamVP9Context { uint16_t sb64_cols; uint16_t sb64_rows; - // Write buffer. - uint8_t *write_buffer; - size_t write_buffer_size; + int frame_width; + int frame_height; + + uint8_t subsampling_x; + uint8_t subsampling_y; + int bit_depth; + + VP9ReferenceFrameState ref[VP9_NUM_REF_FRAMES]; } CodedBitstreamVP9Context;