summaryrefslogtreecommitdiff
path: root/decoder.h
diff options
context:
space:
mode:
Diffstat (limited to 'decoder.h')
-rw-r--r--decoder.h78
1 files changed, 0 insertions, 78 deletions
diff --git a/decoder.h b/decoder.h
index 2006781..c1e7f53 100644
--- a/decoder.h
+++ b/decoder.h
@@ -27,7 +27,6 @@
typedef unsigned char uchar;
#endif
-#ifdef HAVE_AVCODEC
extern "C"
{
#include <libavcodec/avcodec.h>
@@ -36,7 +35,6 @@ extern "C"
#include <libavformat/avformat.h>
#endif
}
-#endif
#include "global.h"
@@ -44,100 +42,24 @@ class cMarkAdDecoder
{
private:
int recvnumber;
-#ifdef HAVE_AVCODEC
AVCodecContext *ac3_context;
AVCodecContext *mp2_context;
AVCodecContext *video_context;
AVFrame *video_frame;
- uchar *temp_pictureplane[4];
bool SetAudioInfos(MarkAdContext *maContext, AVCodecContext *Audio_Context);
void PAR2DAR(AVRational a, AVRational *erg);
bool SetVideoInfos(MarkAdContext *maContext,AVCodecContext *Video_Context,
AVFrame *Video_Frame, AVRational *DAR);
-#endif
- // taken from femon
- enum
- {
- NAL_SEI = 0x06, // Supplemental Enhancement Information
- NAL_SPS = 0x07, // Sequence Parameter Set
- NAL_AUD = 0x09, // Access Unit Delimiter
- NAL_END_SEQ = 0x0A // End of Sequence
- };
- int nalUnescape(uint8_t *dst, const uint8_t *src, int len);
-
- void FindH264VideoInfos(MarkAdContext *maContext, uchar *pkt, int len);
- void FindH262VideoInfos(MarkAdContext *maContext, uchar *pkt, int len);
public:
- void FindVideoInfos(MarkAdContext *maContext, uchar *pkt, int len);
bool DecodeVideo(MarkAdContext *maContext, uchar *pkt, int plen);
bool DecodeMP2(MarkAdContext *maContext, uchar *espkt, int eslen);
- void FindAC3AudioInfos(MarkAdContext *maContext, uchar *espkt, int eslen);
bool DecodeAC3(MarkAdContext *maContext, uchar *espkt, int eslen);
cMarkAdDecoder(int recvnumber, bool useH264, bool hasAC3);
~cMarkAdDecoder();
};
-// taken from femon
-class cBitStream
-{
-private:
- const uint8_t *data;
- int count; // in bits
- int index; // in bits
-
-public:
- cBitStream(const uint8_t *buf, const int len);
- ~cBitStream();
-
- int getBit();
- uint32_t getBits(uint32_t n);
- void skipBits(uint32_t n);
- uint32_t getUeGolomb();
- int32_t getSeGolomb();
- void skipGolomb();
- void skipUeGolomb();
- void skipSeGolomb();
- void byteAlign();
-
- void skipBit()
- {
- skipBits(1);
- }
- uint32_t getU8()
- {
- return getBits(8);
- }
- uint32_t getU16()
- {
- return ((getBits(8) << 8) | getBits(8));
- }
- uint32_t getU24()
- {
- return ((getBits(8) << 16) | (getBits(8) << 8) | getBits(8));
- }
- uint32_t getU32()
- {
- return ((getBits(8) << 24) | (getBits(8) << 16) | (getBits(8) << 8) | getBits(8));
- }
- bool isEOF()
- {
- return (index >= count);
- }
- void reset()
- {
- index = 0;
- }
- int getIndex()
- {
- return (isEOF() ? count : index);
- }
- const uint8_t *getData()
- {
- return (isEOF() ? NULL : data + (index / 8));
- }
-};
#endif