# HG changeset patch # User pulento # Date 1021160536 0 # Node ID ba9c3b8088c032355ca3c527aa898d6a25f3da20 # Parent 749b5c16c0f7d91fd50816475a5f326bf974e332 - 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 diff -r 749b5c16c0f7 -r ba9c3b8088c0 avcodec.h --- 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 */ diff -r 749b5c16c0f7 -r ba9c3b8088c0 motion_est.c --- 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 diff -r 749b5c16c0f7 -r ba9c3b8088c0 mpegvideo.c --- 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; diff -r 749b5c16c0f7 -r ba9c3b8088c0 mpegvideo.h --- 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 {