Thanks for your patience, we've amended some of our patches add resent them.
At 2018-05-26 22:28:27, "Mark Thompson" <s...@jkqxz.net> wrote: >On 26/05/18 05:41, hwren wrote: >> Add Chinese AVS2 video decoder, FFmpeg can make use of the libdavs2 library >> for AVS2 decoding. >> >> Signed-off-by: hwren <hwr...@126.com> >> --- >> [...] >> +static int DumpFrames(AVCodecContext *avctx, davs2_picture_t *pic, >> davs2_seq_info_t *headerset, AVFrame *frm) >> +{ >> + DAVS2Context *cad = avctx->priv_data; >> + avctx->flags |= AV_CODEC_FLAG_TRUNCATED; > >Why this line? we won't send a complete frame to our decoder, so we need to chage the flag. if not, we may get error info. > >> [...] >> + frm->data[i] = frm->buf[i]->data; >> + frm->linesize[i] = pic->width[i] * bytes_per_sample; >> + memcpy(frm->data[i], pic->planes[i], size_plane); > >This is the same format as libavcodec wants, so is there any way to keep a >reference to it so we can avoid this copy? We've tried to make it, while it did not work well. May avoid this copy in the future. > >> [...] >> + buf_ptr += len; >> + buf_size -= len; > >Can you explain how the consuming partial packets works? It looks like if this >consumes part of a packet and they returns a frame, the rest of the packet >will be discarded (because the next call will be given a new packet). Once we decode a frame, indeed, there are still some data left in the packet. so we just move the pointer and decode the next part (decode until our flag turns or out of buf_size range). > >>[...] _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel