Hi, On Tue, Jan 10, 2012 at 3:09 PM, Justin Ruggles <[email protected]> wrote: > 4th try at new audio encoding API. > > a few differences: > > I included Ronald's suggestion of got_packet_ptr instead of inspecting > various packet fields to decide whether the output packet is empty. > > I left out passing of the input timestamps to the encoder in the avconv > conversion patch for now because it exposes many timestamp bugs in various > demuxers and breaks FATE. Currently output timestamps are made-up by the > encoder and/or lavf because we don't have a way to pass input timestamps to > the encoder, but with the new API we do, thus exposing any timestamp issues > on the demuxer side. I already fixed a few of the bugs earlier today, but I > still have about 20 failing fate tests to fix before we can start passing > the timestamps to the encoder in avconv or implement encode2() in any > CODEC_CAP_DELAY encoders (which would rely on timestamps from the user). > > I also added code in the avcodec_encode_audio() compatibility code for > removing any side-data from the temp packet. None of the audio encoders > send side-data currently, but having the code there now will ensure we > don't forget to handle it later. > > Thanks, > Justin > > Justin Ruggles (5): > avcodec: add a public function, avcodec_fill_audio_frame(). > avcodec: Add avcodec_encode_audio2() as replacement for > avcodec_encode_audio() > avcodec: bump minor version and add APIChanges for the new audio > encoding API > pcmenc: use AVCodec.encode2() > avconv: use avcodec_encode_audio2() > > avconv.c | 208 ++++++++++++++++--------------- > doc/APIchanges | 8 ++ > libavcodec/avcodec.h | 92 ++++++++++++++- > libavcodec/internal.h | 25 ++++ > libavcodec/pcm.c | 28 +++-- > libavcodec/utils.c | 327 > ++++++++++++++++++++++++++++++++++++++++--------- > libavcodec/version.h | 7 +- > 7 files changed, 524 insertions(+), 171 deletions(-)
I don't have any more comments, and OK'ed all other patches except for the one implementing encode() (because of the missing got_packet_ptr) in the previous version, so I'll take the lame duck approach and OK them all together in a single go here: LGTM. (And I mean that in a good way, I really like the way this code looks, thanks!) Ronald _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
