FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions | Variables
h264_ps.c File Reference

H.264 / AVC / MPEG4 part10 parameter set decoding. More...

#include "libavutil/imgutils.h"
#include "internal.h"
#include "avcodec.h"
#include "h264.h"
#include "h264data.h"
#include "golomb.h"
#include <assert.h>

Go to the source code of this file.

Macros

#define MAX_LOG2_MAX_FRAME_NUM   (12 + 4)
 
#define MIN_LOG2_MAX_FRAME_NUM   4
 
#define QP(qP, depth)   ( (qP)+6*((depth)-8) )
 
#define CHROMA_QP_TABLE_END(d)
 

Functions

static int decode_hrd_parameters (H264Context *h, SPS *sps)
 
static int decode_vui_parameters (H264Context *h, SPS *sps)
 
static void decode_scaling_list (H264Context *h, uint8_t *factors, int size, const uint8_t *jvt_list, const uint8_t *fallback_list)
 
static void decode_scaling_matrices (H264Context *h, SPS *sps, PPS *pps, int is_sps, uint8_t(*scaling_matrix4)[16], uint8_t(*scaling_matrix8)[64])
 
int ff_h264_decode_seq_parameter_set (H264Context *h)
 Decode SPS.
 
static void build_qp_table (PPS *pps, int t, int index, const int depth)
 
static int more_rbsp_data_in_pps (H264Context *h, PPS *pps)
 
int ff_h264_decode_picture_parameter_set (H264Context *h, int bit_length)
 Decode PPS.
 

Variables

static const AVRational pixel_aspect [17]
 
const uint8_t ff_h264_chroma_qp [7][QP_MAX_NUM+1]
 One chroma qp table for each possible bit depth (8-14).
 
static const uint8_t default_scaling4 [2][16]
 
static const uint8_t default_scaling8 [2][64]
 

Detailed Description

H.264 / AVC / MPEG4 part10 parameter set decoding.

Author
Michael Niedermayer micha.nosp@m.elni.nosp@m.@gmx..nosp@m.at

Definition in file h264_ps.c.

Macro Definition Documentation

#define MAX_LOG2_MAX_FRAME_NUM   (12 + 4)

Definition at line 39 of file h264_ps.c.

Referenced by ff_h264_decode_seq_parameter_set().

#define MIN_LOG2_MAX_FRAME_NUM   4

Definition at line 40 of file h264_ps.c.

Referenced by ff_h264_decode_seq_parameter_set().

#define QP (   qP,
  depth 
)    ( (qP)+6*((depth)-8) )

Definition at line 62 of file h264_ps.c.

Referenced by dering_TMPL(), do_a_deblock_C(), postProcess_TMPL(), and vertX1Filter_TMPL().

#define CHROMA_QP_TABLE_END (   d)
Value:
QP(0,d), QP(1,d), QP(2,d), QP(3,d), QP(4,d), QP(5,d),\
QP(6,d), QP(7,d), QP(8,d), QP(9,d), QP(10,d), QP(11,d),\
QP(12,d), QP(13,d), QP(14,d), QP(15,d), QP(16,d), QP(17,d),\
QP(18,d), QP(19,d), QP(20,d), QP(21,d), QP(22,d), QP(23,d),\
QP(24,d), QP(25,d), QP(26,d), QP(27,d), QP(28,d), QP(29,d),\
QP(29,d), QP(30,d), QP(31,d), QP(32,d), QP(32,d), QP(33,d),\
QP(34,d), QP(34,d), QP(35,d), QP(35,d), QP(36,d), QP(36,d),\
QP(37,d), QP(37,d), QP(37,d), QP(38,d), QP(38,d), QP(38,d),\
QP(39,d), QP(39,d), QP(39,d), QP(39,d)

Definition at line 64 of file h264_ps.c.

Function Documentation

static int decode_hrd_parameters ( H264Context h,
SPS sps 
)
inlinestatic

Definition at line 152 of file h264_ps.c.

Referenced by decode_vui_parameters().

static int decode_vui_parameters ( H264Context h,
SPS sps 
)
inlinestatic

Definition at line 176 of file h264_ps.c.

Referenced by ff_h264_decode_seq_parameter_set().

static void decode_scaling_list ( H264Context h,
uint8_t factors,
int  size,
const uint8_t jvt_list,
const uint8_t fallback_list 
)
static

Definition at line 285 of file h264_ps.c.

Referenced by decode_scaling_matrices().

static void decode_scaling_matrices ( H264Context h,
SPS sps,
PPS pps,
int  is_sps,
uint8_t(*)  scaling_matrix4[16],
uint8_t(*)  scaling_matrix8[64] 
)
static
int ff_h264_decode_seq_parameter_set ( H264Context h)

Decode SPS.

Definition at line 333 of file h264_ps.c.

Referenced by decode_nal_units(), and parse_nal_units().

static void build_qp_table ( PPS pps,
int  t,
int  index,
const int  depth 
)
static

Definition at line 560 of file h264_ps.c.

Referenced by ff_h264_decode_picture_parameter_set().

static int more_rbsp_data_in_pps ( H264Context h,
PPS pps 
)
static

Definition at line 568 of file h264_ps.c.

Referenced by ff_h264_decode_picture_parameter_set().

int ff_h264_decode_picture_parameter_set ( H264Context h,
int  bit_length 
)

Decode PPS.

Definition at line 583 of file h264_ps.c.

Referenced by decode_nal_units(), and parse_nal_units().

Variable Documentation

const AVRational pixel_aspect[17]
static
Initial value:
={
{0, 1},
{1, 1},
{12, 11},
{10, 11},
{16, 11},
{40, 33},
{24, 11},
{20, 11},
{32, 11},
{80, 33},
{18, 11},
{15, 11},
{64, 33},
{160,99},
{4, 3},
{3, 2},
{2, 1},
}

Definition at line 42 of file h264_ps.c.

const uint8_t ff_h264_chroma_qp[7][QP_MAX_NUM+1]

One chroma qp table for each possible bit depth (8-14).

Definition at line 75 of file h264_ps.c.

Referenced by build_qp_table(), and hl_decode_mb().

const uint8_t default_scaling4[2][16]
static
Initial value:
={
{ 6,13,20,28,
13,20,28,32,
20,28,32,37,
28,32,37,42
},{
10,14,20,24,
14,20,24,27,
20,24,27,30,
24,27,30,34
}}

Definition at line 120 of file h264_ps.c.

Referenced by decode_scaling_matrices().

const uint8_t default_scaling8[2][64]
static
Initial value:
={
{ 6,10,13,16,18,23,25,27,
10,11,16,18,23,25,27,29,
13,16,18,23,25,27,29,31,
16,18,23,25,27,29,31,33,
18,23,25,27,29,31,33,36,
23,25,27,29,31,33,36,38,
25,27,29,31,33,36,38,40,
27,29,31,33,36,38,40,42
},{
9,13,15,17,19,21,22,24,
13,13,17,19,21,22,24,25,
15,17,19,21,22,24,25,27,
17,19,21,22,24,25,27,28,
19,21,22,24,25,27,28,30,
21,22,24,25,27,28,30,32,
22,24,25,27,28,30,32,33,
24,25,27,28,30,32,33,35
}}

Definition at line 132 of file h264_ps.c.

Referenced by decode_scaling_matrices().