diff --git a/libavcodec/h263dec.c b/libavcodec/h263dec.c index 8b4101272a..a08329a121 100644 --- a/libavcodec/h263dec.c +++ b/libavcodec/h263dec.c @@ -43,6 +43,7 @@ #include "mpeg_er.h" #include "mpeg4video.h" #include "mpeg4videodec.h" +#include "mpeg4videodefs.h" #if FF_API_FLAG_TRUNCATED #include "mpeg4video_parser.h" #endif diff --git a/libavcodec/ituh263dec.c b/libavcodec/ituh263dec.c index af054360d8..200de8527e 100644 --- a/libavcodec/ituh263dec.c +++ b/libavcodec/ituh263dec.c @@ -50,6 +50,7 @@ #include "mpegvideodata.h" #include "mpegvideodec.h" #include "mpeg4videodec.h" +#include "mpeg4videodefs.h" // The defines below define the number of bits that are read at once for // reading vlc values. Changing these may improve speed and data cache needs diff --git a/libavcodec/mpeg4_unpack_bframes_bsf.c b/libavcodec/mpeg4_unpack_bframes_bsf.c index 5493dafa97..3a3aad795f 100644 --- a/libavcodec/mpeg4_unpack_bframes_bsf.c +++ b/libavcodec/mpeg4_unpack_bframes_bsf.c @@ -21,7 +21,7 @@ #include "bsf.h" #include "bsf_internal.h" -#include "mpeg4video.h" +#include "mpeg4videodefs.h" #include "startcode.h" typedef struct UnpackBFramesBSFContext { diff --git a/libavcodec/mpeg4video.h b/libavcodec/mpeg4video.h index ab65280756..29b11eb92e 100644 --- a/libavcodec/mpeg4video.h +++ b/libavcodec/mpeg4video.h @@ -27,48 +27,6 @@ #include "mpegvideo.h" -// shapes -#define RECT_SHAPE 0 -#define BIN_SHAPE 1 -#define BIN_ONLY_SHAPE 2 -#define GRAY_SHAPE 3 - -#define SIMPLE_VO_TYPE 1 -#define CORE_VO_TYPE 3 -#define MAIN_VO_TYPE 4 -#define NBIT_VO_TYPE 5 -#define ARTS_VO_TYPE 10 -#define ACE_VO_TYPE 12 -#define SIMPLE_STUDIO_VO_TYPE 14 -#define CORE_STUDIO_VO_TYPE 15 -#define ADV_SIMPLE_VO_TYPE 17 - -#define VOT_VIDEO_ID 1 -#define VOT_STILL_TEXTURE_ID 2 - -// aspect_ratio_info -#define EXTENDED_PAR 15 - -//vol_sprite_usage / sprite_enable -#define STATIC_SPRITE 1 -#define GMC_SPRITE 2 - -#define MOTION_MARKER 0x1F001 -#define DC_MARKER 0x6B001 - -#define VOS_STARTCODE 0x1B0 -#define USER_DATA_STARTCODE 0x1B2 -#define GOP_STARTCODE 0x1B3 -#define VISUAL_OBJ_STARTCODE 0x1B5 -#define VOP_STARTCODE 0x1B6 -#define SLICE_STARTCODE 0x1B7 -#define EXT_STARTCODE 0x1B8 - -#define QUANT_MATRIX_EXT_ID 0x3 - -/* smaller packets likely don't contain a real frame */ -#define MAX_NVOP_SIZE 19 - void ff_mpeg4_clean_buffers(MpegEncContext *s); int ff_mpeg4_get_video_packet_prefix_length(MpegEncContext *s); void ff_mpeg4_init_direct_mv(MpegEncContext *s); diff --git a/libavcodec/mpeg4video_parser.c b/libavcodec/mpeg4video_parser.c index bbdb2209cf..e32a93d296 100644 --- a/libavcodec/mpeg4video_parser.c +++ b/libavcodec/mpeg4video_parser.c @@ -25,8 +25,8 @@ #include "decode.h" #include "parser.h" #include "mpegvideo.h" -#include "mpeg4video.h" #include "mpeg4videodec.h" +#include "mpeg4videodefs.h" #if FF_API_FLAG_TRUNCATED /* Nuke this header when removing FF_API_FLAG_TRUNCATED */ #include "mpeg4video_parser.h" diff --git a/libavcodec/mpeg4videodec.c b/libavcodec/mpeg4videodec.c index d89adf8d63..65f3c89c47 100644 --- a/libavcodec/mpeg4videodec.c +++ b/libavcodec/mpeg4videodec.c @@ -38,6 +38,7 @@ #include "mpeg4video.h" #include "mpeg4videodata.h" #include "mpeg4videodec.h" +#include "mpeg4videodefs.h" #include "h263.h" #include "h263data.h" #include "h263dec.h" diff --git a/libavcodec/mpeg4videodefs.h b/libavcodec/mpeg4videodefs.h new file mode 100644 index 0000000000..27155eae5c --- /dev/null +++ b/libavcodec/mpeg4videodefs.h @@ -0,0 +1,68 @@ +/* + * MPEG-4 definitions. + * Copyright (c) 2000,2001 Fabrice Bellard + * Copyright (c) 2002-2010 Michael Niedermayer + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVCODEC_MPEG4VIDEODEFS_H +#define AVCODEC_MPEG4VIDEODEFS_H + +// shapes +#define RECT_SHAPE 0 +#define BIN_SHAPE 1 +#define BIN_ONLY_SHAPE 2 +#define GRAY_SHAPE 3 + +#define SIMPLE_VO_TYPE 1 +#define CORE_VO_TYPE 3 +#define MAIN_VO_TYPE 4 +#define NBIT_VO_TYPE 5 +#define ARTS_VO_TYPE 10 +#define ACE_VO_TYPE 12 +#define SIMPLE_STUDIO_VO_TYPE 14 +#define CORE_STUDIO_VO_TYPE 15 +#define ADV_SIMPLE_VO_TYPE 17 + +#define VOT_VIDEO_ID 1 +#define VOT_STILL_TEXTURE_ID 2 + +// aspect_ratio_info +#define EXTENDED_PAR 15 + +//vol_sprite_usage / sprite_enable +#define STATIC_SPRITE 1 +#define GMC_SPRITE 2 + +#define MOTION_MARKER 0x1F001 +#define DC_MARKER 0x6B001 + +#define VOS_STARTCODE 0x1B0 +#define USER_DATA_STARTCODE 0x1B2 +#define GOP_STARTCODE 0x1B3 +#define VISUAL_OBJ_STARTCODE 0x1B5 +#define VOP_STARTCODE 0x1B6 +#define SLICE_STARTCODE 0x1B7 +#define EXT_STARTCODE 0x1B8 + +#define QUANT_MATRIX_EXT_ID 0x3 + +/* smaller packets likely don't contain a real frame */ +#define MAX_NVOP_SIZE 19 + +#endif /* AVCODEC_MPEG4VIDEODEFS_H */ diff --git a/libavcodec/mpeg4videoenc.c b/libavcodec/mpeg4videoenc.c index 339a3c2152..96c48b2eb2 100644 --- a/libavcodec/mpeg4videoenc.c +++ b/libavcodec/mpeg4videoenc.c @@ -31,6 +31,7 @@ #include "h263enc.h" #include "mpeg4video.h" #include "mpeg4videodata.h" +#include "mpeg4videodefs.h" #include "mpeg4videoenc.h" #include "mpegvideoenc.h" #include "profiles.h" diff --git a/libavcodec/nvdec_mpeg4.c b/libavcodec/nvdec_mpeg4.c index b7e1821754..eac138cc38 100644 --- a/libavcodec/nvdec_mpeg4.c +++ b/libavcodec/nvdec_mpeg4.c @@ -22,8 +22,8 @@ #include "avcodec.h" #include "internal.h" -#include "mpeg4video.h" #include "mpeg4videodec.h" +#include "mpeg4videodefs.h" #include "nvdec.h" #include "decode.h"