|
|
@ -66,55 +66,9 @@ static std::string fourccToString(int fourcc) |
|
|
|
(i32_c.c[3] >= ' ' && i32_c.c[3] < 128) ? i32_c.c[3] : '?'); |
|
|
|
(i32_c.c[3] >= ' ' && i32_c.c[3] < 128) ? i32_c.c[3] : '?'); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// handle old FFmpeg backend - remove when windows shared library is updated
|
|
|
|
|
|
|
|
#ifdef _WIN32 |
|
|
|
|
|
|
|
static |
|
|
|
|
|
|
|
Codec FourccToCodecWin32Old(int codec) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
switch (codec) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
case CV_FOURCC_MACRO('m', 'p', 'e', 'g'): // fallthru
|
|
|
|
|
|
|
|
case CV_FOURCC_MACRO('m', 'p', 'g', '1'): // fallthru
|
|
|
|
|
|
|
|
case CV_FOURCC_MACRO('M', 'P', 'G', '1'): return MPEG1; |
|
|
|
|
|
|
|
case CV_FOURCC_MACRO('m', 'p', 'g', '2'): // fallthru
|
|
|
|
|
|
|
|
case CV_FOURCC_MACRO('M', 'P', 'G', '2'): return MPEG2; |
|
|
|
|
|
|
|
case CV_FOURCC_MACRO('X', 'V', 'I', 'D'): // fallthru
|
|
|
|
|
|
|
|
case CV_FOURCC_MACRO('m', 'p', '4', 'v'): // fallthru
|
|
|
|
|
|
|
|
case CV_FOURCC_MACRO('D', 'I', 'V', 'X'): return MPEG4; |
|
|
|
|
|
|
|
case CV_FOURCC_MACRO('W', 'V', 'C', '1'): return VC1; |
|
|
|
|
|
|
|
case CV_FOURCC_MACRO('H', '2', '6', '4'): // fallthru
|
|
|
|
|
|
|
|
case CV_FOURCC_MACRO('h', '2', '6', '4'): // fallthru
|
|
|
|
|
|
|
|
case CV_FOURCC_MACRO('a', 'v', 'c', '1'): return H264; |
|
|
|
|
|
|
|
case CV_FOURCC_MACRO('H', '2', '6', '5'): // fallthru
|
|
|
|
|
|
|
|
case CV_FOURCC_MACRO('h', '2', '6', '5'): // fallthru
|
|
|
|
|
|
|
|
case CV_FOURCC_MACRO('h', 'e', 'v', 'c'): return HEVC; |
|
|
|
|
|
|
|
case CV_FOURCC_MACRO('M', 'J', 'P', 'G'): return JPEG; |
|
|
|
|
|
|
|
case CV_FOURCC_MACRO('v', 'p', '8', '0'): // fallthru
|
|
|
|
|
|
|
|
case CV_FOURCC_MACRO('V', 'P', '8', '0'): // fallthru
|
|
|
|
|
|
|
|
case CV_FOURCC_MACRO('v', 'p', '0', '8'): // fallthru
|
|
|
|
|
|
|
|
case CV_FOURCC_MACRO('V', 'P', '0', '8'): return VP8; |
|
|
|
|
|
|
|
case CV_FOURCC_MACRO('v', 'p', '9', '0'): // fallthru
|
|
|
|
|
|
|
|
case CV_FOURCC_MACRO('V', 'P', '9', '0'): // fallthru
|
|
|
|
|
|
|
|
case CV_FOURCC_MACRO('V', 'P', '0', '9'): // fallthru
|
|
|
|
|
|
|
|
case CV_FOURCC_MACRO('v', 'p', '0', '9'): return VP9; |
|
|
|
|
|
|
|
case CV_FOURCC_MACRO('a', 'v', '1', '0'): // fallthru
|
|
|
|
|
|
|
|
case CV_FOURCC_MACRO('A', 'V', '1', '0'): // fallthru
|
|
|
|
|
|
|
|
case CV_FOURCC_MACRO('a', 'v', '0', '1'): // fallthru
|
|
|
|
|
|
|
|
case CV_FOURCC_MACRO('A', 'V', '0', '1'): return AV1; |
|
|
|
|
|
|
|
default: |
|
|
|
|
|
|
|
return NumCodecs; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
static |
|
|
|
static |
|
|
|
Codec FourccToCodec(int codec) |
|
|
|
Codec FourccToCodec(int codec) |
|
|
|
{ |
|
|
|
{ |
|
|
|
#ifdef _WIN32 // handle old FFmpeg backend - remove when windows shared library is updated
|
|
|
|
|
|
|
|
Codec win32OldCodec = FourccToCodecWin32Old(codec); |
|
|
|
|
|
|
|
if(win32OldCodec != NumCodecs) |
|
|
|
|
|
|
|
return win32OldCodec; |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
switch (codec) |
|
|
|
switch (codec) |
|
|
|
{ |
|
|
|
{ |
|
|
|
case CV_FOURCC_MACRO('m', 'p', 'g', '1'): return MPEG1; |
|
|
|
case CV_FOURCC_MACRO('m', 'p', 'g', '1'): return MPEG1; |
|
|
|