Lines Matching refs:vst
768 RMDemuxContext *rm, RMStream *vst, in rm_assemble_video_frame() argument
818 if((seq & 0x7F) == 1 || vst->curpic_num != pic_num){ in rm_assemble_video_frame()
823 vst->slices = ((hdr & 0x3F) << 1) + 1; in rm_assemble_video_frame()
824 vst->videobufsize = len2 + 8*vst->slices + 1; in rm_assemble_video_frame()
825 av_packet_unref(&vst->pkt); //FIXME this should be output. in rm_assemble_video_frame()
826 if ((ret = av_new_packet(&vst->pkt, vst->videobufsize)) < 0) in rm_assemble_video_frame()
828 vst->videobufpos = 8*vst->slices + 1; in rm_assemble_video_frame()
829 vst->cur_slice = 0; in rm_assemble_video_frame()
830 vst->curpic_num = pic_num; in rm_assemble_video_frame()
831 vst->pktpos = avio_tell(pb); in rm_assemble_video_frame()
836 if(++vst->cur_slice > vst->slices) { in rm_assemble_video_frame()
837 av_log(s, AV_LOG_ERROR, "cur slice %d, too large\n", vst->cur_slice); in rm_assemble_video_frame()
840 if(!vst->pkt.data) in rm_assemble_video_frame()
842 AV_WL32(vst->pkt.data - 7 + 8*vst->cur_slice, 1); in rm_assemble_video_frame()
843 AV_WL32(vst->pkt.data - 3 + 8*vst->cur_slice, vst->videobufpos - 8*vst->slices - 1); in rm_assemble_video_frame()
844 if(vst->videobufpos + len > vst->videobufsize) { in rm_assemble_video_frame()
848 if (avio_read(pb, vst->pkt.data + vst->videobufpos, len) != len) in rm_assemble_video_frame()
850 vst->videobufpos += len; in rm_assemble_video_frame()
853 if (type == 2 || vst->videobufpos == vst->videobufsize) { in rm_assemble_video_frame()
854 vst->pkt.data[0] = vst->cur_slice-1; in rm_assemble_video_frame()
855 av_packet_move_ref(pkt, &vst->pkt); in rm_assemble_video_frame()
856 if(vst->slices != vst->cur_slice) //FIXME find out how to set slices correct from the begin in rm_assemble_video_frame()
857 memmove(pkt->data + 1 + 8*vst->cur_slice, pkt->data + 1 + 8*vst->slices, in rm_assemble_video_frame()
858 vst->videobufpos - 1 - 8*vst->slices); in rm_assemble_video_frame()
859 av_shrink_packet(pkt, vst->videobufpos + 8*(vst->cur_slice - vst->slices)); in rm_assemble_video_frame()
861 pkt->pos = vst->pktpos; in rm_assemble_video_frame()
862 vst->slices = 0; in rm_assemble_video_frame()