aboutsummaryrefslogtreecommitdiffstats
path: root/libavutil/frame.h
diff options
context:
space:
mode:
authorwm4 <nfxjfg@googlemail.com>2014-09-27 16:47:09 +0200
committerMichael Niedermayer <michaelni@gmx.at>2014-10-02 20:21:00 +0200
commitcdd6f059a65f28ff7a18ccf1194e9554adad1a1b (patch)
treef85077e1a32a10003a595e46d403e75e4797bd9e /libavutil/frame.h
parenta9b10e1510ddfcae5119e616e0cc60350c99467c (diff)
downloadffmpeg-cdd6f059a65f28ff7a18ccf1194e9554adad1a1b.tar.gz
avcodec, avutil: allow more control about how samples are skipped
Add CODEC_FLAG2_SKIP_MANUAL (exposed as "skip_manual"), which makes the decoder export sample skip information via side data, instead of applying it automatically. The format of the side data is the same as AV_PKT_DATA_SKIP_SAMPLES, but since AVPacket and AVFrame side data constants overlap, AV_FRAME_DATA_SKIP_SAMPLES needs to be introduced. This is useful for applications which want to do the timestamp calculations manually, or which actually want to retrieve the padding. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavutil/frame.h')
-rw-r--r--libavutil/frame.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/libavutil/frame.h b/libavutil/frame.h
index ee24628ae8..d335bee831 100644
--- a/libavutil/frame.h
+++ b/libavutil/frame.h
@@ -94,6 +94,18 @@ enum AVFrameSideDataType {
* libavutil/motion_vector.h.
*/
AV_FRAME_DATA_MOTION_VECTORS,
+ /**
+ * Recommmends skipping the specified number of samples. This is exported
+ * only if the "skip_manual" AVOption is set in libavcodec.
+ * This has the same format as AV_PKT_DATA_SKIP_SAMPLES.
+ * @code
+ * u32le number of samples to skip from start of this packet
+ * u32le number of samples to skip from end of this packet
+ * u8 reason for start skip
+ * u8 reason for end skip (0=padding silence, 1=convergence)
+ * @endcode
+ */
+ AV_FRAME_DATA_SKIP_SAMPLES,
};
enum AVActiveFormatDescription {