summaryrefslogtreecommitdiff
path: root/command/decoder.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'command/decoder.cpp')
-rw-r--r--command/decoder.cpp46
1 files changed, 30 insertions, 16 deletions
diff --git a/command/decoder.cpp b/command/decoder.cpp
index ed81b37..cbd8055 100644
--- a/command/decoder.cpp
+++ b/command/decoder.cpp
@@ -6,6 +6,7 @@
*/
#include <stdint.h>
+#include <stdio.h>
#include <sched.h>
#include <errno.h>
#include <sys/types.h>
@@ -101,6 +102,19 @@ fail:
}
#endif
+#ifndef AV_CODEC_ID_H264
+#define AV_CODEC_ID_H264 CODEC_ID_H264
+#endif
+#ifndef AV_CODEC_ID_MPEG2VIDEO
+#define AV_CODEC_ID_MPEG2VIDEO CODEC_ID_MPEG2VIDEO
+#endif
+#ifndef AV_CODEC_ID_MPEG2VIDEO_XVMC
+#define AV_CODEC_ID_MPEG2VIDEO_XVMC CODEC_ID_MPEG2VIDEO_XVMC
+#endif
+#ifndef AV_CODEC_ID_NONE
+#define AV_CODEC_ID_NONE CODEC_ID_NONE
+#endif
+
cMarkAdDecoder::cMarkAdDecoder(bool useH264, int Threads)
{
#if LIBAVCODEC_VERSION_INT < ((53<<16)+(7<<8)+1)
@@ -160,18 +174,18 @@ cMarkAdDecoder::cMarkAdDecoder(bool useH264, int Threads)
if (useH264)
{
- video_codecid=CODEC_ID_H264;
+ video_codecid=AV_CODEC_ID_H264;
}
else
{
- video_codecid=CODEC_ID_MPEG2VIDEO_XVMC;
+ video_codecid=AV_CODEC_ID_MPEG2VIDEO_XVMC;
}
video_codec = avcodec_find_decoder(video_codecid);
- if ((!video_codec) && (video_codecid==CODEC_ID_MPEG2VIDEO_XVMC))
+ if ((!video_codec) && (video_codecid==AV_CODEC_ID_MPEG2VIDEO_XVMC))
{
// fallback to MPEG2VIDEO
- video_codecid=CODEC_ID_MPEG2VIDEO;
+ video_codecid=AV_CODEC_ID_MPEG2VIDEO;
video_codec=avcodec_find_decoder(video_codecid);
}
@@ -190,7 +204,7 @@ cMarkAdDecoder::cMarkAdDecoder(bool useH264, int Threads)
video_context->flags2|=CODEC_FLAG2_FAST; // really?
video_context->skip_idct=AVDISCARD_ALL;
- if (video_codecid!=CODEC_ID_H264)
+ if (video_codecid!=AV_CODEC_ID_H264)
{
video_context->skip_frame=AVDISCARD_NONKEY; // just I-frames
} else {
@@ -208,15 +222,15 @@ cMarkAdDecoder::cMarkAdDecoder(bool useH264, int Threads)
#else
int ret=avcodec_open(video_context, video_codec);
#endif
- if ((ret < 0) && (video_codecid==CODEC_ID_MPEG2VIDEO_XVMC))
+ if ((ret < 0) && (video_codecid==AV_CODEC_ID_MPEG2VIDEO_XVMC))
{
// fallback to MPEG2VIDEO
- video_codecid=CODEC_ID_MPEG2VIDEO;
+ video_codecid=AV_CODEC_ID_MPEG2VIDEO;
video_codec=avcodec_find_decoder(video_codecid);
if (video_codec)
{
video_context->codec_type=AVMEDIA_TYPE_UNKNOWN;
- video_context->codec_id=CODEC_ID_NONE;
+ video_context->codec_id=AV_CODEC_ID_NONE;
video_context->codec_tag=0;
memset(video_context->codec_name,0,sizeof(video_context->codec_name));
#if LIBAVCODEC_VERSION_INT >= ((53<<16)+(5<<8)+0)
@@ -235,13 +249,13 @@ cMarkAdDecoder::cMarkAdDecoder(bool useH264, int Threads)
{
switch (video_codecid)
{
- case CODEC_ID_H264:
+ case AV_CODEC_ID_H264:
esyslog("could not open codec for H264");
break;
- case CODEC_ID_MPEG2VIDEO_XVMC:
+ case AV_CODEC_ID_MPEG2VIDEO_XVMC:
esyslog("could not open codec MPEG2 (XVMC)");
break;
- case CODEC_ID_MPEG2VIDEO:
+ case AV_CODEC_ID_MPEG2VIDEO:
esyslog("could not open codec MPEG2");
break;
default:
@@ -296,13 +310,13 @@ cMarkAdDecoder::cMarkAdDecoder(bool useH264, int Threads)
{
switch (video_codecid)
{
- case CODEC_ID_H264:
+ case AV_CODEC_ID_H264:
esyslog("codec for H264 not found");
break;
- case CODEC_ID_MPEG2VIDEO_XVMC:
+ case AV_CODEC_ID_MPEG2VIDEO_XVMC:
esyslog("codec for MPEG2 (XVMC) not found");
break;
- case CODEC_ID_MPEG2VIDEO:
+ case AV_CODEC_ID_MPEG2VIDEO:
esyslog("codec for MPEG2 not found");
break;
default:
@@ -398,14 +412,14 @@ bool cMarkAdDecoder::DecodeVideo(MarkAdContext *maContext,uchar *pkt, int plen)
if (!video_frame) return false;
maContext->Video.Data.Valid=false;
- if (video_context->codec_id==CODEC_ID_H264) {
+ if (video_context->codec_id==AV_CODEC_ID_H264) {
if (plen>=5) {
if (((pkt[4] & 0x1F)==9) && (pkt[5]==0x10)) addPkt=true;
}
if (!addPkt) return false;
}
- if (video_context->codec_id==CODEC_ID_MPEG2VIDEO) {
+ if (video_context->codec_id==AV_CODEC_ID_MPEG2VIDEO) {
if (plen>=5) {
if (!pkt[0] && !pkt[1] && (pkt[2]==1) && !pkt[3] && ((pkt[5] & 8)==8)) addPkt=true;
}