Libav
Macros | Functions
mpegutils.h File Reference
#include <stdint.h>
#include "libavutil/frame.h"
#include "avcodec.h"
#include "version.h"

Go to the source code of this file.

Macros

#define PICT_TOP_FIELD   1
 
#define PICT_BOTTOM_FIELD   2
 
#define PICT_FRAME   3
 
#define DELAYED_PIC_REF   4
 Value of Picture.reference when Picture is not a reference picture, but is held for delayed output. More...
 
#define MB_TYPE_INTRA   MB_TYPE_INTRA4x4
 
#define IS_INTRA4x4(a)   ((a) & MB_TYPE_INTRA4x4)
 
#define IS_INTRA16x16(a)   ((a) & MB_TYPE_INTRA16x16)
 
#define IS_PCM(a)   ((a) & MB_TYPE_INTRA_PCM)
 
#define IS_INTRA(a)   ((a) & 7)
 
#define IS_INTER(a)
 
#define IS_SKIP(a)   ((a) & MB_TYPE_SKIP)
 
#define IS_INTRA_PCM(a)   ((a) & MB_TYPE_INTRA_PCM)
 
#define IS_INTERLACED(a)   ((a) & MB_TYPE_INTERLACED)
 
#define IS_DIRECT(a)   ((a) & MB_TYPE_DIRECT2)
 
#define IS_GMC(a)   ((a) & MB_TYPE_GMC)
 
#define IS_16X16(a)   ((a) & MB_TYPE_16x16)
 
#define IS_16X8(a)   ((a) & MB_TYPE_16x8)
 
#define IS_8X16(a)   ((a) & MB_TYPE_8x16)
 
#define IS_8X8(a)   ((a) & MB_TYPE_8x8)
 
#define IS_SUB_8X8(a)   ((a) & MB_TYPE_16x16)
 
#define IS_SUB_8X4(a)   ((a) & MB_TYPE_16x8)
 
#define IS_SUB_4X8(a)   ((a) & MB_TYPE_8x16)
 
#define IS_SUB_4X4(a)   ((a) & MB_TYPE_8x8)
 
#define IS_ACPRED(a)   ((a) & MB_TYPE_ACPRED)
 
#define IS_QUANT(a)   ((a) & MB_TYPE_QUANT)
 
#define IS_DIR(a, part, list)   ((a) & (MB_TYPE_P0L0 << ((part) + 2 * (list))))
 
#define USES_LIST(a, list)   ((a) & ((MB_TYPE_P0L0 | MB_TYPE_P1L0) << (2 * (list))))
 
#define HAS_CBP(a)   ((a) & MB_TYPE_CBP)
 
#define CANDIDATE_MB_TYPE_INTRA   (1 << 0)
 
#define CANDIDATE_MB_TYPE_INTER   (1 << 1)
 
#define CANDIDATE_MB_TYPE_INTER4V   (1 << 2)
 
#define CANDIDATE_MB_TYPE_SKIPPED   (1 << 3)
 
#define CANDIDATE_MB_TYPE_DIRECT   (1 << 4)
 
#define CANDIDATE_MB_TYPE_FORWARD   (1 << 5)
 
#define CANDIDATE_MB_TYPE_BACKWARD   (1 << 6)
 
#define CANDIDATE_MB_TYPE_BIDIR   (1 << 7)
 
#define CANDIDATE_MB_TYPE_INTER_I   (1 << 8)
 
#define CANDIDATE_MB_TYPE_FORWARD_I   (1 << 9)
 
#define CANDIDATE_MB_TYPE_BACKWARD_I   (1 << 10)
 
#define CANDIDATE_MB_TYPE_BIDIR_I   (1 << 11)
 
#define CANDIDATE_MB_TYPE_DIRECT0   (1 << 12)
 

Functions

void ff_draw_horiz_band (AVCodecContext *avctx, AVFrame *cur, AVFrame *last, int y, int h, int picture_structure, int first_field, int low_delay)
 Draw a horizontal band if supported. More...
 

Macro Definition Documentation

§ PICT_TOP_FIELD

#define PICT_TOP_FIELD   1

