[FFmpeg-devel] [PATCH]pes packetizer
realsun
sunxiaohui
Sun Jul 15 03:38:19 CEST 2007
Vitor Sessak wrote:
> Hi
>
> I hope you don't mind some nitpicking...
>
of course not, welcome!
> realsun wrote:
>
> [...]
>
>
>> -static int mpeg_mux_init(AVFormatContext *ctx)
>> -{
>> - MpegMuxContext *s = ctx->priv_data;
>> - int bitrate, i, mpa_id, mpv_id, mps_id, ac3_id, dts_id, lpcm_id, j;
>> AVStream *st;
>> - StreamInfo *stream;
>> - int audio_bitrate;
>> - int video_bitrate;
>> + PESStream *stream;
>> + int i;
>>
>>
>
> [...]
>
>
>> -
>> + stream = (PESStream*)st->priv_data;
>> av_set_pts_info(st, 64, 1, 90000);
>>
>
> Unneeded cast
>
removed
>
>> - if (s->is_mpeg2) {
>> /* special stuffing byte that is always written
>> - to prevent accidental generation of start codes. */
>> - put_byte(&ctx->pb, 0xff);
>> + to prevent accidental generation of startcodes. */
>> + put_byte(&ctx->pb, 0xff);
>>
>> - for(i=0;i<stuffing_size;i++)
>> - put_byte(&ctx->pb, 0xff);
>> - }
>> + for(i=0;i<stuffing_size;i++)
>> + put_byte(&ctx->pb, 0xff);
>>
>
> Cosmetical
>
changed
>
>>
>> -static int output_packet(AVFormatContext *ctx, int flush){
>> - MpegMuxContext *s = ctx->priv_data;
>> - AVStream *st;
>> - StreamInfo *stream;
>> - int i, avail_space, es_size, trailer_size;
>> - int best_i= -1;
>> - int best_score= INT_MIN;
>> - int ignore_constraints=0;
>> - int64_t scr= s->last_scr;
>> - PacketDesc *timestamp_packet;
>> +
>> +int ff_pes_find_beststream(AVFormatContext *ctx, int packet_size, int flush, int64_t scr, int* best_i)
>> +{
>> + int best_score = INT_MIN;
>> + int i, avail_space = 0;
>> + int ignore_constraints = 0;
>> const int64_t max_delay= av_rescale(ctx->max_delay, 90000, AV_TIME_BASE);
>>
>
> Contain cosmeticals
>
fixed
>
>>
>> -static int mpeg_mux_write_packet(AVFormatContext *ctx, AVPacket *pkt)
>> +
>> +void ff_pes_write_packet(AVFormatContext *ctx, AVPacket *pkt)
>> {
>> - MpegMuxContext *s = ctx->priv_data;
>> int stream_index= pkt->stream_index;
>> + AVStream *st = ctx->streams[stream_index];
>> + PESStream *stream = st->priv_data;
>> + PacketDesc *pkt_desc;
>> int size= pkt->size;
>> uint8_t *buf= pkt->data;
>> - AVStream *st = ctx->streams[stream_index];
>> - StreamInfo *stream = st->priv_data;
>> int64_t pts, dts;
>> - PacketDesc *pkt_desc;
>> const int preload= av_rescale(ctx->preload, 90000, AV_TIME_BASE);
>>
>
> Cosmetical: reordering
>
>
fixed
>> - const int is_iframe = st->codec->codec_type == CODEC_TYPE_VIDEO && (pkt->flags & PKT_FLAG_KEY);
>>
>> pts= pkt->pts;
>> dts= pkt->dts;
>> @@ -1151,13 +267,12 @@
>> if(pts != AV_NOPTS_VALUE) pts += preload;
>> if(dts != AV_NOPTS_VALUE) dts += preload;
>>
>> -//av_log(ctx, AV_LOG_DEBUG, "dts:%f pts:%f flags:%d stream:%d nopts:%d\n", dts/90000.0, pts/90000.0, pkt->flags, pkt->stream_index, pts != AV_NOPTS_VALUE);
>>
>
> I think dead code removal is considered cosmetical
>
restored the dead code
>
>> bitrate = 0;
>> audio_bitrate = 0;
>> video_bitrate = 0;
>> for(i=0;i<ctx->nb_streams;i++) {
>> int codec_rate;
>> st = ctx->streams[i];
>> - stream = (StreamInfo*) st->priv_data;
>> + stream = st->priv_data;
>>
>
> While it is an unneeded cast (which was complained about), I think that
> if it was there before it should be removed in a next patch.
>
fixed
>
>> +/**
>> + * Remove decoded packets of each stream.
>> + * @param[in] ctx the AVFormatContext
>> + * @param[in] scr System Clock Reference of PES stream
>> + * @return On error a negative or zero value is returned, on success 1 is returned.
>> + */
>> +int ff_pes_remove_decoded_packets(AVFormatContext *ctx, int64_t scr);
>> +
>> +/*
>> + * Insert a timestamp into the ByteIOContext.
>> + * @param[in] pb the ByteIOContext to be written to
>> + * @param[in] id stream ID
>> + * @param[in] timestamp the timestamp
>> + * @return NULL
>> + */
>> +void ff_put_timestamp(ByteIOContext *pb, int id, int64_t timestamp);
>> +
>> +#endif/* AVFORMAT_MPEG_PES_H */
>>
>
> You forgot the extra star for doxygen in the last one.
>
fixed
> -Vitor
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at mplayerhq.hu
> http://lists.mplayerhq.hu/mailman/listinfo/ffmpeg-devel
>
>
>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: pes.diff
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20070715/54cf4782/attachment.asc>
More information about the ffmpeg-devel
mailing list