Commit 14cc9765 authored by Laurent Aimar's avatar Laurent Aimar

Let swscale handle video conversion when available (close #1695)

parent f698b433
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
/***************************************************************************** /*****************************************************************************
* Chroma fourcc -> ffmpeg_id mapping * Chroma fourcc -> ffmpeg_id mapping
*****************************************************************************/ *****************************************************************************/
static struct static const struct
{ {
vlc_fourcc_t i_chroma; vlc_fourcc_t i_chroma;
int i_chroma_id; int i_chroma_id;
...@@ -74,7 +74,7 @@ static struct ...@@ -74,7 +74,7 @@ static struct
{ 0, 0 } { 0, 0 }
}; };
static int GetFfmpegChroma( vlc_fourcc_t i_chroma ) static inline int GetFfmpegChroma( vlc_fourcc_t i_chroma )
{ {
int i; int i;
...@@ -86,7 +86,7 @@ static int GetFfmpegChroma( vlc_fourcc_t i_chroma ) ...@@ -86,7 +86,7 @@ static int GetFfmpegChroma( vlc_fourcc_t i_chroma )
return -1; return -1;
} }
static vlc_fourcc_t GetVlcChroma( int i_ffmpeg_chroma ) static inline vlc_fourcc_t GetVlcChroma( int i_ffmpeg_chroma )
{ {
int i; int i;
......
...@@ -45,6 +45,7 @@ ...@@ -45,6 +45,7 @@
#endif #endif
#include "avcodec.h" #include "avcodec.h"
#include "chroma.h"
/***************************************************************************** /*****************************************************************************
* decoder_sys_t : decoder descriptor * decoder_sys_t : decoder descriptor
...@@ -150,9 +151,11 @@ static uint32_t ffmpeg_PixFmtToChroma( int i_ff_chroma ) ...@@ -150,9 +151,11 @@ static uint32_t ffmpeg_PixFmtToChroma( int i_ff_chroma )
case PIX_FMT_GRAY8: case PIX_FMT_GRAY8:
return VLC_FOURCC('G','R','E','Y'); return VLC_FOURCC('G','R','E','Y');
case PIX_FMT_YUV410P:
case PIX_FMT_YUV411P:
default: default:
#if defined(HAVE_LIBSWSCALE_SWSCALE_H) || defined(HAVE_FFMPEG_SWSCALE_H)
if( GetVlcChroma( i_ff_chroma ) )
return GetVlcChroma( i_ff_chroma );
#endif
return 0; return 0;
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment