From: Vittorio Giovara Date: Tue, 20 Jan 2015 16:15:56 +0000 (+0000) Subject: Add mono frame packing value X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=196cb9ab52af9370fc66a474ffc4a52a75dc5eb4;p=libx264 Add mono frame packing value Defined in 2013-04 edition. --- diff --git a/encoder/encoder.c b/encoder/encoder.c index 644ddb0d..cfaf3cda 100644 --- a/encoder/encoder.c +++ b/encoder/encoder.c @@ -586,7 +586,7 @@ static int x264_validate_parameters( x264_t *h, int b_open ) h->param.i_dpb_size = 1; } - if( h->param.i_frame_packing < -1 || h->param.i_frame_packing > 5 ) + if( h->param.i_frame_packing < -1 || h->param.i_frame_packing > 6 ) { x264_log( h, X264_LOG_WARNING, "ignoring unknown frame packing value\n" ); h->param.i_frame_packing = -1; diff --git a/encoder/set.c b/encoder/set.c index 0cdaf274..9e65e628 100644 --- a/encoder/set.c +++ b/encoder/set.c @@ -663,7 +663,7 @@ void x264_sei_frame_packing_write( x264_t *h, bs_t *s ) bs_write1( &q, quincunx_sampling_flag ); // quincunx_sampling_flag // 0: views are unrelated, 1: left view is on the left, 2: left view is on the right - bs_write ( &q, 6, 1 ); // content_interpretation_type + bs_write ( &q, 6, h->param.i_frame_packing != 6 ); // content_interpretation_type bs_write1( &q, 0 ); // spatial_flipping_flag bs_write1( &q, 0 ); // frame0_flipped_flag diff --git a/output/matroska.c b/output/matroska.c index a74a2741..51dea270 100644 --- a/output/matroska.c +++ b/output/matroska.c @@ -62,10 +62,10 @@ static int open_file( char *psz_filename, hnd_t *p_handle, cli_output_opt_t *opt return 0; } -#define STEREO_COUNT 6 -static const uint8_t stereo_modes[STEREO_COUNT] = {5,9,7,1,3,13}; -static const uint8_t stereo_w_div[STEREO_COUNT] = {1,2,1,2,1,1}; -static const uint8_t stereo_h_div[STEREO_COUNT] = {1,1,2,1,2,1}; +#define STEREO_COUNT 7 +static const uint8_t stereo_modes[STEREO_COUNT] = {5,9,7,1,3,13,0}; +static const uint8_t stereo_w_div[STEREO_COUNT] = {1,2,1,2,1,1,1}; +static const uint8_t stereo_h_div[STEREO_COUNT] = {1,1,2,1,2,1,1}; static int set_param( hnd_t handle, x264_param_t *p_param ) { diff --git a/x264.c b/x264.c index bd657f3c..df15e04f 100644 --- a/x264.c +++ b/x264.c @@ -703,7 +703,8 @@ static void help( x264_param_t *defaults, int longhelp ) " - 2: row alternation - L and R are interlaced by row\n" " - 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" ); + " - 5: frame alternation - one view per frame\n" + " - 6: mono - 2D frame without any frame packing\n" ); H0( "\n" ); H0( "Ratecontrol:\n" ); H0( "\n" ); diff --git a/x264.h b/x264.h index 95417de1..612d0488 100644 --- a/x264.h +++ b/x264.h @@ -41,7 +41,7 @@ #include "x264_config.h" -#define X264_BUILD 144 +#define X264_BUILD 145 /* Application developers planning to link against a shared library version of * libx264 from a Microsoft Visual Studio or similar development environment