X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fh264dec.h;h=8954b74795619f8252221d80a507e79f3500c7d2;hb=0a071f7124beaf0929f772a8618ac1b6c17b0222;hp=1d9723260dd3cf8016a96887bb4bb74f63cc8854;hpb=03210fe138f3b3bd7f5272fe29aca810cf517329;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);