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
a2941c8c
Commit
a2941c8c
authored
Apr 29, 2014
by
Anton Khirnov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
lavc: move CODEC_FLAG_MV0 to mpegvideo
parent
64841491
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
31 additions
and
5 deletions
+31
-5
APIchanges
doc/APIchanges
+4
-0
avcodec.h
libavcodec/avcodec.h
+7
-1
motion_est.c
libavcodec/motion_est.c
+3
-2
motion_est_template.c
libavcodec/motion_est_template.c
+2
-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
version.h
libavcodec/version.h
+4
-1
No files found.
doc/APIchanges
View file @
a2941c8c
...
...
@@ -13,6 +13,10 @@ libavutil: 2013-12-xx
API changes, most recent first:
2014-04-xx - xxxxxxx - lavc 55.50.3 - avcodec.h
Deprecate CODEC_FLAG_MV0. It is replaced by the flag "mv0" in the
"mpv_flags" private option of the mpegvideo encoders.
2014-04-xx - xxxxxxx - lavc 55.50.2 - avcodec.h
Deprecate CODEC_FLAG_GMC. It is replaced by the "gmc" private option of the
libxvid encoder.
...
...
libavcodec/avcodec.h
View file @
a2941c8c
...
...
@@ -675,7 +675,13 @@ typedef struct RcOverride{
*/
#define CODEC_FLAG_GMC 0x0020 ///< Use GMC.
#endif
#define CODEC_FLAG_MV0 0x0040 ///< Always try a MB with MV=<0,0>.
#if FF_API_MV0
/**
* @deprecated use the flag "mv0" in the "mpv_flags" private option of the
* mpegvideo encoders
*/
#define CODEC_FLAG_MV0 0x0040
#endif
#if FF_API_INPUT_PRESERVED
/**
* @deprecated passing reference-counted frames to the encoders replaces this
...
...
libavcodec/motion_est.c
View file @
a2941c8c
...
...
@@ -973,7 +973,7 @@ void ff_estimate_p_frame_motion(MpegEncContext * s,
// if (varc*2 + 200*256 + 50*(s->lambda2>>FF_LAMBDA_SHIFT) > vard){
mb_type
|=
CANDIDATE_MB_TYPE_INTER
;
c
->
sub_motion_search
(
s
,
&
mx
,
&
my
,
dmin
,
0
,
0
,
0
,
16
);
if
(
s
->
flags
&
CODEC
_FLAG_MV0
)
if
(
s
->
mpv_flags
&
FF_MPV
_FLAG_MV0
)
if
(
mx
||
my
)
mb_type
|=
CANDIDATE_MB_TYPE_SKIPPED
;
//FIXME check difference
}
else
{
...
...
@@ -1592,7 +1592,8 @@ void ff_estimate_b_frame_motion(MpegEncContext * s,
}
//FIXME something smarter
if
(
dmin
>
256
*
256
*
16
)
type
&=
~
CANDIDATE_MB_TYPE_DIRECT
;
//do not try direct mode if it is invalid for this MB
if
(
s
->
codec_id
==
AV_CODEC_ID_MPEG4
&&
type
&
CANDIDATE_MB_TYPE_DIRECT
&&
s
->
flags
&
CODEC_FLAG_MV0
&&
*
(
uint32_t
*
)
s
->
b_direct_mv_table
[
xy
])
if
(
s
->
codec_id
==
AV_CODEC_ID_MPEG4
&&
type
&
CANDIDATE_MB_TYPE_DIRECT
&&
s
->
mpv_flags
&
FF_MPV_FLAG_MV0
&&
*
(
uint32_t
*
)
s
->
b_direct_mv_table
[
xy
])
type
|=
CANDIDATE_MB_TYPE_DIRECT0
;
}
...
...
libavcodec/motion_est_template.c
View file @
a2941c8c
...
...
@@ -896,7 +896,8 @@ static av_always_inline int epzs_motion_search_internal(MpegEncContext * s, int
score_map
[
0
]
=
dmin
;
//FIXME precalc first term below?
if
((
s
->
pict_type
==
AV_PICTURE_TYPE_B
&&
!
(
c
->
flags
&
FLAG_DIRECT
))
||
s
->
flags
&
CODEC_FLAG_MV0
)
if
((
s
->
pict_type
==
AV_PICTURE_TYPE_B
&&
!
(
c
->
flags
&
FLAG_DIRECT
))
||
s
->
mpv_flags
&
FF_MPV_FLAG_MV0
)
dmin
+=
(
mv_penalty
[
pred_x
]
+
mv_penalty
[
pred_y
])
*
penalty_factor
;
/* first line */
...
...
libavcodec/mpegvideo.h
View file @
a2941c8c
...
...
@@ -650,6 +650,7 @@ typedef struct MpegEncContext {
#define FF_MPV_FLAG_QP_RD 0x0004
#define FF_MPV_FLAG_CBP_RD 0x0008
#define FF_MPV_FLAG_NAQ 0x0010
#define FF_MPV_FLAG_MV0 0x0020
#define FF_MPV_OFFSET(x) offsetof(MpegEncContext, x)
#define FF_MPV_OPT_FLAGS (AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM)
...
...
@@ -660,6 +661,7 @@ typedef struct MpegEncContext {
{ "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" },\
{ "mv0", "always try a mb with mv=<0,0>", 0, AV_OPT_TYPE_CONST, { .i64 = FF_MPV_FLAG_MV0 }, 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 @
a2941c8c
...
...
@@ -787,6 +787,13 @@ av_cold int ff_MPV_encode_init(AVCodecContext *avctx)
FF_ENABLE_DEPRECATION_WARNINGS
;
#endif
#if FF_API_MV0
FF_DISABLE_DEPRECATION_WARNINGS
if
(
avctx
->
flags
&
CODEC_FLAG_MV0
)
s
->
mpv_flags
|=
FF_MPV_FLAG_MV0
;
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 @
a2941c8c
...
...
@@ -55,7 +55,9 @@ static const AVOption avcodec_options[] = {
#if FF_API_GMC
{
"gmc"
,
"use gmc"
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
CODEC_FLAG_GMC
},
INT_MIN
,
INT_MAX
,
V
|
E
,
"flags"
},
#endif
#if FF_API_MV0
{
"mv0"
,
"always try a mb with mv=<0,0>"
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
CODEC_FLAG_MV0
},
INT_MIN
,
INT_MAX
,
V
|
E
,
"flags"
},
#endif
#if FF_API_INPUT_PRESERVED
{
"input_preserved"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
CODEC_FLAG_INPUT_PRESERVED
},
INT_MIN
,
INT_MAX
,
0
,
"flags"
},
#endif
...
...
libavcodec/version.h
View file @
a2941c8c
...
...
@@ -30,7 +30,7 @@
#define LIBAVCODEC_VERSION_MAJOR 55
#define LIBAVCODEC_VERSION_MINOR 50
#define LIBAVCODEC_VERSION_MICRO
2
#define LIBAVCODEC_VERSION_MICRO
3
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
LIBAVCODEC_VERSION_MINOR, \
...
...
@@ -138,5 +138,8 @@
#ifndef FF_API_GMC
#define FF_API_GMC (LIBAVCODEC_VERSION_MAJOR < 57)
#endif
#ifndef FF_API_MV0
#define FF_API_MV0 (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