Browse Source

- 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
tags/v0.5
Juanjo 23 years ago
parent
commit
9cd3766f6e
4 changed files with 22 additions and 15 deletions
  1. +18
    -7
      libavcodec/avcodec.h
  2. +1
    -1
      libavcodec/motion_est.c
  3. +3
    -1
      libavcodec/mpegvideo.c
  4. +0
    -6
      libavcodec/mpegvideo.h

+ 18
- 7
libavcodec/avcodec.h View File

@@ -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 */


+ 1
- 1
libavcodec/motion_est.c View File

@@ -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



+ 3
- 1
libavcodec/mpegvideo.c View File

@@ -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;


+ 0
- 6
libavcodec/mpegvideo.h View File

@@ -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 {


Loading…
Cancel
Save