On Mon, Jul 18, 2016 at 05:39:46PM -0700, Mark Reid wrote: > On Jul 18, 2016 5:11 PM, "Michael Niedermayer" <mich...@niedermayer.cc> > wrote: > > > > On Mon, Jul 18, 2016 at 04:37:49PM -0700, Mark Reid wrote: > > > On Sun, Jul 17, 2016 at 4:35 AM, Michael Niedermayer > > > <mich...@niedermayer.cc> wrote: > > > > On Sat, Jul 16, 2016 at 07:37:36PM -0700, Mark Reid wrote: > > > >> --- > > > >> libavcodec/dnxhddec.c | 3 +++ > > > >> libavformat/movenc.c | 19 ++++++++++++++----- > > > >> 2 files changed, 17 insertions(+), 5 deletions(-) > > > > > > > > this should be split > > > > a single patch changing both libs is a bit suspicous API wise > > > > > > > > > > > >> > > > >> diff --git a/libavcodec/dnxhddec.c b/libavcodec/dnxhddec.c > > > >> index 5b60326..4c6f708 100644 > > > >> --- a/libavcodec/dnxhddec.c > > > >> +++ b/libavcodec/dnxhddec.c > > > >> @@ -204,6 +204,9 @@ static int dnxhd_decode_header(DNXHDContext > *ctx, AVFrame *frame, > > > >> } > > > >> > > > >> cid = AV_RB32(buf + 0x28); > > > >> + if (cid >= 1270 && cid <= 1274) > > > >> + ctx->avctx->codec_tag = MKTAG('A','V','d','h'); > > > > > > > > codec_tag is documented as: > > > > * - decoding: Set by user, will be converted to uppercase by > libavcodec during init. > > > > > > > > this sets it in the decoder by libavcodec though > > > > > > > > > > okay, in that case I'll have to remove the same thing from the encoder > patch. > > > I saw some other codecs doing it so I assumed it was okay. > > > > several encoders set codec_tag, and the docs are a bit unclear about > > that ... > > * - encoding: Set by user, if not then the default based on codec_id will > be used. > > > > but i think no decoder sets it > > The issue I'm attempting to solve here is that there are two tags for the > same codec_id > > AVdn for dnxhd > AVdh for dnxhr (Note the H instead of N) > > av_codec_get_tag always returns the first tag because of the order in > isom.c ff_codec_movvideo_tags
how hard is it to find out which it is from AVPacket.data ? if its easy then the mov muxer (is this the only that needs it?) could just check that to find which it is theres quite some existing code in ff_mov_write_packet() and functions called from it which analyze packets to satisfy the mov/mp4 specs but thats just a random idea, dont listen to me if you have a cleaner/simpler/better solution maybe the profile can be used and is always set ... [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Complexity theory is the science of finding the exact solution to an approximation. Benchmarking OTOH is finding an approximation of the exact
signature.asc
Description: Digital signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel