X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fh264dec.h;h=8954b74795619f8252221d80a507e79f3500c7d2;hb=30f7021aa0be2c978aefb73894b643c9bafbf51c;hp=1d9723260dd3cf8016a96887bb4bb74f63cc8854;hpb=398000abcf980d239a789da6f69811913d2fc635;p=ffmpeg diff --git a/libavcodec/h264dec.h b/libavcodec/h264dec.h index 1d9723260dd..8954b747956 100644 --- a/libavcodec/h264dec.h +++ b/libavcodec/h264dec.h @@ -30,6 +30,7 @@ #include "libavutil/buffer.h" #include "libavutil/intreadwrite.h" +#include "libavutil/mem_internal.h" #include "libavutil/thread.h" #include "cabac.h" @@ -161,6 +162,12 @@ typedef struct H264Picture { int recovered; ///< picture at IDR or recovery point + recovery count int invalid_gap; int sei_recovery_frame_cnt; + + AVBufferRef *pps_buf; + const PPS *pps; + + int mb_width, mb_height; + int mb_stride; } H264Picture; typedef struct H264Ref { @@ -832,8 +839,6 @@ int ff_h264_slice_context_init(H264Context *h, H264SliceContext *sl); void ff_h264_draw_horiz_band(const H264Context *h, H264SliceContext *sl, int y, int height); -int ff_h264_decode_slice_header(H264Context *h, H264SliceContext *sl, - const H2645NAL *nal); /** * Submit a slice for decoding. * @@ -844,6 +849,8 @@ int ff_h264_queue_decode_slice(H264Context *h, const H2645NAL *nal); int ff_h264_execute_decode_slices(H264Context *h); int ff_h264_update_thread_context(AVCodecContext *dst, const AVCodecContext *src); +int ff_h264_update_thread_context_for_user(AVCodecContext *dst, + const AVCodecContext *src); void ff_h264_flush_change(H264Context *h);