[FFmpeg-devel] [PATCH] avcodec/dnxhddec: fix decoding of DNxHR HQX 10-bit

Carl Eugen Hoyos ceffmpeg at gmail.com
Thu Feb 23 01:46:37 EET 2017


2017-02-22 14:51 GMT+01:00 Paul B Mahol <onemda at gmail.com>:
> On 2/22/17, Paul B Mahol <onemda at gmail.com> wrote:
>> Signed-off-by: Paul B Mahol <onemda at gmail.com>
>> ---
>>  libavcodec/dnxhddec.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/libavcodec/dnxhddec.c b/libavcodec/dnxhddec.c
>> index 70ce264..cdbc0bc 100644
>> --- a/libavcodec/dnxhddec.c
>> +++ b/libavcodec/dnxhddec.c
>> @@ -435,7 +435,7 @@ static int dnxhd_decode_dct_block_8(const DNXHDContext
>> *ctx,
>>  static int dnxhd_decode_dct_block_10(const DNXHDContext *ctx,
>>                                       RowContext *row, int n)
>>  {
>> -    return dnxhd_decode_dct_block(ctx, row, n, 6, 8, 4, 0);
>> +    return dnxhd_decode_dct_block(ctx, row, n, 6, 32, 6, 0);
>>  }
>>
>>  static int dnxhd_decode_dct_block_10_444(const DNXHDContext *ctx,
>> --
>> 2.9.3
>>
>>
>
> File can be found here:
> https://drive.google.com/open?id=0B1hdyiz226iBV1llcDl3LW80U2c

The file does not decode here with your patch applied:
$ md5sum test.mov
25e45b380250bb76296f623fee9d43f1  test.mov

$ ffmpeg -i test.mov -f null -
ffmpeg version N-83619-g6a22d24 Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 4.7 (SUSE Linux)
  configuration: --enable-gpl --enable-libx265
  libavutil      55. 47.100 / 55. 47.100
  libavcodec     57. 81.100 / 57. 81.100
  libavformat    57. 66.102 / 57. 66.102
  libavdevice    57.  2.100 / 57.  2.100
  libavfilter     6. 73.100 /  6. 73.100
  libswscale      4.  3.101 /  4.  3.101
  libswresample   2.  4.100 /  2.  4.100
  libpostproc    54.  2.100 / 54.  2.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'test.mov':
  Metadata:
    major_brand     : qt
    minor_version   : 512
    compatible_brands: qt
    encoder         : Lavf57.59.100
    make            : Atomos
    make-eng        : Atomos
  Duration: 00:00:00.17, start: 0.000000, bitrate: 697811 kb/s
    Stream #0:0(eng): Video: dnxhd (DNXHR HQX) (AVdh / 0x68645641),
yuv422p10le(tv, bt709/unknown/unknown), 3840x2160, 698439 kb/s, SAR
1:1 DAR 16:9, 23.98 fps, 23.98 tbr, 24k tbn, 24k tbc (default)
    Metadata:
      handler_name    : DataHandler
      encoder         : Avid DNxHR Codec
      timecode        : 00:00:00:00
    Stream #0:1(eng): Data: none (tmcd / 0x64636D74), 0 kb/s
    Metadata:
      handler_name    : DataHandler
      timecode        : 00:00:00:00
Output #0, null, to 'pipe:':
  Metadata:
    major_brand     : qt
    minor_version   : 512
    compatible_brands: qt
    make-eng        : Atomos
    make            : Atomos
    encoder         : Lavf57.66.102
    Stream #0:0(eng): Video: wrapped_avframe, yuv422p10le, 3840x2160
[SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 23.98 fps, 23.98 tbn, 23.98 tbc
(default)
    Metadata:
      handler_name    : DataHandler
      timecode        : 00:00:00:00
      encoder         : Lavc57.81.100 wrapped_avframe
Stream mapping:
  Stream #0:0 -> #0:0 (dnxhd (native) -> wrapped_avframe (native))
Press [q] to stop, [?] for help
frame=    0 fps=0.0 q=0.0 Lsize=N/A time=00:00:00.00 bitrate=N/A speed=   0x
video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
muxing overhead: unknown
Output file is empty, nothing was encoded (check -ss / -t / -frames
parameters if used)

Carl Eugen


More information about the ffmpeg-devel mailing list