h->param.i_dpb_size = 1;
}
- if( h->param.i_frame_packing < -1 || h->param.i_frame_packing > 6 )
+ if( h->param.i_frame_packing < -1 || h->param.i_frame_packing > 7 )
{
x264_log( h, X264_LOG_WARNING, "ignoring unknown frame packing value\n" );
h->param.i_frame_packing = -1;
}
+ if( h->param.i_frame_packing == 7 &&
+ ((h->param.i_width - h->param.crop_rect.i_left - h->param.crop_rect.i_right) % 3 ||
+ (h->param.i_height - h->param.crop_rect.i_top - h->param.crop_rect.i_bottom) % 3) )
+ {
+ x264_log( h, X264_LOG_ERROR, "cropped resolution %dx%d not compatible with tile format frame packing\n",
+ h->param.i_width - h->param.crop_rect.i_left - h->param.crop_rect.i_right,
+ h->param.i_height - h->param.crop_rect.i_top - h->param.crop_rect.i_bottom );
+ return -1;
+ }
/* Detect default ffmpeg settings and terminate with an error. */
if( b_open )
" - 3: side by side - L is on the left, R on the right\n"
" - 4: top bottom - L is on top, R on bottom\n"
" - 5: frame alternation - one view per frame\n"
- " - 6: mono - 2D frame without any frame packing\n" );
+ " - 6: mono - 2D frame without any frame packing\n"
+ " - 7: tile format - L is on top-left, R split across\n" );
H0( "\n" );
H0( "Ratecontrol:\n" );
H0( "\n" );
#include "x264_config.h"
-#define X264_BUILD 145
+#define X264_BUILD 146
/* Application developers planning to link against a shared library version of
* libx264 from a Microsoft Visual Studio or similar development environment