gnash-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-commit] [SCM] Gnash branch, master, updated. release_0_8_9_final-


From: Sandro Santilli
Subject: [Gnash-commit] [SCM] Gnash branch, master, updated. release_0_8_9_final-2269-g9229f6f
Date: Thu, 03 Mar 2016 09:47:13 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Gnash".

The branch, master has been updated
       via  9229f6fa59061eb930179c6f6a616be541d1139f (commit)
      from  765adb072dc4b8407f1936a60c3f2af4aeff2046 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://git.savannah.gnu.org/cgit//commit/?id=9229f6fa59061eb930179c6f6a616be541d1139f


commit 9229f6fa59061eb930179c6f6a616be541d1139f
Author: Sandro Santilli <address@hidden>
Date:   Thu Mar 3 10:44:48 2016 +0100

    Add support for building against ffmpeg-3.0
    
    Patch by Abdel-Rahman, see https://savannah.gnu.org/bugs/?47301
    
    Tested against libavcodec/libavformat 53

diff --git a/libmedia/ffmpeg/VideoConverterFfmpeg.cpp 
b/libmedia/ffmpeg/VideoConverterFfmpeg.cpp
index 74aa55f..da11e5d 100644
--- a/libmedia/ffmpeg/VideoConverterFfmpeg.cpp
+++ b/libmedia/ffmpeg/VideoConverterFfmpeg.cpp
@@ -57,7 +57,7 @@ private:
 
 // The lookup table in this function is adapted from chroma.c from the VLC
 // codebase; its license permits distribution under GPLv3 and later.
-PixelFormat
+AVPixelFormat
 fourcc_to_ffmpeg(ImgBuf::Type4CC code)
 {
 
@@ -68,40 +68,40 @@ fourcc_to_ffmpeg(ImgBuf::Type4CC code)
     static const struct
     {
         ImgBuf::Type4CC  fourcc;
-        PixelFormat ffmpegcode;
+        AVPixelFormat ffmpegcode;
     } pixfmt_table[] =
     {
         // Planar YUV formats
-        {GNASH_FOURCC('I','4','4','4'), PIX_FMT_YUV444P},
-        {GNASH_FOURCC('J','4','4','4'), PIX_FMT_YUVJ444P},
+        {GNASH_FOURCC('I','4','4','4'), AV_PIX_FMT_YUV444P},
+        {GNASH_FOURCC('J','4','4','4'), AV_PIX_FMT_YUVJ444P},
 
 #if LIBAVUTIL_VERSION_INT >= ((49<<16)+(5<<8)+0)
-        {GNASH_FOURCC('I','4','4','0'), PIX_FMT_YUV440P},
-        {GNASH_FOURCC('J','4','4','0'), PIX_FMT_YUVJ440P},
+        {GNASH_FOURCC('I','4','4','0'), AV_PIX_FMT_YUV440P},
+        {GNASH_FOURCC('J','4','4','0'), AV_PIX_FMT_YUVJ440P},
 #endif
 
-        {GNASH_FOURCC('I','4','2','2'), PIX_FMT_YUV422P},
-        {GNASH_FOURCC('J','4','2','2'), PIX_FMT_YUVJ422P},
+        {GNASH_FOURCC('I','4','2','2'), AV_PIX_FMT_YUV422P},
+        {GNASH_FOURCC('J','4','2','2'), AV_PIX_FMT_YUVJ422P},
 
-        {GNASH_FOURCC('I','4','2','0'), PIX_FMT_YUV420P},
-        {GNASH_FOURCC('Y','V','1','2'), PIX_FMT_YUV420P},
-        {GNASH_FOURCC('I','Y','U','V'), PIX_FMT_YUV420P},
-        {GNASH_FOURCC('J','4','2','0'), PIX_FMT_YUVJ420P},
-        {GNASH_FOURCC('I','4','1','1'), PIX_FMT_YUV411P},
-        {GNASH_FOURCC('I','4','1','0'), PIX_FMT_YUV410P},
-        {GNASH_FOURCC('Y','V','U','9'), PIX_FMT_YUV410P},
+        {GNASH_FOURCC('I','4','2','0'), AV_PIX_FMT_YUV420P},
+        {GNASH_FOURCC('Y','V','1','2'), AV_PIX_FMT_YUV420P},
+        {GNASH_FOURCC('I','Y','U','V'), AV_PIX_FMT_YUV420P},
+        {GNASH_FOURCC('J','4','2','0'), AV_PIX_FMT_YUVJ420P},
+        {GNASH_FOURCC('I','4','1','1'), AV_PIX_FMT_YUV411P},
+        {GNASH_FOURCC('I','4','1','0'), AV_PIX_FMT_YUV410P},
+        {GNASH_FOURCC('Y','V','U','9'), AV_PIX_FMT_YUV410P},
 
 #if LIBAVUTIL_VERSION_INT >= ((49<<16)+(0<<8)+1)
-        {GNASH_FOURCC('N','V','1','2'), PIX_FMT_NV12},
-        {GNASH_FOURCC('N','V','2','1'), PIX_FMT_NV21},
+        {GNASH_FOURCC('N','V','1','2'), AV_PIX_FMT_NV12},
+        {GNASH_FOURCC('N','V','2','1'), AV_PIX_FMT_NV21},
 #endif
 
-        {GNASH_FOURCC('Y','U','Y','2'), PIX_FMT_YUYV422},
-        {GNASH_FOURCC('Y','U','Y','V'), PIX_FMT_YUYV422},
-        {GNASH_FOURCC('U','Y','V','Y'), PIX_FMT_UYVY422},
-        {GNASH_FOURCC('Y','4','1','1'), PIX_FMT_UYYVYY411},
+        {GNASH_FOURCC('Y','U','Y','2'), AV_PIX_FMT_YUYV422},
+        {GNASH_FOURCC('Y','U','Y','V'), AV_PIX_FMT_YUYV422},
+        {GNASH_FOURCC('U','Y','V','Y'), AV_PIX_FMT_UYVY422},
+        {GNASH_FOURCC('Y','4','1','1'), AV_PIX_FMT_UYYVYY411},
 
-        { 0, PIX_FMT_NONE}
+        { 0, AV_PIX_FMT_NONE}
     };
 #undef GNASH_FOURCC
 
@@ -112,13 +112,13 @@ fourcc_to_ffmpeg(ImgBuf::Type4CC code)
         }
     }
    
