[Ffmpeg-devel] Re: [Ffmpeg-cvslog] CVS: ffmpeg/libavcodec dv.c, 1.72, 1.73 (original) (raw)
Michael Niedermayer michaelni
Fri Feb 24 09:50:20 CET 2006
- Previous message: [Ffmpeg-devel] Re: [Ffmpeg-cvslog] CVS: ffmpeg/libavcodec dv.c, 1.72, 1.73
- Next message: [Ffmpeg-devel] Re: [Ffmpeg-cvslog] CVS: ffmpeg/libavcodec dv.c, 1.72, 1.73
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hi
On Thu, Feb 23, 2006 at 06:03:19PM -0800, Roman Shaposhnick wrote: [...]
> } else { > + if(b->next[k] >= mbareastart[a+1] && b->next[k]<64){_ _> + for(a2=a+1; b->next[k] >= mbareastart[a2+1]; a2++); > + assert(a2<4);_ _> + assert(b->mb[b->next[k]]);
Why these particular asserts ?
no special reason ...
[...]
> - } while ((vstotalacbits < size[0] + size[1] + size[2] + size[3] + size[4]) &&_ _> - (qnos[0]|qnos[1]|qnos[2]|qnos[3]|qnos[4])); > + if(vstotalacbits >= size[0] + size[1] + size[2] + size[3] + size[4]) > + return; > + } while (qnos[0]|qnos[1]|qnos[2]|qnos[3]|qnos[4]); > + > + > + for(a=2; a==2 || vstotalacbits < size[0]; a+=a){_ _> + b = blks; > + size[0] = 0; > + for (j=0; j<6*5; j++, b++) {_ _> + prev= b->prev[0]; > + for (k= b->next[prev]; k<64; k= b->next[k]) { > + if(b->mb[k] < a && b->mb[k] > -a){ > + b->next[prev] = b->next[k]; > + }else{ > + size[0] += dvrl2vlcsize(k - prev - 1, b->mb[k]); > + prev= k; > + } > + } > + } > + }
Are you sure that we need this chunk of code ? My concern is -- in case where encoder maxes out on all QNOs being 0s -- there's very little we can to do salvage the situation anyway. Or did you have another idea when creating this chunk of code ?
well, IMHO its better to remove the smallest coefficients instead of removing random ones and generating an invalid bittream without EOBs
[...]
Michael
- Previous message: [Ffmpeg-devel] Re: [Ffmpeg-cvslog] CVS: ffmpeg/libavcodec dv.c, 1.72, 1.73
- Next message: [Ffmpeg-devel] Re: [Ffmpeg-cvslog] CVS: ffmpeg/libavcodec dv.c, 1.72, 1.73
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]