On Sun, May 8, 2016 at 5:33 PM, Michael Niedermayer <mich...@niedermayer.cc> wrote: > On Sun, May 08, 2016 at 04:10:01PM +0200, wm4 wrote: >> On Sun, 8 May 2016 12:10:07 +0200 >> Michael Niedermayer <mich...@niedermayer.cc> wrote: >> >> > Fixes Ticket5467 >> > >> > Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc> >> > --- >> > libavcodec/avcodec.h | 4 ++++ >> > libavcodec/utils.c | 2 ++ >> > 2 files changed, 6 insertions(+) >> > >> > diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h >> > index 3813a0a..1db2e0f 100644 >> > --- a/libavcodec/avcodec.h >> > +++ b/libavcodec/avcodec.h >> > @@ -4050,6 +4050,10 @@ typedef struct AVCodecParameters { >> > * Audio only. Number of samples to skip after a discontinuity. >> > */ >> > int seek_preroll; >> > + >> > + /** Properties, like FF_CODEC_PROPERTY_LOSSLESS. >> > + */ >> > + int properties; >> > } AVCodecParameters; >> > >> > /** >> > diff --git a/libavcodec/utils.c b/libavcodec/utils.c >> > index e6609ef..8638bc2 100644 >> > --- a/libavcodec/utils.c >> > +++ b/libavcodec/utils.c >> > @@ -4076,6 +4076,7 @@ int >> > avcodec_parameters_from_context(AVCodecParameters *par, >> > par->bits_per_raw_sample = codec->bits_per_raw_sample; >> > par->profile = codec->profile; >> > par->level = codec->level; >> > + par->properties = codec->properties; >> > >> > switch (par->codec_type) { >> > case AVMEDIA_TYPE_VIDEO: >> > @@ -4130,6 +4131,7 @@ int avcodec_parameters_to_context(AVCodecContext >> > *codec, >> > codec->bits_per_raw_sample = par->bits_per_raw_sample; >> > codec->profile = par->profile; >> > codec->level = par->level; >> > + codec->properties = par->properties; >> > >> > switch (par->codec_type) { >> > case AVMEDIA_TYPE_VIDEO: >> >> Can you explain what exactly this is needed for? > > User apps can with this identify which streams are lossless without > them needing to open decoders for each stream and explicitly decode > some frames for each stream. > > it fixes a regression where this information is incorrectly printed > by av_dump_format() > > it fixes a regression where the existing lossless flag as documented by > the current documentation is set incorrectly >
We can copy it to the deprecated st->codec to keep the existing things working, but it still remains not a container flag, and the purpose of this structure is not to export every single piece of information a decoder might output. - Hendrik _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel