]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/h264.h
Merge commit '04070dbca0688ab1e24528ce5c135254a9a79c47'
[ffmpeg] / libavcodec / h264.h
index bafc40f96a1422afbee057beabab5741684055c3..95db912465b893dfa2299f0861a357308147c56f 100644 (file)
@@ -290,8 +290,7 @@ typedef struct MMCO {
 } MMCO;
 
 typedef struct H264Picture {
-    struct AVFrame f;
-    uint8_t avframe_padding[1024]; // hack to allow linking to a avutil with larger AVFrame
+    AVFrame *f;
     ThreadFrame tf;
 
     AVBufferRef *qscale_table_buf;
@@ -322,7 +321,6 @@ typedef struct H264Picture {
     int mbaff;              ///< 1 -> MBAFF frame 0-> not MBAFF
     int field_picture;      ///< whether or not picture was encoded in separate fields
 
-    int needs_realloc;      ///< picture needs to be reallocated (eg due to a frame size change)
     int reference;
     int recovered;          ///< picture at IDR or recovery point + recovery count
     int invalid_gap;
@@ -507,7 +505,7 @@ typedef struct H264Context {
     H264QpelContext h264qpel;
     GetBitContext gb;
 
-    H264Picture *DPB;
+    H264Picture DPB[H264_MAX_PICTURE_COUNT];
     H264Picture *cur_pic_ptr;
     H264Picture cur_pic;
     H264Picture last_pic_for_ec;
@@ -646,7 +644,6 @@ typedef struct H264Context {
     H264Picture *delayed_pic[MAX_DELAYED_PIC_COUNT + 2]; // FIXME size?
     int last_pocs[MAX_DELAYED_PIC_COUNT];
     H264Picture *next_output_pic;
-    int outputed_poc;
     int next_outputed_poc;
 
     /**
@@ -1170,7 +1167,6 @@ int ff_h264_ref_picture(H264Context *h, H264Picture *dst, H264Picture *src);
 void ff_h264_unref_picture(H264Context *h, H264Picture *pic);
 
 int ff_h264_slice_context_init(H264Context *h, H264SliceContext *sl);
-int ff_h264_set_parameter_from_sps(H264Context *h);
 
 void ff_h264_draw_horiz_band(const H264Context *h, H264SliceContext *sl, int y, int height);
 int ff_init_poc(H264Context *h, int pic_field_poc[2], int *pic_poc);
@@ -1187,7 +1183,7 @@ int ff_h264_update_thread_context(AVCodecContext *dst,
 
 void ff_h264_flush_change(H264Context *h);
 
-void ff_h264_free_tables(H264Context *h, int free_rbsp);
+void ff_h264_free_tables(H264Context *h);
 
 void ff_h264_set_erpic(ERPicture *dst, H264Picture *src);