[x264-devel] Add mono frame packing value

Vittorio Giovara git at videolan.org
Tue Feb 24 20:37:44 CET 2015


x264 | branch: master | Vittorio Giovara <vittorio.giovara at gmail.com> | Tue Jan 20 16:15:56 2015 +0000| [196cb9ab52af9370fc66a474ffc4a52a75dc5eb4] | committer: Anton Mitrofanov

Add mono frame packing value

Defined in 2013-04 edition.

> http://git.videolan.org/gitweb.cgi/x264.git/?a=commit;h=196cb9ab52af9370fc66a474ffc4a52a75dc5eb4
---

 encoder/encoder.c |    2 +-
 encoder/set.c     |    2 +-
 output/matroska.c |    8 ++++----
 x264.c            |    3 ++-
 x264.h            |    2 +-
 5 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/encoder/encoder.c b/encoder/encoder.c
index 644ddb0..cfaf3cd 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 0cdaf27..9e65e62 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 a74a274..51dea27 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 bd657f3..df15e04 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 95417de..612d048 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



More information about the x264-devel mailing list