fixed incorrect colors when scaling with software
This commit is contained in:
@@ -724,7 +724,7 @@ int parse(int argc, char *argv[]) {
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
TUPLE_2D_REF(name, val, *var);
|
TUPLE_EL_REF(name, 0, *var);
|
||||||
|
|
||||||
auto it = cmd_vars.find(name);
|
auto it = cmd_vars.find(name);
|
||||||
if(it != std::end(cmd_vars)) {
|
if(it != std::end(cmd_vars)) {
|
||||||
|
|||||||
@@ -86,12 +86,12 @@ public:
|
|||||||
|
|
||||||
data[0] = sw_frame->data[0] + offset;
|
data[0] = sw_frame->data[0] + offset;
|
||||||
if(sw_frame->format == AV_PIX_FMT_NV12) {
|
if(sw_frame->format == AV_PIX_FMT_NV12) {
|
||||||
data[1] = sw_frame->data[1] + offset;
|
data[1] = sw_frame->data[1] + offset / 2;
|
||||||
data[2] = nullptr;
|
data[2] = nullptr;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
data[1] = sw_frame->data[1] + offset / 2;
|
data[1] = sw_frame->data[1] + offset / 4;
|
||||||
data[2] = sw_frame->data[2] + offset / 2;
|
data[2] = sw_frame->data[2] + offset / 4;
|
||||||
data[3] = nullptr;
|
data[3] = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -701,7 +701,6 @@ int encode(int64_t frame_nr, session_t &session, frame_t::pointer frame, packet_
|
|||||||
|
|
||||||
auto &sps = session.sps;
|
auto &sps = session.sps;
|
||||||
auto &vps = session.vps;
|
auto &vps = session.vps;
|
||||||
auto &pps = session.pps;
|
|
||||||
|
|
||||||
/* send the frame to the encoder */
|
/* send the frame to the encoder */
|
||||||
auto ret = avcodec_send_frame(ctx.get(), frame);
|
auto ret = avcodec_send_frame(ctx.get(), frame);
|
||||||
|
|||||||
Reference in New Issue
Block a user