-    return PIX_FMT_NONE;
+    return AV_PIX_FMT_NONE;
 }
 
 VideoConverterFfmpeg::VideoConverterFfmpeg(ImgBuf::Type4CC srcFormat, 
ImgBuf::Type4CC dstFormat)
     : VideoConverter(srcFormat, dstFormat)
 {
-     if(fourcc_to_ffmpeg(_dst_fmt) == PIX_FMT_NONE) {
+     if(fourcc_to_ffmpeg(_dst_fmt) == AV_PIX_FMT_NONE) {
          throw MediaException(_("VideoConverterFfmpeg cannot convert to the "
                               "requested format"));
      }
@@ -138,9 +138,9 @@ VideoConverterFfmpeg::convert(const ImgBuf& src)
     const int width = src.width;
     const int height = src.height;
 
-    PixelFormat dst_pixFmt = fourcc_to_ffmpeg(_dst_fmt);
-    assert(dst_pixFmt != PIX_FMT_NONE);
-    PixelFormat src_pixFmt = PIX_FMT_RGB24;
+    AVPixelFormat dst_pixFmt = fourcc_to_ffmpeg(_dst_fmt);
+    assert(dst_pixFmt != AV_PIX_FMT_NONE);
+    AVPixelFormat src_pixFmt = AV_PIX_FMT_RGB24;
     
 #ifdef HAVE_SWSCALE_H
 
diff --git a/libmedia/ffmpeg/VideoDecoderFfmpeg.cpp 
b/libmedia/ffmpeg/VideoDecoderFfmpeg.cpp
index 20d49b9..caa0377 100644
--- a/libmedia/ffmpeg/VideoDecoderFfmpeg.cpp
+++ b/libmedia/ffmpeg/VideoDecoderFfmpeg.cpp
@@ -51,7 +51,7 @@ namespace {
     void set_vaapi_context(AVCodecContext* avctx, VaapiContextFfmpeg* vactx);
     void clear_vaapi_context(AVCodecContext* avctx);
     void reset_context(AVCodecContext* avctx, VaapiContextFfmpeg* vactx = 
nullptr);
-    PixelFormat get_format(AVCodecContext* avctx, const PixelFormat* fmt);
+    AVPixelFormat get_format(AVCodecContext* avctx, const AVPixelFormat* fmt);
 #if LIBAVCODEC_VERSION_MAJOR >= 55
     int get_buffer(AVCodecContext* avctx, AVFrame* pic, int flags);
 #else
@@ -251,16 +251,16 @@ VideoDecoderFfmpeg::frameToImage(AVCodecContext* srcCtx,
                                  const AVFrame& srcFrameRef)
 {
     const AVFrame *srcFrame = &srcFrameRef;
-    PixelFormat srcPixFmt = srcCtx->pix_fmt;
+    AVPixelFormat srcPixFmt = srcCtx->pix_fmt;
 
     const int width = srcCtx->width;
     const int height = srcCtx->height;
 
 #ifdef FFMPEG_VP6A
-    PixelFormat pixFmt = (srcCtx->codec->id == AV_CODEC_ID_VP6A) ?
-        PIX_FMT_RGBA : PIX_FMT_RGB24;
+    AVPixelFormat pixFmt = (srcCtx->codec->id == AV_CODEC_ID_VP6A) ?
+        AV_PIX_FMT_RGBA : AV_PIX_FMT_RGB24;
 #else 
-    PixelFormat pixFmt = PIX_FMT_RGB24;
+    AVPixelFormat pixFmt = AV_PIX_FMT_RGB24;
 #endif 
 
     std::unique_ptr<image::GnashImage> im;
@@ -306,10 +306,10 @@ VideoDecoderFfmpeg::frameToImage(AVCodecContext* srcCtx,
 
     switch (pixFmt)
     {
-        case PIX_FMT_RGBA:
+        case AV_PIX_FMT_RGBA:
             im.reset(new image::ImageRGBA(width, height));
             break;
-        case PIX_FMT_RGB24:
+        case AV_PIX_FMT_RGB24:
             im.reset(new image::ImageRGB(width, height));
             break;
         default:
@@ -325,7 +325,7 @@ VideoDecoderFfmpeg::frameToImage(AVCodecContext* srcCtx,
     avpicture_fill(&picture, im->begin(), pixFmt, width, height);
 
 #ifndef HAVE_SWSCALE_H
-    img_convert(&picture, PIX_FMT_RGB24, (AVPicture*)srcFrame,
+    img_convert(&picture, AV_PIX_FMT_RGB24, (AVPicture*)srcFrame,
             srcPixFmt, width, height);
 #else
 
@@ -499,15 +499,15 @@ reset_context(AVCodecContext* avctx, VaapiContextFfmpeg* 
vactx)
 }
 
 /// AVCodecContext.get_format() implementation
-PixelFormat
-get_format(AVCodecContext* avctx, const PixelFormat* fmt)
+AVPixelFormat
+get_format(AVCodecContext* avctx, const AVPixelFormat* fmt)
 {
 #ifdef HAVE_VA_VA_H
     VaapiContextFfmpeg* const vactx = get_vaapi_context(avctx);
 
     if (vactx) {
-        for (int i = 0; fmt[i] != PIX_FMT_NONE; i++) {
-            if (fmt[i] != PIX_FMT_VAAPI_VLD) continue;
+        for (int i = 0; fmt[i] != AV_PIX_FMT_NONE; i++) {
+            if (fmt[i] != AV_PIX_FMT_VAAPI_VLD) continue;
 
             if (vactx->initDecoder(avctx->width, avctx->height)) {
                 return fmt[i];
diff --git a/libmedia/ffmpeg/ffmpegHeaders.h b/libmedia/ffmpeg/ffmpegHeaders.h
index 2e4944e..d8f9b26 100644
--- a/libmedia/ffmpeg/ffmpegHeaders.h
+++ b/libmedia/ffmpeg/ffmpegHeaders.h
@@ -185,4 +185,27 @@ extern "C" {
 }
 #endif
 
+#if LIBAVUTIL_VERSION_MAJOR < 55
+#define AVPixelFormat        PixelFormat
+#define AV_PIX_FMT_YUV444P   PIX_FMT_YUV444P
+#define AV_PIX_FMT_YUVJ444P  PIX_FMT_YUVJ444P
+#define AV_PIX_FMT_YUV440P   PIX_FMT_YUV440P
+#define AV_PIX_FMT_YUVJ440P  PIX_FMT_YUVJ440P
+#define AV_PIX_FMT_YUV422P   PIX_FMT_YUV422P
+#define AV_PIX_FMT_YUVJ422P  PIX_FMT_YUVJ422P
+#define AV_PIX_FMT_YUV420P   PIX_FMT_YUV420P
+#define AV_PIX_FMT_YUVJ420P  PIX_FMT_YUVJ420P
+#define AV_PIX_FMT_YUV411P   PIX_FMT_YUV411P
+#define AV_PIX_FMT_YUV410P   PIX_FMT_YUV410P
+#define AV_PIX_FMT_NV12      PIX_FMT_NV12
+#define AV_PIX_FMT_NV21      PIX_FMT_NV21
+#define AV_PIX_FMT_YUYV422   PIX_FMT_YUYV422
+#define AV_PIX_FMT_UYVY422   PIX_FMT_UYVY422
+#define AV_PIX_FMT_UYYVYY411 PIX_FMT_UYYVYY411
+#define AV_PIX_FMT_NONE      PIX_FMT_NONE
+#define AV_PIX_FMT_RGB24     PIX_FMT_RGB24
+#define AV_PIX_FMT_RGBA      PIX_FMT_RGBA
+#define AV_PIX_FMT_VAAPI_VLD PIX_FMT_VAAPI_VLD
+#endif
+
 #endif // GNASH_MEDIA_FFMPEG_HEADERS_H

-----------------------------------------------------------------------

Summary of changes:
 libmedia/ffmpeg/VideoConverterFfmpeg.cpp |   54 +++++++++++++++---------------
 libmedia/ffmpeg/VideoDecoderFfmpeg.cpp   |   24 +++++++-------
 libmedia/ffmpeg/ffmpegHeaders.h          |   23 +++++++++++++
 3 files changed, 62 insertions(+), 39 deletions(-)


hooks/post-receive
-- 
Gnash



reply via email to

[Prev in Thread] Current Thread [Next in Thread]