~ubuntu-branches/ubuntu/saucy/x264/saucy-proposed

« back to all changes in this revision

Viewing changes to common/common.h

  • Committer: Package Import Robot
  • Author(s): Rico Tzschichholz
  • Date: 2012-04-29 19:56:17 UTC
  • mfrom: (12.2.7 sid)
  • Revision ID: package-import@ubuntu.com-20120429195617-81ib7q4k3sw4cjwc
Tags: 2:0.123.2189+git35cf912-1
* Update to new upstream snapshot
* Imported Upstream version 0.123.2189+git35cf912
* Regenerate manpage

Show diffs side-by-side

added added

removed removed

Lines of Context:
434
434
    uint8_t ref[4];
435
435
} x264_left_table_t;
436
436
 
 
437
/* Current frame stats */
 
438
typedef struct
 
439
{
 
440
    /* MV bits (MV+Ref+Block Type) */
 
441
    int i_mv_bits;
 
442
    /* Texture bits (DCT coefs) */
 
443
    int i_tex_bits;
 
444
    /* ? */
 
445
    int i_misc_bits;
 
446
    /* MB type counts */
 
447
    int i_mb_count[19];
 
448
    int i_mb_count_i;
 
449
    int i_mb_count_p;
 
450
    int i_mb_count_skip;
 
451
    int i_mb_count_8x8dct[2];
 
452
    int i_mb_count_ref[2][X264_REF_MAX*2];
 
453
    int i_mb_partition[17];
 
454
    int i_mb_cbp[6];
 
455
    int i_mb_pred_mode[4][13];
 
456
    int i_mb_field[3];
 
457
    /* Adaptive direct mv pred */
 
458
    int i_direct_score[2];
 
459
    /* Metrics */
 
460
    int64_t i_ssd[3];
 
461
    double f_ssim;
 
462
    int i_ssim_cnt;
 
463
} x264_frame_stat_t;
 
464
 
437
465
struct x264_t
438
466
{
439
467
    /* encoder parameters */
442
470
    x264_t          *thread[X264_THREAD_MAX+1];
443
471
    int             b_thread_active;
444
472
    int             i_thread_phase; /* which thread to use for the next frame */
 
473
    int             i_thread_idx;   /* which thread this is */
445
474
    int             i_threadslice_start; /* first row in this thread slice */
446
475
    int             i_threadslice_end; /* row after the end of this thread slice */
 
476
    int             i_threadslice_pass; /* which pass of encoding we are on */
447
477
    x264_threadpool_t *threadpool;
 
478
    x264_pthread_mutex_t mutex;
 
479
    x264_pthread_cond_t cv;
448
480
 
449
481
    /* bitstream output */
450
482
    struct
481
513
    int64_t         i_cpb_delay_lookahead;
482
514
 
483
515
    int64_t         i_cpb_delay_pir_offset;
 
516
    int64_t         i_cpb_delay_pir_offset_next;
484
517
 
485
518
    int             b_queued_intra_refresh;
486
519
    int64_t         i_last_idr_pts;
795
828
            /* extra data required for mbaff in mv prediction */
796
829
            int16_t topright_mv[2][3][2];
797
830
            int8_t  topright_ref[2][3];
 
831
 
 
832
            /* current mb deblock strength */
 
833
            uint8_t (*deblock_strength)[8][4];
798
834
        } cache;
799
835
 
800
836
        /* */
832
868
    struct
833
869
    {
834
870
        /* Current frame stats */
835
 
        struct
836
 
        {
837
 
            /* MV bits (MV+Ref+Block Type) */
838
 
            int i_mv_bits;
839
 
            /* Texture bits (DCT coefs) */
840
 
            int i_tex_bits;
841
 
            /* ? */
842
 
            int i_misc_bits;
843
 
            /* MB type counts */
844
 
            int i_mb_count[19];
845
 
            int i_mb_count_i;
846
 
            int i_mb_count_p;
847
 
            int i_mb_count_skip;
848
 
            int i_mb_count_8x8dct[2];
849
 
            int i_mb_count_ref[2][X264_REF_MAX*2];
850
 
            int i_mb_partition[17];
851
 
            int i_mb_cbp[6];
852
 
            int i_mb_pred_mode[4][13];
853
 
            int i_mb_field[3];
854
 
            /* Adaptive direct mv pred */
855
 
            int i_direct_score[2];
856
 
            /* Metrics */
857
 
            int64_t i_ssd[3];
858
 
            double f_ssim;
859
 
            int i_ssim_cnt;
860
 
        } frame;
 
871
        x264_frame_stat_t frame;
861
872
 
862
873
        /* Cumulated stats */
863
874