[FFmpeg-cvslog] avcodec/hevc_parse: ignore all non parameter set NAL units in extradata

James Almer git at videolan.org
Fri Apr 7 23:25:05 EEST 2017


ffmpeg | branch: master | James Almer <jamrial at gmail.com> | Sun Apr  2 14:35:03 2017 -0300| [e7fb6bc32d1bbffbc1a466c2a505b138cf8a7e0e] | committer: James Almer

avcodec/hevc_parse: ignore all non parameter set NAL units in extradata

While they shouldn't be present, they are harmless if they are.

Reviewed-by: Michael Niedermayer <michael at niedermayer.cc>
Signed-off-by: James Almer <jamrial at gmail.com>

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

 libavcodec/hevc_parse.c | 21 ++-------------------
 1 file changed, 2 insertions(+), 19 deletions(-)

diff --git a/libavcodec/hevc_parse.c b/libavcodec/hevc_parse.c
index 6c1138e..3fe6662 100644
--- a/libavcodec/hevc_parse.c
+++ b/libavcodec/hevc_parse.c
@@ -41,25 +41,8 @@ static int hevc_decode_nal_units(const uint8_t *buf, int buf_size, HEVCParamSets
         case HEVC_NAL_VPS: ff_hevc_decode_nal_vps(&nal->gb, logctx, ps);    break;
         case HEVC_NAL_SPS: ff_hevc_decode_nal_sps(&nal->gb, logctx, ps, 1); break;
         case HEVC_NAL_PPS: ff_hevc_decode_nal_pps(&nal->gb, logctx, ps);    break;
-        case HEVC_NAL_TRAIL_R:
-        case HEVC_NAL_TRAIL_N:
-        case HEVC_NAL_TSA_N:
-        case HEVC_NAL_TSA_R:
-        case HEVC_NAL_STSA_N:
-        case HEVC_NAL_STSA_R:
-        case HEVC_NAL_BLA_W_LP:
-        case HEVC_NAL_BLA_W_RADL:
-        case HEVC_NAL_BLA_N_LP:
-        case HEVC_NAL_IDR_W_RADL:
-        case HEVC_NAL_IDR_N_LP:
-        case HEVC_NAL_CRA_NUT:
-        case HEVC_NAL_RADL_N:
-        case HEVC_NAL_RADL_R:
-        case HEVC_NAL_RASL_N:
-        case HEVC_NAL_RASL_R:
-            av_log(logctx, AV_LOG_ERROR, "Invalid NAL unit: %d\n", nal->type);
-            ret = AVERROR_INVALIDDATA;
-            goto done;
+        default:
+            av_log(logctx, AV_LOG_VERBOSE, "Ignoring NAL type %d in extradata\n", nal->type);
             break;
         }
     }



More information about the ffmpeg-cvslog mailing list