h263 decoder. More...
#include <limits.h>#include "libavutil/mathematics.h"#include "dsputil.h"#include "avcodec.h"#include "mpegvideo.h"#include "h263.h"#include "mathops.h"#include "unary.h"#include "flv.h"#include "mpeg4video.h"Go to the source code of this file.
Defines | |
| #define | MV_VLC_BITS 9 |
| #define | H263_MBTYPE_B_VLC_BITS 6 |
| #define | CBPC_B_VLC_BITS 3 |
Functions | |
| void | ff_h263_show_pict_info (MpegEncContext *s) |
| Print picture info if FF_DEBUG_PICT_INFO is set. | |
| void | ff_h263_decode_init_vlc (MpegEncContext *s) |
| int | ff_h263_decode_mba (MpegEncContext *s) |
| static int | h263_decode_gob_header (MpegEncContext *s) |
| Decode the group of blocks header or slice header. | |
| const uint8_t * | ff_h263_find_resync_marker (const uint8_t *restrict p, const uint8_t *restrict end) |
| Find the next resync_marker. | |
| int | ff_h263_resync (MpegEncContext *s) |
| Decode the group of blocks / video packet header. | |
| int | ff_h263_decode_motion (MpegEncContext *s, int pred, int f_code) |
| static int | h263p_decode_umotion (MpegEncContext *s, int pred) |
| static void | preview_obmc (MpegEncContext *s) |
| read the next MVs for OBMC. | |
| static void | h263_decode_dquant (MpegEncContext *s) |
| static int | h263_decode_block (MpegEncContext *s, DCTELEM *block, int n, int coded) |
| static int | h263_skip_b_part (MpegEncContext *s, int cbp) |
| static int | h263_get_modb (GetBitContext *gb, int pb_frame, int *cbpb) |
| int | ff_h263_decode_mb (MpegEncContext *s, DCTELEM block[6][64]) |
| int | ff_h263_decode_picture_header (MpegEncContext *s) |
Variables | |
| static const int | h263_mb_type_b_map [15] |
| VLC | ff_h263_intra_MCBPC_vlc |
| VLC | ff_h263_inter_MCBPC_vlc |
| VLC | ff_h263_cbpy_vlc |
| static VLC | mv_vlc |
| static VLC | h263_mbtype_b_vlc |
| static VLC | cbpc_b_vlc |
h263 decoder.
Definition in file ituh263dec.c.
| #define CBPC_B_VLC_BITS 3 |
Definition at line 52 of file ituh263dec.c.
Referenced by ff_h263_decode_init_vlc(), and ff_h263_decode_mb().
| #define H263_MBTYPE_B_VLC_BITS 6 |
Definition at line 51 of file ituh263dec.c.
Referenced by ff_h263_decode_init_vlc(), and ff_h263_decode_mb().
| #define MV_VLC_BITS 9 |
Definition at line 50 of file ituh263dec.c.
Referenced by ff_h263_decode_init_vlc(), and ff_h263_decode_motion().
| void ff_h263_decode_init_vlc | ( | MpegEncContext * | s | ) |
Definition at line 104 of file ituh263dec.c.
Referenced by ff_h263_decode_init(), and rv10_decode_init().
| int ff_h263_decode_mb | ( | MpegEncContext * | s, | |
| DCTELEM | block[6][64] | |||
| ) |
Definition at line 601 of file ituh263dec.c.
Referenced by rv10_decode_packet().
| int ff_h263_decode_mba | ( | MpegEncContext * | s | ) |
Definition at line 136 of file ituh263dec.c.
Referenced by ff_h263_decode_picture_header(), h263_decode_gob_header(), and rv20_decode_picture_header().
| int ff_h263_decode_motion | ( | MpegEncContext * | s, | |
| int | pred, | |||
| int | f_code | |||
| ) |
Definition at line 272 of file ituh263dec.c.
Referenced by ff_h263_decode_mb(), mpeg4_decode_mb(), mpeg4_decode_partition_a(), and preview_obmc().
| int ff_h263_decode_picture_header | ( | MpegEncContext * | s | ) |
Definition at line 867 of file ituh263dec.c.
Referenced by ff_h263_decode_frame().
| const uint8_t* ff_h263_find_resync_marker | ( | const uint8_t *restrict | p, | |
| const uint8_t *restrict | end | |||
| ) |
Find the next resync_marker.
| p | pointer to buffer to scan | |
| end | pointer to the end of the buffer |
Definition at line 211 of file ituh263dec.c.
| int ff_h263_resync | ( | MpegEncContext * | s | ) |
Decode the group of blocks / video packet header.
Definition at line 230 of file ituh263dec.c.
Referenced by ff_h263_decode_frame().
| void ff_h263_show_pict_info | ( | MpegEncContext * | s | ) |
Print picture info if FF_DEBUG_PICT_INFO is set.
Definition at line 72 of file ituh263dec.c.
Referenced by ff_h263_decode_picture_header(), and ff_intel_h263_decode_picture_header().
| static int h263_decode_block | ( | MpegEncContext * | s, | |
| DCTELEM * | block, | |||
| int | n, | |||
| int | coded | |||
| ) | [static] |
Definition at line 441 of file ituh263dec.c.
Referenced by ff_h263_decode_mb(), and h263_skip_b_part().
| static void h263_decode_dquant | ( | MpegEncContext * | s | ) | [static] |
Definition at line 428 of file ituh263dec.c.
Referenced by ff_h263_decode_mb().
| static int h263_decode_gob_header | ( | MpegEncContext * | s | ) | [static] |
Decode the group of blocks header or slice header.
Definition at line 154 of file ituh263dec.c.
Referenced by ff_h263_resync().
| static int h263_get_modb | ( | GetBitContext * | gb, | |
| int | pb_frame, | |||
| int * | cbpb | |||
| ) | [static] |
Definition at line 583 of file ituh263dec.c.
Referenced by ff_h263_decode_mb().
| static int h263_skip_b_part | ( | MpegEncContext * | s, | |
| int | cbp | |||
| ) | [static] |
Definition at line 564 of file ituh263dec.c.
Referenced by ff_h263_decode_mb().
| static int h263p_decode_umotion | ( | MpegEncContext * | s, | |
| int | pred | |||
| ) | [static] |
Definition at line 310 of file ituh263dec.c.
Referenced by ff_h263_decode_mb(), and preview_obmc().
| static void preview_obmc | ( | MpegEncContext * | s | ) | [static] |
read the next MVs for OBMC.
yes this is a ugly hack, feel free to send a patch :)
Definition at line 336 of file ituh263dec.c.
Referenced by ff_h263_decode_mb().
VLC cbpc_b_vlc [static] |
Definition at line 99 of file ituh263dec.c.
Definition at line 96 of file ituh263dec.c.
Referenced by mpeg4_decode_mb(), mpeg4_decode_partition_b(), and msmpeg4v12_decode_mb().
Definition at line 95 of file ituh263dec.c.
Referenced by mpeg4_decode_mb(), mpeg4_decode_partition_a(), and msmpeg4v12_decode_mb().
Definition at line 94 of file ituh263dec.c.
Referenced by mpeg4_decode_mb(), mpeg4_decode_partition_a(), and msmpeg4v12_decode_mb().
const int h263_mb_type_b_map[15] [static] |
{
MB_TYPE_DIRECT2 | MB_TYPE_L0L1,
MB_TYPE_DIRECT2 | MB_TYPE_L0L1 | MB_TYPE_CBP,
MB_TYPE_DIRECT2 | MB_TYPE_L0L1 | MB_TYPE_CBP | MB_TYPE_QUANT,
MB_TYPE_L0 | MB_TYPE_16x16,
MB_TYPE_L0 | MB_TYPE_CBP | MB_TYPE_16x16,
MB_TYPE_L0 | MB_TYPE_CBP | MB_TYPE_QUANT | MB_TYPE_16x16,
MB_TYPE_L1 | MB_TYPE_16x16,
MB_TYPE_L1 | MB_TYPE_CBP | MB_TYPE_16x16,
MB_TYPE_L1 | MB_TYPE_CBP | MB_TYPE_QUANT | MB_TYPE_16x16,
MB_TYPE_L0L1 | MB_TYPE_16x16,
MB_TYPE_L0L1 | MB_TYPE_CBP | MB_TYPE_16x16,
MB_TYPE_L0L1 | MB_TYPE_CBP | MB_TYPE_QUANT | MB_TYPE_16x16,
0,
MB_TYPE_INTRA4x4 | MB_TYPE_CBP,
MB_TYPE_INTRA4x4 | MB_TYPE_CBP | MB_TYPE_QUANT,
}
Definition at line 54 of file ituh263dec.c.
Referenced by ff_h263_decode_mb().
VLC h263_mbtype_b_vlc [static] |
Definition at line 98 of file ituh263dec.c.
Definition at line 97 of file ituh263dec.c.