title: FFmpeg Hardware Acceleration with NVENC produces Half Green output video
body: <p>Using the FFmpeg build found here: <a href="https://github.com/illuspas/ffmpeg-hw-win32" rel="nofollow noreferrer">https://github.com/illuspas/ffmpeg-hw-win32</a></p>
  
  <pre><code>gcc 5.3.0
  --enable-nvenc nvidia_video_sdk_6.0.1
  --enable-libmfx Intel(R)_Media_SDK_2016.0.1
  --enable-libfdk-aac 0.1.4
  --enable-libspeex 1.2rc1
  --enable-libx264 1:148.20150725
  --enable-libopenh264 1.5.0
  --enable-libx265 1.8
  --enable-libopus 1.1.2
  --enable-libmp3lame 3.99.5
  --enable-libkvazaar 0.8.2
  </code></pre>
  
  <blockquote>
    <p>./configure --prefix=/home/aliang/FFmpeg/x86_64 --enable-small --disable-debug --disable-doc --arch=x86_64 --cc='ccache x86_64-w64-mingw32-gcc' --cross-prefix=x86_64-w64-mingw32- --enable-cross-compile --target-os=mingw32 --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libspeex --enable-libx264 --enable-libx265 --enable-libmfx --enable-nvenc --enable-libopenh264 --enable-libkvazaar --enable-gpl --enable-nonfree</p>
  </blockquote>
  
  <p>I'm running Windows on a MacBook Pro. I also tried with a more recent build and had the same output.</p>
  
  <p>Input video is from <a href="http://www.sample-videos.com/" rel="nofollow noreferrer">sample-videos.com</a>.</p>
  
  <p>The ffmpeg command I am running is:</p>
  
  <pre><code>ffmpeg -y -i sample.mp4 -vcodec nvenc_h264 -pixel_format yuv420p -f mp4 sample-out-nvenc.mp4
  </code></pre>
  
  <p>sample-out-nvenc.mp4 looks like this via ffplay or vlc:</p>
  
  <p><a href="https://i.stack.imgur.com/bTiTx.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/bTiTx.png" alt="enter image description here"></a></p>
  
  <p>When I grab a frame using jpeg2, the colors appear normal, but the height is squished.</p>
  
  <pre><code>ffmpeg -y -ss 15.5 -i sample.mp4 -vframes 1 -s 480x300 -f image2 grab.jpg
  </code></pre>
  
  <p><a href="https://i.stack.imgur.com/Ny4QX.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/Ny4QX.jpg" alt="enter image description here"></a> </p>
  
  <p>The ffprobe results for the output (sample-out-nvenc.mp4): </p>
  
  <pre><code>Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'sample-out-nvenc.mp4':
    Metadata:
      major_brand     : isom
      minor_version   : 512
      compatible_brands: isomiso2avc1mp41
      encoder         : Lavf57.25.100
    Duration: 00:00:31.02, start: 0.021333, bitrate: 1994 kb/s
      Stream #0:0(und): Video: h264 (avc1 / 0x31637661), yuv420p(tv), 640x480 [SAR 1:1 DAR 4:3], 1650 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
      Metadata:
        handler_name    : VideoHandler
      Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 48000 Hz, 5.1, fltp, 342 kb/s (default)
      Metadata:
        handler_name    : SoundHandler
  </code></pre>
  
  <p>Lastly the output from the nvenc encoding command:</p>
  
  <pre><code>ffmpeg -y -i sample.mp4 -vcodec nvenc_h264 -pixel_format yuv420p -f mp4 sample-out-nvenc.mp4
  ffmpeg version 3.0 Copyright (c) 2000-2016 the FFmpeg developers
    built with gcc 5.3.0 (GCC)
    configuration: --prefix=/home/aliang/FFmpeg/x86_64 --enable-small --disable-debug --disable-doc --arch=x86_64 --cc='ccache x86_64-w64-mingw32-gcc' --cross-prefix=x86_64-w64-mingw32- --enable-cross-compile --target-os=mingw32 --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libspeex --enable-libx264 --enable-libx265 --enable-libmfx --enable-nvenc --enable-libopenh264 --enable-libkvazaar --enable-gpl --enable-nonfree
    libavutil      55. 17.103 / 55. 17.103
    libavcodec     57. 24.102 / 57. 24.102
    libavformat    57. 25.100 / 57. 25.100
    libavdevice    57.  0.101 / 57.  0.101
    libavfilter     6. 31.100 /  6. 31.100
    libswscale      4.  0.100 /  4.  0.100
    libswresample   2.  0.101 /  2.  0.101
    libpostproc    54.  0.100 / 54.  0.100
  Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'sample.mp4':
    Metadata:
      major_brand     : isom
      minor_version   : 512
      compatible_brands: isomiso2avc1mp41
      creation_time   : 1970-01-01 00:00:00
      encoder         : Lavf53.24.2
    Duration: 00:00:31.00, start: 0.000000, bitrate: 1353 kb/s
      Stream #0:0(und): Video: h264 (avc1 / 0x31637661), yuv420p, 640x480 [SAR 1:1 DAR 4:3], 966 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
      Metadata:
        creation_time   : 1970-01-01 00:00:00
        handler_name    : VideoHandler
      Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 48000 Hz, 5.1, fltp, 383 kb/s (default)
      Metadata:
        creation_time   : 1970-01-01 00:00:00
        handler_name    : SoundHandler
  Output #0, mp4, to 'sample-out-nvenc.mp4':
    Metadata:
      major_brand     : isom
      minor_version   : 512
      compatible_brands: isomiso2avc1mp41
      encoder         : Lavf57.25.100
      Stream #0:0(und): Video: h264 (nvenc_h264) ([33][0][0][0] / 0x0021), yuv420p, 640x480 [SAR 1:1 DAR 4:3], q=-1--1, 2000 kb/s, 25 fps, 12800 tbn, 25 tbc (default)
      Metadata:
        creation_time   : 1970-01-01 00:00:00
        handler_name    : VideoHandler
        encoder         : Lavc57.24.102 nvenc_h264
      Side data:
        unknown side data type 10 (24 bytes)
      Stream #0:1(und): Audio: aac ([64][0][0][0] / 0x0040), 48000 Hz, 5.1, fltp, 341 kb/s (default)
      Metadata:
        creation_time   : 1970-01-01 00:00:00
        handler_name    : SoundHandler
        encoder         : Lavc57.24.102 aac
  Stream mapping:
    Stream #0:0 -&gt; #0:0 (h264 (native) -&gt; h264 (nvenc_h264))
    Stream #0:1 -&gt; #0:1 (aac (native) -&gt; aac (native))
  Press [q] to stop, [?] for help
  frame=  774 fps=253 q=-0.0 Lsize=    7551kB time=00:00:30.99 bitrate=1995.6kbits/s speed=10.1x
  video:6236kB audio:1297kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.243011%
  [aac @ 000001cdd9900520] Qavg: 743.457
  </code></pre>