]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/h264dec.h
avcodec/cuvid: use pkt_timebase instead of time_base
[ffmpeg] / libavcodec / h264dec.h
index a73a9dd0b977dff99b4ca7d4bccd74a30583c1bb..c8b7e663b3d66268084c559e85aaa2205d83c729 100644 (file)
@@ -55,8 +55,6 @@
 
 #define MAX_DELAYED_PIC_COUNT  16
 
-#define MAX_MBPAIR_SIZE (256*1024) // a tighter bound could be calculated if someone cares about a few bytes
-
 /* Compiling in interlaced support reduces the speed
  * of progressive decoding by about 2%. */
 #define ALLOW_INTERLACE
@@ -384,6 +382,11 @@ typedef struct H264Context {
      */
     int postpone_filter;
 
+    /*
+     * Set to 1 when the current picture is IDR, 0 otherwise.
+     */
+    int picture_idr;
+
     int8_t(*intra4x4_pred_mode);
     H264PredContext hpc;
 
@@ -563,12 +566,6 @@ typedef struct H264Context {
 
 extern const uint16_t ff_h264_mb_sizes[4];
 
-/**
- * Uninit H264 param sets structure.
- */
-
-void ff_h264_ps_uninit(H264ParamSets *ps);
-
 /**
  * Reconstruct bitstream slice_type.
  */
@@ -580,7 +577,7 @@ int ff_h264_get_slice_type(const H264SliceContext *sl);
  */
 int ff_h264_alloc_tables(H264Context *h);
 
-int ff_h264_decode_ref_pic_list_reordering(const H264Context *h, H264SliceContext *sl);
+int ff_h264_decode_ref_pic_list_reordering(H264SliceContext *sl, void *logctx);
 int ff_h264_build_ref_list(H264Context *h, H264SliceContext *sl);
 void ff_h264_remove_all_refs(H264Context *h);
 
@@ -589,8 +586,8 @@ void ff_h264_remove_all_refs(H264Context *h);
  */
 int ff_h264_execute_ref_pic_marking(H264Context *h);
 
-int ff_h264_decode_ref_pic_marking(const H264Context *h, H264SliceContext *sl,
-                                   GetBitContext *gb);
+int ff_h264_decode_ref_pic_marking(H264SliceContext *sl, GetBitContext *gb,
+                                   const H2645NAL *nal, void *logctx);
 
 void ff_h264_hl_decode_mb(const H264Context *h, H264SliceContext *sl);
 int ff_h264_decode_init(AVCodecContext *avctx);