On Tue, Jul 7, 2020 at 10:54 PM Lynne <d...@lynne.ee> wrote: > Jul 7, 2020, 23:47 by yongle.lin...@gmail.com: > > > add block type field to AVVideoBlockParams so we could either export or > visualize it later. > > --- > > libavutil/video_enc_params.h | 16 ++++++++++++++++ > > 1 file changed, 16 insertions(+) > > > > diff --git a/libavutil/video_enc_params.h b/libavutil/video_enc_params.h > > index 43fa443154..52c0058f5b 100644 > > --- a/libavutil/video_enc_params.h > > +++ b/libavutil/video_enc_params.h > > @@ -57,6 +57,11 @@ enum AVVideoEncParamsType { > > AV_VIDEO_ENC_PARAMS_H264, > > }; > > > > +enum AVVideoBlockFlags { > > + AV_VIDEO_ENC_BLOCK_INTRA = 1ULL << 0, /* Indicates block uses > intra prediction */ > > + AV_VIDEO_ENC_BLOCK_SKIP = 1ULL << 1, /* Indicates block is not > coded (skipped) */ > > +}; > > + > > /** > > * Video encoding parameters for a given frame. This struct is allocated > along > > * with an optional array of per-block AVVideoBlockParams descriptors. > > @@ -126,6 +131,17 @@ typedef struct AVVideoBlockParams { > > * corresponding per-frame value. > > */ > > int32_t delta_qp; > > + > > + /** > > + * Type flag of the block > > + * Each bit field indicates a type flag > > + */ > > + enum AVVideoBlockFlags flags; > > + > > + /** > > + * Reference frames used for prediction > > + */ > > + uint8_t ref[8]; > > } AVVideoBlockParams; > > > > After some discussion on IRC, could you clarify the ref array description > to this: > > > Each entry specifies the first/second/third/etc. reference frame the > current frame uses. > > The value at each entry specifies the index inside the reference frame > array for that current frame. > > E.g. your current frame has 6 valid possible references, and your frame > header specifies you > can use ref_frame[3] and ref_frame[5] as a reference. > So the values of ref[] for each block must be either 3 or 5. > Its convoluted because the array maps indices to indices but it makes > sense. > Yes. That makes sense to me. So the ref array stores the index of reference frame in the ref_frame[]
> _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe". _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".