§ PICT_BOTTOM_FIELD

#define PICT_BOTTOM_FIELD   2

§ PICT_FRAME

#define PICT_FRAME   3

§ DELAYED_PIC_REF

#define DELAYED_PIC_REF   4

Value of Picture.reference when Picture is not a reference picture, but is held for delayed output.

Definition at line 41 of file mpegutils.h.

Referenced by decode_postinit(), ff_h264_decode_slice_header(), pic_is_unused(), and unreference_pic().

§ MB_TYPE_INTRA

#define MB_TYPE_INTRA   MB_TYPE_INTRA4x4

§ IS_INTRA4x4

#define IS_INTRA4x4 (   a)    ((a) & MB_TYPE_INTRA4x4)

§ IS_INTRA16x16

#define IS_INTRA16x16 (   a)    ((a) & MB_TYPE_INTRA16x16)

§ IS_PCM

#define IS_PCM (   a)    ((a) & MB_TYPE_INTRA_PCM)

Definition at line 73 of file mpegutils.h.

Referenced by ff_print_debug_info().

§ IS_INTRA

#define IS_INTRA (   a)    ((a) & 7)

Definition at line 74 of file mpegutils.h.

§ IS_INTER

#define IS_INTER (   a)
Value:
#define MB_TYPE_8x16
Definition: avcodec.h:780
#define MB_TYPE_16x16
Definition: avcodec.h:778
#define MB_TYPE_8x8
Definition: avcodec.h:781
#define MB_TYPE_16x8
Definition: avcodec.h:779

Definition at line 75 of file mpegutils.h.

Referenced by ff_er_frame_end(), ff_h264_decode_mb_cabac(), ff_h264_decode_mb_cavlc(), fill_decode_caches(), fill_filter_caches_inter(), guess_dc(), hl_motion(), and svq3_decode_mb().

§ IS_SKIP

#define IS_SKIP (   a)    ((a) & MB_TYPE_SKIP)

§ IS_INTRA_PCM

#define IS_INTRA_PCM (   a)    ((a) & MB_TYPE_INTRA_PCM)

§ IS_INTERLACED

#define IS_INTERLACED (   a)    ((a) & MB_TYPE_INTERLACED)

§ IS_DIRECT

#define IS_DIRECT (   a)    ((a) & MB_TYPE_DIRECT2)

§ IS_GMC

#define IS_GMC (   a)    ((a) & MB_TYPE_GMC)

Definition at line 81 of file mpegutils.h.

Referenced by ff_print_debug_info().

§ IS_16X16

#define IS_16X16 (   a)    ((a) & MB_TYPE_16x16)

§ IS_16X8

#define IS_16X8 (   a)    ((a) & MB_TYPE_16x8)

§ IS_8X16

#define IS_8X16 (   a)    ((a) & MB_TYPE_8x16)

§ IS_8X8

#define IS_8X8 (   a)    ((a) & MB_TYPE_8x8)

§ IS_SUB_8X8

#define IS_SUB_8X8 (   a)    ((a) & MB_TYPE_16x16)

§ IS_SUB_8X4

#define IS_SUB_8X4 (   a)    ((a) & MB_TYPE_16x8)

§ IS_SUB_4X8

#define IS_SUB_4X8 (   a)    ((a) & MB_TYPE_8x16)

§ IS_SUB_4X4

#define IS_SUB_4X4 (   a)    ((a) & MB_TYPE_8x8)

Definition at line 89 of file mpegutils.h.

Referenced by await_references(), and hl_motion().

§ IS_ACPRED

#define IS_ACPRED (   a)    ((a) & MB_TYPE_ACPRED)

Definition at line 90 of file mpegutils.h.

Referenced by ff_print_debug_info(), and mpeg4_decode_partitioned_mb().

§ IS_QUANT

#define IS_QUANT (   a)    ((a) & MB_TYPE_QUANT)

Definition at line 91 of file mpegutils.h.

Referenced by ff_h261_encode_mb(), ff_h263_decode_mb(), h261_decode_mb(), and mpeg_decode_mb().

§ IS_DIR

#define IS_DIR (   a,
  part,
  list 
)    ((a) & (MB_TYPE_P0L0 << ((part) + 2 * (list))))

