mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-03-28 12:32:17 +02:00
codec_desc: mark some lossless audio codecs as intraonly.
Fixes tsan warnings in several audio codecs (flac, alac, wavpack, tta and tak) that look like this: WARNING: ThreadSanitizer: data race (pid=14340) Read of size 4 at 0x7d64000169d8 by main thread (mutexes: write M1335): #0 update_context_from_thread src/libavcodec/pthread_frame.c:284 (ffmpeg+0x000000dc795f) [..] Previous write of size 4 at 0x7d64000169d8 by thread T1 (mutexes: write M1333): #0 wavpack_decode_block src/libavcodec/wavpack.c:1012 (ffmpeg+0x00000112b175)
This commit is contained in:
parent
e72690b18d
commit
467a053810
@ -724,7 +724,7 @@ typedef struct AVCodecDescriptor {
|
||||
|
||||
/**
|
||||
* Codec uses only intra compression.
|
||||
* Video codecs only.
|
||||
* Video and audio codecs only.
|
||||
*/
|
||||
#define AV_CODEC_PROP_INTRA_ONLY (1 << 0)
|
||||
/**
|
||||
|
@ -2313,7 +2313,7 @@ static const AVCodecDescriptor codec_descriptors[] = {
|
||||
.type = AVMEDIA_TYPE_AUDIO,
|
||||
.name = "flac",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("FLAC (Free Lossless Audio Codec)"),
|
||||
.props = AV_CODEC_PROP_LOSSLESS,
|
||||
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
|
||||
},
|
||||
{
|
||||
.id = AV_CODEC_ID_MP3ADU,
|
||||
@ -2341,7 +2341,7 @@ static const AVCodecDescriptor codec_descriptors[] = {
|
||||
.type = AVMEDIA_TYPE_AUDIO,
|
||||
.name = "alac",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("ALAC (Apple Lossless Audio Codec)"),
|
||||
.props = AV_CODEC_PROP_LOSSLESS,
|
||||
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
|
||||
},
|
||||
{
|
||||
.id = AV_CODEC_ID_WESTWOOD_SND1,
|
||||
@ -2383,7 +2383,7 @@ static const AVCodecDescriptor codec_descriptors[] = {
|
||||
.type = AVMEDIA_TYPE_AUDIO,
|
||||
.name = "tta",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("TTA (True Audio)"),
|
||||
.props = AV_CODEC_PROP_LOSSLESS,
|
||||
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
|
||||
},
|
||||
{
|
||||
.id = AV_CODEC_ID_SMACKAUDIO,
|
||||
@ -2404,7 +2404,8 @@ static const AVCodecDescriptor codec_descriptors[] = {
|
||||
.type = AVMEDIA_TYPE_AUDIO,
|
||||
.name = "wavpack",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("WavPack"),
|
||||
.props = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_LOSSLESS,
|
||||
.props = AV_CODEC_PROP_INTRA_ONLY |
|
||||
AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_LOSSLESS,
|
||||
},
|
||||
{
|
||||
.id = AV_CODEC_ID_DSICINAUDIO,
|
||||
@ -2712,7 +2713,7 @@ static const AVCodecDescriptor codec_descriptors[] = {
|
||||
.type = AVMEDIA_TYPE_AUDIO,
|
||||
.name = "tak",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("TAK (Tom's lossless Audio Kompressor)"),
|
||||
.props = AV_CODEC_PROP_LOSSLESS,
|
||||
.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS,
|
||||
},
|
||||
{
|
||||
.id = AV_CODEC_ID_METASOUND,
|
||||
|
Loading…
x
Reference in New Issue
Block a user