[FFmpeg-devel] [PATCH] fix roundup issue #2386

Ronald S. Bultje rsbultje
Fri Mar 4 17:50:30 CET 2011


Hi,

On Thu, Mar 3, 2011 at 10:22 PM, Sean McGovern <gseanmcg at gmail.com> wrote:
> Should an AVC-1 in MP4 stream not contain SPS or PPS NAL units,
> this BSF is then unable to allocate an output buffer for the
> modified stream. Warn that the resulting stream may be unplayable.
> ---
> ?libavcodec/h264_mp4toannexb_bsf.c | ? 19 +++++++++++++++++--
> ?1 files changed, 17 insertions(+), 2 deletions(-)
>
> diff --git a/libavcodec/h264_mp4toannexb_bsf.c b/libavcodec/h264_mp4toannexb_bsf.c
> index d4a7f31..e7f2e7a 100644
> --- a/libavcodec/h264_mp4toannexb_bsf.c
> +++ b/libavcodec/h264_mp4toannexb_bsf.c
> @@ -75,7 +75,7 @@ static int h264_mp4toannexb_filter(AVBitStreamFilterContext *bsfc,
> ? ? if (!ctx->extradata_parsed) {
> ? ? ? ? uint16_t unit_size;
> ? ? ? ? uint64_t total_size = 0;
> - ? ? ? ?uint8_t *out = NULL, unit_nb, sps_done = 0;
> + ? ? ? ?uint8_t *out = NULL, unit_nb, sps_done = 0, sps_seen = 0, pps_seen = 0;
> ? ? ? ? const uint8_t *extradata = avctx->extradata+4;
> ? ? ? ? static const uint8_t nalu_header[4] = {0, 0, 0, 1};
>
> @@ -89,7 +89,15 @@ static int h264_mp4toannexb_filter(AVBitStreamFilterContext *bsfc,
> ? ? ? ? if (!unit_nb) {
> ? ? ? ? ? ? unit_nb = *extradata++; /* number of pps unit(s) */
> ? ? ? ? ? ? sps_done++;
> +
> + ? ? ? ? ? ?if (unit_nb)
> + ? ? ? ? ? ? ? ?pps_seen = 1;
> + ? ? ? ?}
> + ? ? ? ?else
> + ? ? ? ?{

} else { - I'll fix that locally before committing. The rest seems sane to me.

(Also, I personally consider a commit easier to read if the subject
says what you change and the body says which issue it fixes, rather
than the other way around, but that's just a personal opinion.)

Ronald



More information about the ffmpeg-devel mailing list