FFmpeg
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 
38 extern VLC ff_h263_cbpy_vlc;
39 extern VLC ff_h263_mv_vlc;
40 
42 
43 int ff_h263_decode_motion(MpegEncContext * s, int pred, int f_code);
46  int *got_frame, AVPacket *avpkt);
48 void ff_h263_decode_init_vlc(void);
52 
53 /**
54  * Print picture info if FF_DEBUG_PICT_INFO is set.
55  */
57 
60  int16_t block[6][64]);
61 
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