diff options
author | John Stebbins <stebbins@jetheaddev.com> | 2013-10-11 09:51:50 -0700 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2013-10-31 20:14:14 +0100 |
commit | 28096e0a806e57376541e6222d315619906e3c55 (patch) | |
tree | a3d2c34efc7bfc08e00314c010e1f20fc7cf84cf /libavcodec/h264.h | |
parent | 9af7a8523a6bb517834ebed36093bdab11a8b38e (diff) | |
download | ffmpeg-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.h | 21 |
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 |