FFmpeg
Loading...
Searching...
No Matches
mpeg4videoenc.h
Go to the documentation of this file.
1/*
2 * MPEG-4 encoder internal header.
3 * Copyright (c) 2000,2001 Fabrice Bellard
4 * Copyright (c) 2002-2010 Michael Niedermayer <michaelni@gmx.at>
5 *
6 * This file is part of FFmpeg.
7 *
8 * FFmpeg is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public
10 * License as published by the Free Software Foundation; either
11 * version 2.1 of the License, or (at your option) any later version.
12 *
13 * FFmpeg is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Lesser General Public License for more details.
17 *
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with FFmpeg; if not, write to the Free Software
20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21 */
22
23#ifndef AVCODEC_MPEG4VIDEOENC_H
24#define AVCODEC_MPEG4VIDEOENC_H
25
26#include <stdint.h>
27
28#include "put_bits.h"
29
30enum {
31 MAX_PB2_INTRA_SIZE = 1 /* ac_pred */ + 5 /* max cbpy len */ +
32 2 /* dquant */ + 1 /* interlaced dct */
33 + 4 * (8 /* longest luma dct_dc_size */ +
34 9 /* longest dc diff */ + 1 /* marker */)
35 + 2 * (9 + 9 + 1),
36 MAX_PB2_INTER_SIZE = 5 /* max cbpy len */ +
37 2 /* dquant */ + 1 /* interlaced_dct */ + 1,
39 MAX_AC_TEX_MB_SIZE = 64 * 6 * 30 /* longest escape code */ / 8,
40};
41
42typedef struct MPVEncContext MPVEncContext;
43
45
51
52#endif
#define s(width, name)
Definition cbs_vp9.c:198
#define FFMAX(a, b)
Definition macros.h:47
void ff_mpeg4_stuffing(PutBitContext *pbc)
add MPEG-4 stuffing bits (01...1)
void ff_set_mpeg4_time(MPVEncContext *s)
void ff_clean_mpeg4_qscales(MPVEncContext *s)
modify mb_type & qscale so that encoding is actually possible in MPEG-4
void ff_mpeg4_merge_partitions(MPVEncContext *s)
void ff_mpeg4_init_partitions(MPVEncContext *s)
@ MAX_PB2_INTER_SIZE
@ MAX_PB2_MB_SIZE
@ MAX_AC_TEX_MB_SIZE
@ MAX_PB2_INTRA_SIZE
void ff_mpeg4_encode_video_packet_header(MPVEncContext *s)
bitstream writer API