Hi everyone<br><br>I want to encode profile high422 for I422 colorspace today. I use the program which "X264_BUILD" is 118. I set the parameters "input-csp" and "output-csp" all to "i422". But the program stopped and return the message that "resize [error]: not compiled with swscale support". <br>
<br>My encoding parameters as belows:<br>--nal-hrd cbr --pic-struct --tff --profile high422 --level 4.0 --weightp 0 --muxer raw --demuxer raw --input-csp i422 --input-res 720x576 --input-depth 8 --output-csp i422 --rc-lookahead 40 --slices 1 --aq-mode 1 --aq-strength 1.0 --b-pyramid none --8x8dct --mvrange-thread 576 --qcomp 0.1 --ratetol 1.0 --ipratio 1.4 --pbratio 1.3 --bitrate 2000 --vbv-maxrate 2000 --vbv-bufsize 2000 --vbv-init 0.5 --keyint 25 --ref 1 --no-fast-pskip --no-dct-decimate --bframe 2 --b-adapt 2 --psy-rd 1.0:0.0 --direct spatial --filter 0,0 --subme 6 --trellis 1 --analyse p8x8,p4x4,b8x8,i8x8,i4x4 --me hex --seek 0 --frames 250 --threads 0 --log-level error -o G:\auto_422_field_20111128_cbr_framethread.264 H:\Samples\YUV\SD\auto_422.yuv 720x576<br>
<br>I trace the program. At last I find that althought I set "input-csp" and "output-csp" to "i422" but "output csp" equal to 4 and "input csp" equal to 2 in the program. So the program believes it need change colorspace. Finally it returns the error message.<br>
<br>I think the csp order should be same in the program. So the order of the structure "x264_cli_csps[]" should be same as the structure "x264_csp_tab[]".<br><br>I change the structure<br>"const x264_cli_csp_t x264_cli_csps[] = {<br>
[X264_CSP_I420] = { "i420", 3, { 1, .5, .5 }, { 1, .5, .5 }, 2, 2 },<br> [X264_CSP_I422] = { "i422", 3, { 1, .5, .5 }, { 1, 1, 1 }, 2, 1 },<br> [X264_CSP_I444] = { "i444", 3, { 1, 1, 1 }, { 1, 1, 1 }, 1, 1 },<br>
[X264_CSP_YV12] = { "yv12", 3, { 1, .5, .5 }, { 1, .5, .5 }, 2, 2 },<br> [X264_CSP_YV16] = { "yv16", 3, { 1, .5, .5 }, { 1, 1, 1 }, 2, 1 },<br> [X264_CSP_YV24] = { "yv24", 3, { 1, 1, 1 }, { 1, 1, 1 }, 1, 1 },<br>
[X264_CSP_NV12] = { "nv12", 2, { 1, 1 }, { 1, .5 }, 2, 2 },<br> [X264_CSP_NV16] = { "nv16", 2, { 1, 1 }, { 1, 1 }, 2, 1 },<br> [X264_CSP_BGR] = { "bgr", 1, { 3 }, { 1 }, 1, 1 },<br>
[X264_CSP_BGRA] = { "bgra", 1, { 4 }, { 1 }, 1, 1 },<br> [X264_CSP_RGB] = { "rgb", 1, { 3 }, { 1 }, 1, 1 },<br>};"<br>to <br>"const x264_cli_csp_t x264_cli_csps[] = {<br>
[X264_CSP_I420] = { "i420", 3, { 1, .5, .5 }, { 1, .5, .5 }, 2, 2 },<br> [X264_CSP_YV12] = { "yv12", 3, { 1, .5, .5 }, { 1, .5, .5 }, 2, 2 },<br> [X264_CSP_NV12] = { "nv12", 2, { 1, 1 }, { 1, .5 }, 2, 2 },<br>
[X264_CSP_I422] = { "i422", 3, { 1, .5, .5 }, { 1, 1, 1 }, 2, 1 },<br> [X264_CSP_YV16] = { "yv16", 3, { 1, .5, .5 }, { 1, 1, 1 }, 2, 1 },<br> [X264_CSP_NV16] = { "nv16", 2, { 1, 1 }, { 1, 1 }, 2, 1 },<br>
[X264_CSP_I444] = { "i444", 3, { 1, 1, 1 }, { 1, 1, 1 }, 1, 1 },<br> [X264_CSP_YV24] = { "yv24", 3, { 1, 1, 1 }, { 1, 1, 1 }, 1, 1 },<br> [X264_CSP_BGR] = { "bgr", 1, { 3 }, { 1 }, 1, 1 },<br>
[X264_CSP_BGRA] = { "bgra", 1, { 4 }, { 1 }, 1, 1 },<br> [X264_CSP_RGB] = { "rgb", 1, { 3 }, { 1 }, 1, 1 },<br>};" <br>Then I run the program again. This time it encodes high422 successfully. I decode the es file by jm18.0. The decoded yuv file plays well.<br>
<br>Is my comprehension right? <br>Any suggestions are welcome! Thanks a lot!<br><br>alexander tian<br>