[FFmpeg-trac] #4980(undetermined:new): yuv444 conversion in 1080p video of x265 native format broken?

FFmpeg trac at avcodec.org
Mon Nov 2 11:41:37 CET 2015


#4980: yuv444 conversion in 1080p video of x265 native format broken?
-------------------------------------+-------------------------------------
             Reporter:  psteinb      |                     Type:  defect
               Status:  new          |                 Priority:  normal
            Component:               |                  Version:
  undetermined                       |  unspecified
             Keywords:  x265         |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
 Summary of the bug:
 Lossless roundtrips of 1080p yuv444 videos yields output video that does
 not match the input.
 This is a continuation from
 https://bitbucket.org/multicoreware/x265/issues/197/yuv444p-lossless-
 roundtrip-for-1080p
 as the x265 devs don't think their app yields a problem. I post it here as
 a bug report.

 How to reproduce:
 Use
 http://ultravideo.cs.tut.fi/video/Jockey_1920x1080_30fps_420_8bit_AVC_MP4.mp4
 as input video

 {{{
 $ ffmpeg -report -i Jockey_1920x1080_30fps_420_8bit_AVC_MP4.mp4 -pix_fmt
 yuv444p Jockey_1920x1080_30fps_444_8bit_AVC_MP4.yuv
 ffmpeg started on 2015-11-02 at 11:35:19
 Report written to "ffmpeg-20151102-113519.log"
 ffmpeg version n2.8 Copyright (c) 2000-2015 the FFmpeg developers
   built with gcc 4.8.3 (GCC) 20140911 (Red Hat 4.8.3-9)
   configuration: --prefix=/home/steinbac/software/ffmpeg/2.8-x265master
 --enable-libx265 --enable-libx264 --enable-gpl --enable-shared
   libavutil      54. 31.100 / 54. 31.100
   libavcodec     56. 60.100 / 56. 60.100
   libavformat    56. 40.101 / 56. 40.101
   libavdevice    56.  4.100 / 56.  4.100
   libavfilter     5. 40.101 /  5. 40.101
   libswscale      3.  1.101 /  3.  1.101
   libswresample   1.  2.101 /  1.  2.101
   libpostproc    53.  3.100 / 53.  3.100
 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from
 'Jockey_1920x1080_30fps_420_8bit_AVC_MP4.mp4':
   Metadata:
     major_brand     : isom
     minor_version   : 512
     compatible_brands: isomiso2avc1mp41
     encoder         : Lavf55.9.100
   Duration: 00:00:20.00, start: 0.000000, bitrate: 2961 kb/s
     Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p,
 1920x1080, 2959 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)
     Metadata:
       handler_name    : VideoHandler
 File 'Jockey_1920x1080_30fps_444_8bit_AVC_MP4.yuv' already exists.
 Overwrite ? [y/N] y
 Output #0, rawvideo, to 'Jockey_1920x1080_30fps_444_8bit_AVC_MP4.yuv':
   Metadata:
     major_brand     : isom
     minor_version   : 512
     compatible_brands: isomiso2avc1mp41
     encoder         : Lavf56.40.101
     Stream #0:0(und): Video: rawvideo (444P / 0x50343434), yuv444p,
 1920x1080, q=2-31, 200 kb/s, 30 fps, 30 tbn, 30 tbc (default)
     Metadata:
       handler_name    : VideoHandler
       encoder         : Lavc56.60.100 rawvideo
 Stream mapping:
   Stream #0:0 -> #0:0 (h264 (native) -> rawvideo (native))
 Press [q] to stop, [?] for help
 frame=  600 fps= 97 q=-0.0 Lsize= 3645000kB time=00:00:20.00
 bitrate=1492992.0kbits/s
 video:3645000kB audio:0kB subtitle:0kB other streams:0kB global
 headers:0kB muxing overhead: 0.000000%
 $ x265 --lossless --preset=ultrafast --input-depth 8 --input-res 1920x1080
 --fps 30 --input-csp i444 Jockey_1920x1080_30fps_444_8bit_AVC_MP4.yuv
 Jockey_1920x1080_30fps_444_8bit_AVC_MP4_lrt.hevc
 yuv  [info]: 1920x1080 fps 30000/1000 i444p8 frames 0 - 599 of 600
 raw  [info]: output file: Jockey_1920x1080_30fps_444_8bit_AVC_MP4_lrt.hevc
 x265 [info]: HEVC encoder version 1.8+43-04575a459a16
 x265 [info]: build info [Linux][GCC 4.8.3][64 bit] 8bit
 x265 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX AVX2
 FMA3 LZCNT BMI2
 x265 [info]: Main 4:4:4 profile, Level-8.5 (Main tier)
 x265 [info]: Thread pool 0 using 16 threads on numa nodes 0,1
 x265 [info]: frame threads / pool features       : 5 / wpp(34 rows)
 x265 [info]: Coding QT: max CU size, min CU size : 32 / 16
 x265 [info]: Residual QT: max TU size, max depth : 32 / 1 inter / 1 intra
 x265 [info]: ME / range / subpel / merge         : dia / 57 / 0 / 2
 x265 [info]: Keyframe min / max / scenecut       : 25 / 250 / 0
 x265 [info]: Cb/Cr QP Offset                     : 6 / 6
 x265 [info]: Lookahead / bframes / badapt        : 5 / 3 / 0
 x265 [info]: b-pyramid / weightp / weightb       : 1 / 0 / 0
 x265 [info]: References / ref-limit  cu / depth  : 1 / 0 / 0
 x265 [info]: Rate Control                        : Lossless
 x265 [info]: tools: rd=2 psy-rd=0.30 early-skip tmvp fast-intra
 x265 [info]: tools: strong-intra-smoothing deblock
 x265 [info]: frame I:      3, Avg QP:4.00  kb/s: 349666.56
 x265 [info]: frame P:    149, Avg QP:4.00  kb/s: 339413.76
 x265 [info]: frame B:    448, Avg QP:4.00  kb/s: 220238.56
 x265 [info]: consecutive B-frames: 0.7% 1.3% 0.7% 97.4%
 x265 [info]: lossless compression ratio 1.99::1

 encoded 600 frames in 29.57s (20.29 fps), 250480.88 kb/s, Avg QP:4.00
 $ ffmpeg -report -i Jockey_1920x1080_30fps_444_8bit_AVC_MP4_lrt.hevc
 -pix_fmt yuv444p Jockey_1920x1080_30fps_444_8bit_AVC_MP4_lrt.yuv

 $ md5sum Jockey_1920x1080_30fps_444*yuv
 bc55e7201dc65f6cc542dabd4dc50ba9
 Jockey_1920x1080_30fps_444_8bit_AVC_MP4_lrt.yuv
 a5218f68414d8956e6e69bdb48301228
 Jockey_1920x1080_30fps_444_8bit_AVC_MP4.yuv

 }}}

--
Ticket URL: <https://trac.ffmpeg.org/ticket/4980>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list