diff options
author | Juanjo <pulento@users.sourceforge.net> | 2002-05-11 23:42:16 +0000 |
---|---|---|
committer | Juanjo <pulento@users.sourceforge.net> | 2002-05-11 23:42:16 +0000 |
commit | 9cd3766f6e715b15275240490da39090bfee55e6 (patch) | |
tree | 02a66ca2c1490a582531fe1740d9491b183e14a4 | |
parent | a5dc85efb83a891070eb5f7a8f24834539fdf5df (diff) | |
download | ffmpeg-9cd3766f6e715b15275240490da39090bfee55e6.tar.gz |
- 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
Originally committed as revision 484 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r-- | libavcodec/avcodec.h | 25 | ||||
-rw-r--r-- | libavcodec/motion_est.c | 2 | ||||
-rw-r--r-- | libavcodec/mpegvideo.c | 4 | ||||
-rw-r--r-- | libavcodec/mpegvideo.h | 6 |
4 files changed, 22 insertions, 15 deletions
diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index 803963c638..a3efe81c5b 100644 --- a/libavcodec/avcodec.h +++ b/libavcodec/avcodec.h @@ -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 @@ typedef struct AVCodecContext { 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 --git a/libavcodec/motion_est.c b/libavcodec/motion_est.c index 1ba246ae5c..0cd815bc57 100644 --- a/libavcodec/motion_est.c +++ b/libavcodec/motion_est.c @@ -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 --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c index 19deb2da99..d4b22138b5 100644 --- a/libavcodec/mpegvideo.c +++ b/libavcodec/mpegvideo.c @@ -793,7 +793,9 @@ int MPV_encode_picture(AVCodecContext *avctx, 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 --git a/libavcodec/mpegvideo.h b/libavcodec/mpegvideo.h index 1a3c853e26..3b44644def 100644 --- a/libavcodec/mpegvideo.h +++ b/libavcodec/mpegvideo.h @@ -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 { |