Some export tidying up.
[dcpomatic.git] / src / lib / ffmpeg_transcoder.cc
index 19c55ff7ab22f824940e0cdbc7808af9f0031774..b3d1e9926a1e51b9c575a7223b75bd57430e8108 100644 (file)
@@ -43,21 +43,24 @@ force_pixel_format (AVPixelFormat, AVPixelFormat out)
        return out;
 }
 
-FFmpegTranscoder::FFmpegTranscoder (shared_ptr<const Film> film, weak_ptr<Job> job)
+FFmpegTranscoder::FFmpegTranscoder (shared_ptr<const Film> film, weak_ptr<Job> job, boost::filesystem::path output, Format format)
        : Transcoder (film, job)
-       , _pixel_format (AV_PIX_FMT_YUV422P10)
        , _history (1000)
+       , _output (output)
 {
-
+       switch (format) {
+       case FORMAT_PRORES:
+               _pixel_format = AV_PIX_FMT_YUV422P10;
+               _codec_name = "prores_ks";
+       }
 }
 
 void
 FFmpegTranscoder::go ()
 {
-       string const codec_name = "prores_ks";
-       AVCodec* codec = avcodec_find_encoder_by_name (codec_name.c_str());
+       AVCodec* codec = avcodec_find_encoder_by_name (_codec_name.c_str());
        if (!codec) {
-               throw runtime_error (String::compose ("could not find FFmpeg codec %1", codec_name));
+               throw runtime_error (String::compose ("could not find FFmpeg codec %1", _codec_name));
        }
 
        _codec_context = avcodec_alloc_context3 (codec);