Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
F
ffmpeg
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
ffmpeg
Commits
b2c31710
Commit
b2c31710
authored
Apr 29, 2014
by
Anton Khirnov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
lavc: move CODEC_FLAG_NORMALIZE_AQP to mpegvideo
parent
5fccedaa
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
28 additions
and
4 deletions
+28
-4
APIchanges
doc/APIchanges
+4
-0
avcodec.h
libavcodec/avcodec.h
+7
-1
mpegvideo.h
libavcodec/mpegvideo.h
+2
-0
mpegvideo_enc.c
libavcodec/mpegvideo_enc.c
+7
-0
options_table.h
libavcodec/options_table.h
+2
-0
ratecontrol.c
libavcodec/ratecontrol.c
+2
-2
version.h
libavcodec/version.h
+4
-1
No files found.
doc/APIchanges
View file @
b2c31710
...
...
@@ -13,6 +13,10 @@ libavutil: 2013-12-xx
API changes, most recent first:
2014-04-xx - xxxxxxx - lavc 55.50.1 - avcodec.h
Deprecate CODEC_FLAG_NORMALIZE_AQP. It is replaced by the flag "naq" in the
"mpv_flags" private option of the mpegvideo encoders.
2014-04-xx - xxxxxxx - avcodec.h
Deprecate CODEC_FLAG_INPUT_PRESERVED. Its functionality is replaced by passing
reference-counted frames to encoders.
...
...
libavcodec/avcodec.h
View file @
b2c31710
...
...
@@ -691,7 +691,13 @@ typedef struct RcOverride{
#define CODEC_FLAG_PSNR 0x8000 ///< error[?] variables will be set during encoding.
#define CODEC_FLAG_TRUNCATED 0x00010000
/** Input bitstream might be truncated at a random
location instead of only at frame boundaries. */
#define CODEC_FLAG_NORMALIZE_AQP 0x00020000 ///< Normalize adaptive quantization.
#if FF_API_NORMALIZE_AQP
/**
* @deprecated use the flag "naq" in the "mpv_flags" private option of the
* mpegvideo encoders
*/
#define CODEC_FLAG_NORMALIZE_AQP 0x00020000
#endif
#define CODEC_FLAG_INTERLACED_DCT 0x00040000 ///< Use interlaced DCT.
#define CODEC_FLAG_LOW_DELAY 0x00080000 ///< Force low delay.
#define CODEC_FLAG_GLOBAL_HEADER 0x00400000 ///< Place global headers in extradata instead of every keyframe.
...
...
libavcodec/mpegvideo.h
View file @
b2c31710
...
...
@@ -649,6 +649,7 @@ typedef struct MpegEncContext {
#define FF_MPV_FLAG_STRICT_GOP 0x0002
#define FF_MPV_FLAG_QP_RD 0x0004
#define FF_MPV_FLAG_CBP_RD 0x0008
#define FF_MPV_FLAG_NAQ 0x0010
#define FF_MPV_OFFSET(x) offsetof(MpegEncContext, x)
#define FF_MPV_OPT_FLAGS (AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM)
...
...
@@ -658,6 +659,7 @@ typedef struct MpegEncContext {
{ "strict_gop", "Strictly enforce gop size", 0, AV_OPT_TYPE_CONST, { .i64 = FF_MPV_FLAG_STRICT_GOP }, 0, 0, FF_MPV_OPT_FLAGS, "mpv_flags" },\
{ "qp_rd", "Use rate distortion optimization for qp selection", 0, AV_OPT_TYPE_CONST, { .i64 = FF_MPV_FLAG_QP_RD }, 0, 0, FF_MPV_OPT_FLAGS, "mpv_flags" },\
{ "cbp_rd", "use rate distortion optimization for CBP", 0, AV_OPT_TYPE_CONST, { .i64 = FF_MPV_FLAG_CBP_RD }, 0, 0, FF_MPV_OPT_FLAGS, "mpv_flags" },\
{ "naq", "normalize adaptive quantization", 0, AV_OPT_TYPE_CONST, { .i64 = FF_MPV_FLAG_NAQ }, 0, 0, FF_MPV_OPT_FLAGS, "mpv_flags" },\
{ "luma_elim_threshold", "single coefficient elimination threshold for luminance (negative values also consider dc coefficient)",\
FF_MPV_OFFSET(luma_elim_threshold), AV_OPT_TYPE_INT, { .i64 = 0 }, INT_MIN, INT_MAX, FF_MPV_OPT_FLAGS },\
{ "chroma_elim_threshold", "single coefficient elimination threshold for chrominance (negative values also consider dc coefficient)",\
...
...
libavcodec/mpegvideo_enc.c
View file @
b2c31710
...
...
@@ -780,6 +780,13 @@ av_cold int ff_MPV_encode_init(AVCodecContext *avctx)
FF_ENABLE_DEPRECATION_WARNINGS
;
#endif
#if FF_API_NORMALIZE_AQP
FF_DISABLE_DEPRECATION_WARNINGS
if
(
avctx
->
flags
&
CODEC_FLAG_NORMALIZE_AQP
)
s
->
mpv_flags
|=
FF_MPV_FLAG_NAQ
;
FF_ENABLE_DEPRECATION_WARNINGS
;
#endif
if
(
avctx
->
b_frame_strategy
==
2
)
{
for
(
i
=
0
;
i
<
s
->
max_b_frames
+
2
;
i
++
)
{
s
->
tmp_frames
[
i
]
=
av_frame_alloc
();
...
...
libavcodec/options_table.h
View file @
b2c31710
...
...
@@ -63,7 +63,9 @@ static const AVOption avcodec_options[] = {
{
"emu_edge"
,
"do not draw edges"
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
CODEC_FLAG_EMU_EDGE
},
INT_MIN
,
INT_MAX
,
0
,
"flags"
},
{
"psnr"
,
"error[?] variables will be set during encoding"
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
CODEC_FLAG_PSNR
},
INT_MIN
,
INT_MAX
,
V
|
E
,
"flags"
},
{
"truncated"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
CODEC_FLAG_TRUNCATED
},
INT_MIN
,
INT_MAX
,
0
,
"flags"
},
#if FF_API_NORMALIZE_AQP
{
"naq"
,
"normalize adaptive quantization"
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
CODEC_FLAG_NORMALIZE_AQP
},
INT_MIN
,
INT_MAX
,
V
|
E
,
"flags"
},
#endif
{
"ildct"
,
"use interlaced DCT"
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
CODEC_FLAG_INTERLACED_DCT
},
INT_MIN
,
INT_MAX
,
V
|
E
,
"flags"
},
{
"low_delay"
,
"force low delay"
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
CODEC_FLAG_LOW_DELAY
},
INT_MIN
,
INT_MAX
,
V
|
D
|
E
,
"flags"
},
{
"global_header"
,
"place global headers in extradata instead of every keyframe"
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
CODEC_FLAG_GLOBAL_HEADER
},
INT_MIN
,
INT_MAX
,
V
|
A
|
E
,
"flags"
},
...
...
libavcodec/ratecontrol.c
View file @
b2c31710
...
...
@@ -672,7 +672,7 @@ static void adaptive_quantization(MpegEncContext *s, double q)
}
/* handle qmin/qmax clipping */
if
(
s
->
flags
&
CODEC_FLAG_NORMALIZE_AQP
)
{
if
(
s
->
mpv_flags
&
FF_MPV_FLAG_NAQ
)
{
float
factor
=
bits_sum
/
cplx_sum
;
for
(
i
=
0
;
i
<
s
->
mb_num
;
i
++
)
{
float
newq
=
q
*
cplx_tab
[
i
]
/
bits_tab
[
i
];
...
...
@@ -697,7 +697,7 @@ static void adaptive_quantization(MpegEncContext *s, double q)
float
newq
=
q
*
cplx_tab
[
i
]
/
bits_tab
[
i
];
int
intq
;
if
(
s
->
flags
&
CODEC_FLAG_NORMALIZE_AQP
)
{
if
(
s
->
mpv_flags
&
FF_MPV_FLAG_NAQ
)
{
newq
*=
bits_sum
/
cplx_sum
;
}
...
...
libavcodec/version.h
View file @
b2c31710
...
...
@@ -30,7 +30,7 @@
#define LIBAVCODEC_VERSION_MAJOR 55
#define LIBAVCODEC_VERSION_MINOR 50
#define LIBAVCODEC_VERSION_MICRO
0
#define LIBAVCODEC_VERSION_MICRO
1
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
LIBAVCODEC_VERSION_MINOR, \
...
...
@@ -132,5 +132,8 @@
#ifndef FF_API_INPUT_PRESERVED
#define FF_API_INPUT_PRESERVED (LIBAVCODEC_VERSION_MAJOR < 57)
#endif
#ifndef FF_API_NORMALIZE_AQP
#define FF_API_NORMALIZE_AQP (LIBAVCODEC_VERSION_MAJOR < 57)
#endif
#endif
/* AVCODEC_VERSION_H */
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment