[FFmpeg-devel] [PATCH 0/6] dnxhr improvements

Rostislav Pehlivanov atomnuker at gmail.com
Tue Jul 5 04:20:42 EEST 2016


On 5 July 2016 at 02:06, Mark Reid <mindmark at gmail.com> wrote:

> hi,
>
> I've been doing some work with dnxhr footage and would like to propose
> adding separate codec id for it rather then using the dnxhd codec id.
> The following patch series goes ahead and does that.
>
> fate doesn't have a dnxhr mxf sample yet, so here is one.
>
> https://dl.dropboxusercontent.com/u/170952/ffmpeg_samples/mxf/UHD/lb_uhd.mxf
>
> The last patch also adds support for muxing apple quicktime compatible
> dnxhr mov files.
> ffmpeg -i lb_uhd.mxf -vcodec copy out.mov
> This should produce a mov that is playable in apple quicktime
> provided you have avid le codecs installed.
>
> Mark Reid (6):
>   libavcodec/avcodec: add AV_CODEC_ID_DNXHR
>   libavcodec/dnxhd: add dnxhr parser and decoder
>   libavformat/dnxhd: add dnxhr probe and raw muxer
>   libavformat/isom: use dnxhr codec id
>   libavformat/mxf: add dnxhr codec ul
>   libavformat/movenc: add dnxhr compatibility for apple players
>
>  libavcodec/allcodecs.c    |  2 ++
>  libavcodec/avcodec.h      |  1 +
>  libavcodec/codec_desc.c   |  7 +++++++
>  libavcodec/dnxhd_parser.c |  7 +++++++
>  libavcodec/dnxhddec.c     | 14 ++++++++++++++
>  libavcodec/version.h      |  2 +-
>  libavformat/allformats.c  |  1 +
>  libavformat/dnxhddec.c    | 22 ++++++++++++++++++++--
>  libavformat/isom.c        |  2 +-
>  libavformat/movenc.c      | 34 +++++++++++++++++++++++-----------
>  libavformat/mxf.c         |  1 +
>  libavformat/mxfdec.c      |  4 ++++
>  libavformat/rawenc.c      | 11 +++++++++++
>  libavformat/version.h     |  2 +-
>  14 files changed, 94 insertions(+), 16 deletions(-)
>
> --
> 2.7.3
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>

Why would you want to have a separate codec ID for this? If it's handled by
the same decoder and there's not way to differentiate it outside the packet
it's pointless and makes things difficult for everyone else since they'd
have to treat it specially. Take a look at the Dirac decoder - it handles
both VC2 and regular Dirac files without having to have a separate codec ID.
As for muxing, the FOURCC codes and the mxf identifier for regular dnxhd
and dnxhr are identical so it's absolutely insane to have another codec id
for the sake of adding another codec id (also the lavc micro must be
bumped, on such, but that's another thing).
No point in treating dnxhr as special - it's simply not.


More information about the ffmpeg-devel mailing list