\r
#include "flv.h"\r
\r
+#include "../tbb_avcodec.h"\r
#include "../../ffmpeg_error.h"\r
\r
#include <tbb/concurrent_unordered_map.h>\r
write->commit(n);\r
}\r
}\r
+\r
+ if(decoded_frame->height == 480) // NTSC DV\r
+ {\r
+ write->get_frame_transform().fill_translation[1] += 2.0/static_cast<double>(frame_factory->get_video_format_desc().height);\r
+ write->get_frame_transform().fill_scale[1] = 1.0 - 6.0*1.0/static_cast<double>(frame_factory->get_video_format_desc().height);\r
+ }\r
\r
// Fix field-order if needed\r
if(write->get_type() == core::field_mode::lower && frame_factory->get_video_format_desc().field_mode == core::field_mode::upper)\r
{ \r
AVCodec* decoder;\r
index = THROW_ON_ERROR2(av_find_best_stream(&context, type, -1, -1, &decoder, 0), "");\r
- THROW_ON_ERROR2(avcodec_open(context.streams[index]->codec, decoder), "");\r
- return safe_ptr<AVCodecContext>(context.streams[index]->codec, avcodec_close);\r
+ if(strcmp(decoder->name, "prores") == 0 && decoder->next && strcmp(decoder->next->name, "prores_lgpl") == 0)\r
+ decoder = decoder->next;\r
+\r
+ THROW_ON_ERROR2(tbb_avcodec_open(context.streams[index]->codec, decoder), "");\r
+ return safe_ptr<AVCodecContext>(context.streams[index]->codec, tbb_avcodec_close);\r
}\r
\r
safe_ptr<AVFormatContext> open_input(const std::wstring& filename)\r