>-----Original Message-----
>From: Libav-user [mailto:[email protected]] On Behalf Of Carl 
>Eugen Hoyos
>Sent: Montag, 29. August 2016 12:17
>To: This list is about using libavcodec, libavformat, libavutil, libavdevice 
>and libavfilter.
>Subject: Re: [Libav-user] Writing 16bit greyscale videos
>
>>2016-08-29 10:59 GMT+02:00 Masneri, Stefano <[email protected]>:
>> I have a small class that creates an h264 video from a set of input images.
>> I have some problems trying to write 16 bit input images: Conversion 
>> to yuv420p format loses 8 bit of precision, and apparently x264 does 
>> not support encoding 16 bit greyscale data.
>
>H.264 does not support more than 14bit, x264 does not support more than 10bit 
>input.
>
>> Do you know of a codec that supports encoding a video using 
> >AV_PIX_FMT_GRAY16BE pixel format (or anything similar)?
>
>jpegls, png, tiff, dpx, sgi, ffvhuff, ffv1 (all lossless) Jpeg2000, but FFmpeg 
>needs the external library libopenjpeg for encoding
>gray16 (lossy or lossless)
>
>Carl Eugen

Thanks Carl. I am able to create the video with 16 bit greyscale images, but 
when I try watching the video in VLC I only see a green image. Reading the 
frames one by one (with a simple class which uses FFmpeg) I see a strange 
behaviour: every second column of the video is zero, while the other are 
exactly as the input fed to the class that created the video. I guess there is 
somewhere a problem switching from uint16 to uint8, but I cannot figure it out. 
Any hints?

Here's the output of ffprobe
D:\Code\VisualStudio\FFmpegApps\Win\VideoWriterApp>ffprobe -i test16bit.avi
ffprobe version 2.8.6 Copyright (c) 2007-2016 the FFmpeg developers
  built with gcc 5.3.0 (GCC)
  configuration: --disable-static --enable-shared --enable-gpl 
--enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib 
--enable-fontconfig --ena
ble-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray 
--enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype 
--enable-
libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame 
--enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg 
--enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr 
--enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab 
--enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis 
--enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 
--enable-libx265 --enable-libxavs --enable-libxvid --enable-lzma 
--enable-decklink --enable-zlib
  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, avi, from 'test16bit.avi':
  Metadata:
    encoder         : Lavf56.40.101
  Duration: 00:00:40.00, start: 0.000000, bitrate: 854 kb/s
    Stream #0:0: Video: ffv1 (FFV1 / 0x31564646), gray16le, 720x576, 849 kb/s, 
25 fps, 25 tbr, 25 tbn, 25 tbc

_______________________________________________
Libav-user mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/libav-user

Reply via email to