[FFmpeg-soc] [FFmpeg-devel] [Patch]GSoC 2008 qualification task TS Muxer
Baptiste Coudurier
baptiste.coudurier at smartjog.com
Mon Mar 31 19:26:12 CEST 2008
Hi,
On Mon, Mar 31, 2008 at 11:18:07PM +0800, zhentan feng wrote:
> [...]
>
> Index: mpegpes.h
> ===================================================================
> --- mpegpes.h (revision 2048)
> +++ mpegpes.h (working copy)
> @@ -30,6 +30,12 @@
> #include "avformat.h"
> #include "fifo.h"
>
> +#define PES_FMT_MPEG2 0x01
> +#define PES_FMT_VCD 0x02
> +#define PES_FMT_SVCD 0x04 | PES_FMT_MPEG2
> +#define PES_FMT_DVD 0x08 | PES_FMT_MPEG2
> +#define PES_FMT_TS 0x10 | PES_FMT_MPEG2
> +
Yes, but problem now is that == PES_FMT_TS is causing problems,
and gcc warns you about it. So you should directly merge values I guess.
> [...]
>
> Index: mpegpesenc.c
> ===================================================================
> --- mpegpesenc.c (revision 2048)
> +++ mpegpesenc.c (working copy)
> @@ -100,7 +100,109 @@
>
> return nb_frames;
> }
> +/**
> + * Caculate the PES header to flush
> + * @param[in] id the stream id
> + * @param[in] stream the PES stream
> + * @param[in] packet_size the packet size for PES
> + * @param[in] header_len the PES header length
> + * @param[in] pts the PTS
> + * @param[in] dts the DTS
> + * @param[in] payload_size the PES palyload size
> + * @param[in] startcode the startcode
> + * @param[in]stuffing_size the PES stuff size
> + * @param[in] trailer_size the trailer_ size
> + * @param[in] pad_packet_bytes the padding size for packet
> + * @return NULL
> + */
> +void ff_pes_cal_header(int id,PESStream * stream,
> + int *packet_size,int *header_len,int64_t *pts,int64_t *dts,
> + int *payload_size,int *startcode,int *stuffing_size,
> + int *trailer_size,int *pad_packet_bytes)
> +{
> + /* packet header size */
> + *packet_size -= 6;
>
> + /* packet header */
> + if (stream->format & PES_FMT_MPEG2){
> + *header_len = 3;
> + if (stream->packet_number==0)
> + *header_len += 3; /* PES extension */
You don't check for TS here ? Old code is not checking this.
Are you sure it is correct ? Did you test it ?
Except that patch is ok.
--
Baptiste COUDURIER GnuPG Key Id: 0x5C1ABAAA
SMARTJOG SAS http://www.smartjog.com
Key fingerprint 8D77134D20CC9220201FC5DB0AC9325C5C1ABAAA
Phone: +33 1 49966312
More information about the FFmpeg-soc
mailing list