FFmpeg
libavcodec
h263dec.h
Go to the documentation of this file.
1
/*
2
* H.263 decoder internal header
3
*
4
* This file is part of FFmpeg.
5
*
6
* FFmpeg is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU Lesser General Public
8
* License as published by the Free Software Foundation; either
9
* version 2.1 of the License, or (at your option) any later version.
10
*
11
* FFmpeg is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
* Lesser General Public License for more details.
15
*
16
* You should have received a copy of the GNU Lesser General Public
17
* License along with FFmpeg; if not, write to the Free Software
18
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19
*/
20
#ifndef AVCODEC_H263DEC_H
21
#define AVCODEC_H263DEC_H
22
23
#include "
mpegvideo.h
"
24
#include "
vlc.h
"
25
26
// The defines below define the number of bits that are read at once for
27
// reading vlc values. Changing these may improve speed and data cache needs
28
// be aware though that decreasing them may need the number of stages that is
29
// passed to get_vlc* to be increased.
30
#define H263_MV_VLC_BITS 9
31
#define INTRA_MCBPC_VLC_BITS 6
32
#define INTER_MCBPC_VLC_BITS 7
33
#define CBPY_VLC_BITS 6
34
#define TEX_VLC_BITS 9
35
36
extern
VLCElem
ff_h263_intra_MCBPC_vlc
[];
37
extern
VLCElem
ff_h263_inter_MCBPC_vlc
[];
38
extern
VLCElem
ff_h263_cbpy_vlc
[];
39
extern
VLCElem
ff_h263_mv_vlc
[];
40
41
int
ff_h263_decode_motion
(
MpegEncContext
*
s
,
int
pred
,
int
f_code);
42
int
ff_h263_decode_init
(
AVCodecContext
*avctx);
43
int
ff_h263_decode_frame
(
AVCodecContext
*avctx,
AVFrame
*
frame
,
44
int
*got_frame,
AVPacket
*avpkt);
45
int
ff_h263_decode_end
(
AVCodecContext
*avctx);
46
void
ff_h263_decode_init_vlc
(
void
);
47
int
ff_h263_decode_picture_header
(
MpegEncContext
*
s
);
48
int
ff_h263_decode_gob_header
(
MpegEncContext
*
s
);
49
int
ff_h263_decode_mba
(
MpegEncContext
*
s
);
50
51
/**
52
* Print picture info if FF_DEBUG_PICT_INFO is set.
53
*/
54
void
ff_h263_show_pict_info
(
MpegEncContext
*
s
);
55
56
int
ff_intel_h263_decode_picture_header
(
MpegEncContext
*
s
);
57
int
ff_h263_decode_mb
(
MpegEncContext
*
s
,
58
int16_t
block
[6][64]);
59
60
int
ff_h263_resync
(
MpegEncContext
*
s
);
61
62
#endif
ff_h263_cbpy_vlc
VLCElem ff_h263_cbpy_vlc[]
Definition:
ituh263dec.c:104
ff_h263_decode_mb
int ff_h263_decode_mb(MpegEncContext *s, int16_t block[6][64])
Definition:
ituh263dec.c:787
AVFrame
This structure describes decoded (raw) audio or video data.
Definition:
frame.h:344
ff_h263_decode_frame
int ff_h263_decode_frame(AVCodecContext *avctx, AVFrame *frame, int *got_frame, AVPacket *avpkt)
Definition:
h263dec.c:424
mpegvideo.h
ff_h263_decode_mba
int ff_h263_decode_mba(MpegEncContext *s)
Definition:
ituh263dec.c:142
ff_h263_decode_picture_header
int ff_h263_decode_picture_header(MpegEncContext *s)
Definition:
ituh263dec.c:1090
ff_h263_decode_gob_header
int ff_h263_decode_gob_header(MpegEncContext *s)
ff_h263_decode_motion
int ff_h263_decode_motion(MpegEncContext *s, int pred, int f_code)
Definition:
ituh263dec.c:273
s
#define s(width, name)
Definition:
cbs_vp9.c:198
frame
static AVFrame * frame
Definition:
demux_decode.c:54
ff_h263_decode_init_vlc
void ff_h263_decode_init_vlc(void)
Definition:
ituh263dec.c:136
ff_h263_mv_vlc
VLCElem ff_h263_mv_vlc[]
Definition:
ituh263dec.c:105
ff_h263_show_pict_info
void ff_h263_show_pict_info(MpegEncContext *s)
Print picture info if FF_DEBUG_PICT_INFO is set.
Definition:
ituh263dec.c:80
ff_h263_intra_MCBPC_vlc
VLCElem ff_h263_intra_MCBPC_vlc[]
Definition:
ituh263dec.c:102
VLCElem
Definition:
vlc.h:32
ff_h263_decode_end
int ff_h263_decode_end(AVCodecContext *avctx)
Definition:
h263dec.c:163
ff_intel_h263_decode_picture_header
int ff_intel_h263_decode_picture_header(MpegEncContext *s)
Definition:
intelh263dec.c:30
pred
static const float pred[4]
Definition:
siprdata.h:259
ff_h263_decode_init
int ff_h263_decode_init(AVCodecContext *avctx)
Definition:
h263dec.c:91
AVCodecContext
main external API structure.
Definition:
avcodec.h:445
ff_h263_inter_MCBPC_vlc
VLCElem ff_h263_inter_MCBPC_vlc[]
Definition:
ituh263dec.c:103
AVPacket
This structure stores compressed data.
Definition:
packet.h:499
vlc.h
ff_h263_resync
int ff_h263_resync(MpegEncContext *s)
Decode the group of blocks / video packet header / slice header (MPEG-4 Studio).
Definition:
ituh263dec.c:216
block
The exact code depends on how similar the blocks are and how related they are to the block
Definition:
filter_design.txt:207
MpegEncContext
MpegEncContext.
Definition:
mpegvideo.h:67
Generated on Thu Sep 26 2024 23:14:58 for FFmpeg by
1.8.17