[Libav-user] ProRes 444(4) with FFmpeg API (libavcodec)?
pjschneider at earthlink.net
Sun Apr 19 22:57:37 CEST 2015
I have some code that converts a sequence of still images (animation frames) to H.264, using either the libx264 or libopenh264 library (depending on how I build libavcodec, etc).
Now, I’d like to extend this to encoding ProRes format, both the 422 and 444(4) variants. I can set the codec ID to AV_CODEC_ID_PRORES and the pixel format to AV_PIX_FMT_YUV422P10LE, and the resulting movie is created with ProRes 4:2:2 format. Yay!
But, if instead I choose the AV_PIX_FMT_YUV444P10LE pixel format, I get the “Specified pixel format is invalid or not supported” error at runtime. From what I’ve read, this indicates that my FFmpeg libavcodec is using either “prores” or “prores_aw”, rather than “prores_ks”, the latter supposedly supporting 4444 (or 444?)
While it seems easy to specify which ProRes encoder to use in the ffmpeg command-line program, I don’t know how to do this via the libavcodec API? Do I need to compile it in some particular way (seems not…)? Or, is this something I have to specify with the API, in addition to setting the codec ID to AV_CODEC_ID_PRORES?
In short, how do I use/specify the “prores_ks” encoder with the API?
More information about the Libav-user