changeset 376:ba9c3b8088c0 libavcodec

- pict_type exported to AVCodecContext - Added real_pict_num to AVCodecContext, it represent the number of the previous encoded frame, usefull when coding with B frames. - Warning fix in motion_est.c
author pulento
date Sat, 11 May 2002 23:42:16 +0000
parents 749b5c16c0f7
children 0d73175fbded
files avcodec.h motion_est.c mpegvideo.c mpegvideo.h
diffstat 4 files changed, 22 insertions(+), 15 deletions(-) [+]
line wrap: on
line diff
--- a/avcodec.h	Thu May 09 05:42:27 2002 +0000
+++ b/avcodec.h	Sat May 11 23:42:16 2002 +0000
@@ -5,8 +5,8 @@
 
 #define LIBAVCODEC_VERSION_INT 0x000406
 #define LIBAVCODEC_VERSION     "0.4.6"
-#define LIBAVCODEC_BUILD       4605
-#define LIBAVCODEC_BUILD_STR   "4605"
+#define LIBAVCODEC_BUILD       4606
+#define LIBAVCODEC_BUILD_STR   "4606"
 
 enum CodecID {
     CODEC_ID_NONE, 
@@ -145,11 +145,22 @@
     int sample_fmt;  /* sample format, currenly unused */
 
     /* the following data should not be initialized */
-    int frame_size; /* in samples, initialized when calling 'init' */
-    int frame_number; /* audio or video frame number */
-    int key_frame;    /* true if the previous compressed frame was 
-                         a key frame (intra, or seekable) */
-    int delay;        /* number of frames the decoded output will be delayed relative to the encoded input */
+    int frame_size;     /* in samples, initialized when calling 'init' */
+    int frame_number;   /* audio or video frame number */
+    int real_pict_num;  /* returns the real picture number of
+                           previous encoded frame */
+    int key_frame;      /* true if the previous compressed frame was 
+                           a key frame (intra, or seekable) */
+    int pict_type;      /* picture type of the previous 
+                           encoded frame */
+/* FIXME: these should have FF_ */
+#define I_TYPE 1 // Intra
+#define P_TYPE 2 // Predicted
+#define B_TYPE 3 // Bi-dir predicted
+#define S_TYPE 4 // S(GMC)-VOP MPEG4
+
+    int delay;          /* number of frames the decoded output 
+                           will be delayed relative to the encoded input */
     uint8_t *mbskip_table; /* =1 if MB didnt change, is only valid for I/P frames 
                               stride= mb_width = (width+15)>>4 */
     
--- a/motion_est.c	Thu May 09 05:42:27 2002 +0000
+++ b/motion_est.c	Sat May 11 23:42:16 2002 +0000
@@ -25,7 +25,7 @@
 #include "dsputil.h"
 #include "mpegvideo.h"
 
-#define ABS(a) ((a)>0 ? (a) : -(a))
+//#define ABS(a) ((a)>0 ? (a) : -(a))
 #define MAX(a,b) ((a) > (b) ? (a) : (b))
 #define INTER_BIAS	257
 
--- a/mpegvideo.c	Thu May 09 05:42:27 2002 +0000
+++ b/mpegvideo.c	Sat May 11 23:42:16 2002 +0000
@@ -793,7 +793,9 @@
         MPV_frame_start(s);
 
         encode_picture(s, s->picture_number);
-        avctx->key_frame = (s->pict_type == I_TYPE);
+        avctx->key_frame   = (s->pict_type == I_TYPE);
+        avctx->pict_type   = s->pict_type;
+        avctx->real_pict_num  = s->picture_number;
         avctx->header_bits = s->header_bits;
         avctx->mv_bits     = s->mv_bits;
         avctx->misc_bits   = s->misc_bits;
--- a/mpegvideo.h	Thu May 09 05:42:27 2002 +0000
+++ b/mpegvideo.h	Sat May 11 23:42:16 2002 +0000
@@ -17,12 +17,6 @@
  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
 
-/* Macros for picture code type. */
-#define I_TYPE 1
-#define P_TYPE 2
-#define B_TYPE 3
-#define S_TYPE 4 //S(GMC)-VOP MPEG4
-
 #define FRAME_SKIPED 100 // return value for header parsers if frame is not coded
 
 enum OutputFormat {