[FFmpeg-soc] [soc]: r255 - dvbmuxer/split_mpeg.diff

Aurelien Jacobs aurel at gnuage.org
Thu Jun 14 17:37:30 CEST 2007


On Thu, 14 Jun 2007 15:25:40 +0200 (CEST)
realsun <subversion at mplayerhq.hu> wrote:

> Author: realsun
> Date: Thu Jun 14 15:25:40 2007
> New Revision: 255
> 
> Log:
> split MPEG muxer and demuxer to prepare for PES muxer
> 
> [...]
> 
> +-};
> +-#endif
> +-
> + #ifdef CONFIG_MPEGPS_DEMUXER
> + AVInputFormat mpegps_demuxer = {
> +     "mpeg",
> +@@ -1852,3 +563,4 @@
> +     .flags = AVFMT_SHOW_IDS,
> + };
> + #endif
> ++

Useless cosmetic (adding one blank line at end of file).

> +Index: libavformat/mpeg.h
> +===================================================================
> +--- libavformat/mpeg.h	(revision 0)
> ++++ libavformat/mpeg.h	(revision 0)
> +@@ -0,0 +1,54 @@
> ++/*
> ++ * Copyright (c) 2000, 2001, 2002 Fabrice Bellard.
> ++ *
> ++ * 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
> ++ */
> ++
> ++/**
> ++ * @file mpeg.h
> ++ * MPEG1/2 muxer/demuxer header.
> ++ */
> ++
> ++#ifndef MPEG_H
> ++#define MPEG_H
> ++
> ++/* mpeg2 */
> ++#define PROGRAM_STREAM_MAP 0x1bc
> ++#define PRIVATE_STREAM_1   0x1bd
> ++#define PADDING_STREAM     0x1be
> ++#define PRIVATE_STREAM_2   0x1bf
> ++
> ++
> ++#define AUDIO_ID 0xc0
> ++#define VIDEO_ID 0xe0
> ++#define AC3_ID   0x80
> ++#define DTS_ID   0x8a
> ++#define LPCM_ID  0xa0
> ++#define SUB_ID   0x20
> ++
> ++
> ++#define PACK_START_CODE             ((unsigned int)0x000001ba)
> ++#define SYSTEM_HEADER_START_CODE    ((unsigned int)0x000001bb)
> ++#define SEQUENCE_END_CODE           ((unsigned int)0x000001b7)
> ++#define PACKET_START_CODE_MASK      ((unsigned int)0xffffff00)
> ++#define PACKET_START_CODE_PREFIX    ((unsigned int)0x00000100)
> ++#define ISO_11172_END_CODE          ((unsigned int)0x000001b9)
> ++
> ++static const int lpcm_freq_tab[4] = { 48000, 96000, 44100, 32000 };

This table will be duplicated in the object files. This is not very
nice, but the table is so small that it may be acceptable.

> ++
> ++#endif /* MPEG_H */
> ++

This last blank line is useless.

> +Index: libavformat/mpegenc.c
> +===================================================================
> +--- libavformat/mpegenc.c	(revision 0)
> ++++ libavformat/mpegenc.c	(revision 0)
> 
> [...]
> 
> ++/*  Same as mpeg2vob_mux except the 'is_dvd' flag is set to produce NAV pkts */
> ++#ifdef CONFIG_MPEG2DVD_MUXER
> ++AVOutputFormat mpeg2dvd_muxer = {
> ++    "dvd",
> ++    "MPEG2 PS format (DVD VOB)",
> ++    "video/mpeg",
> ++    "dvd",
> ++    sizeof(MpegMuxContext),
> ++    CODEC_ID_MP2,
> ++    CODEC_ID_MPEG2VIDEO,
> ++    mpeg_mux_init,
> ++    mpeg_mux_write_packet,
> ++    mpeg_mux_end,
> ++};
> ++#endif
> ++

Useless blank line...

Aurel



More information about the FFmpeg-soc mailing list