§ USES_LIST

#define USES_LIST (   a,
  list 
)    ((a) & ((MB_TYPE_P0L0 | MB_TYPE_P1L0) << (2 * (list))))

§ HAS_CBP

#define HAS_CBP (   a)    ((a) & MB_TYPE_CBP)

Definition at line 97 of file mpegutils.h.

Referenced by ff_h261_encode_mb(), ff_h263_decode_mb(), h261_decode_mb(), and mpeg_decode_mb().

§ CANDIDATE_MB_TYPE_INTRA

#define CANDIDATE_MB_TYPE_INTRA   (1 << 0)

§ CANDIDATE_MB_TYPE_INTER

#define CANDIDATE_MB_TYPE_INTER   (1 << 1)

§ CANDIDATE_MB_TYPE_INTER4V

#define CANDIDATE_MB_TYPE_INTER4V   (1 << 2)

§ CANDIDATE_MB_TYPE_SKIPPED

#define CANDIDATE_MB_TYPE_SKIPPED   (1 << 3)

Definition at line 103 of file mpegutils.h.

Referenced by encode_thread(), and ff_estimate_p_frame_motion().

§ CANDIDATE_MB_TYPE_DIRECT

#define CANDIDATE_MB_TYPE_DIRECT   (1 << 4)

Definition at line 105 of file mpegutils.h.

Referenced by encode_thread(), ff_clean_mpeg4_qscales(), and ff_estimate_b_frame_motion().

§ CANDIDATE_MB_TYPE_FORWARD

#define CANDIDATE_MB_TYPE_FORWARD   (1 << 5)

Definition at line 106 of file mpegutils.h.

Referenced by encode_picture(), encode_thread(), and ff_estimate_b_frame_motion().

§ CANDIDATE_MB_TYPE_BACKWARD

#define CANDIDATE_MB_TYPE_BACKWARD   (1 << 6)

Definition at line 107 of file mpegutils.h.

Referenced by encode_picture(), encode_thread(), and ff_estimate_b_frame_motion().

§ CANDIDATE_MB_TYPE_BIDIR

#define CANDIDATE_MB_TYPE_BIDIR   (1 << 7)

§ CANDIDATE_MB_TYPE_INTER_I

#define CANDIDATE_MB_TYPE_INTER_I   (1 << 8)

Definition at line 110 of file mpegutils.h.

Referenced by encode_picture(), encode_thread(), and ff_estimate_p_frame_motion().

§ CANDIDATE_MB_TYPE_FORWARD_I

#define CANDIDATE_MB_TYPE_FORWARD_I   (1 << 9)

Definition at line 111 of file mpegutils.h.

Referenced by encode_picture(), encode_thread(), and ff_estimate_b_frame_motion().

§ CANDIDATE_MB_TYPE_BACKWARD_I

#define CANDIDATE_MB_TYPE_BACKWARD_I   (1 << 10)

Definition at line 112 of file mpegutils.h.

Referenced by encode_picture(), encode_thread(), and ff_estimate_b_frame_motion().

§ CANDIDATE_MB_TYPE_BIDIR_I

#define CANDIDATE_MB_TYPE_BIDIR_I   (1 << 11)

Definition at line 113 of file mpegutils.h.

Referenced by encode_picture(), encode_thread(), and ff_estimate_b_frame_motion().

§ CANDIDATE_MB_TYPE_DIRECT0

#define CANDIDATE_MB_TYPE_DIRECT0   (1 << 12)

Definition at line 115 of file mpegutils.h.

Referenced by encode_thread(), and ff_estimate_b_frame_motion().

Function Documentation

§ ff_draw_horiz_band()

void ff_draw_horiz_band ( AVCodecContext avctx,
AVFrame cur,
AVFrame last,
int  y,
int  h,
int  picture_structure,
int  first_field,
int  low_delay 
)

Draw a horizontal band if supported.

Parameters
his the normal height, this will be reduced automatically if needed

Definition at line 30 of file mpegutils.c.

Referenced by ff_mpeg_draw_horiz_band(), and svq3_decode_frame().