[FFmpeg-cvslog] avformat/avc: fix sps buffer offset when calling ff_avc_decode_sps()

James Almer git at videolan.org
Sat Nov 30 04:20:06 EET 2019


ffmpeg | branch: master | James Almer <jamrial at gmail.com> | Fri Nov 29 23:13:36 2019 -0300| [18507b48825da45055f7ba1f933aa64cf90de253] | committer: James Almer

avformat/avc: fix sps buffer offset when calling ff_avc_decode_sps()

Skip the avcC specific size bytes and the NAL header bits.

Signed-off-by: James Almer <jamrial at gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=18507b48825da45055f7ba1f933aa64cf90de253
---

 libavformat/avc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavformat/avc.c b/libavformat/avc.c
index a3516a2fb7..2fb16872c4 100644
--- a/libavformat/avc.c
+++ b/libavformat/avc.c
@@ -197,7 +197,7 @@ int ff_isom_write_avcc(AVIOContext *pb, const uint8_t *data, int len)
     avio_write(pb, pps, pps_size);
 
     if (sps[3] != 66 && sps[3] != 77 && sps[3] != 88) {
-        H264SequenceParameterSet *seq = ff_avc_decode_sps(sps, sps_size);
+        H264SequenceParameterSet *seq = ff_avc_decode_sps(sps + 3, sps_size - 3);
         if (!seq)
             goto fail;
         avio_w8(pb, 0xfc | seq->chroma_format_idc); /* 6 bits reserved (111111) + chroma_format_idc */



More information about the ffmpeg-cvslog mailing list