avcodec/mpeg4video: Factor non-codec stuff out into a header of its own

This avoids including mpegvideo.h in mpeg4_unpack_bframes_bsf.c.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
This commit is contained in:
Andreas Rheinhardt 2022-08-28 13:09:19 +02:00
parent c421000434
commit 500bbd584d
9 changed files with 75 additions and 45 deletions

View File

@ -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

View File

@ -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

View File

@ -21,7 +21,7 @@
#include "bsf.h"
#include "bsf_internal.h"
#include "mpeg4video.h"
#include "mpeg4videodefs.h"
#include "startcode.h"
typedef struct UnpackBFramesBSFContext {

View File

@ -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);

View File

@ -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"

View File

@ -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"

View File

@ -0,0 +1,68 @@
/*
* MPEG-4 definitions.
* Copyright (c) 2000,2001 Fabrice Bellard
* Copyright (c) 2002-2010 Michael Niedermayer <michaelni@gmx.at>
*
* 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 */

View File

@ -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"

View File

@ -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"