aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/h264.h
diff options
context:
space:
mode:
authorJohn Stebbins <stebbins@jetheaddev.com>2013-10-11 09:51:50 -0700
committerAnton Khirnov <anton@khirnov.net>2013-10-31 20:14:14 +0100
commit28096e0a806e57376541e6222d315619906e3c55 (patch)
treea3d2c34efc7bfc08e00314c010e1f20fc7cf84cf /libavcodec/h264.h
parent9af7a8523a6bb517834ebed36093bdab11a8b38e (diff)
downloadffmpeg-28096e0a806e57376541e6222d315619906e3c55.tar.gz
h264: wait for initial complete frame before outputing frames
This can be optionally disabled whith the "output_corrupt" flags option. When in "output_corrupt" mode, incomplete frames are signalled through AVFrame.flags FRAME_FLAG_INCOMPLETE_FRAME. Signed-off-by: Anton Khirnov <anton@khirnov.net>
Diffstat (limited to 'libavcodec/h264.h')
-rw-r--r--libavcodec/h264.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/libavcodec/h264.h b/libavcodec/h264.h
index cb970673ad..920e3fc1c8 100644
--- a/libavcodec/h264.h
+++ b/libavcodec/h264.h
@@ -611,6 +611,27 @@ typedef struct H264Context {
*/
int sei_recovery_frame_cnt;
+ /**
+ * recovery_frame is the frame_num at which the next frame should
+ * be fully constructed.
+ *
+ * Set to -1 when not expecting a recovery point.
+ */
+ int recovery_frame;
+
+/**
+ * We have seen an IDR, so all the following frames in coded order are correctly
+ * decodable.
+ */
+#define FRAME_RECOVERED_IDR (1 << 0)
+/**
+ * Sufficient number of frames have been decoded since a SEI recovery point,
+ * so all the following frames in presentation order are correct.
+ */
+#define FRAME_RECOVERED_SEI (1 << 1)
+
+ int frame_recovered; ///< Initial frame has been completely recovered
+
int luma_weight_flag[2]; ///< 7.4.3.2 luma_weight_lX_flag
int chroma_weight_flag[2]; ///< 7.4.3.2 chroma_weight_lX_flag