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
VLC
ff_h263_intra_MCBPC_vlc
;
37
extern
VLC
ff_h263_inter_MCBPC_vlc
;
38
extern
VLC
ff_h263_cbpy_vlc
;
39
extern
VLC
ff_h263_mv_vlc
;
40
41
extern
const
enum
AVPixelFormat
ff_h263_hwaccel_pixfmt_list_420
[];
42
43
int
ff_h263_decode_motion
(
MpegEncContext
*
s
,
int
pred
,
int
f_code);
44
int
ff_h263_decode_init
(
AVCodecContext
*avctx);
45
int
ff_h263_decode_frame
(
AVCodecContext
*avctx,
AVFrame
*
frame
,
46
int
*got_frame,
AVPacket
*avpkt);
47
int
ff_h263_decode_end
(
AVCodecContext
*avctx);
48
void
ff_h263_decode_init_vlc
(
void
);
49
int
ff_h263_decode_picture_header
(
MpegEncContext
*
s
);
50
int
ff_h263_decode_gob_header
(
MpegEncContext
*
s
);
51
int
ff_h263_decode_mba
(
MpegEncContext
*
s
);
52
53
/**
54
* Print picture info if FF_DEBUG_PICT_INFO is set.
55
*/
56
void
ff_h263_show_pict_info
(
MpegEncContext
*
s
);
57
58
int
ff_intel_h263_decode_picture_header
(
MpegEncContext
*
s
);
59
int
ff_h263_decode_mb
(
MpegEncContext
*
s
,
60
int16_t
block
[6][64]);
61
62
int
ff_h263_resync
(
MpegEncContext
*
s
);
63
64
#endif
AVPixelFormat
AVPixelFormat
Pixel format.
Definition:
pixfmt.h:64
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:340
ff_h263_hwaccel_pixfmt_list_420
enum AVPixelFormat ff_h263_hwaccel_pixfmt_list_420[]
Definition:
h263dec.c:662
ff_h263_decode_frame
int ff_h263_decode_frame(AVCodecContext *avctx, AVFrame *frame, int *got_frame, AVPacket *avpkt)
Definition:
h263dec.c:402
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:1089
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
ff_h263_inter_MCBPC_vlc
VLC ff_h263_inter_MCBPC_vlc
Definition:
ituh263dec.c:103
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_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_mv_vlc
VLC ff_h263_mv_vlc
Definition:
ituh263dec.c:105
ff_h263_intra_MCBPC_vlc
VLC ff_h263_intra_MCBPC_vlc
Definition:
ituh263dec.c:102
ff_h263_decode_end
int ff_h263_decode_end(AVCodecContext *avctx)
Definition:
h263dec.c:141
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:69
AVCodecContext
main external API structure.
Definition:
avcodec.h:441
VLC
Definition:
vlc.h:33
ff_h263_cbpy_vlc
VLC ff_h263_cbpy_vlc
Definition:
ituh263dec.c:104
AVPacket
This structure stores compressed data.
Definition:
packet.h:468
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 Apr 18 2024 22:41:49 for FFmpeg by
1.8.17