summaryrefslogtreecommitdiff
path: root/libavcodec/internal.h
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2021-09-22 00:04:31 +0200
committerAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2021-09-28 01:56:32 +0200
commit3f11eac75741888c7b2b6f93c458766f2613bab5 (patch)
treeb20563a7c223c5f6b4263ab68a0f2e35d1ed6bbc /libavcodec/internal.h
parentf09fd1c6c70505916a3d1b21530b3f71d8118688 (diff)
avcodec/encode: Set AV_PKT_FLAG_KEY based upon AV_CODEC_PROP_INTRA_ONLY
Currently, the AV_PKT_FLAG_KEY is automatically set for audio encoders; yet this is wrong, as both MLP and TrueHD have non-keyframes. So set it based upon AV_CODEC_PROP_INTRA_ONLY (from the corresponding AVCodecDescriptor) instead. This also sets it for some video codecs, which is intended. Reviewed-by: James Almer <jamrial@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Diffstat (limited to 'libavcodec/internal.h')
-rw-r--r--libavcodec/internal.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/libavcodec/internal.h b/libavcodec/internal.h
index 2111f2b9ae..b6180f15a5 100644
--- a/libavcodec/internal.h
+++ b/libavcodec/internal.h
@@ -153,6 +153,13 @@ typedef struct AVCodecInternal {
uint8_t *byte_buffer;
unsigned int byte_buffer_size;
+ /**
+ * This is set to AV_PKT_FLAG_KEY for encoders that encode intra-only
+ * formats (i.e. whose codec descriptor has AV_CODEC_PROP_INTRA_ONLY set).
+ * This is used to set said flag generically for said encoders.
+ */
+ int intra_only_flag;
+
void *frame_thread_encoder;
EncodeSimpleContext es;