2016-09-09 10:55 GMT-03:00 Charles <[email protected]>: > On 09/08/2016 09:57 AM, Leandro Raffo wrote: >> >> 2016-09-07 22:18 GMT-03:00 Charles <[email protected]>: >>> >>> On 09/07/2016 10:06 AM, Leandro Raffo wrote: >>>> >>>> >>>> Do the ffmpeg libraries expose hardware encoding capabilities? (I'm >>>> mainly looking for NVENC). I've been looking at the ffmpeg source code >>>> for a bit now, but I cannot find where it is implemented, although I >>>> could encode directly with the executable (I compiled), hope I get >>>> some kind of response this time, I'm sorry if my mails are too >>>> newbie/dumb for this mail list but I want to learn to use the ffmpeg >>>> api libraries and I'm going at a snail's pace :). >>>> _______________________________________________ >>> >>> Yes, you need to have the NVidia Video SDK when you build. >>> >>> ./configure --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg >>> --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man >>> --extra-cflags=-I../Video_Codec_SDK_7.0.1/Samples/common/inc [...] >>> --enable-nvenc [...] blah blah blah >>> >>> The path --extra-cflags=-I is to the nvEncodeAPI.h file needed and >>> --enable-nvenc adds the h.264 encoder >>> >>> See ./libavcodec/nvenc.c >>> >>> Thanks >>> cco >> >> >> Charles thanks for your answer. I've already compiled using the Nvidia >> SDK, the thing is that SDK example code is.. uhm.. so I was trying to > > > lol ... yes the Nvidia Sample code is uhm... > > You can verify you ffmpeg is build with nvenc > > linux2 8:28am avlib >> ffmpeg -encoders |& grep h264_nvenc > V..... h264_nvenc NVIDIA NVENC H.264 encoder (codec h264) > > I am not following what you trying to do? Use ffmpeg or direct to nvidia > nvenc... > > Thanks > cco > >> read FFmpeg's source code instead looking how were you using it. >> Reading the nvenc.c code and correct me If I'm wrong but setting up an >> AVCodecContext, calling ff_nvenc_encode_frame with a frame and receive >> a packet to write would do it?
I'm trying to encode AVFrames using the GPU from C code, so I was trying to see how ffmpeg's source code was doing it and asking for a pointer on it (or its location lol). I've already encoded directly with ffmpeg (to see its working) but I need to encode random AVFrames not an entire video. Also giving a yuv420 video to the Nvidia ENC samples produces a corrupted video. _______________________________________________ Libav-user mailing list [email protected] http://ffmpeg.org/mailman/listinfo/libav-user
