[FFmpeg-cvslog] avformat/mpegtsenc: write format_identifier HEVC for HEVC streams

Marton Balint git at videolan.org
Fri Mar 1 23:43:30 EET 2019


ffmpeg | branch: master | Marton Balint <cus at passwd.hu> | Sat Feb 23 00:10:30 2019 +0100| [837f2c97984a259f8fef8be13569f937fa3513f1] | committer: Marton Balint

avformat/mpegtsenc: write format_identifier HEVC for HEVC streams

This improves compatibility with some consumer (LG WebOS) TVs which apparently
search a HEVC descriptor (which our mpegts muxer can't generate) or a format
identifier.

Since the HEVC format identifier is not registered (but used in the wild), it is
not written if strict_std_compliance is higher than normal.

This fixes the issue in ticket #7744.

Signed-off-by: Marton Balint <cus at passwd.hu>

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

 libavformat/mpegtsenc.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/libavformat/mpegtsenc.c b/libavformat/mpegtsenc.c
index 099d003f42..fc0ea225c6 100644
--- a/libavformat/mpegtsenc.c
+++ b/libavformat/mpegtsenc.c
@@ -606,6 +606,8 @@ static int mpegts_write_pmt(AVFormatContext *s, MpegTSService *service)
                 put_registration_descriptor(&q, MKTAG('d', 'r', 'a', 'c'));
             } else if (stream_type == STREAM_TYPE_VIDEO_VC1) {
                 put_registration_descriptor(&q, MKTAG('V', 'C', '-', '1'));
+            } else if (stream_type == STREAM_TYPE_VIDEO_HEVC && s->strict_std_compliance <= FF_COMPLIANCE_NORMAL) {
+                put_registration_descriptor(&q, MKTAG('H', 'E', 'V', 'C'));
             }
             break;
         case AVMEDIA_TYPE_DATA:



More information about the ffmpeg-cvslog mailing list