[x264-devel] Problem on transform_bypass
Jin Lei
jinleicm at yahoo.com.cn
Mon Oct 18 17:16:45 CEST 2010
Dear all:
I want to apply *transfrom_bypass *mode to a part of macroblocks in
a video(with several sequences concluded), but x264 only support compressing
all the macroblocks of all frames in lossless mode. Therefore, I make some
modification on x264. I try a few methods only to get a yuv output that is
decoded incorrectly. I use JM17.2 and ffmpeg(the version supports high444)
to test my encoded videos. Both of them cannot give the output expected.
The methods I tried are:
1. set *h->sps->b_qpprime_y_zero_transform_bypass=1 *in *
x264_sps_init*(set.c).
set set* h->mb.i_qp=0* at the end of
*x264_macroblock_analyse*(analyse.c),
if some conditions are meet.
And according to the values of the variables metioned
above( *if(h->sps->b_qpprime_y_zero_transform_bypass==1&&set
h->mb.i_qp==0)*), it is judged that whether *h->mb.b_lossless=1* or not,
just after the statement "*h->mb.i_qp=0*"(analyse.c).
2. set *h->sps->b_qpprime_y_zero_transform_bypass=1* in *
x264_sps_init*(set.c).
set *h->mb.i_qp=0* in *x264_macroblock_analyse* before *
x264_mb_analyse_init*(analyse.c), if some conditions are meet.
The x264 program contains serveral statements like
*if(h->mb.b_lossless)
x264_predict_lossless_x*x()* or *if(h->mb.b_lossless)* then the operations
of DCT and quantization are skipped(these results can be get by seaching
reference in vs2005). I add the condition that "*||(h->mb.i_qp==0 &&
h->sps->b_qpprime_y_zero_transform_bypass==1*" into these IFs.
Both of the methods above cannot get the correct result.
Would you please give me some ideas of the right way of achieving the
good results.
Thanks a lot!
your sincerely
JinLei from China
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/x264-devel/attachments/20101018/79755b25/attachment-0001.htm>
More information about the x264-devel
mailing list