summaryrefslogtreecommitdiff
path: root/pjmedia
diff options
context:
space:
mode:
authorNanang Izzuddin <nanang@teluu.com>2016-03-24 13:16:25 +0000
committerNanang Izzuddin <nanang@teluu.com>2016-03-24 13:16:25 +0000
commitec18f8becf6804b8f8f6c60bf050297f4ba06e2b (patch)
tree29c1ffec6ef19a45983b173e1701f5d766b11c2b /pjmedia
parent10df81349b500cabe3bbfbbf86c3bb60fc8712e9 (diff)
Re #1897: Updated ffmpeg_util.h/.c to support older ffmpeg.
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@5271 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjmedia')
-rw-r--r--pjmedia/src/pjmedia/ffmpeg_util.c50
-rw-r--r--pjmedia/src/pjmedia/ffmpeg_util.h10
2 files changed, 35 insertions, 25 deletions
diff --git a/pjmedia/src/pjmedia/ffmpeg_util.c b/pjmedia/src/pjmedia/ffmpeg_util.c
index 92aebe8d..ba749412 100644
--- a/pjmedia/src/pjmedia/ffmpeg_util.c
+++ b/pjmedia/src/pjmedia/ffmpeg_util.c
@@ -33,19 +33,19 @@ static const struct ffmpeg_fmt_table_t
enum AVPixelFormat pf;
} ffmpeg_fmt_table[] =
{
- { PJMEDIA_FORMAT_RGBA, AV_PIX_FMT_RGBA},
- { PJMEDIA_FORMAT_RGB24,AV_PIX_FMT_BGR24},
- { PJMEDIA_FORMAT_BGRA, AV_PIX_FMT_BGRA},
- { PJMEDIA_FORMAT_GBRP, AV_PIX_FMT_GBRP},
-
- { PJMEDIA_FORMAT_AYUV, AV_PIX_FMT_NONE},
- { PJMEDIA_FORMAT_YUY2, AV_PIX_FMT_YUYV422},
- { PJMEDIA_FORMAT_UYVY, AV_PIX_FMT_UYVY422},
- { PJMEDIA_FORMAT_I420, AV_PIX_FMT_YUV420P},
- //{ PJMEDIA_FORMAT_YV12, AV_PIX_FMT_YUV420P},
- { PJMEDIA_FORMAT_I422, AV_PIX_FMT_YUV422P},
- { PJMEDIA_FORMAT_I420JPEG, AV_PIX_FMT_YUVJ420P},
- { PJMEDIA_FORMAT_I422JPEG, AV_PIX_FMT_YUVJ422P},
+ { PJMEDIA_FORMAT_RGBA, AV(PIX_FMT_RGBA)},
+ { PJMEDIA_FORMAT_RGB24,AV(PIX_FMT_BGR24)},
+ { PJMEDIA_FORMAT_BGRA, AV(PIX_FMT_BGRA)},
+ { PJMEDIA_FORMAT_GBRP, AV(PIX_FMT_GBRP)},
+
+ { PJMEDIA_FORMAT_AYUV, AV(PIX_FMT_NONE)},
+ { PJMEDIA_FORMAT_YUY2, AV(PIX_FMT_YUYV422)},
+ { PJMEDIA_FORMAT_UYVY, AV(PIX_FMT_UYVY422)},
+ { PJMEDIA_FORMAT_I420, AV(PIX_FMT_YUV420P)},
+ //{ PJMEDIA_FORMAT_YV12, AV(PIX_FMT_YUV420P)},
+ { PJMEDIA_FORMAT_I422, AV(PIX_FMT_YUV422P)},
+ { PJMEDIA_FORMAT_I420JPEG, AV(PIX_FMT_YUVJ420P)},
+ { PJMEDIA_FORMAT_I422JPEG, AV(PIX_FMT_YUVJ422P)},
};
/* Conversion table between pjmedia_format_id and CodecID */
@@ -55,14 +55,14 @@ static const struct ffmpeg_codec_table_t
unsigned codec_id;
} ffmpeg_codec_table[] =
{
- {PJMEDIA_FORMAT_H261, AV_CODEC_ID_H261},
- {PJMEDIA_FORMAT_H263, AV_CODEC_ID_H263},
- {PJMEDIA_FORMAT_H263P, AV_CODEC_ID_H263P},
- {PJMEDIA_FORMAT_H264, AV_CODEC_ID_H264},
- {PJMEDIA_FORMAT_MPEG1VIDEO, AV_CODEC_ID_MPEG1VIDEO},
- {PJMEDIA_FORMAT_MPEG2VIDEO, AV_CODEC_ID_MPEG2VIDEO},
- {PJMEDIA_FORMAT_MPEG4, AV_CODEC_ID_MPEG4},
- {PJMEDIA_FORMAT_MJPEG, AV_CODEC_ID_MJPEG}
+ {PJMEDIA_FORMAT_H261, AV(CODEC_ID_H261)},
+ {PJMEDIA_FORMAT_H263, AV(CODEC_ID_H263)},
+ {PJMEDIA_FORMAT_H263P, AV(CODEC_ID_H263P)},
+ {PJMEDIA_FORMAT_H264, AV(CODEC_ID_H264)},
+ {PJMEDIA_FORMAT_MPEG1VIDEO, AV(CODEC_ID_MPEG1VIDEO)},
+ {PJMEDIA_FORMAT_MPEG2VIDEO, AV(CODEC_ID_MPEG2VIDEO)},
+ {PJMEDIA_FORMAT_MPEG4, AV(CODEC_ID_MPEG4)},
+ {PJMEDIA_FORMAT_MJPEG, AV(CODEC_ID_MJPEG)}
};
static int pjmedia_ffmpeg_ref_cnt;
@@ -131,13 +131,13 @@ pj_status_t pjmedia_format_id_to_PixelFormat(pjmedia_format_id fmt_id,
unsigned i;
for (i=0; i<PJ_ARRAY_SIZE(ffmpeg_fmt_table); ++i) {
const struct ffmpeg_fmt_table_t *t = &ffmpeg_fmt_table[i];
- if (t->id==fmt_id && t->pf != AV_PIX_FMT_NONE) {
+ if (t->id==fmt_id && t->pf != AV(PIX_FMT_NONE)) {
*pixel_format = t->pf;
return PJ_SUCCESS;
}
}
- *pixel_format = AV_PIX_FMT_NONE;
+ *pixel_format = AV(PIX_FMT_NONE);
return PJ_ENOTFOUND;
}
@@ -162,13 +162,13 @@ pj_status_t pjmedia_format_id_to_CodecID(pjmedia_format_id fmt_id,
unsigned i;
for (i=0; i<PJ_ARRAY_SIZE(ffmpeg_codec_table); ++i) {
const struct ffmpeg_codec_table_t *t = &ffmpeg_codec_table[i];
- if (t->id==fmt_id && t->codec_id != AV_PIX_FMT_NONE) {
+ if (t->id==fmt_id && t->codec_id != AV(PIX_FMT_NONE)) {
*codec_id = t->codec_id;
return PJ_SUCCESS;
}
}
- *codec_id = (unsigned)AV_PIX_FMT_NONE;
+ *codec_id = (unsigned)AV(PIX_FMT_NONE);
return PJ_ENOTFOUND;
}
diff --git a/pjmedia/src/pjmedia/ffmpeg_util.h b/pjmedia/src/pjmedia/ffmpeg_util.h
index 7fddb3ff..cd8283ed 100644
--- a/pjmedia/src/pjmedia/ffmpeg_util.h
+++ b/pjmedia/src/pjmedia/ffmpeg_util.h
@@ -37,6 +37,16 @@
#include <libavutil/avutil.h>
#include <libavcodec/avcodec.h>
+
+#ifdef PJMEDIA_USE_OLD_FFMPEG
+# define AVPixelFormat PixelFormat
+# define AV(str) str
+# define PIX_FMT_GBRP PIX_FMT_GBR24P
+#else
+# define AV(str) AV_ ## str
+#endif
+
+
void pjmedia_ffmpeg_add_ref();
void pjmedia_ffmpeg_dec_ref();