X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fnvdec.h;h=66f3ca59e719bcf45c3f91b88730f353d29ef37e;hb=dc8e15ef15d060a9ca118905c770710ce43a0723;hp=85a0fcf7259cbe87a0fbfa786e94019c52dc8ce7;hpb=c0a647644f2703e1da980dcf988cefd81528d8c9;p=ffmpeg diff --git a/libavcodec/nvdec.h b/libavcodec/nvdec.h index 85a0fcf7259..66f3ca59e71 100644 --- a/libavcodec/nvdec.h +++ b/libavcodec/nvdec.h @@ -43,7 +43,9 @@ typedef struct NVDECFrame { unsigned int idx; + unsigned int ref_idx; AVBufferRef *idx_ref; + AVBufferRef *ref_idx_ref; AVBufferRef *decoder_ref; } NVDECFrame; @@ -57,22 +59,27 @@ typedef struct NVDECContext { uint8_t *bitstream; int bitstream_len; unsigned int bitstream_allocated; + uint8_t *bitstream_internal; unsigned *slice_offsets; int nb_slices; unsigned int slice_offsets_allocated; + + int supports_444; } NVDECContext; int ff_nvdec_decode_init(AVCodecContext *avctx); int ff_nvdec_decode_uninit(AVCodecContext *avctx); int ff_nvdec_start_frame(AVCodecContext *avctx, AVFrame *frame); +int ff_nvdec_start_frame_sep_ref(AVCodecContext *avctx, AVFrame *frame, int has_sep_ref); int ff_nvdec_end_frame(AVCodecContext *avctx); int ff_nvdec_simple_end_frame(AVCodecContext *avctx); int ff_nvdec_simple_decode_slice(AVCodecContext *avctx, const uint8_t *buffer, uint32_t size); int ff_nvdec_frame_params(AVCodecContext *avctx, AVBufferRef *hw_frames_ctx, - int dpb_size); + int dpb_size, + int supports_444); int ff_nvdec_get_ref_idx(AVFrame *frame); #endif /* AVCODEC_NVDEC_H */