summaryrefslogtreecommitdiff
path: root/libavcodec/roqvideo.h
diff options
context:
space:
mode:
authorVitor Sessak <vitor1001@gmail.com>2007-06-25 12:09:23 +0000
committerBenoit Fouet <benoit.fouet@free.fr>2007-06-25 12:09:23 +0000
commit03e3e765447a2a0f8f6563ae6e0cd8ed592a8dfe (patch)
tree627ae4475b7e719050c6a9d9e418fc044d937c30 /libavcodec/roqvideo.h
parent606975ab01b61f41d8c598e9fc881d246e844bda (diff)
RoQ video encoder
patch by Vitor: \vitor1001 gmail com/ original thread: [FFmpeg-devel] RoQ video encoder (take 3) date: 06/08/2007 10:34 PM Originally committed as revision 9420 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/roqvideo.h')
-rw-r--r--libavcodec/roqvideo.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/libavcodec/roqvideo.h b/libavcodec/roqvideo.h
index 41c4ed1795..b405dfdf91 100644
--- a/libavcodec/roqvideo.h
+++ b/libavcodec/roqvideo.h
@@ -24,6 +24,7 @@
#include "avcodec.h"
#include "dsputil.h"
+#include "random.h"
typedef struct {
unsigned char y[4];
@@ -34,6 +35,10 @@ typedef struct {
int idx[4];
} roq_qcell;
+typedef struct {
+ int d[2];
+} motion_vect;
+
typedef struct RoqContext {
AVCodecContext *avctx;
@@ -41,6 +46,7 @@ typedef struct RoqContext {
AVFrame frames[2];
AVFrame *last_frame;
AVFrame *current_frame;
+ int first_frame;
int y_stride;
int c_stride;
@@ -49,7 +55,22 @@ typedef struct RoqContext {
unsigned char *buf;
int size;
+ int width, height;
+
+ /* Encoder only data */
+ AVRandomState randctx;
+ uint64_t lambda;
+
+ motion_vect *this_motion4;
+ motion_vect *last_motion4;
+
+ motion_vect *this_motion8;
+ motion_vect *last_motion8;
+
+ unsigned int framesSinceKeyframe;
+ AVFrame *frame_to_enc;
+ uint8_t *out_buf;
} RoqContext;
#define RoQ_INFO 0x1001