Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2013-11-01 14:33:36 +0400
committerMichael Niedermayer <michaelni@gmx.at>2013-11-01 15:59:08 +0400
commit78265fcfeee153e5e26ad4dbc7831a84ade447d6 (patch)
tree92bc81fca00966f3c867baa7dd339eb5c62730c4 /libavcodec/h264.h
parent2acc525d786f0ee4b0a354858a5f146ce6580658 (diff)
parent28096e0a806e57376541e6222d315619906e3c55 (diff)
Merge commit '28096e0a806e57376541e6222d315619906e3c55'
* commit '28096e0a806e57376541e6222d315619906e3c55': h264: wait for initial complete frame before outputing frames Conflicts: doc/APIchanges libavcodec/h264.c libavcodec/mpegvideo.h libavutil/frame.h libavutil/version.h See: a64b028aeb6579636e578ceb73f69b468bddb2f0 (as well as various later commits) Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/h264.h')
-rw-r--r--libavcodec/h264.h26
1 files changed, 19 insertions, 7 deletions
diff --git a/libavcodec/h264.h b/libavcodec/h264.h
index ed7f04b853..b7e1214a76 100644
--- a/libavcodec/h264.h
+++ b/libavcodec/h264.h
@@ -641,6 +641,14 @@ typedef struct H264Context {
* frames.
*/
int sei_recovery_frame_cnt;
+
+ /**
+ * Are the SEI recovery points looking valid.
+ */
+ int valid_recovery_point;
+
+ FPA sei_fpa;
+
/**
* recovery_frame is the frame_num at which the next frame should
* be fully constructed.
@@ -649,12 +657,18 @@ typedef struct H264Context {
*/
int recovery_frame;
- /**
- * Are the SEI recovery points looking valid.
- */
- int valid_recovery_point;
+/**
+ * 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)
- FPA sei_fpa;
+ 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
@@ -668,8 +682,6 @@ typedef struct H264Context {
int16_t slice_row[MAX_SLICES]; ///< to detect when MAX_SLICES is too low
- int sync; ///< did we had a keyframe or recovery point
-
uint8_t parse_history[4];
int parse_history_count;
int parse_last_mb;