On Sat, Aug 22, 2020 at 07:27:30PM +0200, Marton Balint wrote:
> 
> 
> On Sat, 22 Aug 2020, lance.lmw...@gmail.com wrote:
> 
> > On Wed, Jul 22, 2020 at 11:27:38PM +0800, lance.lmw...@gmail.com wrote:
> > > From: Limin Wang <lance.lmw...@gmail.com>
> > > 
> > > copy the atsc ac3 audio in ts like below:
> > > ./ffmpeg -i atsc_audio.ts -c:v copy -c:a copy out.ts
> > > Stream #0:6[0x64](eng): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, 
> > > fltp, 192 kb/s
> > > 
> > > ./ffmpeg -i out.ts
> > > Before:
> > > Stream #0:1[0x101](eng): Audio: ac3 ([129][0][0][0] / 0x0081), 48000 Hz, 
> > > stereo, fltp, 192 kb/s
> > > 
> > > After applied patch:
> > > Stream #0:1[0x101](eng): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 
> > > stereo, fltp, 192 kb/s
> > > 
> > > Signed-off-by: Limin Wang <lance.lmw...@gmail.com>
> > > ---
> > >  libavformat/mpegtsenc.c | 5 +++++
> > >  1 file changed, 5 insertions(+)
> > > 
> > > diff --git a/libavformat/mpegtsenc.c b/libavformat/mpegtsenc.c
> > > index a5b45fb..f060ea6 100644
> > > --- a/libavformat/mpegtsenc.c
> > > +++ b/libavformat/mpegtsenc.c
> > > @@ -535,6 +535,11 @@ static int mpegts_write_pmt(AVFormatContext *s, 
> > > MpegTSService *service)
> > >                      *q++=1; // 1 byte, all flags sets to 0
> > >                      *q++=0; // omit all fields...
> > >                  }
> > > +            } else {
> > > +                if (codec_id == AV_CODEC_ID_AC3)
> > > +                    put_registration_descriptor(&q, MKTAG('A', 'C', '-', 
> > > '3'));
> > > +                else if (codec_id == AV_CODEC_ID_EAC3)
> > > +                    put_registration_descriptor(&q, MKTAG('E', 'A', 'C', 
> > > '3'));
> > >              }
> > >              if (codec_id == AV_CODEC_ID_S302M)
> > >                  put_registration_descriptor(&q, MKTAG('B', 'S', 'S', 
> > > 'D'));
> > > -- 
> > > 1.8.3.1
> > > 
> > 
> > ping the patch, as I'll submit patch to support atsc ac3 descriptor after 
> > that.
> 
> Why is this patch needed?
> 
> https://www.atsc.org/wp-content/uploads/2015/03/A52-2018-1.pdf
> 
> does not seem to require the use of MPEG2 registration descriptor for ATSC.
> 
> I am not saying this is patch is bad, but some valid reason should be found
> to justify it, and the fact that AC3 fourcc is reported is irrelevant, that
> is just fourcc, it can be anything.

Most of my atsc ac3 sample write the mpeg2 descriptor, so I want to keep it 
when copy
the audio stream. By "ATSC Usage of the MPEG-2 Registration Descriptor" by astc:
https://smpte-ra.org/registered-mpeg-ts-ids

It provides a method to uniquely  and unambiguously identify formats of private 
data.
SMPTE is the registration authority for the 32 bit format identifier field, 
guaranteeing that every assigned value will be unique.
https://www.atsc.org/wp-content/uploads/2015/04/t3_548r1.pdf


> 
> Thanks,
> Marton
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

-- 
Thanks,
Limin Wang
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to