[FFmpeg-cvslog] avcodec/videotoolbox: create avcC even when h264 extradata is missing

Aman Gupta git at videolan.org
Tue Nov 14 00:36:57 EET 2017


ffmpeg | branch: master | Aman Gupta <aman at tmm1.net> | Mon Sep 25 16:52:35 2017 -0700| [403d10a8b3cd9c0c9a4a034b95a4cb5ffc4b1112] | committer: Aman Gupta

avcodec/videotoolbox: create avcC even when h264 extradata is missing

Removes the avctx->extradata_size requirement when creating avcC/hvcC, since
avctx->extradata is only used in the esds code path.

This fixes an issue where the VideoToolbox decoder would not work unless
avformat_find_stream_info() was called.

Signed-off-by: Aman Gupta <aman at tmm1.net>

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

 libavcodec/videotoolbox.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/libavcodec/videotoolbox.c b/libavcodec/videotoolbox.c
index c24f5aa3f3..7e915a4e83 100644
--- a/libavcodec/videotoolbox.c
+++ b/libavcodec/videotoolbox.c
@@ -702,7 +702,7 @@ static CFDictionaryRef videotoolbox_decoder_config_create(CMVideoCodecType codec
                          kVTVideoDecoderSpecification_RequireHardwareAcceleratedVideoDecoder,
                          kCFBooleanTrue);
 
-    if (avctx->extradata_size) {
+    if (1) {
         CFMutableDictionaryRef avc_info;
         CFDataRef data = NULL;
 
@@ -713,7 +713,8 @@ static CFDictionaryRef videotoolbox_decoder_config_create(CMVideoCodecType codec
 
         switch (codec_type) {
         case kCMVideoCodecType_MPEG4Video :
-            data = videotoolbox_esds_extradata_create(avctx);
+            if (avctx->extradata_size)
+                data = videotoolbox_esds_extradata_create(avctx);
             if (data)
                 CFDictionarySetValue(avc_info, CFSTR("esds"), data);
             break;



More information about the ffmpeg-cvslog mailing list