FFmpeg
Classes | Macros | Typedefs
mvcdec.c File Reference

Silicon Graphics Motion Video Compressor 1 & 2 decoder. More...

#include "libavutil/intreadwrite.h"
#include "avcodec.h"
#include "bytestream.h"
#include "internal.h"

Classes

struct  MvcContext
 

Macros

#define PIX16(target, true, false)
 
#define ROW16(row, a1, a0, b1, b0)
 
#define PIX32(target, true, false)
 
#define ROW32(row, a1, a0, b1, b0)
 
#define MVC2_BLOCK
 

Typedefs

typedef struct MvcContext MvcContext
 

Detailed Description

Silicon Graphics Motion Video Compressor 1 & 2 decoder.

Macro Definition Documentation

§ MVC2_BLOCK

#define MVC2_BLOCK
Value:
ROW32(0, 1, 0, 3, 2); \
ROW32(1, 1, 0, 3, 2); \
ROW32(2, 5, 4, 7, 6); \
ROW32(3, 5, 4, 7, 6);

§ PIX16

#define PIX16 (   target,
  true,
  false 
)
Value:
i = (mask & target) ? true : false; \
AV_WN16A(dst, v[i] & 0x7FFF); \
dst += 2;

§ PIX32

#define PIX32 (   target,
  true,
  false 
)
Value:
AV_WN32A(dst, (mask & target) ? v[true] : v[false]); \
dst += 4;

§ ROW16

#define ROW16 (   row,
  a1,
  a0,
  b1,
  b0 
)
Value:
dst = dst_start + (y + row) * linesize + x * 2; \
PIX16(1 << (row * 4), a1, a0) \
PIX16(1 << (row * 4 + 1), a1, a0) \
PIX16(1 << (row * 4 + 2), b1, b0) \
PIX16(1 << (row * 4 + 3), b1, b0)

§ ROW32

#define ROW32 (   row,
  a1,
  a0,
  b1,
  b0 
)
Value:
dst = dst_start + (y + row) * linesize + x * 4; \
PIX32(1 << (row * 4), a1, a0) \
PIX32(1 << (row * 4 + 1), a1, a0) \
PIX32(1 << (row * 4 + 2), b1, b0) \
PIX32(1 << (row * 4 + 3), b1, b0)