Commit 9cd3766f authored by Juanjo's avatar Juanjo

- 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
parent a5dc85ef
...@@ -5,8 +5,8 @@ ...@@ -5,8 +5,8 @@
#define LIBAVCODEC_VERSION_INT 0x000406 #define LIBAVCODEC_VERSION_INT 0x000406
#define LIBAVCODEC_VERSION "0.4.6" #define LIBAVCODEC_VERSION "0.4.6"
#define LIBAVCODEC_BUILD 4605 #define LIBAVCODEC_BUILD 4606
#define LIBAVCODEC_BUILD_STR "4605" #define LIBAVCODEC_BUILD_STR "4606"
enum CodecID { enum CodecID {
CODEC_ID_NONE, CODEC_ID_NONE,
...@@ -145,11 +145,22 @@ typedef struct AVCodecContext { ...@@ -145,11 +145,22 @@ typedef struct AVCodecContext {
int sample_fmt; /* sample format, currenly unused */ int sample_fmt; /* sample format, currenly unused */
/* the following data should not be initialized */ /* the following data should not be initialized */
int frame_size; /* in samples, initialized when calling 'init' */ int frame_size; /* in samples, initialized when calling 'init' */
int frame_number; /* audio or video frame number */ int frame_number; /* audio or video frame number */
int key_frame; /* true if the previous compressed frame was int real_pict_num; /* returns the real picture number of
a key frame (intra, or seekable) */ previous encoded frame */
int delay; /* number of frames the decoded output will be delayed relative to the encoded input */ 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 uint8_t *mbskip_table; /* =1 if MB didnt change, is only valid for I/P frames
stride= mb_width = (width+15)>>4 */ stride= mb_width = (width+15)>>4 */
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
#include "dsputil.h" #include "dsputil.h"
#include "mpegvideo.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 MAX(a,b) ((a) > (b) ? (a) : (b))
#define INTER_BIAS 257 #define INTER_BIAS 257
......
...@@ -793,7 +793,9 @@ int MPV_encode_picture(AVCodecContext *avctx, ...@@ -793,7 +793,9 @@ int MPV_encode_picture(AVCodecContext *avctx,
MPV_frame_start(s); MPV_frame_start(s);
encode_picture(s, s->picture_number); 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->header_bits = s->header_bits;
avctx->mv_bits = s->mv_bits; avctx->mv_bits = s->mv_bits;
avctx->misc_bits = s->misc_bits; avctx->misc_bits = s->misc_bits;
......
...@@ -17,12 +17,6 @@ ...@@ -17,12 +17,6 @@
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * 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 #define FRAME_SKIPED 100 // return value for header parsers if frame is not coded
enum OutputFormat { enum OutputFormat {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment