summaryrefslogtreecommitdiff
path: root/libavformat/spdifenc.c
Commit message (Collapse)AuthorAge
* av(format|device): Add const to muxer packet data pointersAndreas Rheinhardt2022-07-09
| | | | | | | The packets given to muxers need not be writable, so it is best to access them via const uint8_t*. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/ac3: Move non-(de|en)coder-only parts out of ac3.hAndreas Rheinhardt2022-05-15
| | | | | | | | | | Move AC3HeaderInfo into ac3_parser_internal.h and the rest into a new header ac3defs.h. This also breaks an include cycle of ac3.h and ac3tab.h (the latter now only needs ac3defs.h). Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/dca: Unavpriv dca_sample_ratesAndreas Rheinhardt2022-01-04
| | | | | | | | | | | | | | | Said table is 64 bytes long and exported so that it can be used both in libavcodec and libavformat. This commit stops doing so and instead duplicates it for shared builds, because the overhead of exporting the symbol is bigger than 64 bytes. It consists of the length of the name of the symbol (2x24 bytes), two entries in .dynsym (2x24 bytes), two entries for symbol version (2x2 bytes), one hash value in the exporting library (4 bytes) in addition to one entry in the importing library's .got and .rela.dyn (8 + 24 bytes). (The above numbers are for a Linux/GNU/Elf system; the numbers for other platforms may be different.) Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat: Constify all muxer/demuxersAndreas Rheinhardt2021-04-27
| | | | | | | This is possible now that the next-API is gone. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/spdifenc: Fix leak upon errorAndreas Rheinhardt2021-02-27
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avformat/spdifenc: fix TrueHD streams over 48kHzAnssi Hannula2020-02-20
| | | | | | | | Commit 36e156bef02 ("avformat/spdifenc: fix handling of large TrueHD frame") added an obviously incorrect bitshift that caused incorrect samples-per-frame calculation for TrueHD streams over 48kHz. Fix that.
* avformat/spdifenc: fix handling of large TrueHD framesAnssi Hannula2020-02-20
| | | | | | | | | | | | | | | | | | | | | The TrueHD IEC 61937 encapsulation code uses a very naive method of always inserting 24 TrueHD frames evenly in a MAT frame. This does not work for larger frames as they may exceed the size of 1/24th of a MAT frame. To fix that, use the input_timing field in the TrueHD frame to determine the proper position of the TrueHD frame in the MAT frame. That field is basically a dts field, telling the time to feed this frame to the decoder in sample count units. This can cause a TrueHD frame to be split between two MAT frames, so a second concatenation hd_buf is added, alternating with the first buffer. Large frames are preceded by smaller frames that have input_timing values that cause the frames to be sent out faster than the nominal rate (i.e. increasing decoder latency, long decoder buffer), allowing the larger frames to then be sent out slower than the nominal rate as the decoder has enough data buffered to keep it busy.
* avformat/spdifenc: make hd_buf an arrayAnssi Hannula2020-02-20
| | | | | | | | This is preparation for adding a second hd_buf in a followup commit. Also, slightly improve the comments for hd_buf_x members to clarify which ones are actually used and kept up-to-date depending on which codec is being muxed.
* avformat/spdifenc: Replace write_trailer by deinitAndreas Rheinhardt2019-12-26
| | | | | | | | The write_trailer function doesn't write anything anyway. It only frees memory. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* lavf/spdifenc: Do not overwrite buffer when muxing TrueHD.Carl Eugen Hoyos2019-03-20
| | | | | | Fixes ticket #7733. Tested-by: Moritz Barsnick
* spdifenc: support ac3 core+eac3 dependent streamsHendrik Leppkes2018-04-11
| | | | | | | | | Such streams are found on Blu-ray, and identified as EAC3 type in avformat, while the bitstream of the core stream is actually a pure AC3 frame. Adjust the parsing accordingly, since AC3 frames always hold 6 blocks and the numblkscod syntax element is not present.
* Merge commit 'b5f19f7478492307e4b4763aeac3180faf50e17f'James Almer2017-10-30
|\ | | | | | | | | | | | | * commit 'b5f19f7478492307e4b4763aeac3180faf50e17f': aac: Split function to parse ADTS header data into public and private part Merged-by: James Almer <jamrial@gmail.com>
| * aac: Split function to parse ADTS header data into public and private partDiego Biurrun2017-05-02
| | | | | | | | | | | | This makes the currently semi-public avpriv_aac_parse_header() function private to libavcodec and adds a proper public API function to return the parts of the ADTS header required in libavformat.
* | Merge commit '67deba8a416d818f3d95aef0aa916589090396e2'Clément Bœsch2017-03-31
|\| | | | | | | | | | | | | * commit '67deba8a416d818f3d95aef0aa916589090396e2': Use avpriv_report_missing_feature() where appropriate Merged-by: Clément Bœsch <cboesch@gopro.com>
| * Use avpriv_report_missing_feature() where appropriateDiego Biurrun2016-11-08
| |
| * Mark read-only tables as staticDiego Biurrun2016-05-05
| |
* | Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb'Clément Bœsch2016-06-21
|\| | | | | | | | | | | | | * commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb': cosmetics: Fix spelling mistakes Merged-by: Clément Bœsch <u@pkh.me>
| * cosmetics: Fix spelling mistakesVittorio Giovara2016-05-04
| | | | | | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* | Merge commit '9200514ad8717c63f82101dc394f4378854325bf'Derek Buitenhuis2016-04-10
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '9200514ad8717c63f82101dc394f4378854325bf': lavf: replace AVStream.codec with AVStream.codecpar This has been a HUGE effort from: - Derek Buitenhuis <derek.buitenhuis@gmail.com> - Hendrik Leppkes <h.leppkes@gmail.com> - wm4 <nfxjfg@googlemail.com> - Clément Bœsch <clement@stupeflix.com> - James Almer <jamrial@gmail.com> - Michael Niedermayer <michael@niedermayer.cc> - Rostislav Pehlivanov <atomnuker@gmail.com> Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
| * lavf: replace AVStream.codec with AVStream.codecparAnton Khirnov2016-02-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, AVStream contains an embedded AVCodecContext instance, which is used by demuxers to export stream parameters to the caller and by muxers to receive stream parameters from the caller. It is also used internally as the codec context that is passed to parsers. In addition, it is also widely used by the callers as the decoding (when demuxer) or encoding (when muxing) context, though this has been officially discouraged since Libav 11. There are multiple important problems with this approach: - the fields in AVCodecContext are in general one of * stream parameters * codec options * codec state However, it's not clear which ones are which. It is consequently unclear which fields are a demuxer allowed to set or a muxer allowed to read. This leads to erratic behaviour depending on whether decoding or encoding is being performed or not (and whether it uses the AVStream embedded codec context). - various synchronization issues arising from the fact that the same context is used by several different APIs (muxers/demuxers, parsers, bitstream filters and encoders/decoders) simultaneously, with there being no clear rules for who can modify what and the different processes being typically delayed with respect to each other. - avformat_find_stream_info() making it necessary to support opening and closing a single codec context multiple times, thus complicating the semantics of freeing various allocated objects in the codec context. Those problems are resolved by replacing the AVStream embedded codec context with a newly added AVCodecParameters instance, which stores only the stream parameters exported by the demuxers or read by the muxers.
* | lavf/spdifenc: Support MLP encapsulation.David Monro2016-02-14
| | | | | | | | | | | | Fixes bug 821. Signed-off-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
* | Merge commit '059a934806d61f7af9ab3fd9f74994b838ea5eba'Michael Niedermayer2015-07-27
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '059a934806d61f7af9ab3fd9f74994b838ea5eba': lavc: Consistently prefix input buffer defines Conflicts: doc/examples/decoding_encoding.c libavcodec/4xm.c libavcodec/aac_adtstoasc_bsf.c libavcodec/aacdec.c libavcodec/aacenc.c libavcodec/ac3dec.h libavcodec/asvenc.c libavcodec/avcodec.h libavcodec/avpacket.c libavcodec/dvdec.c libavcodec/ffv1enc.c libavcodec/g2meet.c libavcodec/gif.c libavcodec/h264.c libavcodec/h264_mp4toannexb_bsf.c libavcodec/huffyuvdec.c libavcodec/huffyuvenc.c libavcodec/jpeglsenc.c libavcodec/libxvid.c libavcodec/mdec.c libavcodec/motionpixels.c libavcodec/mpeg4videodec.c libavcodec/mpegvideo.c libavcodec/noise_bsf.c libavcodec/nuv.c libavcodec/nvenc.c libavcodec/options.c libavcodec/parser.c libavcodec/pngenc.c libavcodec/proresenc_kostya.c libavcodec/qsvdec.c libavcodec/svq1enc.c libavcodec/tiffenc.c libavcodec/truemotion2.c libavcodec/utils.c libavcodec/utvideoenc.c libavcodec/vc1dec.c libavcodec/wmalosslessdec.c libavformat/adxdec.c libavformat/aiffdec.c libavformat/apc.c libavformat/apetag.c libavformat/avidec.c libavformat/bink.c libavformat/cafdec.c libavformat/flvdec.c libavformat/id3v2.c libavformat/isom.c libavformat/matroskadec.c libavformat/mov.c libavformat/mpc.c libavformat/mpc8.c libavformat/mpegts.c libavformat/mvi.c libavformat/mxfdec.c libavformat/mxg.c libavformat/nutdec.c libavformat/oggdec.c libavformat/oggparsecelt.c libavformat/oggparseflac.c libavformat/oggparseopus.c libavformat/oggparsespeex.c libavformat/omadec.c libavformat/rawdec.c libavformat/riffdec.c libavformat/rl2.c libavformat/rmdec.c libavformat/rtpdec_latm.c libavformat/rtpdec_mpeg4.c libavformat/rtpdec_qdm2.c libavformat/rtpdec_svq3.c libavformat/sierravmd.c libavformat/smacker.c libavformat/smush.c libavformat/spdifenc.c libavformat/takdec.c libavformat/tta.c libavformat/utils.c libavformat/vqf.c libavformat/westwood_vqa.c libavformat/xmv.c libavformat/xwma.c libavformat/yop.c Merged-by: Michael Niedermayer <michael@niedermayer.cc>
| * lavc: Consistently prefix input buffer definesVittorio Giovara2015-07-27
| | | | | | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* | Merge commit '25f613f8be3b51e4396b93cda131e4631ba54302'Michael Niedermayer2015-03-04
|\| | | | | | | | | | | | | | | | | | | | | * commit '25f613f8be3b51e4396b93cda131e4631ba54302': dca: Move syncword definitions to a separate header Conflicts: libavcodec/dca_parser.c libavformat/dtsdec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * dca: Move syncword definitions to a separate headerDiego Biurrun2015-03-04
| |
* | Merge commit 'd92024f18fa3d69937cb2575f3a8bf973df02430'Michael Niedermayer2014-03-11
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'd92024f18fa3d69937cb2575f3a8bf973df02430': lavf: more correct printf format specifiers Conflicts: libavformat/asfdec.c libavformat/cafdec.c libavformat/dxa.c libavformat/framecrcenc.c libavformat/hnm.c libavformat/iff.c libavformat/mov.c libavformat/mxfdec.c libavformat/rmdec.c libavformat/rpl.c libavformat/smacker.c libavformat/xmv.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * lavf: more correct printf format specifiersDiego Biurrun2014-03-11
| |
| * lavf: Don't explicitly flush after each written packet in muxersClément Bœsch2013-09-16
| | | | | | | | | | | | | | | | Since 596e5d4783, this is not necessary anymore. It also allows to actually disable the flushing, improving write performance (but possibly giving worse latency in real-time streaming). Signed-off-by: Martin Storsjö <martin@martin.st>
* | avformat/spdifenc make const tables static constMichael Niedermayer2013-08-06
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Rename "AVClass class" as "AVClass component_class".Carl Eugen Hoyos2013-06-30
| | | | | | | | The aix header math.h defines "extern int class()" for C.
* | lavf: remove some flushing in write_packet muxers callbacks.Clément Bœsch2013-04-14
| | | | | | | | | | Since 4f112a8e3, this is not necessary anymore. Also, it allows to actually disable the flushing.
* | Merge commit '1ecdf8912b9ced51b3267cdcdce5e394d0a3bf8e'Michael Niedermayer2013-03-14
|\| | | | | | | | | | | | | | | | | | | * commit '1ecdf8912b9ced51b3267cdcdce5e394d0a3bf8e': avformat: av_log_ask_for_sample() ---> avpriv_request_sample() Conflicts: libavformat/mxfdec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * avformat: av_log_ask_for_sample() ---> avpriv_request_sample()Diego Biurrun2013-03-13
| |
* | Merge commit 'a4472ac01e86f9fae5adb9034f2777b86a9c5480'Michael Niedermayer2013-03-13
|\| | | | | | | | | | | | | | | | | | | | | * commit 'a4472ac01e86f9fae5adb9034f2777b86a9c5480': Add informative messages to av_log_ask_for_sample calls lacking them anm: Get rid of some very silly goto statements Conflicts: libavformat/anm.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Add informative messages to av_log_ask_for_sample calls lacking themDiego Biurrun2013-03-12
| |
* | Merge commit 'f3298f12997eb4b7ad203766f768f92e3dd72a2a'Michael Niedermayer2012-12-24
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'f3298f12997eb4b7ad203766f768f92e3dd72a2a': Return proper error code after av_log_ask_for_sample() configure: cosmetics: Separate hwaccel dependencies from decoders/encoders oggdec: check memory allocation Conflicts: configure libavcodec/pictordec.c libavformat/anm.c libavformat/oggdec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Return proper error code after av_log_ask_for_sample()Diego Biurrun2012-12-23
| |
* | Merge commit '511cf612ac979f536fd65e14603a87ca5ad435f3'Michael Niedermayer2012-12-21
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '511cf612ac979f536fd65e14603a87ca5ad435f3': miscellaneous typo fixes Conflicts: libavcodec/4xm.c libavcodec/lagarith.c libavcodec/parser.c libavcodec/ratecontrol.c libavcodec/shorten.c libavcodec/vda_h264.c libavformat/dvenc.c libavformat/wtv.c tools/patcheck Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * miscellaneous typo fixesDiego Biurrun2012-12-21
| |
* | Merge commit 'e6153f173a49e5bfa70b0c04d2f82930533597b9'Michael Niedermayer2012-09-05
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'e6153f173a49e5bfa70b0c04d2f82930533597b9': avopt: Store defaults for AV_OPT_TYPE_INT in the i64 union member Conflicts: libavcodec/libopenjpegdec.c libavcodec/libopenjpegenc.c libavcodec/libx264.c libavcodec/mpeg12enc.c libavcodec/options_table.h libavcodec/snowenc.c libavcodec/tiffenc.c libavdevice/v4l2.c libavdevice/x11grab.c libavfilter/af_amix.c libavfilter/af_asyncts.c libavfilter/af_join.c libavfilter/buffersrc.c libavfilter/src_movie.c libavfilter/vf_delogo.c libavfilter/vf_drawtext.c libavformat/http.c libavformat/img2dec.c libavformat/img2enc.c libavformat/movenc.c libavformat/mpegenc.c libavformat/mpegtsenc.c libavformat/options_table.h libavformat/segment.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * avopt: Store defaults for AV_OPT_TYPE_INT in the i64 union memberMartin Storsjö2012-09-04
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit 'd58dd4b5b5d31cfd4092e38a5f2c894eee2ab078'Michael Niedermayer2012-09-05
|\| | | | | | | | | | | | | | | | | | | | | | | * commit 'd58dd4b5b5d31cfd4092e38a5f2c894eee2ab078': avopt: Store defaults for AV_OPT_TYPE_FLAGS in the i64 union member Conflicts: libavcodec/libvpxenc.c libavcodec/options_table.h libavfilter/vf_drawtext.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * avopt: Store defaults for AV_OPT_TYPE_FLAGS in the i64 union memberMartin Storsjö2012-09-04
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '124134e42455763b28cc346fed1d07017a76e84e'Michael Niedermayer2012-09-05
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '124134e42455763b28cc346fed1d07017a76e84e': avopt: Store defaults for AV_OPT_TYPE_CONST in the i64 union member Conflicts: libavcodec/aacenc.c libavcodec/libopenjpegenc.c libavcodec/options_table.h libavdevice/bktr.c libavdevice/v4l2.c libavdevice/x11grab.c libavfilter/af_amix.c libavfilter/vf_drawtext.c libavformat/movenc.c libavformat/options_table.h libavutil/opt.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * avopt: Store defaults for AV_OPT_TYPE_CONST in the i64 union memberMartin Storsjö2012-09-04
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '36ef5369ee9b336febc2c270f8718cec4476cb85'Michael Niedermayer2012-08-07
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '36ef5369ee9b336febc2c270f8718cec4476cb85': Replace all CODEC_ID_* with AV_CODEC_ID_* lavc: add AV prefix to codec ids. Conflicts: doc/APIchanges doc/examples/decoding_encoding.c doc/examples/muxing.c ffmpeg.c ffprobe.c ffserver.c libavcodec/8svx.c libavcodec/avcodec.h libavcodec/dnxhd_parser.c libavcodec/dvdsubdec.c libavcodec/error_resilience.c libavcodec/h263dec.c libavcodec/libvorbisenc.c libavcodec/mjpeg_parser.c libavcodec/mjpegenc.c libavcodec/mpeg12.c libavcodec/mpeg4videodec.c libavcodec/mpegvideo.c libavcodec/mpegvideo_enc.c libavcodec/pcm.c libavcodec/r210dec.c libavcodec/utils.c libavcodec/v210dec.c libavcodec/version.h libavdevice/alsa-audio-dec.c libavdevice/bktr.c libavdevice/v4l2.c libavformat/asfdec.c libavformat/asfenc.c libavformat/avformat.h libavformat/avidec.c libavformat/caf.c libavformat/electronicarts.c libavformat/flacdec.c libavformat/flvdec.c libavformat/flvenc.c libavformat/framecrcenc.c libavformat/img2.c libavformat/img2dec.c libavformat/img2enc.c libavformat/ipmovie.c libavformat/isom.c libavformat/matroska.c libavformat/matroskadec.c libavformat/matroskaenc.c libavformat/mov.c libavformat/movenc.c libavformat/mp3dec.c libavformat/mpeg.c libavformat/mpegts.c libavformat/mxf.c libavformat/mxfdec.c libavformat/mxfenc.c libavformat/nsvdec.c libavformat/nut.c libavformat/oggenc.c libavformat/pmpdec.c libavformat/rawdec.c libavformat/rawenc.c libavformat/riff.c libavformat/sdp.c libavformat/utils.c libavformat/vocenc.c libavformat/wtv.c libavformat/xmv.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Replace all CODEC_ID_* with AV_CODEC_ID_*Anton Khirnov2012-08-07
| |
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-08-01
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: dca: Switch dca_sample_rates to avpriv_ prefix; it is used across libs ARM: use =const syntax instead of explicit literal pools ARM: use standard syntax for all LDRD/STRD instructions fft: port FFT/IMDCT 3dnow functions to yasm, and disable on x86-64. dct-test: allow to compile without HAVE_INLINE_ASM. x86/dsputilenc: bury inline asm under HAVE_INLINE_ASM. dca: Move tables used outside of dcadec.c to a separate file. dca: Rename dca.c ---> dcadec.c x86: h264dsp: Remove unused variable ff_pb_3_1 apetag: change a forgotten return to return 0 Conflicts: libavcodec/Makefile libavcodec/dca.c libavcodec/x86/fft_3dn.c libavcodec/x86/fft_3dn2.c libavcodec/x86/fft_mmx.asm Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * dca: Switch dca_sample_rates to avpriv_ prefix; it is used across libsDiego Biurrun2012-08-01
| |
| * dca: Move tables used outside of dcadec.c to a separate file.Diego Biurrun2012-08-01
| |