summaryrefslogtreecommitdiff
path: root/libavformat/oggenc.c
Commit message (Collapse)AuthorAge
* Merge commit 'f9f34cb9983ec6f4ef119c34b726d3b39c143110'Michael Niedermayer2014-08-23
|\ | | | | | | | | | | | | | | | | | | | | * commit 'f9f34cb9983ec6f4ef119c34b726d3b39c143110': ogg: Use separate classes for the aliases Conflicts: libavformat/oggenc.c See: 2ccc6ff03acc3ca31db1aeb828c747d05b5cb6aa Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * ogg: Use separate classes for the aliasesLuca Barbato2014-08-23
| | | | | | | | Unbreak 051aadeed104ecbe8ee4850ec2d7e5394f5e1ccd
* | Merge commit '051aadeed104ecbe8ee4850ec2d7e5394f5e1ccd'Michael Niedermayer2014-08-22
|\| | | | | | | | | | | | | | | | | | | | | | | | | * commit '051aadeed104ecbe8ee4850ec2d7e5394f5e1ccd': ogg: Provide aliases for Speex, Opus and audio-only ogg Conflicts: Changelog libavformat/oggenc.c libavformat/version.h See: 2ccc6ff03acc3ca31db1aeb828c747d05b5cb6aa Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * ogg: Provide aliases for Speex, Opus and audio-only oggLuca Barbato2014-08-22
| | | | | | | | Since they are aliases for ogg enabling any of them enables ogg as well.
* | Merge commit '194be1f43ea391eb986732707435176e579265aa'Michael Niedermayer2014-06-18
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '194be1f43ea391eb986732707435176e579265aa': lavf: switch to AVStream.time_base as the hint for the muxer timebase Conflicts: doc/APIchanges libavformat/filmstripenc.c libavformat/movenc.c libavformat/mxfenc.c libavformat/oggenc.c libavformat/swf.h libavformat/version.h tests/ref/lavf/mkv Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * lavf: switch to AVStream.time_base as the hint for the muxer timebaseAnton Khirnov2014-06-18
| | | | | | | | | | | | | | | | | | | | | | | | Previously, AVStream.codec.time_base was used for that purpose, which was quite confusing for the callers. This change also opens the path for removing AVStream.codec. The change in the lavf-mkv test is due to the native timebase (1/1000) being used instead of the default one (1/90000), so the packets are now sent to the crc muxer in the same order in which they are demuxed (previously some of them got reordered because of inexact timestamp conversion).
| * oggenc: Set the right AVOption size for the pref_duration optionMartin Storsjö2014-06-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On big endian machines, the default value set via the faulty AVOption ended up as 2^32 times too big. This fixes the fate-lavf-ogg test which currently is broken on big endian machines, broken since 3831362. Since that commit, a final zero-sized packet is written to the ogg muxer in that test, which caused different flushing behaviour on little and big endian depending on whether the pref_duration option was handled as it should or not. CC: libav-stable@libav.org Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '95b7fa1729b93bbb3f4fb85a5c0cb53cf970c3c7'Michael Niedermayer2014-06-04
|\| | | | | | | | | | | | | | | | | | | * commit '95b7fa1729b93bbb3f4fb85a5c0cb53cf970c3c7': oggenc: Support flushing the muxer Conflicts: libavformat/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * oggenc: Support flushing the muxerMartin Storsjö2014-06-04
| | | | | | | | | | | | | | | | | | This allows the caller to write all buffered data to disk, allowing the caller to know at what byte position in the file a certain packet starts (any packet written after the flush will be located after that byte position). Signed-off-by: Martin Storsjö <martin@martin.st>
| * oggenc: Fix the EOS flagMichael Niedermayer2014-05-28
| | | | | | | | | | | | | | | | | | | | | | This corrects the bug that caused the checksums to change in 9767d7c092c890ecc5953452e8a951fd902dd67b. It caused the EOS flag to be set incorrectly; the ogg spec does not allow it to be set in the middle of a logical bitstream. Signed-off-by: Andrew Kelley <superjoe30@gmail.com> Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit 'efcde917af407a6031ecff68edd51fce7b83d104'Michael Niedermayer2014-05-28
|\| | | | | | | | | | | | | | | | | | | * commit 'efcde917af407a6031ecff68edd51fce7b83d104': vorbiscomment: simplify API by using av_dict_count() Conflicts: libavformat/flacenc.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * vorbiscomment: simplify API by using av_dict_count()Anton Khirnov2014-05-28
| |
* | avformat/oggenc: fix EOS flagMichael Niedermayer2014-05-28
| | | | | | | | | | | | | | This corrects the bug that caused the checksums to change in 9767d7c092c890ecc5953452e8a951fd902dd67b Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '9767d7c092c890ecc5953452e8a951fd902dd67b'Michael Niedermayer2014-05-28
|\| | | | | | | | | | | | | | | | | | | * commit '9767d7c092c890ecc5953452e8a951fd902dd67b': oggenc: Flush after writing headers Conflicts: tests/ref/lavf/ogg Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * oggenc: Flush after writing headersAndrew Kelley2014-05-27
| | | | | | | | | | | | | | | | | | | | | | | | | | Before, header information for ogg format files was sent with the first encoded packet. This patch makes it so that it is possible for API users to differentiate between headers and encoded audio. This is useful, for example, when creating an audio stream where you want to send one set of headers for every client that connects and then the encoded stream of audio. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '1d3eb0b5735f6dd72d2bf648455cf06ac7c24bc1'Michael Niedermayer2014-05-28
|\| | | | | | | | | | | | | * commit '1d3eb0b5735f6dd72d2bf648455cf06ac7c24bc1': oggenc: Move ogg_write_pages up above ogg_write_header Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * oggenc: Move ogg_write_pages up above ogg_write_headerAndrew Kelley2014-05-27
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '0c1959b056f6ccaa2eee2c824352ba93c8e36d52'Michael Niedermayer2014-05-15
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '0c1959b056f6ccaa2eee2c824352ba93c8e36d52': lavf: add AVFMT_FLAG_BITEXACT. Conflicts: doc/APIchanges libavformat/avformat.h libavformat/flacenc.c libavformat/movenc.c libavformat/oggenc.c libavformat/options_table.h libavformat/version.h tests/fate/video.mak Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * lavf: add AVFMT_FLAG_BITEXACT.Anton Khirnov2014-05-15
| | | | | | | | | | | | | | | | Use it instead of checking CODEC_FLAG_BITEXACT in the first stream's codec context. Using codec options inside lavf is fragile and can easily break when the muxing codec context is not the encoding context.
* | oggenc: check return value of av_mallocz()James Almer2014-04-04
| | | | | | | | | | Signed-off-by: James Almer <jamrial@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Add an .oga muxer.Carl Eugen Hoyos2014-03-25
| |
* | Merge commit 'b0c2c097e422b9e10a7d856582f8321d28af821e'Michael Niedermayer2014-02-09
|\| | | | | | | | | | | | | * commit 'b0c2c097e422b9e10a7d856582f8321d28af821e': lavf: default .ogg audio to libvorbis if we can Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * lavf: default .ogg audio to libvorbis if we canAndrew Kelley2014-02-09
| | | | | | | | | | | | | | | | | | | | | | | | Since 2007, the Xiph.org Foundation recommends that .ogg only be used for Ogg Vorbis audio files. Source: http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions However we only do it if we have libvorbis available because the built in vorbis encoder is not as good. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* | Add an Opus and a Speex muxer.Carl Eugen Hoyos2013-12-01
| | | | | | | | Fixes ticket #3181.
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2013-11-24
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: Add missing #includes for *INT64_MAX and *INT64_C Conflicts: ffmpeg.c ffmpeg_filter.c ffplay.c libavformat/assdec.c libavformat/avidec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Add missing #includes for *INT64_MAX and *INT64_CDiego Biurrun2013-11-23
| |
* | avformat: remove duplicate includesMichael Niedermayer2013-09-21
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | oggenc: Write stream metadata if availableJames Almer2013-07-28
| | | | | | | | | | Signed-off-by: James Almer <jamrial@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit 'c2cb01d418dd18e1cf997c038d37378d773121be'Michael Niedermayer2013-04-26
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'c2cb01d418dd18e1cf997c038d37378d773121be': lavf: introduce AVFMT_TS_NEGATIVE Conflicts: libavformat/avformat.h libavformat/mux.c tests/ref/lavf/asf tests/ref/lavf/mkv tests/ref/lavf/mpg tests/ref/lavf/ts tests/ref/seek/lavf-asf tests/ref/seek/lavf-mkv tests/ref/seek/lavf-mpg tests/ref/seek/lavf-ts This commit does not change the default ts behaviour, such change will, if its done, be done separately. Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * lavf: introduce AVFMT_TS_NEGATIVELuca Barbato2013-04-25
| | | | | | | | | | | | | | | | | | | | Most formats do not support negative timestamps, shift them to avoid unexpected behaviour and a number of bad crashes. CC:libav-stable@libav.org Signed-off-by: Anton Khirnov <anton@khirnov.net> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | oggenc: Fix pref_duration AVOption typeMichael Niedermayer2013-04-13
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | oggenc: fix "oggstream may be used uninitialized in this function" warningMichael Niedermayer2013-01-29
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2013-01-09
|\| | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: xan: Convert to bytestream2 oggenc: add a page_duration option and deprecate the pagesize option x86: lavr: add SSE2/AVX dither_int_to_float() Conflicts: libavcodec/xan.c libavformat/oggenc.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * oggenc: add a page_duration option and deprecate the pagesize optionJustin Ruggles2013-01-08
| | | | | | | | | | | | | | | | | | | | | | This uses page duration instead of byte size to determine when to buffer the page. Also, it tries to avoid continued pages by buffering the current page if there are already packets in the page and adding the next packet would require it to be continued on a new page. This can improve seeking performance. The default page duration is 1 second, which is much saner than filling all page segments by default.
* | oggenc: remove unneeded null check.Michael Niedermayer2012-11-05
| | | | | | | | | | | | | | The code would have segfaulted before if it where null Fixes CID732218 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | libavformat/oggenc: add {} to complex ifsMichael Niedermayer2012-10-21
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-09-28
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: dwt: Drop unused functions spatial_compose{53|97}i() nutdec: Remove unused and broken debug function stub avcodec: Drop long-deprecated imgconvert.h header Add Opus support to the Ogg muxer. Add Opus codec id and codec description. avformat: Identify anonymous AVIO typedef structs. Conflicts: libavcodec/avcodec.h libavcodec/codec_desc.c libavcodec/imgconvert.h libavcodec/version.h libavformat/oggenc.c libavformat/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Add Opus support to the Ogg muxer.Nathan Caldwell2012-09-27
| | | | | | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* | 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 '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-04-01
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: apedec: check bits <= 32. cavs: Remove unused code. oggenc: fix condition when not to flush due to keyframe granule. oggenc: add pagesize option to set preferred page size libspeexdec: set frame size in libspeex_decode_init() smacker audio: sign-extend the initial 16-bit predicted value Conflicts: libavcodec/apedec.c libavcodec/libspeexdec.c libavformat/oggenc.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * oggenc: fix condition when not to flush due to keyframe granule.Reimar Döffinger2012-03-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous condition of 0 page size was wrong, that would disable the mechanism for all frames at a start of a page, thus some keyframes still would not get their own granule. The real problem is that header packets must not be flushed, but they have (and must have) 0 granule and thus would be detected as keyframes. Add a separate parameter to mark header packets. Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de> Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
| * oggenc: add pagesize option to set preferred page sizeAndres Gonzalez2012-03-30
| | | | | | | | | | | | | | | | When set, if an Ogg stream buffer has enough data, a page is made instead of filling maximum-size pages. Using smaller pages results smaller seek intervals at the expense of higher container overhead. Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-02-25
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: docs: use -bsf:[vas] instead of -[vas]bsf. mpegaudiodec: Prevent premature clipping of mp3 input buffer. lavf: move the packet keyframe setting code. oggenc: free comment header for all codecs lcl: error out if uncompressed input buffer is smaller than framesize. mjpeg: abort decoding if packet is too large. golomb: use HAVE_BITS_REMAINING() macro to prevent infloop on EOF. get_bits: add HAVE_BITS_REMAINING macro. lavf/output-example: use new audio encoding API correctly. lavf/output-example: more proper usage of the new API. tiff: Prevent overreads in the type_sizes array. tiff: Make the TIFF_LONG and TIFF_SHORT types unsigned. apetag: do not leak memory if avio_read() fails apetag: propagate errors. SBR DSP x86: implement SSE sbr_hf_g_filt SBR DSP x86: implement SSE sbr_sum_square_sse SBR DSP: use intptr_t for the ixh parameter. Conflicts: doc/bitstream_filters.texi doc/examples/muxing.c doc/ffmpeg.texi libavcodec/golomb.h libavcodec/x86/Makefile libavformat/oggenc.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * oggenc: free comment header for all codecsJustin Ruggles2012-02-24
| | | | | | | | | | | | fixes a memleak for Vorbis and Theora, where the comment header from avpriv_split_xiph_headers() is replaced by a buffer that must be freed separately.
* | oggenc: fix condition when not to flush due to keyframe granule.Reimar Döffinger2012-02-18
| | | | | | | | | | | | | | | | | | | | | | | | | | The previous condition of 0 page size was wrong, that would disable the mechanism for all frames at a start of a page, thus some keyframes still would not get their own granule. The real problem is that header packets must not be flushed, but they have (and must have) 0 granule and thus would be detected as keyframes. Add a separate parameter to mark header packets. Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
* | Fix Theora-in-ogg keyframe handling.Reimar Döffinger2012-02-12
| | | | | | | | | | | | | | | | | | | | | | To make seeking work correctly, we must write a new granule for each keyframe. Unfortunately we currently have no regression tests due to no included Theora encoder. A test based on -vcodec copy from a Theora FATE sample should probably be added. Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-12-01
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: rtpdec: Templatize the code for different g726 bitrate variants rv40: move loop filter to rv34dsp context lavf: make av_set_pts_info private. rtpdec: Add support for G726 audio rtpdec: Add an init function that can do custom codec context initialization avconv: make copy_tb on by default. matroskadec: don't set codec timebase. rmdec: don't set codec timebase. avconv: compute next_pts from input packet duration when possible. lavf: estimate frame duration from r_frame_rate. avconv: update InputStream.pts in the streamcopy case. Conflicts: avconv.c libavdevice/alsa-audio-dec.c libavdevice/bktr.c libavdevice/fbdev.c libavdevice/libdc1394.c libavdevice/oss_audio.c libavdevice/v4l.c libavdevice/v4l2.c libavdevice/vfwcap.c libavdevice/x11grab.c libavformat/au.c libavformat/eacdata.c libavformat/flvdec.c libavformat/mpegts.c libavformat/mxfenc.c libavformat/rtpdec_g726.c libavformat/wtv.c libavformat/xmv.c Merged-by: Michael Niedermayer <michaelni@gmx.at>