]> git.sesse.net Git - vlc/blobdiff - modules/codec/ffmpeg/video.c
Compile fix for packaged ffmpeg on debian etch.
[vlc] / modules / codec / ffmpeg / video.c
index 5afef13d85741151160687824785c75c78d82cdc..88eb6bae71255f689dd1750069f9f5f71638531c 100644 (file)
@@ -35,7 +35,9 @@
 #include <vlc_input.h>                  /* hmmm, just for INPUT_RATE_DEFAULT */
 
 /* ffmpeg header */
-#ifdef HAVE_FFMPEG_AVCODEC_H
+#ifdef HAVE_LIBAVCODEC_AVCODEC_H
+#   include <libavcodec/avcodec.h>
+#elif defined(HAVE_FFMPEG_AVCODEC_H)
 #   include <ffmpeg/avcodec.h>
 #else
 #   include <avcodec.h>
@@ -122,12 +124,27 @@ static uint32_t ffmpeg_PixFmtToChroma( int i_ff_chroma )
     case PIX_FMT_YUV422:
         return VLC_FOURCC('Y','U','Y','2');
 
+#if defined(WORDS_BIGENDIAN)
+    case PIX_FMT_BGR8:
+        return VLC_FOURCC('R','G','B','8');
+    case PIX_FMT_BGR555:
+        return VLC_FOURCC('R','V','1','5');
+    case PIX_FMT_BGR565:
+        return VLC_FOURCC('R','V','1','6');
+    case PIX_FMT_BGR24:
+        return VLC_FOURCC('R','V','2','4');
+#else
+#if defined(PIX_FMT_RGB8)
+    case PIX_FMT_RGB8:
+        return VLC_FOURCC('R','G','B','8');
+#endif
     case PIX_FMT_RGB555:
         return VLC_FOURCC('R','V','1','5');
     case PIX_FMT_RGB565:
         return VLC_FOURCC('R','V','1','6');
     case PIX_FMT_RGB24:
         return VLC_FOURCC('R','V','2','4');
+#endif
     case PIX_FMT_RGBA32:
         return VLC_FOURCC('R','V','3','2');
 #ifdef PIX_FMT_RGBA
@@ -139,7 +156,6 @@ static uint32_t ffmpeg_PixFmtToChroma( int i_ff_chroma )
 
     case PIX_FMT_YUV410P:
     case PIX_FMT_YUV411P:
-    case PIX_FMT_BGR24:
     default:
         return 0;
     }
@@ -836,14 +852,25 @@ static void ffmpeg_CopyPicture( decoder_t *p_dec,
         {
         case PIX_FMT_YUV410P:
         case PIX_FMT_YUV411P:
+        case PIX_FMT_RGB32:
+        case PIX_FMT_RGB24:
+#if defined(PIX_FMT_RGB8)
+        case PIX_FMT_RGB8:
+#endif
+#if defined(PIX_FMT_BRG32)
+        case PIX_FMT_BGR32:
+#endif
         case PIX_FMT_BGR24:
+#if defined(PIX_FMT_BGR8)
+        case PIX_FMT_BGR8:
+#endif
         case PIX_FMT_PAL8:
             for( i = 0; i < p_pic->i_planes; i++ )
             {
                 dest_pic.data[i] = p_pic->p[i].p_pixels;
                 dest_pic.linesize[i] = p_pic->p[i].i_pitch;
             }
-#if !defined(HAVE_FFMPEG_SWSCALE_H) && !defined(HAVE_LIBSWSCALE_TREE)
+#if !defined(HAVE_LIBSWSCALE_SWSCALE_H)  && !defined(HAVE_FFMPEG_SWSCALE_H) && !defined(HAVE_LIBSWSCALE_TREE)
             img_convert( &dest_pic, PIX_FMT_YUV420P,
                          (AVPicture *)p_ff_pic,
                          p_sys->p_context->pix_fmt,