Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(525)

Side by Side Diff: cc/ipc/cc_param_traits.cc

Issue 2173563002: Improve GL shader YUV adjustment. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: use enum hack Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « cc/ipc/cc_param_traits.h ('k') | cc/ipc/cc_param_traits_macros.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "cc/ipc/cc_param_traits.h" 5 #include "cc/ipc/cc_param_traits.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/numerics/safe_conversions.h" 10 #include "base/numerics/safe_conversions.h"
(...skipping 859 matching lines...) Expand 10 before | Expand all | Expand 10 after
870 std::string* l) { 870 std::string* l) {
871 l->append("TextureDrawQuad::OverlayResources(["); 871 l->append("TextureDrawQuad::OverlayResources([");
872 for (size_t i = 0; i < cc::DrawQuad::Resources::kMaxResourceIdCount; ++i) { 872 for (size_t i = 0; i < cc::DrawQuad::Resources::kMaxResourceIdCount; ++i) {
873 LogParam(p.size_in_pixels[i], l); 873 LogParam(p.size_in_pixels[i], l);
874 if (i < (cc::DrawQuad::Resources::kMaxResourceIdCount - 1)) 874 if (i < (cc::DrawQuad::Resources::kMaxResourceIdCount - 1))
875 l->append(", "); 875 l->append(", ");
876 } 876 }
877 l->append("])"); 877 l->append("])");
878 } 878 }
879 879
880 void ParamTraits<cc::YUVVideoDrawQuad>::GetSize(base::PickleSizer* s,
881 const param_type& p) {
882 ParamTraits<cc::DrawQuad>::GetSize(s, p);
dcheng 2016/08/03 15:03:31 Interesting. I don't have any good suggestions her
883 GetParamSize(s, p.ya_tex_coord_rect);
884 GetParamSize(s, p.uv_tex_coord_rect);
885 GetParamSize(s, p.ya_tex_size);
886 GetParamSize(s, p.uv_tex_size);
887 GetParamSize(s, p.color_space);
888 GetParamSize(s, p.resource_offset);
889 GetParamSize(s, p.resource_multiplier);
890 GetParamSize(s, p.bits_per_channel);
891 }
892
893 void ParamTraits<cc::YUVVideoDrawQuad>::Write(base::Pickle* m,
894 const param_type& p) {
895 ParamTraits<cc::DrawQuad>::Write(m, p);
896 WriteParam(m, p.ya_tex_coord_rect);
897 WriteParam(m, p.uv_tex_coord_rect);
898 WriteParam(m, p.ya_tex_size);
899 WriteParam(m, p.uv_tex_size);
900 WriteParam(m, p.color_space);
901 WriteParam(m, p.resource_offset);
902 WriteParam(m, p.resource_multiplier);
903 WriteParam(m, p.bits_per_channel);
904 }
905
906 bool ParamTraits<cc::YUVVideoDrawQuad>::Read(const base::Pickle* m,
907 base::PickleIterator* iter,
908 param_type* p) {
909 return ParamTraits<cc::DrawQuad>::Read(m, iter, p) &&
910 ReadParam(m, iter, &p->ya_tex_coord_rect) &&
911 ReadParam(m, iter, &p->uv_tex_coord_rect) &&
912 ReadParam(m, iter, &p->ya_tex_size) &&
913 ReadParam(m, iter, &p->uv_tex_size) &&
914 ReadParam(m, iter, &p->color_space) &&
915 ReadParam(m, iter, &p->resource_offset) &&
916 ReadParam(m, iter, &p->resource_multiplier) &&
917 ReadParam(m, iter, &p->bits_per_channel) &&
918 p->bits_per_channel >= cc::YUVVideoDrawQuad::kMinBitsPerChannel &&
919 p->bits_per_channel <= cc::YUVVideoDrawQuad::kMaxBitsPerChannel;
920 }
921
922 void ParamTraits<cc::YUVVideoDrawQuad>::Log(const param_type& p,
923 std::string* l) {
924 l->append("(");
925 ParamTraits<cc::DrawQuad>::Log(p, l);
926 l->append(", ");
927 LogParam(p.ya_tex_coord_rect, l);
928 l->append(", ");
929 LogParam(p.uv_tex_coord_rect, l);
930 l->append(", ");
931 LogParam(p.ya_tex_size, l);
932 l->append(", ");
933 LogParam(p.uv_tex_size, l);
934 l->append(", ");
935 LogParam(p.color_space, l);
936 l->append(", ");
937 LogParam(p.resource_offset, l);
938 l->append(", ");
939 LogParam(p.resource_multiplier, l);
940 l->append(", ");
941 LogParam(p.bits_per_channel, l);
942 l->append("])");
943 }
944
880 } // namespace IPC 945 } // namespace IPC
881 946
882 // Generate param traits size methods. 947 // Generate param traits size methods.
883 #include "ipc/param_traits_size_macros.h" 948 #include "ipc/param_traits_size_macros.h"
884 namespace IPC { 949 namespace IPC {
885 #undef CC_IPC_CC_PARAM_TRAITS_MACROS_H_ 950 #undef CC_IPC_CC_PARAM_TRAITS_MACROS_H_
886 #include "cc/ipc/cc_param_traits_macros.h" 951 #include "cc/ipc/cc_param_traits_macros.h"
887 } 952 }
888 953
889 // Generate param traits write methods. 954 // Generate param traits write methods.
890 #include "ipc/param_traits_write_macros.h" 955 #include "ipc/param_traits_write_macros.h"
891 namespace IPC { 956 namespace IPC {
892 #undef CC_IPC_CC_PARAM_TRAITS_MACROS_H_ 957 #undef CC_IPC_CC_PARAM_TRAITS_MACROS_H_
893 #include "cc/ipc/cc_param_traits_macros.h" 958 #include "cc/ipc/cc_param_traits_macros.h"
894 } // namespace IPC 959 } // namespace IPC
895 960
896 // Generate param traits read methods. 961 // Generate param traits read methods.
897 #include "ipc/param_traits_read_macros.h" 962 #include "ipc/param_traits_read_macros.h"
898 namespace IPC { 963 namespace IPC {
899 #undef CC_IPC_CC_PARAM_TRAITS_MACROS_H_ 964 #undef CC_IPC_CC_PARAM_TRAITS_MACROS_H_
900 #include "cc/ipc/cc_param_traits_macros.h" 965 #include "cc/ipc/cc_param_traits_macros.h"
901 } // namespace IPC 966 } // namespace IPC
902 967
903 // Generate param traits log methods. 968 // Generate param traits log methods.
904 #include "ipc/param_traits_log_macros.h" 969 #include "ipc/param_traits_log_macros.h"
905 namespace IPC { 970 namespace IPC {
906 #undef CC_IPC_CC_PARAM_TRAITS_MACROS_H_ 971 #undef CC_IPC_CC_PARAM_TRAITS_MACROS_H_
907 #include "cc/ipc/cc_param_traits_macros.h" 972 #include "cc/ipc/cc_param_traits_macros.h"
908 } // namespace IPC 973 } // namespace IPC
OLDNEW
« no previous file with comments | « cc/ipc/cc_param_traits.h ('k') | cc/ipc/cc_param_traits_macros.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698